diff --git a/.eslintignore b/.eslintignore index 529676da..83279ae8 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1 @@ -src/core/vendor/** +src/core/vendor/** \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index 7dcb705c..e307112b 100755 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -38,9 +38,12 @@ // disable rules from base configurations "no-control-regex": "off", + "require-atomic-updates": "off", + "no-async-promise-executor": "off", // stylistic conventions "brace-style": ["error", "1tbs"], + "space-before-blocks": ["error", "always"], "block-spacing": "error", "array-bracket-spacing": "error", "comma-spacing": "error", @@ -106,9 +109,6 @@ "COMPILE_TIME": false, "COMPILE_MSG": false, - "PKG_VERSION": false, - "ENVIRONMENT_IS_WORKER": false, - "ENVIRONMENT_IS_NODE": false, - "ENVIRONMENT_IS_WEB": false + "PKG_VERSION": false } } diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 6064121c..abb37d42 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -6,7 +6,7 @@ There are lots of opportunities to contribute to CyberChef. If you want ideas, t Before your contributions can be accepted, you must: - - Sign the [GCHQ Contributor Licence Agreement](https://github.com/gchq/Gaffer/wiki/GCHQ-OSS-Contributor-License-Agreement-V1.0) + - Sign the [GCHQ Contributor Licence Agreement](https://cla-assistant.io/gchq/CyberChef) - Push your changes to your fork. - Submit a pull request. @@ -22,15 +22,15 @@ Before your contributions can be accepted, you must: * Line endings: UNIX style (\n) -## Design Principals +## Design Principles 1. If at all possible, all operations and features should be client-side and not rely on connections to an external server. This increases the utility of CyberChef on closed networks and in virtual machines that are not connected to the Internet. Calls to external APIs may be accepted if there is no other option, but not for critical components. -2. Latency should be kept to a minimum to enhance the user experience. This means that all operation code should sit on the client, rather than being loaded dynamically from a server. -3. Use Vanilla JS if at all possible to reduce the number of libraries required and relied upon. Frameworks like jQuery, although included, should not be used unless absolutely necessary. -4. Minimise the use of large libraries, especially for niche operations that won't be used very often - these will be downloaded by everyone using the app, whether they use that operation or not (due to principal 2). +2. Latency should be kept to a minimum to enhance the user experience. This means that operation code should sit on the client and be executed there. However, as a trade-off between latency and bandwidth, operation code with large dependencies can be loaded in discrete modules in order to reduce the size of the initial download. The downloading of additional modules must remain entirely transparent so that the user is not inconvenienced. +3. Large libraries should be kept in separate modules so that they are not downloaded by everyone who uses the app, just those who specifically require the relevant operations. +4. Use Vanilla JS if at all possible to reduce the number of libraries required and relied upon. Frameworks like jQuery, although included, should not be used unless absolutely necessary. -With these principals in mind, any changes or additions to CyberChef should keep it: +With these principles in mind, any changes or additions to CyberChef should keep it: - Standalone - Efficient diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 8e7dee82..e90ab51f 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,14 +1 @@ - - - - - - -### Summary - - -### Example - - - - + diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 00000000..32b7fbe0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,33 @@ +--- +name: Bug report +about: Create a report to help us improve +title: 'Bug report: ' +labels: bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behaviour or a link to the recipe / input used to cause the bug: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behaviour** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (if relevant, please complete the following information):** + - OS: [e.g. Windows] + - Browser: [e.g. chrome 72, firefox 60] + - CyberChef version: [e.g. 9.7.14] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 00000000..a8e637eb --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for the project +title: 'Feature request: ' +labels: feature +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. E.g. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/operation-request.md b/.github/ISSUE_TEMPLATE/operation-request.md new file mode 100644 index 00000000..d88e6703 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/operation-request.md @@ -0,0 +1,14 @@ +--- +name: Operation request +about: Suggest a new operation +title: 'Operation request: ' +labels: operation +assignees: '' + +--- + +## Summary + +### Example Input + +### Example Output diff --git a/.gitignore b/.gitignore index b5aad5d0..40682646 100755 --- a/.gitignore +++ b/.gitignore @@ -2,14 +2,13 @@ node_modules npm-debug.log travis.log build -docs/* -!docs/*.conf.json -!docs/*.ico .vscode .*.swp -.DS_Store src/core/config/modules/* src/core/config/OperationConfig.json src/core/operations/index.mjs +src/node/config/OperationConfig.json +src/node/index.mjs +**/*.DS_Store tests/browser/output/* diff --git a/.npmignore b/.npmignore index 6f32ec06..05ab5f52 100755 --- a/.npmignore +++ b/.npmignore @@ -3,6 +3,5 @@ npm-debug.log travis.log build/* !build/node -docs .vscode .github diff --git a/.travis.yml b/.travis.yml index 75f2054a..3cfad188 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ language: node_js node_js: - - node + - lts/dubnium +cache: npm addons: chrome: stable install: npm install @@ -10,8 +11,7 @@ before_script: script: - grunt lint - grunt test - - grunt docs - - grunt node + - grunt testnodeconsumer - grunt prod --msg="$COMPILE_MSG" - xvfb-run --server-args="-screen 0 1200x800x24" grunt testui before_deploy: @@ -30,9 +30,10 @@ deploy: skip_cleanup: true api_key: secure: "HV1WSKv4l/0Y2bKKs1iBJocBcmLj08PCRUeEM/jTwA4jqJ8EiLHWiXtER/D5sEg2iibRVKd2OQjfrmS6bo4AiwdeVgAKmv0FtS2Jw+391N8Nd5AkEANHa5Om/IpHLTL2YRAjpJTsDpY72bMUTJIwjQA3TFJkgrpOw6KYfohOcgbxLpZ4XuNJRU3VL4Hsxdv5V9aOVmfFOmMOVPQlakXy7NgtW5POp1f2WJwgcZxylkR1CjwaqMyXmSoVl46pyH3tr5+dptsQoKSGdi6sIHGA60oDotFPcm+0ifa47wZw+vapuuDi4tdNxhrHGaDMG8xiE0WFDHwQUDlk2/+W7j9SEX0H3Em7us371JXRp56EDwEcDa34VpVkC6i8HGcHK55hnxVbMZXGf3qhOFD8wY7qMbjMRvIpucrMHBi86OfkDfv0vDj2LyvIl5APj/AX50BrE0tfH1MZbH26Jkx4NdlkcxQ14GumarmUqfmVvbX/fsoA6oUuAAE9ZgRRi3KHO4wci6KUcRfdm+XOeUkaBFsL86G3EEYIvrtBTuaypdz+Cx7nd1iPZyWMx5Y1gXnVzha4nBdV4+7l9JIsFggD8QVpw2uHXQiS1KXFjOeqA3DBD8tjMB7q26Fl2fD3jkOo4BTbQ2NrRIZUu/iL+fOmMPsyMt2qulB0yaSBCfkbEq8xrUA=" + file_glob: true file: - - build/prod/cyberchef.htm - - build/node/CyberChef.js + - build/prod/*.zip + - src/node/cjs.js on: repo: gchq/CyberChef tags: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 06a5eb63..6eaec243 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,71 @@ All major and minor version changes will be documented in this file. Details of patch-level version changes can be found in [commit messages](https://github.com/gchq/CyberChef/commits/master). +### [9.7.0] - 2019-09-13 +- 'Optical Character Recognition' operation added [@MShwed] [@n1474335] | [#632] + +### [9.6.0] - 2019-09-04 +- 'Bacon Cipher Encode' and 'Bacon Cipher Decode' operations added [@kassi] | [#500] + +### [9.5.0] - 2019-09-04 +- Various Steganography operations added: 'Extract LSB', 'Extract RGBA', 'Randomize Colour Palette', and 'View Bit Plane' [@Ge0rg3] | [#625] + +### [9.4.0] - 2019-08-30 +- 'Render Markdown' operation added [@j433866] | [#627] + +### [9.3.0] - 2019-08-30 +- 'Show on map' operation added [@j433866] | [#477] + +### [9.2.0] - 2019-08-23 +- 'Parse UDP' operation added [@h345983745] | [#614] + +### [9.1.0] - 2019-08-22 +- 'Parse SSH Host Key' operation added [@j433866] | [#595] +- 'Defang IP Addresses' operation added [@h345983745] | [#556] + +## [9.0.0] - 2019-07-09 +- [Multiple inputs](https://github.com/gchq/CyberChef/wiki/Multiple-Inputs) are now supported in the main web UI, allowing you to upload and process multiple files at once [@j433866] | [#566] +- A [Node.js API](https://github.com/gchq/CyberChef/wiki/Node-API) has been implemented, meaning that CyberChef can now be used as a library, either to provide specific operations, or an entire baking environment [@d98762625] | [#291] +- A [read-eval-print loop (REPL)](https://github.com/gchq/CyberChef/wiki/Node-API#repl) is also included to enable prototyping and experimentation with the API [@d98762625] | [#291] +- Light and dark Solarized themes added [@j433866] | [#566] + +
+ Click to expand v8 minor versions + +### [8.38.0] - 2019-07-03 +- 'Streebog' and 'GOST hash' operations added [@MShwed] [@n1474335] | [#530] + +### [8.37.0] - 2019-07-03 +- 'CRC-8 Checksum' operation added [@MShwed] | [#591] + +### [8.36.0] - 2019-07-03 +- 'PGP Verify' operation added [@artemisbot] | [#585] + +### [8.35.0] - 2019-07-03 +- 'Sharpen Image', 'Convert Image Format' and 'Add Text To Image' operations added [@j433866] | [#515] + +### [8.34.0] - 2019-06-28 +- Various new visualisations added to the 'Entropy' operation [@MShwed] | [#535] +- Efficiency improvements made to the 'Entropy' operation for large file support [@n1474335] + +### [8.33.0] - 2019-06-27 +- 'Bzip2 Compress' operation added and 'Bzip2 Decompress' operation greatly improved [@artemisbot] | [#531] + +### [8.32.0] - 2019-06-27 +- 'Index of Coincidence' operation added [@Ge0rg3] | [#571] + +### [8.31.0] - 2019-04-12 +- The downloadable version of CyberChef is now a .zip file containing separate modules rather than a single .htm file. It is still completely standalone and will not make any external network requests. This change reduces the complexity of the build process significantly. [@n1474335] + +### [8.30.0] - 2019-04-12 +- 'Decode Protobuf' operation added [@n1474335] | [#533] + +### [8.29.0] - 2019-03-31 +- 'BLAKE2s' and 'BLAKE2b' hashing operations added [@h345983745] | [#525] + +### [8.28.0] - 2019-03-31 +- 'Heatmap Chart', 'Hex Density Chart', 'Scatter Chart' and 'Series Chart' operation added [@artemisbot] [@tlwr] | [#496] [#143] + ### [8.27.0] - 2019-03-14 - 'Enigma', 'Typex', 'Bombe' and 'Multiple Bombe' operations added [@s2224834] | [#516] - See [this wiki article](https://github.com/gchq/CyberChef/wiki/Enigma,-the-Bombe,-and-Typex) for a full explanation of these operations. @@ -89,6 +154,8 @@ All major and minor version changes will be documented in this file. Details of ### [8.1.0] - 2018-08-19 - 'Dechunk HTTP response' operation added [@sevzero] | [#311] +
+ ## [8.0.0] - 2018-08-05 - Codebase rewritten using [ES modules](https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/) and [classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes) [@n1474335] [@d98762625] [@artemisbot] [@picapi] | [#284] - Operation architecture restructured to make adding new operations a lot simpler [@n1474335] | [#284] @@ -118,6 +185,25 @@ All major and minor version changes will be documented in this file. Details of +[9.7.0]: https://github.com/gchq/CyberChef/releases/tag/v9.7.0 +[9.6.0]: https://github.com/gchq/CyberChef/releases/tag/v9.6.0 +[9.5.0]: https://github.com/gchq/CyberChef/releases/tag/v9.5.0 +[9.4.0]: https://github.com/gchq/CyberChef/releases/tag/v9.4.0 +[9.3.0]: https://github.com/gchq/CyberChef/releases/tag/v9.3.0 +[9.2.0]: https://github.com/gchq/CyberChef/releases/tag/v9.2.0 +[9.1.0]: https://github.com/gchq/CyberChef/releases/tag/v9.1.0 +[9.0.0]: https://github.com/gchq/CyberChef/releases/tag/v9.0.0 +[8.38.0]: https://github.com/gchq/CyberChef/releases/tag/v8.38.0 +[8.37.0]: https://github.com/gchq/CyberChef/releases/tag/v8.37.0 +[8.36.0]: https://github.com/gchq/CyberChef/releases/tag/v8.36.0 +[8.35.0]: https://github.com/gchq/CyberChef/releases/tag/v8.35.0 +[8.34.0]: https://github.com/gchq/CyberChef/releases/tag/v8.34.0 +[8.33.0]: https://github.com/gchq/CyberChef/releases/tag/v8.33.0 +[8.32.0]: https://github.com/gchq/CyberChef/releases/tag/v8.32.0 +[8.31.0]: https://github.com/gchq/CyberChef/releases/tag/v8.31.0 +[8.30.0]: https://github.com/gchq/CyberChef/releases/tag/v8.30.0 +[8.29.0]: https://github.com/gchq/CyberChef/releases/tag/v8.29.0 +[8.28.0]: https://github.com/gchq/CyberChef/releases/tag/v8.28.0 [8.27.0]: https://github.com/gchq/CyberChef/releases/tag/v8.27.0 [8.26.0]: https://github.com/gchq/CyberChef/releases/tag/v8.26.0 [8.25.0]: https://github.com/gchq/CyberChef/releases/tag/v8.25.0 @@ -159,6 +245,7 @@ All major and minor version changes will be documented in this file. Details of [@h345983745]: https://github.com/h345983745 [@s2224834]: https://github.com/s2224834 [@artemisbot]: https://github.com/artemisbot +[@tlwr]: https://github.com/tlwr [@picapi]: https://github.com/picapi [@Dachande663]: https://github.com/Dachande663 [@JustAnotherMark]: https://github.com/JustAnotherMark @@ -172,9 +259,13 @@ All major and minor version changes will be documented in this file. Details of [@Cynser]: https://github.com/Cynser [@anthony-arnold]: https://github.com/anthony-arnold [@masq]: https://github.com/masq +[@Ge0rg3]: https://github.com/Ge0rg3 +[@MShwed]: https://github.com/MShwed +[@kassi]: https://github.com/kassi [#95]: https://github.com/gchq/CyberChef/pull/299 [#173]: https://github.com/gchq/CyberChef/pull/173 +[#143]: https://github.com/gchq/CyberChef/pull/143 [#224]: https://github.com/gchq/CyberChef/pull/224 [#239]: https://github.com/gchq/CyberChef/pull/239 [#248]: https://github.com/gchq/CyberChef/pull/248 @@ -182,6 +273,7 @@ All major and minor version changes will be documented in this file. Details of [#277]: https://github.com/gchq/CyberChef/issues/277 [#281]: https://github.com/gchq/CyberChef/pull/281 [#284]: https://github.com/gchq/CyberChef/pull/284 +[#291]: https://github.com/gchq/CyberChef/pull/291 [#294]: https://github.com/gchq/CyberChef/pull/294 [#296]: https://github.com/gchq/CyberChef/pull/296 [#298]: https://github.com/gchq/CyberChef/pull/298 @@ -208,6 +300,25 @@ All major and minor version changes will be documented in this file. Details of [#467]: https://github.com/gchq/CyberChef/pull/467 [#468]: https://github.com/gchq/CyberChef/pull/468 [#476]: https://github.com/gchq/CyberChef/pull/476 +[#477]: https://github.com/gchq/CyberChef/pull/477 [#489]: https://github.com/gchq/CyberChef/pull/489 +[#496]: https://github.com/gchq/CyberChef/pull/496 +[#500]: https://github.com/gchq/CyberChef/pull/500 [#506]: https://github.com/gchq/CyberChef/pull/506 +[#515]: https://github.com/gchq/CyberChef/pull/515 [#516]: https://github.com/gchq/CyberChef/pull/516 +[#525]: https://github.com/gchq/CyberChef/pull/525 +[#530]: https://github.com/gchq/CyberChef/pull/530 +[#531]: https://github.com/gchq/CyberChef/pull/531 +[#533]: https://github.com/gchq/CyberChef/pull/533 +[#535]: https://github.com/gchq/CyberChef/pull/535 +[#556]: https://github.com/gchq/CyberChef/pull/556 +[#566]: https://github.com/gchq/CyberChef/pull/566 +[#571]: https://github.com/gchq/CyberChef/pull/571 +[#585]: https://github.com/gchq/CyberChef/pull/585 +[#591]: https://github.com/gchq/CyberChef/pull/591 +[#595]: https://github.com/gchq/CyberChef/pull/595 +[#614]: https://github.com/gchq/CyberChef/pull/614 +[#625]: https://github.com/gchq/CyberChef/pull/625 +[#627]: https://github.com/gchq/CyberChef/pull/627 +[#632]: https://github.com/gchq/CyberChef/pull/632 diff --git a/Gruntfile.js b/Gruntfile.js index 11b77452..b25553b7 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -3,8 +3,6 @@ const webpack = require("webpack"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPlugin; -const NodeExternals = require("webpack-node-externals"); -const Inliner = require("web-resource-inliner"); const glob = require("glob"); const path = require("path"); @@ -25,37 +23,38 @@ module.exports = function (grunt) { "A persistent task which creates a development build whenever source files are modified.", ["clean:dev", "clean:config", "exec:generateConfig", "concurrent:dev"]); + grunt.registerTask("prod", + "Creates a production-ready build. Use the --msg flag to add a compile message.", + [ + "eslint", "clean:prod", "clean:config", "exec:generateConfig", "webpack:web", + "copy:standalone", "zip:standalone", "clean:standalone", "chmod" + ]); + grunt.registerTask("node", "Compiles CyberChef into a single NodeJS module.", - ["clean:node", "clean:config", "exec:generateConfig", "webpack:node", "chmod:build"]); + [ + "clean:node", "clean:config", "clean:nodeConfig", "exec:generateConfig", "exec:generateNodeIndex" + ]); grunt.registerTask("test", "A task which runs all the operation tests in the tests directory.", - ["exec:generateConfig", "exec:opTests"]); + [ + "clean:config", "clean:nodeConfig", "exec:generateConfig", "exec:generateNodeIndex", + "exec:nodeTests", "exec:opTests" + ]); grunt.registerTask("testui", "A task which runs all the UI tests in the tests directory. The prod task must already have been run.", ["connect:prod", "exec:browserTests"]); - grunt.registerTask("docs", - "Compiles documentation in the /docs directory.", - ["clean:docs", "jsdoc", "chmod:docs"]); - - grunt.registerTask("prod", - "Creates a production-ready build. Use the --msg flag to add a compile message.", - ["eslint", "clean:prod", "clean:config", "exec:generateConfig", "webpack:web", "inline", "chmod"]); + grunt.registerTask("testnodeconsumer", + "A task which checks whether consuming CJS and ESM apps work with the CyberChef build", + ["exec:setupNodeConsumers", "exec:testCJSNodeConsumer", "exec:testESMNodeConsumer", "exec:testESMDeepImportNodeConsumer", "exec:teardownNodeConsumers"]); grunt.registerTask("default", "Lints the code base", ["eslint", "exec:repoSize"]); - grunt.registerTask("inline", - "Compiles a production build of CyberChef into a single, portable web page.", - ["exec:generateConfig", "webpack:webInline", "runInliner", "clean:inlineScripts"]); - - - grunt.registerTask("runInliner", runInliner); - grunt.registerTask("doc", "docs"); grunt.registerTask("tests", "test"); grunt.registerTask("lint", "eslint"); @@ -63,7 +62,6 @@ module.exports = function (grunt) { // Load tasks provided by each plugin grunt.loadNpmTasks("grunt-eslint"); grunt.loadNpmTasks("grunt-webpack"); - grunt.loadNpmTasks("grunt-jsdoc"); grunt.loadNpmTasks("grunt-contrib-clean"); grunt.loadNpmTasks("grunt-contrib-copy"); grunt.loadNpmTasks("grunt-contrib-watch"); @@ -72,6 +70,7 @@ module.exports = function (grunt) { grunt.loadNpmTasks("grunt-accessibility"); grunt.loadNpmTasks("grunt-concurrent"); grunt.loadNpmTasks("grunt-contrib-connect"); + grunt.loadNpmTasks("grunt-zip"); // Project configuration @@ -82,44 +81,10 @@ module.exports = function (grunt) { COMPILE_TIME: JSON.stringify(compileTime), COMPILE_MSG: JSON.stringify(grunt.option("compile-msg") || grunt.option("msg") || ""), PKG_VERSION: JSON.stringify(pkg.version), - ENVIRONMENT_IS_WORKER: function() { - return typeof importScripts === "function"; - }, - ENVIRONMENT_IS_NODE: function() { - return typeof process === "object" && typeof require === "function"; - }, - ENVIRONMENT_IS_WEB: function() { - return typeof window === "object"; - } }, - moduleEntryPoints = listEntryModules(); + moduleEntryPoints = listEntryModules(), + nodeConsumerTestPath = "~/tmp-cyberchef"; - /** - * Compiles a production build of CyberChef into a single, portable web page. - */ - function runInliner() { - const done = this.async(); - Inliner.html({ - relativeTo: "build/prod/", - fileContent: grunt.file.read("build/prod/cyberchef.htm"), - images: true, - svgs: true, - scripts: true, - links: true, - strict: true - }, function(error, result) { - if (error) { - if (error instanceof Error) { - done(error); - } else { - done(new Error(error)); - } - } else { - grunt.file.write("build/prod/cyberchef.htm", result); - done(true); - } - }); - } /** * Generates an entry list for all the modules. @@ -130,20 +95,40 @@ module.exports = function (grunt) { glob.sync("./src/core/config/modules/*.mjs").forEach(file => { const basename = path.basename(file); if (basename !== "Default.mjs" && basename !== "OpModules.mjs") - entryModules[basename.split(".mjs")[0]] = path.resolve(file); + entryModules["modules/" + basename.split(".mjs")[0]] = path.resolve(file); }); return entryModules; } + /** + * Detects the correct delimiter to use to chain shell commands together + * based on the current OS. + * + * @param {string[]} cmds + * @returns {string} + */ + function chainCommands(cmds) { + const win = process.platform === "win32"; + if (!win) { + return cmds.join(";"); + } + return cmds + // && means that subsequent commands will not be executed if the + // previous one fails. & would coninue on a fail + .join("&&") + // Windows does not support \n properly + .replace("\n", "\\n"); + } + grunt.initConfig({ clean: { dev: ["build/dev/*"], prod: ["build/prod/*"], node: ["build/node/*"], config: ["src/core/config/OperationConfig.json", "src/core/config/modules/*", "src/code/operations/index.mjs"], - docs: ["docs/*", "!docs/*.conf.json", "!docs/*.ico", "!docs/*.png"], - inlineScripts: ["build/prod/scripts.js"], + nodeConfig: ["src/node/index.mjs", "src/node/config/OperationConfig.json"], + standalone: ["build/prod/CyberChef*.html"] }, eslint: { options: { @@ -151,26 +136,10 @@ module.exports = function (grunt) { }, configs: ["*.{js,mjs}"], core: ["src/core/**/*.{js,mjs}", "!src/core/vendor/**/*", "!src/core/operations/legacy/**/*"], - web: ["src/web/**/*.{js,mjs}"], + web: ["src/web/**/*.{js,mjs}", "!src/web/static/**/*"], node: ["src/node/**/*.{js,mjs}"], tests: ["tests/**/*.{js,mjs}"], }, - jsdoc: { - options: { - destination: "docs", - template: "node_modules/ink-docstrap/template", - recurse: true, - readme: "./README.md", - configure: "docs/jsdoc.conf.json" - }, - all: { - src: [ - "src/**/*.js", - "src/**/*.mjs", - "!src/core/vendor/**/*" - ], - } - }, accessibility: { options: { accessibilityLevel: "WCAG2A", @@ -190,16 +159,18 @@ module.exports = function (grunt) { mode: "production", target: "web", entry: Object.assign({ - main: "./src/web/index.js", - sitemap: "./src/web/static/sitemap.js" + main: "./src/web/index.js" }, moduleEntryPoints), output: { path: __dirname + "/build/prod", + filename: chunkData => { + return chunkData.chunk.name === "main" ? "assets/[name].js": "[name].js"; + }, globalObject: "this" }, resolve: { alias: { - "./config/modules/OpModules": "./config/modules/Default" + "./config/modules/OpModules.mjs": "./config/modules/Default.mjs" } }, plugins: [ @@ -225,48 +196,6 @@ module.exports = function (grunt) { ] }; }, - webInline: { - mode: "production", - target: "web", - entry: "./src/web/index.js", - output: { - filename: "scripts.js", - path: __dirname + "/build/prod" - }, - plugins: [ - new webpack.DefinePlugin(Object.assign({}, BUILD_CONSTANTS, { - INLINE: "true" - })), - new HtmlWebpackPlugin({ - filename: "cyberchef.htm", - template: "./src/web/html/index.html", - compileTime: compileTime, - version: pkg.version + "s", - inline: true, - minify: { - removeComments: true, - collapseWhitespace: true, - minifyJS: true, - minifyCSS: true - } - }), - ] - }, - node: { - mode: "production", - target: "node", - entry: "./src/node/index.mjs", - externals: [NodeExternals()], - output: { - filename: "CyberChef.js", - path: __dirname + "/build/node", - library: "CyberChef", - libraryTarget: "commonjs2" - }, - plugins: [ - new webpack.DefinePlugin(BUILD_CONSTANTS) - ] - } }, "webpack-dev-server": { options: { @@ -284,7 +213,8 @@ module.exports = function (grunt) { warningsFilter: [ /source-map/, /dependency is an expression/, - /export 'default'/ + /export 'default'/, + /Can't resolve 'sodium'/ ], } }, @@ -297,12 +227,9 @@ module.exports = function (grunt) { }, moduleEntryPoints), resolve: { alias: { - "./config/modules/OpModules": "./config/modules/Default" + "./config/modules/OpModules.mjs": "./config/modules/Default.mjs" } }, - output: { - globalObject: "this", - }, plugins: [ new webpack.DefinePlugin(BUILD_CONSTANTS), new HtmlWebpackPlugin({ @@ -316,6 +243,17 @@ module.exports = function (grunt) { } } }, + zip: { + standalone: { + cwd: "build/prod/", + src: [ + "build/prod/**/*", + "!build/prod/index.html", + "!build/prod/BundleAnalyzerReport.html", + ], + dest: `build/prod/CyberChef_v${pkg.version}.zip` + } + }, connect: { prod: { options: { @@ -328,10 +266,16 @@ module.exports = function (grunt) { ghPages: { options: { process: function (content, srcpath) { - // Add Google Analytics code to index.html if (srcpath.indexOf("index.html") >= 0) { + // Add Google Analytics code to index.html content = content.replace("", grunt.file.read("src/web/static/ga.html") + ""); + + // Add Structured Data for SEO + content = content.replace("", + ""); return grunt.template.process(content, srcpath); } else { return content; @@ -343,12 +287,29 @@ module.exports = function (grunt) { { src: "build/prod/index.html", dest: "build/prod/index.html" + } + ] + }, + standalone: { + options: { + process: function (content, srcpath) { + if (srcpath.indexOf("index.html") >= 0) { + // Replace download link with version number + content = content.replace(/]+>Download CyberChef.+?<\/a>/, + `Version ${pkg.version}`); + + return grunt.template.process(content, srcpath); + } else { + return content; + } }, + noProcess: ["**", "!**/*.html"] + }, + files: [ { - expand: true, - src: "docs/**", - dest: "build/prod/" - }, + src: "build/prod/index.html", + dest: `build/prod/CyberChef_v${pkg.version}.html` + } ] } }, @@ -358,18 +319,12 @@ module.exports = function (grunt) { mode: "755", }, src: ["build/**/*", "build/"] - }, - docs: { - options: { - mode: "755", - }, - src: ["docs/**/*", "docs/"] } }, watch: { config: { files: ["src/core/operations/**/*", "!src/core/operations/index.mjs"], - tasks: ["exec:generateConfig"] + tasks: ["exec:generateNodeIndex", "exec:generateConfig"] } }, concurrent: { @@ -380,33 +335,80 @@ module.exports = function (grunt) { }, exec: { repoSize: { - command: [ + command: chainCommands([ "git ls-files | wc -l | xargs printf '\n%b\ttracked files\n'", "du -hs | egrep -o '^[^\t]*' | xargs printf '%b\trepository size\n'" - ].join(";"), + ]), stderr: false }, cleanGit: { command: "git gc --prune=now --aggressive" }, sitemap: { - command: "node build/prod/sitemap.js > build/prod/sitemap.xml" + command: "node --experimental-modules --no-warnings --no-deprecation src/web/static/sitemap.mjs > build/prod/sitemap.xml" }, generateConfig: { - command: [ + command: chainCommands([ "echo '\n--- Regenerating config files. ---'", "echo [] > src/core/config/OperationConfig.json", "node --experimental-modules --no-warnings --no-deprecation src/core/config/scripts/generateOpsIndex.mjs", "node --experimental-modules --no-warnings --no-deprecation src/core/config/scripts/generateConfig.mjs", "echo '--- Config scripts finished. ---\n'" - ].join(";") + ]) + }, + generateNodeIndex: { + command: chainCommands([ + "echo '\n--- Regenerating node index ---'", + "node --experimental-modules --no-warnings --no-deprecation src/node/config/scripts/generateNodeIndex.mjs", + "echo '--- Node index generated. ---\n'" + ]), }, opTests: { command: "node --experimental-modules --no-warnings --no-deprecation tests/operations/index.mjs" }, browserTests: { - command: "./node_modules/.bin/nightwatch --env prod,inline" - } + command: "./node_modules/.bin/nightwatch --env prod" + }, + nodeTests: { + command: "node --experimental-modules --no-warnings --no-deprecation tests/node/index.mjs" + }, + setupNodeConsumers: { + command: chainCommands([ + "echo '\n--- Testing node consumers ---'", + "npm link", + `mkdir ${nodeConsumerTestPath}`, + `cp tests/node/consumers/* ${nodeConsumerTestPath}`, + `cd ${nodeConsumerTestPath}`, + "npm link cyberchef" + ]), + }, + teardownNodeConsumers: { + command: chainCommands([ + `rm -rf ${nodeConsumerTestPath}`, + "echo '\n--- Node consumer tests complete ---'" + ]), + }, + testCJSNodeConsumer: { + command: chainCommands([ + `cd ${nodeConsumerTestPath}`, + "node --no-warnings cjs-consumer.js", + ]), + stdout: false, + }, + testESMNodeConsumer: { + command: chainCommands([ + `cd ${nodeConsumerTestPath}`, + "node --no-warnings --experimental-modules esm-consumer.mjs", + ]), + stdout: false, + }, + testESMDeepImportNodeConsumer: { + command: chainCommands([ + `cd ${nodeConsumerTestPath}`, + "node --no-warnings --experimental-modules esm-deep-import-consumer.mjs", + ]), + stdout: false, + }, }, }); }; diff --git a/README.md b/README.md index e6d835a8..655ae4ee 100755 --- a/README.md +++ b/README.md @@ -3,7 +3,6 @@ [![Build Status](https://travis-ci.org/gchq/CyberChef.svg?branch=master)](https://travis-ci.org/gchq/CyberChef) [![dependencies Status](https://david-dm.org/gchq/CyberChef/status.svg)](https://david-dm.org/gchq/CyberChef) [![npm](https://img.shields.io/npm/v/cyberchef.svg)](https://www.npmjs.com/package/cyberchef) -![](https://reposs.herokuapp.com/?path=gchq/CyberChef&color=blue) [![](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/gchq/CyberChef/blob/master/LICENSE) [![Gitter](https://badges.gitter.im/gchq/CyberChef.svg)](https://gitter.im/gchq/CyberChef?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) @@ -50,7 +49,7 @@ You can use as many operations as you like in simple or complex ways. Some examp - Drag and drop - Operations can be dragged in and out of the recipe list, or reorganised. - - Files up to 500MB can be dragged over the input box to load them directly into the browser. + - Files up to 2GB can be dragged over the input box to load them directly into the browser. - Auto Bake - Whenever you modify the input or the recipe, CyberChef will automatically "bake" for you and produce the output immediately. - This can be turned off and operated manually if it is affecting performance (if the input is very large, for instance). @@ -67,19 +66,31 @@ You can use as many operations as you like in simple or complex ways. Some examp - Highlighting - When you highlight text in the input or output, the offset and length values will be displayed and, if possible, the corresponding data will be highlighted in the output or input respectively (example: [highlight the word 'question' in the input to see where it appears in the output][11]). - Save to file and load from file - - You can save the output to a file at any time or load a file by dragging and dropping it into the input field. Files up to around 500MB are supported (depending on your browser), however some operations may take a very long time to run over this much data. + - You can save the output to a file at any time or load a file by dragging and dropping it into the input field. Files up to around 2GB are supported (depending on your browser), however some operations may take a very long time to run over this much data. - CyberChef is entirely client-side - It should be noted that none of your recipe configuration or input (either text or files) is ever sent to the CyberChef web server - all processing is carried out within your browser, on your own computer. - - Due to this feature, CyberChef can be compiled into a single HTML file. You can download this file and drop it into a virtual machine, share it with other people, or use it independently on your local machine. + - Due to this feature, CyberChef can be downloaded and run locally. You can use the link in the top left corner of the app to download a full copy of CyberChef and drop it into a virtual machine, share it with other people, or host it in a closed network. + + +## Deep linking + +By manipulation of CyberChef's URL hash, you can change the initial settings with which the page opens. +The format is `https://gchq.github.io/CyberChef/#recipe=Operation()&input=...` + +Supported arguments are `recipe`, `input` (encoded in Base64), and `theme`. ## Browser support CyberChef is built to support - - Google Chrome 40+ - - Mozilla Firefox 35+ - - Microsoft Edge 14+ + - Google Chrome 50+ + - Mozilla Firefox 38+ + + +## Node.js support + +CyberChef is built to fully support Node.js `v10` and partially supports `v12`. Named imports using a deep import specifier does not work in `v12`. For more information, see the Node API page in the project [wiki pages](https://github.com/gchq/CyberChef/wiki) ## Contributing diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..c934c934 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,26 @@ +# Security Policy + +## Supported Versions + +CyberChef is supported on a best endeavours basis. Patches will be applied to +the latest version rather than retroactively to older versions. To ensure you +are using the most secure version of CyberChef, please make sure you have the +[latest release](https://github.com/gchq/CyberChef/releases/latest). The +official [live demo](https://gchq.github.io/CyberChef/) is always up to date. + +## Reporting a Vulnerability + +In most scenarios, the most appropriate way to report a vulnerability is to +[raise a new issue](https://github.com/gchq/CyberChef/issues/new/choose) +describing the problem in as much detail as possible, ideally with examples. +This will obviously be public. If you feel that the vulnerability is +significant enough to warrant a private disclosure, please email +[oss@gchq.gov.uk](mailto:oss@gchq.gov.uk) and +[n1474335@gmail.com](mailto:n1474335@gmail.com). + +Disclosures of vulnerabilities in CyberChef are always welcomed. Whilst we aim +to write clean and secure code free from bugs, we recognise that this is an open +source project written by analysts in their spare time, relying on dozens of +open source libraries that are modified and updated on a regular basis. We hope +that the community will continue to support us as we endeavour to maintain and +develop this tool together. diff --git a/babel.config.js b/babel.config.js index 9c0329d3..4e9503c4 100644 --- a/babel.config.js +++ b/babel.config.js @@ -4,21 +4,23 @@ module.exports = function(api) { return { "presets": [ ["@babel/preset-env", { - "targets": { - "chrome": 40, - "firefox": 35, - "edge": 14, - "node": "6.5" - }, "modules": false, - "useBuiltIns": "entry" + "useBuiltIns": "entry", + "corejs": 3 }] ], "plugins": [ - "babel-plugin-syntax-dynamic-import", - ["babel-plugin-transform-builtin-extend", { - "globals": ["Error"] - }] + "dynamic-import-node", + [ + "babel-plugin-transform-builtin-extend", { + "globals": ["Error"] + } + ], + [ + "@babel/plugin-transform-runtime", { + "regenerator": true + } + ] ] }; }; diff --git a/docs/favicon.ico b/docs/favicon.ico deleted file mode 100755 index fa2deb03..00000000 Binary files a/docs/favicon.ico and /dev/null differ diff --git a/docs/jsdoc.conf.json b/docs/jsdoc.conf.json deleted file mode 100755 index 36e9611b..00000000 --- a/docs/jsdoc.conf.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "tags": { - "allowUnknownTags": true - }, - "plugins": [ - "plugins/markdown", - "node_modules/jsdoc-babel" - ], - "templates": { - "systemName": "CyberChef", - "footer": "", - "copyright": "© Crown Copyright 2017", - "navType": "inline", - "theme": "cerulean", - "linenums": true, - "collapseSymbols": false, - "inverseNav": true, - "outputSourceFiles": true, - "outputSourcePath": true, - "dateFormat": "ddd MMM Do YYYY", - "sort": false, - "logoFile": "cyberchef-32x32.png", - "cleverLinks": false, - "monospaceLinks": false, - "protocol": "html://", - "methodHeadingReturns": false - }, - "markdown": { - "parser": "gfm", - "hardwrap": true - } -} diff --git a/nightwatch.json b/nightwatch.json index e9c1ebef..072e6c52 100644 --- a/nightwatch.json +++ b/nightwatch.json @@ -23,10 +23,6 @@ "prod": { "launch_url": "http://localhost:8000/index.html" - }, - - "inline": { - "launch_url": "http://localhost:8000/cyberchef.htm" } } diff --git a/package-lock.json b/package-lock.json index 9fd4a068..b3c6f415 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,35 +1,35 @@ { "name": "cyberchef", - "version": "8.27.0", + "version": "9.7.19", "lockfileVersion": 1, "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", "dev": true, "requires": { "@babel/highlight": "^7.0.0" } }, "@babel/core": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", - "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", + "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.5.5", + "@babel/helpers": "^7.5.5", + "@babel/parser": "^7.5.5", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5", "convert-source-map": "^1.1.0", "debug": "^4.1.0", "json5": "^2.1.0", - "lodash": "^4.17.10", + "lodash": "^4.17.13", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" @@ -45,9 +45,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "source-map": { @@ -59,14 +59,14 @@ } }, "@babel/generator": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", - "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", + "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", "dev": true, "requires": { - "@babel/types": "^7.2.2", + "@babel/types": "^7.5.5", "jsesc": "^2.5.1", - "lodash": "^4.17.10", + "lodash": "^4.17.13", "source-map": "^0.5.0", "trim-right": "^1.0.1" }, @@ -99,25 +99,25 @@ } }, "@babel/helper-call-delegate": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", - "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" } }, "@babel/helper-define-map": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", - "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", "dev": true, "requires": { "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" } }, "@babel/helper-explode-assignable-expression": { @@ -151,21 +151,21 @@ } }, "@babel/helper-hoist-variables": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", - "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.4.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", - "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.5.5" } }, "@babel/helper-module-imports": { @@ -178,17 +178,17 @@ } }, "@babel/helper-module-transforms": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", - "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/template": "^7.2.2", - "@babel/types": "^7.2.2", - "lodash": "^4.17.10" + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" } }, "@babel/helper-optimise-call-expression": { @@ -207,12 +207,12 @@ "dev": true }, "@babel/helper-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", - "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.13" } }, "@babel/helper-remap-async-to-generator": { @@ -229,15 +229,15 @@ } }, "@babel/helper-replace-supers": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", - "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-member-expression-to-functions": "^7.5.5", "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" } }, "@babel/helper-simple-access": { @@ -251,12 +251,12 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.4.4" } }, "@babel/helper-wrap-function": { @@ -272,20 +272,20 @@ } }, "@babel/helpers": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", - "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", + "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", "dev": true, "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" } }, "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -303,9 +303,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -331,9 +331,9 @@ } }, "@babel/parser": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", - "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", + "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -347,6 +347,16 @@ "@babel/plugin-syntax-async-generators": "^7.2.0" } }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" + } + }, "@babel/plugin-proposal-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", @@ -358,9 +368,9 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", + "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -378,14 +388,14 @@ } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz", - "integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", + "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.2.0" + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" } }, "@babel/plugin-syntax-async-generators": { @@ -397,6 +407,15 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", @@ -434,9 +453,9 @@ } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", - "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -454,35 +473,35 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", - "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz", + "integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "lodash": "^4.17.13" } }, "@babel/plugin-transform-classes": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", - "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", + "@babel/helper-define-map": "^7.5.5", "@babel/helper-function-name": "^7.1.0", "@babel/helper-optimise-call-expression": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", "globals": "^11.1.0" }, "dependencies": { "globals": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", - "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true } } @@ -497,29 +516,29 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", - "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz", + "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz", - "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", + "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", - "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" @@ -536,18 +555,18 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", - "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", - "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", "dev": true, "requires": { "@babel/helper-function-name": "^7.1.0", @@ -563,35 +582,47 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-transform-modules-amd": { + "@babel/plugin-transform-member-expression-literals": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", - "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.1.0", "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", - "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.1.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0" + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz", + "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz", - "integrity": "sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-umd": { @@ -604,43 +635,82 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", + "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", + "dev": true, + "requires": { + "regexp-tree": "^0.1.6" + } + }, "@babel/plugin-transform-new-target": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", - "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-object-super": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", - "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0" + "@babel/helper-replace-supers": "^7.5.5" } }, "@babel/plugin-transform-parameters": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", - "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", "dev": true, "requires": { - "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-call-delegate": "^7.4.4", "@babel/helper-get-function-arity": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", - "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "dev": true, "requires": { - "regenerator-transform": "^0.13.3" + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz", + "integrity": "sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" } }, "@babel/plugin-transform-shorthand-properties": { @@ -672,9 +742,9 @@ } }, "@babel/plugin-transform-template-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", - "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.0.0", @@ -691,123 +761,145 @@ } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", - "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", + "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" } }, "@babel/polyfill": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.2.5.tgz", - "integrity": "sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.4.4.tgz", + "integrity": "sha512-WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg==", "requires": { - "core-js": "^2.5.7", - "regenerator-runtime": "^0.12.0" + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.2" }, "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" } } }, "@babel/preset-env": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.2.3.tgz", - "integrity": "sha512-AuHzW7a9rbv5WXmvGaPX7wADxFkZIqKlbBh1dmZUQp4iwiPpkE/Qnrji6SC4UQCQzvWY/cpHET29eUhXS9cLPw==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz", + "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.5.5", "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", "@babel/plugin-syntax-object-rest-spread": "^7.2.0", "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.2.0", - "@babel/plugin-transform-classes": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.5.5", + "@babel/plugin-transform-classes": "^7.5.5", "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.2.0", - "@babel/plugin-transform-dotall-regex": "^7.2.0", - "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.5.0", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.2.0", - "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.2.0", - "@babel/plugin-transform-modules-commonjs": "^7.2.0", - "@babel/plugin-transform-modules-systemjs": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.5.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-new-target": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.2.0", - "@babel/plugin-transform-parameters": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", "@babel/plugin-transform-shorthand-properties": "^7.2.0", "@babel/plugin-transform-spread": "^7.2.0", "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.2.0", - "browserslist": "^4.3.4", + "@babel/plugin-transform-unicode-regex": "^7.4.4", + "@babel/types": "^7.5.5", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", "invariant": "^2.2.2", "js-levenshtein": "^1.1.3", - "semver": "^5.3.0" + "semver": "^5.5.0" + } + }, + "@babel/runtime": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.5.tgz", + "integrity": "sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==", + "requires": { + "regenerator-runtime": "^0.13.2" } }, "@babel/runtime-corejs2": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.3.1.tgz", - "integrity": "sha512-YpO13776h3e6Wy8dl2J8T9Qwlvopr+b4trCEhHE+yek6yIqV8sx6g3KozdHMbXeBpjosbPi+Ii5Z7X9oXFHUKA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.4.5.tgz", + "integrity": "sha512-5yLuwzvIDecKwYMzJtiarky4Fb5643H3Ao5jwX0HrMR5oM5mn2iHH9wSZonxwNK0oAjAFUQAiOd4jT7/9Y2jMQ==", "requires": { - "core-js": "^2.5.7", - "regenerator-runtime": "^0.12.0" + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.2" }, "dependencies": { - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" } } }, "@babel/template": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", - "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" } }, "@babel/traverse": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", - "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", + "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.5.5", "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.5.5", + "@babel/types": "^7.5.5", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.10" + "lodash": "^4.17.13" }, "dependencies": { "debug": { @@ -820,27 +912,27 @@ } }, "globals": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", - "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "@babel/types": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", - "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", "dev": true, "requires": { "esutils": "^2.0.2", - "lodash": "^4.17.10", + "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" }, "dependencies": { @@ -853,21 +945,28 @@ } }, "@jimp/bmp": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.6.0.tgz", - "integrity": "sha512-zZOcVT1zK/1QL5a7qirkzPPgDKB1ianER7pBdpR2J71vx/g8MnrPbL3h/jEVPxjdci2Hph/VWhc/oLBtTbqO8w==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.6.4.tgz", + "integrity": "sha512-dhKM7Cjw4XoOefx3/we2+vWyTP6hQPpM7mEsziGjtsrK2f/e3/+hhHbEsQNgO9BOA1FPJRXAOiYHts9IlMH1mg==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "bmp-js": "^0.1.0", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/core": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.6.0.tgz", - "integrity": "sha512-ngAkyCLtX7buc2QyFy0ql/j4R2wGYQVsVhW2G3Y0GVAAklRIFIUYpyNKrqs228xA8f2O6XStbDStFlYkt7uNeg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.6.4.tgz", + "integrity": "sha512-nyiAXI8/uU54fGO53KrRB8pdn1s+IODZ+rj0jG2owsNJlTlagFrsZAy8IVTUCOiiXjh9TbwFo7D5XMrmi4KUww==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "any-base": "^1.1.0", "buffer": "^5.2.0", "core-js": "^2.5.7", @@ -888,430 +987,652 @@ "base64-js": "^1.0.2", "ieee754": "^1.1.4" } + }, + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" } } }, "@jimp/custom": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.6.0.tgz", - "integrity": "sha512-+YZIWhf03Rfbi+VPbHomKInu3tcntF/aij/JrIJd1QZq13f8m3mRNxakXupiL18KH0C8BPNDk8RiwFX+HaOw3A==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.6.4.tgz", + "integrity": "sha512-sdBHrBoVr1+PFx4dlUAgXvvu4dG0esQobhg7qhpSLRje1ScavIgE2iXdJKpycgzrqwAOL8vW4/E5w2/rONlaoQ==", "requires": { - "@jimp/core": "^0.6.0", + "@jimp/core": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/gif": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.6.0.tgz", - "integrity": "sha512-aWQ02P0ymTN1eh0BVsY+84wMdb/QeiVpCNQZl9y50cRnpuMM8TTmF/ZdCEBDiTRFcwXzHsqBXcLwEcYp3X2lTw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.6.4.tgz", + "integrity": "sha512-14mLoyG0UrYJsGNRoXBFvSJdFtBD0BSBwQ1zCNeW+HpQqdl+Kh5E1Pz4nqT2KNylJe1jypyR51Q2yndgcfGVyg==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7", "omggif": "^1.0.9" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/jpeg": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.6.0.tgz", - "integrity": "sha512-quYb+lM4h57jQvr2q9dEIkc0laTljws4dunIdFhJRfa5UlNL5mHInk8h5MxyALo0mZdT07TAcxiDHw5QXZ28JQ==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.6.4.tgz", + "integrity": "sha512-NrFla9fZC/Bhw1Aa9vJ6cBOqpB5ylEPb9jD+yZ0fzcAw5HwILguS//oXv9EWLApIY1XsOMFFe0XWpY653rv8hw==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7", "jpeg-js": "^0.3.4" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-blit": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.6.0.tgz", - "integrity": "sha512-LjiCa+8OT2fgmvBpZt0ogurg/eu5kB8ZFWDRwHPcf8i+058sZC20dar/qrjVd5Knssq4ynjb5oAHsGuJq16Rqw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.6.4.tgz", + "integrity": "sha512-suVznd4XozkQIuECX0u8kMl+cAQpZN3WcbWXUcJaVxRi+VBvHIetG1Qs5qGLzuEg9627+kE7ppv0UgZ5mkE6lg==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-blur": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.6.0.tgz", - "integrity": "sha512-/vjGcEiHda6OLTCYqXPFkfSTbL+RatZoGcp1vewcWqChUccn9QVINTlxB7nEI/3Nb/i7KdhOPNEQh1k6q6QXsw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.6.4.tgz", + "integrity": "sha512-M2fDMYUUtEKVNnCJZk5J0KSMzzISobmWfnG88RdHXJCkOn98kdawQFwTsYOfJJfCM8jWfhIxwZLFhC/2lkTN2w==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-color": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.6.0.tgz", - "integrity": "sha512-mvDeAwN8ZpDkOaABMJ0w9zUzo9OOtu1qvvPkSirXDTMiXt1nsbfz8BoeoD7nU2MFhQj5MiGjH65UDnsH5ZzYuw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.6.4.tgz", + "integrity": "sha512-6Nfr2l9KSb6zH2fij8G6fQOw85TTkyRaBlqMvDmsQp/I1IlaDbXzA2C2Eh9jkQYZQDPu61B1MkmlEhJp/TUx6Q==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7", "tinycolor2": "^1.4.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-contain": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.6.0.tgz", - "integrity": "sha512-gPHnoQkDztMbvnTVo01BaMoM/hhDJdeJ7FRToD4p4Qvdor4V0I6NXtjOeUPXfD94miTgh/UTyJDqeG4GZzi4sA==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.6.4.tgz", + "integrity": "sha512-qI1MxU1noS6NbEPu/bDDeP405aMviuIsfpOz8J3En8IwIwrJV22qt6QIHmF+eyng8CYgivwIPjEPzFzLR566Nw==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-cover": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.6.0.tgz", - "integrity": "sha512-iv9lA2v3qv+x3eaTThtyzFg+hO8/pSnM8NBymC5OlpSJnR54aWi7BVFXLJAF27T4EZyXko432PVul2IdY3BEPw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.6.4.tgz", + "integrity": "sha512-z6eafPonj3LJY8cTEfRkXmOfCDi1+f0tbYaNvmiu+OrWJ3Ojw2hMt+BVVvJ8pKe1dWIFkCjxOjyjZWj1gEkaLw==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-crop": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.6.0.tgz", - "integrity": "sha512-YftdmFZ2YnZDYyBulkStCt2MZbKKfbjytkE+6i3Djk2b/Rfryg5xjgzVnAumCRQJhVPukexrnc2V7KKbEgx7mQ==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.6.4.tgz", + "integrity": "sha512-w9TR+pn+GeWbznscGe2HRkPxInge0whAF3TLPWhPwBVjZChTT8dSDXsUpUlxQqvI4SfzuKp8z3/0SBqYDCzxxA==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-displace": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.6.0.tgz", - "integrity": "sha512-kkva5Fy3r7J7QmiqYQ5c9NeUKKkN7+KSfCGsZ6tkRHK4REMIXhQO/OnJN8XG6RReV29O6QykdyeTXDiHUDiROw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.6.4.tgz", + "integrity": "sha512-MEvtBXOAio/3iGJkKBrTtFs3Q38ez2Wy/wTD0Ruas+L8fjJR7l4mDgV+zjRr57CqB5mpY+L48VEoa2/gNXh9cg==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-dither": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.6.0.tgz", - "integrity": "sha512-ILSG7bl3SOqmcIa9C4nBvs0h0E0ObnMbeKWUZiNuz6i0OAlbxryiIfU4j0UVQD5XqT9ksC5mviVNrvOMw4SZLw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.6.4.tgz", + "integrity": "sha512-w+AGLcIMUeJZ4CI0FvFomahgKLcW+ICsLidUNOqyLzceluPAfug4X7vDhQ41pNkzKg0M1+Q1j0aWV8bdyF+LhA==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-flip": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.6.0.tgz", - "integrity": "sha512-MXGGwABjERvfqVadEzJuVAmbsEQfjxXD0O/mMBegU1Qh7/JmnKAVplQCnojsMPxUdao/FKZjQqOnB/j4LLJtOQ==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.6.4.tgz", + "integrity": "sha512-ukINMegMUM9KYjyDCiyYKYdSsbhNRLHDwOJN0xVRalmOKqNaZmjNbiMbaVxKlYt6sHW76RhSMOekw9f6GQB9tQ==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-gaussian": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.6.0.tgz", - "integrity": "sha512-RUsBCyj6Ukxgn/TU8v6c6WRbSFqKM0iknLVqDkKIuiOyJB7ougv66fqomh/i/h3ihIkEnf50BuO0c3ovrczfvw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.6.4.tgz", + "integrity": "sha512-C1P6ohzIddpNb7CX5X+ygbp+ow8Fpt64ZLoIgdjYPs/42HxKluvY62fVfMhY6m5zUGKIMbg0uYeAtz/9LRJPyw==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-invert": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.6.0.tgz", - "integrity": "sha512-zTCqK8el6eqcNKAxw0y57gHBFgxygI5iM8dQDPyqsvVWO71i8XII7ubnJhEvPPN7vhIKlOSnS9XXglezvJoX4Q==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.6.4.tgz", + "integrity": "sha512-sleGz1jXaNEsP/5Ayqw8oez/6KesWcyCqovIuK4Z4kDmMc2ncuhsXIJQXDWtIF4tTQVzNEgrxUDNA4bi9xpCUA==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-mask": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.6.0.tgz", - "integrity": "sha512-zkZVqAA7lxWhkn5EbPjBQ6tPluYIGfLMSX4kD1gksj+MVJJnVAd459AVuEXCvkUvv4wG5AlH8m6ve5NZj9vvxw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.6.4.tgz", + "integrity": "sha512-3D4FbRxnpO9nzwa6cF8AImgO1aVReYbfRRO4I4bku4/iZ+kuU3fBLV+SRhB4c7di3ejG5u+rGsIfaNc94iYYvw==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-normalize": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.6.0.tgz", - "integrity": "sha512-7bNGT+S0rw9gvmxpkNsA19JSqBZYFrAn9QhEmoN4HIimdKtJaoLJh/GnxrPuOBLuv1IPJntoTOOWvOmfrQ6/ww==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.6.4.tgz", + "integrity": "sha512-nOFMwOaVkOKArHkD/T6/1HKAPj3jlW6l0JduVDn1A5eIPCtlnyhlE9zdjgi5Q9IBR/gRjwW6tTzBKuJenS51kg==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-print": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.6.0.tgz", - "integrity": "sha512-kXNHYo7bGQiMZkUqhCvm6OomjJtZnLGs7cgXp9qsCfPcDBLLW+X3oxnoLaePQMlpQt6hX/lzFnNaWKv/KB1jlA==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.6.4.tgz", + "integrity": "sha512-3z5DLVCKg0NfZhHATEaYH/4XanIboPP1pOUoxIUeF++qOnGiGgH2giFJlRprHmx2l3E3DukR1v8pt54PGvfrFw==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7", "load-bmfont": "^1.4.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-resize": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.6.0.tgz", - "integrity": "sha512-m0AA/mPkJG++RuftBFDUMRenqgIN/uSh88Kqs33VURYaabApni4ML3QslE1TCJtl2Lnu1eosxYlbzODjHx49eg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.6.4.tgz", + "integrity": "sha512-fk2+KheUNClrOWj6aDNWj1r4byVQb6Qxy4aT1UHX5GXPHDA+nhlej7ghaYdzeWZYodeM3lpasYtByu1XE2qScQ==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-rotate": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.6.0.tgz", - "integrity": "sha512-1QGlIisyxs2HNLuynq/ETc4h7E6At3yR+IYAhG9U4KONG4RqlIy0giyDhnfEZaiqOE+O7f+0Z7zN6GoSHmQjzg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.6.4.tgz", + "integrity": "sha512-44VgV5D4xQIYInJAVevdW9J3SOhGKyz0OEr2ciA8Q3ktonKx0O5Q1g2kbruiqxFSkK/u2CKPLeKXZzYCFrmJGQ==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugin-scale": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.6.0.tgz", - "integrity": "sha512-le/ttYwYioNPRoMlMaoJMCTv+m8d1v0peo/3J8E6Rf9ok7Bw3agkvjL9ILnsmr8jXj1YLrBSPKRs5nJ6ziM/qA==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.6.4.tgz", + "integrity": "sha512-RAQRaDiCHmEz+A8QS5d/Z38EnlNsQizz3Mu3NsjA8uFtJsv1yMKWXZSQuzniofZw8tlMV6oI3VdM0eQVE07/5w==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/plugins": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.6.0.tgz", - "integrity": "sha512-9+znfBJM1B31kvw+IcQFnAuDntQhwca/SONFnKOSZ8BNiQdiuTNbXHFxOo3tvdv1ngtB+LkkiTgK+QoF358b8g==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.6.4.tgz", + "integrity": "sha512-NpO/87CKnF4Q9r8gMl6w+jPKOM/C089qExkViD9cPvcFZEnyVOu7ucGzcMmTcabWOU62iQTOkRViPYr6XaK0LQ==", "requires": { - "@jimp/plugin-blit": "^0.6.0", - "@jimp/plugin-blur": "^0.6.0", - "@jimp/plugin-color": "^0.6.0", - "@jimp/plugin-contain": "^0.6.0", - "@jimp/plugin-cover": "^0.6.0", - "@jimp/plugin-crop": "^0.6.0", - "@jimp/plugin-displace": "^0.6.0", - "@jimp/plugin-dither": "^0.6.0", - "@jimp/plugin-flip": "^0.6.0", - "@jimp/plugin-gaussian": "^0.6.0", - "@jimp/plugin-invert": "^0.6.0", - "@jimp/plugin-mask": "^0.6.0", - "@jimp/plugin-normalize": "^0.6.0", - "@jimp/plugin-print": "^0.6.0", - "@jimp/plugin-resize": "^0.6.0", - "@jimp/plugin-rotate": "^0.6.0", - "@jimp/plugin-scale": "^0.6.0", + "@jimp/plugin-blit": "^0.6.4", + "@jimp/plugin-blur": "^0.6.4", + "@jimp/plugin-color": "^0.6.4", + "@jimp/plugin-contain": "^0.6.4", + "@jimp/plugin-cover": "^0.6.4", + "@jimp/plugin-crop": "^0.6.4", + "@jimp/plugin-displace": "^0.6.4", + "@jimp/plugin-dither": "^0.6.4", + "@jimp/plugin-flip": "^0.6.4", + "@jimp/plugin-gaussian": "^0.6.4", + "@jimp/plugin-invert": "^0.6.4", + "@jimp/plugin-mask": "^0.6.4", + "@jimp/plugin-normalize": "^0.6.4", + "@jimp/plugin-print": "^0.6.4", + "@jimp/plugin-resize": "^0.6.4", + "@jimp/plugin-rotate": "^0.6.4", + "@jimp/plugin-scale": "^0.6.4", "core-js": "^2.5.7", "timm": "^1.6.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/png": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.6.0.tgz", - "integrity": "sha512-DBtMyQyrJxuKI7/1dVqLek+rCMM8U6BSOTHgo05wU7lhJKTB6fn2tbYfsnHQKzd9ld1M2qKuC+O1GTVdB2yl6w==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.6.4.tgz", + "integrity": "sha512-qv3oo6ll3XWVIToBwVC1wQX0MFKwpxbe2o+1ld9B4ZDavqvAHzalzcmTd/iyooI85CVDAcC3RRDo66oiizGZCQ==", "requires": { - "@jimp/utils": "^0.6.0", + "@jimp/utils": "^0.6.4", "core-js": "^2.5.7", "pngjs": "^3.3.3" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/tiff": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.6.0.tgz", - "integrity": "sha512-PV95CquEsolFziq0zZrAEJIzZSKwMK89TvkOXTPDi/xesgdXGC2rtG1IZFpC9L4UX5hi/M5GaeJa49xULX6Nqw==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.6.4.tgz", + "integrity": "sha512-8/vD4qleexmhPdppiu6fSstj/n/kGNTn8iIlf1emiqOuMN2PL9q5GOPDWU0xWdGNyJMMIDXJPgUFUkKfqXdg7w==", "requires": { "core-js": "^2.5.7", "utif": "^2.0.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/types": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.6.0.tgz", - "integrity": "sha512-j4tm82huEWpLrwave/2NYnMTY6us/6K9Js6Vd/CHoM/ki8M71tMXEVzc8tly92wtnEzQ9+FEk0Ue6pYo68m/5A==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.6.4.tgz", + "integrity": "sha512-/EMbipQDg5U6DnBAgcSiydlMBRYoKhnaK7MJRImeTzhDJ6xfgNOF7lYq66o0kmaezKdG/cIwZ1CLecn2y3D8SQ==", "requires": { - "@jimp/bmp": "^0.6.0", - "@jimp/gif": "^0.6.0", - "@jimp/jpeg": "^0.6.0", - "@jimp/png": "^0.6.0", - "@jimp/tiff": "^0.6.0", + "@jimp/bmp": "^0.6.4", + "@jimp/gif": "^0.6.4", + "@jimp/jpeg": "^0.6.4", + "@jimp/png": "^0.6.4", + "@jimp/tiff": "^0.6.4", "core-js": "^2.5.7", "timm": "^1.6.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } } }, "@jimp/utils": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.6.0.tgz", - "integrity": "sha512-z5iYEfqc45vlYweROneNkjv32en6jS7lPL/eMLIvaEcQAHaoza20Dw8fUoJ0Ht9S92kR74xeTunAZq+gK2w67Q==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.6.4.tgz", + "integrity": "sha512-EFQurCyEnZLSM2Q1BYDTUmsOJPSOYEQd18Fvq8bGo8hnBHoGLWLWWyNi2l4cYhtpKmIXyhvQqa6/WaEpKPzvqA==", "requires": { "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "12.7.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.3.tgz", + "integrity": "sha512-3SiLAIBkDWDg6vFo0+5YJyHPWU9uwu40Qe+v+0MH8wRKYBimHvvAOyk3EzMrD/TrIlLYfXrqDqrg913PynrMJQ==", + "dev": true + }, + "@types/sax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.0.tgz", + "integrity": "sha512-D8ef/GGUjiHuUOiXV6tkJw6Zq2Sm8vcBScJSvj+monDI5YncJ6M3oNIXR7EtmWPVqJw0jsZF2ARN/X5gvGmQSA==", + "dev": true, + "requires": { + "@types/node": "*" } }, "@webassemblyjs/ast": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", - "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/wast-parser": "1.7.11" + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz", - "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz", - "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz", - "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz", - "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.7.11" + "@webassemblyjs/wast-printer": "1.8.5" } }, "@webassemblyjs/helper-fsm": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz", - "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz", - "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==", - "dev": true + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz", - "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz", - "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" } }, "@webassemblyjs/ieee754": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz", - "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz", - "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", "dev": true, "requires": { - "@xtuc/long": "4.2.1" + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz", - "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz", - "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/helper-wasm-section": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11", - "@webassemblyjs/wasm-opt": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11", - "@webassemblyjs/wast-printer": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" } }, "@webassemblyjs/wasm-gen": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz", - "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/ieee754": "1.7.11", - "@webassemblyjs/leb128": "1.7.11", - "@webassemblyjs/utf8": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" } }, "@webassemblyjs/wasm-opt": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz", - "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" } }, "@webassemblyjs/wasm-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz", - "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-api-error": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/ieee754": "1.7.11", - "@webassemblyjs/leb128": "1.7.11", - "@webassemblyjs/utf8": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" } }, "@webassemblyjs/wast-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz", - "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/floating-point-hex-parser": "1.7.11", - "@webassemblyjs/helper-api-error": "1.7.11", - "@webassemblyjs/helper-code-frame": "1.7.11", - "@webassemblyjs/helper-fsm": "1.7.11", - "@xtuc/long": "4.2.1" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/wast-printer": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz", - "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/wast-parser": "1.7.11", - "@xtuc/long": "4.2.1" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" } }, "@xtuc/ieee754": { @@ -1321,20 +1642,9 @@ "dev": true }, "@xtuc/long": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", - "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", - "dev": true - }, - "JSONSelect": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", - "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=" - }, - "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "abbrev": { @@ -1344,13 +1654,13 @@ "dev": true }, "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" } }, "access-sniff": { @@ -1417,27 +1727,10 @@ "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==", "dev": true }, - "acorn-dynamic-import": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", - "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", - "dev": true, - "requires": { - "acorn": "^5.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - } - } - }, "acorn-globals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", - "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.2.tgz", + "integrity": "sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==", "dev": true, "requires": { "acorn": "^6.0.1", @@ -1445,9 +1738,9 @@ } }, "acorn-jsx": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", - "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", "dev": true }, "acorn-walk": { @@ -1457,9 +1750,9 @@ "dev": true }, "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "requires": { "es6-promisify": "^5.0.0" @@ -1467,7 +1760,7 @@ "dependencies": { "es6-promisify": { "version": "5.0.0", - "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { @@ -1486,6 +1779,17 @@ "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "dependencies": { + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + } } }, "ajv-errors": { @@ -1506,9 +1810,9 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" }, "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", "dev": true }, "ansi-escapes": { @@ -1596,11 +1900,16 @@ } } }, + "arg": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz", + "integrity": "sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==", + "dev": true + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -1623,12 +1932,6 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, "array-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", @@ -1642,9 +1945,9 @@ "dev": true }, "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, "array-union": { @@ -1669,9 +1972,9 @@ "dev": true }, "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true }, "arrive": { @@ -1716,7 +2019,7 @@ }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -1744,9 +2047,9 @@ "dev": true }, "ast-types": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz", - "integrity": "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz", + "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==", "dev": true }, "astral-regex": { @@ -1765,9 +2068,9 @@ } }, "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, "async-foreach": { @@ -1795,17 +2098,18 @@ "dev": true }, "autoprefixer": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.3.tgz", - "integrity": "sha512-/XSnzDepRkAU//xLcXA/lUWxpsBuw0WiriAHOqnxkuCtzLhaz+fL4it4gp20BQ8n5SyLzK/FOc7A0+u/rti2FQ==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz", + "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==", "dev": true, "requires": { - "browserslist": "^4.3.6", - "caniuse-lite": "^1.0.30000921", + "browserslist": "^4.6.3", + "caniuse-lite": "^1.0.30000980", + "chalk": "^2.4.2", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.6", - "postcss-value-parser": "^3.3.1" + "postcss": "^7.0.17", + "postcss-value-parser": "^4.0.0" }, "dependencies": { "ansi-styles": { @@ -1818,9 +2122,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -1828,16 +2132,11 @@ "supports-color": "^5.3.0" } }, - "postcss": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.7.tgz", - "integrity": "sha512-HThWSJEPkupqew2fnuQMEI2YcTj/8gMV3n80cMdJsKxfIh5tHf7nM5JigNX6LxVMqo6zkgQNAI88hyFvBk41Pg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } + "postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", + "dev": true }, "supports-color": { "version": "5.5.0", @@ -1863,13 +2162,12 @@ "dev": true }, "axios": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", - "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", - "dev": true, + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" } }, "babel-code-frame": { @@ -1883,41 +2181,48 @@ } }, "babel-eslint": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", - "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", + "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "@babel/parser": "^7.0.0", "@babel/traverse": "^7.0.0", "@babel/types": "^7.0.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "^1.0.0" + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" }, "dependencies": { - "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "path-parse": "^1.0.6" } } } }, "babel-loader": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", - "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", "dev": true, "requires": { - "find-cache-dir": "^1.0.0", + "find-cache-dir": "^2.0.0", "loader-utils": "^1.0.2", "mkdirp": "^0.5.1", - "util.promisify": "^1.0.0" + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } } }, "babel-messages": { @@ -1928,11 +2233,14 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", - "dev": true + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } }, "babel-plugin-transform-builtin-extend": { "version": "1.1.2", @@ -1943,23 +2251,6 @@ "babel-template": "^6.3.0" } }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" - } - } - }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -1967,6 +2258,18 @@ "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } } }, "babel-template": { @@ -2095,9 +2398,9 @@ "dev": true }, "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "dev": true, "requires": { "tweetnacl": "^0.14.3" @@ -2117,34 +2420,39 @@ "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" }, "bfj": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.1.tgz", - "integrity": "sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", "dev": true, "requires": { - "bluebird": "^3.5.1", - "check-types": "^7.3.0", - "hoopy": "^0.1.2", - "tryer": "^1.0.0" + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" } }, "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", "dev": true }, "bignumber.js": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.0.2.tgz", - "integrity": "sha512-EiuvFrnbv0jFixEQ9f58jo7X0qI2lNGIr/MxntmVzQc5JUweDSh8y8hbTCAomFtqwUPIOWcLXP0VEOSZTG7FFw==" + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" }, "binary-extensions": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", - "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, + "blakejs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", + "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" + }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -2155,9 +2463,9 @@ } }, "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", "dev": true }, "bmp-js": { @@ -2166,9 +2474,9 @@ "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" }, "bn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bn/-/bn-1.0.1.tgz", - "integrity": "sha1-oVOCXmsessLbdyYUmwR6B84KO7M=" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bn/-/bn-1.0.4.tgz", + "integrity": "sha512-QGhwlcq0nhbM2and/pkIhFBmIkrKlnoDUVXPfeEEyJSHQb2yI1C60f1YFiMX+skQ9s3urJrTAAImgXw3Jocj0g==" }, "bn.js": { "version": "4.11.8", @@ -2189,49 +2497,71 @@ } }, "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, "requires": { - "bytes": "3.0.0", + "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "dependencies": { "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "dev": true }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true } } }, @@ -2247,6 +2577,14 @@ "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } } }, "boolbase": { @@ -2256,23 +2594,23 @@ "dev": true }, "bootstrap": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.2.1.tgz", - "integrity": "sha512-tt/7vIv3Gm2mnd/WeDx36nfGGHleil0Wg8IeB7eMrVkY0fZ5iTaBisSh8oNANc2IBsCc6vCgCNTIM/IEN0+50Q==", - "dev": true + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", + "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==" }, "bootstrap-colorpicker": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/bootstrap-colorpicker/-/bootstrap-colorpicker-2.5.3.tgz", - "integrity": "sha512-xdllX8LSMvKULs3b8JrgRXTvyvjkSMHHHVuHjjN5FNMqr6kRe5NPiMHFmeAFjlgDF73MspikudLuEwR28LbzLw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bootstrap-colorpicker/-/bootstrap-colorpicker-3.1.2.tgz", + "integrity": "sha512-yUWegXox8GYoXVtYdrEIN3QMOeEFbcSFGDadZu2pWmmMgTaw4ECX9T8GvYQzJkRusvK9uzi39FjE0W2k8lQECA==", "requires": { - "jquery": ">=1.10" + "bootstrap": ">=4.0", + "jquery": ">=2.1.0" } }, "bootstrap-material-design": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/bootstrap-material-design/-/bootstrap-material-design-4.1.1.tgz", - "integrity": "sha1-h0M9sL9k1qCvsPX6qoYGE0ydJtI=" + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/bootstrap-material-design/-/bootstrap-material-design-4.1.2.tgz", + "integrity": "sha512-hKeUkOM6g2DqpktvEMHrIDpQ5qupV4DSeKlJSJ60tLFQ+8tPlszVCa3JVLTV+ZFbJRMb0UA6UWTsnjW57kYNeg==" }, "brace-expansion": { "version": "1.1.11", @@ -2404,20 +2742,20 @@ } }, "browserslist": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.6.tgz", - "integrity": "sha512-kMGKs4BTzRWviZ8yru18xBpx+CyHG9eqgRbj9XbE3IMgtczf4aiA0Y1YCpVdvUieKGZ03kolSPXqTcscBCb9qw==", + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", + "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000921", - "electron-to-chromium": "^1.3.92", - "node-releases": "^1.1.1" + "caniuse-lite": "^1.0.30000984", + "electron-to-chromium": "^1.3.191", + "node-releases": "^1.1.25" } }, "bson": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.0.1.tgz", - "integrity": "sha512-Q+E5edAc2DnSb77xcBJga0iJDyZlhkKRhWxKdPJcT3UK6nC6BtmMJGpkt+99bGht3HIhXHu7mxi5FLBgQAj5MA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.0.2.tgz", + "integrity": "sha512-rBdCxMBCg2aR420e1oKUejjcuPZLTibA7zEhWAlliFWEwzuBCC9Dkp5r7VFFIQB2t1WVsvTbohry575mc7Xw5A==", "requires": { "buffer": "^5.1.0", "long": "^4.0.0" @@ -2505,22 +2843,23 @@ "integrity": "sha1-sC2wB+83vrzCk4Skssb08PTHlsk=" }, "cacache": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", - "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", "dev": true, "requires": { - "bluebird": "^3.5.3", + "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", + "glob": "^7.1.4", "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", + "rimraf": "^2.6.3", "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" @@ -2535,6 +2874,15 @@ "yallist": "^3.0.2" } }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", @@ -2566,10 +2914,36 @@ "unset-value": "^1.0.0" } }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, "callsites": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", - "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camel-case": { @@ -2583,9 +2957,9 @@ } }, "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "camelcase-keys": { @@ -2596,12 +2970,20 @@ "requires": { "camelcase": "^2.0.0", "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } } }, "caniuse-lite": { - "version": "1.0.30000925", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000925.tgz", - "integrity": "sha512-zcYupoUxtW46rOikuDF7vfL9N1Qe9ZuUBTz3n3q8fFsoJIs/h9UN6Vg/0QpjsmvImXw9mVc3g+ZBfqvUz/iALA==", + "version": "1.0.30000989", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", + "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", "dev": true }, "caseless": { @@ -2610,19 +2992,10 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "catharsis": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", - "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", - "dev": true, - "requires": { - "underscore-contrib": "~0.3.0" - } - }, "chai-nightwatch": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.2.1.tgz", - "integrity": "sha512-2lprSMi72sHq2ZGyPTYUDQNsd2O4z81SicascbI4bkU54Xzk5Ofunn2CbrExADGC7jBH2D8r66X/aSEl+/agXQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.3.0.tgz", + "integrity": "sha512-NHpHLKQO0M7uNVJ10qlPIzHN9+6f873kYh6dYAn291a1CVESrrH6crbTJwZ3376trtzb6HPa80QYt3gMTL1o4g==", "dev": true, "requires": { "assertion-error": "1.0.0", @@ -2656,9 +3029,9 @@ "dev": true }, "check-types": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", - "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", "dev": true }, "chi-squared": { @@ -2670,52 +3043,94 @@ } }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", - "inherits": "^2.0.1", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } } }, "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", + "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", "dev": true }, "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "chromedriver": { - "version": "2.45.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-2.45.0.tgz", - "integrity": "sha512-Qwmcr+2mU3INeR6mVsQ8gO00vZpL8ZeTJLclX44C0dcs88jrSDgckPqbG+qkVX+m2L/aOPnF0lYgPdOiOiLt5w==", + "version": "77.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-77.0.0.tgz", + "integrity": "sha512-mZa1IVx4HD8rDaItWbnS470mmypgiWsDiu98r0NkiT4uLm3qrANl4vOU6no6vtWtLQiW5kt1POcIbjeNpsLbXA==", "dev": true, "requires": { - "del": "^3.0.0", + "del": "^4.1.1", "extract-zip": "^1.6.7", "mkdirp": "^0.5.1", "request": "^2.88.0", "tcp-port-used": "^1.0.1" + }, + "dependencies": { + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + } + } } }, "cipher-base": { @@ -2728,17 +3143,6 @@ "safe-buffer": "^5.0.1" } }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "cjson": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.2.1.tgz", - "integrity": "sha1-c82KrWXZ4VBfmvF0TTt5wVJ2gqU=" - }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -2771,16 +3175,6 @@ "source-map": "~0.6.0" } }, - "cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", - "dev": true, - "requires": { - "exit": "0.1.2", - "glob": "^7.1.1" - } - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -2830,15 +3224,14 @@ } }, "clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { - "for-own": "^1.0.0", "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" } }, "co": { @@ -2891,18 +3284,18 @@ "dev": true }, "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" }, "commondir": { "version": "1.0.1", @@ -2911,31 +3304,31 @@ "dev": true }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, "compressible": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", - "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", "dev": true, "requires": { - "mime-db": ">= 1.36.0 < 2" + "mime-db": ">= 1.40.0 < 2" } }, "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "requires": { "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.14", + "compressible": "~2.0.16", "debug": "2.6.9", - "on-headers": "~1.0.1", + "on-headers": "~1.0.2", "safe-buffer": "5.1.2", "vary": "~1.1.2" }, @@ -2945,6 +3338,12 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true } } }, @@ -2964,79 +3363,41 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "requires": { "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", "utils-merge": "1.0.1" }, "dependencies": { "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true } } }, "connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true }, "connect-livereload": { @@ -3067,10 +3428,13 @@ "dev": true }, "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } }, "content-type": { "version": "1.0.4", @@ -3094,9 +3458,9 @@ } }, "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", "dev": true }, "cookie-signature": { @@ -3125,10 +3489,192 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "copy-webpack-plugin": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz", + "integrity": "sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg==", + "dev": true, + "requires": { + "cacache": "^11.3.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "cacache": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz", + "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true + } + } + }, "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz", + "integrity": "sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==" + }, + "core-js-compat": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", + "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", + "dev": true, + "requires": { + "browserslist": "^4.6.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } }, "core-util-is": { "version": "1.0.2", @@ -3137,17 +3683,27 @@ "dev": true }, "cosmiconfig": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", - "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "requires": { + "import-fresh": "^2.0.0", "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "parse-json": "^4.0.0", - "require-from-string": "^2.0.1" + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" }, "dependencies": { + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -3157,6 +3713,12 @@ "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true } } }, @@ -3211,9 +3773,9 @@ } }, "crypto-api": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/crypto-api/-/crypto-api-0.8.3.tgz", - "integrity": "sha512-ZhUQvYTn5DpW2aS8F/OezedZPniCNcJhpP4Njrsuyt+9Y9400ht5Wue7w3D/dZWgekF+W7fz4bYUKf6u/waiGQ==" + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/crypto-api/-/crypto-api-0.8.5.tgz", + "integrity": "sha512-kcif7fCeYZpUsA3Y1VidFrK4HRf2Lsx9X4cnl7pauTXjgnXfEjaTyUGxzIBJ6DZwEPgX/VyKkhAeBV+vXHwX2Q==" }, "crypto-browserify": { "version": "3.12.0", @@ -3240,46 +3802,34 @@ "integrity": "sha1-/aGedh/Ad+Af+/3G6f38WeiAbNg=" }, "css-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.0.tgz", - "integrity": "sha512-MoOu+CStsGrSt5K2OeZ89q3Snf+IkxRfAIt9aAKg4piioTrhtP1iEFPu+OVn3Ohz24FO6L+rw9UJxBILiSBw5Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.2.0.tgz", + "integrity": "sha512-QTF3Ud5H7DaZotgdcJjGMvyDj5F3Pn1j/sC6VBEOVp94cbwqyIBdcs/quzj4MC1BKQSrTpQznegH/5giYbhnCQ==", "dev": true, "requires": { - "icss-utils": "^4.0.0", - "loader-utils": "^1.2.1", - "lodash": "^4.17.11", - "postcss": "^7.0.6", + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.17", "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.3", - "postcss-modules-scope": "^2.0.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.0" + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.0.0", + "schema-utils": "^2.0.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true }, "json5": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { @@ -3297,36 +3847,27 @@ "json5": "^1.0.1" } }, - "postcss": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.7.tgz", - "integrity": "sha512-HThWSJEPkupqew2fnuQMEI2YcTj/8gMV3n80cMdJsKxfIh5tHf7nM5JigNX6LxVMqo6zkgQNAI88hyFvBk41Pg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", + "dev": true }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.1.0.tgz", + "integrity": "sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw==", "dev": true, "requires": { "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -3342,51 +3883,6 @@ "nth-check": "~1.0.1" } }, - "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", - "dev": true, - "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } - } - }, "css-what": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", @@ -3394,24 +3890,32 @@ "dev": true }, "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, "cssom": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", - "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", + "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", "dev": true }, "cssstyle": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", - "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.3.0.tgz", + "integrity": "sha512-wXsoRfsRfsLVNaVzoKdqvEmK/5PFaEXNspVT22Ots6K/cnJdpoDKuQFw+qlMiXnmaif1OgeC466X1zISgAOcGg==", "dev": true, "requires": { - "cssom": "0.3.x" + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } } }, "ctph.js": { @@ -3440,6 +3944,275 @@ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, + "d3": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.11.0.tgz", + "integrity": "sha512-LXgMVUAEAzQh6WfEEOa8tJX4RA64ZJ6twC3CJ+Xzid+fXWLTZkkglagXav/eOoQgzQi5rzV0xC4Sfspd6hFDHA==", + "requires": { + "d3-array": "1", + "d3-axis": "1", + "d3-brush": "1", + "d3-chord": "1", + "d3-collection": "1", + "d3-color": "1", + "d3-contour": "1", + "d3-dispatch": "1", + "d3-drag": "1", + "d3-dsv": "1", + "d3-ease": "1", + "d3-fetch": "1", + "d3-force": "1", + "d3-format": "1", + "d3-geo": "1", + "d3-hierarchy": "1", + "d3-interpolate": "1", + "d3-path": "1", + "d3-polygon": "1", + "d3-quadtree": "1", + "d3-random": "1", + "d3-scale": "2", + "d3-scale-chromatic": "1", + "d3-selection": "1", + "d3-shape": "1", + "d3-time": "1", + "d3-time-format": "2", + "d3-timer": "1", + "d3-transition": "1", + "d3-voronoi": "1", + "d3-zoom": "1" + } + }, + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + }, + "d3-axis": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", + "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==" + }, + "d3-brush": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.3.tgz", + "integrity": "sha512-v8bbYyCFKjyCzFk/tdWqXwDykY8YWqhXYjcYxfILIit085VZOpj4XJKOMccTsvWxgzSLMJQg5SiqHjslsipEDg==", + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "d3-chord": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", + "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", + "requires": { + "d3-array": "1", + "d3-path": "1" + } + }, + "d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" + }, + "d3-color": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.3.0.tgz", + "integrity": "sha512-NHODMBlj59xPAwl2BDiO2Mog6V+PrGRtBfWKqKRrs9MCqlSkIEb0Z/SfY7jW29ReHTDC/j+vwXhnZcXI3+3fbg==" + }, + "d3-contour": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", + "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", + "requires": { + "d3-array": "^1.1.1" + } + }, + "d3-dispatch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz", + "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g==" + }, + "d3-drag": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.4.tgz", + "integrity": "sha512-ICPurDETFAelF1CTHdIyiUM4PsyZLaM+7oIBhmyP+cuVjze5vDZ8V//LdOFjg0jGnFIZD/Sfmk0r95PSiu78rw==", + "requires": { + "d3-dispatch": "1", + "d3-selection": "1" + } + }, + "d3-dsv": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.1.1.tgz", + "integrity": "sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw==", + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + } + }, + "d3-ease": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz", + "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ==" + }, + "d3-fetch": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.1.2.tgz", + "integrity": "sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==", + "requires": { + "d3-dsv": "1" + } + }, + "d3-force": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "requires": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" + } + }, + "d3-format": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz", + "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ==" + }, + "d3-geo": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.6.tgz", + "integrity": "sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA==", + "requires": { + "d3-array": "1" + } + }, + "d3-hexbin": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/d3-hexbin/-/d3-hexbin-0.2.2.tgz", + "integrity": "sha1-nFg32s/UcasFM3qeke8Qv8T5iDE=" + }, + "d3-hierarchy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz", + "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==" + }, + "d3-interpolate": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz", + "integrity": "sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==", + "requires": { + "d3-color": "1" + } + }, + "d3-path": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.8.tgz", + "integrity": "sha512-J6EfUNwcMQ+aM5YPOB8ZbgAZu6wc82f/0WFxrxwV6Ll8wBwLaHLKCqQ5Imub02JriCVVdPjgI+6P3a4EWJCxAg==" + }, + "d3-polygon": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz", + "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==" + }, + "d3-quadtree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.6.tgz", + "integrity": "sha512-NUgeo9G+ENQCQ1LsRr2qJg3MQ4DJvxcDNCiohdJGHt5gRhBW6orIB5m5FJ9kK3HNL8g9F4ERVoBzcEwQBfXWVA==" + }, + "d3-random": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", + "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==" + }, + "d3-scale": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", + "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", + "requires": { + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" + } + }, + "d3-scale-chromatic": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", + "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", + "requires": { + "d3-color": "1", + "d3-interpolate": "1" + } + }, + "d3-selection": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz", + "integrity": "sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg==" + }, + "d3-shape": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.5.tgz", + "integrity": "sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==", + "requires": { + "d3-path": "1" + } + }, + "d3-time": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.11.tgz", + "integrity": "sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw==" + }, + "d3-time-format": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz", + "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==", + "requires": { + "d3-time": "1" + } + }, + "d3-timer": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz", + "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg==" + }, + "d3-transition": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz", + "integrity": "sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw==", + "requires": { + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==" + }, + "d3-zoom": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz", + "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==", + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -3450,10 +4223,21 @@ } }, "data-uri-to-buffer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", - "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", - "dev": true + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.1.tgz", + "integrity": "sha512-OkVVLrerfAKZlW2ZZ3Ve2y65jgiWqBKsTfUIAFbn8nVbPcCZg6l6gikKlEYv0kXcmzqGm6mFq/Jf2vriuEkv8A==", + "dev": true, + "requires": { + "@types/node": "^8.0.7" + }, + "dependencies": { + "@types/node": { + "version": "8.10.53", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.53.tgz", + "integrity": "sha512-aOmXdv1a1/vYUn1OT1CED8ftbkmmYbKhKGSyMDeJiidLvKRKvZUQOdXwG/wcNY7T1Qb0XTlVdiYjIq00U7pLrQ==", + "dev": true + } + } }, "data-urls": { "version": "1.1.0", @@ -3466,6 +4250,12 @@ "whatwg-url": "^7.0.0" }, "dependencies": { + "abab": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", + "dev": true + }, "whatwg-url": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", @@ -3479,17 +4269,6 @@ } } }, - "datauri": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/datauri/-/datauri-1.1.0.tgz", - "integrity": "sha512-0q+cTTKx7q8eDteZRIQLTFJuiIsVing17UbWTPssY4JLSMaYsk/VKpNulBDo9NSgQWcvlPrkEHW8kUO67T/7mQ==", - "dev": true, - "requires": { - "image-size": "^0.6.2", - "mimer": "^0.3.2", - "semver": "^5.5.0" - } - }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -3528,7 +4307,7 @@ }, "deep-eql": { "version": "0.1.3", - "resolved": "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", "dev": true, "requires": { @@ -3536,14 +4315,22 @@ } }, "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", + "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } }, "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true }, "deep-for-each": { @@ -3561,12 +4348,12 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "default-gateway": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", - "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", "dev": true, "requires": { - "execa": "^0.10.0", + "execa": "^1.0.0", "ip-regex": "^2.1.0" } }, @@ -3574,9 +4361,15 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" + }, + "dependencies": { + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" + } } }, "define-property": { @@ -3640,17 +4433,29 @@ } }, "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dev": true, "requires": { + "@types/glob": "^7.1.1", "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, "delayed-stream": { @@ -3694,9 +4499,9 @@ "dev": true }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" }, "diffie-hellman": { "version": "5.0.3", @@ -3709,6 +4514,32 @@ "randombytes": "^2.0.0" } }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -3735,9 +4566,9 @@ } }, "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -3802,15 +4633,6 @@ "webidl-conversions": "^4.0.2" } }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, "domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", @@ -3821,9 +4643,15 @@ "domelementtype": "1" } }, + "dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true + }, "duplexer": { "version": "0.1.1", - "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, @@ -3871,11 +4699,6 @@ } } }, - "ebnf-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz", - "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=" - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -3895,9 +4718,9 @@ } }, "ecdsa-sig-formatter": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", - "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "requires": { "safe-buffer": "^5.0.1" } @@ -3909,21 +4732,21 @@ "dev": true }, "ejs": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", - "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.2.tgz", + "integrity": "sha512-PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q==", "dev": true }, "electron-to-chromium": { - "version": "1.3.96", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.96.tgz", - "integrity": "sha512-ZUXBUyGLeoJxp4Nt6G/GjBRLnyz8IKQGexZ2ndWaoegThgMGFO1tdDYID5gBV32/1S83osjJHyfzvanE/8HY4Q==", + "version": "1.3.245", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.245.tgz", + "integrity": "sha512-W1Tjm8VhabzYmiqLUD/sT/KTKkvZ8QpSkbTfLELBrFdnrolfkCgcbxFE3NXAxL5xedWXF74wWn0j6oVrgBdemw==", "dev": true }, "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", + "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -3935,6 +4758,12 @@ "minimalistic-crypto-utils": "^1.0.0" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -3968,10 +4797,9 @@ } }, "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, "errno": { "version": "0.1.7", @@ -3993,19 +4821,18 @@ } }, "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "es-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", - "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", - "dev": true, + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz", + "integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==", "requires": { "es-to-primitive": "^1.1.1", "function-bind": "^1.1.1", @@ -4018,11 +4845,17 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" + }, + "dependencies": { + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + } } }, "es6-object-assign": { @@ -4040,9 +4873,9 @@ } }, "es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, "es6-promise-polyfill": { @@ -4051,9 +4884,9 @@ "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" }, "es6-promisify": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.1.tgz", - "integrity": "sha512-J3ZkwbEnnO+fGAKrjVpeUAnZshAdfZvbhQpqfIH9kSAspReRC4nJnu8ewm55b4y9ElyeuhCTzJD0XiH8Tsbhlw==" + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.2.tgz", + "integrity": "sha512-eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg==" }, "escape-html": { "version": "1.0.3", @@ -4067,9 +4900,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", - "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", "requires": { "esprima": "^3.1.3", "estraverse": "^4.2.0", @@ -4101,54 +4934,66 @@ } }, "eslint": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.12.1.tgz", - "integrity": "sha512-54NV+JkTpTu0d8+UYSA8mMKAG4XAsaOrozA9rCW7tgneg1mevcL7wIotPC+fZ0SkWwdhNqoXoxnQCTBp7UvTsg==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.2.2.tgz", + "integrity": "sha512-mf0elOkxHbdyGX1IJEUsNBzCDdyoUgljF3rRlgfyYh0pwGnreLc0jjD6ZuleOibjmnUWZLY2eXwSooeOgGJ2jw==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "ajv": "^6.5.3", + "ajv": "^6.10.0", "chalk": "^2.1.0", "cross-spawn": "^6.0.5", "debug": "^4.0.1", - "doctrine": "^2.1.0", - "eslint-scope": "^4.0.0", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.0", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.2", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.1", "esquery": "^1.0.1", "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", + "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", + "glob-parent": "^5.0.0", "globals": "^11.7.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^6.1.0", - "js-yaml": "^3.12.0", + "inquirer": "^6.4.1", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", - "lodash": "^4.17.5", + "lodash": "^4.17.14", "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", "progress": "^2.0.0", "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.0.2", - "text-table": "^0.2.0" + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "dependencies": { + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "ansi-styles": { @@ -4181,15 +5026,15 @@ } }, "globals": { - "version": "11.10.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.10.0.tgz", - "integrity": "sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "progress": { @@ -4198,15 +5043,27 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -4219,9 +5076,9 @@ } }, "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -4229,17 +5086,25 @@ } }, "eslint-utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", - "dev": true + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.0.0" + } }, "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", "dev": true }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" + }, "esmangle": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/esmangle/-/esmangle-1.0.1.tgz", @@ -4324,14 +5189,22 @@ } }, "espree": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.0.tgz", - "integrity": "sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz", + "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==", "dev": true, "requires": { - "acorn": "^6.0.2", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" + "acorn": "^7.0.0", + "acorn-jsx": "^5.0.2", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz", + "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==", + "dev": true + } } }, "esprima": { @@ -4397,9 +5270,9 @@ "dev": true }, "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", "dev": true }, "events": { @@ -4428,13 +5301,13 @@ } }, "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "requires": { "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", @@ -4507,47 +5380,53 @@ } }, "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "dev": true, "requires": { - "accepts": "~1.3.5", + "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", "content-type": "~1.0.4", - "cookie": "0.3.1", + "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.1.1", + "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "dependencies": { - "array-flatten": { + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "setprototypeof": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true } } @@ -4580,9 +5459,9 @@ } }, "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "requires": { "chardet": "^0.7.0", @@ -4656,15 +5535,73 @@ } }, "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz", + "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=", "dev": true, "requires": { - "concat-stream": "1.6.2", + "concat-stream": "1.6.0", "debug": "2.6.9", - "mkdirp": "0.5.1", + "mkdirp": "0.5.0", "yauzl": "2.4.1" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "extsprintf": { @@ -4696,12 +5633,6 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, "faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", @@ -4736,42 +5667,66 @@ } }, "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "^2.0.1" } }, "file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.2.0.tgz", + "integrity": "sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ==", "dev": true, "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" + "loader-utils": "^1.2.3", + "schema-utils": "^2.0.0" }, "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.1.0.tgz", + "integrity": "sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw==", "dev": true, "requires": { "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } } } }, "file-saver": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.0.tgz", - "integrity": "sha512-cYM1ic5DAkg25pHKgi5f10ziAM7RJU37gaH1XQlyNDrtUnzhC/dfoV9zf2OmF0RMKi42jG5B0JWBnPQqyj/G6g==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz", + "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==" }, "file-sync-cmp": { "version": "0.1.1", @@ -4820,38 +5775,56 @@ } }, "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" } }, "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^3.0.0" } }, "findup-sync": { @@ -4879,64 +5852,47 @@ } }, "flat-cache": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", - "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "requires": { - "circular-json": "^0.3.1", - "graceful-fs": "^4.1.2", - "rimraf": "~2.6.2", - "write": "^0.2.1" - } - }, - "flush-write-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", - "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" + "glob": "^7.1.3" } } } }, - "follow-redirects": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", - "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", "requires": { "debug": "=3.1.0" }, @@ -4945,7 +5901,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -4966,15 +5921,6 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -5021,38 +5967,6 @@ "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "fs-extra": { @@ -5085,14 +5999,14 @@ "dev": true }, "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", "dev": true, "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" }, "dependencies": { "abbrev": { @@ -5104,7 +6018,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -5113,7 +6028,7 @@ "optional": true }, "are-we-there-yet": { - "version": "1.1.4", + "version": "1.1.5", "bundled": true, "dev": true, "optional": true, @@ -5125,19 +6040,21 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "chownr": { - "version": "1.0.1", + "version": "1.1.1", "bundled": true, "dev": true, "optional": true @@ -5145,17 +6062,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -5164,16 +6084,16 @@ "optional": true }, "debug": { - "version": "2.6.9", + "version": "4.1.1", "bundled": true, "dev": true, "optional": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "deep-extend": { - "version": "0.5.1", + "version": "0.6.0", "bundled": true, "dev": true, "optional": true @@ -5222,7 +6142,7 @@ } }, "glob": { - "version": "7.1.2", + "version": "7.1.3", "bundled": true, "dev": true, "optional": true, @@ -5242,12 +6162,12 @@ "optional": true }, "iconv-lite": { - "version": "0.4.21", + "version": "0.4.24", "bundled": true, "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { @@ -5272,7 +6192,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -5284,6 +6205,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -5298,6 +6220,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5305,19 +6228,21 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { - "version": "2.2.4", + "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { - "version": "1.1.0", + "version": "1.2.1", "bundled": true, "dev": true, "optional": true, @@ -5329,40 +6254,41 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } }, "ms": { - "version": "2.0.0", + "version": "2.1.1", "bundled": true, "dev": true, "optional": true }, "needle": { - "version": "2.2.0", + "version": "2.3.0", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", + "debug": "^4.1.0", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.10.0", + "version": "0.12.0", "bundled": true, "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", - "needle": "^2.2.0", + "needle": "^2.2.1", "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", - "rc": "^1.1.7", + "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", "tar": "^4" @@ -5379,13 +6305,13 @@ } }, "npm-bundled": { - "version": "1.0.3", + "version": "1.0.6", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.1.10", + "version": "1.4.1", "bundled": true, "dev": true, "optional": true, @@ -5409,7 +6335,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -5421,6 +6348,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -5460,12 +6388,12 @@ "optional": true }, "rc": { - "version": "1.2.7", + "version": "1.2.8", "bundled": true, "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -5495,18 +6423,19 @@ } }, "rimraf": { - "version": "2.6.2", + "version": "2.6.3", "bundled": true, "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { - "version": "5.1.1", + "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -5521,7 +6450,7 @@ "optional": true }, "semver": { - "version": "5.5.0", + "version": "5.7.0", "bundled": true, "dev": true, "optional": true @@ -5542,6 +6471,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -5561,6 +6491,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -5572,17 +6503,17 @@ "optional": true }, "tar": { - "version": "4.4.1", + "version": "4.4.8", "bundled": true, "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", + "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.2" } }, @@ -5593,30 +6524,32 @@ "optional": true }, "wide-align": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { - "version": "3.0.2", + "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -5635,6 +6568,18 @@ "xregexp": "2.0.0" }, "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, "xregexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", @@ -5646,8 +6591,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -5699,9 +6643,9 @@ } }, "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", "dev": true, "requires": { "globule": "^1.0.0" @@ -5725,53 +6669,79 @@ "dev": true }, "get-stream": { - "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-uri": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz", - "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, "requires": { - "data-uri-to-buffer": "1", - "debug": "2", - "extend": "3", - "file-uri-to-path": "1", - "ftp": "~0.3.10", - "readable-stream": "2" + "pump": "^3.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "get-uri": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.3.tgz", + "integrity": "sha512-x5j6Ks7FOgLD/GlvjKwgu7wdmMR55iuRHhn8hj/+gA+eSbxQvZ+AEomq+3MgVEZj1vpi738QahGbCCSIDtXtkw==", + "dev": true, + "requires": { + "data-uri-to-buffer": "2", + "debug": "4", + "extend": "~3.0.2", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "3" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + }, "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } } } @@ -5798,9 +6768,9 @@ } }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -5812,24 +6782,12 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", + "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, "global": { @@ -5875,20 +6833,20 @@ } }, "globule": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", - "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", + "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.10", + "lodash": "~4.17.4", "minimatch": "~3.0.2" } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "growl": { @@ -5899,9 +6857,9 @@ "optional": true }, "grunt": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz", - "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz", + "integrity": "sha512-PYsMOrOC+MsdGEkFVwMaMyc6Ob7pKmq+deg1Sjr+vvMWp35sztfwKE7qoN51V+UEtHsyNuMcGdgMLFkBHvMxHQ==", "dev": true, "requires": { "coffeescript": "~1.10.0", @@ -5915,7 +6873,7 @@ "grunt-legacy-log": "~2.0.0", "grunt-legacy-util": "~1.1.1", "iconv-lite": "~0.4.13", - "js-yaml": "~3.5.2", + "js-yaml": "~3.13.0", "minimatch": "~3.0.2", "mkdirp": "~0.5.1", "nopt": "~3.0.6", @@ -5923,12 +6881,6 @@ "rimraf": "~2.6.2" }, "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, "glob": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", @@ -5956,13 +6908,13 @@ } }, "js-yaml": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", - "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { - "argparse": "^1.0.2", - "esprima": "^2.6.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "resolve": { @@ -6000,21 +6952,27 @@ } }, "grunt-concurrent": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-2.3.1.tgz", - "integrity": "sha1-Hj2zjM71o9oRleYdYx/n4yE0TSM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-3.0.0.tgz", + "integrity": "sha512-AgXtjUJESHEGeGX8neL3nmXBTHSj1QC48ABQ3ng2/vjuSBpDD8gKcVHSlXP71pFkIR8TQHf+eomOx6OSYSgfrA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "async": "^1.2.1", - "indent-string": "^2.0.0", - "pad-stream": "^1.0.0" + "arrify": "^2.0.1", + "async": "^3.1.0", + "indent-string": "^4.0.0", + "pad-stream": "^2.0.0" }, "dependencies": { "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.1.0.tgz", + "integrity": "sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true } } @@ -6056,17 +7014,6 @@ "file-sync-cmp": "^0.1.0" } }, - "grunt-contrib-jshint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz", - "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=", - "dev": true, - "requires": { - "chalk": "^1.1.1", - "hooker": "^0.2.3", - "jshint": "~2.9.4" - } - }, "grunt-contrib-watch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz", @@ -6077,16 +7024,27 @@ "gaze": "^1.1.0", "lodash": "^4.17.10", "tiny-lr": "^1.1.1" + }, + "dependencies": { + "async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "dev": true, + "requires": { + "lodash": "^4.17.11" + } + } } }, "grunt-eslint": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-21.0.0.tgz", - "integrity": "sha512-HJocD9P35lpCvy6pPPCTgzBavzckrT1nt7lpqV55Vy8E6LQJv4RortXoH1jJTYhO5DYY7RPATv7Uc4383PUYqQ==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-22.0.0.tgz", + "integrity": "sha512-I7vIU4x/mb20fmA6TAmLx6Wzn7mfs8ZXeuk7LbP2ujKVFV7KZmJ3qXUyqe2wnD+v/74Rs5uYOZrLL8EoBmlG9Q==", "dev": true, "requires": { "chalk": "^2.1.0", - "eslint": "^5.0.0" + "eslint": "^6.0.1" }, "dependencies": { "ansi-styles": { @@ -6099,9 +7057,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -6126,17 +7084,6 @@ "integrity": "sha512-cgAlreXf3muSYS5LzW0Cc4xHK03BjFOYk0MqCQ/MZ3k1Xz2GU7D+IAJg4UKicxpO+XdONJdx/NJ6kpy2wI+uHg==", "dev": true }, - "grunt-jsdoc": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/grunt-jsdoc/-/grunt-jsdoc-2.3.0.tgz", - "integrity": "sha512-gC66TCRXeQMj3HIyqVSBJm8zdUz43e5vaG/PLO/627A1edbJnzxhJV7nF0KqLwMM0RDNu1istC6fvfnYqFKi3w==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.5", - "jsdoc": "~3.5.5", - "marked": "^0.5.0" - } - }, "grunt-known-options": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", @@ -6183,9 +7130,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -6227,6 +7174,12 @@ } } }, + "grunt-retro": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/grunt-retro/-/grunt-retro-0.6.4.tgz", + "integrity": "sha1-8mqEj2pHl6X/foUOYCIMDea+jnI=", + "dev": true + }, "grunt-webpack": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-3.1.3.tgz", @@ -6237,14 +7190,24 @@ "lodash": "^4.7.0" } }, + "grunt-zip": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/grunt-zip/-/grunt-zip-0.18.2.tgz", + "integrity": "sha512-9o0Fmft+7C9jBqqqQRAbon1Qaz4HHqHpNrDmrWVQy9nxC9/q8budlx+J6y9ZaCs3ioAKIJl7lfXWqoOJCMnXcQ==", + "dev": true, + "requires": { + "grunt-retro": "~0.6.0", + "jszip": "~2.5.0" + } + }, "gzip-size": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz", - "integrity": "sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", "dev": true, "requires": { "duplexer": "^0.1.1", - "pify": "^3.0.0" + "pify": "^4.0.1" } }, "handle-thing": { @@ -6270,12 +7233,11 @@ } }, "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "requires": { - "function-bind": "^1.1.1" + "function-bind": "^1.0.2" } }, "has-ansi": { @@ -6295,8 +7257,7 @@ "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" }, "has-unicode": { "version": "2.0.1", @@ -6325,6 +7286,12 @@ "kind-of": "^4.0.0" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", @@ -6373,9 +7340,9 @@ "dev": true }, "highlight.js": { - "version": "9.13.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", - "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==" + "version": "9.15.10", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.10.tgz", + "integrity": "sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw==" }, "hmac-drbg": { "version": "1.0.1", @@ -6401,9 +7368,9 @@ "dev": true }, "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", "dev": true }, "hpack.js": { @@ -6416,38 +7383,6 @@ "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "html-encoding-sniffer": { @@ -6478,6 +7413,32 @@ "param-case": "2.1.x", "relateurl": "0.2.x", "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + } + } + } } }, "html-webpack-plugin": { @@ -6497,7 +7458,7 @@ "dependencies": { "json5": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, @@ -6511,43 +7472,15 @@ "emojis-list": "^2.0.0", "json5": "^0.5.0", "object-assign": "^4.0.1" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - } } } } }, "html_codesniffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/html_codesniffer/-/html_codesniffer-2.2.0.tgz", - "integrity": "sha512-xG6E3g2V/huu/WwRcrX3AFRmAUFkU7PWlgF/QFLtuRitI+NxvJcYTFthb24rB7/mhKE3khSIxB11A8IQTJ2N9w==", - "dev": true, - "requires": { - "grunt": "^1.0.0", - "grunt-contrib-copy": "^1.0.0", - "grunt-contrib-jshint": "^1.0.0", - "grunt-contrib-watch": "^1.0.0", - "load-grunt-tasks": "^3.5.2" - } - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dev": true, - "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - } + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html_codesniffer/-/html_codesniffer-2.4.0.tgz", + "integrity": "sha512-4LU3IaTLS7hMhueYE6a6G+QuwFkIA9S+V9KCXttnJ9YnJ/Kpl+L7R7aH+nohw1jaf0KjaHqQ7Y2uXgsWNIIxQA==", + "dev": true }, "http-deceiver": { "version": "1.2.7", @@ -6565,12 +7498,20 @@ "inherits": "2.0.3", "setprototypeof": "1.1.0", "statuses": ">= 1.4.0 < 2" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "http-proxy": { @@ -6606,15 +7547,15 @@ } }, "http-proxy-middleware": { - "version": "0.18.0", - "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", - "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", "dev": true, "requires": { - "http-proxy": "^1.16.2", + "http-proxy": "^1.17.0", "is-glob": "^4.0.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.9" + "lodash": "^4.17.11", + "micromatch": "^3.1.10" } }, "http-signature": { @@ -6629,18 +7570,18 @@ } }, "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", "dev": true }, "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "dev": true, "requires": { - "agent-base": "^4.1.0", + "agent-base": "^4.3.0", "debug": "^3.1.0" }, "dependencies": { @@ -6654,9 +7595,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -6689,26 +7630,24 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, "icss-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.0.0.tgz", - "integrity": "sha512-bA/xGiwWM17qjllIs9X/y0EjsB7e0AV08F3OL8UPsoNkNRibIuu8f1eKTnQ8QO1DteKKTxTUAn+IEWUToIwGOA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", "dev": true, "requires": { - "postcss": "^7.0.5" + "postcss": "^7.0.14" } }, + "idb-keyval": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-3.2.0.tgz", + "integrity": "sha512-slx8Q6oywCCSfKgPgL0sEsXtPVnSbTLWpyiDcu6msHOyKOLari1TD1qocXVCft80umnkk3/Qqh3lwoFt8T/BPQ==" + }, "ieee754": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", @@ -6726,12 +7665,6 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "image-size": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", - "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", - "dev": true - }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -6742,9 +7675,9 @@ } }, "import-fresh": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", - "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -6776,60 +7709,6 @@ "requires": { "pkg-dir": "^3.0.0", "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } } }, "imports-loader": { @@ -6863,10 +7742,16 @@ "repeating": "^2.0.0" } }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, "inflight": { @@ -6880,9 +7765,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "ini": { @@ -6891,20 +7776,10 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, - "ink-docstrap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ink-docstrap/-/ink-docstrap-1.3.2.tgz", - "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", - "dev": true, - "requires": { - "moment": "^2.14.1", - "sanitize-html": "^1.13.0" - } - }, "inquirer": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", - "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dev": true, "requires": { "ansi-escapes": "^3.2.0", @@ -6913,19 +7788,19 @@ "cli-width": "^2.0.0", "external-editor": "^3.0.3", "figures": "^2.0.0", - "lodash": "^4.17.11", + "lodash": "^4.17.12", "mute-stream": "0.0.7", "run-async": "^2.2.0", "rxjs": "^6.4.0", "string-width": "^2.1.0", - "strip-ansi": "^5.0.0", + "strip-ansi": "^5.1.0", "through": "^2.3.6" }, "dependencies": { "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "ansi-styles": { @@ -6949,12 +7824,12 @@ } }, "strip-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", - "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^4.0.0" + "ansi-regex": "^4.1.0" } }, "supports-color": { @@ -6969,13 +7844,13 @@ } }, "internal-ip": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", - "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", "dev": true, "requires": { - "default-gateway": "^2.6.0", - "ipaddr.js": "^1.5.2" + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" } }, "invariant": { @@ -7005,9 +7880,15 @@ "dev": true }, "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.1.tgz", + "integrity": "sha512-c2QjUwuMxLsld90sj3xYzpFYWJtuxkIn1f5ua9RTEYJt/vV2IsM+Py00/6qjV7qExgifUvt7qfyBGBBKm+2iBg==", "dev": true }, "is-accessor-descriptor": { @@ -7019,6 +7900,12 @@ "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -7030,6 +7917,11 @@ } } }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -7046,10 +7938,9 @@ } }, "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" }, "is-builtin-module": { "version": "1.0.0", @@ -7061,9 +7952,9 @@ } }, "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" }, "is-data-descriptor": { "version": "0.1.4", @@ -7074,6 +7965,12 @@ "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -7088,8 +7985,7 @@ "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, "is-descriptor": { "version": "0.1.6", @@ -7149,9 +8045,9 @@ "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" }, "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -7166,6 +8062,12 @@ "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -7187,29 +8089,35 @@ } }, "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true }, "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "^2.1.0" } }, "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "^1.0.2" } }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -7229,7 +8137,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, "requires": { "has": "^1.0.1" } @@ -7244,7 +8151,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, "requires": { "has-symbols": "^1.0.0" } @@ -7258,8 +8164,7 @@ "is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" }, "is-utf8": { "version": "0.2.1", @@ -7315,72 +8220,33 @@ "dev": true }, "jimp": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.6.0.tgz", - "integrity": "sha512-RYpN+AAlTEMf8Bnkhq2eeTNyr70rDK/2UUfUqzBJmwmZwdR6fxRJvgbCGWT1BDVRxaAqo+4CWm8ePBxOIsr4jg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.6.4.tgz", + "integrity": "sha512-WQVMoNhkcq/fgthZOWeMdIguCVPg+t4PDFfSxvbNcrECwl8eq3/Ou2whcFWWjyW45m43yAJEY2UT7acDKl6uSQ==", "requires": { "@babel/polyfill": "^7.0.0", - "@jimp/custom": "^0.6.0", - "@jimp/plugins": "^0.6.0", - "@jimp/types": "^0.6.0", + "@jimp/custom": "^0.6.4", + "@jimp/plugins": "^0.6.4", + "@jimp/types": "^0.6.4", "core-js": "^2.5.7" - } - }, - "jison": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.13.tgz", - "integrity": "sha1-kEFwfWIkE2f1iDRTK58ZwsNvrHg=", - "requires": { - "JSONSelect": "0.4.0", - "cjson": "~0.2.1", - "ebnf-parser": "~0.1.9", - "escodegen": "0.0.21", - "esprima": "1.0.x", - "jison-lex": "0.2.x", - "lex-parser": "~0.1.3", - "nomnom": "1.5.2" }, "dependencies": { - "escodegen": { - "version": "0.0.21", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz", - "integrity": "sha1-U9ZSz6EDA4gnlFilJmxf/HCcY8M=", - "requires": { - "esprima": "~1.0.2", - "estraverse": "~0.0.4", - "source-map": ">= 0.1.2" - } - }, - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=" - }, - "estraverse": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz", - "integrity": "sha1-AaCTLf7ldGhKWYr1pnw7+bZCjbI=" + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" } } }, - "jison-lex": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.1.tgz", - "integrity": "sha1-rEuBXozOUTLrErXfz+jXB7iETf4=", - "requires": { - "lex-parser": "0.1.x", - "nomnom": "1.5.2" - } - }, "jpeg-js": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.3.4.tgz", - "integrity": "sha512-6IzjQxvnlT8UlklNmDXIJMWxijULjqGrzgqc0OG7YadZdvm7KPQ1j0ehmQQHckgEWOfgpptzcnWgESovxudpTA==" + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.3.5.tgz", + "integrity": "sha512-hvaExqwmQDS8O9qnZAVDXGWU43Tbu1V0wMZmjROjT11jloSgGICZpscG+P6Nyi1BVAvyu2ARRx8qmEW30sxgdQ==" }, "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", + "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==" }, "js-base64": { "version": "2.5.0", @@ -7394,9 +8260,9 @@ "integrity": "sha1-9yxcdhgXa/91zIEqHO2949jraDk=" }, "js-levenshtein": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.4.tgz", - "integrity": "sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", "dev": true }, "js-sha3": { @@ -7410,89 +8276,15 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, - "js2xmlparser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", - "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", - "dev": true, - "requires": { - "xmlcreate": "^1.0.1" - } - }, - "jsdoc": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", - "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==", - "dev": true, - "requires": { - "babylon": "7.0.0-beta.19", - "bluebird": "~3.5.0", - "catharsis": "~0.8.9", - "escape-string-regexp": "~1.0.5", - "js2xmlparser": "~3.0.0", - "klaw": "~2.0.0", - "marked": "~0.3.6", - "mkdirp": "~0.5.1", - "requizzle": "~0.2.1", - "strip-json-comments": "~2.0.1", - "taffydb": "2.6.2", - "underscore": "~1.8.3" - }, - "dependencies": { - "babylon": { - "version": "7.0.0-beta.19", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", - "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==", - "dev": true - }, - "klaw": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", - "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "marked": { - "version": "0.3.19", - "resolved": "http://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", - "dev": true - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", - "dev": true - } - } - }, - "jsdoc-babel": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsdoc-babel/-/jsdoc-babel-0.5.0.tgz", - "integrity": "sha512-PYfTbc3LNTeR8TpZs2M94NLDWqARq0r9gx3SvuziJfmJS7/AeMKvtj0xjzOX0R/4MOVA7/FqQQK7d6U0iEoztQ==", - "dev": true, - "requires": { - "jsdoc-regex": "^1.0.1", - "lodash": "^4.17.10" - } - }, - "jsdoc-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/jsdoc-regex/-/jsdoc-regex-1.0.1.tgz", - "integrity": "sha1-hCRCjVtWOtjFx/vsB5uaiwnI3Po=", - "dev": true - }, "jsdom": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", @@ -7527,6 +8319,12 @@ "xml-name-validator": "^3.0.0" }, "dependencies": { + "abab": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", + "dev": true + }, "acorn": { "version": "5.7.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", @@ -7540,33 +8338,6 @@ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, - "jshint": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.6.tgz", - "integrity": "sha512-KO9SIAKTlJQOM4lE64GQUtGBRpTOuvbrRrSZw3AhUxMNG266nX9hK2cKA4SBhXOj0irJGyNyGSLT62HGOVDEOA==", - "dev": true, - "requires": { - "cli": "~1.0.0", - "console-browserify": "1.1.x", - "exit": "0.1.x", - "htmlparser2": "3.8.x", - "lodash": "~4.17.10", - "minimatch": "~3.0.2", - "phantom": "~4.0.1", - "phantomjs-prebuilt": "~2.1.7", - "shelljs": "0.3.x", - "strip-json-comments": "1.0.x", - "unicode-5.2.0": "^0.7.5" - }, - "dependencies": { - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", - "dev": true - } - } - }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -7598,9 +8369,9 @@ "dev": true }, "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", "dev": true }, "json5": { @@ -7622,13 +8393,12 @@ } }, "jsonpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.0.tgz", - "integrity": "sha1-Rc2dTE0NaCXZC9fkD4PxGCsT3Qc=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz", + "integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==", "requires": { "esprima": "1.2.2", - "jison": "0.4.13", - "static-eval": "2.0.0", + "static-eval": "2.0.2", "underscore": "1.7.0" }, "dependencies": { @@ -7640,11 +8410,11 @@ } }, "jsonwebtoken": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.4.0.tgz", - "integrity": "sha512-coyXjRTCy0pw5WYBpMvWOMN+Kjaik2MwTUIq9cna/W7NpO9E+iYbumZONAz3hcr+tXFJECoQVrtmIoC3Oz0gvg==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", "requires": { - "jws": "^3.1.5", + "jws": "^3.2.2", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", "lodash.isinteger": "^4.0.4", @@ -7652,13 +8422,14 @@ "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.once": "^4.0.0", - "ms": "^2.1.1" + "ms": "^2.1.1", + "semver": "^5.6.0" }, "dependencies": { "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -7675,38 +8446,55 @@ } }, "jsqr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.1.1.tgz", - "integrity": "sha512-FVoMU2ncTyjaOqN/vwvDnZ7jaAVvFzM3LK3vG3jvQZFWJQlAwJ1XTCOgAEKo+4Rkd6ydMXTTvqGV/4w5VunmTw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.2.0.tgz", + "integrity": "sha512-wKcQS9QC2VHGk7aphWCp1RrFyC0CM6fMgC5prZZ2KV/Lk6OKNoCod9IR6bao+yx3KPY0gZFC5dc+h+KFzCI0Wg==" }, "jsrsasign": { "version": "8.0.12", "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-8.0.12.tgz", "integrity": "sha1-Iqu5ZW00owuVMENnIINeicLlwxY=" }, + "jszip": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.5.0.tgz", + "integrity": "sha1-dET9hVHd8+XacZj+oMkbyDCMwnQ=", + "dev": true, + "requires": { + "pako": "~0.2.5" + }, + "dependencies": { + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + } + } + }, "jwa": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz", - "integrity": "sha512-tBO/cf++BUsJkYql/kBbJroKOgHWEigTKBAjjBEmrMGYd1QMBC74Hr4Wo2zCZw6ZrVhlJPvoMrkcOnlWR/DJfw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", "requires": { "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.10", + "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "jws": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", - "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "requires": { - "jwa": "^1.1.5", + "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, "kbpgp": { - "version": "2.0.82", - "resolved": "https://registry.npmjs.org/kbpgp/-/kbpgp-2.0.82.tgz", - "integrity": "sha512-CBcV786ZMOP9FOnpg3ZJC3a++TJb47HPVVkCPpmgSuVS9Cnss+m9j1u/IY9HXzEjys7DTebaoMAzqB05FWPZfg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/kbpgp/-/kbpgp-2.1.3.tgz", + "integrity": "sha512-Bnej67+byG2KUVMzCIQQszANru7+5OSpUOEGwacAmIEYrmC45KtpLQBT9RDgXjIbFc7jblKPiTBpz1wMhbZk4g==", "requires": { "bn": "^1.0.0", "bzip-deflate": "^1.0.0", @@ -7715,11 +8503,11 @@ "iced-lock": "^1.0.2", "iced-runtime": "^1.0.3", "keybase-ecurve": "^1.0.0", - "keybase-nacl": "^1.0.0", + "keybase-nacl": "^1.1.0", "minimist": "^1.2.0", "pgp-utils": ">=0.0.34", "purepack": ">=1.0.4", - "triplesec": ">=3.0.27", + "triplesec": "^4.0.3", "tweetnacl": "^0.13.1" } }, @@ -7738,9 +8526,9 @@ } }, "keybase-nacl": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/keybase-nacl/-/keybase-nacl-1.0.10.tgz", - "integrity": "sha1-OGWDHpSBUWSI33y9mJRn6VDYeos=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/keybase-nacl/-/keybase-nacl-1.1.1.tgz", + "integrity": "sha512-w5mFuwy/QPHou5apJBXqfG/QBoKG62F3FNf7FdSNFO42/atiEy4YT3jKQ7rfGc5cxnE+L+JcFaAaMGXdJ8QMeQ==", "requires": { "iced-runtime": "^1.0.2", "tweetnacl": "^0.13.1", @@ -7792,15 +8580,23 @@ "type-check": "~0.3.2" } }, - "lex-parser": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz", - "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA=" + "libbzip2-wasm": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/libbzip2-wasm/-/libbzip2-wasm-0.0.4.tgz", + "integrity": "sha512-RqscTx95+RTKhFAyjedsboR0Lmo3zd8//EuRwQXkdWmsCwYlzarVRaiYg6kS1O8m10MCQkGdrnlK9L4eAmZUwA==" }, "libyara-wasm": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/libyara-wasm/-/libyara-wasm-0.0.12.tgz", - "integrity": "sha512-AjTe4FiBuH4F7HwGT/3UxoRenczXtrbM6oWGrifxb44LrkDh5VxRNg9zwfPpDA5Fcc1iYcXS0WVA/b3DGtD8cQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/libyara-wasm/-/libyara-wasm-1.0.1.tgz", + "integrity": "sha512-Vq0EcQ3HRJinFxxb00JZpjyX8NCerazVhSf3+TVt1c21T3pcEJJ3RkanAwT71lW6CCmmmKuNU4QwqsinmR6pKQ==" + }, + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "requires": { + "uc.micro": "^1.0.1" + } }, "livereload-js": { "version": "2.4.0", @@ -7830,18 +8626,6 @@ } } }, - "load-grunt-tasks": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz", - "integrity": "sha1-ByhWEYD9IP+KaSdQWFL8WKrqDIg=", - "dev": true, - "requires": { - "arrify": "^1.0.0", - "multimatch": "^2.0.0", - "pkg-up": "^1.0.0", - "resolve-pkg": "^0.1.0" - } - }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -7864,9 +8648,9 @@ } }, "loader-runner": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz", - "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true }, "loader-utils": { @@ -7880,12 +8664,6 @@ "json5": "^0.5.0" }, "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, "json5": { "version": "0.5.1", "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", @@ -7895,19 +8673,19 @@ } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "^2.0.0", + "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash._arraycopy": { "version": "3.0.0", @@ -7975,12 +8753,6 @@ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", "dev": true }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, "lodash.clone": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz", @@ -7992,28 +8764,10 @@ "lodash._isiterateecall": "^3.0.0" } }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, "lodash.defaultsdeep": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz", - "integrity": "sha1-vsECT4WxvZbL6kBbI8FK1kQ6b4E=", - "dev": true - }, - "lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", "dev": true }, "lodash.includes": { @@ -8076,15 +8830,9 @@ } }, "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", - "dev": true - }, - "lodash.mergewith": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", - "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lodash.once": { @@ -8098,22 +8846,10 @@ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "dev": true - }, - "lodash.unescape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", - "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", - "dev": true - }, "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=" + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.3.tgz", + "integrity": "sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==" }, "loglevel-message-prefix": { "version": "3.0.0", @@ -8130,11 +8866,11 @@ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -8154,23 +8890,20 @@ "dev": true }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true }, "map-age-cleaner": { "version": "0.1.3", @@ -8202,11 +8935,17 @@ "object-visit": "^1.0.0" } }, - "marked": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.5.1.tgz", - "integrity": "sha512-iUkBZegCZou4AdwbKTwSW/lNDcz5OuRSl3qdcl31Ia0B2QPG0Jn+tKblh/9/eP9/6+4h27vpoh8wel/vQOV0vw==", - "dev": true + "markdown-it": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-9.1.0.tgz", + "integrity": "sha512-xHKG4C8iPriyfu/jc2hsCC045fKrMQ0VexX2F1FGYiRxDxqMB2aAhF8WauJ3fltn2kb90moGBkiiEdooGIg55w==", + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } }, "md5.js": { "version": "1.3.5", @@ -8219,6 +8958,11 @@ "safe-buffer": "^5.1.2" } }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -8226,14 +8970,22 @@ "dev": true }, "mem": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", - "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "dev": true, "requires": { "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^1.1.0" + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + } } }, "memory-fs": { @@ -8244,38 +8996,6 @@ "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "meow": { @@ -8340,32 +9060,26 @@ } }, "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true }, "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", "dev": true }, "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", "dev": true, "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.40.0" } }, - "mimer": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/mimer/-/mimer-0.3.2.tgz", - "integrity": "sha512-N6NcgDQAevhP/02DQ/epK6daLy4NKrIHyTlJcO6qBiYn98q+Y4a/knNsAATCe1xLS2F0nEmJp+QYli2s8vKwyQ==", - "dev": true - }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", @@ -8381,12 +9095,13 @@ } }, "mini-css-extract-plugin": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz", - "integrity": "sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz", + "integrity": "sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==", "dev": true, "requires": { "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", "schema-utils": "^1.0.0", "webpack-sources": "^1.1.0" }, @@ -8427,7 +9142,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "mississippi": { @@ -8461,9 +9176,9 @@ } }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -8481,24 +9196,6 @@ } } }, - "mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dev": true, - "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true - } - } - }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -8509,7 +9206,7 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } @@ -8557,6 +9254,13 @@ "ms": "2.0.0" } }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "optional": true + }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -8592,14 +9296,14 @@ } }, "moment": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz", - "integrity": "sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA==" + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" }, "moment-timezone": { - "version": "0.5.23", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.23.tgz", - "integrity": "sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w==", + "version": "0.5.26", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.26.tgz", + "integrity": "sha512-sFP4cgEKTCymBBKgoxZjYzlSovC20Y6J7y3nanDc5RoBIXKlZhoYwBoZGe3flwU6A372AcRwScH8KiwV6zjy1g==", "requires": { "moment": ">= 2.9.0" } @@ -8660,18 +9364,6 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "multimatch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", - "dev": true, - "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" - } - }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -8679,10 +9371,11 @@ "dev": true }, "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", - "dev": true + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true }, "nanomatch": { "version": "1.2.13", @@ -8716,15 +9409,15 @@ "dev": true }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true }, "neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, "netmask": { @@ -8745,33 +9438,23 @@ "dev": true }, "nightwatch": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.0.18.tgz", - "integrity": "sha512-BKosRh/QqpCCMxjnfP+gb8KMQV0y//TNdYDjB0RrU1pXgx2Xjyp46bK8tQWRFfqaxWDj5EKYFIPgvxFBXodIOA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.2.1.tgz", + "integrity": "sha512-y9ihK6Xmo6A32B6zG4XlWumF5f6gIE5QQP54o4PHpnjC4+CA9xwVMtXZL6QlnNYlqS0n34Pk/wpvKL2znjCh0g==", "dev": true, "requires": { "assertion-error": "^1.1.0", - "chai-nightwatch": "0.2.1", + "chai-nightwatch": "^0.3.0", + "dotenv": "7.0.0", "ejs": "^2.5.9", - "lodash.clone": "^3.0.3", - "lodash.defaultsdeep": "^4.6.0", - "lodash.merge": "^4.6.1", - "minimatch": "3.0.3", + "lodash.clone": "3.0.3", + "lodash.defaultsdeep": "^4.6.1", + "lodash.merge": "^4.6.2", + "minimatch": "3.0.4", "mkpath": "1.0.0", - "mocha": "^5.1.1", + "mocha": "^5.2.0", "optimist": "^0.6.1", "proxy-agent": "^3.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", - "dev": true, - "requires": { - "brace-expansion": "^1.0.0" - } - } } }, "no-case": { @@ -8783,10 +9466,15 @@ "lower-case": "^1.1.1" } }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, "node-forge": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", - "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz", + "integrity": "sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ==" }, "node-gyp": { "version": "3.8.0", @@ -8830,29 +9518,12 @@ "timers-browserify": "2.0.2", "url": "^0.11.0", "websocket-stream": "^5.0.1" - }, - "dependencies": { - "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.2", - "resolved": "http://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz", - "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - } } }, "node-libs-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { "assert": "^1.1.1", @@ -8862,10 +9533,10 @@ "constants-browserify": "^1.0.0", "crypto-browserify": "^3.11.0", "domain-browser": "^1.1.1", - "events": "^1.0.0", + "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", + "path-browserify": "0.0.1", "process": "^0.11.10", "punycode": "^1.2.4", "querystring-es3": "^0.2.0", @@ -8876,14 +9547,20 @@ "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", "url": "^0.11.0", - "util": "^0.10.3", - "vm-browserify": "0.0.4" + "util": "^0.11.0", + "vm-browserify": "^1.0.1" }, "dependencies": { - "isarray": { + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "https-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, "punycode": { @@ -8892,39 +9569,28 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true }, "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" + } + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" } } } @@ -8935,18 +9601,18 @@ "integrity": "sha1-9WH0WyszY1K4KXbFHMoRR9U5N/U=" }, "node-releases": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.3.tgz", - "integrity": "sha512-6VrvH7z6jqqNFY200kdB6HdzkgM96Oaj9v3dqGfgp6mF+cHmU4wyQKZ2/WPDRVoR0Jz9KqbamaBN0ZhdUaysUQ==", + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.29.tgz", + "integrity": "sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ==", "dev": true, "requires": { "semver": "^5.3.0" } }, "node-sass": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz", - "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz", + "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -8956,12 +9622,10 @@ "get-stdin": "^4.0.1", "glob": "^7.0.3", "in-publish": "^2.0.0", - "lodash.assign": "^4.2.0", - "lodash.clonedeep": "^4.3.2", - "lodash.mergewith": "^4.6.0", + "lodash": "^4.17.11", "meow": "^3.7.0", "mkdirp": "^0.5.1", - "nan": "^2.10.0", + "nan": "^2.13.2", "node-gyp": "^3.8.0", "npmlog": "^4.0.0", "request": "^2.88.0", @@ -8979,29 +9643,19 @@ "lru-cache": "^4.0.1", "which": "^1.2.9" } + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true } } }, - "nomnom": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", - "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=", - "requires": { - "colors": "0.5.x", - "underscore": "1.1.x" - }, - "dependencies": { - "colors": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", - "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=" - }, - "underscore": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", - "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=" - } - } + "nodom": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nodom/-/nodom-2.2.0.tgz", + "integrity": "sha512-+W3jlsobV3NNkO15xQXkWoboeq1RPa/SKi8NMHmWF33SCMX4ALcM5dpPLEnUs69Gu+uZoCX9wcWXy866LXvd8w==" }, "nopt": { "version": "3.0.6", @@ -9039,6 +9693,18 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, "notepack.io": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/notepack.io/-/notepack.io-2.2.0.tgz", @@ -9092,9 +9758,9 @@ "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==" }, "nwsapi": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz", - "integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz", + "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==", "dev": true }, "oauth-sign": { @@ -9129,6 +9795,12 @@ "is-descriptor": "^0.1.0" } }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -9140,11 +9812,15 @@ } } }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=" + }, "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-visit": { "version": "1.0.1", @@ -9155,6 +9831,18 @@ "isobject": "^3.0.0" } }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, "object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", @@ -9218,6 +9906,11 @@ "mimic-fn": "^1.0.0" } }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" + }, "opener": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", @@ -9337,39 +10030,48 @@ "dev": true }, "p-is-promise": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", "dev": true }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.0.0" } }, "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "pac-proxy-agent": { @@ -9389,9 +10091,9 @@ }, "dependencies": { "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "dev": true }, "debug": { @@ -9403,32 +10105,42 @@ "ms": "^2.1.1" } }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true } } }, @@ -9446,15 +10158,13 @@ } }, "pad-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pad-stream/-/pad-stream-1.2.0.tgz", - "integrity": "sha1-Yx3Mn3mBC3BZZeid7eps/w/B38k=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pad-stream/-/pad-stream-2.0.0.tgz", + "integrity": "sha1-O+vzTNpJWXISpmny/kF9ZGp8ulY=", "dev": true, "requires": { - "meow": "^3.0.0", "pumpify": "^1.3.3", - "repeating": "^2.0.0", - "split2": "^1.0.0", + "split2": "^2.1.1", "through2": "^2.0.0" } }, @@ -9472,38 +10182,6 @@ "cyclist": "~0.2.2", "inherits": "^2.0.3", "readable-stream": "^2.1.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "param-case": { @@ -9516,25 +10194,26 @@ } }, "parent-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz", - "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" } }, "parse-asn1": { - "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", - "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", "dev": true, "requires": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, "parse-bmfont-ascii": { @@ -9557,12 +10236,12 @@ } }, "parse-headers": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", - "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", + "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", "requires": { - "for-each": "^0.3.2", - "trim": "0.0.1" + "for-each": "^0.3.3", + "string.prototype.trim": "^1.1.2" } }, "parse-json": { @@ -9581,9 +10260,9 @@ "dev": true }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, "pascalcase": { @@ -9593,9 +10272,9 @@ "dev": true }, "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-dirname": { @@ -9685,26 +10364,14 @@ "dev": true }, "pgp-utils": { - "version": "0.0.34", - "resolved": "https://registry.npmjs.org/pgp-utils/-/pgp-utils-0.0.34.tgz", - "integrity": "sha1-2E9J98GTteC5QV9cxcKmle15DCM=", + "version": "0.0.35", + "resolved": "https://registry.npmjs.org/pgp-utils/-/pgp-utils-0.0.35.tgz", + "integrity": "sha512-gCT6EbSTgljgycVa5qGpfRITaLOLbIKsEVRTdsNRgmLMAJpuJNNdrTn/95r8IWo9rFLlccfmGMJXkG9nVDwmrA==", "requires": { "iced-error": ">=0.0.8", "iced-runtime": ">=0.0.1" } }, - "phantom": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/phantom/-/phantom-4.0.12.tgz", - "integrity": "sha512-Tz82XhtPmwCk1FFPmecy7yRGZG2btpzY2KI9fcoPT7zT9det0CcMyfBFPp1S8DqzsnQnm8ZYEfdy528mwVtksA==", - "dev": true, - "optional": true, - "requires": { - "phantomjs-prebuilt": "^2.1.16", - "split": "^1.0.1", - "winston": "^2.4.0" - } - }, "phantomjs-prebuilt": { "version": "2.1.16", "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", @@ -9728,9 +10395,9 @@ "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pinkie": { @@ -9757,42 +10424,12 @@ } }, "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { - "find-up": "^2.1.0" - } - }, - "pkg-up": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", - "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", - "dev": true, - "requires": { - "find-up": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } + "find-up": "^3.0.0" } }, "pkginfo": { @@ -9801,12 +10438,6 @@ "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=", "dev": true }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true - }, "pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", @@ -9814,19 +10445,19 @@ "dev": true }, "pngjs": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz", - "integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" }, "popper.js": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.6.tgz", - "integrity": "sha512-AGwHGQBKumlk/MDfrSOf0JHhJCImdDMcGNoqKmKkU+68GFazv3CQ6q9r7Ja1sKDZmYWTckY/uLyEznheTDycnA==" + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.15.0.tgz", + "integrity": "sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA==" }, "portfinder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", - "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", + "version": "1.0.23", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.23.tgz", + "integrity": "sha512-B729mL/uLklxtxuiJKfQ84WPxNw5a7Yhx3geQZdcA4GjNjZSTSSMMWyoennMVnTWSmAR0lMdzWYN0JLnHrg1KQ==", "dev": true, "requires": { "async": "^1.5.2", @@ -9859,14 +10490,14 @@ "dev": true }, "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", + "version": "7.0.17", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.17.tgz", + "integrity": "sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==", "dev": true, "requires": { - "chalk": "^2.4.1", + "chalk": "^2.4.2", "source-map": "^0.6.1", - "supports-color": "^5.5.0" + "supports-color": "^6.1.0" }, "dependencies": { "ansi-styles": { @@ -9879,20 +10510,31 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -9901,9 +10543,9 @@ } }, "postcss-css-variables": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.11.0.tgz", - "integrity": "sha512-pjqWnJSy8zoentAhRIph/DiOX0EZmT/dpmVbpdSrCSdkdqstl2ViBlAfIIuHvHI+baTV8Gd+WzsVFjDZqVn4dg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.13.0.tgz", + "integrity": "sha512-gji53rkQx8UcNHpAPgn+kdRs3ZQuPk2Ebo+HDVMIaU4lo9xt7i46X7rvGJDSwR259V1RlPc6vMQdybgsgKtqKA==", "dev": true, "requires": { "escape-string-regexp": "^1.0.3", @@ -9921,9 +10563,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -9966,12 +10608,12 @@ } }, "postcss-load-config": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", - "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", "dev": true, "requires": { - "cosmiconfig": "^4.0.0", + "cosmiconfig": "^5.0.0", "import-cwd": "^2.0.0" } }, @@ -10010,160 +10652,54 @@ } }, "postcss-modules-local-by-default": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.3.tgz", - "integrity": "sha512-jv4CQ8IQ0+TkaAIP7H4kgu/jQbrjte8xU61SYJAIOby+o3H0MGWX6eN1WXUKHccK6/EEjcAERjyIP8MXzAWAbQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", "dev": true, "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^7.0.6", - "postcss-value-parser": "^3.3.1" + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.7.tgz", - "integrity": "sha512-HThWSJEPkupqew2fnuQMEI2YcTj/8gMV3n80cMdJsKxfIh5tHf7nM5JigNX6LxVMqo6zkgQNAI88hyFvBk41Pg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", + "dev": true } } }, "postcss-modules-scope": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.0.1.tgz", - "integrity": "sha512-7+6k9c3/AuZ5c596LJx9n923A/j3nF3ormewYBF1RrIQvjvjXe1xE8V8A1KFyFwXbvnshT6FBZFX0k/F1igneg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", + "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", "dev": true, "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^7.0.6" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.7.tgz", - "integrity": "sha512-HThWSJEPkupqew2fnuQMEI2YcTj/8gMV3n80cMdJsKxfIh5tHf7nM5JigNX6LxVMqo6zkgQNAI88hyFvBk41Pg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" } }, "postcss-modules-values": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", "dev": true, "requires": { - "icss-replace-symbols": "^1.1.0", + "icss-utils": "^4.0.0", "postcss": "^7.0.6" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.7.tgz", - "integrity": "sha512-HThWSJEPkupqew2fnuQMEI2YcTj/8gMV3n80cMdJsKxfIh5tHf7nM5JigNX6LxVMqo6zkgQNAI88hyFvBk41Pg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" } }, "postcss-value-parser": { @@ -10177,6 +10713,12 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, "pretty-error": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", @@ -10200,9 +10742,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "progress": { @@ -10232,13 +10774,13 @@ "dependencies": { "async": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/async/-/async-1.0.0.tgz", "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", "dev": true }, "winston": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.1.1.tgz", + "resolved": "http://registry.npmjs.org/winston/-/winston-2.1.1.tgz", "integrity": "sha1-PJNJ0ZYgf9G9/51LxD73JRDjoS4=", "dev": true, "requires": { @@ -10253,7 +10795,7 @@ "dependencies": { "colors": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "resolved": "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true }, @@ -10268,19 +10810,19 @@ } }, "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", "dev": true, "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "ipaddr.js": "1.9.0" } }, "proxy-agent": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.3.tgz", - "integrity": "sha512-PXVVVuH9tiQuxQltFJVSnXWuDtNr+8aNBP6XVDDCDiUuDN8eRCm+ii4/mFWmXWEA0w8jjJSlePa4LXlM4jIzNA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.0.tgz", + "integrity": "sha512-IkbZL4ClW3wwBL/ABFD2zJ8iP84CY0uKMvBPk/OceQe/cEjrxzN1pMHsLwhbzUoRhG9QbSxYC+Z7LBkTiBNvrA==", "dev": true, "requires": { "agent-base": "^4.2.0", @@ -10303,9 +10845,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -10329,9 +10871,9 @@ "dev": true }, "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.33.tgz", + "integrity": "sha512-LTDP2uSrsc7XCb5lO7A8BI1qYxRe/8EqlRvMeEl6rsnYAqDOl8xHR+8lSAIVfrNaSAlTPTNOCgNjWcoUL3AZsw==", "dev": true }, "public-encrypt": { @@ -10376,9 +10918,9 @@ "dev": true }, "purepack": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/purepack/-/purepack-1.0.4.tgz", - "integrity": "sha1-CGKC/ZOShfWGZLqam7oxzbFlzNI=" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/purepack/-/purepack-1.0.5.tgz", + "integrity": "sha512-Amc1FB7Xyp/qFAHfr6NzrvMgUJ4Qc7dd4TteEBmXtPxxz1iRBUHjMKdgVRqviSIjb3u5yuylWcsijGVbKHfffg==" }, "qr-image": { "version": "3.2.0", @@ -10391,6 +10933,16 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -10404,15 +10956,15 @@ "dev": true }, "querystringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", - "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", "dev": true }, "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" @@ -10429,9 +10981,9 @@ } }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { @@ -10445,12 +10997,12 @@ } }, "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "requires": { - "deep-extend": "^0.6.0", + "deep-extend": "^0.5.1", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -10525,15 +11077,35 @@ } }, "readable-stream": { - "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "readdirp": { @@ -10545,38 +11117,6 @@ "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "redent": { @@ -10596,23 +11136,23 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", - "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", "dev": true, "requires": { "regenerate": "^1.4.0" } }, "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" }, "regenerator-transform": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", - "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", "dev": true, "requires": { "private": "^0.1.6" @@ -10628,6 +11168,20 @@ "safe-regex": "^1.1.0" } }, + "regexp-tree": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.12.tgz", + "integrity": "sha512-TsXZ8+cv2uxMEkLfgwO0E068gsNMLfuYwMMhiUxf0Kw2Vcgzq93vgl6wIlIYuPmfMqMjfQ9zAporiozqCnwLuQ==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "requires": { + "define-properties": "^1.1.2" + } + }, "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", @@ -10635,17 +11189,17 @@ "dev": true }, "regexpu-core": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", - "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz", + "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==", "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^7.0.0", + "regenerate-unicode-properties": "^8.1.0", "regjsgen": "^0.5.0", "regjsparser": "^0.6.0", "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.0.2" + "unicode-match-property-value-ecmascript": "^1.1.0" } }, "regjsgen": { @@ -10787,6 +11341,20 @@ "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" + }, + "dependencies": { + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + } } }, "request-progress": { @@ -10824,12 +11392,6 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", @@ -10842,30 +11404,13 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "requizzle": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", - "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", - "dev": true, - "requires": { - "underscore": "~1.6.0" - }, - "dependencies": { - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - } - } - }, "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "^1.0.6" } }, "resolve-cwd": { @@ -10891,28 +11436,10 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "resolve-pkg": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", - "integrity": "sha1-AsyZNBDik2livZcWahsHfalyVTE=", - "dev": true, - "requires": { - "resolve-from": "^2.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", - "dev": true - } - } - }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "restore-cursor": { "version": "2.0.0", @@ -10930,6 +11457,12 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, "revalidator": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", @@ -10973,10 +11506,15 @@ "aproba": "^1.1.1" } }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, "rxjs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", - "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", + "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -11005,114 +11543,7 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sanitize-html": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.19.1.tgz", - "integrity": "sha512-zNYr6FvBn4bZukr9x2uny6od/9YdjCLwF+FqxivqI0YOt/m9GIxfX+tWhm52tBAPUXiTTb4bJTGVagRz5b06bw==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "htmlparser2": "^3.9.0", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.mergewith": "^4.6.0", - "postcss": "^6.0.14", - "srcset": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "htmlparser2": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", - "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6" - } - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "readable-stream": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", - "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass-graph": { "version": "2.2.4", @@ -11127,17 +11558,60 @@ } }, "sass-loader": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", - "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz", + "integrity": "sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==", "dev": true, "requires": { - "clone-deep": "^2.0.1", - "loader-utils": "^1.0.1", - "lodash.tail": "^4.1.1", - "neo-async": "^2.5.0", - "pify": "^3.0.0", - "semver": "^5.5.0" + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.1.0.tgz", + "integrity": "sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "sax": { @@ -11156,9 +11630,9 @@ } }, "scryptsy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.0.0.tgz", - "integrity": "sha1-Jiw28CMc+nZU4jY/o5TNLexm83g=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", + "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" }, "scss-tokenizer": { "version": "0.2.3", @@ -11207,13 +11681,12 @@ "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, "requires": { "debug": "2.6.9", @@ -11223,26 +11696,51 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, "dependencies": { + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true } } }, "serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.0.tgz", + "integrity": "sha512-UkGlcYMtw4d9w7YfCtJFgdRTps8N4L0A48R+SmcGL57ki1+yHwJXnalk5bjgrw+ljv6SfzjzPjhohod2qllg/Q==", "dev": true }, "serve-index": { @@ -11261,15 +11759,15 @@ } }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.17.1" } }, "set-blocking": { @@ -11279,9 +11777,9 @@ "dev": true }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -11324,22 +11822,12 @@ } }, "shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "kind-of": "^6.0.2" } }, "shebang-command": { @@ -11357,12 +11845,6 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, - "shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", - "dev": true - }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -11370,16 +11852,24 @@ "dev": true }, "sitemap": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-2.1.0.tgz", - "integrity": "sha512-AkfA7RDVCITQo+j5CpXsMJlZ/8ENO2NtgMHYIh+YMvex2Hao/oe3MQgNa03p0aWY6srCfUA1Q02OgiWCAiuccA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-4.1.1.tgz", + "integrity": "sha512-+8yd66IxyIFEMFkFpVoPuoPwBvdiL7Ap/HS5YD7igqO4phkyTPFIprCAE9NMHehAY5ZGN3MkAze4lDrOAX3sVQ==", "dev": true, "requires": { - "lodash": "^4.17.10", - "url-join": "^4.0.0", - "xmlbuilder": "^10.0.0" + "@types/node": "^12.0.2", + "@types/sax": "^1.2.0", + "arg": "^4.1.1", + "sax": "^1.2.4", + "xmlbuilder": "^13.0.0" } }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, "slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", @@ -11403,9 +11893,9 @@ } }, "smart-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", - "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz", + "integrity": "sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==", "dev": true }, "snackbarjs": { @@ -11515,6 +12005,12 @@ "kind-of": "^3.2.0" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -11560,46 +12056,75 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "socks": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.2.tgz", - "integrity": "sha512-g6wjBnnMOZpE0ym6e0uHSddz9p3a+WsBaaYQaBaSCJYvrC4IXykQR9MNGjLQf38e9iIIhp3b1/Zk8YZI3KGJ0Q==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz", + "integrity": "sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==", "dev": true, "requires": { "ip": "^1.1.5", - "smart-buffer": "^4.0.1" + "smart-buffer": "4.0.2" } }, "socks-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", - "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", + "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", "dev": true, "requires": { - "agent-base": "~4.2.0", - "socks": "~2.2.0" + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" } }, "sortablejs": { - "version": "1.8.0-rc1", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.8.0-rc1.tgz", - "integrity": "sha512-umyNbQVDwRgc0SZvUB+FRUIUqACnu5vCCmK0zv/xWA3eDSOh+IZsg3GHdWvEOcUBwnykqyk760+YPgVa8HfxFg==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.9.0.tgz", + "integrity": "sha512-Ot6bYJ6PoqPmpsqQYXjn1+RKrY2NWQvQt/o4jfd/UYwVWndyO5EPO8YHbnm5HIykf8ENsm4JUrdAvolPT86yYA==" }, "source-list-map": { "version": "2.0.1", @@ -11626,9 +12151,9 @@ } }, "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -11668,15 +12193,15 @@ } }, "spdx-license-ids": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", "dev": true }, "spdy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz", - "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", "dev": true, "requires": { "debug": "^4.1.0", @@ -11696,9 +12221,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -11727,15 +12252,15 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "readable-stream": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", - "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -11743,27 +12268,23 @@ "util-deprecate": "^1.0.1" } }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + }, "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } } } }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "optional": true, - "requires": { - "through": "2" - } - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -11774,34 +12295,23 @@ } }, "split.js": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.5.10.tgz", - "integrity": "sha512-/J52X5c4ZypVwu4WAhD8E1T9uXQtNokvG6mIBHauzyA1aKH6bmETVSv3RPjBXEz6Gcc4mIThgmjGQL39LD16jQ==" + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.5.11.tgz", + "integrity": "sha512-ec0sAbWnaMGpNHWo1ZgIlF3Mx7GzSyaO0GlcEBZGIFZQwYPPkbDV6JRpDmpzIshVig7USREuEPudy0ygQaskXg==" }, "split2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/split2/-/split2-1.1.1.tgz", - "integrity": "sha1-Fi2bGIZfAqsvKtlYVSLbm1TEgfk=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", "dev": true, "requires": { - "through2": "~2.0.0" + "through2": "^2.0.2" } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "srcset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz", - "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", - "dev": true, - "requires": { - "array-uniq": "^1.0.2", - "number-is-nan": "^1.0.0" - } + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "ssdeep.js": { "version": "0.0.2", @@ -11855,9 +12365,9 @@ "dev": true }, "static-eval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.0.tgz", - "integrity": "sha512-6flshd3F1Gwm+Ksxq463LtFd1liC77N/PX1FVVc3OzL3hAmo2fwHFbuArkcfi7s9rTNsLEhcRmXGFZhlgy40uw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", "requires": { "escodegen": "^1.8.1" } @@ -11884,9 +12394,9 @@ } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "stdout-stream": { @@ -11999,38 +12509,6 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-shift": { @@ -12039,6 +12517,12 @@ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, "string-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -12072,6 +12556,16 @@ } } }, + "string.prototype.trim": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", + "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.0", + "function-bind": "^1.0.2" + } + }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -12117,23 +12611,48 @@ "dev": true }, "style-loader": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", - "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.0.0.tgz", + "integrity": "sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" + "loader-utils": "^1.2.3", + "schema-utils": "^2.0.1" }, "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.1.0.tgz", + "integrity": "sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw==", "dev": true, "requires": { "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } } @@ -12145,49 +12664,65 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "svg-url-loader": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-2.3.2.tgz", - "integrity": "sha1-3YaybBn+O5FPBOoQ7zlZTq3gRGQ=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-3.0.1.tgz", + "integrity": "sha512-YNC31HokIawsbpqHY1tvjNli/VfgiJlfYR8pFjvJG+zzac11eLfU6q1xt6IhNOdHuuqJw2lsBbch8h99a0mOZA==", "dev": true, "requires": { - "file-loader": "1.1.11", - "loader-utils": "1.1.0" + "file-loader": "4.2.0", + "loader-utils": "1.2.3" }, "dependencies": { - "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", - "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.4.5" + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" } } } }, "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "table": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/table/-/table-5.2.2.tgz", - "integrity": "sha512-f8mJmuu9beQEDkKHLzOv4VxVYlU68NpdzjbGPl69i4Hx0sTopJuNxuzJd17iV2h24dAfa93u794OnDA5jqXvfQ==", + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { - "ajv": "^6.6.1", - "lodash": "^4.17.11", - "slice-ansi": "^2.0.0", - "string-width": "^2.1.1" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" }, "dependencies": { "ajv": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz", - "integrity": "sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -12195,29 +12730,49 @@ "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, - "taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", - "dev": true - }, "tapable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", - "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", "dev": true, "requires": { "block-stream": "*", - "fstream": "^1.0.2", + "fstream": "^1.0.12", "inherits": "2" } }, @@ -12241,103 +12796,41 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "terser": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.14.0.tgz", - "integrity": "sha512-KQC1QNKbC/K1ZUjLIWsezW7wkTJuB4v9ptQQUNOzAPVHuVf2LrwEcB0I9t2HTEYUwAFVGiiS6wc+P4ClLDc5FQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.2.1.tgz", + "integrity": "sha512-cGbc5utAcX4a9+2GGVX4DsenG6v0x3glnDi5hx8816X1McEAwPlPgRtXPJzSBsbpILxZ8MQMT0KvArLuE0HP5A==", "dev": true, "requires": { - "commander": "~2.17.1", + "commander": "^2.20.0", "source-map": "~0.6.1", - "source-map-support": "~0.5.6" + "source-map-support": "~0.5.12" } }, "terser-webpack-plugin": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz", - "integrity": "sha512-GGSt+gbT0oKcMDmPx4SRSfJPE1XaN3kQRWG4ghxKQw9cn5G9x6aCKSsgYdvyM0na9NJ4Drv0RG6jbBByZ5CMjw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", "dev": true, "requires": { - "cacache": "^11.0.2", - "find-cache-dir": "^2.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", + "serialize-javascript": "^1.7.0", "source-map": "^0.6.1", - "terser": "^3.8.1", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "dependencies": { - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -12351,6 +12844,58 @@ } } }, + "tesseract.js": { + "version": "2.0.0-alpha.15", + "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-2.0.0-alpha.15.tgz", + "integrity": "sha512-qM1XUFVlTO+tx6oVRpd9QQ8PwQLxo3qhbfIHByUlUVIqWx6y/U9xlHIaG033/Tjfs2EQ0NAehPTOJ+eNElsXEg==", + "requires": { + "axios": "^0.18.0", + "check-types": "^7.4.0", + "is-url": "1.2.2", + "node-fetch": "^2.3.0", + "opencollective-postinstall": "^2.0.2", + "resolve-url": "^0.2.1", + "tesseract.js-core": "^2.0.0-beta.11", + "tesseract.js-utils": "^1.0.0-beta.8" + }, + "dependencies": { + "check-types": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", + "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==" + }, + "is-url": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz", + "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=" + } + } + }, + "tesseract.js-core": { + "version": "2.0.0-beta.11", + "resolved": "https://registry.npmjs.org/tesseract.js-core/-/tesseract.js-core-2.0.0-beta.11.tgz", + "integrity": "sha512-07haKH2JYYo0OfIJoioMS9dDiI5Hrl7+r1MqjeNAAT5WpKO0ATe4cpncC8s1kz0e3s1kaC5WOwL3YJcjbJE+hg==" + }, + "tesseract.js-utils": { + "version": "1.0.0-beta.8", + "resolved": "https://registry.npmjs.org/tesseract.js-utils/-/tesseract.js-utils-1.0.0-beta.8.tgz", + "integrity": "sha512-qjHBfWfzo2o1ZY9XI0Wh2hmpp38+mIgCMOk60W5Yyie/pBl421VLBKOZUEwQgpbLnOJ24VU6Q8yXsVgtFFHcFg==", + "requires": { + "axios": "^0.18.0", + "bmp-js": "^0.1.0", + "file-type": "^10.5.0", + "idb-keyval": "^3.1.0", + "is-url": "^1.2.4", + "zlibjs": "^0.3.1" + }, + "dependencies": { + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + } + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -12429,9 +12974,9 @@ "dev": true }, "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz", + "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -12466,9 +13011,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -12507,6 +13052,12 @@ "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -12540,6 +13091,12 @@ "repeat-string": "^1.6.1" } }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, "toposort": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", @@ -12573,11 +13130,6 @@ "punycode": "^2.1.0" } }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -12591,9 +13143,9 @@ "dev": true }, "triplesec": { - "version": "3.0.27", - "resolved": "https://registry.npmjs.org/triplesec/-/triplesec-3.0.27.tgz", - "integrity": "sha512-FDhkxa3JYnPOerOd+8k+SBmm7cb7KkyX+xXwNFV3XV6dsQgHuRvjtbnzWfPJ2kimeR8ErjZfPd/6r7RH6epHDw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/triplesec/-/triplesec-4.0.3.tgz", + "integrity": "sha512-fug70e1nJoCMxsXQJlETisAALohm84vl++IiTTHEqM7Lgqwz62jrlwqOC/gJEAJjO/ByN127sEcioB56HW3wIw==", "requires": { "iced-error": ">=0.0.9", "iced-lock": "^1.0.1", @@ -12619,9 +13171,9 @@ "dev": true }, "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, "tty-browserify": { @@ -12659,13 +13211,13 @@ "dev": true }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" } }, "typedarray": { @@ -12675,16 +13227,21 @@ "dev": true }, "ua-parser-js": { - "version": "0.7.19", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", - "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==" + "version": "0.7.20", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", + "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==" + }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", "requires": { - "commander": "~2.17.1", + "commander": "~2.20.0", "source-map": "~0.6.1" } }, @@ -12704,23 +13261,6 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=" }, - "underscore-contrib": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", - "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", - "dev": true, - "requires": { - "underscore": "1.6.0" - }, - "dependencies": { - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - } - } - }, "underscore.string": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", @@ -12731,12 +13271,6 @@ "util-deprecate": "^1.0.2" } }, - "unicode-5.2.0": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/unicode-5.2.0/-/unicode-5.2.0-0.7.5.tgz", - "integrity": "sha512-KVGLW1Bri30x00yv4HNM8kBxoqFXr0Sbo55735nvrlsx4PYBZol3UtoWgO492fSwmsetzPEZzy73rbU8OGXJcA==", - "dev": true - }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -12754,52 +13288,35 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", - "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", - "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, "unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", @@ -12810,9 +13327,9 @@ } }, "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -12880,9 +13397,9 @@ } }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", "dev": true }, "upper-case": { @@ -12924,43 +13441,62 @@ } } }, - "url-join": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", - "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", - "dev": true - }, "url-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", - "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.1.0.tgz", + "integrity": "sha512-kVrp/8VfEm5fUt+fl2E0FQyrpmOYgMEkBsv8+UDP1wFhszECq5JyGF33I7cajlVY90zRZ6MyfgKXngLvHYZX8A==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^1.0.0" + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.0.0" }, "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.1.0.tgz", + "integrity": "sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw==", "dev": true, "requires": { "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } } } }, "url-parse": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", - "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", "dev": true, "requires": { - "querystringify": "^2.0.0", + "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, @@ -12984,12 +13520,20 @@ } }, "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "requires": { "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } } }, "util-deprecate": { @@ -13049,21 +13593,21 @@ "dev": true }, "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", "dev": true }, - "valid-data-url": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-0.1.6.tgz", - "integrity": "sha512-FXg2qXMzfAhZc0y2HzELNfUeiOjPr+52hU1DNBWiJJ2luXD+dD1R9NA48Ug5aj0ibbxroeGDc/RJv6ThiGgkDw==", + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", "dev": true }, "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -13099,13 +13643,10 @@ "integrity": "sha512-2ozZEFfmVvQcHWoHLNuiKlUfDKlhh4KGsy54U0UrlLMR1SO+XKAIDqBxtBwHgNrekurlJwE8A9K6L49T78ZQ9Q==" }, "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true }, "w3c-hr-time": { "version": "1.0.1", @@ -13136,70 +13677,6 @@ "minimalistic-assert": "^1.0.0" } }, - "web-resource-inliner": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-4.2.1.tgz", - "integrity": "sha512-fOWnBQHVX8zHvEbECDTxtYL0FXIIZZ5H3LWoez8mGopYJK7inEru1kVMDzM1lVdeJBNEqUnNP5FBGxvzuMcwwQ==", - "dev": true, - "requires": { - "async": "^2.1.2", - "chalk": "^1.1.3", - "datauri": "^1.0.4", - "htmlparser2": "^3.9.2", - "lodash.unescape": "^4.0.1", - "request": "^2.78.0", - "valid-data-url": "^0.1.4", - "xtend": "^4.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.0", - "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "htmlparser2": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", - "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6" - } - }, - "readable-stream": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", - "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", @@ -13207,52 +13684,117 @@ "dev": true }, "webpack": { - "version": "4.28.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.28.3.tgz", - "integrity": "sha512-vLZN9k5I7Nr/XB1IDG9GbZB4yQd1sPuvufMFgJkx0b31fi2LD97KQIjwjxE7xytdruAYfu5S0FLBLjdxmwGJCg==", + "version": "4.39.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.3.tgz", + "integrity": "sha512-BXSI9M211JyCVc3JxHWDpze85CvjC842EvpRsVTc/d15YJGlox7GIDd38kJgWrb3ZluyvIjgenbLDMBQPDcxYQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-module-context": "1.7.11", - "@webassemblyjs/wasm-edit": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", + "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", "dev": true + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } } } }, "webpack-bundle-analyzer": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.0.3.tgz", - "integrity": "sha512-naLWiRfmtH4UJgtUktRTLw6FdoZJ2RvCR9ePbwM9aRMsS/KjFerkPZG9epEvXRAw5d5oPdrs9+3p+afNjxW8Xw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.4.1.tgz", + "integrity": "sha512-Bs8D/1zF+17lhqj2OYmzi7HEVYqEVxu7lCO9Ff8BwajenOU0vAwEoV8e4ICCPNZAcqR1PCR/7o2SkW+cnCmF0A==", "dev": true, "requires": { - "acorn": "^5.7.3", + "acorn": "^6.0.7", + "acorn-walk": "^6.1.1", "bfj": "^6.1.1", "chalk": "^2.4.1", "commander": "^2.18.0", @@ -13260,16 +13802,16 @@ "express": "^4.16.3", "filesize": "^3.6.1", "gzip-size": "^5.0.0", - "lodash": "^4.17.10", + "lodash": "^4.17.15", "mkdirp": "^0.5.1", "opener": "^1.5.1", "ws": "^6.0.0" }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", "dev": true }, "ansi-styles": { @@ -13282,9 +13824,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -13292,12 +13834,6 @@ "supports-color": "^5.3.0" } }, - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -13308,9 +13844,9 @@ } }, "ws": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.2.tgz", - "integrity": "sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -13319,53 +13855,56 @@ } }, "webpack-dev-middleware": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", - "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz", + "integrity": "sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA==", "dev": true, "requires": { - "memory-fs": "~0.4.1", - "mime": "^2.3.1", - "range-parser": "^1.0.3", + "memory-fs": "^0.4.1", + "mime": "^2.4.2", + "range-parser": "^1.2.1", "webpack-log": "^2.0.0" } }, "webpack-dev-server": { - "version": "3.1.14", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz", - "integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.0.tgz", + "integrity": "sha512-Hs8K9yI6pyMvGkaPTeTonhD6JXVsigXDApYk9JLW4M7viVBspQvb1WdAcWxqtmttxNW4zf2UFLsLNe0y87pIGQ==", "dev": true, "requires": { "ansi-html": "0.0.7", "bonjour": "^3.5.0", - "chokidar": "^2.0.0", - "compression": "^1.5.2", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "~0.18.0", + "chokidar": "^2.1.6", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "^0.19.1", "import-local": "^2.0.0", - "internal-ip": "^3.0.1", + "internal-ip": "^4.3.0", "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", + "is-absolute-url": "^3.0.0", + "killable": "^1.0.1", + "loglevel": "^1.6.3", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.21", "schema-utils": "^1.0.0", - "selfsigned": "^1.9.1", - "semver": "^5.6.0", - "serve-index": "^1.7.2", + "selfsigned": "^1.10.4", + "semver": "^6.3.0", + "serve-index": "^1.9.1", "sockjs": "0.3.19", "sockjs-client": "1.3.0", - "spdy": "^4.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", "url": "^0.11.0", - "webpack-dev-middleware": "3.4.0", + "webpack-dev-middleware": "^3.7.0", "webpack-log": "^2.0.0", - "yargs": "12.0.2" + "ws": "^6.2.1", + "yargs": "12.0.5" }, "dependencies": { "ansi-regex": { @@ -13374,12 +13913,6 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -13403,56 +13936,14 @@ } }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" } }, - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "dev": true, - "requires": { - "xregexp": "4.0.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", @@ -13468,22 +13959,21 @@ "invert-kv": "^2.0.0" } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "is-wsl": "^1.1.0" } }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", @@ -13495,40 +13985,6 @@ "mem": "^4.0.0" } }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -13540,10 +13996,16 @@ "ajv-keywords": "^3.1.0" } }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -13555,20 +14017,23 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", - "dev": true + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } }, "yargs": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", - "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", "dev": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^2.0.0", + "decamelize": "^1.2.0", "find-up": "^3.0.0", "get-caller-file": "^1.0.1", "os-locale": "^3.0.0", @@ -13578,16 +14043,17 @@ "string-width": "^2.0.0", "which-module": "^2.0.0", "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^10.1.0" + "yargs-parser": "^11.1.1" } }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } @@ -13609,9 +14075,9 @@ "dev": true }, "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -13619,12 +14085,13 @@ } }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, @@ -13635,15 +14102,15 @@ "dev": true }, "websocket-stream": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.1.2.tgz", - "integrity": "sha512-lchLOk435iDWs0jNuL+hiU14i3ERSrMA0IKSiJh7z6X/i4XNsutBZrtqu2CPOZuA4G/zabiqVAos0vW+S7GEVw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.5.0.tgz", + "integrity": "sha512-EXy/zXb9kNHI07TIMz1oIUIrPZxQRA8aeJ5XYg5ihV8K4kD1DuA+FY6R96HfdIHzlSzS8HiISAfrm+vVQkZBug==", "dev": true, "requires": { "duplexify": "^3.5.1", "inherits": "^2.0.1", "readable-stream": "^2.3.3", - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "ws": "^3.2.0", "xtend": "^4.0.0" }, @@ -13718,9 +14185,9 @@ } }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -13741,46 +14208,15 @@ "string-width": "^1.0.2 || 2" } }, - "winston": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz", - "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==", - "dev": true, - "optional": true, - "requires": { - "async": "~1.0.0", - "colors": "1.0.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "stack-trace": "0.0.x" - }, - "dependencies": { - "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", - "dev": true, - "optional": true - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true, - "optional": true - } - } - }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" }, "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" @@ -13835,9 +14271,9 @@ "dev": true }, "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "requires": { "mkdirp": "^0.5.1" @@ -13891,15 +14327,9 @@ } }, "xmlbuilder": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz", - "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==", - "dev": true - }, - "xmlcreate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", - "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", + "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==", "dev": true }, "xmldom": { diff --git a/package.json b/package.json index e650b272..518fb29b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cyberchef", - "version": "8.27.0", + "version": "9.7.19", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", "homepage": "https://gchq.github.io/CyberChef", @@ -27,109 +27,124 @@ "type": "git", "url": "https://github.com/gchq/CyberChef/" }, - "main": "build/node/CyberChef.js", + "main": "src/node/cjs.js", + "module": "src/node/index.mjs", "bugs": "https://github.com/gchq/CyberChef/issues", + "browserslist": [ + "Chrome >= 50", + "Firefox >= 38", + "node >= 10" + ], "devDependencies": { - "@babel/core": "^7.2.2", - "@babel/preset-env": "^7.2.3", - "autoprefixer": "^9.4.3", - "babel-eslint": "^10.0.1", - "babel-loader": "^8.0.4", - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "bootstrap": "^4.2.1", - "chromedriver": "^2.45.0", + "@babel/core": "^7.5.5", + "@babel/plugin-transform-runtime": "^7.5.5", + "@babel/preset-env": "^7.5.5", + "autoprefixer": "^9.6.1", + "babel-eslint": "^10.0.3", + "babel-loader": "^8.0.6", + "babel-plugin-dynamic-import-node": "^2.3.0", + "chromedriver": "^77.0.0", "colors": "^1.3.3", - "css-loader": "^2.1.0", - "eslint": "^5.12.1", + "copy-webpack-plugin": "^5.0.4", + "css-loader": "^3.2.0", + "eslint": "^6.2.2", "exports-loader": "^0.7.0", - "file-loader": "^3.0.1", - "grunt": "^1.0.3", + "file-loader": "^4.2.0", + "grunt": "^1.0.4", "grunt-accessibility": "~6.0.0", "grunt-chmod": "~1.1.1", - "grunt-concurrent": "^2.3.1", + "grunt-concurrent": "^3.0.0", "grunt-contrib-clean": "~2.0.0", "grunt-contrib-connect": "^2.0.0", "grunt-contrib-copy": "~1.0.0", "grunt-contrib-watch": "^1.1.0", - "grunt-eslint": "^21.0.0", + "grunt-eslint": "^22.0.0", "grunt-exec": "~3.0.0", - "grunt-jsdoc": "^2.3.0", "grunt-webpack": "^3.1.3", + "grunt-zip": "^0.18.2", "html-webpack-plugin": "^3.2.0", "imports-loader": "^0.8.0", - "ink-docstrap": "^1.3.2", - "jsdoc-babel": "^0.5.0", - "mini-css-extract-plugin": "^0.5.0", - "nightwatch": "^1.0.18", - "node-sass": "^4.11.0", - "postcss-css-variables": "^0.11.0", + "mini-css-extract-plugin": "^0.8.0", + "nightwatch": "^1.2.1", + "node-sass": "^4.12.0", + "postcss-css-variables": "^0.13.0", "postcss-import": "^12.0.1", "postcss-loader": "^3.0.0", "prompt": "^1.0.0", - "sass-loader": "^7.1.0", - "sitemap": "^2.1.0", - "style-loader": "^0.23.1", - "svg-url-loader": "^2.3.2", - "url-loader": "^1.1.2", - "web-resource-inliner": "^4.2.1", - "webpack": "^4.28.3", - "webpack-bundle-analyzer": "^3.0.3", - "webpack-dev-server": "^3.1.14", + "sass-loader": "^8.0.0", + "sitemap": "^4.1.1", + "style-loader": "^1.0.0", + "svg-url-loader": "^3.0.1", + "url-loader": "^2.1.0", + "webpack": "^4.39.3", + "webpack-bundle-analyzer": "^3.4.1", + "webpack-dev-server": "^3.8.0", "webpack-node-externals": "^1.7.2", "worker-loader": "^2.0.0" }, "dependencies": { + "@babel/polyfill": "^7.4.4", + "@babel/runtime": "^7.5.5", "arrive": "^2.4.1", "babel-plugin-transform-builtin-extend": "1.1.2", - "babel-polyfill": "^6.26.0", "bcryptjs": "^2.4.3", - "bignumber.js": "^8.0.2", - "bootstrap-colorpicker": "^2.5.3", - "bootstrap-material-design": "^4.1.1", - "bson": "^4.0.1", + "bignumber.js": "^9.0.0", + "blakejs": "^1.1.0", + "bootstrap": "4.3.1", + "bootstrap-colorpicker": "^3.1.2", + "bootstrap-material-design": "^4.1.2", + "bson": "^4.0.2", "chi-squared": "^1.1.0", - "crypto-api": "^0.8.3", + "core-js": "^3.2.1", + "crypto-api": "^0.8.5", "crypto-js": "^3.1.9-1", "ctph.js": "0.0.5", - "diff": "^3.5.0", - "es6-promisify": "^6.0.1", - "escodegen": "^1.11.0", + "d3": "^5.11.0", + "d3-hexbin": "^0.2.2", + "diff": "^4.0.1", + "es6-promisify": "^6.0.2", + "escodegen": "^1.12.0", + "esm": "^3.2.25", "esmangle": "^1.0.1", "esprima": "^4.0.1", "exif-parser": "^0.1.12", - "file-saver": "^2.0.0", + "file-saver": "^2.0.2", "geodesy": "^1.1.3", - "highlight.js": "^9.13.1", - "jimp": "^0.6.0", - "jquery": "^3.3.1", + "highlight.js": "^9.15.10", + "jimp": "^0.6.4", + "jquery": "3.4.1", "js-crc": "^0.2.0", "js-sha3": "^0.8.0", "jsesc": "^2.5.2", - "jsonpath": "^1.0.0", - "jsonwebtoken": "^8.4.0", - "jsqr": "^1.1.1", + "jsonpath": "^1.0.2", + "jsonwebtoken": "^8.5.1", + "jsqr": "^1.2.0", "jsrsasign": "8.0.12", - "kbpgp": "^2.0.82", - "libyara-wasm": "0.0.12", - "lodash": "^4.17.11", - "loglevel": "^1.6.1", + "kbpgp": "2.1.3", + "libbzip2-wasm": "0.0.4", + "libyara-wasm": "^1.0.1", + "lodash": "^4.17.15", + "loglevel": "^1.6.3", "loglevel-message-prefix": "^3.0.0", - "moment": "^2.23.0", - "moment-timezone": "^0.5.23", + "markdown-it": "^9.1.0", + "moment": "^2.24.0", + "moment-timezone": "^0.5.26", "ngeohash": "^0.6.3", - "node-forge": "^0.7.6", + "node-forge": "^0.9.1", "node-md6": "^0.1.0", + "nodom": "^2.2.0", "notepack.io": "^2.2.0", "nwmatcher": "^1.4.4", "otp": "^0.1.3", - "popper.js": "^1.14.6", + "popper.js": "^1.15.0", "qr-image": "^3.2.0", - "scryptsy": "^2.0.0", + "scryptsy": "^2.1.0", "snackbarjs": "^1.1.0", - "sortablejs": "^1.8.0-rc1", - "split.js": "^1.5.10", + "sortablejs": "^1.9.0", + "split.js": "^1.5.11", "ssdeep.js": "0.0.2", - "ua-parser-js": "^0.7.19", + "tesseract.js": "^2.0.0-alpha.15", + "ua-parser-js": "^0.7.20", "utf8": "^3.0.0", "vkbeautify": "^0.99.3", "xmldom": "^0.1.27", @@ -140,9 +155,11 @@ "scripts": { "start": "grunt dev", "build": "grunt prod", + "repl": "node src/node/repl.js", "test": "grunt test", + "test-node-consumer": "grunt testnodeconsumer", "testui": "grunt testui", - "docs": "grunt docs", + "testuidev": "npx nightwatch --env=dev", "lint": "grunt lint", "newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs" } diff --git a/postcss.config.js b/postcss.config.js index 55ea22be..2d46543d 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,13 +1,7 @@ module.exports = { plugins: [ require("postcss-import"), - require("autoprefixer")({ - browsers: [ - "Chrome >= 40", - "Firefox >= 35", - "Edge >= 14" - ] - }), + require("autoprefixer"), require("postcss-css-variables")({ preserve: true }), diff --git a/src/core/Chef.mjs b/src/core/Chef.mjs index 33b7acbe..ca02a32d 100755 --- a/src/core/Chef.mjs +++ b/src/core/Chef.mjs @@ -4,9 +4,10 @@ * @license Apache-2.0 */ -import Dish from "./Dish"; -import Recipe from "./Recipe"; +import Dish from "./Dish.mjs"; +import Recipe from "./Recipe.mjs"; import log from "loglevel"; +import { isWorkerEnvironment } from "./Utils.mjs"; /** * The main controller for CyberChef. @@ -28,8 +29,6 @@ class Chef { * @param {Object[]} recipeConfig - The recipe configuration object * @param {Object} options - The options object storing various user choices * @param {boolean} options.attempHighlight - Whether or not to attempt highlighting - * @param {number} progress - The position in the recipe to start from - * @param {number} [step] - Whether to only execute one operation in the recipe * * @returns {Object} response * @returns {string} response.result - The output of the recipe @@ -38,46 +37,20 @@ class Chef { * @returns {number} response.duration - The number of ms it took to execute the recipe * @returns {number} response.error - The error object thrown by a failed operation (false if no error) */ - async bake(input, recipeConfig, options, progress, step) { + async bake(input, recipeConfig, options) { log.debug("Chef baking"); const startTime = new Date().getTime(), recipe = new Recipe(recipeConfig), containsFc = recipe.containsFlowControl(), - notUTF8 = options && options.hasOwnProperty("treatAsUtf8") && !options.treatAsUtf8; - let error = false; - - if (containsFc && ENVIRONMENT_IS_WORKER()) self.setOption("attemptHighlight", false); - - // Clean up progress - if (progress >= recipeConfig.length) { + notUTF8 = options && "treatAsUtf8" in options && !options.treatAsUtf8; + let error = false, progress = 0; - } - if (step) { - // Unset breakpoint on this step - recipe.setBreakpoint(progress, false); - // Set breakpoint on next step - recipe.setBreakpoint(progress + 1, true); - } + if (containsFc && isWorkerEnvironment()) self.setOption("attemptHighlight", false); - // If the previously run operation presented a different value to its - // normal output, we need to recalculate it. - if (recipe.lastOpPresented(progress)) { - progress = 0; - } - - // If stepping with flow control, we have to start from the beginning - // but still want to skip all previous breakpoints - if (progress > 0 && containsFc) { - recipe.removeBreaksUpTo(progress); - progress = 0; - } - - // If starting from scratch, load data - if (progress === 0) { - const type = input instanceof ArrayBuffer ? Dish.ARRAY_BUFFER : Dish.STRING; - this.dish.set(input, type); - } + // Load data + const type = input instanceof ArrayBuffer ? Dish.ARRAY_BUFFER : Dish.STRING; + this.dish.set(input, type); try { progress = await recipe.execute(this.dish, progress); @@ -196,6 +169,18 @@ class Chef { return await newDish.get(type); } + /** + * Gets the title of a dish and returns it + * + * @param {Dish} dish + * @param {number} [maxLength=100] + * @returns {string} + */ + async getDishTitle(dish, maxLength=100) { + const newDish = new Dish(dish); + return await newDish.getTitle(maxLength); + } + } export default Chef; diff --git a/src/core/ChefWorker.js b/src/core/ChefWorker.js index a243f32c..b0ba31a0 100644 --- a/src/core/ChefWorker.js +++ b/src/core/ChefWorker.js @@ -6,10 +6,9 @@ * @license Apache-2.0 */ -import "babel-polyfill"; -import Chef from "./Chef"; +import Chef from "./Chef.mjs"; import OperationConfig from "./config/OperationConfig.json"; -import OpModules from "./config/modules/OpModules"; +import OpModules from "./config/modules/OpModules.mjs"; // Add ">" to the start of all log messages in the Chef Worker import loglevelMessagePrefix from "loglevel-message-prefix"; @@ -26,6 +25,8 @@ self.chef = new Chef(); self.OpModules = OpModules; self.OperationConfig = OperationConfig; +self.inputNum = -1; + // Tell the app that the worker has loaded and is ready to operate self.postMessage({ @@ -36,6 +37,9 @@ self.postMessage({ /** * Respond to message from parent thread. * + * inputNum is optional and only used for baking multiple inputs. + * Defaults to -1 when one isn't sent with the bake message. + * * Messages should have the following format: * { * action: "bake" | "silentBake", @@ -44,8 +48,9 @@ self.postMessage({ * recipeConfig: {[Object]}, * options: {Object}, * progress: {number}, - * step: {boolean} - * } | undefined + * step: {boolean}, + * [inputNum=-1]: {number} + * } * } */ self.addEventListener("message", function(e) { @@ -63,6 +68,9 @@ self.addEventListener("message", function(e) { case "getDishAs": getDishAs(r.data); break; + case "getDishTitle": + getDishTitle(r.data); + break; case "docURL": // Used to set the URL of the current document so that scripts can be // imported into an inline worker. @@ -92,30 +100,35 @@ self.addEventListener("message", function(e) { async function bake(data) { // Ensure the relevant modules are loaded self.loadRequiredModules(data.recipeConfig); - try { + self.inputNum = (data.inputNum !== undefined) ? data.inputNum : -1; const response = await self.chef.bake( data.input, // The user's input data.recipeConfig, // The configuration of the recipe - data.options, // Options set by the user - data.progress, // The current position in the recipe - data.step // Whether or not to take one step or execute the whole recipe + data.options // Options set by the user ); + const transferable = (data.input instanceof ArrayBuffer) ? [data.input] : undefined; self.postMessage({ action: "bakeComplete", data: Object.assign(response, { - id: data.id + id: data.id, + inputNum: data.inputNum, + bakeId: data.bakeId }) - }); + }, transferable); + } catch (err) { self.postMessage({ action: "bakeError", - data: Object.assign(err, { - id: data.id - }) + data: { + error: err.message || err, + id: data.id, + inputNum: data.inputNum + } }); } + self.inputNum = -1; } @@ -137,13 +150,33 @@ function silentBake(data) { */ async function getDishAs(data) { const value = await self.chef.getDishAs(data.dish, data.type); - + const transferable = (data.type === "ArrayBuffer") ? [value] : undefined; self.postMessage({ action: "dishReturned", data: { value: value, id: data.id } + }, transferable); +} + + +/** + * Gets the dish title + * + * @param {object} data + * @param {Dish} data.dish + * @param {number} data.maxLength + * @param {number} data.id + */ +async function getDishTitle(data) { + const title = await self.chef.getDishTitle(data.dish, data.maxLength); + self.postMessage({ + action: "dishReturned", + data: { + value: title, + id: data.id + } }); } @@ -176,10 +209,10 @@ self.loadRequiredModules = function(recipeConfig) { recipeConfig.forEach(op => { const module = self.OperationConfig[op.op].module; - if (!OpModules.hasOwnProperty(module)) { + if (!(module in OpModules)) { log.info(`Loading ${module} module`); self.sendStatusMessage(`Loading ${module} module`); - self.importScripts(`${self.docURL}/${module}.js`); + self.importScripts(`${self.docURL}/modules/${module}.js`); self.sendStatusMessage(""); } }); @@ -194,7 +227,28 @@ self.loadRequiredModules = function(recipeConfig) { self.sendStatusMessage = function(msg) { self.postMessage({ action: "statusMessage", - data: msg + data: { + message: msg, + inputNum: self.inputNum + } + }); +}; + + +/** + * Send progress update to the app. + * + * @param {number} progress + * @param {number} total + */ +self.sendProgressMessage = function(progress, total) { + self.postMessage({ + action: "progressMessage", + data: { + progress: progress, + total: total, + inputNum: self.inputNum + } }); }; diff --git a/src/core/Dish.mjs b/src/core/Dish.mjs index 0635eb75..1d592cbd 100755 --- a/src/core/Dish.mjs +++ b/src/core/Dish.mjs @@ -5,11 +5,22 @@ * @license Apache-2.0 */ -import Utils from "./Utils"; -import DishError from "./errors/DishError"; +import Utils, { isNodeEnvironment } from "./Utils.mjs"; +import DishError from "./errors/DishError.mjs"; import BigNumber from "bignumber.js"; +import { detectFileType } from "./lib/FileType.mjs"; import log from "loglevel"; +import DishByteArray from "./dishTypes/DishByteArray.mjs"; +import DishBigNumber from "./dishTypes/DishBigNumber.mjs"; +import DishFile from "./dishTypes/DishFile.mjs"; +import DishHTML from "./dishTypes/DishHTML.mjs"; +import DishJSON from "./dishTypes/DishJSON.mjs"; +import DishListFile from "./dishTypes/DishListFile.mjs"; +import DishNumber from "./dishTypes/DishNumber.mjs"; +import DishString from "./dishTypes/DishString.mjs"; + + /** * The data being operated on by each operation. */ @@ -18,16 +29,27 @@ class Dish { /** * Dish constructor * - * @param {Dish} [dish=null] - A dish to clone + * @param {Dish || *} [dishOrInput=null] - A dish to clone OR an object + * literal to make into a dish + * @param {Enum} [type=null] (optional) - A type to accompany object + * literal input */ - constructor(dish=null) { - this.value = []; - this.type = Dish.BYTE_ARRAY; + constructor(dishOrInput=null, type = null) { + this.value = new ArrayBuffer(0); + this.type = Dish.ARRAY_BUFFER; - if (dish && - dish.hasOwnProperty("value") && - dish.hasOwnProperty("type")) { - this.set(dish.value, dish.type); + // Case: dishOrInput is dish object + if (dishOrInput && + Object.prototype.hasOwnProperty.call(dishOrInput, "value") && + Object.prototype.hasOwnProperty.call(dishOrInput, "type")) { + this.set(dishOrInput.value, dishOrInput.type); + // input and type defined separately + } else if (dishOrInput && type !== null) { + this.set(dishOrInput, type); + // No type declared, so infer it. + } else if (dishOrInput) { + const inferredType = Dish.typeEnum(dishOrInput.constructor.name); + this.set(dishOrInput, inferredType); } } @@ -56,6 +78,7 @@ class Dish { case "big number": return Dish.BIG_NUMBER; case "json": + case "object": // object constructor name. To allow JSON input in node. return Dish.JSON; case "file": return Dish.FILE; @@ -99,6 +122,43 @@ class Dish { } + /** + * Returns the value of the data in the type format specified. + * + * If running in a browser, get is asynchronous. + * + * @param {number} type - The data type of value, see Dish enums. + * @param {boolean} [notUTF8=false] - Do not treat strings as UTF8. + * @returns {* | Promise} - (Browser) A promise | (Node) value of dish in given type + */ + get(type, notUTF8=false) { + if (typeof type === "string") { + type = Dish.typeEnum(type); + } + + if (this.type !== type) { + + // Node environment => _translate is sync + if (isNodeEnvironment()) { + this._translate(type, notUTF8); + return this.value; + + // Browser environment => _translate is async + } else { + return new Promise((resolve, reject) => { + this._translate(type, notUTF8) + .then(() => { + resolve(this.value); + }) + .catch(reject); + }); + } + } + + return this.value; + } + + /** * Sets the data value and type and then validates them. * @@ -117,124 +177,86 @@ class Dish { this.type = type; if (!this.valid()) { - const sample = Utils.truncate(JSON.stringify(this.value), 13); + const sample = Utils.truncate(JSON.stringify(this.value), 25); throw new DishError(`Data is not a valid ${Dish.enumLookup(type)}: ${sample}`); } } - /** - * Returns the value of the data in the type format specified. + * Returns the Dish as the given type, without mutating the original dish. + * + * If running in a browser, get is asynchronous. + * + * @Node * * @param {number} type - The data type of value, see Dish enums. * @param {boolean} [notUTF8=false] - Do not treat strings as UTF8. - * @returns {*} - The value of the output data. + * @returns {Dish | Promise} - (Browser) A promise | (Node) value of dish in given type */ - async get(type, notUTF8=false) { - if (typeof type === "string") { - type = Dish.typeEnum(type); - } - if (this.type !== type) { - await this._translate(type, notUTF8); - } - return this.value; + presentAs(type, notUTF8=false) { + const clone = this.clone(); + return clone.get(type, notUTF8); } /** - * Translates the data to the given type format. - * - * @param {number} toType - The data type of value, see Dish enums. - * @param {boolean} [notUTF8=false] - Do not treat strings as UTF8. + * Detects the MIME type of the current dish + * @returns {string} */ - async _translate(toType, notUTF8=false) { - log.debug(`Translating Dish from ${Dish.enumLookup(this.type)} to ${Dish.enumLookup(toType)}`); - const byteArrayToStr = notUTF8 ? Utils.byteArrayToChars : Utils.byteArrayToUtf8; + detectDishType() { + const data = new Uint8Array(this.value.slice(0, 2048)), + types = detectFileType(data); - // Convert data to intermediate byteArray type - try { - switch (this.type) { - case Dish.STRING: - this.value = this.value ? Utils.strToByteArray(this.value) : []; - break; - case Dish.NUMBER: - this.value = typeof this.value === "number" ? Utils.strToByteArray(this.value.toString()) : []; - break; - case Dish.HTML: - this.value = this.value ? Utils.strToByteArray(Utils.unescapeHtml(Utils.stripHtmlTags(this.value, true))) : []; - break; - case Dish.ARRAY_BUFFER: - // Array.from() would be nicer here, but it's slightly slower - this.value = Array.prototype.slice.call(new Uint8Array(this.value)); - break; - case Dish.BIG_NUMBER: - this.value = BigNumber.isBigNumber(this.value) ? Utils.strToByteArray(this.value.toFixed()) : []; - break; - case Dish.JSON: - this.value = this.value ? Utils.strToByteArray(JSON.stringify(this.value, null, 4)) : []; - break; - case Dish.FILE: - this.value = await Utils.readFile(this.value); - this.value = Array.prototype.slice.call(this.value); - break; - case Dish.LIST_FILE: - this.value = await Promise.all(this.value.map(async f => Utils.readFile(f))); - this.value = this.value.map(b => Array.prototype.slice.call(b)); - this.value = [].concat.apply([], this.value); - break; - default: - break; - } - } catch (err) { - throw new DishError(`Error translating from ${Dish.enumLookup(this.type)} to byteArray: ${err}`); - } - - this.type = Dish.BYTE_ARRAY; - - // Convert from byteArray to toType - try { - switch (toType) { - case Dish.STRING: - case Dish.HTML: - this.value = this.value ? byteArrayToStr(this.value) : ""; - this.type = Dish.STRING; - break; - case Dish.NUMBER: - this.value = this.value ? parseFloat(byteArrayToStr(this.value)) : 0; - this.type = Dish.NUMBER; - break; - case Dish.ARRAY_BUFFER: - this.value = new Uint8Array(this.value).buffer; - this.type = Dish.ARRAY_BUFFER; - break; - case Dish.BIG_NUMBER: - try { - this.value = new BigNumber(byteArrayToStr(this.value)); - } catch (err) { - this.value = new BigNumber(NaN); - } - this.type = Dish.BIG_NUMBER; - break; - case Dish.JSON: - this.value = JSON.parse(byteArrayToStr(this.value)); - this.type = Dish.JSON; - break; - case Dish.FILE: - this.value = new File(this.value, "unknown"); - break; - case Dish.LIST_FILE: - this.value = [new File(this.value, "unknown")]; - this.type = Dish.LIST_FILE; - break; - default: - break; - } - } catch (err) { - throw new DishError(`Error translating from byteArray to ${Dish.enumLookup(toType)}: ${err}`); + if (!types.length || !types[0].mime || !types[0].mime === "text/plain") { + return null; + } else { + return types[0].mime; } } + /** + * Returns the title of the data up to the specified length + * + * @param {number} maxLength - The maximum title length + * @returns {string} + */ + async getTitle(maxLength) { + let title = ""; + let cloned; + + switch (this.type) { + case Dish.FILE: + title = this.value.name; + break; + case Dish.LIST_FILE: + title = `${this.value.length} file(s)`; + break; + case Dish.JSON: + title = "application/json"; + break; + case Dish.NUMBER: + case Dish.BIG_NUMBER: + title = this.value.toString(); + break; + case Dish.ARRAY_BUFFER: + case Dish.BYTE_ARRAY: + title = this.detectDishType(); + if (title !== null) break; + // fall through if no mime type was detected + default: + try { + cloned = this.clone(); + cloned.value = cloned.value.slice(0, 256); + title = await cloned.get(Dish.STRING); + } catch (err) { + log.error(`${Dish.enumLookup(this.type)} cannot be sliced. ${err}`); + } + } + + return title.slice(0, maxLength); + } + /** * Validates that the value is the type that has been specified. * May have to disable parts of BYTE_ARRAY validation if it effects performance. @@ -244,7 +266,7 @@ class Dish { valid() { switch (this.type) { case Dish.BYTE_ARRAY: - if (!(this.value instanceof Array)) { + if (!(this.value instanceof Uint8Array) && !(this.value instanceof Array)) { return false; } @@ -265,7 +287,21 @@ class Dish { case Dish.ARRAY_BUFFER: return this.value instanceof ArrayBuffer; case Dish.BIG_NUMBER: - return BigNumber.isBigNumber(this.value); + if (BigNumber.isBigNumber(this.value)) return true; + /* + If a BigNumber is passed between WebWorkers it is serialised as a JSON + object with a coefficient (c), exponent (e) and sign (s). We detect this + and reinitialise it as a BigNumber object. + */ + if (Object.keys(this.value).sort().equals(["c", "e", "s"])) { + const temp = new BigNumber(); + temp.c = this.value.c; + temp.e = this.value.e; + temp.s = this.value.s; + this.value = temp; + return true; + } + return false; case Dish.JSON: // All values can be serialised in some manner, so we return true in all cases return true; @@ -372,6 +408,109 @@ class Dish { return newDish; } + /** + * Translates the data to the given type format. + * + * If running in the browser, _translate is asynchronous. + * + * @param {number} toType - The data type of value, see Dish enums. + * @param {boolean} [notUTF8=false] - Do not treat strings as UTF8. + * @returns {Promise || undefined} + */ + _translate(toType, notUTF8=false) { + log.debug(`Translating Dish from ${Dish.enumLookup(this.type)} to ${Dish.enumLookup(toType)}`); + + // Node environment => translate is sync + if (isNodeEnvironment()) { + this._toArrayBuffer(); + this.type = Dish.ARRAY_BUFFER; + this._fromArrayBuffer(toType, notUTF8); + + // Browser environment => translate is async + } else { + return new Promise((resolve, reject) => { + this._toArrayBuffer() + .then(() => this.type = Dish.ARRAY_BUFFER) + .then(() => { + this._fromArrayBuffer(toType); + resolve(); + }) + .catch(reject); + }); + } + + } + + /** + * Convert this.value to an ArrayBuffer + * + * If running in a browser, _toByteArray is asynchronous. + * + * @returns {Promise || undefined} + */ + _toArrayBuffer() { + // Using 'bind' here to allow this.value to be mutated within translation functions + const toByteArrayFuncs = { + browser: { + [Dish.STRING]: () => Promise.resolve(DishString.toArrayBuffer.bind(this)()), + [Dish.NUMBER]: () => Promise.resolve(DishNumber.toArrayBuffer.bind(this)()), + [Dish.HTML]: () => Promise.resolve(DishHTML.toArrayBuffer.bind(this)()), + [Dish.ARRAY_BUFFER]: () => Promise.resolve(), + [Dish.BIG_NUMBER]: () => Promise.resolve(DishBigNumber.toArrayBuffer.bind(this)()), + [Dish.JSON]: () => Promise.resolve(DishJSON.toArrayBuffer.bind(this)()), + [Dish.FILE]: () => DishFile.toArrayBuffer.bind(this)(), + [Dish.LIST_FILE]: () => Promise.resolve(DishListFile.toArrayBuffer.bind(this)()), + [Dish.BYTE_ARRAY]: () => Promise.resolve(DishByteArray.toArrayBuffer.bind(this)()), + }, + node: { + [Dish.STRING]: () => DishString.toArrayBuffer.bind(this)(), + [Dish.NUMBER]: () => DishNumber.toArrayBuffer.bind(this)(), + [Dish.HTML]: () => DishHTML.toArrayBuffer.bind(this)(), + [Dish.ARRAY_BUFFER]: () => {}, + [Dish.BIG_NUMBER]: () => DishBigNumber.toArrayBuffer.bind(this)(), + [Dish.JSON]: () => DishJSON.toArrayBuffer.bind(this)(), + [Dish.FILE]: () => DishFile.toArrayBuffer.bind(this)(), + [Dish.LIST_FILE]: () => DishListFile.toArrayBuffer.bind(this)(), + [Dish.BYTE_ARRAY]: () => DishByteArray.toArrayBuffer.bind(this)(), + } + }; + + try { + return toByteArrayFuncs[isNodeEnvironment() && "node" || "browser"][this.type](); + } catch (err) { + throw new DishError(`Error translating from ${Dish.enumLookup(this.type)} to ArrayBuffer: ${err}`); + } + } + + /** + * Convert this.value to the given type from ArrayBuffer + * + * @param {number} toType - the Dish enum to convert to + * @param {boolean} [notUTF8=false] - Do not treat strings as UTF8. + */ + _fromArrayBuffer(toType, notUTF8) { + + // Using 'bind' here to allow this.value to be mutated within translation functions + const toTypeFunctions = { + [Dish.STRING]: () => DishString.fromArrayBuffer.bind(this)(notUTF8), + [Dish.NUMBER]: () => DishNumber.fromArrayBuffer.bind(this)(notUTF8), + [Dish.HTML]: () => DishHTML.fromArrayBuffer.bind(this)(notUTF8), + [Dish.ARRAY_BUFFER]: () => {}, + [Dish.BIG_NUMBER]: () => DishBigNumber.fromArrayBuffer.bind(this)(notUTF8), + [Dish.JSON]: () => DishJSON.fromArrayBuffer.bind(this)(notUTF8), + [Dish.FILE]: () => DishFile.fromArrayBuffer.bind(this)(), + [Dish.LIST_FILE]: () => DishListFile.fromArrayBuffer.bind(this)(), + [Dish.BYTE_ARRAY]: () => DishByteArray.fromArrayBuffer.bind(this)(), + }; + + try { + toTypeFunctions[toType](); + this.type = toType; + } catch (err) { + throw new DishError(`Error translating from ArrayBuffer to ${Dish.enumLookup(toType)}: ${err}`); + } + } + } diff --git a/src/core/Ingredient.mjs b/src/core/Ingredient.mjs index 2c7154d9..f74b42d6 100755 --- a/src/core/Ingredient.mjs +++ b/src/core/Ingredient.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Utils from "./Utils"; -import {fromHex} from "./lib/Hex"; +import Utils from "./Utils.mjs"; +import {fromHex} from "./lib/Hex.mjs"; /** * The arguments to operations. diff --git a/src/core/Operation.mjs b/src/core/Operation.mjs index c0656151..32ecff07 100755 --- a/src/core/Operation.mjs +++ b/src/core/Operation.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Dish from "./Dish"; -import Ingredient from "./Ingredient"; +import Dish from "./Dish.mjs"; +import Ingredient from "./Ingredient.mjs"; /** * The Operation specified by the user to be run. diff --git a/src/core/Recipe.mjs b/src/core/Recipe.mjs index a11b4d02..14cb39b7 100755 --- a/src/core/Recipe.mjs +++ b/src/core/Recipe.mjs @@ -5,10 +5,11 @@ */ import OperationConfig from "./config/OperationConfig.json"; -import OperationError from "./errors/OperationError"; -import Operation from "./Operation"; -import DishError from "./errors/DishError"; +import OperationError from "./errors/OperationError.mjs"; +import Operation from "./Operation.mjs"; +import DishError from "./errors/DishError.mjs"; import log from "loglevel"; +import { isWorkerEnvironment } from "./Utils.mjs"; // Cache container for modules let modules = null; @@ -61,7 +62,7 @@ class Recipe { if (!modules) { // Using Webpack Magic Comments to force the dynamic import to be included in the main chunk // https://webpack.js.org/api/module-methods/ - modules = await import(/* webpackMode: "eager" */ "./config/modules/OpModules"); + modules = await import(/* webpackMode: "eager" */ "./config/modules/OpModules.mjs"); modules = modules.default; } @@ -200,7 +201,12 @@ class Recipe { try { input = await dish.get(op.inputType); - log.debug("Executing operation"); + log.debug(`Executing operation '${op.name}'`); + + if (isWorkerEnvironment()) { + self.sendStatusMessage(`Baking... (${i+1}/${this.opList.length})`); + self.sendProgressMessage(i + 1, this.opList.length); + } if (op.flowControl) { // Package up the current state diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index 8e69b020..e64aba4b 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -5,11 +5,10 @@ */ import utf8 from "utf8"; -import {fromBase64, toBase64} from "./lib/Base64"; -import {fromHex} from "./lib/Hex"; -import {fromDecimal} from "./lib/Decimal"; -import {fromBinary} from "./lib/Binary"; - +import {fromBase64, toBase64} from "./lib/Base64.mjs"; +import {fromHex} from "./lib/Hex.mjs"; +import {fromDecimal} from "./lib/Decimal.mjs"; +import {fromBinary} from "./lib/Binary.mjs"; /** * Utility functions for use in operations, the core framework and the stage. @@ -95,7 +94,7 @@ class Utils { const paddedBytes = new Array(numBytes); paddedBytes.fill(padByte); - Array.prototype.map.call(arr, function(b, i) { + [...arr].forEach((b, i) => { paddedBytes[i] = b; }); @@ -174,10 +173,11 @@ class Utils { * @returns {string} */ static printable(str, preserveWs=false) { - if (ENVIRONMENT_IS_WEB() && window.app && !window.app.options.treatAsUtf8) { + if (isWebEnvironment() && window.app && !window.app.options.treatAsUtf8) { str = Utils.byteArrayToChars(Utils.strToByteArray(str)); } + // eslint-disable-next-line no-misleading-character-class const re = /[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g; const wsRe = /[\x09-\x10\x0D\u2028\u2029]/g; @@ -201,11 +201,19 @@ class Utils { * Utils.parseEscapedChars("\\n"); */ static parseEscapedChars(str) { - return str.replace(/(\\)?\\([bfnrtv0'"]|x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]{1,6}\})/g, function(m, a, b) { - if (a === "\\") return "\\"+b; - switch (b[0]) { + return str.replace(/\\([bfnrtv'"]|[0-3][0-7]{2}|[0-7]{1,2}|x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]{1,6}\}|\\)/g, function(m, a) { + switch (a[0]) { + case "\\": + return "\\"; case "0": - return "\0"; + case "1": + case "2": + case "3": + case "4": + case "5": + case "6": + case "7": + return String.fromCharCode(parseInt(a, 8)); case "b": return "\b"; case "t": @@ -223,12 +231,12 @@ class Utils { case "'": return "'"; case "x": - return String.fromCharCode(parseInt(b.substr(1), 16)); + return String.fromCharCode(parseInt(a.substr(1), 16)); case "u": - if (b[1] === "{") - return String.fromCodePoint(parseInt(b.slice(2, -1), 16)); + if (a[1] === "{") + return String.fromCodePoint(parseInt(a.slice(2, -1), 16)); else - return String.fromCharCode(parseInt(b.substr(1), 16)); + return String.fromCharCode(parseInt(a.substr(1), 16)); } }); } @@ -367,6 +375,61 @@ class Utils { } + /** + * Converts a string to an ArrayBuffer. + * Treats the string as UTF-8 if any values are over 255. + * + * @param {string} str + * @returns {ArrayBuffer} + * + * @example + * // returns [72,101,108,108,111] + * Utils.strToArrayBuffer("Hello"); + * + * // returns [228,189,160,229,165,189] + * Utils.strToArrayBuffer("你好"); + */ + static strToArrayBuffer(str) { + const arr = new Uint8Array(str.length); + let i = str.length, b; + while (i--) { + b = str.charCodeAt(i); + arr[i] = b; + // If any of the bytes are over 255, read as UTF-8 + if (b > 255) return Utils.strToUtf8ArrayBuffer(str); + } + return arr.buffer; + } + + + /** + * Converts a string to a UTF-8 ArrayBuffer. + * + * @param {string} str + * @returns {ArrayBuffer} + * + * @example + * // returns [72,101,108,108,111] + * Utils.strToUtf8ArrayBuffer("Hello"); + * + * // returns [228,189,160,229,165,189] + * Utils.strToUtf8ArrayBuffer("你好"); + */ + static strToUtf8ArrayBuffer(str) { + const utf8Str = utf8.encode(str); + + if (str.length !== utf8Str.length) { + if (isWorkerEnvironment()) { + self.setOption("attemptHighlight", false); + } else if (isWebEnvironment()) { + window.app.options.attemptHighlight = false; + } + } + + return Utils.strToArrayBuffer(utf8Str); + } + + /** * Converts a string to a byte array. * Treats the string as UTF-8 if any values are over 255. @@ -411,9 +474,9 @@ class Utils { const utf8Str = utf8.encode(str); if (str.length !== utf8Str.length) { - if (ENVIRONMENT_IS_WORKER()) { + if (isWorkerEnvironment()) { self.setOption("attemptHighlight", false); - } else if (ENVIRONMENT_IS_WEB()) { + } else if (isWebEnvironment()) { window.app.options.attemptHighlight = false; } } @@ -459,7 +522,7 @@ class Utils { /** * Attempts to convert a byte array to a UTF-8 string. * - * @param {byteArray} byteArray + * @param {byteArray|Uint8Array} byteArray * @returns {string} * * @example @@ -473,11 +536,10 @@ class Utils { const str = Utils.byteArrayToChars(byteArray); try { const utf8Str = utf8.decode(str); - if (str.length !== utf8Str.length) { - if (ENVIRONMENT_IS_WORKER()) { + if (isWorkerEnvironment()) { self.setOption("attemptHighlight", false); - } else if (ENVIRONMENT_IS_WEB()) { + } else if (isWebEnvironment()) { window.app.options.attemptHighlight = false; } } @@ -505,6 +567,7 @@ class Utils { static byteArrayToChars(byteArray) { if (!byteArray) return ""; let str = ""; + // String concatenation appears to be faster than an array join for (let i = 0; i < byteArray.length;) { str += String.fromCharCode(byteArray[i++]); } @@ -524,8 +587,8 @@ class Utils { * Utils.arrayBufferToStr(Uint8Array.from([104,101,108,108,111]).buffer); */ static arrayBufferToStr(arrayBuffer, utf8=true) { - const byteArray = Array.prototype.slice.call(new Uint8Array(arrayBuffer)); - return utf8 ? Utils.byteArrayToUtf8(byteArray) : Utils.byteArrayToChars(byteArray); + const arr = new Uint8Array(arrayBuffer); + return utf8 ? Utils.byteArrayToUtf8(arr) : Utils.byteArrayToChars(arr); } @@ -780,7 +843,7 @@ class Utils { args = m[2] .replace(/"/g, '\\"') // Escape double quotes .replace(/(^|,|{|:)'/g, '$1"') // Replace opening ' with " - .replace(/([^\\]|[^\\]\\\\)'(,|:|}|$)/g, '$1"$2') // Replace closing ' with " + .replace(/([^\\]|(?:\\\\)+)'(,|:|}|$)/g, '$1"$2') // Replace closing ' with " .replace(/\\'/g, "'"); // Unescape single quotes args = "[" + args + "]"; @@ -929,7 +992,7 @@ class Utils { /** * Reads a File and returns the data as a Uint8Array. * - * @param {File} file + * @param {File | for node: array|arrayBuffer|buffer|string} file * @returns {Uint8Array} * * @example @@ -937,33 +1000,57 @@ class Utils { * await Utils.readFile(new File(["hello"], "test")) */ static readFile(file) { - return new Promise((resolve, reject) => { - const reader = new FileReader(); - const data = new Uint8Array(file.size); - let offset = 0; - const CHUNK_SIZE = 10485760; // 10MiB - const seek = function() { - if (offset >= file.size) { - resolve(data); - return; - } - const slice = file.slice(offset, offset + CHUNK_SIZE); - reader.readAsArrayBuffer(slice); - }; + if (isNodeEnvironment()) { + return Buffer.from(file).buffer; + + } else { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + const data = new Uint8Array(file.size); + let offset = 0; + const CHUNK_SIZE = 10485760; // 10MiB + + const seek = function() { + if (offset >= file.size) { + resolve(data); + return; + } + const slice = file.slice(offset, offset + CHUNK_SIZE); + reader.readAsArrayBuffer(slice); + }; + + reader.onload = function(e) { + data.set(new Uint8Array(reader.result), offset); + offset += CHUNK_SIZE; + seek(); + }; + + reader.onerror = function(e) { + reject(reader.error.message); + }; - reader.onload = function(e) { - data.set(new Uint8Array(reader.result), offset); - offset += CHUNK_SIZE; seek(); - }; + }); + } + } - reader.onerror = function(e) { - reject(reader.error.message); - }; + /** + * Synchronously read the raw data from a File object. + * + * Only works in the Node environment + * + * @param {File} file - a File shim object (see src/node/File.mjs) + * @returns {ArrayBuffer} the data from the file in an ArrayBuffer + * @throws {TypeError} thrown if the method is called from a browser environment + */ + static readFileSync(file) { + if (!isNodeEnvironment()) { + throw new TypeError("Browser environment cannot support readFileSync"); + } - seek(); - }); + const arrayBuffer = Uint8Array.from(file.data); + return arrayBuffer.buffer; } @@ -1023,9 +1110,11 @@ class Utils { static charRep(token) { return { "Space": " ", + "Percent": "%", "Comma": ",", "Semi-colon": ";", "Colon": ":", + "Tab": "\t", "Line feed": "\n", "CRLF": "\r\n", "Forward slash": "/", @@ -1047,6 +1136,7 @@ class Utils { static regexRep(token) { return { "Space": /\s+/g, + "Percent": /%/g, "Comma": /,/g, "Semi-colon": /;/g, "Colon": /:/g, @@ -1062,6 +1152,30 @@ class Utils { } +/** + * Check whether the code is running in a Node.js environment + * @returns {boolean} + */ +export function isNodeEnvironment() { + return typeof process !== "undefined" && process.versions != null && process.versions.node != null; +} + +/** + * Check whether the code is running in a web environment + * @returns {boolean} +*/ +export function isWebEnvironment() { + return typeof window === "object"; +} + +/** + * Check whether the code is running in a worker + * @returns {boolean} +*/ +export function isWorkerEnvironment() { + return typeof importScripts === "function"; +} + export default Utils; @@ -1080,7 +1194,7 @@ export default Utils; Array.prototype.unique = function() { const u = {}, a = []; for (let i = 0, l = this.length; i < l; i++) { - if (u.hasOwnProperty(this[i])) { + if (Object.prototype.hasOwnProperty.call(u, this[i])) { continue; } a.push(this[i]); @@ -1179,12 +1293,37 @@ String.prototype.count = function(chr) { * @param {string} msg */ export function sendStatusMessage(msg) { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage(msg); - else if (ENVIRONMENT_IS_WEB()) + else if (isWebEnvironment()) app.alert(msg, 10000); - else if (ENVIRONMENT_IS_NODE()) - log.debug(msg); + else if (isNodeEnvironment()) + // eslint-disable-next-line no-console + console.debug(msg); +} + +const debounceTimeouts = {}; + +/** + * Debouncer to stop functions from being executed multiple times in a + * short space of time + * https://davidwalsh.name/javascript-debounce-function + * + * @param {function} func - The function to be executed after the debounce time + * @param {number} wait - The time (ms) to wait before executing the function + * @param {string} id - Unique ID to reference the timeout for the function + * @param {object} scope - The object to bind to the debounced function + * @param {array} args - Array of arguments to be passed to func + * @returns {function} + */ +export function debounce(func, wait, id, scope, args) { + return function() { + const later = function() { + func.apply(scope, args); + }; + clearTimeout(debounceTimeouts[id]); + debounceTimeouts[id] = setTimeout(later, wait); + }; } diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 83a8fb16..9867543d 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -85,6 +85,8 @@ "Vigenère Decode", "To Morse Code", "From Morse Code", + "Bacon Cipher Encode", + "Bacon Cipher Decode", "Bifid Cipher Encode", "Bifid Cipher Decode", "Affine Cipher Encode", @@ -122,8 +124,10 @@ "Generate PGP Key Pair", "PGP Encrypt", "PGP Decrypt", + "PGP Verify", "PGP Encrypt and Sign", - "PGP Decrypt and Verify" + "PGP Decrypt and Verify", + "Parse SSH Host Key" ] }, { @@ -167,15 +171,21 @@ "Parse IP range", "Parse IPv6 address", "Parse IPv4 header", + "Parse UDP", + "Parse SSH Host Key", "Parse URI", "URL Encode", "URL Decode", + "Protobuf Decode", + "VarInt Encode", + "VarInt Decode", "Format MAC addresses", "Change IP format", "Group IP addresses", "Encode NetBIOS Name", "Decode NetBIOS Name", - "Defang URL" + "Defang URL", + "Defang IP Addresses" ] }, { @@ -195,8 +205,8 @@ "Remove null bytes", "To Upper case", "To Lower case", - "To Case Insensitive Regex", - "From Case Insensitive Regex", + "To Case Insensitive Regex", + "From Case Insensitive Regex", "Add line numbers", "Remove line numbers", "To Table", @@ -222,6 +232,7 @@ "Convert speed", "Convert data units", "Convert co-ordinate format", + "Show on map", "Parse UNIX file permissions", "Swap endianness", "Parse colour code", @@ -275,6 +286,7 @@ "Zip", "Unzip", "Bzip2 Decompress", + "Bzip2 Compress", "Tar", "Untar" ] @@ -298,6 +310,10 @@ "HAS-160", "Whirlpool", "Snefru", + "BLAKE2b", + "BLAKE2s", + "GOST hash", + "Streebog", "SSDEEP", "CTPH", "Compare SSDEEP hashes", @@ -312,6 +328,7 @@ "Fletcher-32 Checksum", "Fletcher-64 Checksum", "Adler-32 Checksum", + "CRC-8 Checksum", "CRC-16 Checksum", "CRC-32 Checksum", "TCP/IP Checksum" @@ -346,7 +363,8 @@ "BSON serialise", "BSON deserialise", "To MessagePack", - "From MessagePack" + "From MessagePack", + "Render Markdown" ] }, { @@ -355,8 +373,13 @@ "Detect File Type", "Scan for Embedded Files", "Extract Files", + "YARA Rules", "Remove EXIF", - "Extract EXIF" + "Extract EXIF", + "Extract RGBA", + "View Bit Plane", + "Randomize Colour Palette", + "Extract LSB" ] }, { @@ -364,6 +387,7 @@ "ops": [ "Render Image", "Play Media", + "Optical Character Recognition", "Remove EXIF", "Extract EXIF", "Split Colour Channels", @@ -379,7 +403,15 @@ "Image Filter", "Contain Image", "Cover Image", - "Image Hue/Saturation/Lightness" + "Image Hue/Saturation/Lightness", + "Sharpen Image", + "Normalise Image", + "Convert Image Format", + "Add Text To Image", + "Hex Density chart", + "Scatter chart", + "Series chart", + "Heatmap chart" ] }, { @@ -387,6 +419,7 @@ "ops": [ "Entropy", "Frequency distribution", + "Index of Coincidence", "Chi Square", "Disassemble x86", "Pseudo-Random Number Generator", @@ -396,6 +429,7 @@ "Generate QR Code", "Parse QR Code", "Haversine distance", + "HTML To Text", "Generate Lorem Ipsum", "Numberwang", "XKCD Random Number" diff --git a/src/core/config/scripts/generateConfig.mjs b/src/core/config/scripts/generateConfig.mjs index 335d47b8..8ef906e6 100644 --- a/src/core/config/scripts/generateConfig.mjs +++ b/src/core/config/scripts/generateConfig.mjs @@ -14,7 +14,7 @@ import path from "path"; import fs from "fs"; import process from "process"; -import * as Ops from "../../operations/index"; +import * as Ops from "../../operations/index.mjs"; const dir = path.join(process.cwd() + "/src/core/config/"); if (!fs.existsSync(dir)) { @@ -45,11 +45,11 @@ for (const opObj in Ops) { args: op.args }; - if (op.hasOwnProperty("patterns")) { + if ("patterns" in op) { operationConfig[op.name].patterns = op.patterns; } - if (!modules.hasOwnProperty(op.module)) + if (!(op.module in modules)) modules[op.module] = {}; modules[op.module][op.name] = opObj; } @@ -84,7 +84,7 @@ for (const module in modules) { for (const opName in modules[module]) { const objName = modules[module][opName]; - code += `import ${objName} from "../../operations/${objName}";\n`; + code += `import ${objName} from "../../operations/${objName}.mjs";\n`; } code += ` @@ -124,7 +124,7 @@ let opModulesCode = `/** `; for (const module in modules) { - opModulesCode += `import ${module}Module from "./${module}";\n`; + opModulesCode += `import ${module}Module from "./${module}.mjs";\n`; } opModulesCode += ` diff --git a/src/core/config/scripts/generateOpsIndex.mjs b/src/core/config/scripts/generateOpsIndex.mjs index 49cd635c..d18307bc 100644 --- a/src/core/config/scripts/generateOpsIndex.mjs +++ b/src/core/config/scripts/generateOpsIndex.mjs @@ -39,7 +39,7 @@ let code = `/** `; opObjs.forEach(obj => { - code += `import ${obj} from "./${obj}";\n`; + code += `import ${obj} from "./${obj}.mjs";\n`; }); code += ` diff --git a/src/core/config/scripts/newOperation.mjs b/src/core/config/scripts/newOperation.mjs index ac25b383..03753fae 100644 --- a/src/core/config/scripts/newOperation.mjs +++ b/src/core/config/scripts/newOperation.mjs @@ -13,7 +13,7 @@ import colors from "colors"; import process from "process"; import fs from "fs"; import path from "path"; -import EscapeString from "../../operations/EscapeString"; +import EscapeString from "../../operations/EscapeString.mjs"; const dir = path.join(process.cwd() + "/src/core/operations/"); @@ -130,8 +130,8 @@ prompt.get(schema, (err, result) => { * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * ${result.opName} operation diff --git a/src/core/dishTypes/DishBigNumber.mjs b/src/core/dishTypes/DishBigNumber.mjs new file mode 100644 index 00000000..d6f67698 --- /dev/null +++ b/src/core/dishTypes/DishBigNumber.mjs @@ -0,0 +1,39 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import DishType from "./DishType.mjs"; +import Utils from "../Utils.mjs"; +import BigNumber from "bignumber.js"; + +/** + * translation methods for BigNumber Dishes + */ +class DishBigNumber extends DishType { + + /** + * convert the given value to a ArrayBuffer + * @param {BigNumber} value + */ + static toArrayBuffer() { + DishBigNumber.checkForValue(this.value); + this.value = BigNumber.isBigNumber(this.value) ? Utils.strToArrayBuffer(this.value.toFixed()) : new ArrayBuffer; + } + + /** + * convert the given value from a ArrayBuffer + * @param {boolean} notUTF8 + */ + static fromArrayBuffer(notUTF8) { + DishBigNumber.checkForValue(this.value); + try { + this.value = new BigNumber(Utils.arrayBufferToStr(this.value, !notUTF8)); + } catch (err) { + this.value = new BigNumber(NaN); + } + } +} + +export default DishBigNumber; diff --git a/src/core/dishTypes/DishByteArray.mjs b/src/core/dishTypes/DishByteArray.mjs new file mode 100644 index 00000000..12a6d334 --- /dev/null +++ b/src/core/dishTypes/DishByteArray.mjs @@ -0,0 +1,31 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import DishType from "./DishType.mjs"; + +/** + * Translation methods for ArrayBuffer Dishes + */ +class DishByteArray extends DishType { + + /** + * convert the given value to a ArrayBuffer + */ + static toArrayBuffer() { + DishByteArray.checkForValue(this.value); + this.value = new Uint8Array(this.value).buffer; + } + + /** + * convert the given value from a ArrayBuffer + */ + static fromArrayBuffer() { + DishByteArray.checkForValue(this.value); + this.value = Array.prototype.slice.call(new Uint8Array(this.value)); + } +} + +export default DishByteArray; diff --git a/src/core/dishTypes/DishFile.mjs b/src/core/dishTypes/DishFile.mjs new file mode 100644 index 00000000..a22df9e5 --- /dev/null +++ b/src/core/dishTypes/DishFile.mjs @@ -0,0 +1,42 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import DishType from "./DishType.mjs"; +import Utils, { isNodeEnvironment } from "../Utils.mjs"; + +/** + * Translation methods for file Dishes + */ +class DishFile extends DishType { + + /** + * convert the given value to an ArrayBuffer + * @param {File} value + */ + static toArrayBuffer() { + DishFile.checkForValue(this.value); + if (isNodeEnvironment()) { + this.value = Utils.readFileSync(this.value); + } else { + return new Promise((resolve, reject) => { + Utils.readFile(this.value) + .then(v => this.value = v.buffer) + .then(resolve) + .catch(reject); + }); + } + } + + /** + * convert the given value from an ArrayBuffer + */ + static fromArrayBuffer() { + DishFile.checkForValue(this.value); + this.value = new File(this.value, "unknown"); + } +} + +export default DishFile; diff --git a/src/core/dishTypes/DishHTML.mjs b/src/core/dishTypes/DishHTML.mjs new file mode 100644 index 00000000..854cacd0 --- /dev/null +++ b/src/core/dishTypes/DishHTML.mjs @@ -0,0 +1,26 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import DishString from "./DishString.mjs"; +import Utils from "../Utils.mjs"; + +/** + * Translation methods for HTML Dishes + */ +class DishHTML extends DishString { + + /** + * convert the given value to a ArrayBuffer + * @param {String} value + */ + static toArrayBuffer() { + DishHTML.checkForValue(this.value); + this.value = this.value ? Utils.strToArrayBuffer(Utils.unescapeHtml(Utils.stripHtmlTags(this.value, true))) : new ArrayBuffer; + } + +} + +export default DishHTML; diff --git a/src/core/dishTypes/DishJSON.mjs b/src/core/dishTypes/DishJSON.mjs new file mode 100644 index 00000000..210f32d8 --- /dev/null +++ b/src/core/dishTypes/DishJSON.mjs @@ -0,0 +1,33 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import DishType from "./DishType.mjs"; +import Utils from "../Utils.mjs"; + +/** + * Translation methods for JSON dishes + */ +class DishJSON extends DishType { + + /** + * convert the given value to a ArrayBuffer + */ + static toArrayBuffer() { + DishJSON.checkForValue(this.value); + this.value = this.value ? Utils.strToArrayBuffer(JSON.stringify(this.value, null, 4)) : new ArrayBuffer; + } + + /** + * convert the given value from a ArrayBuffer + * @param {boolean} notUTF8 + */ + static fromArrayBuffer(notUTF8) { + DishJSON.checkForValue(this.value); + this.value = JSON.parse(Utils.arrayBufferToStr(this.value, !notUTF8)); + } +} + +export default DishJSON; diff --git a/src/core/dishTypes/DishListFile.mjs b/src/core/dishTypes/DishListFile.mjs new file mode 100644 index 00000000..198a974b --- /dev/null +++ b/src/core/dishTypes/DishListFile.mjs @@ -0,0 +1,58 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import DishType from "./DishType.mjs"; +import { isNodeEnvironment } from "../Utils.mjs"; + + +/** + * Translation methods for ListFile Dishes + */ +class DishListFile extends DishType { + + /** + * convert the given value to a ArrayBuffer + */ + static toArrayBuffer() { + DishListFile.checkForValue(this.value); + + if (isNodeEnvironment()) { + this.value = this.value.map(file => Uint8Array.from(file.data)); + } + this.value = DishListFile.concatenateTypedArrays(...this.value).buffer; + } + + /** + * convert the given value from a ArrayBuffer + */ + static fromArrayBuffer() { + DishListFile.checkForValue(this.value); + this.value = [new File(this.value, "unknown")]; + } + + + /** + * Concatenates a list of Uint8Arrays together + * + * @param {Uint8Array[]} arrays + * @returns {Uint8Array} + */ + static concatenateTypedArrays(...arrays) { + let totalLength = 0; + for (const arr of arrays) { + totalLength += arr.length; + } + const result = new Uint8Array(totalLength); + let offset = 0; + for (const arr of arrays) { + result.set(arr, offset); + offset += arr.length; + } + return result; + } +} + +export default DishListFile; diff --git a/src/core/dishTypes/DishNumber.mjs b/src/core/dishTypes/DishNumber.mjs new file mode 100644 index 00000000..8769a69a --- /dev/null +++ b/src/core/dishTypes/DishNumber.mjs @@ -0,0 +1,34 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + + +import DishType from "./DishType.mjs"; +import Utils from "../Utils.mjs"; + +/** + * Translation methods for number dishes + */ +class DishNumber extends DishType { + + /** + * convert the given value to a ArrayBuffer + */ + static toArrayBuffer() { + DishNumber.checkForValue(this.value); + this.value = typeof this.value === "number" ? Utils.strToArrayBuffer(this.value.toString()) : new ArrayBuffer; + } + + /** + * convert the given value from a ArrayBuffer + * @param {boolean} notUTF8 + */ + static fromArrayBuffer(notUTF8) { + DishNumber.checkForValue(this.value); + this.value = this.value ? parseFloat(Utils.arrayBufferToStr(this.value, !notUTF8)) : 0; + } +} + +export default DishNumber; diff --git a/src/core/dishTypes/DishString.mjs b/src/core/dishTypes/DishString.mjs new file mode 100644 index 00000000..d7768859 --- /dev/null +++ b/src/core/dishTypes/DishString.mjs @@ -0,0 +1,34 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + + +import DishType from "./DishType.mjs"; +import Utils from "../Utils.mjs"; + +/** + * Translation methods for string dishes + */ +class DishString extends DishType { + + /** + * convert the given value to a ArrayBuffer + */ + static toArrayBuffer() { + DishString.checkForValue(this.value); + this.value = this.value ? Utils.strToArrayBuffer(this.value) : new ArrayBuffer; + } + + /** + * convert the given value from a ArrayBuffer + * @param {boolean} notUTF8 + */ + static fromArrayBuffer(notUTF8) { + DishString.checkForValue(this.value); + this.value = this.value ? Utils.arrayBufferToStr(this.value, !notUTF8) : ""; + } +} + +export default DishString; diff --git a/src/core/dishTypes/DishType.mjs b/src/core/dishTypes/DishType.mjs new file mode 100644 index 00000000..849b5756 --- /dev/null +++ b/src/core/dishTypes/DishType.mjs @@ -0,0 +1,39 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + + +/** + * Abstract class for dish translation methods + */ +class DishType { + + /** + * Warn translations dont work without value from bind + */ + static checkForValue(value) { + if (value === undefined) { + throw new Error("only use translation methods with .bind"); + } + } + + /** + * convert the given value to a ArrayBuffer + * @param {*} value + */ + static toArrayBuffer() { + throw new Error("toArrayBuffer has not been implemented"); + } + + /** + * convert the given value from a ArrayBuffer + * @param {boolean} notUTF8 + */ + static fromArrayBuffer(notUTF8=undefined) { + throw new Error("fromArrayBuffer has not been implemented"); + } +} + +export default DishType; diff --git a/src/core/dishTypes/index.mjs b/src/core/dishTypes/index.mjs new file mode 100644 index 00000000..a3a500b0 --- /dev/null +++ b/src/core/dishTypes/index.mjs @@ -0,0 +1,26 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + + +import DishByteArray from "./DishByteArray.mjs"; +import DishBigNumber from "./DishBigNumber.mjs"; +import DishFile from "./DishFile.mjs"; +import DishHTML from "./DishHTML.mjs"; +import DishJSON from "./DishJSON.mjs"; +import DishListFile from "./DishListFile.mjs"; +import DishNumber from "./DishNumber.mjs"; +import DishString from "./DishString.mjs"; + +export { + DishByteArray, + DishBigNumber, + DishFile, + DishHTML, + DishJSON, + DishListFile, + DishNumber, + DishString, +}; diff --git a/src/core/errors/ExcludedOperationError.mjs b/src/core/errors/ExcludedOperationError.mjs new file mode 100644 index 00000000..2972c31d --- /dev/null +++ b/src/core/errors/ExcludedOperationError.mjs @@ -0,0 +1,25 @@ +/** + * Custom error type for handling operation that isnt included in node.js API + * + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ +class ExcludedOperationError extends Error { + /** + * Standard error constructor. Adds no new behaviour. + * + * @param args - Standard error args + */ + constructor(...args) { + super(...args); + + this.type = "ExcludedOperationError"; + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, ExcludedOperationError); + } + } +} + +export default ExcludedOperationError; diff --git a/src/core/errors/index.mjs b/src/core/errors/index.mjs new file mode 100644 index 00000000..b27affc2 --- /dev/null +++ b/src/core/errors/index.mjs @@ -0,0 +1,9 @@ +import OperationError from "./OperationError.mjs"; +import DishError from "./DishError.mjs"; +import ExcludedOperationError from "./ExcludedOperationError"; + +export { + OperationError, + DishError, + ExcludedOperationError, +}; diff --git a/src/core/lib/Arithmetic.mjs b/src/core/lib/Arithmetic.mjs index 3ee2372f..7c10855f 100644 --- a/src/core/lib/Arithmetic.mjs +++ b/src/core/lib/Arithmetic.mjs @@ -5,7 +5,7 @@ * @license Apache-2.0 */ -import Utils from "../Utils"; +import Utils from "../Utils.mjs"; import BigNumber from "bignumber.js"; @@ -109,7 +109,7 @@ export function mean(data) { */ export function median(data) { if ((data.length % 2) === 0 && data.length > 0) { - data.sort(function(a, b){ + data.sort(function(a, b) { return a.minus(b); }); const first = data[Math.floor(data.length / 2)]; diff --git a/src/core/lib/BCD.mjs b/src/core/lib/BCD.mjs index 623a90c7..2f245236 100644 --- a/src/core/lib/BCD.mjs +++ b/src/core/lib/BCD.mjs @@ -22,7 +22,7 @@ export const ENCODING_SCHEME = [ /** * Lookup table for the binary value of each digit representation. * - * I wrote a very nice algorithm to generate 8 4 2 1 encoding programatically, + * I wrote a very nice algorithm to generate 8 4 2 1 encoding programmatically, * but unfortunately it's much easier (if less elegant) to use lookup tables * when supporting multiple encoding schemes. * diff --git a/src/core/lib/Bacon.mjs b/src/core/lib/Bacon.mjs new file mode 100644 index 00000000..241237cb --- /dev/null +++ b/src/core/lib/Bacon.mjs @@ -0,0 +1,66 @@ +/** + * Bacon Cipher resources. + * + * @author Karsten Silkenbäumer [github.com/kassi] + * @copyright Karsten Silkenbäumer 2019 + * @license Apache-2.0 + */ + +/** + * Bacon definitions. + */ +export const BACON_ALPHABETS = { + "Standard (I=J and U=V)": { + alphabet: "ABCDEFGHIKLMNOPQRSTUWXYZ", + codes: [0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 23] + }, + "Complete": { + alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + } +}; +export const BACON_TRANSLATION_01 = "0/1"; +export const BACON_TRANSLATION_AB = "A/B"; +export const BACON_TRANSLATION_CASE = "Case"; +export const BACON_TRANSLATION_AMNZ = "A-M/N-Z first letter"; +export const BACON_TRANSLATIONS = [ + BACON_TRANSLATION_01, + BACON_TRANSLATION_AB, + BACON_TRANSLATION_CASE, + BACON_TRANSLATION_AMNZ, +]; +export const BACON_TRANSLATIONS_FOR_ENCODING = [ + BACON_TRANSLATION_01, + BACON_TRANSLATION_AB +]; +export const BACON_CLEARER_MAP = { + [BACON_TRANSLATION_01]: /[^01]/g, + [BACON_TRANSLATION_AB]: /[^ABab]/g, + [BACON_TRANSLATION_CASE]: /[^A-Za-z]/g, +}; +export const BACON_NORMALIZE_MAP = { + [BACON_TRANSLATION_AB]: { + "A": "0", + "B": "1", + "a": "0", + "b": "1" + }, +}; + +/** + * Swaps zeros to ones and ones to zeros. + * + * @param {string} data + * @returns {string} + * + * @example + * // returns "11001 01010" + * swapZeroAndOne("00110 10101"); + */ +export function swapZeroAndOne(string) { + return string.replace(/[01]/g, function (c) { + return { + "0": "1", + "1": "0" + }[c]; + }); +} diff --git a/src/core/lib/Base64.mjs b/src/core/lib/Base64.mjs index 1eb09aa3..339a41d4 100644 --- a/src/core/lib/Base64.mjs +++ b/src/core/lib/Base64.mjs @@ -6,13 +6,13 @@ * @license Apache-2.0 */ -import Utils from "../Utils"; - +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Base64's the input byte array using the given alphabet, returning a string. * - * @param {byteArray|Uint8Array|string} data + * @param {byteArray|Uint8Array|ArrayBuffer|string} data * @param {string} [alphabet="A-Za-z0-9+/="] * @returns {string} * @@ -25,11 +25,17 @@ import Utils from "../Utils"; */ export function toBase64(data, alphabet="A-Za-z0-9+/=") { if (!data) return ""; + if (data instanceof ArrayBuffer) { + data = new Uint8Array(data); + } if (typeof data == "string") { data = Utils.strToByteArray(data); } alphabet = Utils.expandAlphRange(alphabet).join(""); + if (alphabet.length !== 64 && alphabet.length !== 65) { // Allow for padding + throw new OperationError(`Invalid Base64 alphabet length (${alphabet.length}): ${alphabet}`); + } let output = "", chr1, chr2, chr3, @@ -63,7 +69,7 @@ export function toBase64(data, alphabet="A-Za-z0-9+/=") { /** * UnBase64's the input string using the given alphabet, returning a byte array. * - * @param {byteArray} data + * @param {string} data * @param {string} [alphabet="A-Za-z0-9+/="] * @param {string} [returnType="string"] - Either "string" or "byteArray" * @param {boolean} [removeNonAlphChars=true] @@ -83,6 +89,9 @@ export function fromBase64(data, alphabet="A-Za-z0-9+/=", returnType="string", r alphabet = alphabet || "A-Za-z0-9+/="; alphabet = Utils.expandAlphRange(alphabet).join(""); + if (alphabet.length !== 64 && alphabet.length !== 65) { // Allow for padding + throw new OperationError(`Invalid Base64 alphabet length (${alphabet.length}): ${alphabet}`); + } const output = []; let chr1, chr2, chr3, diff --git a/src/core/lib/Binary.mjs b/src/core/lib/Binary.mjs index ca41da48..d28691e5 100644 --- a/src/core/lib/Binary.mjs +++ b/src/core/lib/Binary.mjs @@ -6,7 +6,7 @@ * @license Apache-2.0 */ -import Utils from "../Utils"; +import Utils from "../Utils.mjs"; /** diff --git a/src/core/lib/BitwiseOp.mjs b/src/core/lib/BitwiseOp.mjs index 84a7834b..fe33c812 100644 --- a/src/core/lib/BitwiseOp.mjs +++ b/src/core/lib/BitwiseOp.mjs @@ -9,7 +9,7 @@ /** * Runs bitwise operations across the input data. * - * @param {byteArray} input + * @param {byteArray|Uint8Array} input * @param {byteArray} key * @param {function} func - The bitwise calculation to carry out * @param {boolean} nullPreserving diff --git a/src/core/lib/Bombe.mjs b/src/core/lib/Bombe.mjs index 122edd40..8ab1604d 100644 --- a/src/core/lib/Bombe.mjs +++ b/src/core/lib/Bombe.mjs @@ -7,9 +7,9 @@ * @license Apache-2.0 */ -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; -import {Rotor, Plugboard, a2i, i2a} from "./Enigma"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import {Rotor, Plugboard, a2i, i2a} from "./Enigma.mjs"; /** * Convenience/optimisation subclass of Rotor diff --git a/src/core/lib/Charts.mjs b/src/core/lib/Charts.mjs new file mode 100644 index 00000000..6685ee6e --- /dev/null +++ b/src/core/lib/Charts.mjs @@ -0,0 +1,178 @@ +/** + * @author tlwr [toby@toby.codes] + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import OperationError from "../errors/OperationError.mjs"; + +/** + * @constant + * @default + */ +export const RECORD_DELIMITER_OPTIONS = ["Line feed", "CRLF"]; + + +/** + * @constant + * @default + */ +export const FIELD_DELIMITER_OPTIONS = ["Space", "Comma", "Semi-colon", "Colon", "Tab"]; + + +/** + * Default from colour + * + * @constant + * @default + */ +export const COLOURS = { + min: "white", + max: "black" +}; + + +/** + * Gets values from input for a plot. + * + * @param {string} input + * @param {string} recordDelimiter + * @param {string} fieldDelimiter + * @param {boolean} columnHeadingsAreIncluded - whether we should skip the first record + * @param {number} length + * @returns {Object[]} + */ +export function getValues(input, recordDelimiter, fieldDelimiter, columnHeadingsAreIncluded, length) { + let headings; + const values = []; + + input + .split(recordDelimiter) + .forEach((row, rowIndex) => { + const split = row.split(fieldDelimiter); + if (split.length !== length) throw new OperationError(`Each row must have length ${length}.`); + + if (columnHeadingsAreIncluded && rowIndex === 0) { + headings = split; + } else { + values.push(split); + } + }); + return { headings, values }; +} + + +/** + * Gets values from input for a scatter plot. + * + * @param {string} input + * @param {string} recordDelimiter + * @param {string} fieldDelimiter + * @param {boolean} columnHeadingsAreIncluded - whether we should skip the first record + * @returns {Object[]} + */ +export function getScatterValues(input, recordDelimiter, fieldDelimiter, columnHeadingsAreIncluded) { + let { headings, values } = getValues( + input, + recordDelimiter, + fieldDelimiter, + columnHeadingsAreIncluded, + 2 + ); + + if (headings) { + headings = {x: headings[0], y: headings[1]}; + } + + values = values.map(row => { + const x = parseFloat(row[0], 10), + y = parseFloat(row[1], 10); + + if (Number.isNaN(x)) throw new OperationError("Values must be numbers in base 10."); + if (Number.isNaN(y)) throw new OperationError("Values must be numbers in base 10."); + + return [x, y]; + }); + + return { headings, values }; +} + + +/** + * Gets values from input for a scatter plot with colour from the third column. + * + * @param {string} input + * @param {string} recordDelimiter + * @param {string} fieldDelimiter + * @param {boolean} columnHeadingsAreIncluded - whether we should skip the first record + * @returns {Object[]} + */ +export function getScatterValuesWithColour(input, recordDelimiter, fieldDelimiter, columnHeadingsAreIncluded) { + let { headings, values } = getValues( + input, + recordDelimiter, fieldDelimiter, + columnHeadingsAreIncluded, + 3 + ); + + if (headings) { + headings = {x: headings[0], y: headings[1]}; + } + + values = values.map(row => { + const x = parseFloat(row[0], 10), + y = parseFloat(row[1], 10), + colour = row[2]; + + if (Number.isNaN(x)) throw new OperationError("Values must be numbers in base 10."); + if (Number.isNaN(y)) throw new OperationError("Values must be numbers in base 10."); + + return [x, y, colour]; + }); + + return { headings, values }; +} + +/** + * Gets values from input for a time series plot. + * + * @param {string} input + * @param {string} recordDelimiter + * @param {string} fieldDelimiter + * @param {boolean} columnHeadingsAreIncluded - whether we should skip the first record + * @returns {Object[]} + */ +export function getSeriesValues(input, recordDelimiter, fieldDelimiter, columnHeadingsAreIncluded) { + const { values } = getValues( + input, + recordDelimiter, fieldDelimiter, + false, + 3 + ); + + let xValues = new Set(); + const series = {}; + + values.forEach(row => { + const serie = row[0], + xVal = row[1], + val = parseFloat(row[2], 10); + + if (Number.isNaN(val)) throw new OperationError("Values must be numbers in base 10."); + + xValues.add(xVal); + if (typeof series[serie] === "undefined") series[serie] = {}; + series[serie][xVal] = val; + }); + + xValues = new Array(...xValues); + + const seriesList = []; + for (const seriesName in series) { + const serie = series[seriesName]; + seriesList.push({name: seriesName, data: serie}); + } + + return { xValues, series: seriesList }; +} diff --git a/src/core/lib/Ciphers.mjs b/src/core/lib/Ciphers.mjs index 3edd6983..a4d174b5 100644 --- a/src/core/lib/Ciphers.mjs +++ b/src/core/lib/Ciphers.mjs @@ -9,7 +9,7 @@ * */ -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; import CryptoJS from "crypto-js"; /** diff --git a/src/core/lib/ConvertCoordinates.mjs b/src/core/lib/ConvertCoordinates.mjs index af13882d..4fca357d 100644 --- a/src/core/lib/ConvertCoordinates.mjs +++ b/src/core/lib/ConvertCoordinates.mjs @@ -6,9 +6,22 @@ * @license Apache-2.0 */ +import OperationError from "../errors/OperationError.mjs"; import geohash from "ngeohash"; +/* +Currently unable to update to geodesy v2 as we cannot load .js modules into a .mjs file. +When we do update, imports will look like this: + +import LatLonEllipsoidal from "geodesy/latlon-ellipsoidal.js"; +import Mgrs from "geodesy/mgrs.js"; +import OsGridRef from "geodesy/osgridref.js"; +import Utm from "geodesy/utm.js"; +*/ import geodesy from "geodesy"; -import OperationError from "../errors/OperationError"; +const LatLonEllipsoidal = geodesy.LatLonEllipsoidal, + Mgrs = geodesy.Mgrs, + OsGridRef = geodesy.OsGridRef, + Utm = geodesy.Utm; /** * Co-ordinate formats @@ -116,22 +129,22 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli switch (inFormat) { case "Geohash": hash = geohash.decode(input.replace(/[^A-Za-z0-9]/g, "")); - latlon = new geodesy.LatLonEllipsoidal(hash.latitude, hash.longitude); + latlon = new LatLonEllipsoidal(hash.latitude, hash.longitude); break; case "Military Grid Reference System": - utm = geodesy.Mgrs.parse(input.replace(/[^A-Za-z0-9]/g, "")).toUtm(); + utm = Mgrs.parse(input.replace(/[^A-Za-z0-9]/g, "")).toUtm(); latlon = utm.toLatLonE(); break; case "Ordnance Survey National Grid": - osng = geodesy.OsGridRef.parse(input.replace(/[^A-Za-z0-9]/g, "")); - latlon = geodesy.OsGridRef.osGridToLatLon(osng); + osng = OsGridRef.parse(input.replace(/[^A-Za-z0-9]/g, "")); + latlon = OsGridRef.osGridToLatLon(osng); break; case "Universal Transverse Mercator": // Geodesy needs a space between the first 2 digits and the next letter if (/^[\d]{2}[A-Za-z]/.test(input)) { input = input.slice(0, 2) + " " + input.slice(2); } - utm = geodesy.Utm.parse(input); + utm = Utm.parse(input); latlon = utm.toLatLonE(); break; case "Degrees Minutes Seconds": @@ -143,7 +156,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli if (splitLat.length >= 3 && splitLong.length >= 3) { lat = convDMSToDD(splitLat[0], splitLat[1], splitLat[2], 10); lon = convDMSToDD(splitLong[0], splitLong[1], splitLong[2], 10); - latlon = new geodesy.LatLonEllipsoidal(lat.degrees, lon.degrees); + latlon = new LatLonEllipsoidal(lat.degrees, lon.degrees); } else { throw new OperationError("Invalid co-ordinate format for Degrees Minutes Seconds"); } @@ -152,7 +165,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli splitLat = splitInput(split[0]); if (splitLat.length >= 3) { lat = convDMSToDD(splitLat[0], splitLat[1], splitLat[2]); - latlon = new geodesy.LatLonEllipsoidal(lat.degrees, lat.degrees); + latlon = new LatLonEllipsoidal(lat.degrees, lat.degrees); } else { throw new OperationError("Invalid co-ordinate format for Degrees Minutes Seconds"); } @@ -168,7 +181,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli // Convert to decimal degrees, and then convert to a geodesy object lat = convDDMToDD(splitLat[0], splitLat[1], 10); lon = convDDMToDD(splitLong[0], splitLong[1], 10); - latlon = new geodesy.LatLonEllipsoidal(lat.degrees, lon.degrees); + latlon = new LatLonEllipsoidal(lat.degrees, lon.degrees); } else { // Not a pair, so only try to convert one set of co-ordinates splitLat = splitInput(input); @@ -176,7 +189,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli throw new OperationError("Invalid co-ordinate format for Degrees Decimal Minutes."); } lat = convDDMToDD(splitLat[0], splitLat[1], 10); - latlon = new geodesy.LatLonEllipsoidal(lat.degrees, lat.degrees); + latlon = new LatLonEllipsoidal(lat.degrees, lat.degrees); } break; case "Decimal Degrees": @@ -186,14 +199,14 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli if (splitLat.length !== 1 || splitLong.length !== 1) { throw new OperationError("Invalid co-ordinate format for Decimal Degrees."); } - latlon = new geodesy.LatLonEllipsoidal(splitLat[0], splitLong[0]); + latlon = new LatLonEllipsoidal(splitLat[0], splitLong[0]); } else { // Not a pair, so only try to convert one set of co-ordinates splitLat = splitInput(split[0]); if (splitLat.length !== 1) { throw new OperationError("Invalid co-ordinate format for Decimal Degrees."); } - latlon = new geodesy.LatLonEllipsoidal(splitLat[0], splitLat[0]); + latlon = new LatLonEllipsoidal(splitLat[0], splitLat[0]); } break; default: @@ -260,7 +273,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli convLat = mgrs.toString(precision); break; case "Ordnance Survey National Grid": - osng = geodesy.OsGridRef.latLonToOsGrid(latlon); + osng = OsGridRef.latLonToOsGrid(latlon); if (osng.toString() === "") { throw new OperationError("Could not convert co-ordinates to OS National Grid. Are the co-ordinates in range?"); } @@ -327,13 +340,13 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli * @param {string} input - The input data to be split * @returns {number[]} An array of the different items in the string, stored as floats */ -function splitInput (input){ +function splitInput (input) { const split = []; input.split(/\s+/).forEach(item => { // Remove any character that isn't a digit, decimal point or negative sign item = item.replace(/[^0-9.-]/g, ""); - if (item.length > 0){ + if (item.length > 0) { // Turn the item into a float split.push(parseFloat(item)); } @@ -350,7 +363,7 @@ function splitInput (input){ * @param {number} precision - The precision the result should be rounded to * @returns {{string: string, degrees: number}} An object containing the raw converted value (obj.degrees), and a formatted string version (obj.string) */ -function convDMSToDD (degrees, minutes, seconds, precision){ +function convDMSToDD (degrees, minutes, seconds, precision) { const absDegrees = Math.abs(degrees); let conv = absDegrees + (minutes / 60) + (seconds / 3600); let outString = round(conv, precision) + "°"; @@ -566,7 +579,7 @@ export function findFormat (input, delim) { // Test DMS/DDM/DD formats if (testData !== undefined) { const split = splitInput(testData); - switch (split.length){ + switch (split.length) { case 3: return "Degrees Minutes Seconds"; case 2: diff --git a/src/core/lib/Decimal.mjs b/src/core/lib/Decimal.mjs index 846b2a94..a140fd4e 100644 --- a/src/core/lib/Decimal.mjs +++ b/src/core/lib/Decimal.mjs @@ -6,7 +6,7 @@ * @license Apache-2.0 */ -import Utils from "../Utils"; +import Utils from "../Utils.mjs"; /** diff --git a/src/core/lib/Delim.mjs b/src/core/lib/Delim.mjs index 5ad3ddb3..c8cc637b 100644 --- a/src/core/lib/Delim.mjs +++ b/src/core/lib/Delim.mjs @@ -32,7 +32,7 @@ export const WORD_DELIM_OPTIONS = ["Line feed", "CRLF", "Forward slash", "Backsl export const INPUT_DELIM_OPTIONS = ["Line feed", "CRLF", "Space", "Comma", "Semi-colon", "Colon", "Nothing (separate chars)"]; /** - * Armithmetic sequence delimiters + * Arithmetic sequence delimiters */ export const ARITHMETIC_DELIM_OPTIONS = ["Line feed", "Space", "Comma", "Semi-colon", "Colon", "CRLF"]; @@ -72,3 +72,12 @@ export const JOIN_DELIM_OPTIONS = [ {name: "Nothing (join chars)", value: ""} ]; +/** + * RGBA list delimiters. + */ +export const RGBA_DELIM_OPTIONS = [ + {name: "Comma", value: ","}, + {name: "Space", value: " "}, + {name: "CRLF", value: "\\r\\n"}, + {name: "Line Feed", value: "\n"} +]; diff --git a/src/core/lib/Enigma.mjs b/src/core/lib/Enigma.mjs index 39193f69..988e0c45 100644 --- a/src/core/lib/Enigma.mjs +++ b/src/core/lib/Enigma.mjs @@ -5,8 +5,8 @@ * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; /** * Provided default Enigma rotor set. @@ -184,10 +184,10 @@ class PairMapBase { // self-stecker return; } - if (this.map.hasOwnProperty(a)) { + if (Object.prototype.hasOwnProperty.call(this.map, a)) { throw new OperationError(`${name} connects ${pair[0]} more than once`); } - if (this.map.hasOwnProperty(b)) { + if (Object.prototype.hasOwnProperty.call(this.map, b)) { throw new OperationError(`${name} connects ${pair[1]} more than once`); } this.map[a] = b; @@ -203,7 +203,7 @@ class PairMapBase { * @returns {number} */ transform(c) { - if (!this.map.hasOwnProperty(c)) { + if (!Object.prototype.hasOwnProperty.call(this.map, c)) { return c; } return this.map[c]; diff --git a/src/core/lib/FileSignatures.mjs b/src/core/lib/FileSignatures.mjs index 61e37b88..a6efb320 100644 --- a/src/core/lib/FileSignatures.mjs +++ b/src/core/lib/FileSignatures.mjs @@ -6,7 +6,7 @@ * @license Apache-2.0 * */ -import Stream from "./Stream"; +import Stream from "./Stream.mjs"; /** * A categorised table of file types, including signatures to identify them and functions @@ -170,7 +170,7 @@ export const FILE_SIGNATURES = { mime: "image/vnd.adobe.photoshop", description: "", signature: { - 0: 0x38, + 0: 0x38, // 8BPS 1: 0x42, 2: 0x50, 3: 0x53, @@ -185,6 +185,28 @@ export const FILE_SIGNATURES = { }, extractor: null }, + { + name: "Photoshop Large Document", + extension: "psb", + mime: "application/x-photoshop", + description: "", + signature: { + 0: 0x38, // 8BPS + 1: 0x42, + 2: 0x50, + 3: 0x53, + 4: 0x0, + 5: 0x2, + 6: 0x0, + 7: 0x0, + 8: 0x0, + 9: 0x0, + 10: 0x0, + 11: 0x0, + 12: 0x0 + }, + extractor: null + }, { name: "Paint Shop Pro image", extension: "psp", @@ -219,6 +241,28 @@ export const FILE_SIGNATURES = { ], extractor: null }, + { + name: "The GIMP image", + extension: "xcf", + mime: "image/x-xcf", + description: "", + signature: { + 0: 0x67, // gimp xcf + 1: 0x69, + 2: 0x6d, + 3: 0x70, + 4: 0x20, + 5: 0x78, + 6: 0x63, + 7: 0x66, + 8: 0x20, + 9: [0x66, 0x76], + 10: [0x69, 0x30], + 11: [0x6c, 0x30], + 12: [0x65, 0x31, 0x32, 0x33] + }, + extractor: null + }, { name: "Icon image", extension: "ico", @@ -233,11 +277,197 @@ export const FILE_SIGNATURES = { 5: 0x0, 6: [0x10, 0x20, 0x30, 0x40, 0x80], 7: [0x10, 0x20, 0x30, 0x40, 0x80], - 9: 0x00, + 9: 0x0, 10: [0x0, 0x1] }, extractor: null - } + }, + { + name: "Radiance High Dynamic Range image", + extension: "hdr", + mime: "image/vnd.radiance", + description: "", + signature: { + 0: 0x23, // #?RADIANCE + 1: 0x3f, + 2: 0x52, + 3: 0x41, + 4: 0x44, + 5: 0x49, + 6: 0x41, + 7: 0x4e, + 8: 0x43, + 9: 0x45, + 10: 0x0a + }, + extractor: null + }, + { + name: "Sony ARW image", + extension: "arw", + mime: "image/x-raw", + description: "", + signature: { + 0: 0x05, + 1: 0x0, + 2: 0x0, + 3: 0x0, + 4: 0x41, + 5: 0x57, + 6: 0x31, + 7: 0x2e + }, + extractor: null + }, + { + name: "Fujifilm Raw Image", + extension: "raf", + mime: "image/x-raw", + description: "", + signature: { + 0: 0x46, // FUJIFILMCCD-RAW + 1: 0x55, + 2: 0x4a, + 3: 0x49, + 4: 0x46, + 5: 0x49, + 6: 0x4c, + 7: 0x4d, + 8: 0x43, + 9: 0x43, + 10: 0x44, + 11: 0x2d, + 12: 0x52, + 13: 0x41, + 14: 0x57 + }, + extractor: null + }, + { + name: "Minolta RAW image", + extension: "mrw", + mime: "image/x-raw", + description: "", + signature: { + 0: 0x0, + 1: 0x4d, // MRM + 2: 0x52, + 3: 0x4d + }, + extractor: null + }, + { + name: "Adobe Bridge Thumbnail Cache", + extension: "bct", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x6c, + 1: 0x6e, + 2: 0x62, + 3: 0x74, + 4: 0x02, + 5: 0x0, + 6: 0x0, + 7: 0x0 + }, + extractor: null + }, + { + name: "Microsoft Document Imaging", + extension: "mdi", + mime: "image/vnd.ms-modi", + description: "", + signature: { + 0: 0x45, + 1: 0x50, + 2: 0x2a, + 3: 0x00 + }, + extractor: null + }, + { + name: "Joint Photographic Experts Group image (under Base64)", + extension: "B64", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x2f, + 1: 0x39, + 2: 0x6a, + 3: 0x2f, + 4: 0x34 + }, + extractor: null + }, + { + name: "Portable Network Graphics image (under Base64)", + extension: "B64", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x69, + 1: 0x56, + 2: 0x42, + 3: 0x4f, + 4: 0x52, + 5: 0x77, + 6: 0x30 + }, + extractor: null + }, + { + name: "AutoCAD Drawing", + extension: "dwg,123d", + mime: "application/acad", + description: "", + signature: { + 0: 0x41, + 1: 0x43, + 2: 0x31, + 3: 0x30, + 4: [0x30, 0x31], + 5: [0x30, 0x31, 0x32, 0x33, 0x34, 0x35], + 6: 0x00 + }, + extractor: null + }, + { + name: "AutoCAD Drawing", + extension: "dwg,dwt", + mime: "application/acad", + description: "", + signature: [ + { + 0: 0x41, + 1: 0x43, + 2: 0x31, + 3: 0x30, + 4: 0x31, + 5: 0x38, + 6: 0x00 + }, + { + 0: 0x41, + 1: 0x43, + 2: 0x31, + 3: 0x30, + 4: 0x32, + 5: 0x34, + 6: 0x00 + }, + { + 0: 0x41, + 1: 0x43, + 2: 0x31, + 3: 0x30, + 4: 0x32, + 5: 0x37, + 6: 0x00 + } + ], + extractor: null + }, ], "Video": [ { // Place before webm @@ -270,6 +500,23 @@ export const FILE_SIGNATURES = { }, extractor: null }, + { // Place before MPEG-4 + name: "Flash MP4 video", + extension: "f4v", + mime: "video/mp4", + description: "", + signature: { + 4: 0x66, + 5: 0x74, + 6: 0x79, + 7: 0x70, + 8: [0x66, 0x46], + 9: 0x34, + 10: [0x76, 0x56], + 11: 0x20 + }, + extractor: null + }, { name: "MPEG-4 video", extension: "mp4", @@ -419,6 +666,59 @@ export const FILE_SIGNATURES = { }, extractor: extractFLV }, + { + name: "OGG Video", + extension: "ogv,ogm,opus,ogx", + mime: "video/ogg", + description: "", + signature: [ + { + 0: 0x4f, // OggS + 1: 0x67, + 2: 0x67, + 3: 0x53, + 4: 0x00, + 5: 0x02, + 28: 0x01, + 29: 0x76, // video + 30: 0x69, + 31: 0x64, + 32: 0x65, + 33: 0x6f + }, + { + 0: 0x4f, // OggS + 1: 0x67, + 2: 0x67, + 3: 0x53, + 4: 0x00, + 5: 0x02, + 28: 0x80, + 29: 0x74, // theora + 30: 0x68, + 31: 0x65, + 32: 0x6f, + 33: 0x72, + 34: 0x61 + }, + { + 0: 0x4f, // OggS + 1: 0x67, + 2: 0x67, + 3: 0x53, + 4: 0x00, + 5: 0x02, + 28: 0x66, // fishead + 29: 0x69, + 30: 0x73, + 31: 0x68, + 32: 0x65, + 33: 0x61, + 34: 0x64 + } + ], + extractor: null + }, ], "Audio": [ { @@ -534,6 +834,97 @@ export const FILE_SIGNATURES = { }, extractor: null }, + { + name: "Audacity", + extension: "au", + mime: "audio/x-au", + description: "", + signature: { + 0: 0x64, // dns. + 1: 0x6e, + 2: 0x73, + 3: 0x2e, + + 24: 0x41, // AudacityBlockFile + 25: 0x75, + 26: 0x64, + 27: 0x61, + 28: 0x63, + 29: 0x69, + 30: 0x74, + 31: 0x79, + 32: 0x42, + 33: 0x6c, + 34: 0x6f, + 35: 0x63, + 36: 0x6b, + 37: 0x46, + 38: 0x69, + 39: 0x6c, + 40: 0x65 + }, + extractor: null + }, + { + name: "Audacity Block", + extension: "auf", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x41, // AudacityBlockFile + 1: 0x75, + 2: 0x64, + 3: 0x61, + 4: 0x63, + 5: 0x69, + 6: 0x74, + 7: 0x79, + 8: 0x42, + 9: 0x6c, + 10: 0x6f, + 11: 0x63, + 12: 0x6b, + 13: 0x46, + 14: 0x69, + 15: 0x6c, + 16: 0x65 + }, + extractor: null + }, + { + name: "Audio Interchange File", + extension: "aif", + mime: "audio/x-aiff", + description: "", + signature: { + 0: 0x46, // FORM + 1: 0x4f, + 2: 0x52, + 3: 0x4d, + 8: 0x41, // AIFF + 9: 0x49, + 10: 0x46, + 11: 0x46 + }, + extractor: null + }, + { + name: "Audio Interchange File (compressed)", + extension: "aifc", + mime: "audio/x-aifc", + description: "", + signature: { + 0: 0x46, // FORM + 1: 0x4f, + 2: 0x52, + 3: 0x4d, + 8: 0x41, // AIFC + 9: 0x49, + 10: 0x46, + 11: 0x43 + }, + extractor: null + } ], "Documents": [ { @@ -549,6 +940,41 @@ export const FILE_SIGNATURES = { }, extractor: extractPDF }, + { + name: "Portable Document Format (under Base64)", + extension: "B64", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x41, + 1: 0x4a, + 2: 0x56, + 3: 0x42, + 4: 0x45, + 5: 0x52, + 6: 0x69 + }, + extractor: null + }, + { // Place before PostScript + name: "Adobe PostScript", + extension: "ps,eps,ai,pfa", + mime: "application/postscript", + description: "", + signature: { + 0: 0x25, + 1: 0x21, + 2: 0x50, + 3: 0x53, + 4: 0x2d, + 5: 0x41, + 6: 0x64, + 7: 0x6f, + 8: 0x62, + 9: 0x65 + }, + extractor: null + }, { name: "PostScript", extension: "ps", @@ -560,6 +986,19 @@ export const FILE_SIGNATURES = { }, extractor: null }, + { + name: "Encapsulated PostScript", + extension: "eps,ai", + mime: "application/eps", + description: "", + signature: { + 0: 0xc5, + 1: 0xd0, + 2: 0xd3, + 3: 0xc6 + }, + extractor: null + }, { name: "Rich Text Format", extension: "rtf", @@ -575,7 +1014,7 @@ export const FILE_SIGNATURES = { extractor: extractRTF }, { - name: "Microsoft Office documents/OLE2", + name: "Microsoft Office document/OLE2", extension: "ole2,doc,xls,dot,ppt,xla,ppa,pps,pot,msi,sdw,db,vsd,msg", mime: "application/msword,application/vnd.ms-excel,application/vnd.ms-powerpoint", description: "Microsoft Office documents", @@ -592,7 +1031,24 @@ export const FILE_SIGNATURES = { extractor: null }, { - name: "Microsoft Office 2007+ documents", + name: "Microsoft Office document/OLE2 (under Base64)", + extension: "B64", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x30, + 1: 0x4d, + 2: 0x38, + 3: 0x52, + 4: 0x34, + 5: 0x4b, + 6: 0x47, + 7: 0x78 + }, + extractor: null + }, + { + name: "Microsoft Office 2007+ document", extension: "docx,xlsx,pptx", mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.presentationml.presentation", description: "", @@ -611,6 +1067,147 @@ export const FILE_SIGNATURES = { }, extractor: extractZIP }, + { + name: "Microsoft Access database", + extension: "mdb,mda,mde,mdt,fdb,psa", + mime: "application/msaccess", + description: "", + signature: { + 0: 0x00, + 1: 0x01, + 2: 0x00, + 3: 0x00, + 4: 0x53, // Standard Jet + 5: 0x74, + 6: 0x61, + 7: 0x6e, + 8: 0x64, + 9: 0x61, + 10: 0x72, + 11: 0x64, + 12: 0x20, + 13: 0x4a, + 14: 0x65, + 15: 0x74 + }, + extractor: null + }, + { + name: "Microsoft Access 2007+ database", + extension: "accdb,accde,accda,accdu", + mime: "application/msaccess", + description: "", + signature: { + 0: 0x00, + 1: 0x01, + 2: 0x00, + 3: 0x00, + 4: 0x53, // Standard ACE DB + 5: 0x74, + 6: 0x61, + 7: 0x6e, + 8: 0x64, + 9: 0x61, + 10: 0x72, + 11: 0x64, + 12: 0x20, + 13: 0x41, + 14: 0x43, + 15: 0x45, + 16: 0x20 + }, + extractor: null + }, + { + name: "Microsoft OneNote document", + extension: "one", + mime: "application/onenote", + description: "", + signature: { + 0: 0xe4, + 1: 0x52, + 2: 0x5c, + 3: 0x7b, + 4: 0x8c, + 5: 0xd8, + 6: 0xa7, + 7: 0x4d, + 8: 0xae, + 9: 0xb1, + 10: 0x53, + 11: 0x78, + 12: 0xd0, + 13: 0x29, + 14: 0x96, + 15: 0xd3 + }, + extractor: null + }, + { + name: "Outlook Express database", + extension: "dbx", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0xcf, + 1: 0xad, + 2: 0x12, + 3: 0xfe, + 4: [0x30, 0xc5, 0xc6, 0xc7], + 11: 0x11 + }, + extractor: null + }, + { + name: "Personal Storage Table (Outlook)", + extension: "pst,ost,fdb,pab", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x21, // !BDN + 1: 0x42, + 2: 0x44, + 3: 0x4e + }, + extractor: null + }, + { + name: "Microsoft Exchange Database", + extension: "edb", + mime: "application/octet-stream", + description: "", + signature: { + 4: 0xef, + 5: 0xcd, + 6: 0xab, + 7: 0x89, + 8: [0x20, 0x23], + 9: 0x06, + 10: 0x00, + 11: 0x00, + 12: [0x00, 0x01], + 13: 0x00, + 14: 0x00, + 15: 0x00 + }, + extractor: null + }, + { + name: "WordPerfect document", + extension: "wpd,wp,wp5,wp6,wpp,bk!,wcm", + mime: "application/wordperfect", + description: "", + signature: { + 0: 0xff, + 1: 0x57, + 2: 0x50, + 3: 0x43, + 7: [0x00, 0x01, 0x02], + 8: 0x01, + 9: 0x0a + }, + extractor: null + }, { name: "EPUB e-book", extension: "epub", @@ -657,7 +1254,7 @@ export const FILE_SIGNATURES = { { name: "Windows Portable Executable", extension: "exe,dll,drv,vxd,sys,ocx,vbx,com,fon,scr", - mime: "application/x-msdownload", + mime: "application/vnd.microsoft.portable-executable", description: "", signature: { 0: 0x4d, @@ -668,7 +1265,7 @@ export const FILE_SIGNATURES = { extractor: extractMZPE }, { - name: "Executable and Linkable Format file", + name: "Executable and Linkable Format", extension: "elf,bin,axf,o,prx,so", mime: "application/x-executable", description: "Executable and Linkable Format file. No standard file extension.", @@ -680,6 +1277,36 @@ export const FILE_SIGNATURES = { }, extractor: extractELF }, + { + name: "MacOS Mach-O object", + extension: "dylib", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0xca, + 1: 0xfe, + 2: 0xba, + 3: 0xbe, + 4: 0x00, + 5: 0x00, + 6: 0x00, + 7: [0x01, 0x02, 0x03] + }, + extractor: null + }, + { + name: "MacOS Mach-O 64-bit object", + extension: "dylib", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0xcf, + 1: 0xfa, + 2: 0xed, + 3: 0xfe + }, + extractor: null + }, { name: "Adobe Flash", extension: "swf", @@ -688,7 +1315,7 @@ export const FILE_SIGNATURES = { signature: { 0: [0x43, 0x46], 1: 0x57, - 2: 0x53 + 2: 0x53, }, extractor: null }, @@ -750,13 +1377,28 @@ export const FILE_SIGNATURES = { }, extractor: extractZIP }, + { + name: "PKZIP archive (under Base64)", + extension: "B64", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x55, + 1: 0x45, + 2: 0x73, + 3: 0x44, + 4: 0x42, + 5: 0x42 + }, + extractor: null + }, { name: "TAR archive", extension: "tar", mime: "application/x-tar", description: "", signature: { - 257: 0x75, + 257: 0x75, // ustar 258: 0x73, 259: 0x74, 260: 0x61, @@ -894,14 +1536,203 @@ export const FILE_SIGNATURES = { signature: { 0: 0x4b, 1: 0x44, - 2: 0x4d + 2: 0x4d, + 3: 0x56, + 5: 0x00, + 6: 0x00, + 7: 0x00 + }, + extractor: null + }, + { + name: "Virtual Hard Drive", + extension: "vhd", + mime: "application/x-vhd", + description: "", + signature: { + 0: 0x63, // conectix + 1: 0x6f, + 2: 0x6e, + 3: 0x65, + 4: 0x63, + 5: 0x74, + 6: 0x69, + 7: 0x78 + }, + extractor: null + }, + { + name: "Macintosh disk image", + extension: "dmf,dmg", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x78, + 1: 0x01, + 2: 0x73, + 3: 0x0d, + 4: 0x62, + 5: 0x62, + 6: 0x60, + 7: 0x60 + }, + extractor: null + }, + { + name: "ARJ Archive", + extension: "arj", + mime: "application/x-arj-compressed", + description: "", + signature: { + 0: 0x60, + 1: 0xea, + 8: [0x0, 0x10, 0x14], + 9: 0x0, + 10: 0x2 + }, + extractor: null + }, + { + name: "WinAce Archive", + extension: "ace", + mime: "application/x-ace-compressed", + description: "", + signature: { + 7: 0x2a, // **ACE** + 8: 0x2a, + 9: 0x41, + 10: 0x43, + 11: 0x45, + 12: 0x2a, + 13: 0x2a + }, + extractor: null + }, + { + name: "Macintosh BinHex Encoded File", + extension: "hqx", + mime: "application/mac-binhex", + description: "", + signature: { + 11: 0x6d, // must be converted with BinHex + 12: 0x75, + 13: 0x73, + 14: 0x74, + 15: 0x20, + 16: 0x62, + 17: 0x65, + 18: 0x20, + 19: 0x63, + 20: 0x6f, + 21: 0x6e, + 22: 0x76, + 23: 0x65, + 24: 0x72, + 25: 0x74, + 26: 0x65, + 27: 0x64, + 28: 0x20, + 29: 0x77, + 30: 0x69, + 31: 0x74, + 32: 0x68, + 33: 0x20, + 34: 0x42, + 35: 0x69, + 36: 0x6e, + 37: 0x48, + 38: 0x65, + 39: 0x78 + }, + extractor: null + }, + { + name: "ALZip Archive", + extension: "alz", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x41, // ALZ + 1: 0x4c, + 2: 0x5a, + 3: 0x01, + 4: 0x0a, + 5: 0x0, + 6: 0x0, + 7: 0x0 + }, + extractor: null + }, + { + name: "KGB Compressed Archive", + extension: "kgb", + mime: "application/x-kgb-compressed", + description: "", + signature: { + 0: 0x4b, // KGB_arch - + 1: 0x47, + 2: 0x42, + 3: 0x5f, + 4: 0x61, + 5: 0x72, + 6: 0x63, + 7: 0x68, + 8: 0x20, + 9: 0x2d + }, + extractor: null + }, + { + name: "Microsoft Cabinet", + extension: "cab", + mime: "vnd.ms-cab-compressed", + description: "", + signature: { + 0: 0x4d, + 1: 0x53, + 2: 0x43, + 3: 0x46, + 4: 0x00, + 5: 0x00, + 6: 0x00, + 7: 0x00 + }, + extractor: null + }, + { + name: "Jar Archive", + extension: "jar", + mime: "application/java-archive", + description: "", + signature: { + 0: 0x5f, + 1: 0x27, + 2: 0xa8, + 3: 0x89 + }, + extractor: null + }, + { + name: "lzop compressed", + extension: "lzop,lzo", + mime: "application/x-lzop", + description: "", + signature: { + 0: 0x89, + 1: 0x4c, // LZO + 2: 0x5a, + 3: 0x4f, + 4: 0x00, + 5: 0x0d, + 6: 0x0a, + 7: 0x1a }, extractor: null }, ], "Miscellaneous": [ { - name: "UTF-8 text file", + name: "UTF-8 text", extension: "txt", mime: "text/plain", description: "UTF-8 encoded Unicode byte order mark, commonly but not exclusively seen in text files.", @@ -912,8 +1743,8 @@ export const FILE_SIGNATURES = { }, extractor: null }, - { // Place before UTF-16 LE file - name: "UTF-32 LE file", + { // Place before UTF-16 LE text + name: "UTF-32 LE text", extension: "utf32le", mime: "charset/utf32le", description: "Little-endian UTF-32 encoded Unicode byte order mark.", @@ -926,7 +1757,7 @@ export const FILE_SIGNATURES = { extractor: null }, { - name: "UTF-16 LE file", + name: "UTF-16 LE text", extension: "utf16le", mime: "charset/utf16le", description: "Little-endian UTF-16 encoded Unicode byte order mark.", @@ -1041,6 +1872,466 @@ export const FILE_SIGNATURES = { }, extractor: null }, + { + name: "BitTorrent link", + extension: "torrent", + mime: "application/x-bittorrent", + description: "", + signature: [ + { + 0: 0x64, // d8:announce##: + 1: 0x38, + 2: 0x3a, + 3: 0x61, + 4: 0x6e, + 5: 0x6e, + 6: 0x6f, + 7: 0x75, + 8: 0x6e, + 9: 0x63, + 10: 0x65, + 11: 0x23, + 12: 0x23, + 13: 0x3a + }, + { + 0: 0x64, // d4:infod + 1: 0x34, + 2: 0x3a, + 3: 0x69, + 4: 0x6e, + 5: 0x66, + 6: 0x6f, + 7: 0x64, + 8: [0x34, 0x35, 0x36], + 9: 0x3a + } + ], + extractor: null + }, + { + name: "Cryptocurrency wallet", + extension: "wallet", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x00, + 1: 0x00, + 2: 0x00, + 3: 0x00, + 4: 0x01, + 5: 0x00, + 6: 0x00, + 7: 0x00, + 8: 0x00, + 9: 0x00, + 10: 0x00, + 11: 0x00, + 12: 0x62, + 13: 0x31, + 14: 0x05, + 15: 0x00 + }, + extractor: null + }, + { + name: "Registry fragment", + extension: "hbin", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x68, // hbin + 1: 0x62, + 2: 0x69, + 3: 0x6e, + 4: 0x00 + }, + extractor: null + }, + { + name: "Registry script", + extension: "rgs", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x48, // HKCR + 1: 0x4b, + 2: 0x43, + 3: 0x52, + 4: 0x0d, + 5: 0x0a, + 6: 0x5c, + 7: 0x7b + }, + extractor: null + }, + { + name: "WinNT Registry Hive", + extension: "registry", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x72, + 1: 0x65, + 2: 0x67, + 3: 0x66 + }, + extractor: null + }, + { + name: "Windows Event Log", + extension: "evt", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x30, + 1: 0x00, + 2: 0x00, + 3: 0x00, + 4: 0x4c, + 5: 0x66, + 6: 0x4c, + 7: 0x65 + }, + extractor: null + }, + { + name: "Windows Event Log", + extension: "evtx", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x45, // ElfFile + 1: 0x6c, + 2: 0x66, + 3: 0x46, + 4: 0x69, + 5: 0x6c, + 6: 0x65 + }, + extractor: null + }, + { + name: "Windows Pagedump", + extension: "dmp", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0x50, // PAGEDU(MP|64) + 1: 0x41, + 2: 0x47, + 3: 0x45, + 4: 0x44, + 5: 0x55, + 6: [0x4d, 0x36], + 7: [0x50, 0x34] + }, + extractor: null + }, + { + name: "Windows Prefetch", + extension: "pf", + mime: "application/x-pf", + description: "", + signature: { + 0: [0x11, 0x17, 0x1a], + 1: 0x0, + 2: 0x0, + 3: 0x0, + 4: 0x53, + 5: 0x43, + 6: 0x43, + 7: 0x41 + }, + extractor: null + }, + { + name: "Windows Prefetch (Win 10)", + extension: "pf", + mime: "application/x-pf", + description: "", + signature: { + 0: 0x4d, + 1: 0x41, + 2: 0x4d, + 3: 0x04, + 7: 0x0 + }, + extractor: null + }, + { + name: "PList (XML)", + extension: "plist", + mime: "application/xml", + description: "", + signature: { + 39: 0x3c, // b >= 0x01 && b <= 0x80, + 23: 0x06 + }, + extractor: null + }, + { + name: "UDP Packet", + extension: "udp", + mime: "application/udp", + description: "", + signature: { + 12: 0x08, + 13: 0x00, + 14: 0x45, + 15: 0x00, + 16: [0x00, 0x01, 0x02, 0x03, 0x04, 0x05], + 22: b => b >= 0x01 && b <= 0x80, + 23: 0x11 + }, + extractor: null + }, + { + name: "Compiled HTML", + extension: "chm,chw,chi", + mime: "application/vnd.ms-htmlhelp", + description: "", + signature: { + 0: 0x49, // ITSF + 1: 0x54, + 2: 0x53, + 3: 0x46, + 4: 0x03, + 5: 0x00, + 6: 0x00, + 7: 0x00 + }, + extractor: null + }, + { + name: "Windows Password", + extension: "pwl", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0xe3, + 1: 0x82, + 2: 0x85, + 3: 0x96 + }, + extractor: null + }, + { + name: "Bitlocker recovery key", + extension: "bitlocker", + mime: "application/octet-stream", + description: "", + signature: { + 0: 0xff, + 1: 0xfe, + 2: 0x42, + 3: 0x00, + 4: 0x69, + 5: 0x00, + 6: 0x74, + 7: 0x00, + 8: 0x4c, + 9: 0x00, + 10: 0x6f, + 11: 0x00, + 12: 0x63, + 13: 0x00, + 14: 0x6b, + 15: 0x00, + 16: 0x65, + 17: 0x00, + 18: 0x72, + 19: 0x00, + 20: 0x20, + 21: 0x00 + }, + extractor: null + }, + { + name: "Certificate", + extension: "cer,cat,p7b,p7c,p7m,p7s,swz,rsa,crl,crt,der", + mime: "application/pkix-cert", + description: "", + signature: { + 0: 0x30, + 1: 0x82, + 4: [0x06, 0x0a, 0x30] + }, + extractor: null + }, + { + name: "Certificate", + extension: "cat,swz,p7m", + mime: "application/vnd.ms-pki.seccat", + description: "", + signature: { + 0: 0x30, + 1: 0x83, + 2: b => b !== 0x00, + 5: 0x06, + 6: 0x09 + }, + extractor: null + }, + { + name: "PGP pubring", + extension: "pkr,gpg", + mime: "application/pgp-keys", + description: "", + signature: { + 0: 0x99, + 1: 0x01, + 2: [0x0d, 0xa2], + 3: 0x04 + }, + extractor: null + }, + { + name: "PGP secring", + extension: "skr", + mime: "application/pgp-keys", + description: "", + signature: [ + { + 0: 0x95, + 1: 0x01, + 2: 0xcf, + 3: 0x04 + }, + { + 0: 0x95, + 1: 0x03, + 2: 0xc6, + 3: 0x04 + } + ], + extractor: null + }, + { + name: "PGP Safe", + extension: "pgd", + mime: "application/pgp-keys", + description: "", + signature: { + 0: 0x50, // PGPdMAIN + 1: 0x47, + 2: 0x50, + 3: 0x64, + 4: 0x4d, + 5: 0x41, + 6: 0x49, + 7: 0x4e, + 8: 0x60, + 9: 0x01, + 10: 0x00 + }, + extractor: null + }, + { + name: "Task Scheduler", + extension: "job", + mime: "application/octet-stream", + description: "", + signature: { + 0: [0x00, 0x01, 0x02, 0x03], + 1: [0x05, 0x06], + 2: 0x01, + 3: 0x00, + 20: 0x46, + 21: 0x00 + }, + extractor: null + }, + { + name: "Windows Shortcut", + extension: "lnk", + mime: "application/x-ms-shortcut", + description: "", + signature: { + 0: 0x4c, + 1: 0x00, + 2: 0x00, + 3: 0x00, + 4: 0x01, + 5: 0x14, + 6: 0x02, + 7: 0x00, + 8: 0x00, + 9: 0x00, + 10: 0x00, + 11: 0x00, + 12: 0xc0, + 13: 0x00, + 14: 0x00, + 15: 0x00, + 16: 0x00, + 17: 0x00, + 18: 0x00, + 19: 0x46 + }, + extractor: null + } ] }; @@ -1160,7 +2451,7 @@ export function extractJPEG(bytes, offset) { export function extractMZPE(bytes, offset) { const stream = new Stream(bytes.slice(offset)); - // Move to PE header pointer + // Read pointer to PE header stream.moveTo(0x3c); const peAddress = stream.readInt(4, "le"); @@ -1171,12 +2462,36 @@ export function extractMZPE(bytes, offset) { stream.moveForwardsBy(6); const numSections = stream.readInt(2, "le"); - // Get optional header size - stream.moveForwardsBy(12); - const optionalHeaderSize = stream.readInt(2, "le"); + // Read Optional Header Magic to determine the state of the image file + // 0x10b = normal executable, 0x107 = ROM image, 0x20b = PE32+ executable + stream.moveForwardsBy(16); + const optionalMagic = stream.readInt(2, "le"); + const pe32Plus = optionalMagic === 0x20b; - // Move past optional header to section header - stream.moveForwardsBy(2 + optionalHeaderSize); + // Move to Data Directory + const dataDirectoryOffset = pe32Plus ? 112 : 96; + stream.moveForwardsBy(dataDirectoryOffset - 2); + + // Read Certificate Table address and size (IMAGE_DIRECTORY_ENTRY_SECURITY) + stream.moveForwardsBy(32); + const certTableAddress = stream.readInt(4, "le"); + const certTableSize = stream.readInt(4, "le"); + + // PE files can contain extra data appended to the end of the file called an "overlay". + // This data is not covered by the PE header and could be any arbitrary format, so its + // length cannot be determined without contextual information. + // However, the Attribute Certificate Table is stored in the overlay - usually right at + // the end. Therefore, if this table is defined, we can use its offset and size to carve + // out the entire PE file, including the overlay. + // If the Certificate Table is not defined, we continue to parse the PE file as best we + // can up to the end of the final section, not including any appended data in the overlay. + if (certTableAddress > 0) { + stream.moveTo(certTableAddress + certTableSize); + return stream.carve(); + } + + // Move past Optional Header to Section Header + stream.moveForwardsBy(88); // Move to final section header stream.moveForwardsBy((numSections - 1) * 0x28); @@ -1374,6 +2689,25 @@ export function extractRTF(bytes, offset) { } +/** + * PList (XML) extractor. + * + * @param {Uint8Array} bytes + * @param {number} offset + * @returns {Uint8Array} + */ +export function extractPListXML(bytes, offset) { + const stream = new Stream(bytes.slice(offset)); + + // Find closing tag () + stream.continueUntil([0x3c, 0x2f, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x3e]); + stream.moveForwardsBy(8); + stream.consumeIf(0x0a); + + return stream.carve(); +} + + /** * GZIP extractor. * diff --git a/src/core/lib/FileType.mjs b/src/core/lib/FileType.mjs index e961a76f..291760d7 100644 --- a/src/core/lib/FileType.mjs +++ b/src/core/lib/FileType.mjs @@ -6,8 +6,8 @@ * @license Apache-2.0 * */ -import {FILE_SIGNATURES} from "./FileSignatures"; -import {sendStatusMessage} from "../Utils"; +import {FILE_SIGNATURES} from "./FileSignatures.mjs"; +import {sendStatusMessage} from "../Utils.mjs"; /** @@ -75,7 +75,7 @@ function bytesMatch(sig, buf, offset=0) { * Given a buffer, detects magic byte sequences at specific positions and returns the * extension and mime type. * - * @param {Uint8Array} buf + * @param {Uint8Array|ArrayBuffer} buf * @param {string[]} [categories=All] - Which categories of file to look for * @returns {Object[]} types * @returns {string} type.name - Name of file type @@ -84,6 +84,10 @@ function bytesMatch(sig, buf, offset=0) { * @returns {string} [type.desc] - Description */ export function detectFileType(buf, categories=Object.keys(FILE_SIGNATURES)) { + if (buf instanceof ArrayBuffer) { + buf = new Uint8Array(buf); + } + if (!(buf && buf.length > 1)) { return []; } @@ -174,7 +178,7 @@ export function scanForFileTypes(buf, categories=Object.keys(FILE_SIGNATURES)) { * @param {Uint8Array} buf - The buffer to search * @param {Object} sig - A single signature object (Not an array of signatures) * @param {number} offset - Where to start search from - * @returs {number} The position of the match or -1 if one cannot be found. + * @returns {number} The position of the match or -1 if one cannot be found. */ function locatePotentialSig(buf, sig, offset) { // Find values for first key and value in sig @@ -203,7 +207,7 @@ function locatePotentialSig(buf, sig, offset) { * Detects whether the given buffer is a file of the type specified. * * @param {string|RegExp} type - * @param {Uint8Array} buf + * @param {Uint8Array|ArrayBuffer} buf * @returns {string|false} The mime type or false if the type does not match */ export function isType(type, buf) { @@ -230,7 +234,7 @@ export function isType(type, buf) { /** * Detects whether the given buffer contains an image file. * - * @param {Uint8Array} buf + * @param {Uint8Array|ArrayBuffer} buf * @returns {string|false} The mime type or false if the type does not match */ export function isImage(buf) { diff --git a/src/core/lib/Hash.mjs b/src/core/lib/Hash.mjs index 4af48d13..d572b8b0 100644 --- a/src/core/lib/Hash.mjs +++ b/src/core/lib/Hash.mjs @@ -7,8 +7,8 @@ * @license Apache-2.0 */ -import Utils from "../Utils"; -import CryptoApi from "crypto-api/src/crypto-api"; +import Utils from "../Utils.mjs"; +import CryptoApi from "crypto-api/src/crypto-api.mjs"; /** diff --git a/src/core/lib/Hex.mjs b/src/core/lib/Hex.mjs index 760d84b5..5ae06a7e 100644 --- a/src/core/lib/Hex.mjs +++ b/src/core/lib/Hex.mjs @@ -6,13 +6,13 @@ * @license Apache-2.0 */ -import Utils from "../Utils"; +import Utils from "../Utils.mjs"; /** * Convert a byte array into a hex string. * - * @param {Uint8Array|byteArray} data + * @param {byteArray|Uint8Array|ArrayBuffer} data * @param {string} [delim=" "] * @param {number} [padding=2] * @returns {string} @@ -26,6 +26,7 @@ import Utils from "../Utils"; */ export function toHex(data, delim=" ", padding=2) { if (!data) return ""; + if (data instanceof ArrayBuffer) data = new Uint8Array(data); let output = ""; @@ -47,7 +48,7 @@ export function toHex(data, delim=" ", padding=2) { /** * Convert a byte array into a hex string as efficiently as possible with no options. * - * @param {byteArray} data + * @param {byteArray|Uint8Array|ArrayBuffer} data * @returns {string} * * @example @@ -56,6 +57,7 @@ export function toHex(data, delim=" ", padding=2) { */ export function toHexFast(data) { if (!data) return ""; + if (data instanceof ArrayBuffer) data = new Uint8Array(data); const output = []; @@ -100,7 +102,7 @@ export function fromHex(data, delim="Auto", byteLen=2) { /** * To Hexadecimal delimiters. */ -export const TO_HEX_DELIM_OPTIONS = ["Space", "Comma", "Semi-colon", "Colon", "Line feed", "CRLF", "0x", "\\x", "None"]; +export const TO_HEX_DELIM_OPTIONS = ["Space", "Percent", "Comma", "Semi-colon", "Colon", "Line feed", "CRLF", "0x", "\\x", "None"]; /** diff --git a/src/core/lib/IP.mjs b/src/core/lib/IP.mjs index cfefbd11..f9c54ad0 100644 --- a/src/core/lib/IP.mjs +++ b/src/core/lib/IP.mjs @@ -8,8 +8,8 @@ * @license Apache-2.0 */ -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Parses an IPv4 CIDR range (e.g. 192.168.0.0/24) and displays information about it. @@ -241,7 +241,7 @@ export function ipv6ListedRange(match, includeNetworkInfo) { ipv6List = ipv6List.filter(function(str) { return str.trim(); }); - for (let i =0; i < ipv6List.length; i++){ + for (let i =0; i < ipv6List.length; i++) { ipv6List[i] = ipv6List[i].trim(); } const ipv6CidrList = ipv6List.filter(function(a) { @@ -502,8 +502,8 @@ export function ipv6Compare(a, b) { const a_ = strToIpv6(a), b_ = strToIpv6(b); - for (let i = 0; i < a_.length; i++){ - if (a_[i] !== b_[i]){ + for (let i = 0; i < a_.length; i++) { + if (a_[i] !== b_[i]) { return a_[i] - b_[i]; } } diff --git a/src/core/lib/ImageManipulation.mjs b/src/core/lib/ImageManipulation.mjs new file mode 100644 index 00000000..63a80fe4 --- /dev/null +++ b/src/core/lib/ImageManipulation.mjs @@ -0,0 +1,251 @@ +/** + * Image manipulation resources + * + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import OperationError from "../errors/OperationError.mjs"; + +/** + * Gaussian blurs an image. + * + * @param {jimp} input + * @param {number} radius + * @param {boolean} fast + * @returns {jimp} + */ +export function gaussianBlur (input, radius) { + try { + // From http://blog.ivank.net/fastest-gaussian-blur.html + const boxes = boxesForGauss(radius, 3); + for (let i = 0; i < 3; i++) { + input = boxBlur(input, (boxes[i] - 1) / 2); + } + } catch (err) { + throw new OperationError(`Error blurring image. (${err})`); + } + + return input; +} + +/** + * + * @param {number} radius + * @param {number} numBoxes + * @returns {Array} + */ +function boxesForGauss(radius, numBoxes) { + const idealWidth = Math.sqrt((12 * radius * radius / numBoxes) + 1); + + let wl = Math.floor(idealWidth); + + if (wl % 2 === 0) { + wl--; + } + + const wu = wl + 2; + + const mIdeal = (12 * radius * radius - numBoxes * wl * wl - 4 * numBoxes * wl - 3 * numBoxes) / (-4 * wl - 4); + const m = Math.round(mIdeal); + + const sizes = []; + for (let i = 0; i < numBoxes; i++) { + sizes.push(i < m ? wl : wu); + } + return sizes; +} + +/** + * Applies a box blur effect to the image + * + * @param {jimp} source + * @param {number} radius + * @returns {jimp} + */ +function boxBlur (source, radius) { + const width = source.bitmap.width; + const height = source.bitmap.height; + let output = source.clone(); + output = boxBlurH(source, output, width, height, radius); + source = boxBlurV(output, source, width, height, radius); + + return source; +} + +/** + * Applies the horizontal blur + * + * @param {jimp} source + * @param {jimp} output + * @param {number} width + * @param {number} height + * @param {number} radius + * @returns {jimp} + */ +function boxBlurH (source, output, width, height, radius) { + const iarr = 1 / (radius + radius + 1); + for (let i = 0; i < height; i++) { + let ti = 0, + li = ti, + ri = ti + radius; + const idx = source.getPixelIndex(ti, i); + const firstValRed = source.bitmap.data[idx], + firstValGreen = source.bitmap.data[idx + 1], + firstValBlue = source.bitmap.data[idx + 2], + firstValAlpha = source.bitmap.data[idx + 3]; + + const lastIdx = source.getPixelIndex(width - 1, i), + lastValRed = source.bitmap.data[lastIdx], + lastValGreen = source.bitmap.data[lastIdx + 1], + lastValBlue = source.bitmap.data[lastIdx + 2], + lastValAlpha = source.bitmap.data[lastIdx + 3]; + + let red = (radius + 1) * firstValRed; + let green = (radius + 1) * firstValGreen; + let blue = (radius + 1) * firstValBlue; + let alpha = (radius + 1) * firstValAlpha; + + for (let j = 0; j < radius; j++) { + const jIdx = source.getPixelIndex(ti + j, i); + red += source.bitmap.data[jIdx]; + green += source.bitmap.data[jIdx + 1]; + blue += source.bitmap.data[jIdx + 2]; + alpha += source.bitmap.data[jIdx + 3]; + } + + for (let j = 0; j <= radius; j++) { + const jIdx = source.getPixelIndex(ri++, i); + red += source.bitmap.data[jIdx] - firstValRed; + green += source.bitmap.data[jIdx + 1] - firstValGreen; + blue += source.bitmap.data[jIdx + 2] - firstValBlue; + alpha += source.bitmap.data[jIdx + 3] - firstValAlpha; + + const tiIdx = source.getPixelIndex(ti++, i); + output.bitmap.data[tiIdx] = Math.round(red * iarr); + output.bitmap.data[tiIdx + 1] = Math.round(green * iarr); + output.bitmap.data[tiIdx + 2] = Math.round(blue * iarr); + output.bitmap.data[tiIdx + 3] = Math.round(alpha * iarr); + } + + for (let j = radius + 1; j < width - radius; j++) { + const riIdx = source.getPixelIndex(ri++, i); + const liIdx = source.getPixelIndex(li++, i); + red += source.bitmap.data[riIdx] - source.bitmap.data[liIdx]; + green += source.bitmap.data[riIdx + 1] - source.bitmap.data[liIdx + 1]; + blue += source.bitmap.data[riIdx + 2] - source.bitmap.data[liIdx + 2]; + alpha += source.bitmap.data[riIdx + 3] - source.bitmap.data[liIdx + 3]; + + const tiIdx = source.getPixelIndex(ti++, i); + output.bitmap.data[tiIdx] = Math.round(red * iarr); + output.bitmap.data[tiIdx + 1] = Math.round(green * iarr); + output.bitmap.data[tiIdx + 2] = Math.round(blue * iarr); + output.bitmap.data[tiIdx + 3] = Math.round(alpha * iarr); + } + + for (let j = width - radius; j < width; j++) { + const liIdx = source.getPixelIndex(li++, i); + red += lastValRed - source.bitmap.data[liIdx]; + green += lastValGreen - source.bitmap.data[liIdx + 1]; + blue += lastValBlue - source.bitmap.data[liIdx + 2]; + alpha += lastValAlpha - source.bitmap.data[liIdx + 3]; + + const tiIdx = source.getPixelIndex(ti++, i); + output.bitmap.data[tiIdx] = Math.round(red * iarr); + output.bitmap.data[tiIdx + 1] = Math.round(green * iarr); + output.bitmap.data[tiIdx + 2] = Math.round(blue * iarr); + output.bitmap.data[tiIdx + 3] = Math.round(alpha * iarr); + } + } + return output; +} + +/** + * Applies the vertical blur + * + * @param {jimp} source + * @param {jimp} output + * @param {number} width + * @param {number} height + * @param {number} radius + * @returns {jimp} + */ +function boxBlurV (source, output, width, height, radius) { + const iarr = 1 / (radius + radius + 1); + for (let i = 0; i < width; i++) { + let ti = 0, + li = ti, + ri = ti + radius; + + const idx = source.getPixelIndex(i, ti); + + const firstValRed = source.bitmap.data[idx], + firstValGreen = source.bitmap.data[idx + 1], + firstValBlue = source.bitmap.data[idx + 2], + firstValAlpha = source.bitmap.data[idx + 3]; + + const lastIdx = source.getPixelIndex(i, height - 1), + lastValRed = source.bitmap.data[lastIdx], + lastValGreen = source.bitmap.data[lastIdx + 1], + lastValBlue = source.bitmap.data[lastIdx + 2], + lastValAlpha = source.bitmap.data[lastIdx + 3]; + + let red = (radius + 1) * firstValRed; + let green = (radius + 1) * firstValGreen; + let blue = (radius + 1) * firstValBlue; + let alpha = (radius + 1) * firstValAlpha; + + for (let j = 0; j < radius; j++) { + const jIdx = source.getPixelIndex(i, ti + j); + red += source.bitmap.data[jIdx]; + green += source.bitmap.data[jIdx + 1]; + blue += source.bitmap.data[jIdx + 2]; + alpha += source.bitmap.data[jIdx + 3]; + } + + for (let j = 0; j <= radius; j++) { + const riIdx = source.getPixelIndex(i, ri++); + red += source.bitmap.data[riIdx] - firstValRed; + green += source.bitmap.data[riIdx + 1] - firstValGreen; + blue += source.bitmap.data[riIdx + 2] - firstValBlue; + alpha += source.bitmap.data[riIdx + 3] - firstValAlpha; + + const tiIdx = source.getPixelIndex(i, ti++); + output.bitmap.data[tiIdx] = Math.round(red * iarr); + output.bitmap.data[tiIdx + 1] = Math.round(green * iarr); + output.bitmap.data[tiIdx + 2] = Math.round(blue * iarr); + output.bitmap.data[tiIdx + 3] = Math.round(alpha * iarr); + } + + for (let j = radius + 1; j < height - radius; j++) { + const riIdx = source.getPixelIndex(i, ri++); + const liIdx = source.getPixelIndex(i, li++); + red += source.bitmap.data[riIdx] - source.bitmap.data[liIdx]; + green += source.bitmap.data[riIdx + 1] - source.bitmap.data[liIdx + 1]; + blue += source.bitmap.data[riIdx + 2] - source.bitmap.data[liIdx + 2]; + alpha += source.bitmap.data[riIdx + 3] - source.bitmap.data[liIdx + 3]; + + const tiIdx = source.getPixelIndex(i, ti++); + output.bitmap.data[tiIdx] = Math.round(red * iarr); + output.bitmap.data[tiIdx + 1] = Math.round(green * iarr); + output.bitmap.data[tiIdx + 2] = Math.round(blue * iarr); + output.bitmap.data[tiIdx + 3] = Math.round(alpha * iarr); + } + + for (let j = height - radius; j < height; j++) { + const liIdx = source.getPixelIndex(i, li++); + red += lastValRed - source.bitmap.data[liIdx]; + green += lastValGreen - source.bitmap.data[liIdx + 1]; + blue += lastValBlue - source.bitmap.data[liIdx + 2]; + alpha += lastValAlpha - source.bitmap.data[liIdx + 3]; + + const tiIdx = source.getPixelIndex(i, ti++); + output.bitmap.data[tiIdx] = Math.round(red * iarr); + output.bitmap.data[tiIdx + 1] = Math.round(green * iarr); + output.bitmap.data[tiIdx + 2] = Math.round(blue * iarr); + output.bitmap.data[tiIdx + 3] = Math.round(alpha * iarr); + } + } + return output; +} diff --git a/src/core/lib/LoremIpsum.mjs b/src/core/lib/LoremIpsum.mjs index d7fff69b..3d60fa89 100644 --- a/src/core/lib/LoremIpsum.mjs +++ b/src/core/lib/LoremIpsum.mjs @@ -85,7 +85,7 @@ function getWords(length=3) { const words = []; let word; let previousWord; - while (words.length < length){ + while (words.length < length) { do { word = wordList[Math.floor(Math.random() * wordList.length)]; } while (previousWord === word); diff --git a/src/core/lib/Magic.mjs b/src/core/lib/Magic.mjs index f0b55857..79c64452 100644 --- a/src/core/lib/Magic.mjs +++ b/src/core/lib/Magic.mjs @@ -1,8 +1,8 @@ import OperationConfig from "../config/OperationConfig.json"; -import Utils from "../Utils"; -import Recipe from "../Recipe"; -import Dish from "../Dish"; -import {detectFileType} from "./FileType"; +import Utils, { isWorkerEnvironment } from "../Utils.mjs"; +import Recipe from "../Recipe.mjs"; +import Dish from "../Dish.mjs"; +import {detectFileType} from "./FileType.mjs"; import chiSquared from "chi-squared"; /** @@ -97,6 +97,7 @@ class Magic { if (!fileType.length) return null; return { + name: fileType[0].name, ext: fileType[0].extension, mime: fileType[0].mime, desc: fileType[0].description @@ -312,6 +313,11 @@ class Magic { return; } + // If the recipe returned an empty buffer, do not continue + if (_buffersEqual(output, new ArrayBuffer())) { + return; + } + const magic = new Magic(output, this.opPatterns), speculativeResults = await magic.speculativeExecution( depth-1, extLang, intensive, [...recipeConfig, opConfig], op.useful, crib); @@ -333,7 +339,7 @@ class Magic { } // Prune branches that result in unhelpful outputs - results = results.filter(r => + const prunedResults = results.filter(r => (r.useful || r.data.length > 0) && // The operation resulted in "" ( // One of the following must be true r.languageScores[0].probability > 0 || // Some kind of language was found @@ -344,22 +350,22 @@ class Magic { ); // Return a sorted list of possible recipes along with their properties - return results.sort((a, b) => { + return prunedResults.sort((a, b) => { // Each option is sorted based on its most likely language (lower is better) let aScore = a.languageScores[0].score, bScore = b.languageScores[0].score; - // If a recipe results in a file being detected, it receives a relatively good score - if (a.fileType) aScore = 500; - if (b.fileType) bScore = 500; - // If the result is valid UTF8, its score gets boosted (lower being better) if (a.isUTF8) aScore -= 100; if (b.isUTF8) bScore -= 100; + // If a recipe results in a file being detected, it receives a relatively good score + if (a.fileType && aScore > 500) aScore = 500; + if (b.fileType && bScore > 500) bScore = 500; + // If the option is marked useful, give it a good score - if (a.useful) aScore = 100; - if (b.useful) bScore = 100; + if (a.useful && aScore > 100) aScore = 100; + if (b.useful && bScore > 100) bScore = 100; // Shorter recipes are better, so we add the length of the recipe to the score aScore += a.recipe.length; @@ -390,12 +396,17 @@ class Magic { const dish = new Dish(); dish.set(input, Dish.ARRAY_BUFFER); - if (ENVIRONMENT_IS_WORKER()) self.loadRequiredModules(recipeConfig); + if (isWorkerEnvironment()) self.loadRequiredModules(recipeConfig); const recipe = new Recipe(recipeConfig); try { await recipe.execute(dish); - return dish.get(Dish.ARRAY_BUFFER); + // Return an empty buffer if the recipe did not run to completion + if (recipe.lastRunOp === recipe.opList[recipe.opList.length - 1]) { + return dish.get(Dish.ARRAY_BUFFER); + } else { + return new ArrayBuffer(); + } } catch (err) { // If there are errors, return an empty buffer return new ArrayBuffer(); @@ -440,7 +451,7 @@ class Magic { const opPatterns = []; for (const op in OperationConfig) { - if (!OperationConfig[op].hasOwnProperty("patterns")) continue; + if (!("patterns" in OperationConfig[op])) continue; OperationConfig[op].patterns.forEach(pattern => { opPatterns.push({ @@ -487,7 +498,7 @@ class Magic { * Taken from http://wikistats.wmflabs.org/display.php?t=wp * * @param {string} code - ISO 639 code - * @returns {string} The full name of the languge + * @returns {string} The full name of the language */ static codeToLanguage(code) { return { diff --git a/src/core/lib/PGP.mjs b/src/core/lib/PGP.mjs index 1654b380..cbb31b92 100644 --- a/src/core/lib/PGP.mjs +++ b/src/core/lib/PGP.mjs @@ -10,7 +10,8 @@ * */ -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import kbpgp from "kbpgp"; import * as es6promisify from "es6-promisify"; const promisify = es6promisify.default ? es6promisify.default.promisify : es6promisify.promisify; @@ -45,7 +46,7 @@ export const ASP = kbpgp.ASP({ msg = `Stage: ${info.what}`; } - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage(msg); } }); diff --git a/src/core/lib/Protobuf.mjs b/src/core/lib/Protobuf.mjs new file mode 100644 index 00000000..0cdf41f2 --- /dev/null +++ b/src/core/lib/Protobuf.mjs @@ -0,0 +1,285 @@ +import Utils from "../Utils.mjs"; + +/** + * Protobuf lib. Contains functions to decode protobuf serialised + * data without a schema or .proto file. + * + * Provides utility functions to encode and decode variable length + * integers (varint). + * + * @author GCHQ Contributor [3] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +class Protobuf { + + /** + * Protobuf constructor + * + * @param {byteArray|Uint8Array} data + */ + constructor(data) { + // Check we have a byteArray or Uint8Array + if (data instanceof Array || data instanceof Uint8Array) { + this.data = data; + } else { + throw new Error("Protobuf input must be a byteArray or Uint8Array"); + } + + // Set up masks + this.TYPE = 0x07; + this.NUMBER = 0x78; + this.MSB = 0x80; + this.VALUE = 0x7f; + + // Declare offset and length + this.offset = 0; + this.LENGTH = data.length; + } + + // Public Functions + + /** + * Encode a varint from a number + * + * @param {number} number + * @returns {byteArray} + */ + static varIntEncode(number) { + const MSB = 0x80, + VALUE = 0x7f, + MSBALL = ~VALUE, + INT = Math.pow(2, 31); + const out = []; + let offset = 0; + + while (number >= INT) { + out[offset++] = (number & 0xff) | MSB; + number /= 128; + } + while (number & MSBALL) { + out[offset++] = (number & 0xff) | MSB; + number >>>= 7; + } + out[offset] = number | 0; + return out; + } + + /** + * Decode a varint from the byteArray + * + * @param {byteArray} input + * @returns {number} + */ + static varIntDecode(input) { + const pb = new Protobuf(input); + return pb._varInt(); + } + + /** + * Parse Protobuf data + * + * @param {byteArray} input + * @returns {Object} + */ + static decode(input) { + const pb = new Protobuf(input); + return pb._parse(); + } + + // Private Class Functions + + /** + * Main private parsing function + * + * @private + * @returns {Object} + */ + _parse() { + let object = {}; + // Continue reading whilst we still have data + while (this.offset < this.LENGTH) { + const field = this._parseField(); + object = this._addField(field, object); + } + // Throw an error if we have gone beyond the end of the data + if (this.offset > this.LENGTH) { + throw new Error("Exhausted Buffer"); + } + return object; + } + + /** + * Add a field read from the protobuf data into the Object. As + * protobuf fields can appear multiple times, if the field already + * exists we need to add the new field into an array of fields + * for that key. + * + * @private + * @param {Object} field + * @param {Object} object + * @returns {Object} + */ + _addField(field, object) { + // Get the field key/values + const key = field.key; + const value = field.value; + object[key] = Object.prototype.hasOwnProperty.call(object, key) ? + object[key] instanceof Array ? + object[key].concat([value]) : + [object[key], value] : + value; + return object; + } + + /** + * Parse a field and return the Object read from the record + * + * @private + * @returns {Object} + */ + _parseField() { + // Get the field headers + const header = this._fieldHeader(); + const type = header.type; + const key = header.key; + switch (type) { + // varint + case 0: + return { "key": key, "value": this._varInt() }; + // fixed 64 + case 1: + return { "key": key, "value": this._uint64() }; + // length delimited + case 2: + return { "key": key, "value": this._lenDelim() }; + // fixed 32 + case 5: + return { "key": key, "value": this._uint32() }; + // unknown type + default: + throw new Error("Unknown type 0x" + type.toString(16)); + } + } + + /** + * Parse the field header and return the type and key + * + * @private + * @returns {Object} + */ + _fieldHeader() { + // Make sure we call type then number to preserve offset + return { "type": this._fieldType(), "key": this._fieldNumber() }; + } + + /** + * Parse the field type from the field header. Type is stored in the + * lower 3 bits of the tag byte. This does not move the offset on as + * we need to read the field number from the tag byte too. + * + * @private + * @returns {number} + */ + _fieldType() { + // Field type stored in lower 3 bits of tag byte + return this.data[this.offset] & this.TYPE; + } + + /** + * Parse the field number (i.e. the key) from the field header. The + * field number is stored in the upper 5 bits of the tag byte - but + * is also varint encoded so the follow on bytes may need to be read + * when field numbers are > 15. + * + * @private + * @returns {number} + */ + _fieldNumber() { + let shift = -3; + let fieldNumber = 0; + do { + fieldNumber += shift < 28 ? + shift === -3 ? + (this.data[this.offset] & this.NUMBER) >> -shift : + (this.data[this.offset] & this.VALUE) << shift : + (this.data[this.offset] & this.VALUE) * Math.pow(2, shift); + shift += 7; + } while ((this.data[this.offset++] & this.MSB) === this.MSB); + return fieldNumber; + } + + // Field Parsing Functions + + /** + * Read off a varint from the data + * + * @private + * @returns {number} + */ + _varInt() { + let value = 0; + let shift = 0; + // Keep reading while upper bit set + do { + value += shift < 28 ? + (this.data[this.offset] & this.VALUE) << shift : + (this.data[this.offset] & this.VALUE) * Math.pow(2, shift); + shift += 7; + } while ((this.data[this.offset++] & this.MSB) === this.MSB); + return value; + } + + /** + * Read off a 64 bit unsigned integer from the data + * + * @private + * @returns {number} + */ + _uint64() { + // Read off a Uint64 + let num = this.data[this.offset++] * 0x1000000 + (this.data[this.offset++] << 16) + (this.data[this.offset++] << 8) + this.data[this.offset++]; + num = num * 0x100000000 + this.data[this.offset++] * 0x1000000 + (this.data[this.offset++] << 16) + (this.data[this.offset++] << 8) + this.data[this.offset++]; + return num; + } + + /** + * Read off a length delimited field from the data + * + * @private + * @returns {Object|string} + */ + _lenDelim() { + // Read off the field length + const length = this._varInt(); + const fieldBytes = this.data.slice(this.offset, this.offset + length); + let field; + try { + // Attempt to parse as a new Protobuf Object + const pbObject = new Protobuf(fieldBytes); + field = pbObject._parse(); + } catch (err) { + // Otherwise treat as bytes + field = Utils.byteArrayToChars(fieldBytes); + } + // Move the offset and return the field + this.offset += length; + return field; + } + + /** + * Read a 32 bit unsigned integer from the data + * + * @private + * @returns {number} + */ + _uint32() { + // Use a dataview to read off the integer + const dataview = new DataView(new Uint8Array(this.data.slice(this.offset, this.offset + 4)).buffer); + const value = dataview.getUint32(0); + this.offset += 4; + return value; + } +} + +export default Protobuf; diff --git a/src/core/lib/PublicKey.mjs b/src/core/lib/PublicKey.mjs index ece567a0..9ec990fe 100644 --- a/src/core/lib/PublicKey.mjs +++ b/src/core/lib/PublicKey.mjs @@ -6,7 +6,7 @@ * @license Apache-2.0 */ -import { toHex, fromHex } from "./Hex"; +import { toHex, fromHex } from "./Hex.mjs"; /** * Formats Distinguished Name (DN) strings. diff --git a/src/core/lib/QRCode.mjs b/src/core/lib/QRCode.mjs new file mode 100644 index 00000000..041c21f7 --- /dev/null +++ b/src/core/lib/QRCode.mjs @@ -0,0 +1,93 @@ +/** + * QR code resources + * + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import OperationError from "../errors/OperationError.mjs"; +import jsQR from "jsqr"; +import qr from "qr-image"; +import jimp from "jimp"; +import Utils from "../Utils.mjs"; + +/** + * Parses a QR code image from an image + * + * @param {ArrayBuffer} input + * @param {boolean} normalise + * @returns {string} + */ +export async function parseQrCode(input, normalise) { + let image; + try { + image = await jimp.read(input); + } catch (err) { + throw new OperationError(`Error opening image. (${err})`); + } + + try { + if (normalise) { + image.rgba(false); + image.background(0xFFFFFFFF); + image.normalize(); + image.greyscale(); + image = await image.getBufferAsync(jimp.MIME_JPEG); + image = await jimp.read(image); + } + } catch (err) { + throw new OperationError(`Error normalising image. (${err})`); + } + + const qrData = jsQR(image.bitmap.data, image.getWidth(), image.getHeight()); + if (qrData) { + return qrData.data; + } else { + throw new OperationError("Could not read a QR code from the image."); + } +} + +/** + * Generates a QR code from the input string + * + * @param {string} input + * @param {string} format + * @param {number} moduleSize + * @param {number} margin + * @param {string} errorCorrection + * @returns {ArrayBuffer} + */ +export function generateQrCode(input, format, moduleSize, margin, errorCorrection) { + const formats = ["SVG", "EPS", "PDF", "PNG"]; + if (!formats.includes(format.toUpperCase())) { + throw new OperationError("Unsupported QR code format."); + } + + let qrImage; + try { + qrImage = qr.imageSync(input, { + type: format, + size: moduleSize, + margin: margin, + "ec_level": errorCorrection.charAt(0).toUpperCase() + }); + } catch (err) { + throw new OperationError(`Error generating QR code. (${err})`); + } + + if (!qrImage) { + throw new OperationError("Error generating QR code."); + } + + switch (format) { + case "SVG": + case "EPS": + case "PDF": + return Utils.strToArrayBuffer(qrImage); + case "PNG": + return qrImage.buffer; + default: + throw new OperationError("Unsupported QR code format."); + } +} diff --git a/src/core/lib/TLVParser.mjs b/src/core/lib/TLVParser.mjs index 9e9395ff..cb8432c1 100644 --- a/src/core/lib/TLVParser.mjs +++ b/src/core/lib/TLVParser.mjs @@ -21,7 +21,7 @@ export default class TLVParser { /** * TLVParser constructor * - * @param {byteArray} input + * @param {byteArray|Uint8Array} input * @param {Object} options */ constructor(input, options) { diff --git a/src/core/lib/Typex.mjs b/src/core/lib/Typex.mjs index 484a1e6b..39bdee5d 100644 --- a/src/core/lib/Typex.mjs +++ b/src/core/lib/Typex.mjs @@ -6,9 +6,9 @@ * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import OperationError from "../errors/OperationError"; -import * as Enigma from "../lib/Enigma"; -import Utils from "../Utils"; +import OperationError from "../errors/OperationError.mjs"; +import * as Enigma from "../lib/Enigma.mjs"; +import Utils from "../Utils.mjs"; /** * A set of example Typex rotors. No Typex rotor wirings are publicly available, so these are @@ -98,14 +98,14 @@ export class TypexMachine extends Enigma.EnigmaBase { if (x === " ") { inputMod += "X"; } else if (mode) { - if (KEYBOARD_REV.hasOwnProperty(x)) { + if (Object.prototype.hasOwnProperty.call(KEYBOARD_REV, x)) { inputMod += KEYBOARD_REV[x]; } else { mode = false; inputMod += "V" + x; } } else { - if (KEYBOARD_REV.hasOwnProperty(x)) { + if (Object.prototype.hasOwnProperty.call(KEYBOARD_REV, x)) { mode = true; inputMod += "Z" + KEYBOARD_REV[x]; } else { diff --git a/src/core/lib/Zlib.mjs b/src/core/lib/Zlib.mjs index 7cfb4c2f..780fd3d7 100644 --- a/src/core/lib/Zlib.mjs +++ b/src/core/lib/Zlib.mjs @@ -6,7 +6,7 @@ * @license Apache-2.0 */ -import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min"; +import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min.js"; const Zlib = zlibAndGzip.Zlib; diff --git a/src/core/operations/A1Z26CipherDecode.mjs b/src/core/operations/A1Z26CipherDecode.mjs index 2a9f9ce7..0b113945 100644 --- a/src/core/operations/A1Z26CipherDecode.mjs +++ b/src/core/operations/A1Z26CipherDecode.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {DELIM_OPTIONS} from "../lib/Delim"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {DELIM_OPTIONS} from "../lib/Delim.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * A1Z26 Cipher Decode operation diff --git a/src/core/operations/A1Z26CipherEncode.mjs b/src/core/operations/A1Z26CipherEncode.mjs index d1202d83..fc562b9e 100644 --- a/src/core/operations/A1Z26CipherEncode.mjs +++ b/src/core/operations/A1Z26CipherEncode.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {DELIM_OPTIONS} from "../lib/Delim.mjs"; /** * A1Z26 Cipher Encode operation diff --git a/src/core/operations/ADD.mjs b/src/core/operations/ADD.mjs index dc593940..78580688 100644 --- a/src/core/operations/ADD.mjs +++ b/src/core/operations/ADD.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import { bitOp, add, BITWISE_OP_DELIMS } from "../lib/BitwiseOp"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import { bitOp, add, BITWISE_OP_DELIMS } from "../lib/BitwiseOp.mjs"; /** * ADD operation diff --git a/src/core/operations/AESDecrypt.mjs b/src/core/operations/AESDecrypt.mjs index 53489d3c..8fe0b93c 100644 --- a/src/core/operations/AESDecrypt.mjs +++ b/src/core/operations/AESDecrypt.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * AES Decrypt operation @@ -71,8 +71,8 @@ class AESDecrypt extends Operation { * @throws {OperationError} if cannot decrypt input or invalid key length */ run(input, args) { - const key = Utils.convertToByteArray(args[0].string, args[0].option), - iv = Utils.convertToByteArray(args[1].string, args[1].option), + const key = Utils.convertToByteString(args[0].string, args[0].option), + iv = Utils.convertToByteString(args[1].string, args[1].option), mode = args[2], inputType = args[3], outputType = args[4], @@ -91,7 +91,7 @@ The following algorithms will be used based on the size of the key: const decipher = forge.cipher.createDecipher("AES-" + mode, key); decipher.start({ - iv: iv, + iv: iv.length === 0 ? "" : iv, tag: gcmTag }); decipher.update(forge.util.createBuffer(input)); diff --git a/src/core/operations/AESEncrypt.mjs b/src/core/operations/AESEncrypt.mjs index 5103cb86..7375e308 100644 --- a/src/core/operations/AESEncrypt.mjs +++ b/src/core/operations/AESEncrypt.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * AES Encrypt operation @@ -65,8 +65,8 @@ class AESEncrypt extends Operation { * @throws {OperationError} if invalid key length */ run(input, args) { - const key = Utils.convertToByteArray(args[0].string, args[0].option), - iv = Utils.convertToByteArray(args[1].string, args[1].option), + const key = Utils.convertToByteString(args[0].string, args[0].option), + iv = Utils.convertToByteString(args[1].string, args[1].option), mode = args[2], inputType = args[3], outputType = args[4]; diff --git a/src/core/operations/AND.mjs b/src/core/operations/AND.mjs index 1fa84074..6bbc8366 100644 --- a/src/core/operations/AND.mjs +++ b/src/core/operations/AND.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import { bitOp, and, BITWISE_OP_DELIMS } from "../lib/BitwiseOp"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import { bitOp, and, BITWISE_OP_DELIMS } from "../lib/BitwiseOp.mjs"; /** * AND operation diff --git a/src/core/operations/AddLineNumbers.mjs b/src/core/operations/AddLineNumbers.mjs index 7e53d685..c1c6159a 100644 --- a/src/core/operations/AddLineNumbers.mjs +++ b/src/core/operations/AddLineNumbers.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Add line numbers operation diff --git a/src/core/operations/AddTextToImage.mjs b/src/core/operations/AddTextToImage.mjs new file mode 100644 index 00000000..084c92ec --- /dev/null +++ b/src/core/operations/AddTextToImage.mjs @@ -0,0 +1,267 @@ +/** + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; +import jimp from "jimp"; + +/** + * Add Text To Image operation + */ +class AddTextToImage extends Operation { + + /** + * AddTextToImage constructor + */ + constructor() { + super(); + + this.name = "Add Text To Image"; + this.module = "Image"; + this.description = "Adds text onto an image.

Text can be horizontally or vertically aligned, or the position can be manually specified.
Variants of the Roboto font face are available in any size or colour."; + this.infoURL = ""; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; + this.presentType = "html"; + this.args = [ + { + name: "Text", + type: "string", + value: "" + }, + { + name: "Horizontal align", + type: "option", + value: ["None", "Left", "Center", "Right"] + }, + { + name: "Vertical align", + type: "option", + value: ["None", "Top", "Middle", "Bottom"] + }, + { + name: "X position", + type: "number", + value: 0 + }, + { + name: "Y position", + type: "number", + value: 0 + }, + { + name: "Size", + type: "number", + value: 32, + min: 8 + }, + { + name: "Font face", + type: "option", + value: [ + "Roboto", + "Roboto Black", + "Roboto Mono", + "Roboto Slab" + ] + }, + { + name: "Red", + type: "number", + value: 255, + min: 0, + max: 255 + }, + { + name: "Green", + type: "number", + value: 255, + min: 0, + max: 255 + }, + { + name: "Blue", + type: "number", + value: 255, + min: 0, + max: 255 + }, + { + name: "Alpha", + type: "number", + value: 255, + min: 0, + max: 255 + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {byteArray} + */ + async run(input, args) { + const text = args[0], + hAlign = args[1], + vAlign = args[2], + size = args[5], + fontFace = args[6], + red = args[7], + green = args[8], + blue = args[9], + alpha = args[10]; + + let xPos = args[3], + yPos = args[4]; + + if (!isImage(input)) { + throw new OperationError("Invalid file type."); + } + + let image; + try { + image = await jimp.read(input); + } catch (err) { + throw new OperationError(`Error loading image. (${err})`); + } + try { + if (isWorkerEnvironment()) + self.sendStatusMessage("Adding text to image..."); + + const fontsMap = {}; + const fonts = [ + import(/* webpackMode: "eager" */ "../../web/static/fonts/bmfonts/Roboto72White.fnt"), + import(/* webpackMode: "eager" */ "../../web/static/fonts/bmfonts/RobotoBlack72White.fnt"), + import(/* webpackMode: "eager" */ "../../web/static/fonts/bmfonts/RobotoMono72White.fnt"), + import(/* webpackMode: "eager" */ "../../web/static/fonts/bmfonts/RobotoSlab72White.fnt") + ]; + + await Promise.all(fonts) + .then(fonts => { + fontsMap.Roboto = fonts[0]; + fontsMap["Roboto Black"] = fonts[1]; + fontsMap["Roboto Mono"] = fonts[2]; + fontsMap["Roboto Slab"] = fonts[3]; + }); + + + // Make Webpack load the png font images + await Promise.all([ + import(/* webpackMode: "eager" */ "../../web/static/fonts/bmfonts/Roboto72White.png"), + import(/* webpackMode: "eager" */ "../../web/static/fonts/bmfonts/RobotoSlab72White.png"), + import(/* webpackMode: "eager" */ "../../web/static/fonts/bmfonts/RobotoMono72White.png"), + import(/* webpackMode: "eager" */ "../../web/static/fonts/bmfonts/RobotoBlack72White.png") + ]); + + const font = fontsMap[fontFace]; + + // LoadFont needs an absolute url, so append the font name to self.docURL + const jimpFont = await jimp.loadFont(self.docURL + "/" + font.default); + + jimpFont.pages.forEach(function(page) { + if (page.bitmap) { + // Adjust the RGB values of the image pages to change the font colour. + const pageWidth = page.bitmap.width; + const pageHeight = page.bitmap.height; + for (let ix = 0; ix < pageWidth; ix++) { + for (let iy = 0; iy < pageHeight; iy++) { + const idx = (iy * pageWidth + ix) << 2; + + const newRed = page.bitmap.data[idx] - (255 - red); + const newGreen = page.bitmap.data[idx + 1] - (255 - green); + const newBlue = page.bitmap.data[idx + 2] - (255 - blue); + const newAlpha = page.bitmap.data[idx + 3] - (255 - alpha); + + // Make sure the bitmap values don't go below 0 as that makes jimp very unhappy + page.bitmap.data[idx] = (newRed > 0) ? newRed : 0; + page.bitmap.data[idx + 1] = (newGreen > 0) ? newGreen : 0; + page.bitmap.data[idx + 2] = (newBlue > 0) ? newBlue : 0; + page.bitmap.data[idx + 3] = (newAlpha > 0) ? newAlpha : 0; + } + } + } + }); + + // Create a temporary image to hold the rendered text + const textImage = new jimp(jimp.measureText(jimpFont, text), jimp.measureTextHeight(jimpFont, text)); + textImage.print(jimpFont, 0, 0, text); + + // Scale the rendered text image to the correct size + const scaleFactor = size / 72; + if (size !== 1) { + // Use bicubic for decreasing size + if (size > 1) { + textImage.scale(scaleFactor, jimp.RESIZE_BICUBIC); + } else { + textImage.scale(scaleFactor, jimp.RESIZE_BILINEAR); + } + } + + // If using the alignment options, calculate the pixel values AFTER the image has been scaled + switch (hAlign) { + case "Left": + xPos = 0; + break; + case "Center": + xPos = (image.getWidth() / 2) - (textImage.getWidth() / 2); + break; + case "Right": + xPos = image.getWidth() - textImage.getWidth(); + break; + } + + switch (vAlign) { + case "Top": + yPos = 0; + break; + case "Middle": + yPos = (image.getHeight() / 2) - (textImage.getHeight() / 2); + break; + case "Bottom": + yPos = image.getHeight() - textImage.getHeight(); + break; + } + + // Blit the rendered text image onto the original source image + image.blit(textImage, xPos, yPos); + + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; + } catch (err) { + throw new OperationError(`Error adding text to image. (${err})`); + } + } + + /** + * Displays the blurred image using HTML for web apps + * + * @param {ArrayBuffer} data + * @returns {html} + */ + present(data) { + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); + + const type = isImage(dataArray); + if (!type) { + throw new OperationError("Invalid file type."); + } + + return ``; + } + +} + +export default AddTextToImage; diff --git a/src/core/operations/Adler32Checksum.mjs b/src/core/operations/Adler32Checksum.mjs index ad4b4072..80e6e340 100644 --- a/src/core/operations/Adler32Checksum.mjs +++ b/src/core/operations/Adler32Checksum.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Adler-32 Checksum operation @@ -22,13 +22,13 @@ class Adler32Checksum extends Operation { this.module = "Crypto"; this.description = "Adler-32 is a checksum algorithm which was invented by Mark Adler in 1995, and is a modification of the Fletcher checksum. Compared to a cyclic redundancy check of the same length, it trades reliability for speed (preferring the latter).

Adler-32 is more reliable than Fletcher-16, and slightly less reliable than Fletcher-32."; this.infoURL = "https://wikipedia.org/wiki/Adler-32"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ @@ -36,6 +36,7 @@ class Adler32Checksum extends Operation { const MOD_ADLER = 65521; let a = 1, b = 0; + input = new Uint8Array(input); for (let i = 0; i < input.length; i++) { a += input[i]; diff --git a/src/core/operations/AffineCipherDecode.mjs b/src/core/operations/AffineCipherDecode.mjs index 173ccb8f..869f231a 100644 --- a/src/core/operations/AffineCipherDecode.mjs +++ b/src/core/operations/AffineCipherDecode.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Affine Cipher Decode operation diff --git a/src/core/operations/AffineCipherEncode.mjs b/src/core/operations/AffineCipherEncode.mjs index 4adc64e3..a9462ae8 100644 --- a/src/core/operations/AffineCipherEncode.mjs +++ b/src/core/operations/AffineCipherEncode.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { affineEncode } from "../lib/Ciphers"; +import Operation from "../Operation.mjs"; +import { affineEncode } from "../lib/Ciphers.mjs"; /** * Affine Cipher Encode operation diff --git a/src/core/operations/AnalyseHash.mjs b/src/core/operations/AnalyseHash.mjs index 17f78f30..72c80840 100644 --- a/src/core/operations/AnalyseHash.mjs +++ b/src/core/operations/AnalyseHash.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Analyse hash operation diff --git a/src/core/operations/AtbashCipher.mjs b/src/core/operations/AtbashCipher.mjs index fc6bf909..5635b5b9 100644 --- a/src/core/operations/AtbashCipher.mjs +++ b/src/core/operations/AtbashCipher.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { affineEncode } from "../lib/Ciphers"; +import Operation from "../Operation.mjs"; +import { affineEncode } from "../lib/Ciphers.mjs"; /** * Atbash Cipher operation diff --git a/src/core/operations/BLAKE2b.mjs b/src/core/operations/BLAKE2b.mjs new file mode 100644 index 00000000..6218f7f0 --- /dev/null +++ b/src/core/operations/BLAKE2b.mjs @@ -0,0 +1,79 @@ +/** + * @author h345983745 + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import blakejs from "blakejs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; + +/** + * BLAKE2b operation + */ +class BLAKE2b extends Operation { + + /** + * BLAKE2b constructor + */ + constructor() { + super(); + + this.name = "BLAKE2b"; + this.module = "Hashing"; + this.description = `Performs BLAKE2b hashing on the input. +

BLAKE2b is a flavour of the BLAKE cryptographic hash function that is optimized for 64-bit platforms and produces digests of any size between 1 and 64 bytes. +

Supports the use of an optional key.`; + this.infoURL = "https://wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2b_algorithm"; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = [ + { + "name": "Size", + "type": "option", + "value": ["512", "384", "256", "160", "128"] + }, { + "name": "Output Encoding", + "type": "option", + "value": ["Hex", "Base64", "Raw"] + }, { + "name": "Key", + "type": "toggleString", + "value": "", + "toggleValues": ["UTF8", "Decimal", "Base64", "Hex", "Latin1"] + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} The input having been hashed with BLAKE2b in the encoding format specified. + */ + run(input, args) { + const [outSize, outFormat] = args; + let key = Utils.convertToByteArray(args[2].string || "", args[2].option); + if (key.length === 0) { + key = null; + } else if (key.length > 64) { + throw new OperationError(["Key cannot be greater than 64 bytes", "It is currently " + key.length + " bytes."].join("\n")); + } + + input = new Uint8Array(input); + switch (outFormat) { + case "Hex": + return blakejs.blake2bHex(input, key, outSize / 8); + case "Base64": + return toBase64(blakejs.blake2b(input, key, outSize / 8)); + case "Raw": + return Utils.arrayBufferToStr(blakejs.blake2b(input, key, outSize / 8).buffer); + default: + return new OperationError("Unsupported Output Type"); + } + } + +} + +export default BLAKE2b; diff --git a/src/core/operations/BLAKE2s.mjs b/src/core/operations/BLAKE2s.mjs new file mode 100644 index 00000000..8f84e041 --- /dev/null +++ b/src/core/operations/BLAKE2s.mjs @@ -0,0 +1,80 @@ +/** + * @author h345983745 + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import blakejs from "blakejs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; + +/** + * BLAKE2s Operation + */ +class BLAKE2s extends Operation { + + /** + * BLAKE2s constructor + */ + constructor() { + super(); + + this.name = "BLAKE2s"; + this.module = "Hashing"; + this.description = `Performs BLAKE2s hashing on the input. +

BLAKE2s is a flavour of the BLAKE cryptographic hash function that is optimized for 8- to 32-bit platforms and produces digests of any size between 1 and 32 bytes. +

Supports the use of an optional key.`; + this.infoURL = "https://wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2"; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = [ + { + "name": "Size", + "type": "option", + "value": ["256", "160", "128"] + }, { + "name": "Output Encoding", + "type": "option", + "value": ["Hex", "Base64", "Raw"] + }, + { + "name": "Key", + "type": "toggleString", + "value": "", + "toggleValues": ["UTF8", "Decimal", "Base64", "Hex", "Latin1"] + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} The input having been hashed with BLAKE2s in the encoding format specified. + */ + run(input, args) { + const [outSize, outFormat] = args; + let key = Utils.convertToByteArray(args[2].string || "", args[2].option); + if (key.length === 0) { + key = null; + } else if (key.length > 32) { + throw new OperationError(["Key cannot be greater than 32 bytes", "It is currently " + key.length + " bytes."].join("\n")); + } + + input = new Uint8Array(input); + switch (outFormat) { + case "Hex": + return blakejs.blake2sHex(input, key, outSize / 8); + case "Base64": + return toBase64(blakejs.blake2s(input, key, outSize / 8)); + case "Raw": + return Utils.arrayBufferToStr(blakejs.blake2s(input, key, outSize / 8).buffer); + default: + return new OperationError("Unsupported Output Type"); + } + } + +} + +export default BLAKE2s; diff --git a/src/core/operations/BSONDeserialise.mjs b/src/core/operations/BSONDeserialise.mjs index 3a815285..a21eaadd 100644 --- a/src/core/operations/BSONDeserialise.mjs +++ b/src/core/operations/BSONDeserialise.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import bson from "bson"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * BSON deserialise operation diff --git a/src/core/operations/BSONSerialise.mjs b/src/core/operations/BSONSerialise.mjs index 6c91a678..6d33c6be 100644 --- a/src/core/operations/BSONSerialise.mjs +++ b/src/core/operations/BSONSerialise.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import bson from "bson"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * BSON serialise operation diff --git a/src/core/operations/BaconCipherDecode.mjs b/src/core/operations/BaconCipherDecode.mjs new file mode 100644 index 00000000..05d90d12 --- /dev/null +++ b/src/core/operations/BaconCipherDecode.mjs @@ -0,0 +1,107 @@ +/** + * @author Karsten Silkenbäumer [github.com/kassi] + * @copyright Karsten Silkenbäumer 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation"; +import { + BACON_ALPHABETS, + BACON_TRANSLATION_CASE, BACON_TRANSLATION_AMNZ, BACON_TRANSLATIONS, BACON_CLEARER_MAP, BACON_NORMALIZE_MAP, + swapZeroAndOne +} from "../lib/Bacon"; + +/** + * Bacon Cipher Decode operation + */ +class BaconCipherDecode extends Operation { + /** + * BaconCipherDecode constructor + */ + constructor() { + super(); + + this.name = "Bacon Cipher Decode"; + this.module = "Default"; + this.description = "Bacon's cipher or the Baconian cipher is a method of steganography devised by Francis Bacon in 1605. A message is concealed in the presentation of text, rather than its content."; + this.infoURL = "https://wikipedia.org/wiki/Bacon%27s_cipher"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + "name": "Alphabet", + "type": "option", + "value": Object.keys(BACON_ALPHABETS) + }, + { + "name": "Translation", + "type": "option", + "value": BACON_TRANSLATIONS + }, + { + "name": "Invert Translation", + "type": "boolean", + "value": false + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [alphabet, translation, invert] = args; + const alphabetObject = BACON_ALPHABETS[alphabet]; + + // remove invalid characters + input = input.replace(BACON_CLEARER_MAP[translation], ""); + + // normalize to unique alphabet + if (BACON_NORMALIZE_MAP[translation] !== undefined) { + input = input.replace(/./g, function (c) { + return BACON_NORMALIZE_MAP[translation][c]; + }); + } else if (translation === BACON_TRANSLATION_CASE) { + const codeA = "A".charCodeAt(0); + const codeZ = "Z".charCodeAt(0); + input = input.replace(/./g, function (c) { + const code = c.charCodeAt(0); + if (code >= codeA && code <= codeZ) { + return "1"; + } else { + return "0"; + } + }); + } else if (translation === BACON_TRANSLATION_AMNZ) { + const words = input.split(/\s+/); + const letters = words.map(function (e) { + if (e) { + const code = e[0].toUpperCase().charCodeAt(0); + return code >= "N".charCodeAt(0) ? "1" : "0"; + } else { + return ""; + } + }); + input = letters.join(""); + } + + if (invert) { + input = swapZeroAndOne(input); + } + + // group into 5 + const inputArray = input.match(/(.{5})/g) || []; + + let output = ""; + for (let i = 0; i < inputArray.length; i++) { + const code = inputArray[i]; + const number = parseInt(code, 2); + output += number < alphabetObject.alphabet.length ? alphabetObject.alphabet[number] : "?"; + } + return output; + } +} + +export default BaconCipherDecode; diff --git a/src/core/operations/BaconCipherEncode.mjs b/src/core/operations/BaconCipherEncode.mjs new file mode 100644 index 00000000..fd06e9b7 --- /dev/null +++ b/src/core/operations/BaconCipherEncode.mjs @@ -0,0 +1,101 @@ +/** + * @author Karsten Silkenbäumer [github.com/kassi] + * @copyright Karsten Silkenbäumer 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation"; +import { + BACON_ALPHABETS, + BACON_TRANSLATIONS_FOR_ENCODING, BACON_TRANSLATION_AB, + swapZeroAndOne +} from "../lib/Bacon"; + +/** + * Bacon Cipher Encode operation + */ +class BaconCipherEncode extends Operation { + /** + * BaconCipherEncode constructor + */ + constructor() { + super(); + + this.name = "Bacon Cipher Encode"; + this.module = "Default"; + this.description = "Bacon's cipher or the Baconian cipher is a method of steganography devised by Francis Bacon in 1605. A message is concealed in the presentation of text, rather than its content."; + this.infoURL = "https://wikipedia.org/wiki/Bacon%27s_cipher"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + "name": "Alphabet", + "type": "option", + "value": Object.keys(BACON_ALPHABETS) + }, + { + "name": "Translation", + "type": "option", + "value": BACON_TRANSLATIONS_FOR_ENCODING + }, + { + "name": "Keep extra characters", + "type": "boolean", + "value": false + }, + { + "name": "Invert Translation", + "type": "boolean", + "value": false + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [alphabet, translation, keep, invert] = args; + + const alphabetObject = BACON_ALPHABETS[alphabet]; + const charCodeA = "A".charCodeAt(0); + const charCodeZ = "Z".charCodeAt(0); + + let output = input.replace(/./g, function (c) { + const charCode = c.toUpperCase().charCodeAt(0); + if (charCode >= charCodeA && charCode <= charCodeZ) { + let code = charCode - charCodeA; + if (alphabetObject.codes !== undefined) { + code = alphabetObject.codes[code]; + } + const bacon = ("00000" + code.toString(2)).substr(-5, 5); + return bacon; + } else { + return c; + } + }); + + if (invert) { + output = swapZeroAndOne(output); + } + if (!keep) { + output = output.replace(/[^01]/g, ""); + const outputArray = output.match(/(.{5})/g) || []; + output = outputArray.join(" "); + } + if (translation === BACON_TRANSLATION_AB) { + output = output.replace(/[01]/g, function (c) { + return { + "0": "A", + "1": "B" + }[c]; + }); + } + + return output; + } +} + +export default BaconCipherEncode; diff --git a/src/core/operations/Bcrypt.mjs b/src/core/operations/Bcrypt.mjs index 36a20607..53b8a92e 100644 --- a/src/core/operations/Bcrypt.mjs +++ b/src/core/operations/Bcrypt.mjs @@ -4,8 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import bcrypt from "bcryptjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; /** * Bcrypt operation @@ -44,7 +45,7 @@ class Bcrypt extends Operation { return await bcrypt.hash(input, salt, null, p => { // Progress callback - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage(`Progress: ${(p * 100).toFixed(0)}%`); }); diff --git a/src/core/operations/BcryptCompare.mjs b/src/core/operations/BcryptCompare.mjs index 5d8c393e..8d9a6937 100644 --- a/src/core/operations/BcryptCompare.mjs +++ b/src/core/operations/BcryptCompare.mjs @@ -4,8 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import bcrypt from "bcryptjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; + /** * Bcrypt compare operation @@ -43,7 +45,7 @@ class BcryptCompare extends Operation { const match = await bcrypt.compare(input, hash, null, p => { // Progress callback - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage(`Progress: ${(p * 100).toFixed(0)}%`); }); diff --git a/src/core/operations/BcryptParse.mjs b/src/core/operations/BcryptParse.mjs index 629eb1c2..600a7dc3 100644 --- a/src/core/operations/BcryptParse.mjs +++ b/src/core/operations/BcryptParse.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import bcrypt from "bcryptjs"; /** diff --git a/src/core/operations/BifidCipherDecode.mjs b/src/core/operations/BifidCipherDecode.mjs index b55d2e26..29318a32 100644 --- a/src/core/operations/BifidCipherDecode.mjs +++ b/src/core/operations/BifidCipherDecode.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { genPolybiusSquare } from "../lib/Ciphers"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import { genPolybiusSquare } from "../lib/Ciphers.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Bifid Cipher Decode operation diff --git a/src/core/operations/BifidCipherEncode.mjs b/src/core/operations/BifidCipherEncode.mjs index 2db6279c..db38a3f2 100644 --- a/src/core/operations/BifidCipherEncode.mjs +++ b/src/core/operations/BifidCipherEncode.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { genPolybiusSquare } from "../lib/Ciphers"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { genPolybiusSquare } from "../lib/Ciphers.mjs"; /** * Bifid Cipher Encode operation diff --git a/src/core/operations/BitShiftLeft.mjs b/src/core/operations/BitShiftLeft.mjs index ceb19350..cd9f4568 100644 --- a/src/core/operations/BitShiftLeft.mjs +++ b/src/core/operations/BitShiftLeft.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Bit shift left operation @@ -21,8 +21,8 @@ class BitShiftLeft extends Operation { this.module = "Default"; this.description = "Shifts the bits in each byte towards the left by the specified amount."; this.infoURL = "https://wikipedia.org/wiki/Bitwise_operation#Bit_shifts"; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.args = [ { "name": "Amount", @@ -33,16 +33,17 @@ class BitShiftLeft extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args - * @returns {byteArray} + * @returns {ArrayBuffer} */ run(input, args) { const amount = args[0]; + input = new Uint8Array(input); return input.map(b => { return (b << amount) & 0xff; - }); + }).buffer; } /** diff --git a/src/core/operations/BitShiftRight.mjs b/src/core/operations/BitShiftRight.mjs index c6e4698f..2d70849e 100644 --- a/src/core/operations/BitShiftRight.mjs +++ b/src/core/operations/BitShiftRight.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Bit shift right operation @@ -21,8 +21,8 @@ class BitShiftRight extends Operation { this.module = "Default"; this.description = "Shifts the bits in each byte towards the right by the specified amount.

Logical shifts replace the leftmost bits with zeros.
Arithmetic shifts preserve the most significant bit (MSB) of the original byte keeping the sign the same (positive or negative)."; this.infoURL = "https://wikipedia.org/wiki/Bitwise_operation#Bit_shifts"; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.args = [ { "name": "Amount", @@ -38,18 +38,19 @@ class BitShiftRight extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args - * @returns {byteArray} + * @returns {ArrayBuffer} */ run(input, args) { const amount = args[0], type = args[1], mask = type === "Logical shift" ? 0 : 0x80; + input = new Uint8Array(input); return input.map(b => { return (b >>> amount) ^ (b & mask); - }); + }).buffer; } /** diff --git a/src/core/operations/BlowfishDecrypt.mjs b/src/core/operations/BlowfishDecrypt.mjs index 4aa08af8..fdab711e 100644 --- a/src/core/operations/BlowfishDecrypt.mjs +++ b/src/core/operations/BlowfishDecrypt.mjs @@ -4,12 +4,12 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; -import { Blowfish } from "../vendor/Blowfish"; -import { toBase64 } from "../lib/Base64"; -import { toHexFast } from "../lib/Hex"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { Blowfish } from "../vendor/Blowfish.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import { toHexFast } from "../lib/Hex.mjs"; /** * Lookup table for Blowfish output types. diff --git a/src/core/operations/BlowfishEncrypt.mjs b/src/core/operations/BlowfishEncrypt.mjs index 813c359c..44dfdc7e 100644 --- a/src/core/operations/BlowfishEncrypt.mjs +++ b/src/core/operations/BlowfishEncrypt.mjs @@ -4,11 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; -import { Blowfish } from "../vendor/Blowfish"; -import { toBase64 } from "../lib/Base64"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { Blowfish } from "../vendor/Blowfish.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; /** * Lookup table for Blowfish output types. diff --git a/src/core/operations/BlurImage.mjs b/src/core/operations/BlurImage.mjs index e1a52710..ec254433 100644 --- a/src/core/operations/BlurImage.mjs +++ b/src/core/operations/BlurImage.mjs @@ -4,11 +4,13 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; -import { toBase64 } from "../lib/Base64"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; import jimp from "jimp"; +import { gaussianBlur } from "../lib/ImageManipulation.mjs"; /** * Blur Image operation @@ -25,8 +27,8 @@ class BlurImage extends Operation { this.module = "Image"; this.description = "Applies a blur effect to the image.

Gaussian blur is much slower than fast blur, but produces better results."; this.infoURL = "https://wikipedia.org/wiki/Gaussian_blur"; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -44,7 +46,7 @@ class BlurImage extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -57,24 +59,31 @@ class BlurImage extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - switch (blurType){ + switch (blurType) { case "Fast": + if (isWorkerEnvironment()) + self.sendStatusMessage("Fast blurring image..."); image.blur(blurAmount); break; case "Gaussian": - if (ENVIRONMENT_IS_WORKER()) - self.sendStatusMessage("Gaussian blurring image. This may take a while..."); - image.gaussian(blurAmount); + if (isWorkerEnvironment()) + self.sendStatusMessage("Gaussian blurring image..."); + image = gaussianBlur(image, blurAmount); break; } - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error blurring image. (${err})`); } @@ -83,18 +92,19 @@ class BlurImage extends Operation { /** * Displays the blurred image using HTML for web apps * - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/Bombe.mjs b/src/core/operations/Bombe.mjs index c2ea82bf..1718a0a4 100644 --- a/src/core/operations/Bombe.mjs +++ b/src/core/operations/Bombe.mjs @@ -6,10 +6,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import {BombeMachine} from "../lib/Bombe"; -import {ROTORS, ROTORS_FOURTH, REFLECTORS, Reflector} from "../lib/Enigma"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; +import { BombeMachine } from "../lib/Bombe.mjs"; +import { ROTORS, ROTORS_FOURTH, REFLECTORS, Reflector } from "../lib/Enigma.mjs"; /** * Bombe operation @@ -139,7 +140,7 @@ class Bombe extends Operation { const ciphertext = input.slice(offset); const reflector = new Reflector(reflectorstr); let update; - if (ENVIRONMENT_IS_WORKER()) { + if (isWorkerEnvironment()) { update = this.updateStatus; } else { update = undefined; diff --git a/src/core/operations/Bzip2Compress.mjs b/src/core/operations/Bzip2Compress.mjs new file mode 100644 index 00000000..45dbfae6 --- /dev/null +++ b/src/core/operations/Bzip2Compress.mjs @@ -0,0 +1,73 @@ +/** + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Bzip2 from "libbzip2-wasm"; +import { isWorkerEnvironment } from "../Utils.mjs"; + +/** + * Bzip2 Compress operation + */ +class Bzip2Compress extends Operation { + + /** + * Bzip2Compress constructor + */ + constructor() { + super(); + + this.name = "Bzip2 Compress"; + this.module = "Compression"; + this.description = "Bzip2 is a compression library developed by Julian Seward (of GHC fame) that uses the Burrows-Wheeler algorithm. It only supports compressing single files and its compression is slow, however is more effective than Deflate (.gz & .zip)."; + this.infoURL = "https://wikipedia.org/wiki/Bzip2"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; + this.args = [ + { + name: "Block size (100s of kb)", + type: "number", + value: 9, + min: 1, + max: 9 + }, + { + name: "Work factor", + type: "number", + value: 30 + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {File} + */ + run(input, args) { + const [blockSize, workFactor] = args; + if (input.byteLength <= 0) { + throw new OperationError("Please provide an input."); + } + if (isWorkerEnvironment()) self.sendStatusMessage("Loading Bzip2..."); + return new Promise((resolve, reject) => { + Bzip2().then(bzip2 => { + if (isWorkerEnvironment()) self.sendStatusMessage("Compressing data..."); + const inpArray = new Uint8Array(input); + const bzip2cc = bzip2.compressBZ2(inpArray, blockSize, workFactor); + if (bzip2cc.error !== 0) { + reject(new OperationError(bzip2cc.error_msg)); + } else { + const output = bzip2cc.output; + resolve(output.buffer.slice(output.byteOffset, output.byteLength + output.byteOffset)); + } + }); + }); + } + +} + +export default Bzip2Compress; diff --git a/src/core/operations/Bzip2Decompress.mjs b/src/core/operations/Bzip2Decompress.mjs index 3b357486..3dba945e 100644 --- a/src/core/operations/Bzip2Decompress.mjs +++ b/src/core/operations/Bzip2Decompress.mjs @@ -1,12 +1,13 @@ /** - * @author n1474335 [n1474335@gmail.com] - * @copyright Crown Copyright 2016 + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import Operation from "../Operation"; -import bzip2 from "../vendor/bzip2"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Bzip2 from "libbzip2-wasm"; +import { isWorkerEnvironment } from "../Utils.mjs"; /** * Bzip2 Decompress operation @@ -23,9 +24,15 @@ class Bzip2Decompress extends Operation { this.module = "Compression"; this.description = "Decompresses data using the Bzip2 algorithm."; this.infoURL = "https://wikipedia.org/wiki/Bzip2"; - this.inputType = "byteArray"; - this.outputType = "string"; - this.args = []; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; + this.args = [ + { + name: "Use low-memory, slower decompression algorithm", + type: "boolean", + value: false + } + ]; this.patterns = [ { "match": "^\\x42\\x5a\\x68", @@ -40,15 +47,25 @@ class Bzip2Decompress extends Operation { * @param {Object[]} args * @returns {string} */ - run(input, args) { - const compressed = new Uint8Array(input); - - try { - const bzip2Reader = bzip2.array(compressed); - return bzip2.simple(bzip2Reader); - } catch (err) { - throw new OperationError(err); + async run(input, args) { + const [small] = args; + if (input.byteLength <= 0) { + throw new OperationError("Please provide an input."); } + if (isWorkerEnvironment()) self.sendStatusMessage("Loading Bzip2..."); + return new Promise((resolve, reject) => { + Bzip2().then(bzip2 => { + if (isWorkerEnvironment()) self.sendStatusMessage("Decompressing data..."); + const inpArray = new Uint8Array(input); + const bzip2cc = bzip2.decompressBZ2(inpArray, small ? 1 : 0); + if (bzip2cc.error !== 0) { + reject(new OperationError(bzip2cc.error_msg)); + } else { + const output = bzip2cc.output; + resolve(output.buffer.slice(output.byteOffset, output.byteLength + output.byteOffset)); + } + }); + }); } } diff --git a/src/core/operations/CRC16Checksum.mjs b/src/core/operations/CRC16Checksum.mjs index 3171ad73..035ee04b 100644 --- a/src/core/operations/CRC16Checksum.mjs +++ b/src/core/operations/CRC16Checksum.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import JSCRC from "js-crc"; /** diff --git a/src/core/operations/CRC32Checksum.mjs b/src/core/operations/CRC32Checksum.mjs index 962253dc..cfe84643 100644 --- a/src/core/operations/CRC32Checksum.mjs +++ b/src/core/operations/CRC32Checksum.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import JSCRC from "js-crc"; /** diff --git a/src/core/operations/CRC8Checksum.mjs b/src/core/operations/CRC8Checksum.mjs new file mode 100644 index 00000000..193cadf9 --- /dev/null +++ b/src/core/operations/CRC8Checksum.mjs @@ -0,0 +1,157 @@ +/** + * @author mshwed [m@ttshwed.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; + +import { toHexFast } from "../lib/Hex.mjs"; + +/** + * CRC-8 Checksum operation + */ +class CRC8Checksum extends Operation { + + /** + * CRC8Checksum constructor + */ + constructor() { + super(); + + this.name = "CRC-8 Checksum"; + this.module = "Crypto"; + this.description = "A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data.

The CRC was invented by W. Wesley Peterson in 1961."; + this.infoURL = "https://wikipedia.org/wiki/Cyclic_redundancy_check"; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = [ + { + "name": "Algorithm", + "type": "option", + "value": [ + "CRC-8", + "CRC-8/CDMA2000", + "CRC-8/DARC", + "CRC-8/DVB-S2", + "CRC-8/EBU", + "CRC-8/I-CODE", + "CRC-8/ITU", + "CRC-8/MAXIM", + "CRC-8/ROHC", + "CRC-8/WCDMA" + ] + } + ]; + } + + /** + * Generates the pre-computed lookup table for byte division + * + * @param polynomial + */ + calculateCRC8LookupTable(polynomial) { + const crc8Table = new Uint8Array(256); + + let currentByte; + for (let i = 0; i < 256; i++) { + currentByte = i; + for (let bit = 0; bit < 8; bit++) { + if ((currentByte & 0x80) !== 0) { + currentByte <<= 1; + currentByte ^= polynomial; + } else { + currentByte <<= 1; + } + } + + crc8Table[i] = currentByte; + } + + return crc8Table; + } + + /** + * Calculates the CRC-8 Checksum from an input + * + * @param {ArrayBuffer} input + * @param {number} polynomial + * @param {number} initializationValue + * @param {boolean} inputReflection + * @param {boolean} outputReflection + * @param {number} xorOut + */ + calculateCRC8(input, polynomial, initializationValue, inputReflection, outputReflection, xorOut) { + const crcSize = 8; + const crcTable = this.calculateCRC8LookupTable(polynomial); + + let crc = initializationValue !== 0 ? initializationValue : 0; + let currentByte, position; + + input = new Uint8Array(input); + for (const inputByte of input) { + currentByte = inputReflection ? this.reverseBits(inputByte, crcSize) : inputByte; + + position = (currentByte ^ crc) & 255; + crc = crcTable[position]; + } + + crc = outputReflection ? this.reverseBits(crc, crcSize) : crc; + + if (xorOut !== 0) crc = crc ^ xorOut; + + return toHexFast(new Uint8Array([crc])); + } + + /** + * Reverse the bits for a given input byte. + * + * @param {number} input + */ + reverseBits(input, hashSize) { + let reversedByte = 0; + for (let i = hashSize - 1; i >= 0; i--) { + reversedByte |= ((input & 1) << i); + input >>= 1; + } + + return reversedByte; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const algorithm = args[0]; + + switch (algorithm) { + case "CRC-8": + return this.calculateCRC8(input, 0x7, 0x0, false, false, 0x0); + case "CRC-8/CDMA2000": + return this.calculateCRC8(input, 0x9B, 0xFF, false, false, 0x0); + case "CRC-8/DARC": + return this.calculateCRC8(input, 0x39, 0x0, true, true, 0x0); + case "CRC-8/DVB-S2": + return this.calculateCRC8(input, 0xD5, 0x0, false, false, 0x0); + case "CRC-8/EBU": + return this.calculateCRC8(input, 0x1D, 0xFF, true, true, 0x0); + case "CRC-8/I-CODE": + return this.calculateCRC8(input, 0x1D, 0xFD, false, false, 0x0); + case "CRC-8/ITU": + return this.calculateCRC8(input, 0x7, 0x0, false, false, 0x55); + case "CRC-8/MAXIM": + return this.calculateCRC8(input, 0x31, 0x0, true, true, 0x0); + case "CRC-8/ROHC": + return this.calculateCRC8(input, 0x7, 0xFF, true, true, 0x0); + case "CRC-8/WCDMA": + return this.calculateCRC8(input, 0x9B, 0x0, true, true, 0x0); + default: + throw new OperationError("Unknown checksum algorithm"); + } + } +} + +export default CRC8Checksum; diff --git a/src/core/operations/CSSBeautify.mjs b/src/core/operations/CSSBeautify.mjs index d9835550..3491b618 100644 --- a/src/core/operations/CSSBeautify.mjs +++ b/src/core/operations/CSSBeautify.mjs @@ -5,7 +5,7 @@ */ import vkbeautify from "vkbeautify"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * CSS Beautify operation diff --git a/src/core/operations/CSSMinify.mjs b/src/core/operations/CSSMinify.mjs index 2d489edc..3aa96bb1 100644 --- a/src/core/operations/CSSMinify.mjs +++ b/src/core/operations/CSSMinify.mjs @@ -5,7 +5,7 @@ */ import vkbeautify from "vkbeautify"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * CSS Minify operation diff --git a/src/core/operations/CSSSelector.mjs b/src/core/operations/CSSSelector.mjs index c26d3142..d6b8da11 100644 --- a/src/core/operations/CSSSelector.mjs +++ b/src/core/operations/CSSSelector.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import xmldom from "xmldom"; import nwmatcher from "nwmatcher"; diff --git a/src/core/operations/CSVToJSON.mjs b/src/core/operations/CSVToJSON.mjs index d2cdb53b..ca9f1ceb 100644 --- a/src/core/operations/CSVToJSON.mjs +++ b/src/core/operations/CSVToJSON.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; /** * CSV to JSON operation diff --git a/src/core/operations/CTPH.mjs b/src/core/operations/CTPH.mjs index feb58d44..cd450dd9 100644 --- a/src/core/operations/CTPH.mjs +++ b/src/core/operations/CTPH.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import ctphjs from "ctph.js"; /** diff --git a/src/core/operations/CartesianProduct.mjs b/src/core/operations/CartesianProduct.mjs index cd32c72f..07ac575c 100644 --- a/src/core/operations/CartesianProduct.mjs +++ b/src/core/operations/CartesianProduct.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Set cartesian product operation diff --git a/src/core/operations/ChangeIPFormat.mjs b/src/core/operations/ChangeIPFormat.mjs index 56c5ffe1..c9adc5d8 100644 --- a/src/core/operations/ChangeIPFormat.mjs +++ b/src/core/operations/ChangeIPFormat.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; -import {fromHex} from "../lib/Hex"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import {fromHex} from "../lib/Hex.mjs"; /** * Change IP format operation @@ -29,12 +29,12 @@ class ChangeIPFormat extends Operation { { "name": "Input format", "type": "option", - "value": ["Dotted Decimal", "Decimal", "Hex"] + "value": ["Dotted Decimal", "Decimal", "Octal", "Hex"] }, { "name": "Output format", "type": "option", - "value": ["Dotted Decimal", "Decimal", "Hex"] + "value": ["Dotted Decimal", "Decimal", "Octal", "Hex"] } ]; } @@ -54,7 +54,6 @@ class ChangeIPFormat extends Operation { if (lines[i] === "") continue; let baIp = []; let octets; - let decimal; if (inFormat === outFormat) { output += lines[i] + "\n"; @@ -70,11 +69,10 @@ class ChangeIPFormat extends Operation { } break; case "Decimal": - decimal = lines[i].toString(); - baIp.push(decimal >> 24 & 255); - baIp.push(decimal >> 16 & 255); - baIp.push(decimal >> 8 & 255); - baIp.push(decimal & 255); + baIp = this.fromNumber(lines[i].toString(), 10); + break; + case "Octal": + baIp = this.fromNumber(lines[i].toString(), 8); break; case "Hex": baIp = fromHex(lines[i]); @@ -100,6 +98,10 @@ class ChangeIPFormat extends Operation { decIp = ((baIp[0] << 24) | (baIp[1] << 16) | (baIp[2] << 8) | baIp[3]) >>> 0; output += decIp.toString() + "\n"; break; + case "Octal": + decIp = ((baIp[0] << 24) | (baIp[1] << 16) | (baIp[2] << 8) | baIp[3]) >>> 0; + output += "0" + decIp.toString(8) + "\n"; + break; case "Hex": hexIp = ""; for (j = 0; j < baIp.length; j++) { @@ -115,6 +117,22 @@ class ChangeIPFormat extends Operation { return output.slice(0, output.length-1); } + /** + * Constructs an array of IP address octets from a numerical value. + * @param {string} value The value of the IP address + * @param {number} radix The numeral system to be used + * @returns {number[]} + */ + fromNumber(value, radix) { + const decimal = parseInt(value, radix); + const baIp = []; + baIp.push(decimal >> 24 & 255); + baIp.push(decimal >> 16 & 255); + baIp.push(decimal >> 8 & 255); + baIp.push(decimal & 255); + return baIp; + } + } export default ChangeIPFormat; diff --git a/src/core/operations/ChiSquare.mjs b/src/core/operations/ChiSquare.mjs index 5681abc8..f78574d6 100644 --- a/src/core/operations/ChiSquare.mjs +++ b/src/core/operations/ChiSquare.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Chi Square operation diff --git a/src/core/operations/CitrixCTX1Decode.mjs b/src/core/operations/CitrixCTX1Decode.mjs index 31c20ee9..33de4a36 100644 --- a/src/core/operations/CitrixCTX1Decode.mjs +++ b/src/core/operations/CitrixCTX1Decode.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import cptable from "../vendor/js-codepage/cptable.js"; /** @@ -23,17 +23,18 @@ class CitrixCTX1Decode extends Operation { this.module = "Encodings"; this.description = "Decodes strings in a Citrix CTX1 password format to plaintext."; this.infoURL = "https://www.reddit.com/r/AskNetsec/comments/1s3r6y/citrix_ctx1_hash_decoding/"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); if (input.length % 4 !== 0) { throw new OperationError("Incorrect hash length"); } diff --git a/src/core/operations/CitrixCTX1Encode.mjs b/src/core/operations/CitrixCTX1Encode.mjs index add563d8..3c6e8c45 100644 --- a/src/core/operations/CitrixCTX1Encode.mjs +++ b/src/core/operations/CitrixCTX1Encode.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import cptable from "../vendor/js-codepage/cptable.js"; /** diff --git a/src/core/operations/Comment.mjs b/src/core/operations/Comment.mjs index 2c941089..af74cf48 100644 --- a/src/core/operations/Comment.mjs +++ b/src/core/operations/Comment.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Comment operation diff --git a/src/core/operations/CompareCTPHHashes.mjs b/src/core/operations/CompareCTPHHashes.mjs index b8cd4c55..82156d27 100644 --- a/src/core/operations/CompareCTPHHashes.mjs +++ b/src/core/operations/CompareCTPHHashes.mjs @@ -4,11 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {HASH_DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {HASH_DELIM_OPTIONS} from "../lib/Delim.mjs"; import ctphjs from "ctph.js"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * Compare CTPH hashes operation diff --git a/src/core/operations/CompareSSDEEPHashes.mjs b/src/core/operations/CompareSSDEEPHashes.mjs index 46aa8dac..f443d269 100644 --- a/src/core/operations/CompareSSDEEPHashes.mjs +++ b/src/core/operations/CompareSSDEEPHashes.mjs @@ -4,11 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {HASH_DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {HASH_DELIM_OPTIONS} from "../lib/Delim.mjs"; import ssdeepjs from "ssdeep.js"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * Compare SSDEEP hashes operation diff --git a/src/core/operations/ConditionalJump.mjs b/src/core/operations/ConditionalJump.mjs index d102ea72..ca8eea30 100644 --- a/src/core/operations/ConditionalJump.mjs +++ b/src/core/operations/ConditionalJump.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Dish from "../Dish"; -import { getLabelIndex } from "../lib/FlowControl"; +import Operation from "../Operation.mjs"; +import Dish from "../Dish.mjs"; +import { getLabelIndex } from "../lib/FlowControl.mjs"; /** * Conditional Jump operation diff --git a/src/core/operations/ContainImage.mjs b/src/core/operations/ContainImage.mjs index c6df81ef..09717a28 100644 --- a/src/core/operations/ContainImage.mjs +++ b/src/core/operations/ContainImage.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class ContainImage extends Operation { this.module = "Image"; this.description = "Scales an image to the specified width and height, maintaining the aspect ratio. The image may be letterboxed."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -72,17 +73,22 @@ class ContainImage extends Operation { "Bezier" ], defaultIndex: 1 + }, + { + name: "Opaque background", + type: "boolean", + value: true } ]; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ async run(input, args) { - const [width, height, hAlign, vAlign, alg] = args; + const [width, height, hAlign, vAlign, alg, opaqueBg] = args; const resizeMap = { "Nearest Neighbour": jimp.RESIZE_NEAREST_NEIGHBOR, @@ -107,16 +113,28 @@ class ContainImage extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Containing image..."); image.contain(width, height, alignMap[hAlign] | alignMap[vAlign], resizeMap[alg]); - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + + if (opaqueBg) { + const newImage = await jimp.read(width, height, 0x000000FF); + newImage.blit(image, 0, 0); + image = newImage; + } + + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error containing image. (${err})`); } @@ -124,18 +142,19 @@ class ContainImage extends Operation { /** * Displays the contained image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/ConvertArea.mjs b/src/core/operations/ConvertArea.mjs index 1c4a80c3..4cce31b1 100644 --- a/src/core/operations/ConvertArea.mjs +++ b/src/core/operations/ConvertArea.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Convert area operation diff --git a/src/core/operations/ConvertCoordinateFormat.mjs b/src/core/operations/ConvertCoordinateFormat.mjs index 87e44bf2..f1e1b20f 100644 --- a/src/core/operations/ConvertCoordinateFormat.mjs +++ b/src/core/operations/ConvertCoordinateFormat.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {FORMATS, convertCoordinates} from "../lib/ConvertCoordinates"; +import Operation from "../Operation.mjs"; +import {FORMATS, convertCoordinates} from "../lib/ConvertCoordinates.mjs"; /** * Convert co-ordinate format operation diff --git a/src/core/operations/ConvertDataUnits.mjs b/src/core/operations/ConvertDataUnits.mjs index c35bd6fe..0335e852 100644 --- a/src/core/operations/ConvertDataUnits.mjs +++ b/src/core/operations/ConvertDataUnits.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Convert data units operation @@ -54,7 +54,7 @@ class ConvertDataUnits extends Operation { const DATA_UNITS = [ "Bits (b)", "Nibbles", "Octets", "Bytes (B)", "[Binary bits (2^n)]", "Kibibits (Kib)", "Mebibits (Mib)", "Gibibits (Gib)", "Tebibits (Tib)", "Pebibits (Pib)", "Exbibits (Eib)", "Zebibits (Zib)", "Yobibits (Yib)", "[/Binary bits (2^n)]", - "[Decimal bits (10^n)]", "Decabits", "Hectobits", "Kilobits (kb)", "Megabits (Mb)", "Gigabits (Gb)", "Terabits (Tb)", "Petabits (Pb)", "Exabits (Eb)", "Zettabits (Zb)", "Yottabits (Yb)", "[/Decimal bits (10^n)]", + "[Decimal bits (10^n)]", "Decabits", "Hectobits", "Kilobits (Kb)", "Megabits (Mb)", "Gigabits (Gb)", "Terabits (Tb)", "Petabits (Pb)", "Exabits (Eb)", "Zettabits (Zb)", "Yottabits (Yb)", "[/Decimal bits (10^n)]", "[Binary bytes (8 x 2^n)]", "Kibibytes (KiB)", "Mebibytes (MiB)", "Gibibytes (GiB)", "Tebibytes (TiB)", "Pebibytes (PiB)", "Exbibytes (EiB)", "Zebibytes (ZiB)", "Yobibytes (YiB)", "[/Binary bytes (8 x 2^n)]", "[Decimal bytes (8 x 10^n)]", "Kilobytes (KB)", "Megabytes (MB)", "Gigabytes (GB)", "Terabytes (TB)", "Petabytes (PB)", "Exabytes (EB)", "Zettabytes (ZB)", "Yottabytes (YB)", "[/Decimal bytes (8 x 10^n)]" ]; diff --git a/src/core/operations/ConvertDistance.mjs b/src/core/operations/ConvertDistance.mjs index 1151abc6..1a5fc8af 100644 --- a/src/core/operations/ConvertDistance.mjs +++ b/src/core/operations/ConvertDistance.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Convert distance operation diff --git a/src/core/operations/ConvertImageFormat.mjs b/src/core/operations/ConvertImageFormat.mjs new file mode 100644 index 00000000..8d6dce73 --- /dev/null +++ b/src/core/operations/ConvertImageFormat.mjs @@ -0,0 +1,143 @@ +/** + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import jimp from "jimp"; + +/** + * Convert Image Format operation + */ +class ConvertImageFormat extends Operation { + + /** + * ConvertImageFormat constructor + */ + constructor() { + super(); + + this.name = "Convert Image Format"; + this.module = "Image"; + this.description = "Converts an image between different formats. Supported formats:
  • Joint Photographic Experts Group (JPEG)
  • Portable Network Graphics (PNG)
  • Bitmap (BMP)
  • Tagged Image File Format (TIFF)

Note: GIF files are supported for input, but cannot be outputted."; + this.infoURL = "https://wikipedia.org/wiki/Image_file_formats"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; + this.presentType = "html"; + this.args = [ + { + name: "Output Format", + type: "option", + value: [ + "JPEG", + "PNG", + "BMP", + "TIFF" + ] + }, + { + name: "JPEG Quality", + type: "number", + value: 80, + min: 1, + max: 100 + }, + { + name: "PNG Filter Type", + type: "option", + value: [ + "Auto", + "None", + "Sub", + "Up", + "Average", + "Paeth" + ] + }, + { + name: "PNG Deflate Level", + type: "number", + value: 9, + min: 0, + max: 9 + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {byteArray} + */ + async run(input, args) { + const [format, jpegQuality, pngFilterType, pngDeflateLevel] = args; + const formatMap = { + "JPEG": jimp.MIME_JPEG, + "PNG": jimp.MIME_PNG, + "BMP": jimp.MIME_BMP, + "TIFF": jimp.MIME_TIFF + }; + + const pngFilterMap = { + "Auto": jimp.PNG_FILTER_AUTO, + "None": jimp.PNG_FILTER_NONE, + "Sub": jimp.PNG_FILTER_SUB, + "Up": jimp.PNG_FILTER_UP, + "Average": jimp.PNG_FILTER_AVERAGE, + "Paeth": jimp.PNG_FILTER_PATH // Incorrect spelling in Jimp library + }; + + const mime = formatMap[format]; + + if (!isImage(input)) { + throw new OperationError("Invalid file format."); + } + let image; + try { + image = await jimp.read(input); + } catch (err) { + throw new OperationError(`Error opening image file. (${err})`); + } + try { + switch (format) { + case "JPEG": + image.quality(jpegQuality); + break; + case "PNG": + image.filterType(pngFilterMap[pngFilterType]); + image.deflateLevel(pngDeflateLevel); + break; + } + + const imageBuffer = await image.getBufferAsync(mime); + return imageBuffer.buffer; + } catch (err) { + throw new OperationError(`Error converting image format. (${err})`); + } + } + + /** + * Displays the converted image using HTML for web apps + * + * @param {ArrayBuffer} data + * @returns {html} + */ + present(data) { + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); + + const type = isImage(dataArray); + if (!type) { + throw new OperationError("Invalid file type."); + } + + return ``; + } + +} + +export default ConvertImageFormat; diff --git a/src/core/operations/ConvertMass.mjs b/src/core/operations/ConvertMass.mjs index 3373aa57..712884ed 100644 --- a/src/core/operations/ConvertMass.mjs +++ b/src/core/operations/ConvertMass.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Convert mass operation diff --git a/src/core/operations/ConvertSpeed.mjs b/src/core/operations/ConvertSpeed.mjs index ec92ad95..7fc6718d 100644 --- a/src/core/operations/ConvertSpeed.mjs +++ b/src/core/operations/ConvertSpeed.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Convert speed operation diff --git a/src/core/operations/CountOccurrences.mjs b/src/core/operations/CountOccurrences.mjs index 5027a0f0..36ee33a8 100644 --- a/src/core/operations/CountOccurrences.mjs +++ b/src/core/operations/CountOccurrences.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Count occurrences operation diff --git a/src/core/operations/CoverImage.mjs b/src/core/operations/CoverImage.mjs index 07466308..07838ecf 100644 --- a/src/core/operations/CoverImage.mjs +++ b/src/core/operations/CoverImage.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class CoverImage extends Operation { this.module = "Image"; this.description = "Scales the image to the given width and height, keeping the aspect ratio. The image may be clipped."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -77,7 +78,7 @@ class CoverImage extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -107,16 +108,21 @@ class CoverImage extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Covering image..."); image.cover(width, height, alignMap[hAlign] | alignMap[vAlign], resizeMap[alg]); - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error covering image. (${err})`); } @@ -124,18 +130,19 @@ class CoverImage extends Operation { /** * Displays the covered image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/CropImage.mjs b/src/core/operations/CropImage.mjs index efbf29f9..8b480080 100644 --- a/src/core/operations/CropImage.mjs +++ b/src/core/operations/CropImage.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class CropImage extends Operation { this.module = "Image"; this.description = "Crops an image to the specified region, or automatically crops edges.

Autocrop
Automatically crops same-colour borders from the image.

Autocrop tolerance
A percentage value for the tolerance of colour difference between pixels.

Only autocrop frames
Only crop real frames (all sides must have the same border)

Symmetric autocrop
Force autocrop to be symmetric (top/bottom and left/right are cropped by the same amount)

Autocrop keep border
The number of pixels of border to leave around the image."; this.infoURL = "https://wikipedia.org/wiki/Cropping_(image)"; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -86,7 +87,7 @@ class CropImage extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -98,12 +99,12 @@ class CropImage extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Cropping image..."); if (autocrop) { image.autocrop({ @@ -116,8 +117,13 @@ class CropImage extends Operation { image.crop(xPos, yPos, width, height); } - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error cropping image. (${err})`); } @@ -125,18 +131,19 @@ class CropImage extends Operation { /** * Displays the cropped image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/DESDecrypt.mjs b/src/core/operations/DESDecrypt.mjs index 620256c7..42097cc2 100644 --- a/src/core/operations/DESDecrypt.mjs +++ b/src/core/operations/DESDecrypt.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; import forge from "node-forge/dist/forge.min.js"; /** @@ -73,6 +73,12 @@ class DESDecrypt extends Operation { DES uses a key length of 8 bytes (64 bits). Triple DES uses a key length of 24 bytes (192 bits).`); } + if (iv.length !== 8 && mode !== "ECB") { + throw new OperationError(`Invalid IV length: ${iv.length} bytes + +DES uses an IV length of 8 bytes (64 bits). +Make sure you have specified the type correctly (e.g. Hex vs UTF8).`); + } input = Utils.convertToByteString(input, inputType); diff --git a/src/core/operations/DESEncrypt.mjs b/src/core/operations/DESEncrypt.mjs index 774be674..6f297d32 100644 --- a/src/core/operations/DESEncrypt.mjs +++ b/src/core/operations/DESEncrypt.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; import forge from "node-forge/dist/forge.min.js"; /** @@ -73,6 +73,12 @@ class DESEncrypt extends Operation { DES uses a key length of 8 bytes (64 bits). Triple DES uses a key length of 24 bytes (192 bits).`); } + if (iv.length !== 8 && mode !== "ECB") { + throw new OperationError(`Invalid IV length: ${iv.length} bytes + +DES uses an IV length of 8 bytes (64 bits). +Make sure you have specified the type correctly (e.g. Hex vs UTF8).`); + } input = Utils.convertToByteString(input, inputType); diff --git a/src/core/operations/DNSOverHTTPS.mjs b/src/core/operations/DNSOverHTTPS.mjs index b56feb6a..ca779815 100644 --- a/src/core/operations/DNSOverHTTPS.mjs +++ b/src/core/operations/DNSOverHTTPS.mjs @@ -3,8 +3,8 @@ * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * DNS over HTTPS operation @@ -111,7 +111,7 @@ class DNSOverHTTPS extends Operation { * @returns {JSON} */ function extractData(data) { - if (typeof(data) == "undefined"){ + if (typeof(data) == "undefined") { return []; } else { const dataValues = []; diff --git a/src/core/operations/DechunkHTTPResponse.mjs b/src/core/operations/DechunkHTTPResponse.mjs index 61af035e..6a4c3813 100644 --- a/src/core/operations/DechunkHTTPResponse.mjs +++ b/src/core/operations/DechunkHTTPResponse.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Dechunk HTTP response operation diff --git a/src/core/operations/DecodeNetBIOSName.mjs b/src/core/operations/DecodeNetBIOSName.mjs index bbfe2b6e..f4d89f4a 100644 --- a/src/core/operations/DecodeNetBIOSName.mjs +++ b/src/core/operations/DecodeNetBIOSName.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Decode NetBIOS Name operation diff --git a/src/core/operations/DecodeText.mjs b/src/core/operations/DecodeText.mjs index a5d60706..489e40d3 100644 --- a/src/core/operations/DecodeText.mjs +++ b/src/core/operations/DecodeText.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import cptable from "../vendor/js-codepage/cptable.js"; -import {IO_FORMAT} from "../lib/ChrEnc"; +import {IO_FORMAT} from "../lib/ChrEnc.mjs"; /** * Decode text operation @@ -30,7 +30,7 @@ class DecodeText extends Operation { "", ].join("\n"); this.infoURL = "https://wikipedia.org/wiki/Character_encoding"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -42,13 +42,13 @@ class DecodeText extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { const format = IO_FORMAT[args[0]]; - return cptable.utils.decode(format, input); + return cptable.utils.decode(format, new Uint8Array(input)); } } diff --git a/src/core/operations/DefangIPAddresses.mjs b/src/core/operations/DefangIPAddresses.mjs new file mode 100644 index 00000000..74e03500 --- /dev/null +++ b/src/core/operations/DefangIPAddresses.mjs @@ -0,0 +1,61 @@ +/** + * @author h345983745 + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation"; + + +/** + * Defang IP Addresses operation + */ +class DefangIPAddresses extends Operation { + + /** + * DefangIPAddresses constructor + */ + constructor() { + super(); + + this.name = "Defang IP Addresses"; + this.module = "Default"; + this.description = "Takes a IPv4 or IPv6 address and 'Defangs' it, meaning the IP becomes invalid, removing the risk of accidentally utilising it as an IP address."; + this.infoURL = "https://isc.sans.edu/forums/diary/Defang+all+the+things/22744/"; + this.inputType = "string"; + this.outputType = "string"; + this.args = []; + + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + input = input.replace(IPV4_REGEX, x => { + return x.replace(/\./g, "[.]"); + }); + + input = input.replace(IPV6_REGEX, x => { + return x.replace(/:/g, "[:]"); + }); + + return input; + } +} + +export default DefangIPAddresses; + + +/** + * IPV4 regular expression + */ +const IPV4_REGEX = new RegExp("(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?", "g"); + + +/** + * IPV6 regular expression + */ +const IPV6_REGEX = new RegExp("((?=.*::)(?!.*::.+::)(::)?([\\dA-Fa-f]{1,4}:(:|\\b)|){5}|([\\dA-Fa-f]{1,4}:){6})((([\\dA-Fa-f]{1,4}((?!\\3)::|:\\b|(?![\\dA-Fa-f])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})", "g"); diff --git a/src/core/operations/DefangURL.mjs b/src/core/operations/DefangURL.mjs index 57d4298e..aa783c32 100644 --- a/src/core/operations/DefangURL.mjs +++ b/src/core/operations/DefangURL.mjs @@ -5,8 +5,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {URL_REGEX, DOMAIN_REGEX} from "../lib/Extract"; +import Operation from "../Operation.mjs"; +import {URL_REGEX, DOMAIN_REGEX} from "../lib/Extract.mjs"; /** * DefangURL operation diff --git a/src/core/operations/DeriveEVPKey.mjs b/src/core/operations/DeriveEVPKey.mjs index a14d2249..b729d6ea 100644 --- a/src/core/operations/DeriveEVPKey.mjs +++ b/src/core/operations/DeriveEVPKey.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import CryptoJS from "crypto-js"; /** diff --git a/src/core/operations/DerivePBKDF2Key.mjs b/src/core/operations/DerivePBKDF2Key.mjs index 53fedb4d..e4b9c406 100644 --- a/src/core/operations/DerivePBKDF2Key.mjs +++ b/src/core/operations/DerivePBKDF2Key.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; /** diff --git a/src/core/operations/DetectFileType.mjs b/src/core/operations/DetectFileType.mjs index 2321cee8..c8cdb822 100644 --- a/src/core/operations/DetectFileType.mjs +++ b/src/core/operations/DetectFileType.mjs @@ -4,9 +4,16 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {detectFileType} from "../lib/FileType"; -import {FILE_SIGNATURES} from "../lib/FileSignatures"; +import Operation from "../Operation.mjs"; +import {detectFileType} from "../lib/FileType.mjs"; +import {FILE_SIGNATURES} from "../lib/FileSignatures.mjs"; + +// Concat all supported extensions into a single flat list +const exts = [].concat.apply([], Object.keys(FILE_SIGNATURES).map(cat => + [].concat.apply([], FILE_SIGNATURES[cat].map(sig => + sig.extension.split(",") + )) +)).unique().sort().join(", "); /** * Detect File Type operation @@ -21,7 +28,8 @@ class DetectFileType extends Operation { this.name = "Detect File Type"; this.module = "Default"; - this.description = "Attempts to guess the MIME (Multipurpose Internet Mail Extensions) type of the data based on 'magic bytes'.

Currently supports the following file types: 7z, amr, avi, bmp, bz2, class, cr2, crx, dex, dmg, doc, elf, eot, epub, exe, flac, flv, gif, gz, ico, iso, jpg, jxr, m4a, m4v, mid, mkv, mov, mp3, mp4, mpg, ogg, otf, pdf, png, ppt, ps, psd, rar, rtf, sqlite, swf, tar, tar.z, tif, ttf, utf8, vmdk, wav, webm, webp, wmv, woff, woff2, xls, xz, zip."; + this.description = "Attempts to guess the MIME (Multipurpose Internet Mail Extensions) type of the data based on 'magic bytes'.

Currently supports the following file types: " + + exts + "."; this.infoURL = "https://wikipedia.org/wiki/List_of_file_signatures"; this.inputType = "ArrayBuffer"; this.outputType = "string"; @@ -52,18 +60,19 @@ class DetectFileType extends Operation { if (!types.length) { return "Unknown file type. Have you tried checking the entropy of this data to determine whether it might be encrypted or compressed?"; } else { - let output = ""; - - types.forEach(type => { - output += "File extension: " + type.extension + "\n" + - "MIME type: " + type.mime + "\n"; + const results = types.map(type => { + let output = `File type: ${type.name} +Extension: ${type.extension} +MIME type: ${type.mime}\n`; if (type.description && type.description.length) { - output += "\nDescription: " + type.description + "\n"; + output += `Description: ${type.description}\n`; } + + return output; }); - return output; + return results.join("\n"); } } diff --git a/src/core/operations/Diff.mjs b/src/core/operations/Diff.mjs index 9e094e99..7adea178 100644 --- a/src/core/operations/Diff.mjs +++ b/src/core/operations/Diff.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import * as JsDiff from "diff"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * Diff operation diff --git a/src/core/operations/DisassembleX86.mjs b/src/core/operations/DisassembleX86.mjs index b25dcb48..bdaf348a 100644 --- a/src/core/operations/DisassembleX86.mjs +++ b/src/core/operations/DisassembleX86.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import * as disassemble from "../vendor/DisassembleX86-64"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import * as disassemble from "../vendor/DisassembleX86-64.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Disassemble x86 operation diff --git a/src/core/operations/DitherImage.mjs b/src/core/operations/DitherImage.mjs index 13011837..6aef72dc 100644 --- a/src/core/operations/DitherImage.mjs +++ b/src/core/operations/DitherImage.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; -import { toBase64 } from "../lib/Base64"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,14 +26,14 @@ class DitherImage extends Operation { this.module = "Image"; this.description = "Apply a dither effect to an image."; this.infoURL = "https://wikipedia.org/wiki/Dither"; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -43,16 +44,22 @@ class DitherImage extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Applying dither to image..."); image.dither565(); - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error applying dither to image. (${err})`); } @@ -60,18 +67,19 @@ class DitherImage extends Operation { /** * Displays the dithered image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/Divide.mjs b/src/core/operations/Divide.mjs index 5ca88be0..108c175b 100644 --- a/src/core/operations/Divide.mjs +++ b/src/core/operations/Divide.mjs @@ -6,9 +6,9 @@ */ import BigNumber from "bignumber.js"; -import Operation from "../Operation"; -import { div, createNumArray } from "../lib/Arithmetic"; -import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import { div, createNumArray } from "../lib/Arithmetic.mjs"; +import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim.mjs"; /** diff --git a/src/core/operations/DropBytes.mjs b/src/core/operations/DropBytes.mjs index 80492c34..9ea105f8 100644 --- a/src/core/operations/DropBytes.mjs +++ b/src/core/operations/DropBytes.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Drop bytes operation diff --git a/src/core/operations/EncodeNetBIOSName.mjs b/src/core/operations/EncodeNetBIOSName.mjs index 9352ed4f..bcc9a11d 100644 --- a/src/core/operations/EncodeNetBIOSName.mjs +++ b/src/core/operations/EncodeNetBIOSName.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Encode NetBIOS Name operation diff --git a/src/core/operations/EncodeText.mjs b/src/core/operations/EncodeText.mjs index dd3241a2..8dd4d503 100644 --- a/src/core/operations/EncodeText.mjs +++ b/src/core/operations/EncodeText.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import cptable from "../vendor/js-codepage/cptable.js"; -import {IO_FORMAT} from "../lib/ChrEnc"; +import {IO_FORMAT} from "../lib/ChrEnc.mjs"; /** * Encode text operation @@ -31,7 +31,7 @@ class EncodeText extends Operation { ].join("\n"); this.infoURL = "https://wikipedia.org/wiki/Character_encoding"; this.inputType = "string"; - this.outputType = "byteArray"; + this.outputType = "ArrayBuffer"; this.args = [ { "name": "Encoding", @@ -44,13 +44,12 @@ class EncodeText extends Operation { /** * @param {string} input * @param {Object[]} args - * @returns {byteArray} + * @returns {ArrayBuffer} */ run(input, args) { const format = IO_FORMAT[args[0]]; - let encoded = cptable.utils.encode(format, input); - encoded = Array.from(encoded); - return encoded; + const encoded = cptable.utils.encode(format, input); + return new Uint8Array(encoded).buffer; } } diff --git a/src/core/operations/Enigma.mjs b/src/core/operations/Enigma.mjs index 542e8281..3e8b7dcb 100644 --- a/src/core/operations/Enigma.mjs +++ b/src/core/operations/Enigma.mjs @@ -6,9 +6,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import {ROTORS, LETTERS, ROTORS_FOURTH, REFLECTORS, Rotor, Reflector, Plugboard, EnigmaMachine} from "../lib/Enigma"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {ROTORS, LETTERS, ROTORS_FOURTH, REFLECTORS, Rotor, Reflector, Plugboard, EnigmaMachine} from "../lib/Enigma.mjs"; /** * Enigma operation diff --git a/src/core/operations/Entropy.mjs b/src/core/operations/Entropy.mjs index 868178fc..3e93cc57 100644 --- a/src/core/operations/Entropy.mjs +++ b/src/core/operations/Entropy.mjs @@ -4,8 +4,13 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import * as d3temp from "d3"; +import * as nodomtemp from "nodom"; + +import Operation from "../Operation.mjs"; + +const d3 = d3temp.default ? d3temp.default : d3temp; +const nodom = nodomtemp.default ? nodomtemp.default: nodomtemp; /** * Entropy operation @@ -19,30 +24,45 @@ class Entropy extends Operation { super(); this.name = "Entropy"; - this.module = "Default"; + this.module = "Charts"; this.description = "Shannon Entropy, in the context of information theory, is a measure of the rate at which information is produced by a source of data. It can be used, in a broad sense, to detect whether data is likely to be structured or unstructured. 8 is the maximum, representing highly unstructured, 'random' data. English language text usually falls somewhere between 3.5 and 5. Properly encrypted or compressed data should have an entropy of over 7.5."; this.infoURL = "https://wikipedia.org/wiki/Entropy_(information_theory)"; - this.inputType = "byteArray"; - this.outputType = "number"; + this.inputType = "ArrayBuffer"; + this.outputType = "json"; this.presentType = "html"; - this.args = []; + this.args = [ + { + "name": "Visualisation", + "type": "option", + "value": ["Shannon scale", "Histogram (Bar)", "Histogram (Line)", "Curve", "Image"] + } + ]; } /** - * @param {byteArray} input - * @param {Object[]} args + * Calculates the frequency of bytes in the input. + * + * @param {Uint8Array} input * @returns {number} */ - run(input, args) { + calculateShannonEntropy(input) { const prob = [], - uniques = input.unique(), - str = Utils.byteArrayToChars(input); - let i; + occurrences = new Array(256).fill(0); - for (i = 0; i < uniques.length; i++) { - prob.push(str.count(Utils.chr(uniques[i])) / input.length); + // Count occurrences of each byte in the input + let i; + for (i = 0; i < input.length; i++) { + occurrences[input[i]]++; } + // Store probability list + for (i = 0; i < occurrences.length; i++) { + if (occurrences[i] > 0) { + prob.push(occurrences[i] / input.length); + } + } + + // Calculate Shannon entropy let entropy = 0, p; @@ -54,44 +74,357 @@ class Entropy extends Operation { return -entropy; } + /** + * Calculates the scanning entropy of the input + * + * @param {Uint8Array} inputBytes + * @returns {Object} + */ + calculateScanningEntropy(inputBytes) { + const entropyData = []; + const binWidth = inputBytes.length < 256 ? 8 : 256; + + for (let bytePos = 0; bytePos < inputBytes.length; bytePos += binWidth) { + const block = inputBytes.slice(bytePos, bytePos+binWidth); + entropyData.push(this.calculateShannonEntropy(block)); + } + + return { entropyData, binWidth }; + } + + /** + * Calculates the frequency of bytes in the input. + * + * @param {object} svg + * @param {function} xScale + * @param {function} yScale + * @param {integer} svgHeight + * @param {integer} svgWidth + * @param {object} margins + * @param {string} xTitle + * @param {string} yTitle + */ + createAxes(svg, xScale, yScale, svgHeight, svgWidth, margins, title, xTitle, yTitle) { + // Axes + const yAxis = d3.axisLeft() + .scale(yScale); + + const xAxis = d3.axisBottom() + .scale(xScale); + + svg.append("g") + .attr("transform", `translate(0, ${svgHeight - margins.bottom})`) + .call(xAxis); + + svg.append("g") + .attr("transform", `translate(${margins.left},0)`) + .call(yAxis); + + // Axes labels + svg.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 0 - margins.left) + .attr("x", 0 - (svgHeight / 2)) + .attr("dy", "1em") + .style("text-anchor", "middle") + .text(yTitle); + + svg.append("text") + .attr("transform", `translate(${svgWidth / 2}, ${svgHeight - margins.bottom + 40})`) + .style("text-anchor", "middle") + .text(xTitle); + + // Add title + svg.append("text") + .attr("transform", `translate(${svgWidth / 2}, ${margins.top - 10})`) + .style("text-anchor", "middle") + .text(title); + } + + /** + * Calculates the frequency of bytes in the input. + * + * @param {Uint8Array} inputBytes + * @returns {number[]} + */ + calculateByteFrequency(inputBytes) { + const freq = new Array(256).fill(0); + if (inputBytes.length === 0) return freq; + + // Count occurrences of each byte in the input + let i; + for (i = 0; i < inputBytes.length; i++) { + freq[inputBytes[i]]++; + } + + for (i = 0; i < freq.length; i++) { + freq[i] = freq[i] / inputBytes.length; + } + + return freq; + } + + /** + * Calculates the frequency of bytes in the input. + * + * @param {number[]} byteFrequency + * @returns {HTML} + */ + createByteFrequencyLineHistogram(byteFrequency) { + const margins = { top: 30, right: 20, bottom: 50, left: 30 }; + + const svgWidth = 500, + svgHeight = 500; + + const document = new nodom.Document(); + let svg = document.createElement("svg"); + + svg = d3.select(svg) + .attr("width", "100%") + .attr("height", "100%") + .attr("viewBox", `0 0 ${svgWidth} ${svgHeight}`); + + const yScale = d3.scaleLinear() + .domain([0, d3.max(byteFrequency, d => d)]) + .range([svgHeight - margins.bottom, margins.top]); + + const xScale = d3.scaleLinear() + .domain([0, byteFrequency.length - 1]) + .range([margins.left, svgWidth - margins.right]); + + const line = d3.line() + .x((_, i) => xScale(i)) + .y(d => yScale(d)) + .curve(d3.curveMonotoneX); + + svg.append("path") + .datum(byteFrequency) + .attr("fill", "none") + .attr("stroke", "steelblue") + .attr("d", line); + + this.createAxes(svg, xScale, yScale, svgHeight, svgWidth, margins, "", "Byte", "Byte Frequency"); + + return svg._groups[0][0].outerHTML; + } + + /** + * Creates a byte frequency histogram + * + * @param {number[]} byteFrequency + * @returns {HTML} + */ + createByteFrequencyBarHistogram(byteFrequency) { + const margins = { top: 30, right: 20, bottom: 50, left: 30 }; + + const svgWidth = 500, + svgHeight = 500, + binWidth = 1; + + const document = new nodom.Document(); + let svg = document.createElement("svg"); + svg = d3.select(svg) + .attr("width", "100%") + .attr("height", "100%") + .attr("viewBox", `0 0 ${svgWidth} ${svgHeight}`); + + const yExtent = d3.extent(byteFrequency, d => d); + const yScale = d3.scaleLinear() + .domain(yExtent) + .range([svgHeight - margins.bottom, margins.top]); + + const xScale = d3.scaleLinear() + .domain([0, byteFrequency.length - 1]) + .range([margins.left - binWidth, svgWidth - margins.right]); + + svg.selectAll("rect") + .data(byteFrequency) + .enter().append("rect") + .attr("x", (_, i) => xScale(i) + binWidth) + .attr("y", dataPoint => yScale(dataPoint)) + .attr("width", binWidth) + .attr("height", dataPoint => yScale(yExtent[0]) - yScale(dataPoint)) + .attr("fill", "blue"); + + this.createAxes(svg, xScale, yScale, svgHeight, svgWidth, margins, "", "Byte", "Byte Frequency"); + + return svg._groups[0][0].outerHTML; + } + + /** + * Creates a byte frequency histogram + * + * @param {number[]} entropyData + * @returns {HTML} + */ + createEntropyCurve(entropyData) { + const margins = { top: 30, right: 20, bottom: 50, left: 30 }; + + const svgWidth = 500, + svgHeight = 500; + + const document = new nodom.Document(); + let svg = document.createElement("svg"); + svg = d3.select(svg) + .attr("width", "100%") + .attr("height", "100%") + .attr("viewBox", `0 0 ${svgWidth} ${svgHeight}`); + + const yScale = d3.scaleLinear() + .domain([0, d3.max(entropyData, d => d)]) + .range([svgHeight - margins.bottom, margins.top]); + + const xScale = d3.scaleLinear() + .domain([0, entropyData.length]) + .range([margins.left, svgWidth - margins.right]); + + const line = d3.line() + .x((_, i) => xScale(i)) + .y(d => yScale(d)) + .curve(d3.curveMonotoneX); + + if (entropyData.length > 0) { + svg.append("path") + .datum(entropyData) + .attr("d", line); + + svg.selectAll("path").attr("fill", "none").attr("stroke", "steelblue"); + } + + this.createAxes(svg, xScale, yScale, svgHeight, svgWidth, margins, "Scanning Entropy", "Block", "Entropy"); + + return svg._groups[0][0].outerHTML; + } + + /** + * Creates an image representation of the entropy + * + * @param {number[]} entropyData + * @returns {HTML} + */ + createEntropyImage(entropyData) { + const svgHeight = 100, + svgWidth = 100, + cellSize = 1, + nodes = []; + + for (let i = 0; i < entropyData.length; i++) { + nodes.push({ + x: i % svgWidth, + y: Math.floor(i / svgWidth), + entropy: entropyData[i] + }); + } + + const document = new nodom.Document(); + let svg = document.createElement("svg"); + svg = d3.select(svg) + .attr("width", "100%") + .attr("height", "100%") + .attr("viewBox", `0 0 ${svgWidth} ${svgHeight}`); + + const greyScale = d3.scaleLinear() + .domain([0, d3.max(entropyData, d => d)]) + .range(["#000000", "#FFFFFF"]) + .interpolate(d3.interpolateRgb); + + svg + .selectAll("rect") + .data(nodes) + .enter().append("rect") + .attr("x", d => d.x * cellSize) + .attr("y", d => d.y * cellSize) + .attr("width", cellSize) + .attr("height", cellSize) + .style("fill", d => greyScale(d.entropy)); + + return svg._groups[0][0].outerHTML; + } + /** * Displays the entropy as a scale bar for web apps. * * @param {number} entropy - * @returns {html} + * @returns {HTML} */ - present(entropy) { + createShannonEntropyVisualization(entropy) { return `Shannon entropy: ${entropy} -

-- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string. -- Standard English text usually falls somewhere between 3.5 and 5. -- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5. +

+ - 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string. + - Standard English text usually falls somewhere between 3.5 and 5. + - Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5. -The following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections. + The following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections. -
`; + CanvasComponents.drawScaleBar(canvas, entropy, 8, [ + { + label: "English text", + min: 3.5, + max: 5 + },{ + label: "Encrypted/compressed", + min: 7.5, + max: 8 + } + ]); + `; } + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {json} + */ + run(input, args) { + const visualizationType = args[0]; + input = new Uint8Array(input); + + switch (visualizationType) { + case "Histogram (Bar)": + case "Histogram (Line)": + return this.calculateByteFrequency(input); + case "Curve": + case "Image": + return this.calculateScanningEntropy(input).entropyData; + case "Shannon scale": + default: + return this.calculateShannonEntropy(input); + } + } + + /** + * Displays the entropy in a visualisation for web apps. + * + * @param {json} entropyData + * @param {Object[]} args + * @returns {html} + */ + present(entropyData, args) { + const visualizationType = args[0]; + + switch (visualizationType) { + case "Histogram (Bar)": + return this.createByteFrequencyBarHistogram(entropyData); + case "Histogram (Line)": + return this.createByteFrequencyLineHistogram(entropyData); + case "Curve": + return this.createEntropyCurve(entropyData); + case "Image": + return this.createEntropyImage(entropyData); + case "Shannon scale": + default: + return this.createShannonEntropyVisualization(entropyData); + } + } } export default Entropy; diff --git a/src/core/operations/EscapeString.mjs b/src/core/operations/EscapeString.mjs index 2d945e24..3ddea181 100644 --- a/src/core/operations/EscapeString.mjs +++ b/src/core/operations/EscapeString.mjs @@ -5,7 +5,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import jsesc from "jsesc"; /** diff --git a/src/core/operations/EscapeUnicodeCharacters.mjs b/src/core/operations/EscapeUnicodeCharacters.mjs index 9bbf4f69..ad5ef3ea 100644 --- a/src/core/operations/EscapeUnicodeCharacters.mjs +++ b/src/core/operations/EscapeUnicodeCharacters.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Escape Unicode Characters operation diff --git a/src/core/operations/ExpandAlphabetRange.mjs b/src/core/operations/ExpandAlphabetRange.mjs index 761a7a3b..62afeb65 100644 --- a/src/core/operations/ExpandAlphabetRange.mjs +++ b/src/core/operations/ExpandAlphabetRange.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Expand alphabet range operation diff --git a/src/core/operations/ExtractDates.mjs b/src/core/operations/ExtractDates.mjs index 530db194..dfe93c88 100644 --- a/src/core/operations/ExtractDates.mjs +++ b/src/core/operations/ExtractDates.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { search } from "../lib/Extract"; +import Operation from "../Operation.mjs"; +import { search } from "../lib/Extract.mjs"; /** * Extract dates operation diff --git a/src/core/operations/ExtractDomains.mjs b/src/core/operations/ExtractDomains.mjs index ddd7ca97..cc65ff4b 100644 --- a/src/core/operations/ExtractDomains.mjs +++ b/src/core/operations/ExtractDomains.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { search, DOMAIN_REGEX } from "../lib/Extract"; +import Operation from "../Operation.mjs"; +import { search, DOMAIN_REGEX } from "../lib/Extract.mjs"; /** * Extract domains operation @@ -20,7 +20,7 @@ class ExtractDomains extends Operation { this.name = "Extract domains"; this.module = "Regex"; - this.description = "Extracts domain names.
Note that this will not include paths. Use Extract URLs to find entire URLs."; + this.description = "Extracts fully qualified domain names.
Note that this will not include paths. Use Extract URLs to find entire URLs."; this.inputType = "string"; this.outputType = "string"; this.args = [ diff --git a/src/core/operations/ExtractEXIF.mjs b/src/core/operations/ExtractEXIF.mjs index 7a96d24a..7edc8b80 100644 --- a/src/core/operations/ExtractEXIF.mjs +++ b/src/core/operations/ExtractEXIF.mjs @@ -5,8 +5,8 @@ */ import ExifParser from "exif-parser"; -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Extract EXIF operation diff --git a/src/core/operations/ExtractEmailAddresses.mjs b/src/core/operations/ExtractEmailAddresses.mjs index 54ccf95b..13bc023b 100644 --- a/src/core/operations/ExtractEmailAddresses.mjs +++ b/src/core/operations/ExtractEmailAddresses.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { search } from "../lib/Extract"; +import Operation from "../Operation.mjs"; +import { search } from "../lib/Extract.mjs"; /** * Extract email addresses operation diff --git a/src/core/operations/ExtractFilePaths.mjs b/src/core/operations/ExtractFilePaths.mjs index 4b268192..04d3f73e 100644 --- a/src/core/operations/ExtractFilePaths.mjs +++ b/src/core/operations/ExtractFilePaths.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { search } from "../lib/Extract"; +import Operation from "../Operation.mjs"; +import { search } from "../lib/Extract.mjs"; /** * Extract file paths operation diff --git a/src/core/operations/ExtractFiles.mjs b/src/core/operations/ExtractFiles.mjs index b9b260bb..dd146838 100644 --- a/src/core/operations/ExtractFiles.mjs +++ b/src/core/operations/ExtractFiles.mjs @@ -4,11 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; -import {scanForFileTypes, extractFile} from "../lib/FileType"; -import {FILE_SIGNATURES} from "../lib/FileSignatures"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import {scanForFileTypes, extractFile} from "../lib/FileType.mjs"; +import {FILE_SIGNATURES} from "../lib/FileSignatures.mjs"; /** * Extract Files operation @@ -23,7 +23,7 @@ class ExtractFiles extends Operation { this.name = "Extract Files"; this.module = "Default"; - this.description = "TODO"; + this.description = "Performs file carving to attempt to extract files from the input.

This operation is currently capable of carving out the following formats:
  • JPG
  • EXE
  • ZIP
  • PDF
  • PNG
  • BMP
  • FLV
  • RTF
  • DOCX, PPTX, XLSX
  • EPUB
  • GZIP
  • ZLIB
  • ELF, BIN, AXF, O, PRX, SO
"; this.infoURL = "https://forensicswiki.org/wiki/File_Carving"; this.inputType = "ArrayBuffer"; this.outputType = "List"; diff --git a/src/core/operations/ExtractIPAddresses.mjs b/src/core/operations/ExtractIPAddresses.mjs index 1cca2098..8d36a783 100644 --- a/src/core/operations/ExtractIPAddresses.mjs +++ b/src/core/operations/ExtractIPAddresses.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { search } from "../lib/Extract"; +import Operation from "../Operation.mjs"; +import { search } from "../lib/Extract.mjs"; /** * Extract IP addresses operation diff --git a/src/core/operations/ExtractLSB.mjs b/src/core/operations/ExtractLSB.mjs new file mode 100644 index 00000000..12f990da --- /dev/null +++ b/src/core/operations/ExtractLSB.mjs @@ -0,0 +1,114 @@ +/** + * @author Ge0rg3 [georgeomnet+cyberchef@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import { fromBinary } from "../lib/Binary.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import jimp from "jimp"; + +/** + * Extract LSB operation + */ +class ExtractLSB extends Operation { + + /** + * ExtractLSB constructor + */ + constructor() { + super(); + + this.name = "Extract LSB"; + this.module = "Image"; + this.description = "Extracts the Least Significant Bit data from each pixel in an image. This is a common way to hide data in Steganography."; + this.infoURL = "https://wikipedia.org/wiki/Bit_numbering#Least_significant_bit_in_digital_steganography"; + this.inputType = "ArrayBuffer"; + this.outputType = "byteArray"; + this.args = [ + { + name: "Colour Pattern #1", + type: "option", + value: COLOUR_OPTIONS, + }, + { + name: "Colour Pattern #2", + type: "option", + value: ["", ...COLOUR_OPTIONS], + }, + { + name: "Colour Pattern #3", + type: "option", + value: ["", ...COLOUR_OPTIONS], + }, + { + name: "Colour Pattern #4", + type: "option", + value: ["", ...COLOUR_OPTIONS], + }, + { + name: "Pixel Order", + type: "option", + value: ["Row", "Column"], + }, + { + name: "Bit", + type: "number", + value: 0 + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {byteArray} + */ + async run(input, args) { + if (!isImage(input)) throw new OperationError("Please enter a valid image file."); + + const bit = 7 - args.pop(), + pixelOrder = args.pop(), + colours = args.filter(option => option !== "").map(option => COLOUR_OPTIONS.indexOf(option)), + parsedImage = await jimp.read(input), + width = parsedImage.bitmap.width, + height = parsedImage.bitmap.height, + rgba = parsedImage.bitmap.data; + + if (bit < 0 || bit > 7) { + throw new OperationError("Error: Bit argument must be between 0 and 7"); + } + + let i, combinedBinary = ""; + + if (pixelOrder === "Row") { + for (i = 0; i < rgba.length; i += 4) { + for (const colour of colours) { + combinedBinary += Utils.bin(rgba[i + colour])[bit]; + } + } + } else { + let rowWidth; + const pixelWidth = width * 4; + for (let col = 0; col < width; col++) { + for (let row = 0; row < height; row++) { + rowWidth = row * pixelWidth; + for (const colour of colours) { + i = rowWidth + (col + colour * 4); + combinedBinary += Utils.bin(rgba[i])[bit]; + } + } + } + } + + return fromBinary(combinedBinary); + } + +} + +const COLOUR_OPTIONS = ["R", "G", "B", "A"]; + +export default ExtractLSB; diff --git a/src/core/operations/ExtractMACAddresses.mjs b/src/core/operations/ExtractMACAddresses.mjs index 9c3c2a5b..d75b1a69 100644 --- a/src/core/operations/ExtractMACAddresses.mjs +++ b/src/core/operations/ExtractMACAddresses.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { search } from "../lib/Extract"; +import Operation from "../Operation.mjs"; +import { search } from "../lib/Extract.mjs"; /** * Extract MAC addresses operation diff --git a/src/core/operations/ExtractRGBA.mjs b/src/core/operations/ExtractRGBA.mjs new file mode 100644 index 00000000..7d2fc274 --- /dev/null +++ b/src/core/operations/ExtractRGBA.mjs @@ -0,0 +1,65 @@ +/** + * @author Ge0rg3 [georgeomnet+cyberchef@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import jimp from "jimp"; + +import {RGBA_DELIM_OPTIONS} from "../lib/Delim.mjs"; + +/** + * Extract RGBA operation + */ +class ExtractRGBA extends Operation { + + /** + * ExtractRGBA constructor + */ + constructor() { + super(); + + this.name = "Extract RGBA"; + this.module = "Image"; + this.description = "Extracts each pixel's RGBA value in an image. These are sometimes used in Steganography to hide text or data."; + this.infoURL = "https://wikipedia.org/wiki/RGBA_color_space"; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = [ + { + name: "Delimiter", + type: "editableOption", + value: RGBA_DELIM_OPTIONS + }, + { + name: "Include Alpha", + type: "boolean", + value: true + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} + */ + async run(input, args) { + if (!isImage(input)) throw new OperationError("Please enter a valid image file."); + + const delimiter = args[0], + includeAlpha = args[1], + parsedImage = await jimp.read(input); + + let bitmap = parsedImage.bitmap.data; + bitmap = includeAlpha ? bitmap : bitmap.filter((val, idx) => idx % 4 !== 3); + + return bitmap.join(delimiter); + } + +} + +export default ExtractRGBA; diff --git a/src/core/operations/ExtractURLs.mjs b/src/core/operations/ExtractURLs.mjs index 5e76c6d9..a5b26515 100644 --- a/src/core/operations/ExtractURLs.mjs +++ b/src/core/operations/ExtractURLs.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { search, URL_REGEX } from "../lib/Extract"; +import Operation from "../Operation.mjs"; +import { search, URL_REGEX } from "../lib/Extract.mjs"; /** * Extract URLs operation diff --git a/src/core/operations/Filter.mjs b/src/core/operations/Filter.mjs index 64a97279..904bb65f 100644 --- a/src/core/operations/Filter.mjs +++ b/src/core/operations/Filter.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {INPUT_DELIM_OPTIONS} from "../lib/Delim"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {INPUT_DELIM_OPTIONS} from "../lib/Delim.mjs"; +import OperationError from "../errors/OperationError.mjs"; import XRegExp from "xregexp"; /** diff --git a/src/core/operations/FindReplace.mjs b/src/core/operations/FindReplace.mjs index af75fcb0..4fc1e43c 100644 --- a/src/core/operations/FindReplace.mjs +++ b/src/core/operations/FindReplace.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import XRegExp from "xregexp"; /** diff --git a/src/core/operations/Fletcher16Checksum.mjs b/src/core/operations/Fletcher16Checksum.mjs index d2331823..b91ec2a8 100644 --- a/src/core/operations/Fletcher16Checksum.mjs +++ b/src/core/operations/Fletcher16Checksum.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Fletcher-16 Checksum operation @@ -22,19 +22,20 @@ class Fletcher16Checksum extends Operation { this.module = "Crypto"; this.description = "The Fletcher checksum is an algorithm for computing a position-dependent checksum devised by John Gould Fletcher at Lawrence Livermore Labs in the late 1970s.

The objective of the Fletcher checksum was to provide error-detection properties approaching those of a cyclic redundancy check but with the lower computational effort associated with summation techniques."; this.infoURL = "https://wikipedia.org/wiki/Fletcher%27s_checksum#Fletcher-16"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { let a = 0, b = 0; + input = new Uint8Array(input); for (let i = 0; i < input.length; i++) { a = (a + input[i]) % 0xff; diff --git a/src/core/operations/Fletcher32Checksum.mjs b/src/core/operations/Fletcher32Checksum.mjs index 30f4bc69..29c74535 100644 --- a/src/core/operations/Fletcher32Checksum.mjs +++ b/src/core/operations/Fletcher32Checksum.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Fletcher-32 Checksum operation @@ -22,19 +22,20 @@ class Fletcher32Checksum extends Operation { this.module = "Crypto"; this.description = "The Fletcher checksum is an algorithm for computing a position-dependent checksum devised by John Gould Fletcher at Lawrence Livermore Labs in the late 1970s.

The objective of the Fletcher checksum was to provide error-detection properties approaching those of a cyclic redundancy check but with the lower computational effort associated with summation techniques."; this.infoURL = "https://wikipedia.org/wiki/Fletcher%27s_checksum#Fletcher-32"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { let a = 0, b = 0; + input = new Uint8Array(input); for (let i = 0; i < input.length; i++) { a = (a + input[i]) % 0xffff; diff --git a/src/core/operations/Fletcher64Checksum.mjs b/src/core/operations/Fletcher64Checksum.mjs index 56afe42e..1d0d5bd9 100644 --- a/src/core/operations/Fletcher64Checksum.mjs +++ b/src/core/operations/Fletcher64Checksum.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Fletcher-64 Checksum operation @@ -22,19 +22,20 @@ class Fletcher64Checksum extends Operation { this.module = "Crypto"; this.description = "The Fletcher checksum is an algorithm for computing a position-dependent checksum devised by John Gould Fletcher at Lawrence Livermore Labs in the late 1970s.

The objective of the Fletcher checksum was to provide error-detection properties approaching those of a cyclic redundancy check but with the lower computational effort associated with summation techniques."; this.infoURL = "https://wikipedia.org/wiki/Fletcher%27s_checksum#Fletcher-64"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { let a = 0, b = 0; + input = new Uint8Array(input); for (let i = 0; i < input.length; i++) { a = (a + input[i]) % 0xffffffff; diff --git a/src/core/operations/Fletcher8Checksum.mjs b/src/core/operations/Fletcher8Checksum.mjs index a6dc0e4d..1200c00c 100644 --- a/src/core/operations/Fletcher8Checksum.mjs +++ b/src/core/operations/Fletcher8Checksum.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Fletcher-8 Checksum operation @@ -22,19 +22,20 @@ class Fletcher8Checksum extends Operation { this.module = "Crypto"; this.description = "The Fletcher checksum is an algorithm for computing a position-dependent checksum devised by John Gould Fletcher at Lawrence Livermore Labs in the late 1970s.

The objective of the Fletcher checksum was to provide error-detection properties approaching those of a cyclic redundancy check but with the lower computational effort associated with summation techniques."; this.infoURL = "https://wikipedia.org/wiki/Fletcher%27s_checksum"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { let a = 0, b = 0; + input = new Uint8Array(input); for (let i = 0; i < input.length; i++) { a = (a + input[i]) % 0xf; diff --git a/src/core/operations/FlipImage.mjs b/src/core/operations/FlipImage.mjs index 593809e9..30be5a4e 100644 --- a/src/core/operations/FlipImage.mjs +++ b/src/core/operations/FlipImage.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; -import { toBase64 } from "../lib/Base64"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class FlipImage extends Operation { this.module = "Image"; this.description = "Flips an image along its X or Y axis."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -38,7 +39,7 @@ class FlipImage extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -50,14 +51,14 @@ class FlipImage extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Flipping image..."); - switch (flipAxis){ + switch (flipAxis) { case "Horizontal": image.flip(true, false); break; @@ -66,8 +67,13 @@ class FlipImage extends Operation { break; } - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error flipping image. (${err})`); } @@ -75,18 +81,19 @@ class FlipImage extends Operation { /** * Displays the flipped image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/Fork.mjs b/src/core/operations/Fork.mjs index 02aba3e8..6e961990 100644 --- a/src/core/operations/Fork.mjs +++ b/src/core/operations/Fork.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Recipe from "../Recipe"; -import Dish from "../Dish"; +import Operation from "../Operation.mjs"; +import Recipe from "../Recipe.mjs"; +import Dish from "../Dish.mjs"; /** * Fork operation @@ -76,8 +76,8 @@ class Fork extends Operation { } const recipe = new Recipe(); - let output = "", - progress = 0; + const outputs = []; + let progress = 0; state.forkOffset += state.progress + 1; @@ -104,10 +104,10 @@ class Fork extends Operation { } progress = err.progress + 1; } - output += await dish.get(outputType) + mergeDelim; + outputs.push(await dish.get(outputType)); } - state.dish.set(output, outputType); + state.dish.set(outputs.join(mergeDelim), outputType); state.progress += progress; return state; } diff --git a/src/core/operations/FormatMACAddresses.mjs b/src/core/operations/FormatMACAddresses.mjs index 1002877d..41fac594 100644 --- a/src/core/operations/FormatMACAddresses.mjs +++ b/src/core/operations/FormatMACAddresses.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Format MAC addresses operation diff --git a/src/core/operations/FrequencyDistribution.mjs b/src/core/operations/FrequencyDistribution.mjs index 13eb53e1..f0e1f592 100644 --- a/src/core/operations/FrequencyDistribution.mjs +++ b/src/core/operations/FrequencyDistribution.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Frequency distribution operation diff --git a/src/core/operations/FromBCD.mjs b/src/core/operations/FromBCD.mjs index a87c1101..acbe468b 100644 --- a/src/core/operations/FromBCD.mjs +++ b/src/core/operations/FromBCD.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; -import {ENCODING_SCHEME, ENCODING_LOOKUP, FORMAT} from "../lib/BCD"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {ENCODING_SCHEME, ENCODING_LOOKUP, FORMAT} from "../lib/BCD.mjs"; import BigNumber from "bignumber.js"; /** diff --git a/src/core/operations/FromBase.mjs b/src/core/operations/FromBase.mjs index a44eaf60..f374bdd0 100644 --- a/src/core/operations/FromBase.mjs +++ b/src/core/operations/FromBase.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import BigNumber from "bignumber.js"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * From Base operation diff --git a/src/core/operations/FromBase32.mjs b/src/core/operations/FromBase32.mjs index 3518ec5f..a204b830 100644 --- a/src/core/operations/FromBase32.mjs +++ b/src/core/operations/FromBase32.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * From Base32 operation diff --git a/src/core/operations/FromBase58.mjs b/src/core/operations/FromBase58.mjs index 8b0db19f..64668c3f 100644 --- a/src/core/operations/FromBase58.mjs +++ b/src/core/operations/FromBase58.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; -import {ALPHABET_OPTIONS} from "../lib/Base58"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {ALPHABET_OPTIONS} from "../lib/Base58.mjs"; /** * From Base58 operation diff --git a/src/core/operations/FromBase62.mjs b/src/core/operations/FromBase62.mjs index 525f2e2f..c2f54ec0 100644 --- a/src/core/operations/FromBase62.mjs +++ b/src/core/operations/FromBase62.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import BigNumber from "bignumber.js"; -import Utils from "../Utils"; +import Utils from "../Utils.mjs"; /** diff --git a/src/core/operations/FromBase64.mjs b/src/core/operations/FromBase64.mjs index be049802..6ee01b65 100644 --- a/src/core/operations/FromBase64.mjs +++ b/src/core/operations/FromBase64.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {fromBase64, ALPHABET_OPTIONS} from "../lib/Base64"; +import Operation from "../Operation.mjs"; +import {fromBase64, ALPHABET_OPTIONS} from "../lib/Base64.mjs"; /** * From Base64 operation @@ -106,9 +106,9 @@ class FromBase64 extends Operation { } /** - * @param {ArrayBuffer} input + * @param {string} input * @param {Object[]} args - * @returns {string} + * @returns {byteArray} */ run(input, args) { const [alphabet, removeNonAlphChars] = args; diff --git a/src/core/operations/FromBase85.mjs b/src/core/operations/FromBase85.mjs index 2fec8e2e..c874d5dc 100644 --- a/src/core/operations/FromBase85.mjs +++ b/src/core/operations/FromBase85.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; -import {alphabetName, ALPHABET_OPTIONS} from "../lib/Base85"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import {alphabetName, ALPHABET_OPTIONS} from "../lib/Base85.mjs"; /** * From Base85 operation diff --git a/src/core/operations/FromBinary.mjs b/src/core/operations/FromBinary.mjs index a7ced7e3..e7ca5045 100644 --- a/src/core/operations/FromBinary.mjs +++ b/src/core/operations/FromBinary.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {BIN_DELIM_OPTIONS} from "../lib/Delim"; -import {fromBinary} from "../lib/Binary"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {BIN_DELIM_OPTIONS} from "../lib/Delim.mjs"; +import {fromBinary} from "../lib/Binary.mjs"; /** * From Binary operation diff --git a/src/core/operations/FromBraille.mjs b/src/core/operations/FromBraille.mjs index 61fa1452..adbcff91 100644 --- a/src/core/operations/FromBraille.mjs +++ b/src/core/operations/FromBraille.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {BRAILLE_LOOKUP} from "../lib/Braille"; +import Operation from "../Operation.mjs"; +import {BRAILLE_LOOKUP} from "../lib/Braille.mjs"; /** * From Braille operation diff --git a/src/core/operations/FromCaseInsensitiveRegex.mjs b/src/core/operations/FromCaseInsensitiveRegex.mjs index 36cd9b14..31cbfb99 100644 --- a/src/core/operations/FromCaseInsensitiveRegex.mjs +++ b/src/core/operations/FromCaseInsensitiveRegex.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * From Case Insensitive Regex operation diff --git a/src/core/operations/FromCharcode.mjs b/src/core/operations/FromCharcode.mjs index 3ae54b6c..052b1162 100644 --- a/src/core/operations/FromCharcode.mjs +++ b/src/core/operations/FromCharcode.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {DELIM_OPTIONS} from "../lib/Delim"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import { DELIM_OPTIONS } from "../lib/Delim.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * From Charcode operation @@ -61,7 +62,7 @@ class FromCharcode extends Operation { return []; } - if (base !== 16 && ENVIRONMENT_IS_WORKER()) self.setOption("attemptHighlight", false); + if (base !== 16 && isWorkerEnvironment()) self.setOption("attemptHighlight", false); // Split into groups of 2 if the whole string is concatenated and // too long to be a single character diff --git a/src/core/operations/FromDecimal.mjs b/src/core/operations/FromDecimal.mjs index 1d0f272c..4248ce94 100644 --- a/src/core/operations/FromDecimal.mjs +++ b/src/core/operations/FromDecimal.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {DELIM_OPTIONS} from "../lib/Delim"; -import {fromDecimal} from "../lib/Decimal"; +import Operation from "../Operation.mjs"; +import {DELIM_OPTIONS} from "../lib/Delim.mjs"; +import {fromDecimal} from "../lib/Decimal.mjs"; /** * From Decimal operation diff --git a/src/core/operations/FromHTMLEntity.mjs b/src/core/operations/FromHTMLEntity.mjs index 0a07962b..3d53a0e7 100644 --- a/src/core/operations/FromHTMLEntity.mjs +++ b/src/core/operations/FromHTMLEntity.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * From HTML Entity operation @@ -19,7 +19,7 @@ class FromHTMLEntity extends Operation { super(); this.name = "From HTML Entity"; - this.module = "Default"; + this.module = "Encodings"; this.description = "Converts HTML entities back to characters

e.g. &amp; becomes &"; this.infoURL = "https://wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references"; this.inputType = "string"; @@ -40,7 +40,7 @@ class FromHTMLEntity extends Operation { * @returns {string} */ run(input, args) { - const regex = /&(#?x?[a-zA-Z0-9]{1,8});/g; + const regex = /&(#?x?[a-zA-Z0-9]{1,20});/g; let output = "", m, i = 0; @@ -84,11 +84,38 @@ class FromHTMLEntity extends Operation { * Lookup table to translate HTML entity codes to their byte values. */ const entityToByte = { + "Tab": 9, + "NewLine": 10, + "excl": 33, "quot": 34, + "num": 35, + "dollar": 36, + "percnt": 37, "amp": 38, "apos": 39, + "lpar": 40, + "rpar": 41, + "ast": 42, + "plus": 43, + "comma": 44, + "period": 46, + "sol": 47, + "colon": 58, + "semi": 59, "lt": 60, + "equals": 61, "gt": 62, + "quest": 63, + "commat": 64, + "lsqb": 91, + "bsol": 92, + "rsqb": 93, + "Hat": 94, + "lowbar": 95, + "grave": 96, + "lcub": 123, + "verbar": 124, + "rcub": 125, "nbsp": 160, "iexcl": 161, "cent": 162, @@ -185,14 +212,140 @@ const entityToByte = { "yacute": 253, "thorn": 254, "yuml": 255, + "Amacr": 256, + "amacr": 257, + "Abreve": 258, + "abreve": 259, + "Aogon": 260, + "aogon": 261, + "Cacute": 262, + "cacute": 263, + "Ccirc": 264, + "ccirc": 265, + "Cdot": 266, + "cdot": 267, + "Ccaron": 268, + "ccaron": 269, + "Dcaron": 270, + "dcaron": 271, + "Dstrok": 272, + "dstrok": 273, + "Emacr": 274, + "emacr": 275, + "Edot": 278, + "edot": 279, + "Eogon": 280, + "eogon": 281, + "Ecaron": 282, + "ecaron": 283, + "Gcirc": 284, + "gcirc": 285, + "Gbreve": 286, + "gbreve": 287, + "Gdot": 288, + "gdot": 289, + "Gcedil": 290, + "Hcirc": 292, + "hcirc": 293, + "Hstrok": 294, + "hstrok": 295, + "Itilde": 296, + "itilde": 297, + "Imacr": 298, + "imacr": 299, + "Iogon": 302, + "iogon": 303, + "Idot": 304, + "imath": 305, + "IJlig": 306, + "ijlig": 307, + "Jcirc": 308, + "jcirc": 309, + "Kcedil": 310, + "kcedil": 311, + "kgreen": 312, + "Lacute": 313, + "lacute": 314, + "Lcedil": 315, + "lcedil": 316, + "Lcaron": 317, + "lcaron": 318, + "Lmidot": 319, + "lmidot": 320, + "Lstrok": 321, + "lstrok": 322, + "Nacute": 323, + "nacute": 324, + "Ncedil": 325, + "ncedil": 326, + "Ncaron": 327, + "ncaron": 328, + "napos": 329, + "ENG": 330, + "eng": 331, + "Omacr": 332, + "omacr": 333, + "Odblac": 336, + "odblac": 337, "OElig": 338, "oelig": 339, + "Racute": 340, + "racute": 341, + "Rcedil": 342, + "rcedil": 343, + "Rcaron": 344, + "rcaron": 345, + "Sacute": 346, + "sacute": 347, + "Scirc": 348, + "scirc": 349, + "Scedil": 350, + "scedil": 351, "Scaron": 352, "scaron": 353, + "Tcedil": 354, + "tcedil": 355, + "Tcaron": 356, + "tcaron": 357, + "Tstrok": 358, + "tstrok": 359, + "Utilde": 360, + "utilde": 361, + "Umacr": 362, + "umacr": 363, + "Ubreve": 364, + "ubreve": 365, + "Uring": 366, + "uring": 367, + "Udblac": 368, + "udblac": 369, + "Uogon": 370, + "uogon": 371, + "Wcirc": 372, + "wcirc": 373, + "Ycirc": 374, + "ycirc": 375, "Yuml": 376, + "Zacute": 377, + "zacute": 378, + "Zdot": 379, + "zdot": 380, + "Zcaron": 381, + "zcaron": 382, "fnof": 402, + "imped": 437, + "gacute": 501, + "jmath": 567, "circ": 710, + "caron": 711, + "breve": 728, + "dot": 729, + "ring": 730, + "ogon": 731, "tilde": 732, + "dblac": 733, + "DownBreve": 785, + "UnderBar": 818, "Alpha": 913, "Beta": 914, "Gamma": 915, @@ -244,16 +397,124 @@ const entityToByte = { "omega": 969, "thetasym": 977, "upsih": 978, + "straightphi": 981, "piv": 982, + "Gammad": 988, + "gammad": 989, + "kappav": 1008, + "rhov": 1009, + "epsi": 1013, + "bepsi": 1014, + "IOcy": 1025, + "DJcy": 1026, + "GJcy": 1027, + "Jukcy": 1028, + "DScy": 1029, + "Iukcy": 1030, + "YIcy": 1031, + "Jsercy": 1032, + "LJcy": 1033, + "NJcy": 1034, + "TSHcy": 1035, + "KJcy": 1036, + "Ubrcy": 1038, + "DZcy": 1039, + "Acy": 1040, + "Bcy": 1041, + "Vcy": 1042, + "Gcy": 1043, + "Dcy": 1044, + "IEcy": 1045, + "ZHcy": 1046, + "Zcy": 1047, + "Icy": 1048, + "Jcy": 1049, + "Kcy": 1050, + "Lcy": 1051, + "Mcy": 1052, + "Ncy": 1053, + "Ocy": 1054, + "Pcy": 1055, + "Rcy": 1056, + "Scy": 1057, + "Tcy": 1058, + "Ucy": 1059, + "Fcy": 1060, + "KHcy": 1061, + "TScy": 1062, + "CHcy": 1063, + "SHcy": 1064, + "SHCHcy": 1065, + "HARDcy": 1066, + "Ycy": 1067, + "SOFTcy": 1068, + "Ecy": 1069, + "YUcy": 1070, + "YAcy": 1071, + "acy": 1072, + "bcy": 1073, + "vcy": 1074, + "gcy": 1075, + "dcy": 1076, + "iecy": 1077, + "zhcy": 1078, + "zcy": 1079, + "icy": 1080, + "jcy": 1081, + "kcy": 1082, + "lcy": 1083, + "mcy": 1084, + "ncy": 1085, + "ocy": 1086, + "pcy": 1087, + "rcy": 1088, + "scy": 1089, + "tcy": 1090, + "ucy": 1091, + "fcy": 1092, + "khcy": 1093, + "tscy": 1094, + "chcy": 1095, + "shcy": 1096, + "shchcy": 1097, + "hardcy": 1098, + "ycy": 1099, + "softcy": 1100, + "ecy": 1101, + "yucy": 1102, + "yacy": 1103, + "iocy": 1105, + "djcy": 1106, + "gjcy": 1107, + "jukcy": 1108, + "dscy": 1109, + "iukcy": 1110, + "yicy": 1111, + "jsercy": 1112, + "ljcy": 1113, + "njcy": 1114, + "tshcy": 1115, + "kjcy": 1116, + "ubrcy": 1118, + "dzcy": 1119, "ensp": 8194, "emsp": 8195, + "emsp13": 8196, + "emsp14": 8197, + "numsp": 8199, + "puncsp": 8200, "thinsp": 8201, + "hairsp": 8202, + "ZeroWidthSpace": 8203, "zwnj": 8204, "zwj": 8205, "lrm": 8206, "rlm": 8207, + "hyphen": 8208, "ndash": 8211, "mdash": 8212, + "horbar": 8213, + "Verbar": 8214, "lsquo": 8216, "rsquo": 8217, "sbquo": 8218, @@ -263,81 +524,1016 @@ const entityToByte = { "dagger": 8224, "Dagger": 8225, "bull": 8226, + "nldr": 8229, "hellip": 8230, "permil": 8240, + "pertenk": 8241, "prime": 8242, "Prime": 8243, + "tprime": 8244, + "bprime": 8245, "lsaquo": 8249, "rsaquo": 8250, "oline": 8254, + "caret": 8257, + "hybull": 8259, "frasl": 8260, + "bsemi": 8271, + "qprime": 8279, + "MediumSpace": 8287, + "NoBreak": 8288, + "ApplyFunction": 8289, + "InvisibleTimes": 8290, + "InvisibleComma": 8291, "euro": 8364, + "tdot": 8411, + "TripleDot": 8411, + "DotDot": 8412, + "Copf": 8450, + "incare": 8453, + "gscr": 8458, + "hamilt": 8459, + "Hfr": 8460, + "quaternions": 8461, + "planckh": 8462, + "planck": 8463, + "Iscr": 8464, "image": 8465, + "Lscr": 8466, + "ell": 8467, + "Nopf": 8469, + "numero": 8470, + "copysr": 8471, "weierp": 8472, + "Popf": 8473, + "rationals": 8474, + "Rscr": 8475, "real": 8476, + "reals": 8477, + "rx": 8478, "trade": 8482, + "integers": 8484, + "ohm": 8486, + "mho": 8487, + "Zfr": 8488, + "iiota": 8489, + "angst": 8491, + "bernou": 8492, + "Cfr": 8493, + "escr": 8495, + "Escr": 8496, + "Fscr": 8497, + "phmmat": 8499, + "order": 8500, "alefsym": 8501, + "beth": 8502, + "gimel": 8503, + "daleth": 8504, + "CapitalDifferentialD": 8517, + "DifferentialD": 8518, + "ExponentialE": 8519, + "ImaginaryI": 8520, + "frac13": 8531, + "frac23": 8532, + "frac15": 8533, + "frac25": 8534, + "frac35": 8535, + "frac45": 8536, + "frac16": 8537, + "frac56": 8538, + "frac18": 8539, + "frac38": 8540, + "frac58": 8541, + "frac78": 8542, "larr": 8592, "uarr": 8593, "rarr": 8594, "darr": 8595, "harr": 8596, + "varr": 8597, + "nwarr": 8598, + "nearr": 8599, + "searr": 8600, + "swarr": 8601, + "nlarr": 8602, + "nrarr": 8603, + "rarrw": 8605, + "Larr": 8606, + "Uarr": 8607, + "Rarr": 8608, + "Darr": 8609, + "larrtl": 8610, + "rarrtl": 8611, + "LeftTeeArrow": 8612, + "UpTeeArrow": 8613, + "map": 8614, + "DownTeeArrow": 8615, + "larrhk": 8617, + "rarrhk": 8618, + "larrlp": 8619, + "rarrlp": 8620, + "harrw": 8621, + "nharr": 8622, + "lsh": 8624, + "rsh": 8625, + "ldsh": 8626, + "rdsh": 8627, "crarr": 8629, + "cularr": 8630, + "curarr": 8631, + "olarr": 8634, + "orarr": 8635, + "lharu": 8636, + "lhard": 8637, + "uharr": 8638, + "uharl": 8639, + "rharu": 8640, + "rhard": 8641, + "dharr": 8642, + "dharl": 8643, + "rlarr": 8644, + "udarr": 8645, + "lrarr": 8646, + "llarr": 8647, + "uuarr": 8648, + "rrarr": 8649, + "ddarr": 8650, + "lrhar": 8651, + "rlhar": 8652, + "nlArr": 8653, + "nhArr": 8654, + "nrArr": 8655, "lArr": 8656, "uArr": 8657, "rArr": 8658, "dArr": 8659, "hArr": 8660, + "vArr": 8661, + "nwArr": 8662, + "neArr": 8663, + "seArr": 8664, + "swArr": 8665, + "lAarr": 8666, + "rAarr": 8667, + "zigrarr": 8669, + "larrb": 8676, + "rarrb": 8677, + "duarr": 8693, + "loarr": 8701, + "roarr": 8702, + "hoarr": 8703, "forall": 8704, + "comp": 8705, "part": 8706, "exist": 8707, + "nexist": 8708, "empty": 8709, "nabla": 8711, "isin": 8712, "notin": 8713, "ni": 8715, + "notni": 8716, "prod": 8719, + "coprod": 8720, "sum": 8721, "minus": 8722, + "mnplus": 8723, + "plusdo": 8724, + "setmn": 8726, "lowast": 8727, + "compfn": 8728, "radic": 8730, "prop": 8733, "infin": 8734, + "angrt": 8735, "ang": 8736, + "angmsd": 8737, + "angsph": 8738, + "mid": 8739, + "nmid": 8740, + "par": 8741, + "npar": 8742, "and": 8743, "or": 8744, "cap": 8745, "cup": 8746, "int": 8747, + "Int": 8748, + "tint": 8749, + "conint": 8750, + "Conint": 8751, + "Cconint": 8752, + "cwint": 8753, + "cwconint": 8754, + "awconint": 8755, "there4": 8756, + "becaus": 8757, + "ratio": 8758, + "Colon": 8759, + "minusd": 8760, + "mDDot": 8762, + "homtht": 8763, "sim": 8764, + "bsim": 8765, + "ac": 8766, + "acd": 8767, + "wreath": 8768, + "nsim": 8769, + "esim": 8770, + "sime": 8771, + "nsime": 8772, "cong": 8773, + "simne": 8774, + "ncong": 8775, "asymp": 8776, + "nap": 8777, + "ape": 8778, + "apid": 8779, + "bcong": 8780, + "asympeq": 8781, + "bump": 8782, + "bumpe": 8783, + "esdot": 8784, + "eDot": 8785, + "efDot": 8786, + "erDot": 8787, + "colone": 8788, + "ecolon": 8789, + "ecir": 8790, + "cire": 8791, + "wedgeq": 8793, + "veeeq": 8794, + "trie": 8796, + "equest": 8799, "ne": 8800, "equiv": 8801, + "nequiv": 8802, "le": 8804, "ge": 8805, + "lE": 8806, + "gE": 8807, + "lnE": 8808, + "gnE": 8809, + "Lt": 8810, + "Gt": 8811, + "twixt": 8812, + "NotCupCap": 8813, + "nlt": 8814, + "ngt": 8815, + "nle": 8816, + "nge": 8817, + "lsim": 8818, + "gsim": 8819, + "nlsim": 8820, + "ngsim": 8821, + "lg": 8822, + "gl": 8823, + "ntlg": 8824, + "ntgl": 8825, + "pr": 8826, + "sc": 8827, + "prcue": 8828, + "sccue": 8829, + "prsim": 8830, + "scsim": 8831, + "npr": 8832, + "nsc": 8833, "sub": 8834, "sup": 8835, "nsub": 8836, + "nsup": 8837, "sube": 8838, "supe": 8839, + "nsube": 8840, + "nsupe": 8841, + "subne": 8842, + "supne": 8843, + "cupdot": 8845, + "uplus": 8846, + "sqsub": 8847, + "sqsup": 8848, + "sqsube": 8849, + "sqsupe": 8850, + "sqcap": 8851, + "sqcup": 8852, "oplus": 8853, + "ominus": 8854, "otimes": 8855, + "osol": 8856, + "odot": 8857, + "ocir": 8858, + "oast": 8859, + "odash": 8861, + "plusb": 8862, + "minusb": 8863, + "timesb": 8864, + "sdotb": 8865, + "vdash": 8866, + "dashv": 8867, + "top": 8868, "perp": 8869, + "models": 8871, + "vDash": 8872, + "Vdash": 8873, + "Vvdash": 8874, + "VDash": 8875, + "nvdash": 8876, + "nvDash": 8877, + "nVdash": 8878, + "nVDash": 8879, + "prurel": 8880, + "vltri": 8882, + "vrtri": 8883, + "ltrie": 8884, + "rtrie": 8885, + "origof": 8886, + "imof": 8887, + "mumap": 8888, + "hercon": 8889, + "intcal": 8890, + "veebar": 8891, + "barvee": 8893, + "angrtvb": 8894, + "lrtri": 8895, + "xwedge": 8896, + "xvee": 8897, + "xcap": 8898, + "xcup": 8899, + "diam": 8900, "sdot": 8901, + "sstarf": 8902, + "divonx": 8903, + "bowtie": 8904, + "ltimes": 8905, + "rtimes": 8906, + "lthree": 8907, + "rthree": 8908, + "bsime": 8909, + "cuvee": 8910, + "cuwed": 8911, + "Sub": 8912, + "Sup": 8913, + "Cap": 8914, + "Cup": 8915, + "fork": 8916, + "epar": 8917, + "ltdot": 8918, + "gtdot": 8919, + "Ll": 8920, + "Gg": 8921, + "leg": 8922, + "gel": 8923, + "cuepr": 8926, + "cuesc": 8927, + "nprcue": 8928, + "nsccue": 8929, + "nsqsube": 8930, + "nsqsupe": 8931, + "lnsim": 8934, + "gnsim": 8935, + "prnsim": 8936, + "scnsim": 8937, + "nltri": 8938, + "nrtri": 8939, + "nltrie": 8940, + "nrtrie": 8941, "vellip": 8942, + "ctdot": 8943, + "utdot": 8944, + "dtdot": 8945, + "disin": 8946, + "isinsv": 8947, + "isins": 8948, + "isindot": 8949, + "notinvc": 8950, + "notinvb": 8951, + "isinE": 8953, + "nisd": 8954, + "xnis": 8955, + "nis": 8956, + "notnivc": 8957, + "notnivb": 8958, + "barwed": 8965, + "Barwed": 8966, "lceil": 8968, "rceil": 8969, "lfloor": 8970, "rfloor": 8971, + "drcrop": 8972, + "dlcrop": 8973, + "urcrop": 8974, + "ulcrop": 8975, + "bnot": 8976, + "profline": 8978, + "profsurf": 8979, + "telrec": 8981, + "target": 8982, + "ulcorn": 8988, + "urcorn": 8989, + "dlcorn": 8990, + "drcorn": 8991, + "frown": 8994, + "smile": 8995, "lang": 9001, "rang": 9002, + "cylcty": 9005, + "profalar": 9006, + "topbot": 9014, + "ovbar": 9021, + "solbar": 9023, + "angzarr": 9084, + "lmoust": 9136, + "rmoust": 9137, + "tbrk": 9140, + "bbrk": 9141, + "bbrktbrk": 9142, + "OverParenthesis": 9180, + "UnderParenthesis": 9181, + "OverBrace": 9182, + "UnderBrace": 9183, + "trpezium": 9186, + "elinters": 9191, + "blank": 9251, + "oS": 9416, + "boxh": 9472, + "boxv": 9474, + "boxdr": 9484, + "boxdl": 9488, + "boxur": 9492, + "boxul": 9496, + "boxvr": 9500, + "boxvl": 9508, + "boxhd": 9516, + "boxhu": 9524, + "boxvh": 9532, + "boxH": 9552, + "boxV": 9553, + "boxdR": 9554, + "boxDr": 9555, + "boxDR": 9556, + "boxdL": 9557, + "boxDl": 9558, + "boxDL": 9559, + "boxuR": 9560, + "boxUr": 9561, + "boxUR": 9562, + "boxuL": 9563, + "boxUl": 9564, + "boxUL": 9565, + "boxvR": 9566, + "boxVr": 9567, + "boxVR": 9568, + "boxvL": 9569, + "boxVl": 9570, + "boxVL": 9571, + "boxHd": 9572, + "boxhD": 9573, + "boxHD": 9574, + "boxHu": 9575, + "boxhU": 9576, + "boxHU": 9577, + "boxvH": 9578, + "boxVh": 9579, + "boxVH": 9580, + "uhblk": 9600, + "lhblk": 9604, + "block": 9608, + "blk14": 9617, + "blk12": 9618, + "blk34": 9619, + "squ": 9633, + "squf": 9642, + "EmptyVerySmallSquare": 9643, + "rect": 9645, + "marker": 9646, + "fltns": 9649, + "xutri": 9651, + "utrif": 9652, + "utri": 9653, + "rtrif": 9656, + "rtri": 9657, + "xdtri": 9661, + "dtrif": 9662, + "dtri": 9663, + "ltrif": 9666, + "ltri": 9667, "loz": 9674, + "cir": 9675, + "tridot": 9708, + "xcirc": 9711, + "ultri": 9720, + "urtri": 9721, + "lltri": 9722, + "EmptySmallSquare": 9723, + "FilledSmallSquare": 9724, + "starf": 9733, + "bigstar": 9733, + "star": 9734, + "phone": 9742, + "female": 9792, + "male": 9794, "spades": 9824, "clubs": 9827, "hearts": 9829, "diams": 9830, + "sung": 9834, + "flat": 9837, + "natur": 9838, + "sharp": 9839, + "check": 10003, + "cross": 10007, + "malt": 10016, + "sext": 10038, + "VerticalSeparator": 10072, + "lbbrk": 10098, + "rbbrk": 10099, + "lobrk": 10214, + "robrk": 10215, + "Lang": 10218, + "Rang": 10219, + "loang": 10220, + "roang": 10221, + "xlarr": 10229, + "xrarr": 10230, + "xharr": 10231, + "xlArr": 10232, + "xrArr": 10233, + "xhArr": 10234, + "xmap": 10236, + "dzigrarr": 10239, + "nvlArr": 10498, + "nvrArr": 10499, + "nvHarr": 10500, + "Map": 10501, + "lbarr": 10508, + "rbarr": 10509, + "lBarr": 10510, + "rBarr": 10511, + "RBarr": 10512, + "DDotrahd": 10513, + "UpArrowBar": 10514, + "DownArrowBar": 10515, + "Rarrtl": 10518, + "latail": 10521, + "ratail": 10522, + "lAtail": 10523, + "rAtail": 10524, + "larrfs": 10525, + "rarrfs": 10526, + "larrbfs": 10527, + "rarrbfs": 10528, + "nwarhk": 10531, + "nearhk": 10532, + "searhk": 10533, + "swarhk": 10534, + "nwnear": 10535, + "nesear": 10536, + "seswar": 10537, + "swnwar": 10538, + "rarrc": 10547, + "cudarrr": 10549, + "ldca": 10550, + "rdca": 10551, + "cudarrl": 10552, + "larrpl": 10553, + "curarrm": 10556, + "cularrp": 10557, + "rarrpl": 10565, + "harrcir": 10568, + "Uarrocir": 10569, + "lurdshar": 10570, + "ldrushar": 10571, + "LeftRightVector": 10574, + "RightUpDownVector": 10575, + "DownLeftRightVector": 10576, + "LeftUpDownVector": 10577, + "LeftVectorBar": 10578, + "RightVectorBar": 10579, + "RightUpVectorBar": 10580, + "RightDownVectorBar": 10581, + "DownLeftVectorBar": 10582, + "DownRightVectorBar": 10583, + "LeftUpVectorBar": 10584, + "LeftDownVectorBar": 10585, + "LeftTeeVector": 10586, + "RightTeeVector": 10587, + "RightUpTeeVector": 10588, + "RightDownTeeVector": 10589, + "DownLeftTeeVector": 10590, + "DownRightTeeVector": 10591, + "LeftUpTeeVector": 10592, + "LeftDownTeeVector": 10593, + "lHar": 10594, + "uHar": 10595, + "rHar": 10596, + "dHar": 10597, + "luruhar": 10598, + "ldrdhar": 10599, + "ruluhar": 10600, + "rdldhar": 10601, + "lharul": 10602, + "llhard": 10603, + "rharul": 10604, + "lrhard": 10605, + "udhar": 10606, + "duhar": 10607, + "RoundImplies": 10608, + "erarr": 10609, + "simrarr": 10610, + "larrsim": 10611, + "rarrsim": 10612, + "rarrap": 10613, + "ltlarr": 10614, + "gtrarr": 10616, + "subrarr": 10617, + "suplarr": 10619, + "lfisht": 10620, + "rfisht": 10621, + "ufisht": 10622, + "dfisht": 10623, + "lopar": 10629, + "ropar": 10630, + "lbrke": 10635, + "rbrke": 10636, + "lbrkslu": 10637, + "rbrksld": 10638, + "lbrksld": 10639, + "rbrkslu": 10640, + "langd": 10641, + "rangd": 10642, + "lparlt": 10643, + "rpargt": 10644, + "gtlPar": 10645, + "ltrPar": 10646, + "vzigzag": 10650, + "vangrt": 10652, + "angrtvbd": 10653, + "ange": 10660, + "range": 10661, + "dwangle": 10662, + "uwangle": 10663, + "angmsdaa": 10664, + "angmsdab": 10665, + "angmsdac": 10666, + "angmsdad": 10667, + "angmsdae": 10668, + "angmsdaf": 10669, + "angmsdag": 10670, + "angmsdah": 10671, + "bemptyv": 10672, + "demptyv": 10673, + "cemptyv": 10674, + "raemptyv": 10675, + "laemptyv": 10676, + "ohbar": 10677, + "omid": 10678, + "opar": 10679, + "operp": 10681, + "olcross": 10683, + "odsold": 10684, + "olcir": 10686, + "ofcir": 10687, + "olt": 10688, + "ogt": 10689, + "cirscir": 10690, + "cirE": 10691, + "solb": 10692, + "bsolb": 10693, + "boxbox": 10697, + "trisb": 10701, + "rtriltri": 10702, + "LeftTriangleBar": 10703, + "RightTriangleBar": 10704, + "race": 10714, + "iinfin": 10716, + "infintie": 10717, + "nvinfin": 10718, + "eparsl": 10723, + "smeparsl": 10724, + "eqvparsl": 10725, + "lozf": 10731, + "RuleDelayed": 10740, + "dsol": 10742, + "xodot": 10752, + "xoplus": 10753, + "xotime": 10754, + "xuplus": 10756, + "xsqcup": 10758, + "qint": 10764, + "fpartint": 10765, + "cirfnint": 10768, + "awint": 10769, + "rppolint": 10770, + "scpolint": 10771, + "npolint": 10772, + "pointint": 10773, + "quatint": 10774, + "intlarhk": 10775, + "pluscir": 10786, + "plusacir": 10787, + "simplus": 10788, + "plusdu": 10789, + "plussim": 10790, + "plustwo": 10791, + "mcomma": 10793, + "minusdu": 10794, + "loplus": 10797, + "roplus": 10798, + "Cross": 10799, + "timesd": 10800, + "timesbar": 10801, + "smashp": 10803, + "lotimes": 10804, + "rotimes": 10805, + "otimesas": 10806, + "Otimes": 10807, + "odiv": 10808, + "triplus": 10809, + "triminus": 10810, + "tritime": 10811, + "iprod": 10812, + "amalg": 10815, + "capdot": 10816, + "ncup": 10818, + "ncap": 10819, + "capand": 10820, + "cupor": 10821, + "cupcap": 10822, + "capcup": 10823, + "cupbrcap": 10824, + "capbrcup": 10825, + "cupcup": 10826, + "capcap": 10827, + "ccups": 10828, + "ccaps": 10829, + "ccupssm": 10832, + "And": 10835, + "Or": 10836, + "andand": 10837, + "oror": 10838, + "orslope": 10839, + "andslope": 10840, + "andv": 10842, + "orv": 10843, + "andd": 10844, + "ord": 10845, + "wedbar": 10847, + "sdote": 10854, + "simdot": 10858, + "congdot": 10861, + "easter": 10862, + "apacir": 10863, + "apE": 10864, + "eplus": 10865, + "pluse": 10866, + "Esim": 10867, + "Colone": 10868, + "Equal": 10869, + "eDDot": 10871, + "equivDD": 10872, + "ltcir": 10873, + "gtcir": 10874, + "ltquest": 10875, + "gtquest": 10876, + "les": 10877, + "ges": 10878, + "lesdot": 10879, + "gesdot": 10880, + "lesdoto": 10881, + "gesdoto": 10882, + "lesdotor": 10883, + "gesdotol": 10884, + "lap": 10885, + "gap": 10886, + "lne": 10887, + "gne": 10888, + "lnap": 10889, + "gnap": 10890, + "lEg": 10891, + "gEl": 10892, + "lsime": 10893, + "gsime": 10894, + "lsimg": 10895, + "gsiml": 10896, + "lgE": 10897, + "glE": 10898, + "lesges": 10899, + "gesles": 10900, + "els": 10901, + "egs": 10902, + "elsdot": 10903, + "egsdot": 10904, + "el": 10905, + "eg": 10906, + "siml": 10909, + "simg": 10910, + "simlE": 10911, + "simgE": 10912, + "LessLess": 10913, + "GreaterGreater": 10914, + "glj": 10916, + "gla": 10917, + "ltcc": 10918, + "gtcc": 10919, + "lescc": 10920, + "gescc": 10921, + "smt": 10922, + "lat": 10923, + "smte": 10924, + "late": 10925, + "bumpE": 10926, + "pre": 10927, + "sce": 10928, + "prE": 10931, + "scE": 10932, + "prnE": 10933, + "scnE": 10934, + "prap": 10935, + "scap": 10936, + "prnap": 10937, + "scnap": 10938, + "Pr": 10939, + "Sc": 10940, + "subdot": 10941, + "supdot": 10942, + "subplus": 10943, + "supplus": 10944, + "submult": 10945, + "supmult": 10946, + "subedot": 10947, + "supedot": 10948, + "subE": 10949, + "supE": 10950, + "subsim": 10951, + "supsim": 10952, + "subnE": 10955, + "supnE": 10956, + "csub": 10959, + "csup": 10960, + "csube": 10961, + "csupe": 10962, + "subsup": 10963, + "supsub": 10964, + "subsub": 10965, + "supsup": 10966, + "suphsub": 10967, + "supdsub": 10968, + "forkv": 10969, + "topfork": 10970, + "mlcp": 10971, + "Dashv": 10980, + "Vdashl": 10982, + "Barv": 10983, + "vBar": 10984, + "vBarv": 10985, + "Vbar": 10987, + "Not": 10988, + "bNot": 10989, + "rnmid": 10990, + "cirmid": 10991, + "midcir": 10992, + "topcir": 10993, + "nhpar": 10994, + "parsim": 10995, + "parsl": 11005, + "fflig": 64256, + "filig": 64257, + "fllig": 64258, + "ffilig": 64259, + "ffllig": 64260, + "Ascr": 119964, + "Cscr": 119966, + "Dscr": 119967, + "Gscr": 119970, + "Jscr": 119973, + "Kscr": 119974, + "Nscr": 119977, + "Oscr": 119978, + "Pscr": 119979, + "Qscr": 119980, + "Sscr": 119982, + "Tscr": 119983, + "Uscr": 119984, + "Vscr": 119985, + "Wscr": 119986, + "Xscr": 119987, + "Yscr": 119988, + "Zscr": 119989, + "ascr": 119990, + "bscr": 119991, + "cscr": 119992, + "dscr": 119993, + "fscr": 119995, + "hscr": 119997, + "iscr": 119998, + "jscr": 119999, + "kscr": 120000, + "lscr": 120001, + "mscr": 120002, + "nscr": 120003, + "pscr": 120005, + "qscr": 120006, + "rscr": 120007, + "sscr": 120008, + "tscr": 120009, + "uscr": 120010, + "vscr": 120011, + "wscr": 120012, + "xscr": 120013, + "yscr": 120014, + "zscr": 120015, + "Afr": 120068, + "Bfr": 120069, + "Dfr": 120071, + "Efr": 120072, + "Ffr": 120073, + "Gfr": 120074, + "Jfr": 120077, + "Kfr": 120078, + "Lfr": 120079, + "Mfr": 120080, + "Nfr": 120081, + "Ofr": 120082, + "Pfr": 120083, + "Qfr": 120084, + "Sfr": 120086, + "Tfr": 120087, + "Ufr": 120088, + "Vfr": 120089, + "Wfr": 120090, + "Xfr": 120091, + "Yfr": 120092, + "afr": 120094, + "bfr": 120095, + "cfr": 120096, + "dfr": 120097, + "efr": 120098, + "ffr": 120099, + "gfr": 120100, + "hfr": 120101, + "ifr": 120102, + "jfr": 120103, + "kfr": 120104, + "lfr": 120105, + "mfr": 120106, + "nfr": 120107, + "ofr": 120108, + "pfr": 120109, + "qfr": 120110, + "rfr": 120111, + "sfr": 120112, + "tfr": 120113, + "ufr": 120114, + "vfr": 120115, + "wfr": 120116, + "xfr": 120117, + "yfr": 120118, + "zfr": 120119, + "Aopf": 120120, + "Bopf": 120121, + "Dopf": 120123, + "Eopf": 120124, + "Fopf": 120125, + "Gopf": 120126, + "Iopf": 120128, + "Jopf": 120129, + "Kopf": 120130, + "Lopf": 120131, + "Mopf": 120132, + "Oopf": 120134, + "Sopf": 120138, + "Topf": 120139, + "Uopf": 120140, + "Vopf": 120141, + "Wopf": 120142, + "Xopf": 120143, + "Yopf": 120144, + "aopf": 120146, + "bopf": 120147, + "copf": 120148, + "dopf": 120149, + "eopf": 120150, + "fopf": 120151, + "gopf": 120152, + "hopf": 120153, + "iopf": 120154, + "jopf": 120155, + "kopf": 120156, + "lopf": 120157, + "mopf": 120158, + "nopf": 120159, + "oopf": 120160, + "popf": 120161, + "qopf": 120162, + "ropf": 120163, + "sopf": 120164, + "topf": 120165, + "uopf": 120166, + "vopf": 120167, + "wopf": 120168, + "xopf": 120169, + "yopf": 120170, + "zopf": 120171 }; export default FromHTMLEntity; diff --git a/src/core/operations/FromHex.mjs b/src/core/operations/FromHex.mjs index 658cf341..6f70de9a 100644 --- a/src/core/operations/FromHex.mjs +++ b/src/core/operations/FromHex.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {fromHex, FROM_HEX_DELIM_OPTIONS} from "../lib/Hex"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import {fromHex, FROM_HEX_DELIM_OPTIONS} from "../lib/Hex.mjs"; +import Utils from "../Utils.mjs"; /** * From Hex operation diff --git a/src/core/operations/FromHexContent.mjs b/src/core/operations/FromHexContent.mjs index 22e858e2..deb101bf 100644 --- a/src/core/operations/FromHexContent.mjs +++ b/src/core/operations/FromHexContent.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {fromHex} from "../lib/Hex"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {fromHex} from "../lib/Hex.mjs"; /** * From Hex Content operation diff --git a/src/core/operations/FromHexdump.mjs b/src/core/operations/FromHexdump.mjs index 7f4d9119..65889a4b 100644 --- a/src/core/operations/FromHexdump.mjs +++ b/src/core/operations/FromHexdump.mjs @@ -4,8 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {fromHex} from "../lib/Hex"; +import Operation from "../Operation.mjs"; +import { fromHex } from "../lib/Hex.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; + /** * From Hexdump operation @@ -55,7 +57,7 @@ class FromHexdump extends Operation { const w = (width - 13) / 4; // w should be the specified width of the hexdump and therefore a round number if (Math.floor(w) !== w || input.indexOf("\r") !== -1 || output.indexOf(13) !== -1) { - if (ENVIRONMENT_IS_WORKER()) self.setOption("attemptHighlight", false); + if (isWorkerEnvironment()) self.setOption("attemptHighlight", false); } return output; } diff --git a/src/core/operations/FromMessagePack.mjs b/src/core/operations/FromMessagePack.mjs index cea7c498..a557ebbe 100644 --- a/src/core/operations/FromMessagePack.mjs +++ b/src/core/operations/FromMessagePack.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import notepack from "notepack.io"; /** diff --git a/src/core/operations/FromMorseCode.mjs b/src/core/operations/FromMorseCode.mjs index 71613ad1..e7714912 100644 --- a/src/core/operations/FromMorseCode.mjs +++ b/src/core/operations/FromMorseCode.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {LETTER_DELIM_OPTIONS, WORD_DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {LETTER_DELIM_OPTIONS, WORD_DELIM_OPTIONS} from "../lib/Delim.mjs"; /** * From Morse Code operation diff --git a/src/core/operations/FromOctal.mjs b/src/core/operations/FromOctal.mjs index 41060807..6ff67965 100644 --- a/src/core/operations/FromOctal.mjs +++ b/src/core/operations/FromOctal.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {DELIM_OPTIONS} from "../lib/Delim.mjs"; /** * From Octal operation diff --git a/src/core/operations/FromPunycode.mjs b/src/core/operations/FromPunycode.mjs index 96c0bcf9..2217ee3b 100644 --- a/src/core/operations/FromPunycode.mjs +++ b/src/core/operations/FromPunycode.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import punycode from "punycode"; /** diff --git a/src/core/operations/FromQuotedPrintable.mjs b/src/core/operations/FromQuotedPrintable.mjs index 61466e4e..138fec27 100644 --- a/src/core/operations/FromQuotedPrintable.mjs +++ b/src/core/operations/FromQuotedPrintable.mjs @@ -8,7 +8,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * From Quoted Printable operation @@ -23,7 +23,7 @@ class FromQuotedPrintable extends Operation { this.name = "From Quoted Printable"; this.module = "Default"; - this.description = "Converts QP-encoded text back to standard text."; + this.description = "Converts QP-encoded text back to standard text.

e.g. The quoted-printable encoded string hello=20world becomes hello world"; this.infoURL = "https://wikipedia.org/wiki/Quoted-printable"; this.inputType = "string"; this.outputType = "byteArray"; diff --git a/src/core/operations/FromUNIXTimestamp.mjs b/src/core/operations/FromUNIXTimestamp.mjs index ee074ec0..ff390c58 100644 --- a/src/core/operations/FromUNIXTimestamp.mjs +++ b/src/core/operations/FromUNIXTimestamp.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import moment from "moment-timezone"; -import {UNITS} from "../lib/DateTime"; -import OperationError from "../errors/OperationError"; +import {UNITS} from "../lib/DateTime.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * From UNIX Timestamp operation diff --git a/src/core/operations/GOSTHash.mjs b/src/core/operations/GOSTHash.mjs new file mode 100644 index 00000000..d67a594c --- /dev/null +++ b/src/core/operations/GOSTHash.mjs @@ -0,0 +1,71 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import GostDigest from "../vendor/gost/gostDigest.mjs"; +import {toHexFast} from "../lib/Hex.mjs"; + +/** + * GOST hash operation + */ +class GOSTHash extends Operation { + + /** + * GOSTHash constructor + */ + constructor() { + super(); + + this.name = "GOST hash"; + this.module = "Hashing"; + this.description = "The GOST hash function, defined in the standards GOST R 34.11-94 and GOST 34.311-95 is a 256-bit cryptographic hash function. It was initially defined in the Russian national standard GOST R 34.11-94 Information Technology – Cryptographic Information Security – Hash Function. The equivalent standard used by other member-states of the CIS is GOST 34.311-95.

This function must not be confused with a different Streebog hash function, which is defined in the new revision of the standard GOST R 34.11-2012.

The GOST hash function is based on the GOST block cipher."; + this.infoURL = "https://wikipedia.org/wiki/GOST_(hash_function)"; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = [ + { + "name": "S-Box", + "type": "option", + "value": [ + "D-A", + "D-SC", + "E-TEST", + "E-A", + "E-B", + "E-C", + "E-D", + "E-SC", + "E-Z", + "D-TEST" + ] + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + try { + const sBox = args[1]; + const gostDigest = new GostDigest({ + name: "GOST R 34.11", + version: 1994, + sBox: sBox + }); + + return toHexFast(gostDigest.digest(input)); + } catch (err) { + throw new OperationError(err); + } + } + +} + +export default GOSTHash; diff --git a/src/core/operations/GenerateAllHashes.mjs b/src/core/operations/GenerateAllHashes.mjs index 633337f0..0b4560cc 100644 --- a/src/core/operations/GenerateAllHashes.mjs +++ b/src/core/operations/GenerateAllHashes.mjs @@ -4,30 +4,35 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import MD2 from "./MD2"; -import MD4 from "./MD4"; -import MD5 from "./MD5"; -import MD6 from "./MD6"; -import SHA0 from "./SHA0"; -import SHA1 from "./SHA1"; -import SHA2 from "./SHA2"; -import SHA3 from "./SHA3"; -import Keccak from "./Keccak"; -import Shake from "./Shake"; -import RIPEMD from "./RIPEMD"; -import HAS160 from "./HAS160"; -import Whirlpool from "./Whirlpool"; -import SSDEEP from "./SSDEEP"; -import CTPH from "./CTPH"; -import Fletcher8Checksum from "./Fletcher8Checksum"; -import Fletcher16Checksum from "./Fletcher16Checksum"; -import Fletcher32Checksum from "./Fletcher32Checksum"; -import Fletcher64Checksum from "./Fletcher64Checksum"; -import Adler32Checksum from "./Adler32Checksum"; -import CRC16Checksum from "./CRC16Checksum"; -import CRC32Checksum from "./CRC32Checksum"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import MD2 from "./MD2.mjs"; +import MD4 from "./MD4.mjs"; +import MD5 from "./MD5.mjs"; +import MD6 from "./MD6.mjs"; +import SHA0 from "./SHA0.mjs"; +import SHA1 from "./SHA1.mjs"; +import SHA2 from "./SHA2.mjs"; +import SHA3 from "./SHA3.mjs"; +import Keccak from "./Keccak.mjs"; +import Shake from "./Shake.mjs"; +import RIPEMD from "./RIPEMD.mjs"; +import HAS160 from "./HAS160.mjs"; +import Whirlpool from "./Whirlpool.mjs"; +import SSDEEP from "./SSDEEP.mjs"; +import CTPH from "./CTPH.mjs"; +import Fletcher8Checksum from "./Fletcher8Checksum.mjs"; +import Fletcher16Checksum from "./Fletcher16Checksum.mjs"; +import Fletcher32Checksum from "./Fletcher32Checksum.mjs"; +import Fletcher64Checksum from "./Fletcher64Checksum.mjs"; +import Adler32Checksum from "./Adler32Checksum.mjs"; +import CRC8Checksum from "./CRC8Checksum.mjs"; +import CRC16Checksum from "./CRC16Checksum.mjs"; +import CRC32Checksum from "./CRC32Checksum.mjs"; +import BLAKE2b from "./BLAKE2b.mjs"; +import BLAKE2s from "./BLAKE2s.mjs"; +import Streebog from "./Streebog.mjs"; +import GOSTHash from "./GOSTHash.mjs"; /** * Generate all hashes operation @@ -58,44 +63,56 @@ class GenerateAllHashes extends Operation { const arrayBuffer = input, str = Utils.arrayBufferToStr(arrayBuffer, false), byteArray = new Uint8Array(arrayBuffer), - output = "MD2: " + (new MD2()).run(arrayBuffer, []) + - "\nMD4: " + (new MD4()).run(arrayBuffer, []) + - "\nMD5: " + (new MD5()).run(arrayBuffer, []) + - "\nMD6: " + (new MD6()).run(str, []) + - "\nSHA0: " + (new SHA0()).run(arrayBuffer, []) + - "\nSHA1: " + (new SHA1()).run(arrayBuffer, []) + - "\nSHA2 224: " + (new SHA2()).run(arrayBuffer, ["224"]) + - "\nSHA2 256: " + (new SHA2()).run(arrayBuffer, ["256"]) + - "\nSHA2 384: " + (new SHA2()).run(arrayBuffer, ["384"]) + - "\nSHA2 512: " + (new SHA2()).run(arrayBuffer, ["512"]) + - "\nSHA3 224: " + (new SHA3()).run(arrayBuffer, ["224"]) + - "\nSHA3 256: " + (new SHA3()).run(arrayBuffer, ["256"]) + - "\nSHA3 384: " + (new SHA3()).run(arrayBuffer, ["384"]) + - "\nSHA3 512: " + (new SHA3()).run(arrayBuffer, ["512"]) + - "\nKeccak 224: " + (new Keccak()).run(arrayBuffer, ["224"]) + - "\nKeccak 256: " + (new Keccak()).run(arrayBuffer, ["256"]) + - "\nKeccak 384: " + (new Keccak()).run(arrayBuffer, ["384"]) + - "\nKeccak 512: " + (new Keccak()).run(arrayBuffer, ["512"]) + - "\nShake 128: " + (new Shake()).run(arrayBuffer, ["128", 256]) + - "\nShake 256: " + (new Shake()).run(arrayBuffer, ["256", 512]) + - "\nRIPEMD-128: " + (new RIPEMD()).run(arrayBuffer, ["128"]) + - "\nRIPEMD-160: " + (new RIPEMD()).run(arrayBuffer, ["160"]) + - "\nRIPEMD-256: " + (new RIPEMD()).run(arrayBuffer, ["256"]) + - "\nRIPEMD-320: " + (new RIPEMD()).run(arrayBuffer, ["320"]) + - "\nHAS-160: " + (new HAS160()).run(arrayBuffer, []) + - "\nWhirlpool-0: " + (new Whirlpool()).run(arrayBuffer, ["Whirlpool-0"]) + - "\nWhirlpool-T: " + (new Whirlpool()).run(arrayBuffer, ["Whirlpool-T"]) + - "\nWhirlpool: " + (new Whirlpool()).run(arrayBuffer, ["Whirlpool"]) + - "\nSSDEEP: " + (new SSDEEP()).run(str) + - "\nCTPH: " + (new CTPH()).run(str) + + output = "MD2: " + (new MD2()).run(arrayBuffer, []) + + "\nMD4: " + (new MD4()).run(arrayBuffer, []) + + "\nMD5: " + (new MD5()).run(arrayBuffer, []) + + "\nMD6: " + (new MD6()).run(str, []) + + "\nSHA0: " + (new SHA0()).run(arrayBuffer, []) + + "\nSHA1: " + (new SHA1()).run(arrayBuffer, []) + + "\nSHA2 224: " + (new SHA2()).run(arrayBuffer, ["224"]) + + "\nSHA2 256: " + (new SHA2()).run(arrayBuffer, ["256"]) + + "\nSHA2 384: " + (new SHA2()).run(arrayBuffer, ["384"]) + + "\nSHA2 512: " + (new SHA2()).run(arrayBuffer, ["512"]) + + "\nSHA3 224: " + (new SHA3()).run(arrayBuffer, ["224"]) + + "\nSHA3 256: " + (new SHA3()).run(arrayBuffer, ["256"]) + + "\nSHA3 384: " + (new SHA3()).run(arrayBuffer, ["384"]) + + "\nSHA3 512: " + (new SHA3()).run(arrayBuffer, ["512"]) + + "\nKeccak 224: " + (new Keccak()).run(arrayBuffer, ["224"]) + + "\nKeccak 256: " + (new Keccak()).run(arrayBuffer, ["256"]) + + "\nKeccak 384: " + (new Keccak()).run(arrayBuffer, ["384"]) + + "\nKeccak 512: " + (new Keccak()).run(arrayBuffer, ["512"]) + + "\nShake 128: " + (new Shake()).run(arrayBuffer, ["128", 256]) + + "\nShake 256: " + (new Shake()).run(arrayBuffer, ["256", 512]) + + "\nRIPEMD-128: " + (new RIPEMD()).run(arrayBuffer, ["128"]) + + "\nRIPEMD-160: " + (new RIPEMD()).run(arrayBuffer, ["160"]) + + "\nRIPEMD-256: " + (new RIPEMD()).run(arrayBuffer, ["256"]) + + "\nRIPEMD-320: " + (new RIPEMD()).run(arrayBuffer, ["320"]) + + "\nHAS-160: " + (new HAS160()).run(arrayBuffer, []) + + "\nWhirlpool-0: " + (new Whirlpool()).run(arrayBuffer, ["Whirlpool-0"]) + + "\nWhirlpool-T: " + (new Whirlpool()).run(arrayBuffer, ["Whirlpool-T"]) + + "\nWhirlpool: " + (new Whirlpool()).run(arrayBuffer, ["Whirlpool"]) + + "\nBLAKE2b-128: " + (new BLAKE2b).run(arrayBuffer, ["128", "Hex", {string: "", option: "UTF8"}]) + + "\nBLAKE2b-160: " + (new BLAKE2b).run(arrayBuffer, ["160", "Hex", {string: "", option: "UTF8"}]) + + "\nBLAKE2b-256: " + (new BLAKE2b).run(arrayBuffer, ["256", "Hex", {string: "", option: "UTF8"}]) + + "\nBLAKE2b-384: " + (new BLAKE2b).run(arrayBuffer, ["384", "Hex", {string: "", option: "UTF8"}]) + + "\nBLAKE2b-512: " + (new BLAKE2b).run(arrayBuffer, ["512", "Hex", {string: "", option: "UTF8"}]) + + "\nBLAKE2s-128: " + (new BLAKE2s).run(arrayBuffer, ["128", "Hex", {string: "", option: "UTF8"}]) + + "\nBLAKE2s-160: " + (new BLAKE2s).run(arrayBuffer, ["160", "Hex", {string: "", option: "UTF8"}]) + + "\nBLAKE2s-256: " + (new BLAKE2s).run(arrayBuffer, ["256", "Hex", {string: "", option: "UTF8"}]) + + "\nStreebog-256: " + (new Streebog).run(arrayBuffer, ["256"]) + + "\nStreebog-512: " + (new Streebog).run(arrayBuffer, ["512"]) + + "\nGOST: " + (new GOSTHash).run(arrayBuffer, ["D-A"]) + + "\nSSDEEP: " + (new SSDEEP()).run(str) + + "\nCTPH: " + (new CTPH()).run(str) + "\n\nChecksums:" + - "\nFletcher-8: " + (new Fletcher8Checksum).run(byteArray, []) + - "\nFletcher-16: " + (new Fletcher16Checksum).run(byteArray, []) + - "\nFletcher-32: " + (new Fletcher32Checksum).run(byteArray, []) + - "\nFletcher-64: " + (new Fletcher64Checksum).run(byteArray, []) + - "\nAdler-32: " + (new Adler32Checksum).run(byteArray, []) + - "\nCRC-16: " + (new CRC16Checksum).run(str, []) + - "\nCRC-32: " + (new CRC32Checksum).run(str, []); + "\nFletcher-8: " + (new Fletcher8Checksum).run(byteArray, []) + + "\nFletcher-16: " + (new Fletcher16Checksum).run(byteArray, []) + + "\nFletcher-32: " + (new Fletcher32Checksum).run(byteArray, []) + + "\nFletcher-64: " + (new Fletcher64Checksum).run(byteArray, []) + + "\nAdler-32: " + (new Adler32Checksum).run(byteArray, []) + + "\nCRC-8: " + (new CRC8Checksum).run(arrayBuffer, ["CRC-8"]) + + "\nCRC-16: " + (new CRC16Checksum).run(arrayBuffer, []) + + "\nCRC-32: " + (new CRC32Checksum).run(arrayBuffer, []); return output; } diff --git a/src/core/operations/GenerateHOTP.mjs b/src/core/operations/GenerateHOTP.mjs index a1a80012..b0ab5f1a 100644 --- a/src/core/operations/GenerateHOTP.mjs +++ b/src/core/operations/GenerateHOTP.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import otp from "otp"; -import ToBase32 from "./ToBase32"; +import ToBase32 from "./ToBase32.mjs"; /** * Generate HOTP operation @@ -23,7 +23,7 @@ class GenerateHOTP extends Operation { this.module = "Default"; this.description = "The HMAC-based One-Time Password algorithm (HOTP) is an algorithm that computes a one-time password from a shared secret key and an incrementing counter. It has been adopted as Internet Engineering Task Force standard RFC 4226, is the cornerstone of Initiative For Open Authentication (OATH), and is used in a number of two-factor authentication systems.

Enter the secret as the input or leave it blank for a random secret to be generated."; this.infoURL = "https://wikipedia.org/wiki/HMAC-based_One-time_Password_algorithm"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -50,7 +50,7 @@ class GenerateHOTP extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ diff --git a/src/core/operations/GenerateLoremIpsum.mjs b/src/core/operations/GenerateLoremIpsum.mjs index fb5ecd17..7bc636ac 100644 --- a/src/core/operations/GenerateLoremIpsum.mjs +++ b/src/core/operations/GenerateLoremIpsum.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { GenerateParagraphs, GenerateSentences, GenerateWords, GenerateBytes } from "../lib/LoremIpsum"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { GenerateParagraphs, GenerateSentences, GenerateWords, GenerateBytes } from "../lib/LoremIpsum.mjs"; /** * Generate Lorem Ipsum operation @@ -47,7 +47,7 @@ class GenerateLoremIpsum extends Operation { */ run(input, args) { const [length, lengthType] = args; - if (length < 1){ + if (length < 1) { throw new OperationError("Length must be greater than 0"); } switch (lengthType) { diff --git a/src/core/operations/GeneratePGPKeyPair.mjs b/src/core/operations/GeneratePGPKeyPair.mjs index 74f8a404..7176d526 100644 --- a/src/core/operations/GeneratePGPKeyPair.mjs +++ b/src/core/operations/GeneratePGPKeyPair.mjs @@ -6,9 +6,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import kbpgp from "kbpgp"; -import { getSubkeySize, ASP } from "../lib/PGP"; +import { getSubkeySize, ASP } from "../lib/PGP.mjs"; import * as es6promisify from "es6-promisify"; const promisify = es6promisify.default ? es6promisify.default.promisify : es6promisify.promisify; @@ -58,7 +58,7 @@ class GeneratePGPKeyPair extends Operation { * @param {Object[]} args * @returns {string} */ - run(input, args) { + async run(input, args) { const [keyType, keySize] = args[0].split("-"), password = args[1], name = args[2], diff --git a/src/core/operations/GenerateQRCode.mjs b/src/core/operations/GenerateQRCode.mjs index ac7e5c5c..080a24da 100644 --- a/src/core/operations/GenerateQRCode.mjs +++ b/src/core/operations/GenerateQRCode.mjs @@ -4,12 +4,12 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import qr from "qr-image"; -import { toBase64 } from "../lib/Base64"; -import { isImage } from "../lib/FileType"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { generateQrCode } from "../lib/QRCode.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import Utils from "../Utils.mjs"; /** * Generate QR Code operation @@ -27,7 +27,7 @@ class GenerateQRCode extends Operation { this.description = "Generates a Quick Response (QR) code from the input text.

A QR code is a type of matrix barcode (or two-dimensional barcode) first designed in 1994 for the automotive industry in Japan. A barcode is a machine-readable optical label that contains information about the item to which it is attached."; this.infoURL = "https://wikipedia.org/wiki/QR_code"; this.inputType = "string"; - this.outputType = "byteArray"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -38,12 +38,14 @@ class GenerateQRCode extends Operation { { "name": "Module size (px)", "type": "number", - "value": 5 + "value": 5, + "min": 1 }, { "name": "Margin (num modules)", "type": "number", - "value": 2 + "value": 2, + "min": 0 }, { "name": "Error correction", @@ -57,61 +59,34 @@ class GenerateQRCode extends Operation { /** * @param {string} input * @param {Object[]} args - * @returns {byteArray} + * @returns {ArrayBuffer} */ run(input, args) { const [format, size, margin, errorCorrection] = args; - // Create new QR image from the input data, and convert it to a buffer - const qrImage = qr.imageSync(input, { - type: format, - size: size, - margin: margin, - "ec_level": errorCorrection.charAt(0).toUpperCase() - }); - - if (qrImage == null) { - throw new OperationError("Error generating QR code."); - } - - switch (format) { - case "SVG": - case "EPS": - case "PDF": - return [...Buffer.from(qrImage)]; - case "PNG": - // Return the QR image buffer as a byte array - return [...qrImage]; - default: - throw new OperationError("Unsupported QR code format."); - } + return generateQrCode(input, format, size, margin, errorCorrection); } /** * Displays the QR image using HTML for web apps * - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data, args) { - if (!data.length) return ""; - - const [format] = args; - + if (!data.byteLength && !data.length) return ""; + const dataArray = new Uint8Array(data), + [format] = args; if (format === "PNG") { - let dataURI = "data:"; - const mime = isImage(data); - if (mime){ - dataURI += mime + ";"; - } else { - throw new OperationError("Invalid PNG file generated by QR image"); + const type = isImage(dataArray); + if (!type) { + throw new OperationError("Invalid file type."); } - dataURI += "base64," + toBase64(data); - return ``; + return ``; } - return Utils.byteArrayToChars(data); + return Utils.arrayBufferToStr(data); } } diff --git a/src/core/operations/GenerateTOTP.mjs b/src/core/operations/GenerateTOTP.mjs index a71708a2..86fde30c 100644 --- a/src/core/operations/GenerateTOTP.mjs +++ b/src/core/operations/GenerateTOTP.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import otp from "otp"; -import ToBase32 from "./ToBase32"; +import ToBase32 from "./ToBase32.mjs"; /** * Generate TOTP operation @@ -23,7 +23,7 @@ class GenerateTOTP extends Operation { this.module = "Default"; this.description = "The Time-based One-Time Password algorithm (TOTP) is an algorithm that computes a one-time password from a shared secret key and the current time. It has been adopted as Internet Engineering Task Force standard RFC 6238, is the cornerstone of Initiative For Open Authentication (OATH), and is used in a number of two-factor authentication systems. A TOTP is an HOTP where the counter is the current time.

Enter the secret as the input or leave it blank for a random secret to be generated. T0 and T1 are in seconds."; this.infoURL = "https://wikipedia.org/wiki/Time-based_One-time_Password_algorithm"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -55,7 +55,7 @@ class GenerateTOTP extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ diff --git a/src/core/operations/GenerateUUID.mjs b/src/core/operations/GenerateUUID.mjs index eef32c73..1ee0faba 100644 --- a/src/core/operations/GenerateUUID.mjs +++ b/src/core/operations/GenerateUUID.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import crypto from "crypto"; /** diff --git a/src/core/operations/GenericCodeBeautify.mjs b/src/core/operations/GenericCodeBeautify.mjs index 5078bebc..30e11cb3 100644 --- a/src/core/operations/GenericCodeBeautify.mjs +++ b/src/core/operations/GenericCodeBeautify.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Generic Code Beautify operation diff --git a/src/core/operations/GroupIPAddresses.mjs b/src/core/operations/GroupIPAddresses.mjs index 5e5d97c8..bf7c6db8 100644 --- a/src/core/operations/GroupIPAddresses.mjs +++ b/src/core/operations/GroupIPAddresses.mjs @@ -4,11 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; -import {IP_DELIM_OPTIONS} from "../lib/Delim"; -import {ipv6ToStr, genIpv6Mask, IPV4_REGEX, strToIpv6, ipv4ToStr, IPV6_REGEX, strToIpv4} from "../lib/IP"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {IP_DELIM_OPTIONS} from "../lib/Delim.mjs"; +import {ipv6ToStr, genIpv6Mask, IPV4_REGEX, strToIpv6, ipv4ToStr, IPV6_REGEX, strToIpv4} from "../lib/IP.mjs"; /** * Group IP addresses operation @@ -77,7 +77,7 @@ class GroupIPAddresses extends Operation { ip = strToIpv4(match[1]) >>> 0; network = ip & ipv4Mask; - if (ipv4Networks.hasOwnProperty(network)) { + if (network in ipv4Networks) { ipv4Networks[network].push(ip); } else { ipv4Networks[network] = [ip]; @@ -93,7 +93,7 @@ class GroupIPAddresses extends Operation { networkStr = ipv6ToStr(network, true); - if (ipv6Networks.hasOwnProperty(networkStr)) { + if (networkStr in ipv6Networks) { ipv6Networks[networkStr].push(ip); } else { ipv6Networks[networkStr] = [ip]; diff --git a/src/core/operations/Gunzip.mjs b/src/core/operations/Gunzip.mjs index fe514186..07b1d6c2 100644 --- a/src/core/operations/Gunzip.mjs +++ b/src/core/operations/Gunzip.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min"; +import Operation from "../Operation.mjs"; +import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min.js"; const Zlib = zlibAndGzip.Zlib; diff --git a/src/core/operations/Gzip.mjs b/src/core/operations/Gzip.mjs index e4a6c15f..5f9fa474 100644 --- a/src/core/operations/Gzip.mjs +++ b/src/core/operations/Gzip.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {COMPRESSION_TYPE, ZLIB_COMPRESSION_TYPE_LOOKUP} from "../lib/Zlib"; -import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min"; +import Operation from "../Operation.mjs"; +import {COMPRESSION_TYPE, ZLIB_COMPRESSION_TYPE_LOOKUP} from "../lib/Zlib.mjs"; +import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min.js"; const Zlib = zlibAndGzip.Zlib; diff --git a/src/core/operations/HAS160.mjs b/src/core/operations/HAS160.mjs index ab3db6a2..aa1439ae 100644 --- a/src/core/operations/HAS160.mjs +++ b/src/core/operations/HAS160.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * HAS-160 operation diff --git a/src/core/operations/HMAC.mjs b/src/core/operations/HMAC.mjs index d511febb..cb129692 100644 --- a/src/core/operations/HMAC.mjs +++ b/src/core/operations/HMAC.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import CryptoApi from "crypto-api/src/crypto-api"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import CryptoApi from "crypto-api/src/crypto-api.mjs"; /** * HMAC operation diff --git a/src/core/operations/HTMLToText.mjs b/src/core/operations/HTMLToText.mjs new file mode 100644 index 00000000..ff90572a --- /dev/null +++ b/src/core/operations/HTMLToText.mjs @@ -0,0 +1,41 @@ +/** + * @author tlwr [toby@toby.codes] + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; + +/** + * HTML To Text operation + */ +class HTMLToText extends Operation { + + /** + * HTMLToText constructor + */ + constructor() { + super(); + + this.name = "HTML To Text"; + this.module = "Default"; + this.description = "Converts an HTML output from an operation to a readable string instead of being rendered in the DOM."; + this.infoURL = ""; + this.inputType = "html"; + this.outputType = "string"; + this.args = []; + } + + /** + * @param {html} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + return input; + } + +} + +export default HTMLToText; diff --git a/src/core/operations/HTTPRequest.mjs b/src/core/operations/HTTPRequest.mjs index 52029930..7d061f37 100644 --- a/src/core/operations/HTTPRequest.mjs +++ b/src/core/operations/HTTPRequest.mjs @@ -5,8 +5,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * HTTP request operation diff --git a/src/core/operations/HammingDistance.mjs b/src/core/operations/HammingDistance.mjs index 87c5d222..60121a75 100644 --- a/src/core/operations/HammingDistance.mjs +++ b/src/core/operations/HammingDistance.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {fromHex} from "../lib/Hex"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {fromHex} from "../lib/Hex.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Hamming Distance operation @@ -57,7 +57,7 @@ class HammingDistance extends Operation { samples = input.split(delim); if (samples.length !== 2) { - throw new OperationError("Error: You can only calculae the edit distance between 2 strings. Please ensure exactly two inputs are provided, separated by the specified delimiter."); + throw new OperationError("Error: You can only calculate the edit distance between 2 strings. Please ensure exactly two inputs are provided, separated by the specified delimiter."); } if (samples[0].length !== samples[1].length) { diff --git a/src/core/operations/HaversineDistance.mjs b/src/core/operations/HaversineDistance.mjs index d5c0bf60..1d0d25e0 100644 --- a/src/core/operations/HaversineDistance.mjs +++ b/src/core/operations/HaversineDistance.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * HaversineDistance operation diff --git a/src/core/operations/Head.mjs b/src/core/operations/Head.mjs index 76e17c59..d74c3eea 100644 --- a/src/core/operations/Head.mjs +++ b/src/core/operations/Head.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {INPUT_DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {INPUT_DELIM_OPTIONS} from "../lib/Delim.mjs"; /** * Head operation diff --git a/src/core/operations/HeatmapChart.mjs b/src/core/operations/HeatmapChart.mjs new file mode 100644 index 00000000..96636986 --- /dev/null +++ b/src/core/operations/HeatmapChart.mjs @@ -0,0 +1,266 @@ +/** + * @author tlwr [toby@toby.codes] + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import * as d3temp from "d3"; +import * as nodomtemp from "nodom"; +import { getScatterValues, RECORD_DELIMITER_OPTIONS, COLOURS, FIELD_DELIMITER_OPTIONS } from "../lib/Charts.mjs"; + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; + +const d3 = d3temp.default ? d3temp.default : d3temp; +const nodom = nodomtemp.default ? nodomtemp.default: nodomtemp; + +/** + * Heatmap chart operation + */ +class HeatmapChart extends Operation { + + /** + * HeatmapChart constructor + */ + constructor() { + super(); + + this.name = "Heatmap chart"; + this.module = "Charts"; + this.description = "A heatmap is a graphical representation of data where the individual values contained in a matrix are represented as colors."; + this.infoURL = "https://wikipedia.org/wiki/Heat_map"; + this.inputType = "string"; + this.outputType = "html"; + this.args = [ + { + name: "Record delimiter", + type: "option", + value: RECORD_DELIMITER_OPTIONS, + }, + { + name: "Field delimiter", + type: "option", + value: FIELD_DELIMITER_OPTIONS, + }, + { + name: "Number of vertical bins", + type: "number", + value: 25, + }, + { + name: "Number of horizontal bins", + type: "number", + value: 25, + }, + { + name: "Use column headers as labels", + type: "boolean", + value: true, + }, + { + name: "X label", + type: "string", + value: "", + }, + { + name: "Y label", + type: "string", + value: "", + }, + { + name: "Draw bin edges", + type: "boolean", + value: false, + }, + { + name: "Min colour value", + type: "string", + value: COLOURS.min, + }, + { + name: "Max colour value", + type: "string", + value: COLOURS.max, + }, + ]; + } + + /** + * Heatmap chart operation. + * + * @param {string} input + * @param {Object[]} args + * @returns {html} + */ + run(input, args) { + const recordDelimiter = Utils.charRep(args[0]), + fieldDelimiter = Utils.charRep(args[1]), + vBins = args[2], + hBins = args[3], + columnHeadingsAreIncluded = args[4], + drawEdges = args[7], + minColour = args[8], + maxColour = args[9], + dimension = 500; + if (vBins <= 0) throw new OperationError("Number of vertical bins must be greater than 0"); + if (hBins <= 0) throw new OperationError("Number of horizontal bins must be greater than 0"); + + let xLabel = args[5], + yLabel = args[6]; + const { headings, values } = getScatterValues( + input, + recordDelimiter, + fieldDelimiter, + columnHeadingsAreIncluded + ); + + if (headings) { + xLabel = headings.x; + yLabel = headings.y; + } + + const document = new nodom.Document(); + let svg = document.createElement("svg"); + svg = d3.select(svg) + .attr("width", "100%") + .attr("height", "100%") + .attr("viewBox", `0 0 ${dimension} ${dimension}`); + + const margin = { + top: 10, + right: 0, + bottom: 40, + left: 30, + }, + width = dimension - margin.left - margin.right, + height = dimension - margin.top - margin.bottom, + binWidth = width / hBins, + binHeight = height/ vBins, + marginedSpace = svg.append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + const bins = this.getHeatmapPacking(values, vBins, hBins), + maxCount = Math.max(...bins.map(row => { + const lengths = row.map(cell => cell.length); + return Math.max(...lengths); + })); + + const xExtent = d3.extent(values, d => d[0]), + yExtent = d3.extent(values, d => d[1]); + + const xAxis = d3.scaleLinear() + .domain(xExtent) + .range([0, width]); + const yAxis = d3.scaleLinear() + .domain(yExtent) + .range([height, 0]); + + const colour = d3.scaleSequential(d3.interpolateLab(minColour, maxColour)) + .domain([0, maxCount]); + + marginedSpace.append("clipPath") + .attr("id", "clip") + .append("rect") + .attr("width", width) + .attr("height", height); + + marginedSpace.append("g") + .attr("class", "bins") + .attr("clip-path", "url(#clip)") + .selectAll("g") + .data(bins) + .enter() + .append("g") + .selectAll("rect") + .data(d => d) + .enter() + .append("rect") + .attr("x", (d) => binWidth * d.x) + .attr("y", (d) => (height - binHeight * (d.y + 1))) + .attr("width", binWidth) + .attr("height", binHeight) + .attr("fill", (d) => colour(d.length)) + .attr("stroke", drawEdges ? "rgba(0, 0, 0, 0.5)" : "none") + .attr("stroke-width", drawEdges ? "0.5" : "none") + .append("title") + .text(d => { + const count = d.length, + perc = 100.0 * d.length / values.length, + tooltip = `Count: ${count}\n + Percentage: ${perc.toFixed(2)}%\n + `.replace(/\s{2,}/g, "\n"); + return tooltip; + }); + + marginedSpace.append("g") + .attr("class", "axis axis--y") + .call(d3.axisLeft(yAxis).tickSizeOuter(-width)); + + svg.append("text") + .attr("transform", "rotate(-90)") + .attr("y", -margin.left) + .attr("x", -(height / 2)) + .attr("dy", "1em") + .style("text-anchor", "middle") + .text(yLabel); + + marginedSpace.append("g") + .attr("class", "axis axis--x") + .attr("transform", "translate(0," + height + ")") + .call(d3.axisBottom(xAxis).tickSizeOuter(-height)); + + svg.append("text") + .attr("x", width / 2) + .attr("y", dimension) + .style("text-anchor", "middle") + .text(xLabel); + + return svg._groups[0][0].outerHTML; + } + + /** + * Packs a list of x, y coordinates into a number of bins for use in a heatmap. + * + * @param {Object[]} points + * @param {number} number of vertical bins + * @param {number} number of horizontal bins + * @returns {Object[]} a list of bins (each bin is an Array) with x y coordinates, filled with the points + */ + getHeatmapPacking(values, vBins, hBins) { + const xBounds = d3.extent(values, d => d[0]), + yBounds = d3.extent(values, d => d[1]), + bins = []; + + if (xBounds[0] === xBounds[1]) throw "Cannot pack points. There is no difference between the minimum and maximum X coordinate."; + if (yBounds[0] === yBounds[1]) throw "Cannot pack points. There is no difference between the minimum and maximum Y coordinate."; + + for (let y = 0; y < vBins; y++) { + bins.push([]); + for (let x = 0; x < hBins; x++) { + const item = []; + item.y = y; + item.x = x; + + bins[y].push(item); + } // x + } // y + + const epsilon = 0.000000001; // This is to clamp values that are exactly the maximum; + + values.forEach(v => { + const fractionOfY = (v[1] - yBounds[0]) / ((yBounds[1] + epsilon) - yBounds[0]), + fractionOfX = (v[0] - xBounds[0]) / ((xBounds[1] + epsilon) - xBounds[0]), + y = Math.floor(vBins * fractionOfY), + x = Math.floor(hBins * fractionOfX); + + bins[y][x].push({x: v[0], y: v[1]}); + }); + + return bins; + } + +} + +export default HeatmapChart; diff --git a/src/core/operations/HexDensityChart.mjs b/src/core/operations/HexDensityChart.mjs new file mode 100644 index 00000000..72cab9fa --- /dev/null +++ b/src/core/operations/HexDensityChart.mjs @@ -0,0 +1,296 @@ +/** + * @author tlwr [toby@toby.codes] + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import * as d3temp from "d3"; +import * as d3hexbintemp from "d3-hexbin"; +import * as nodomtemp from "nodom"; +import { getScatterValues, RECORD_DELIMITER_OPTIONS, COLOURS, FIELD_DELIMITER_OPTIONS } from "../lib/Charts.mjs"; + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; + +const d3 = d3temp.default ? d3temp.default : d3temp; +const d3hexbin = d3hexbintemp.default ? d3hexbintemp.default : d3hexbintemp; +const nodom = nodomtemp.default ? nodomtemp.default: nodomtemp; + + +/** + * Hex Density chart operation + */ +class HexDensityChart extends Operation { + + /** + * HexDensityChart constructor + */ + constructor() { + super(); + + this.name = "Hex Density chart"; + this.module = "Charts"; + this.description = "Hex density charts are used in a similar way to scatter charts, however rather than rendering tens of thousands of points, it groups the points into a few hundred hexagons to show the distribution."; + this.inputType = "string"; + this.outputType = "html"; + this.args = [ + { + name: "Record delimiter", + type: "option", + value: RECORD_DELIMITER_OPTIONS, + }, + { + name: "Field delimiter", + type: "option", + value: FIELD_DELIMITER_OPTIONS, + }, + { + name: "Pack radius", + type: "number", + value: 25, + }, + { + name: "Draw radius", + type: "number", + value: 15, + }, + { + name: "Use column headers as labels", + type: "boolean", + value: true, + }, + { + name: "X label", + type: "string", + value: "", + }, + { + name: "Y label", + type: "string", + value: "", + }, + { + name: "Draw hexagon edges", + type: "boolean", + value: false, + }, + { + name: "Min colour value", + type: "string", + value: COLOURS.min, + }, + { + name: "Max colour value", + type: "string", + value: COLOURS.max, + }, + { + name: "Draw empty hexagons within data boundaries", + type: "boolean", + value: false, + } + ]; + } + + + /** + * Hex Bin chart operation. + * + * @param {string} input + * @param {Object[]} args + * @returns {html} + */ + run(input, args) { + const recordDelimiter = Utils.charRep(args[0]), + fieldDelimiter = Utils.charRep(args[1]), + packRadius = args[2], + drawRadius = args[3], + columnHeadingsAreIncluded = args[4], + drawEdges = args[7], + minColour = args[8], + maxColour = args[9], + drawEmptyHexagons = args[10], + dimension = 500; + + let xLabel = args[5], + yLabel = args[6]; + const { headings, values } = getScatterValues( + input, + recordDelimiter, + fieldDelimiter, + columnHeadingsAreIncluded + ); + + if (headings) { + xLabel = headings.x; + yLabel = headings.y; + } + + const document = new nodom.Document(); + let svg = document.createElement("svg"); + svg = d3.select(svg) + .attr("width", "100%") + .attr("height", "100%") + .attr("viewBox", `0 0 ${dimension} ${dimension}`); + + const margin = { + top: 10, + right: 0, + bottom: 40, + left: 30, + }, + width = dimension - margin.left - margin.right, + height = dimension - margin.top - margin.bottom, + marginedSpace = svg.append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + const hexbin = d3hexbin.hexbin() + .radius(packRadius) + .extent([0, 0], [width, height]); + + const hexPoints = hexbin(values), + maxCount = Math.max(...hexPoints.map(b => b.length)); + + const xExtent = d3.extent(hexPoints, d => d.x), + yExtent = d3.extent(hexPoints, d => d.y); + xExtent[0] -= 2 * packRadius; + xExtent[1] += 3 * packRadius; + yExtent[0] -= 2 * packRadius; + yExtent[1] += 2 * packRadius; + + const xAxis = d3.scaleLinear() + .domain(xExtent) + .range([0, width]); + const yAxis = d3.scaleLinear() + .domain(yExtent) + .range([height, 0]); + + const colour = d3.scaleSequential(d3.interpolateLab(minColour, maxColour)) + .domain([0, maxCount]); + + marginedSpace.append("clipPath") + .attr("id", "clip") + .append("rect") + .attr("width", width) + .attr("height", height); + + if (drawEmptyHexagons) { + marginedSpace.append("g") + .attr("class", "empty-hexagon") + .selectAll("path") + .data(this.getEmptyHexagons(hexPoints, packRadius)) + .enter() + .append("path") + .attr("d", d => { + return `M${xAxis(d.x)},${yAxis(d.y)} ${hexbin.hexagon(drawRadius)}`; + }) + .attr("fill", (d) => colour(0)) + .attr("stroke", drawEdges ? "black" : "none") + .attr("stroke-width", drawEdges ? "0.5" : "none") + .append("title") + .text(d => { + const count = 0, + perc = 0, + tooltip = `Count: ${count}\n + Percentage: ${perc.toFixed(2)}%\n + Center: ${d.x.toFixed(2)}, ${d.y.toFixed(2)}\n + `.replace(/\s{2,}/g, "\n"); + return tooltip; + }); + } + + marginedSpace.append("g") + .attr("class", "hexagon") + .attr("clip-path", "url(#clip)") + .selectAll("path") + .data(hexPoints) + .enter() + .append("path") + .attr("d", d => { + return `M${xAxis(d.x)},${yAxis(d.y)} ${hexbin.hexagon(drawRadius)}`; + }) + .attr("fill", (d) => colour(d.length)) + .attr("stroke", drawEdges ? "black" : "none") + .attr("stroke-width", drawEdges ? "0.5" : "none") + .append("title") + .text(d => { + const count = d.length, + perc = 100.0 * d.length / values.length, + CX = d.x, + CY = d.y, + xMin = Math.min(...d.map(d => d[0])), + xMax = Math.max(...d.map(d => d[0])), + yMin = Math.min(...d.map(d => d[1])), + yMax = Math.max(...d.map(d => d[1])), + tooltip = `Count: ${count}\n + Percentage: ${perc.toFixed(2)}%\n + Center: ${CX.toFixed(2)}, ${CY.toFixed(2)}\n + Min X: ${xMin.toFixed(2)}\n + Max X: ${xMax.toFixed(2)}\n + Min Y: ${yMin.toFixed(2)}\n + Max Y: ${yMax.toFixed(2)} + `.replace(/\s{2,}/g, "\n"); + return tooltip; + }); + + marginedSpace.append("g") + .attr("class", "axis axis--y") + .call(d3.axisLeft(yAxis).tickSizeOuter(-width)); + + svg.append("text") + .attr("transform", "rotate(-90)") + .attr("y", -margin.left) + .attr("x", -(height / 2)) + .attr("dy", "1em") + .style("text-anchor", "middle") + .text(yLabel); + + marginedSpace.append("g") + .attr("class", "axis axis--x") + .attr("transform", "translate(0," + height + ")") + .call(d3.axisBottom(xAxis).tickSizeOuter(-height)); + + svg.append("text") + .attr("x", width / 2) + .attr("y", dimension) + .style("text-anchor", "middle") + .text(xLabel); + + return svg._groups[0][0].outerHTML; + } + + + /** + * Hex Bin chart operation. + * + * @param {Object[]} - centres + * @param {number} - radius + * @returns {Object[]} + */ + getEmptyHexagons(centres, radius) { + const emptyCentres = [], + boundingRect = [d3.extent(centres, d => d.x), d3.extent(centres, d => d.y)], + hexagonCenterToEdge = Math.cos(2 * Math.PI / 12) * radius, + hexagonEdgeLength = Math.sin(2 * Math.PI / 12) * radius; + let indent = false; + + for (let y = boundingRect[1][0]; y <= boundingRect[1][1] + radius; y += hexagonEdgeLength + radius) { + for (let x = boundingRect[0][0]; x <= boundingRect[0][1] + radius; x += 2 * hexagonCenterToEdge) { + let cx = x; + const cy = y; + + if (indent && x >= boundingRect[0][1]) break; + if (indent) cx += hexagonCenterToEdge; + + emptyCentres.push({x: cx, y: cy}); + } + indent = !indent; + } + + return emptyCentres; + } + +} + +export default HexDensityChart; diff --git a/src/core/operations/HexToObjectIdentifier.mjs b/src/core/operations/HexToObjectIdentifier.mjs index aea5dd24..67971f8d 100644 --- a/src/core/operations/HexToObjectIdentifier.mjs +++ b/src/core/operations/HexToObjectIdentifier.mjs @@ -5,7 +5,7 @@ */ import r from "jsrsasign"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Hex to Object Identifier operation diff --git a/src/core/operations/HexToPEM.mjs b/src/core/operations/HexToPEM.mjs index b0845685..8217ffbd 100644 --- a/src/core/operations/HexToPEM.mjs +++ b/src/core/operations/HexToPEM.mjs @@ -5,7 +5,7 @@ */ import r from "jsrsasign"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Hex to PEM operation diff --git a/src/core/operations/ImageBrightnessContrast.mjs b/src/core/operations/ImageBrightnessContrast.mjs index 27a30cff..3845bebb 100644 --- a/src/core/operations/ImageBrightnessContrast.mjs +++ b/src/core/operations/ImageBrightnessContrast.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class ImageBrightnessContrast extends Operation { this.module = "Image"; this.description = "Adjust the brightness or contrast of an image."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -47,7 +48,7 @@ class ImageBrightnessContrast extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -59,24 +60,29 @@ class ImageBrightnessContrast extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { if (brightness !== 0) { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Changing image brightness..."); image.brightness(brightness / 100); } if (contrast !== 0) { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Changing image contrast..."); image.contrast(contrast / 100); } - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error adjusting image brightness or contrast. (${err})`); } @@ -84,18 +90,19 @@ class ImageBrightnessContrast extends Operation { /** * Displays the image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/ImageFilter.mjs b/src/core/operations/ImageFilter.mjs index aca34042..137dd0fc 100644 --- a/src/core/operations/ImageFilter.mjs +++ b/src/core/operations/ImageFilter.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class ImageFilter extends Operation { this.module = "Image"; this.description = "Applies a greyscale or sepia filter to an image."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -41,24 +42,24 @@ class ImageFilter extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ async run(input, args) { const [filterType] = args; - if (!isImage(input)){ + if (!isImage(input)) { throw new OperationError("Invalid file type."); } let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Applying " + filterType.toLowerCase() + " filter to image..."); if (filterType === "Greyscale") { image.greyscale(); @@ -66,8 +67,13 @@ class ImageFilter extends Operation { image.sepia(); } - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error applying filter to image. (${err})`); } @@ -75,18 +81,19 @@ class ImageFilter extends Operation { /** * Displays the blurred image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/ImageHueSaturationLightness.mjs b/src/core/operations/ImageHueSaturationLightness.mjs index bca73c30..b0bad682 100644 --- a/src/core/operations/ImageHueSaturationLightness.mjs +++ b/src/core/operations/ImageHueSaturationLightness.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class ImageHueSaturationLightness extends Operation { this.module = "Image"; this.description = "Adjusts the hue / saturation / lightness (HSL) values of an image."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -54,7 +55,7 @@ class ImageHueSaturationLightness extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -67,13 +68,13 @@ class ImageHueSaturationLightness extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { if (hue !== 0) { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Changing image hue..."); image.colour([ { @@ -83,7 +84,7 @@ class ImageHueSaturationLightness extends Operation { ]); } if (saturation !== 0) { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Changing image saturation..."); image.colour([ { @@ -93,7 +94,7 @@ class ImageHueSaturationLightness extends Operation { ]); } if (lightness !== 0) { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Changing image lightness..."); image.colour([ { @@ -102,8 +103,14 @@ class ImageHueSaturationLightness extends Operation { } ]); } - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error adjusting image hue / saturation / lightness. (${err})`); } @@ -111,18 +118,19 @@ class ImageHueSaturationLightness extends Operation { /** * Displays the image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/ImageOpacity.mjs b/src/core/operations/ImageOpacity.mjs index 999ad176..622ee96c 100644 --- a/src/core/operations/ImageOpacity.mjs +++ b/src/core/operations/ImageOpacity.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class ImageOpacity extends Operation { this.module = "Image"; this.description = "Adjust the opacity of an image."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -40,7 +41,7 @@ class ImageOpacity extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -52,17 +53,22 @@ class ImageOpacity extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Changing image opacity..."); image.opacity(opacity / 100); - const imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); - return [...imageBuffer]; + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error changing image opacity. (${err})`); } @@ -70,18 +76,19 @@ class ImageOpacity extends Operation { /** * Displays the image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/IndexOfCoincidence.mjs b/src/core/operations/IndexOfCoincidence.mjs new file mode 100644 index 00000000..f99c2f23 --- /dev/null +++ b/src/core/operations/IndexOfCoincidence.mjs @@ -0,0 +1,107 @@ +/** + * @author George O [georgeomnet+cyberchef@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; + +/** + * Index of Coincidence operation + */ +class IndexOfCoincidence extends Operation { + + /** + * IndexOfCoincidence constructor + */ + constructor() { + super(); + + this.name = "Index of Coincidence"; + this.module = "Default"; + this.description = "Index of Coincidence (IC) is the probability of two randomly selected characters being the same. This can be used to determine whether text is readable or random, with English text having an IC of around 0.066. IC can therefore be a sound method to automate frequency analysis."; + this.infoURL = "https://wikipedia.org/wiki/Index_of_coincidence"; + this.inputType = "string"; + this.outputType = "number"; + this.presentType = "html"; + this.args = []; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {number} + */ + run(input, args) { + const text = input.toLowerCase().replace(/[^a-z]/g, ""), + frequencies = new Array(26).fill(0), + alphabet = Utils.expandAlphRange("a-z"); + let coincidence = 0.00, + density = 0.00, + result = 0.00, + i; + + for (i=0; i < alphabet.length; i++) { + frequencies[i] = text.count(alphabet[i]); + } + + for (i=0; i < frequencies.length; i++) { + coincidence += frequencies[i] * (frequencies[i] - 1); + } + + density = frequencies.sum(); + + // Ensure that we don't divide by 0 + if (density < 2) density = 2; + + result = coincidence / (density * (density - 1)); + + return result; + } + + /** + * Displays the IC as a scale bar for web apps. + * + * @param {number} ic + * @returns {html} + */ + present(ic) { + return `Index of Coincidence: ${ic} +Normalized: ${ic * 26} +

+- 0 represents complete randomness (all characters are unique), whereas 1 represents no randomness (all characters are identical). +- English text generally has an IC of between 0.67 to 0.78. +- 'Random' text is determined by the probability that each letter occurs the same number of times as another. + +The graph shows the IC of the input data. A low IC generally means that the text is random, compressed or encrypted. + + + `; + } + +} + +export default IndexOfCoincidence; diff --git a/src/core/operations/InvertImage.mjs b/src/core/operations/InvertImage.mjs index ed97523f..6b62dea7 100644 --- a/src/core/operations/InvertImage.mjs +++ b/src/core/operations/InvertImage.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; -import { toBase64 } from "../lib/Base64"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,14 +26,14 @@ class InvertImage extends Operation { this.module = "Image"; this.description = "Invert the colours of an image."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -43,16 +44,22 @@ class InvertImage extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Inverting image..."); image.invert(); - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error inverting image. (${err})`); } @@ -60,18 +67,19 @@ class InvertImage extends Operation { /** * Displays the inverted image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/JPathExpression.mjs b/src/core/operations/JPathExpression.mjs index df99fc56..328fc83f 100644 --- a/src/core/operations/JPathExpression.mjs +++ b/src/core/operations/JPathExpression.mjs @@ -5,8 +5,8 @@ */ import jpath from "jsonpath"; -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * JPath expression operation diff --git a/src/core/operations/JSONBeautify.mjs b/src/core/operations/JSONBeautify.mjs index a2b2dfdd..f53d86e6 100644 --- a/src/core/operations/JSONBeautify.mjs +++ b/src/core/operations/JSONBeautify.mjs @@ -6,7 +6,7 @@ */ import vkbeautify from "vkbeautify"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * JSON Beautify operation diff --git a/src/core/operations/JSONMinify.mjs b/src/core/operations/JSONMinify.mjs index ca594397..7f0c6f2b 100644 --- a/src/core/operations/JSONMinify.mjs +++ b/src/core/operations/JSONMinify.mjs @@ -5,7 +5,7 @@ */ import vkbeautify from "vkbeautify"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * JSON Minify operation diff --git a/src/core/operations/JSONToCSV.mjs b/src/core/operations/JSONToCSV.mjs index c3d078e3..e846f164 100644 --- a/src/core/operations/JSONToCSV.mjs +++ b/src/core/operations/JSONToCSV.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * JSON to CSV operation @@ -51,6 +51,10 @@ class JSONToCSV extends Operation { this.rowDelim = rowDelim; const self = this; + if (!(input instanceof Array)) { + input = [input]; + } + try { // If the JSON is an array of arrays, this is easy if (input[0] instanceof Array) { @@ -89,6 +93,8 @@ class JSONToCSV extends Operation { * @returns {string} */ escapeCellContents(data) { + if (typeof data === "number") data = data.toString(); + // Double quotes should be doubled up data = data.replace(/"/g, '""'); diff --git a/src/core/operations/JWTDecode.mjs b/src/core/operations/JWTDecode.mjs index 2166a447..07f19477 100644 --- a/src/core/operations/JWTDecode.mjs +++ b/src/core/operations/JWTDecode.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import jwt from "jsonwebtoken"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * JWT Decode operation diff --git a/src/core/operations/JWTSign.mjs b/src/core/operations/JWTSign.mjs index b3f79b57..d62eb6f6 100644 --- a/src/core/operations/JWTSign.mjs +++ b/src/core/operations/JWTSign.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import jwt from "jsonwebtoken"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * JWT Sign operation diff --git a/src/core/operations/JWTVerify.mjs b/src/core/operations/JWTVerify.mjs index 651e7662..996ac2e3 100644 --- a/src/core/operations/JWTVerify.mjs +++ b/src/core/operations/JWTVerify.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import jwt from "jsonwebtoken"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * JWT Verify operation @@ -50,7 +50,7 @@ class JWTVerify extends Operation { "none" ]}); - if (verified.hasOwnProperty("name") && verified.name === "JsonWebTokenError") { + if (Object.prototype.hasOwnProperty.call(verified, "name") && verified.name === "JsonWebTokenError") { throw new OperationError(verified.message); } diff --git a/src/core/operations/JavaScriptBeautify.mjs b/src/core/operations/JavaScriptBeautify.mjs index a4bf326b..94575fcb 100644 --- a/src/core/operations/JavaScriptBeautify.mjs +++ b/src/core/operations/JavaScriptBeautify.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import escodegen from "escodegen"; import * as esprima from "esprima"; diff --git a/src/core/operations/JavaScriptMinify.mjs b/src/core/operations/JavaScriptMinify.mjs index 9841d5bb..b75aa857 100644 --- a/src/core/operations/JavaScriptMinify.mjs +++ b/src/core/operations/JavaScriptMinify.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import * as esprima from "esprima"; import escodegen from "escodegen"; import esmangle from "esmangle"; diff --git a/src/core/operations/JavaScriptParser.mjs b/src/core/operations/JavaScriptParser.mjs index 40ee7a57..2fb13891 100644 --- a/src/core/operations/JavaScriptParser.mjs +++ b/src/core/operations/JavaScriptParser.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import * as esprima from "esprima"; /** @@ -21,7 +21,7 @@ class JavaScriptParser extends Operation { this.name = "JavaScript Parser"; this.module = "Code"; this.description = "Returns an Abstract Syntax Tree for valid JavaScript code."; - this.infoURL = "https://en.wikipedia.org/wiki/Abstract_syntax_tree"; + this.infoURL = "https://wikipedia.org/wiki/Abstract_syntax_tree"; this.inputType = "string"; this.outputType = "string"; this.args = [ diff --git a/src/core/operations/Jump.mjs b/src/core/operations/Jump.mjs index 30fca5a0..f442faa0 100644 --- a/src/core/operations/Jump.mjs +++ b/src/core/operations/Jump.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { getLabelIndex } from "../lib/FlowControl"; +import Operation from "../Operation.mjs"; +import { getLabelIndex } from "../lib/FlowControl.mjs"; /** * Jump operation diff --git a/src/core/operations/Keccak.mjs b/src/core/operations/Keccak.mjs index 0c930589..151a4e82 100644 --- a/src/core/operations/Keccak.mjs +++ b/src/core/operations/Keccak.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import JSSHA3 from "js-sha3"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * Keccak operation diff --git a/src/core/operations/Label.mjs b/src/core/operations/Label.mjs index 1444f3ac..fb13d803 100644 --- a/src/core/operations/Label.mjs +++ b/src/core/operations/Label.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Label operation. For use with Jump and Conditional Jump. diff --git a/src/core/operations/MD2.mjs b/src/core/operations/MD2.mjs index dfe2c7a3..ecfa699c 100644 --- a/src/core/operations/MD2.mjs +++ b/src/core/operations/MD2.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * MD2 operation diff --git a/src/core/operations/MD4.mjs b/src/core/operations/MD4.mjs index 7872c7b8..381528cc 100644 --- a/src/core/operations/MD4.mjs +++ b/src/core/operations/MD4.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * MD4 operation diff --git a/src/core/operations/MD5.mjs b/src/core/operations/MD5.mjs index 96de7108..f55edaf5 100644 --- a/src/core/operations/MD5.mjs +++ b/src/core/operations/MD5.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * MD5 operation diff --git a/src/core/operations/MD6.mjs b/src/core/operations/MD6.mjs index 0e53a1b0..0ab13ffe 100644 --- a/src/core/operations/MD6.mjs +++ b/src/core/operations/MD6.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import NodeMD6 from "node-md6"; /** diff --git a/src/core/operations/Magic.mjs b/src/core/operations/Magic.mjs index 1555ebad..d5357d95 100644 --- a/src/core/operations/Magic.mjs +++ b/src/core/operations/Magic.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import Dish from "../Dish"; -import MagicLib from "../lib/Magic"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import Dish from "../Dish.mjs"; +import MagicLib from "../lib/Magic.mjs"; /** * Magic operation diff --git a/src/core/operations/Mean.mjs b/src/core/operations/Mean.mjs index a7b110ce..ee826201 100644 --- a/src/core/operations/Mean.mjs +++ b/src/core/operations/Mean.mjs @@ -5,9 +5,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { mean, createNumArray } from "../lib/Arithmetic"; -import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import { mean, createNumArray } from "../lib/Arithmetic.mjs"; +import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim.mjs"; import BigNumber from "bignumber.js"; /** diff --git a/src/core/operations/Median.mjs b/src/core/operations/Median.mjs index 7101a403..4ec9eceb 100644 --- a/src/core/operations/Median.mjs +++ b/src/core/operations/Median.mjs @@ -6,9 +6,9 @@ */ import BigNumber from "bignumber.js"; -import Operation from "../Operation"; -import { median, createNumArray } from "../lib/Arithmetic"; -import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import { median, createNumArray } from "../lib/Arithmetic.mjs"; +import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim.mjs"; /** * Median operation diff --git a/src/core/operations/Merge.mjs b/src/core/operations/Merge.mjs index 462660c4..07123aee 100644 --- a/src/core/operations/Merge.mjs +++ b/src/core/operations/Merge.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Merge operation diff --git a/src/core/operations/MicrosoftScriptDecoder.mjs b/src/core/operations/MicrosoftScriptDecoder.mjs index bb475ffc..952a8788 100644 --- a/src/core/operations/MicrosoftScriptDecoder.mjs +++ b/src/core/operations/MicrosoftScriptDecoder.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Microsoft Script Decoder operation @@ -34,7 +34,7 @@ class MicrosoftScriptDecoder extends Operation { run(input, args) { const matcher = /#@~\^.{6}==(.+).{6}==\^#~@/; const encodedData = matcher.exec(input); - if (encodedData){ + if (encodedData) { return MicrosoftScriptDecoder._decode(encodedData[1]); } else { return ""; diff --git a/src/core/operations/MultipleBombe.mjs b/src/core/operations/MultipleBombe.mjs index b6a48872..99725904 100644 --- a/src/core/operations/MultipleBombe.mjs +++ b/src/core/operations/MultipleBombe.mjs @@ -7,10 +7,12 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import {BombeMachine} from "../lib/Bombe"; -import {ROTORS, ROTORS_FOURTH, REFLECTORS, Reflector} from "../lib/Enigma"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { BombeMachine } from "../lib/Bombe.mjs"; +import { ROTORS, ROTORS_FOURTH, REFLECTORS, Reflector } from "../lib/Enigma.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; + /** * Convenience method for flattening the preset ROTORS object into a newline-separated string. @@ -222,7 +224,7 @@ class MultipleBombe extends Operation { crib = crib.replace(/[^A-Za-z]/g, "").toUpperCase(); const ciphertext = input.slice(offset); let update; - if (ENVIRONMENT_IS_WORKER()) { + if (isWorkerEnvironment()) { update = this.updateStatus; } else { update = undefined; diff --git a/src/core/operations/Multiply.mjs b/src/core/operations/Multiply.mjs index 825078e2..9f1666e8 100644 --- a/src/core/operations/Multiply.mjs +++ b/src/core/operations/Multiply.mjs @@ -6,9 +6,9 @@ */ import BigNumber from "bignumber.js"; -import Operation from "../Operation"; -import { multi, createNumArray } from "../lib/Arithmetic"; -import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import { multi, createNumArray } from "../lib/Arithmetic.mjs"; +import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim.mjs"; /** diff --git a/src/core/operations/NOT.mjs b/src/core/operations/NOT.mjs index e7f00393..46fc1b8c 100644 --- a/src/core/operations/NOT.mjs +++ b/src/core/operations/NOT.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { bitOp, not } from "../lib/BitwiseOp"; +import Operation from "../Operation.mjs"; +import { bitOp, not } from "../lib/BitwiseOp.mjs"; /** * NOT operation @@ -22,17 +22,18 @@ class NOT extends Operation { this.module = "Default"; this.description = "Returns the inverse of each byte."; this.infoURL = "https://wikipedia.org/wiki/Bitwise_operation#NOT"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "byteArray"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ run(input, args) { + input = new Uint8Array(input); return bitOp(input, null, not); } diff --git a/src/core/operations/NormaliseImage.mjs b/src/core/operations/NormaliseImage.mjs index bb5113a7..08de9ed5 100644 --- a/src/core/operations/NormaliseImage.mjs +++ b/src/core/operations/NormaliseImage.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; -import { toBase64 } from "../lib/Base64"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; import jimp from "jimp"; /** @@ -25,14 +25,14 @@ class NormaliseImage extends Operation { this.module = "Image"; this.description = "Normalise the image colours."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType= "html"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -41,28 +41,43 @@ class NormaliseImage extends Operation { throw new OperationError("Invalid file type."); } - const image = await jimp.read(Buffer.from(input)); + let image; + try { + image = await jimp.read(input); + } catch (err) { + throw new OperationError(`Error opening image file. (${err})`); + } - image.normalize(); + try { + image.normalize(); - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; + } catch (err) { + throw new OperationError(`Error normalising image. (${err})`); + } } /** * Displays the normalised image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/Numberwang.mjs b/src/core/operations/Numberwang.mjs index 96100fbb..7f94e360 100644 --- a/src/core/operations/Numberwang.mjs +++ b/src/core/operations/Numberwang.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Numberwang operation. Remain indoors. diff --git a/src/core/operations/OR.mjs b/src/core/operations/OR.mjs index 30948379..183fb1fe 100644 --- a/src/core/operations/OR.mjs +++ b/src/core/operations/OR.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import { bitOp, or, BITWISE_OP_DELIMS } from "../lib/BitwiseOp"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import { bitOp, or, BITWISE_OP_DELIMS } from "../lib/BitwiseOp.mjs"; /** * OR operation @@ -23,7 +23,7 @@ class OR extends Operation { this.module = "Default"; this.description = "OR the input with the given key.
e.g. fe023da5"; this.infoURL = "https://wikipedia.org/wiki/Bitwise_operation#OR"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "byteArray"; this.args = [ { @@ -36,12 +36,13 @@ class OR extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ run(input, args) { const key = Utils.convertToByteArray(args[0].string || "", args[0].option); + input = new Uint8Array(input); return bitOp(input, key, or); } diff --git a/src/core/operations/ObjectIdentifierToHex.mjs b/src/core/operations/ObjectIdentifierToHex.mjs index 90e45ea5..3e78cc03 100644 --- a/src/core/operations/ObjectIdentifierToHex.mjs +++ b/src/core/operations/ObjectIdentifierToHex.mjs @@ -5,7 +5,7 @@ */ import r from "jsrsasign"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Object Identifier to Hex operation diff --git a/src/core/operations/OffsetChecker.mjs b/src/core/operations/OffsetChecker.mjs index 07b15d2f..0f66e591 100644 --- a/src/core/operations/OffsetChecker.mjs +++ b/src/core/operations/OffsetChecker.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Offset checker operation diff --git a/src/core/operations/OpticalCharacterRecognition.mjs b/src/core/operations/OpticalCharacterRecognition.mjs new file mode 100644 index 00000000..1c26e55f --- /dev/null +++ b/src/core/operations/OpticalCharacterRecognition.mjs @@ -0,0 +1,87 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @author mshwed [m@ttshwed.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; + +import Tesseract from "tesseract.js"; +const { TesseractWorker } = Tesseract; + +import process from "process"; + +/** + * Optical Character Recognition operation + */ +class OpticalCharacterRecognition extends Operation { + + /** + * OpticalCharacterRecognition constructor + */ + constructor() { + super(); + + this.name = "Optical Character Recognition"; + this.module = "OCR"; + this.description = "Optical character recognition or optical character reader (OCR) is the mechanical or electronic conversion of images of typed, handwritten or printed text into machine-encoded text.

Supported image formats: png, jpg, bmp, pbm."; + this.infoURL = "https://wikipedia.org/wiki/Optical_character_recognition"; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = [ + { + name: "Show confidence", + type: "boolean", + value: true + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} + */ + async run(input, args) { + const [showConfidence] = args; + + if (!isWorkerEnvironment()) throw OperationError("This operation only works in a browser"); + + const type = isImage(input); + if (!type) { + throw new OperationError("Invalid File Type"); + } + + const assetDir = isWorkerEnvironment() ? `${self.docURL}/assets/` : `${process.cwd()}/src/core/vendor/`; + + try { + const image = `data:${type};base64,${toBase64(input)}`; + const worker = new TesseractWorker({ + workerPath: `${assetDir}tesseract/worker.min.js`, + langPath: `${assetDir}tesseract/lang-data`, + corePath: `${assetDir}tesseract/tesseract-core.wasm.js`, + }); + const result = await worker.recognize(image) + .progress(progress => { + if (isWorkerEnvironment()) { + self.sendStatusMessage(`Status: ${progress.status} - ${(parseFloat(progress.progress)*100).toFixed(2)}%`); + } + }); + + if (showConfidence) { + return `Confidence: ${result.confidence}%\n\n${result.text}`; + } else { + return result.text; + } + } catch (err) { + throw new OperationError(`Error performing OCR on image. (${err})`); + } + } +} + +export default OpticalCharacterRecognition; diff --git a/src/core/operations/PEMToHex.mjs b/src/core/operations/PEMToHex.mjs index a2c989fe..095e2c56 100644 --- a/src/core/operations/PEMToHex.mjs +++ b/src/core/operations/PEMToHex.mjs @@ -5,7 +5,7 @@ */ import r from "jsrsasign"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * PEM to Hex operation @@ -21,7 +21,7 @@ class PEMToHex extends Operation { this.name = "PEM to Hex"; this.module = "PublicKey"; this.description = "Converts PEM (Privacy Enhanced Mail) format to a hexadecimal DER (Distinguished Encoding Rules) string."; - this.infoURL = "https://en.wikipedia.org/wiki/X.690#DER_encoding"; + this.infoURL = "https://wikipedia.org/wiki/X.690#DER_encoding"; this.inputType = "string"; this.outputType = "string"; this.args = []; diff --git a/src/core/operations/PGPDecrypt.mjs b/src/core/operations/PGPDecrypt.mjs index ccf13cd1..d69b88ea 100644 --- a/src/core/operations/PGPDecrypt.mjs +++ b/src/core/operations/PGPDecrypt.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import kbpgp from "kbpgp"; -import { ASP, importPrivateKey } from "../lib/PGP"; -import OperationError from "../errors/OperationError"; +import { ASP, importPrivateKey } from "../lib/PGP.mjs"; +import OperationError from "../errors/OperationError.mjs"; import * as es6promisify from "es6-promisify"; const promisify = es6promisify.default ? es6promisify.default.promisify : es6promisify.promisify; diff --git a/src/core/operations/PGPDecryptAndVerify.mjs b/src/core/operations/PGPDecryptAndVerify.mjs index 58c61c25..119ccf16 100644 --- a/src/core/operations/PGPDecryptAndVerify.mjs +++ b/src/core/operations/PGPDecryptAndVerify.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import kbpgp from "kbpgp"; -import { ASP, importPrivateKey, importPublicKey } from "../lib/PGP"; -import OperationError from "../errors/OperationError"; +import { ASP, importPrivateKey, importPublicKey } from "../lib/PGP.mjs"; +import OperationError from "../errors/OperationError.mjs"; import * as es6promisify from "es6-promisify"; const promisify = es6promisify.default ? es6promisify.default.promisify : es6promisify.promisify; @@ -93,7 +93,7 @@ class PGPDecryptAndVerify extends Operation { text += `${signer.username} `; } if (signer.comment) { - text += `${signer.comment} `; + text += `(${signer.comment}) `; } if (signer.email) { text += `<${signer.email}>`; @@ -101,8 +101,9 @@ class PGPDecryptAndVerify extends Operation { text += "\n"; } text += [ + `PGP key ID: ${km.get_pgp_short_key_id()}`, `PGP fingerprint: ${km.get_pgp_fingerprint().toString("hex")}`, - `Signed on ${new Date(ds.sig.hashed_subpackets[0].time * 1000).toUTCString()}`, + `Signed on ${new Date(ds.sig.when_generated() * 1000).toUTCString()}`, "----------------------------------\n" ].join("\n"); text += unboxedLiterals.toString(); diff --git a/src/core/operations/PGPEncrypt.mjs b/src/core/operations/PGPEncrypt.mjs index 5d19de32..2f41cc0b 100644 --- a/src/core/operations/PGPEncrypt.mjs +++ b/src/core/operations/PGPEncrypt.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import kbpgp from "kbpgp"; -import { ASP, importPublicKey } from "../lib/PGP"; -import OperationError from "../errors/OperationError"; +import { ASP, importPublicKey } from "../lib/PGP.mjs"; +import OperationError from "../errors/OperationError.mjs"; import * as es6promisify from "es6-promisify"; const promisify = es6promisify.default ? es6promisify.default.promisify : es6promisify.promisify; diff --git a/src/core/operations/PGPEncryptAndSign.mjs b/src/core/operations/PGPEncryptAndSign.mjs index d9d19ce3..8fdbe4c3 100644 --- a/src/core/operations/PGPEncryptAndSign.mjs +++ b/src/core/operations/PGPEncryptAndSign.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import kbpgp from "kbpgp"; -import { ASP, importPrivateKey, importPublicKey } from "../lib/PGP"; -import OperationError from "../errors/OperationError"; +import { ASP, importPrivateKey, importPublicKey } from "../lib/PGP.mjs"; +import OperationError from "../errors/OperationError.mjs"; import * as es6promisify from "es6-promisify"; const promisify = es6promisify.default ? es6promisify.default.promisify : es6promisify.promisify; diff --git a/src/core/operations/PGPVerify.mjs b/src/core/operations/PGPVerify.mjs new file mode 100644 index 00000000..ee346916 --- /dev/null +++ b/src/core/operations/PGPVerify.mjs @@ -0,0 +1,111 @@ +/** + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; + +import kbpgp from "kbpgp"; +import { ASP, importPublicKey } from "../lib/PGP.mjs"; +import * as es6promisify from "es6-promisify"; +const promisify = es6promisify.default ? es6promisify.default.promisify : es6promisify.promisify; + +/** + * PGP Verify operation + */ +class PGPVerify extends Operation { + + /** + * PGPVerify constructor + */ + constructor() { + super(); + + this.name = "PGP Verify"; + this.module = "PGP"; + this.description = [ + "Input: the ASCII-armoured encrypted PGP message you want to verify.", + "

", + "Argument: the ASCII-armoured PGP public key of the signer", + "

", + "This operation uses PGP to decrypt a clearsigned message.", + "

", + "Pretty Good Privacy is an encryption standard (OpenPGP) used for encrypting, decrypting, and signing messages.", + "

", + "This function uses the Keybase implementation of PGP.", + ].join("\n"); + this.infoURL = "https://wikipedia.org/wiki/Pretty_Good_Privacy"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + "name": "Public key of signer", + "type": "text", + "value": "" + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + async run(input, args) { + const signedMessage = input, + [publicKey] = args, + keyring = new kbpgp.keyring.KeyRing(); + let unboxedLiterals; + + if (!publicKey) throw new OperationError("Enter the public key of the signer."); + const pubKey = await importPublicKey(publicKey); + keyring.add_key_manager(pubKey); + + try { + unboxedLiterals = await promisify(kbpgp.unbox)({ + armored: signedMessage, + keyfetch: keyring, + asp: ASP + }); + const ds = unboxedLiterals[0].get_data_signer(); + if (ds) { + const km = ds.get_key_manager(); + if (km) { + const signer = km.get_userids_mark_primary()[0].components; + let text = "Signed by "; + if (signer.email || signer.username || signer.comment) { + if (signer.username) { + text += `${signer.username} `; + } + if (signer.comment) { + text += `(${signer.comment}) `; + } + if (signer.email) { + text += `<${signer.email}>`; + } + text += "\n"; + } + text += [ + `PGP key ID: ${km.get_pgp_short_key_id()}`, + `PGP fingerprint: ${km.get_pgp_fingerprint().toString("hex")}`, + `Signed on ${new Date(ds.sig.when_generated() * 1000).toUTCString()}`, + "----------------------------------\n" + ].join("\n"); + text += unboxedLiterals.toString(); + return text.trim(); + } else { + throw new OperationError("Could not identify a key manager."); + } + } else { + throw new OperationError("The data does not appear to be signed."); + } + } catch (err) { + throw new OperationError(`Couldn't verify message: ${err}`); + } + } + +} + +export default PGPVerify; diff --git a/src/core/operations/PHPDeserialize.mjs b/src/core/operations/PHPDeserialize.mjs index 760e4e05..2c510b35 100644 --- a/src/core/operations/PHPDeserialize.mjs +++ b/src/core/operations/PHPDeserialize.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * PHP Deserialize operation @@ -128,8 +128,7 @@ class PHPDeserialize extends Operation { switch (kind) { case "n": expect(";"); - return ""; - + return "null"; case "i": case "d": case "b": { diff --git a/src/core/operations/PadLines.mjs b/src/core/operations/PadLines.mjs index e9e2b45a..c1464cce 100644 --- a/src/core/operations/PadLines.mjs +++ b/src/core/operations/PadLines.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Pad lines operation diff --git a/src/core/operations/ParseASN1HexString.mjs b/src/core/operations/ParseASN1HexString.mjs index 92c070a4..a19ca70c 100644 --- a/src/core/operations/ParseASN1HexString.mjs +++ b/src/core/operations/ParseASN1HexString.mjs @@ -5,7 +5,7 @@ */ import r from "jsrsasign"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Parse ASN.1 hex string operation diff --git a/src/core/operations/ParseColourCode.mjs b/src/core/operations/ParseColourCode.mjs index c97f9b89..9cf40ba7 100644 --- a/src/core/operations/ParseColourCode.mjs +++ b/src/core/operations/ParseColourCode.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Parse colour code operation @@ -96,7 +96,7 @@ class ParseColourCode extends Operation { cmyk = "cmyk(" + c + ", " + m + ", " + y + ", " + k + ")"; // Generate output - return `
+ return `
Hex: ${hex} RGB: ${rgb} RGBA: ${rgba} @@ -109,12 +109,12 @@ CMYK: ${cmyk} color: '${rgba}', container: true, inline: true, - }).on('changeColor', function(e) { - var color = e.color.toRGB(); - document.getElementById('input-text').value = 'rgba(' + - color.r + ', ' + color.g + ', ' + color.b + ', ' + color.a + ')'; - window.app.autoBake(); - }).children(".colorpicker").removeClass('dropdown-menu'); + useAlpha: true + }).on('colorpickerChange', function(e) { + var color = e.color.string('rgba'); + document.getElementById('input-text').value = color; + window.app.manager.input.debounceInputChange(new Event("keyup")); + }); `; } @@ -134,7 +134,7 @@ CMYK: ${cmyk} static _hslToRgb(h, s, l) { let r, g, b; - if (s === 0){ + if (s === 0) { r = g = b = l; // achromatic } else { const hue2rgb = function hue2rgb(p, q, t) { diff --git a/src/core/operations/ParseDateTime.mjs b/src/core/operations/ParseDateTime.mjs index 82af1c32..b8f2e08d 100644 --- a/src/core/operations/ParseDateTime.mjs +++ b/src/core/operations/ParseDateTime.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import moment from "moment-timezone"; -import {DATETIME_FORMATS, FORMAT_EXAMPLES} from "../lib/DateTime"; +import {DATETIME_FORMATS, FORMAT_EXAMPLES} from "../lib/DateTime.mjs"; /** * Parse DateTime operation diff --git a/src/core/operations/ParseIPRange.mjs b/src/core/operations/ParseIPRange.mjs index 38bcc222..2c59c015 100644 --- a/src/core/operations/ParseIPRange.mjs +++ b/src/core/operations/ParseIPRange.mjs @@ -5,9 +5,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import {ipv4CidrRange, ipv4HyphenatedRange, ipv4ListedRange, ipv6CidrRange, ipv6HyphenatedRange, ipv6ListedRange} from "../lib/IP"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {ipv4CidrRange, ipv4HyphenatedRange, ipv4ListedRange, ipv6CidrRange, ipv6HyphenatedRange, ipv6ListedRange} from "../lib/IP.mjs"; /** * Parse IP range operation diff --git a/src/core/operations/ParseIPv4Header.mjs b/src/core/operations/ParseIPv4Header.mjs index 06114329..304ba0c0 100644 --- a/src/core/operations/ParseIPv4Header.mjs +++ b/src/core/operations/ParseIPv4Header.mjs @@ -4,12 +4,12 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; -import {fromHex, toHex} from "../lib/Hex"; -import {ipv4ToStr, protocolLookup} from "../lib/IP"; -import TCPIPChecksum from "./TCPIPChecksum"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {fromHex, toHex} from "../lib/Hex.mjs"; +import {ipv4ToStr, protocolLookup} from "../lib/IP.mjs"; +import TCPIPChecksum from "./TCPIPChecksum.mjs"; /** * Parse IPv4 header operation diff --git a/src/core/operations/ParseIPv6Address.mjs b/src/core/operations/ParseIPv6Address.mjs index 3cf9f2dd..78df0b19 100644 --- a/src/core/operations/ParseIPv6Address.mjs +++ b/src/core/operations/ParseIPv6Address.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; -import {strToIpv6, ipv6ToStr, ipv4ToStr, IPV6_REGEX} from "../lib/IP"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {strToIpv6, ipv6ToStr, ipv4ToStr, IPV6_REGEX} from "../lib/IP.mjs"; import BigNumber from "bignumber.js"; /** diff --git a/src/core/operations/ParseQRCode.mjs b/src/core/operations/ParseQRCode.mjs index ef7af6d7..6f34a6d0 100644 --- a/src/core/operations/ParseQRCode.mjs +++ b/src/core/operations/ParseQRCode.mjs @@ -4,11 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; -import jsqr from "jsqr"; -import jimp from "jimp"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { parseQrCode } from "../lib/QRCode.mjs"; /** * Parse QR Code operation @@ -25,7 +24,7 @@ class ParseQRCode extends Operation { this.module = "Image"; this.description = "Reads an image file and attempts to detect and read a Quick Response (QR) code from the image.

Normalise Image
Attempts to normalise the image before parsing it to improve detection of a QR code."; this.infoURL = "https://wikipedia.org/wiki/QR_code"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -34,69 +33,28 @@ class ParseQRCode extends Operation { "value": false } ]; + this.patterns = [ + { + "match": "^(?:\\xff\\xd8\\xff|\\x89\\x50\\x4e\\x47|\\x47\\x49\\x46|.{8}\\x57\\x45\\x42\\x50|\\x42\\x4d)", + "flags": "", + "args": [false], + "useful": true + } + ]; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ async run(input, args) { const [normalise] = args; - // Make sure that the input is an image - if (!isImage(input)) throw new OperationError("Invalid file type."); - - let image = input; - - if (normalise) { - // Process the image to be easier to read by jsqr - // Disables the alpha channel - // Sets the image default background to white - // Normalises the image colours - // Makes the image greyscale - // Converts image to a JPEG - image = await new Promise((resolve, reject) => { - jimp.read(Buffer.from(input)) - .then(image => { - image - .rgba(false) - .background(0xFFFFFFFF) - .normalize() - .greyscale() - .getBuffer(jimp.MIME_JPEG, (error, result) => { - resolve(result); - }); - }) - .catch(err => { - reject(new OperationError("Error reading the image file.")); - }); - }); + if (!isImage(input)) { + throw new OperationError("Invalid file type."); } - - if (image instanceof OperationError) { - throw image; - } - - return new Promise((resolve, reject) => { - jimp.read(Buffer.from(image)) - .then(image => { - if (image.bitmap != null) { - const qrData = jsqr(image.bitmap.data, image.getWidth(), image.getHeight()); - if (qrData != null) { - resolve(qrData.data); - } else { - reject(new OperationError("Couldn't read a QR code from the image.")); - } - } else { - reject(new OperationError("Error reading the image file.")); - } - }) - .catch(err => { - reject(new OperationError("Error reading the image file.")); - }); - }); - + return await parseQrCode(input, normalise); } } diff --git a/src/core/operations/ParseSSHHostKey.mjs b/src/core/operations/ParseSSHHostKey.mjs new file mode 100644 index 00000000..17b1a8d1 --- /dev/null +++ b/src/core/operations/ParseSSHHostKey.mjs @@ -0,0 +1,150 @@ +/** + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation"; +import OperationError from "../errors/OperationError"; +import Utils from "../Utils"; +import { fromBase64 } from "../lib/Base64"; +import { fromHex, toHexFast } from "../lib/Hex"; + +/** + * Parse SSH Host Key operation + */ +class ParseSSHHostKey extends Operation { + + /** + * ParseSSHHostKey constructor + */ + constructor() { + super(); + + this.name = "Parse SSH Host Key"; + this.module = "Default"; + this.description = "Parses a SSH host key and extracts fields from it.
The key type can be:
  • ssh-rsa
  • ssh-dss
  • ecdsa-sha2
The key format can be either Hex or Base64."; + this.infoURL = "https://wikipedia.org/wiki/Secure_Shell"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + name: "Input Format", + type: "option", + value: [ + "Auto", + "Base64", + "Hex" + ] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const [inputFormat] = args, + inputKey = this.convertKeyToBinary(input.trim(), inputFormat), + fields = this.parseKey(inputKey), + keyType = Utils.byteArrayToChars(fromHex(fields[0]), ""); + + let output = `Key type: ${keyType}`; + + if (keyType === "ssh-rsa") { + output += `\nExponent: 0x${fields[1]}`; + output += `\nModulus: 0x${fields[2]}`; + } else if (keyType === "ssh-dss") { + output += `\np: 0x${fields[1]}`; + output += `\nq: 0x${fields[2]}`; + output += `\ng: 0x${fields[3]}`; + output += `\ny: 0x${fields[4]}`; + } else if (keyType.startsWith("ecdsa-sha2")) { + output += `\nCurve: ${Utils.byteArrayToChars(fromHex(fields[1]))}`; + output += `\nPoint: 0x${fields.slice(2)}`; + } else { + output += "\nUnsupported key type."; + output += `\nParameters: ${fields.slice(1)}`; + } + + return output; + } + + /** + * Converts the key to binary format from either hex or base64 + * + * @param {string} inputKey + * @param {string} inputFormat + * @returns {byteArray} + */ + convertKeyToBinary(inputKey, inputFormat) { + const keyPattern = new RegExp(/^(?:[ssh]|[ecdsa-sha2])\S+\s+(\S*)/), + keyMatch = inputKey.match(keyPattern); + + if (keyMatch) { + inputKey = keyMatch[1]; + } + + if (inputFormat === "Auto") { + inputFormat = this.detectKeyFormat(inputKey); + } + if (inputFormat === "Hex") { + return fromHex(inputKey); + } else if (inputFormat === "Base64") { + return fromBase64(inputKey, null, "byteArray"); + } else { + throw new OperationError("Invalid input format."); + } + } + + + /** + * Detects if the key is base64 or hex encoded + * + * @param {string} inputKey + * @returns {string} + */ + detectKeyFormat(inputKey) { + const hexPattern = new RegExp(/^(?:[\dA-Fa-f]{2}[ ,;:]?)+$/); + const b64Pattern = new RegExp(/^\s*(?:[A-Za-z\d+/]{4})+(?:[A-Za-z\d+/]{2}==|[A-Za-z\d+/]{3}=)?\s*$/); + + if (hexPattern.test(inputKey)) { + return "Hex"; + } else if (b64Pattern.test(inputKey)) { + return "Base64"; + } else { + throw new OperationError("Unable to detect input key format."); + } + } + + + /** + * Parses fields from the key + * + * @param {byteArray} key + */ + parseKey(key) { + const fields = []; + while (key.length > 0) { + const lengthField = key.slice(0, 4); + let decodedLength = 0; + for (let i = 0; i < lengthField.length; i++) { + decodedLength += lengthField[i]; + decodedLength = decodedLength << 8; + } + decodedLength = decodedLength >> 8; + // Break if length wasn't decoded correctly + if (decodedLength <= 0) break; + + fields.push(toHexFast(key.slice(4, 4 + decodedLength))); + key = key.slice(4 + decodedLength); + } + + return fields; + } + +} + +export default ParseSSHHostKey; diff --git a/src/core/operations/ParseTLV.mjs b/src/core/operations/ParseTLV.mjs index a87144a8..d4c4e11c 100644 --- a/src/core/operations/ParseTLV.mjs +++ b/src/core/operations/ParseTLV.mjs @@ -5,9 +5,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import TLVParser from "../lib/TLVParser"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import TLVParser from "../lib/TLVParser.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Parse TLV operation @@ -24,7 +24,7 @@ class ParseTLV extends Operation { this.module = "Default"; this.description = "Converts a Type-Length-Value (TLV) encoded string into a JSON object. Can optionally include a Key / Type entry.

Tags: Key-Length-Value, KLV, Length-Value, LV"; this.infoURL = "https://wikipedia.org/wiki/Type-length-value"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "JSON"; this.args = [ { @@ -46,12 +46,13 @@ class ParseTLV extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { const [bytesInKey, bytesInLength, basicEncodingRules] = args; + input = new Uint8Array(input); if (bytesInKey <= 0 && bytesInLength <= 0) throw new OperationError("Type or Length size must be greater than 0"); diff --git a/src/core/operations/ParseUDP.mjs b/src/core/operations/ParseUDP.mjs new file mode 100644 index 00000000..0a88fd5d --- /dev/null +++ b/src/core/operations/ParseUDP.mjs @@ -0,0 +1,84 @@ +/** + * @author h345983745 [] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import Stream from "../lib/Stream.mjs"; +import {toHex} from "../lib/Hex.mjs"; +import OperationError from "../errors/OperationError.mjs"; + +/** + * Parse UDP operation + */ +class ParseUDP extends Operation { + + /** + * ParseUDP constructor + */ + constructor() { + super(); + + this.name = "Parse UDP"; + this.module = "Default"; + this.description = "Parses a UDP header and payload (if present)."; + this.infoURL = "https://wikipedia.org/wiki/User_Datagram_Protocol"; + this.inputType = "ArrayBuffer"; + this.outputType = "json"; + this.presentType = "html"; + this.args = []; + } + + /** + * @param {ArrayBuffer} input + * @returns {Object} + */ + run(input, args) { + if (input.byteLength < 8) { + throw new OperationError("Need 8 bytes for a UDP Header"); + } + + const s = new Stream(new Uint8Array(input)); + // Parse Header + const UDPPacket = { + "Source port": s.readInt(2), + "Destination port": s.readInt(2), + "Length": s.readInt(2), + "Checksum": toHex(s.getBytes(2), "") + }; + // Parse data if present + if (s.hasMore()) { + UDPPacket.Data = toHex(s.getBytes(UDPPacket.Length - 8), ""); + } + + return UDPPacket; + } + + /** + * Displays the UDP Packet in a table style + * @param {Object} data + * @returns {html} + */ + present(data) { + const html = []; + html.push(""); + html.push(""); + html.push(""); + html.push(""); + html.push(""); + + for (const key in data) { + html.push(""); + html.push(""); + html.push(""); + html.push(""); + } + html.push("
FieldValue
" + key + "" + data[key] + "
"); + return html.join(""); + } + +} + + +export default ParseUDP; diff --git a/src/core/operations/ParseUNIXFilePermissions.mjs b/src/core/operations/ParseUNIXFilePermissions.mjs index 8a0eac7a..528e94b5 100644 --- a/src/core/operations/ParseUNIXFilePermissions.mjs +++ b/src/core/operations/ParseUNIXFilePermissions.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Parse UNIX file permissions operation diff --git a/src/core/operations/ParseURI.mjs b/src/core/operations/ParseURI.mjs index d86cb061..17ca90db 100644 --- a/src/core/operations/ParseURI.mjs +++ b/src/core/operations/ParseURI.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import url from "url"; /** diff --git a/src/core/operations/ParseUserAgent.mjs b/src/core/operations/ParseUserAgent.mjs index 03ccc86e..2c0d2c56 100644 --- a/src/core/operations/ParseUserAgent.mjs +++ b/src/core/operations/ParseUserAgent.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import UAParser from "ua-parser-js"; /** diff --git a/src/core/operations/ParseX509Certificate.mjs b/src/core/operations/ParseX509Certificate.mjs index a57f661e..0a1a162e 100644 --- a/src/core/operations/ParseX509Certificate.mjs +++ b/src/core/operations/ParseX509Certificate.mjs @@ -5,11 +5,11 @@ */ import r from "jsrsasign"; -import { fromBase64 } from "../lib/Base64"; -import { toHex } from "../lib/Hex"; -import { formatByteStr, formatDnStr } from "../lib/PublicKey"; -import Operation from "../Operation"; -import Utils from "../Utils"; +import { fromBase64 } from "../lib/Base64.mjs"; +import { toHex } from "../lib/Hex.mjs"; +import { formatByteStr, formatDnStr } from "../lib/PublicKey.mjs"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Parse X.509 certificate operation diff --git a/src/core/operations/PlayMedia.mjs b/src/core/operations/PlayMedia.mjs index 98b7d088..f16684c7 100644 --- a/src/core/operations/PlayMedia.mjs +++ b/src/core/operations/PlayMedia.mjs @@ -4,12 +4,12 @@ * @license Apache-2.0 */ -import { fromBase64, toBase64 } from "../lib/Base64"; -import { fromHex } from "../lib/Hex"; -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; -import { isType, detectFileType } from "../lib/FileType"; +import { fromBase64, toBase64 } from "../lib/Base64.mjs"; +import { fromHex } from "../lib/Hex.mjs"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import { isType, detectFileType } from "../lib/FileType.mjs"; /** * PlayMedia operation diff --git a/src/core/operations/PowerSet.mjs b/src/core/operations/PowerSet.mjs index 6866c254..a05dd783 100644 --- a/src/core/operations/PowerSet.mjs +++ b/src/core/operations/PowerSet.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Power Set operation diff --git a/src/core/operations/ProtobufDecode.mjs b/src/core/operations/ProtobufDecode.mjs new file mode 100644 index 00000000..8470bdb7 --- /dev/null +++ b/src/core/operations/ProtobufDecode.mjs @@ -0,0 +1,47 @@ +/** + * @author GCHQ Contributor [3] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Protobuf from "../lib/Protobuf.mjs"; + +/** + * Protobuf Decode operation + */ +class ProtobufDecode extends Operation { + + /** + * ProtobufDecode constructor + */ + constructor() { + super(); + + this.name = "Protobuf Decode"; + this.module = "Default"; + this.description = "Decodes any Protobuf encoded data to a JSON representation of the data using the field number as the field key."; + this.infoURL = "https://wikipedia.org/wiki/Protocol_Buffers"; + this.inputType = "ArrayBuffer"; + this.outputType = "JSON"; + this.args = []; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {JSON} + */ + run(input, args) { + input = new Uint8Array(input); + try { + return Protobuf.decode(input); + } catch (err) { + throw new OperationError(err); + } + } + +} + +export default ProtobufDecode; diff --git a/src/core/operations/PseudoRandomNumberGenerator.mjs b/src/core/operations/PseudoRandomNumberGenerator.mjs index 6fdebefd..d9764aba 100644 --- a/src/core/operations/PseudoRandomNumberGenerator.mjs +++ b/src/core/operations/PseudoRandomNumberGenerator.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; import BigNumber from "bignumber.js"; +import { isWorkerEnvironment } from "../Utils.mjs"; /** * Pseudo-Random Number Generator operation @@ -50,7 +51,7 @@ class PseudoRandomNumberGenerator extends Operation { let bytes; - if (ENVIRONMENT_IS_WORKER() && self.crypto) { + if (isWorkerEnvironment() && self.crypto) { bytes = self.crypto.getRandomValues(new Uint8Array(numBytes)); bytes = Utils.arrayBufferToStr(bytes.buffer); } else { diff --git a/src/core/operations/RC2Decrypt.mjs b/src/core/operations/RC2Decrypt.mjs index b0302cd7..78925d4c 100644 --- a/src/core/operations/RC2Decrypt.mjs +++ b/src/core/operations/RC2Decrypt.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; /** diff --git a/src/core/operations/RC2Encrypt.mjs b/src/core/operations/RC2Encrypt.mjs index 5c59c1ea..b917fdc2 100644 --- a/src/core/operations/RC2Encrypt.mjs +++ b/src/core/operations/RC2Encrypt.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import forge from "node-forge/dist/forge.min.js"; diff --git a/src/core/operations/RC4.mjs b/src/core/operations/RC4.mjs index 1446c972..183db742 100644 --- a/src/core/operations/RC4.mjs +++ b/src/core/operations/RC4.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import CryptoJS from "crypto-js"; -import { format } from "../lib/Ciphers"; +import { format } from "../lib/Ciphers.mjs"; /** * RC4 operation diff --git a/src/core/operations/RC4Drop.mjs b/src/core/operations/RC4Drop.mjs index 243d3a7a..3d87f4cb 100644 --- a/src/core/operations/RC4Drop.mjs +++ b/src/core/operations/RC4Drop.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import { format } from "../lib/Ciphers"; +import Operation from "../Operation.mjs"; +import { format } from "../lib/Ciphers.mjs"; import CryptoJS from "crypto-js"; /** diff --git a/src/core/operations/RIPEMD.mjs b/src/core/operations/RIPEMD.mjs index 00b613de..f326b694 100644 --- a/src/core/operations/RIPEMD.mjs +++ b/src/core/operations/RIPEMD.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * RIPEMD operation diff --git a/src/core/operations/ROT13.mjs b/src/core/operations/ROT13.mjs index f1dda5a8..c36766aa 100644 --- a/src/core/operations/ROT13.mjs +++ b/src/core/operations/ROT13.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** diff --git a/src/core/operations/ROT47.mjs b/src/core/operations/ROT47.mjs index 1219b349..39bf79a2 100644 --- a/src/core/operations/ROT47.mjs +++ b/src/core/operations/ROT47.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** diff --git a/src/core/operations/RandomizeColourPalette.mjs b/src/core/operations/RandomizeColourPalette.mjs new file mode 100644 index 00000000..e3baf54b --- /dev/null +++ b/src/core/operations/RandomizeColourPalette.mjs @@ -0,0 +1,83 @@ +/** + * @author Ge0rg3 [georgeomnet+cyberchef@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { runHash } from "../lib/Hash.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import jimp from "jimp"; + +/** + * Randomize Colour Palette operation + */ +class RandomizeColourPalette extends Operation { + + /** + * RandomizeColourPalette constructor + */ + constructor() { + super(); + + this.name = "Randomize Colour Palette"; + this.module = "Image"; + this.description = "Randomizes each colour in an image's colour palette. This can often reveal text or symbols that were previously a very similar colour to their surroundings, a technique sometimes used in Steganography."; + this.infoURL = "https://wikipedia.org/wiki/Indexed_color"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; + this.presentType = "html"; + this.args = [ + { + name: "Seed", + type: "string", + value: "" + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {ArrayBuffer} + */ + async run(input, args) { + if (!isImage(input)) throw new OperationError("Please enter a valid image file."); + + const seed = args[0] || (Math.random().toString().substr(2)), + parsedImage = await jimp.read(input), + width = parsedImage.bitmap.width, + height = parsedImage.bitmap.height; + + let rgbString, rgbHash, rgbHex; + + parsedImage.scan(0, 0, width, height, function(x, y, idx) { + rgbString = this.bitmap.data.slice(idx, idx+3).join("."); + rgbHash = runHash("md5", Utils.strToArrayBuffer(seed + rgbString)); + rgbHex = rgbHash.substr(0, 6) + "ff"; + parsedImage.setPixelColor(parseInt(rgbHex, 16), x, y); + }); + + const imageBuffer = await parsedImage.getBufferAsync(jimp.AUTO); + + return new Uint8Array(imageBuffer).buffer; + } + + /** + * Displays the extracted data as an image for web apps. + * @param {ArrayBuffer} data + * @returns {html} + */ + present(data) { + if (!data.byteLength) return ""; + const type = isImage(data); + + return ``; + } + +} + +export default RandomizeColourPalette; diff --git a/src/core/operations/RawDeflate.mjs b/src/core/operations/RawDeflate.mjs index c1d6dd53..0df243f4 100644 --- a/src/core/operations/RawDeflate.mjs +++ b/src/core/operations/RawDeflate.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {COMPRESSION_TYPE} from "../lib/Zlib"; -import rawdeflate from "zlibjs/bin/rawdeflate.min"; +import Operation from "../Operation.mjs"; +import {COMPRESSION_TYPE} from "../lib/Zlib.mjs"; +import rawdeflate from "zlibjs/bin/rawdeflate.min.js"; const Zlib = rawdeflate.Zlib; diff --git a/src/core/operations/RawInflate.mjs b/src/core/operations/RawInflate.mjs index 99066d79..f8a938c5 100644 --- a/src/core/operations/RawInflate.mjs +++ b/src/core/operations/RawInflate.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {INFLATE_BUFFER_TYPE} from "../lib/Zlib"; -import rawinflate from "zlibjs/bin/rawinflate.min"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import {INFLATE_BUFFER_TYPE} from "../lib/Zlib.mjs"; +import rawinflate from "zlibjs/bin/rawinflate.min.js"; +import OperationError from "../errors/OperationError.mjs"; const Zlib = rawinflate.Zlib; @@ -77,7 +77,7 @@ class RawInflate extends Operation { }), result = new Uint8Array(inflate.decompress()); - // Raw Inflate somethimes messes up and returns nonsense like this: + // Raw Inflate sometimes messes up and returns nonsense like this: // ]....]....]....]....]....]....]....]....]....]....]....]....]....]... // e.g. Input data of [8b, 1d, dc, 44] // Look for the first two square brackets: diff --git a/src/core/operations/Register.mjs b/src/core/operations/Register.mjs index 3b0d7479..2f696edd 100644 --- a/src/core/operations/Register.mjs +++ b/src/core/operations/Register.mjs @@ -4,9 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Dish from "../Dish"; +import Operation from "../Operation.mjs"; +import Dish from "../Dish.mjs"; import XRegExp from "xregexp"; +import { isWorkerEnvironment } from "../Utils.mjs"; /** * Register operation @@ -72,7 +73,7 @@ class Register extends Operation { if (!registers) return state; - if (ENVIRONMENT_IS_WORKER()) { + if (isWorkerEnvironment()) { self.setRegisters(state.forkOffset + state.progress, state.numRegisters, registers.slice(1)); } @@ -101,7 +102,7 @@ class Register extends Operation { args = args.map(arg => { if (typeof arg !== "string" && typeof arg !== "object") return arg; - if (typeof arg === "object" && arg.hasOwnProperty("string")) { + if (typeof arg === "object" && Object.prototype.hasOwnProperty.call(arg, "string")) { arg.string = replaceRegister(arg.string); return arg; } diff --git a/src/core/operations/RegularExpression.mjs b/src/core/operations/RegularExpression.mjs index d8411683..5327870b 100644 --- a/src/core/operations/RegularExpression.mjs +++ b/src/core/operations/RegularExpression.mjs @@ -5,9 +5,9 @@ */ import XRegExp from "xregexp"; -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Regular expression operation @@ -230,6 +230,7 @@ function regexHighlight (input, regex, displayTotal) { title = "", hl = 1, total = 0; + const captureGroups = []; output = input.replace(regex, (match, ...args) => { args.pop(); // Throw away full string @@ -247,9 +248,15 @@ function regexHighlight (input, regex, displayTotal) { // Switch highlight hl = hl === 1 ? 2 : 1; - total++; + // Store highlighted match and replace with a placeholder + captureGroups.push(`${Utils.escapeHtml(match)}`); + return `[cc_capture_group_${total++}]`; + }); - return `${Utils.escapeHtml(match)}`; + // Safely escape all remaining text, then replace placeholders + output = Utils.escapeHtml(output); + output = output.replace(/\[cc_capture_group_(\d+)\]/g, (_, i) => { + return captureGroups[i]; }); if (displayTotal) diff --git a/src/core/operations/RemoveDiacritics.mjs b/src/core/operations/RemoveDiacritics.mjs index 217fafe1..dd814375 100644 --- a/src/core/operations/RemoveDiacritics.mjs +++ b/src/core/operations/RemoveDiacritics.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Remove Diacritics operation diff --git a/src/core/operations/RemoveEXIF.mjs b/src/core/operations/RemoveEXIF.mjs index 9c5cf49f..fff4f6b5 100644 --- a/src/core/operations/RemoveEXIF.mjs +++ b/src/core/operations/RemoveEXIF.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import { removeEXIF } from "../vendor/remove-exif"; -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import { removeEXIF } from "../vendor/remove-exif.mjs"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Remove EXIF operation @@ -27,17 +27,18 @@ class RemoveEXIF extends Operation { "EXIF data embedded in photos usually contains information about the image file itself as well as the device used to create it.", ].join("\n"); this.infoURL = "https://wikipedia.org/wiki/Exif"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "byteArray"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ run(input, args) { + input = new Uint8Array(input); // Do nothing if input is empty if (input.length === 0) return input; diff --git a/src/core/operations/RemoveLineNumbers.mjs b/src/core/operations/RemoveLineNumbers.mjs index d7c615f7..0fbf7115 100644 --- a/src/core/operations/RemoveLineNumbers.mjs +++ b/src/core/operations/RemoveLineNumbers.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Remove line numbers operation diff --git a/src/core/operations/RemoveNullBytes.mjs b/src/core/operations/RemoveNullBytes.mjs index dcbf9251..b633e82d 100644 --- a/src/core/operations/RemoveNullBytes.mjs +++ b/src/core/operations/RemoveNullBytes.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Remove null bytes operation @@ -20,17 +20,18 @@ class RemoveNullBytes extends Operation { this.name = "Remove null bytes"; this.module = "Default"; this.description = "Removes all null bytes (0x00) from the input."; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "byteArray"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ run(input, args) { + input = new Uint8Array(input); const output = []; for (let i = 0; i < input.length; i++) { if (input[i] !== 0) output.push(input[i]); diff --git a/src/core/operations/RemoveWhitespace.mjs b/src/core/operations/RemoveWhitespace.mjs index a6564809..0689f766 100644 --- a/src/core/operations/RemoveWhitespace.mjs +++ b/src/core/operations/RemoveWhitespace.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Remove whitespace operation @@ -64,7 +64,7 @@ class RemoveWhitespace extends Operation { run(input, args) { const [ removeSpaces, - removeCariageReturns, + removeCarriageReturns, removeLineFeeds, removeTabs, removeFormFeeds, @@ -73,7 +73,7 @@ class RemoveWhitespace extends Operation { let data = input; if (removeSpaces) data = data.replace(/ /g, ""); - if (removeCariageReturns) data = data.replace(/\r/g, ""); + if (removeCarriageReturns) data = data.replace(/\r/g, ""); if (removeLineFeeds) data = data.replace(/\n/g, ""); if (removeTabs) data = data.replace(/\t/g, ""); if (removeFormFeeds) data = data.replace(/\f/g, ""); diff --git a/src/core/operations/RenderImage.mjs b/src/core/operations/RenderImage.mjs index 07866eaf..2401a90b 100644 --- a/src/core/operations/RenderImage.mjs +++ b/src/core/operations/RenderImage.mjs @@ -4,12 +4,12 @@ * @license Apache-2.0 */ -import { fromBase64, toBase64 } from "../lib/Base64"; -import { fromHex } from "../lib/Hex"; -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; -import {isImage} from "../lib/FileType"; +import { fromBase64, toBase64 } from "../lib/Base64.mjs"; +import { fromHex } from "../lib/Hex.mjs"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import {isImage} from "../lib/FileType.mjs"; /** * Render Image operation diff --git a/src/core/operations/RenderMarkdown.mjs b/src/core/operations/RenderMarkdown.mjs new file mode 100644 index 00000000..c656bf5b --- /dev/null +++ b/src/core/operations/RenderMarkdown.mjs @@ -0,0 +1,69 @@ +/** + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import MarkdownIt from "markdown-it"; +import hljs from "highlight.js"; + +/** + * Render Markdown operation + */ +class RenderMarkdown extends Operation { + + /** + * RenderMarkdown constructor + */ + constructor() { + super(); + + this.name = "Render Markdown"; + this.module = "Code"; + this.description = "Renders input Markdown as HTML. HTML rendering is disabled to avoid XSS."; + this.infoURL = "https://wikipedia.org/wiki/Markdown"; + this.inputType = "string"; + this.outputType = "html"; + this.args = [ + { + name: "Autoconvert URLs to links", + type: "boolean", + value: false + }, + { + name: "Enable syntax highlighting", + type: "boolean", + value: true + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {html} + */ + run(input, args) { + const [convertLinks, enableHighlighting] = args, + md = new MarkdownIt({ + linkify: convertLinks, + html: false, // Explicitly disable HTML rendering + highlight: function(str, lang) { + if (lang && hljs.getLanguage(lang) && enableHighlighting) { + try { + return hljs.highlight(lang, str).value; + } catch (__) {} + } + + return ""; + } + }), + rendered = md.render(input); + + return `
${rendered}
`; + } + +} + +export default RenderMarkdown; diff --git a/src/core/operations/ResizeImage.mjs b/src/core/operations/ResizeImage.mjs index 48a5d54a..b2ed3bbf 100644 --- a/src/core/operations/ResizeImage.mjs +++ b/src/core/operations/ResizeImage.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class ResizeImage extends Operation { this.module = "Image"; this.description = "Resizes an image to the specified width and height values."; this.infoURL = "https://wikipedia.org/wiki/Image_scaling"; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -67,7 +68,7 @@ class ResizeImage extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -92,7 +93,7 @@ class ResizeImage extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } @@ -102,7 +103,7 @@ class ResizeImage extends Operation { height = image.getHeight() * (height / 100); } - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Resizing image..."); if (aspect) { image.scaleToFit(width, height, resizeMap[resizeAlg]); @@ -110,8 +111,13 @@ class ResizeImage extends Operation { image.resize(width, height, resizeMap[resizeAlg]); } - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error resizing image. (${err})`); } @@ -119,18 +125,19 @@ class ResizeImage extends Operation { /** * Displays the resized image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/Return.mjs b/src/core/operations/Return.mjs index cc83bff8..2a1c6a38 100644 --- a/src/core/operations/Return.mjs +++ b/src/core/operations/Return.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Return operation diff --git a/src/core/operations/Reverse.mjs b/src/core/operations/Reverse.mjs index c88bb275..895d6723 100644 --- a/src/core/operations/Reverse.mjs +++ b/src/core/operations/Reverse.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Reverse operation diff --git a/src/core/operations/RotateImage.mjs b/src/core/operations/RotateImage.mjs index 34497863..a4659b12 100644 --- a/src/core/operations/RotateImage.mjs +++ b/src/core/operations/RotateImage.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import { isImage } from "../lib/FileType"; -import { toBase64 } from "../lib/Base64"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; import jimp from "jimp"; /** @@ -25,8 +26,8 @@ class RotateImage extends Operation { this.module = "Image"; this.description = "Rotates an image by the specified number of degrees."; this.infoURL = ""; - this.inputType = "byteArray"; - this.outputType = "byteArray"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; this.presentType = "html"; this.args = [ { @@ -38,7 +39,7 @@ class RotateImage extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ @@ -51,16 +52,22 @@ class RotateImage extends Operation { let image; try { - image = await jimp.read(Buffer.from(input)); + image = await jimp.read(input); } catch (err) { throw new OperationError(`Error loading image. (${err})`); } try { - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Rotating image..."); image.rotate(degrees); - const imageBuffer = await image.getBufferAsync(jimp.AUTO); - return [...imageBuffer]; + + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; } catch (err) { throw new OperationError(`Error rotating image. (${err})`); } @@ -68,18 +75,19 @@ class RotateImage extends Operation { /** * Displays the rotated image using HTML for web apps - * @param {byteArray} data + * @param {ArrayBuffer} data * @returns {html} */ present(data) { - if (!data.length) return ""; + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); - const type = isImage(data); + const type = isImage(dataArray); if (!type) { throw new OperationError("Invalid file type."); } - return ``; + return ``; } } diff --git a/src/core/operations/RotateLeft.mjs b/src/core/operations/RotateLeft.mjs index 4f73345d..e9ef8329 100644 --- a/src/core/operations/RotateLeft.mjs +++ b/src/core/operations/RotateLeft.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {rot, rotl, rotlCarry} from "../lib/Rotate"; +import Operation from "../Operation.mjs"; +import {rot, rotl, rotlCarry} from "../lib/Rotate.mjs"; /** diff --git a/src/core/operations/RotateRight.mjs b/src/core/operations/RotateRight.mjs index 455369b0..4e9451fc 100644 --- a/src/core/operations/RotateRight.mjs +++ b/src/core/operations/RotateRight.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {rot, rotr, rotrCarry} from "../lib/Rotate"; +import Operation from "../Operation.mjs"; +import {rot, rotr, rotrCarry} from "../lib/Rotate.mjs"; /** diff --git a/src/core/operations/SHA0.mjs b/src/core/operations/SHA0.mjs index b83a47d7..93345eb2 100644 --- a/src/core/operations/SHA0.mjs +++ b/src/core/operations/SHA0.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * SHA0 operation diff --git a/src/core/operations/SHA1.mjs b/src/core/operations/SHA1.mjs index 2dc5ce5c..41a0105a 100644 --- a/src/core/operations/SHA1.mjs +++ b/src/core/operations/SHA1.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * SHA1 operation diff --git a/src/core/operations/SHA2.mjs b/src/core/operations/SHA2.mjs index 05d4c253..c9599d24 100644 --- a/src/core/operations/SHA2.mjs +++ b/src/core/operations/SHA2.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * SHA2 operation diff --git a/src/core/operations/SHA3.mjs b/src/core/operations/SHA3.mjs index cebb8e23..0f3cdef7 100644 --- a/src/core/operations/SHA3.mjs +++ b/src/core/operations/SHA3.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import JSSHA3 from "js-sha3"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * SHA3 operation diff --git a/src/core/operations/SQLBeautify.mjs b/src/core/operations/SQLBeautify.mjs index 1862972a..0f3d2e3c 100644 --- a/src/core/operations/SQLBeautify.mjs +++ b/src/core/operations/SQLBeautify.mjs @@ -5,7 +5,7 @@ */ import vkbeautify from "vkbeautify"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * SQL Beautify operation diff --git a/src/core/operations/SQLMinify.mjs b/src/core/operations/SQLMinify.mjs index d81e29ad..582ad43d 100644 --- a/src/core/operations/SQLMinify.mjs +++ b/src/core/operations/SQLMinify.mjs @@ -5,7 +5,7 @@ */ import vkbeautify from "vkbeautify"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * SQL Minify operation diff --git a/src/core/operations/SSDEEP.mjs b/src/core/operations/SSDEEP.mjs index 4ae5a650..87f5ee0b 100644 --- a/src/core/operations/SSDEEP.mjs +++ b/src/core/operations/SSDEEP.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import ssdeepjs from "ssdeep.js"; /** diff --git a/src/core/operations/SUB.mjs b/src/core/operations/SUB.mjs index f2374488..ef9777c6 100644 --- a/src/core/operations/SUB.mjs +++ b/src/core/operations/SUB.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import { bitOp, sub, BITWISE_OP_DELIMS } from "../lib/BitwiseOp"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import { bitOp, sub, BITWISE_OP_DELIMS } from "../lib/BitwiseOp.mjs"; /** * SUB operation diff --git a/src/core/operations/ScanForEmbeddedFiles.mjs b/src/core/operations/ScanForEmbeddedFiles.mjs index ae88134f..11102f21 100644 --- a/src/core/operations/ScanForEmbeddedFiles.mjs +++ b/src/core/operations/ScanForEmbeddedFiles.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {scanForFileTypes} from "../lib/FileType"; -import {FILE_SIGNATURES} from "../lib/FileSignatures"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import { scanForFileTypes } from "../lib/FileType.mjs"; +import { FILE_SIGNATURES } from "../lib/FileSignatures.mjs"; /** * Scan for Embedded Files operation @@ -41,7 +41,7 @@ class ScanForEmbeddedFiles extends Operation { * @returns {string} */ run(input, args) { - let output = "Scanning data for 'magic bytes' which may indicate embedded files. The following results may be false positives and should not be treat as reliable. Any suffiently long file is likely to contain these magic bytes coincidentally.\n", + let output = "Scanning data for 'magic bytes' which may indicate embedded files. The following results may be false positives and should not be treat as reliable. Any sufficiently long file is likely to contain these magic bytes coincidentally.\n", numFound = 0; const categories = [], data = new Uint8Array(input); @@ -55,12 +55,13 @@ class ScanForEmbeddedFiles extends Operation { if (types.length) { types.forEach(type => { numFound++; - output += "\nOffset " + type.offset + " (0x" + Utils.hex(type.offset) + "):\n" + - " File extension: " + type.fileDetails.extension + "\n" + - " MIME type: " + type.fileDetails.mime + "\n"; + output += `\nOffset ${type.offset} (0x${Utils.hex(type.offset)}): + File type: ${type.fileDetails.name} + Extension: ${type.fileDetails.extension} + MIME type: ${type.fileDetails.mime}\n`; if (type.fileDetails.description && type.fileDetails.description.length) { - output += " Description: " + type.fileDetails.description + "\n"; + output += ` Description: ${type.fileDetails.description}\n`; } }); } diff --git a/src/core/operations/ScatterChart.mjs b/src/core/operations/ScatterChart.mjs new file mode 100644 index 00000000..fe15f610 --- /dev/null +++ b/src/core/operations/ScatterChart.mjs @@ -0,0 +1,199 @@ +/** + * @author tlwr [toby@toby.codes] + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import * as d3temp from "d3"; +import * as nodomtemp from "nodom"; +import { getScatterValues, getScatterValuesWithColour, RECORD_DELIMITER_OPTIONS, COLOURS, FIELD_DELIMITER_OPTIONS } from "../lib/Charts.mjs"; + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; + +const d3 = d3temp.default ? d3temp.default : d3temp; +const nodom = nodomtemp.default ? nodomtemp.default: nodomtemp; + +/** + * Scatter chart operation + */ +class ScatterChart extends Operation { + + /** + * ScatterChart constructor + */ + constructor() { + super(); + + this.name = "Scatter chart"; + this.module = "Charts"; + this.description = "Plots two-variable data as single points on a graph."; + this.infoURL = "https://wikipedia.org/wiki/Scatter_plot"; + this.inputType = "string"; + this.outputType = "html"; + this.args = [ + { + name: "Record delimiter", + type: "option", + value: RECORD_DELIMITER_OPTIONS, + }, + { + name: "Field delimiter", + type: "option", + value: FIELD_DELIMITER_OPTIONS, + }, + { + name: "Use column headers as labels", + type: "boolean", + value: true, + }, + { + name: "X label", + type: "string", + value: "", + }, + { + name: "Y label", + type: "string", + value: "", + }, + { + name: "Colour", + type: "string", + value: COLOURS.max, + }, + { + name: "Point radius", + type: "number", + value: 10, + }, + { + name: "Use colour from third column", + type: "boolean", + value: false, + } + ]; + } + + /** + * Scatter chart operation. + * + * @param {string} input + * @param {Object[]} args + * @returns {html} + */ + run(input, args) { + const recordDelimiter = Utils.charRep(args[0]), + fieldDelimiter = Utils.charRep(args[1]), + columnHeadingsAreIncluded = args[2], + fillColour = args[5], + radius = args[6], + colourInInput = args[7], + dimension = 500; + + let xLabel = args[3], + yLabel = args[4]; + + const dataFunction = colourInInput ? getScatterValuesWithColour : getScatterValues; + const { headings, values } = dataFunction( + input, + recordDelimiter, + fieldDelimiter, + columnHeadingsAreIncluded + ); + + if (headings) { + xLabel = headings.x; + yLabel = headings.y; + } + + const document = new nodom.Document(); + let svg = document.createElement("svg"); + svg = d3.select(svg) + .attr("width", "100%") + .attr("height", "100%") + .attr("viewBox", `0 0 ${dimension} ${dimension}`); + + const margin = { + top: 10, + right: 0, + bottom: 40, + left: 30, + }, + width = dimension - margin.left - margin.right, + height = dimension - margin.top - margin.bottom, + marginedSpace = svg.append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + const xExtent = d3.extent(values, d => d[0]), + xDelta = xExtent[1] - xExtent[0], + yExtent = d3.extent(values, d => d[1]), + yDelta = yExtent[1] - yExtent[0], + xAxis = d3.scaleLinear() + .domain([xExtent[0] - (0.1 * xDelta), xExtent[1] + (0.1 * xDelta)]) + .range([0, width]), + yAxis = d3.scaleLinear() + .domain([yExtent[0] - (0.1 * yDelta), yExtent[1] + (0.1 * yDelta)]) + .range([height, 0]); + + marginedSpace.append("clipPath") + .attr("id", "clip") + .append("rect") + .attr("width", width) + .attr("height", height); + + marginedSpace.append("g") + .attr("class", "points") + .attr("clip-path", "url(#clip)") + .selectAll("circle") + .data(values) + .enter() + .append("circle") + .attr("cx", (d) => xAxis(d[0])) + .attr("cy", (d) => yAxis(d[1])) + .attr("r", d => radius) + .attr("fill", d => { + return colourInInput ? d[2] : fillColour; + }) + .attr("stroke", "rgba(0, 0, 0, 0.5)") + .attr("stroke-width", "0.5") + .append("title") + .text(d => { + const x = d[0], + y = d[1], + tooltip = `X: ${x}\n + Y: ${y}\n + `.replace(/\s{2,}/g, "\n"); + return tooltip; + }); + + marginedSpace.append("g") + .attr("class", "axis axis--y") + .call(d3.axisLeft(yAxis).tickSizeOuter(-width)); + + svg.append("text") + .attr("transform", "rotate(-90)") + .attr("y", -margin.left) + .attr("x", -(height / 2)) + .attr("dy", "1em") + .style("text-anchor", "middle") + .text(yLabel); + + marginedSpace.append("g") + .attr("class", "axis axis--x") + .attr("transform", "translate(0," + height + ")") + .call(d3.axisBottom(xAxis).tickSizeOuter(-height)); + + svg.append("text") + .attr("x", width / 2) + .attr("y", dimension) + .style("text-anchor", "middle") + .text(xLabel); + + return svg._groups[0][0].outerHTML; + } + +} + +export default ScatterChart; diff --git a/src/core/operations/Scrypt.mjs b/src/core/operations/Scrypt.mjs index 134a04fc..9c4ba304 100644 --- a/src/core/operations/Scrypt.mjs +++ b/src/core/operations/Scrypt.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; import scryptsy from "scryptsy"; +import { isWorkerEnvironment } from "../Utils.mjs"; /** * Scrypt operation @@ -73,7 +74,7 @@ class Scrypt extends Operation { input, salt, iterations, memFactor, parallelFactor, keyLength, p => { // Progress callback - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage(`Progress: ${p.percent.toFixed(0)}%`); } ); diff --git a/src/core/operations/SeriesChart.mjs b/src/core/operations/SeriesChart.mjs new file mode 100644 index 00000000..7a21953e --- /dev/null +++ b/src/core/operations/SeriesChart.mjs @@ -0,0 +1,227 @@ +/** + * @author tlwr [toby@toby.codes] + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import * as d3temp from "d3"; +import * as nodomtemp from "nodom"; +import { getSeriesValues, RECORD_DELIMITER_OPTIONS, FIELD_DELIMITER_OPTIONS } from "../lib/Charts.mjs"; + +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; + +const d3 = d3temp.default ? d3temp.default : d3temp; +const nodom = nodomtemp.default ? nodomtemp.default: nodomtemp; + +/** + * Series chart operation + */ +class SeriesChart extends Operation { + + /** + * SeriesChart constructor + */ + constructor() { + super(); + + this.name = "Series chart"; + this.module = "Charts"; + this.description = "A time series graph is a line graph of repeated measurements taken over regular time intervals."; + this.inputType = "string"; + this.outputType = "html"; + this.args = [ + { + name: "Record delimiter", + type: "option", + value: RECORD_DELIMITER_OPTIONS, + }, + { + name: "Field delimiter", + type: "option", + value: FIELD_DELIMITER_OPTIONS, + }, + { + name: "X label", + type: "string", + value: "", + }, + { + name: "Point radius", + type: "number", + value: 1, + }, + { + name: "Series colours", + type: "string", + value: "mediumseagreen, dodgerblue, tomato", + }, + ]; + } + + /** + * Series chart operation. + * + * @param {string} input + * @param {Object[]} args + * @returns {html} + */ + run(input, args) { + const recordDelimiter = Utils.charRep(args[0]), + fieldDelimiter = Utils.charRep(args[1]), + xLabel = args[2], + pipRadius = args[3], + seriesColours = args[4].split(","), + svgWidth = 500, + interSeriesPadding = 20, + xAxisHeight = 50, + seriesLabelWidth = 50, + seriesHeight = 100, + seriesWidth = svgWidth - seriesLabelWidth - interSeriesPadding; + + const { xValues, series } = getSeriesValues(input, recordDelimiter, fieldDelimiter), + allSeriesHeight = Object.keys(series).length * (interSeriesPadding + seriesHeight), + svgHeight = allSeriesHeight + xAxisHeight + interSeriesPadding; + + const document = new nodom.Document(); + let svg = document.createElement("svg"); + svg = d3.select(svg) + .attr("width", "100%") + .attr("height", "100%") + .attr("viewBox", `0 0 ${svgWidth} ${svgHeight}`); + + const xAxis = d3.scalePoint() + .domain(xValues) + .range([0, seriesWidth]); + + svg.append("g") + .attr("class", "axis axis--x") + .attr("transform", `translate(${seriesLabelWidth}, ${xAxisHeight})`) + .call( + d3.axisTop(xAxis).tickValues(xValues.filter((x, i) => { + return [0, Math.round(xValues.length / 2), xValues.length -1].indexOf(i) >= 0; + })) + ); + + svg.append("text") + .attr("x", svgWidth / 2) + .attr("y", xAxisHeight / 2) + .style("text-anchor", "middle") + .text(xLabel); + + const tooltipText = {}, + tooltipAreaWidth = seriesWidth / xValues.length; + + xValues.forEach(x => { + const tooltip = []; + + series.forEach(serie => { + const y = serie.data[x]; + if (typeof y === "undefined") return; + + tooltip.push(`${serie.name}: ${y}`); + }); + + tooltipText[x] = tooltip.join("\n"); + }); + + const chartArea = svg.append("g") + .attr("transform", `translate(${seriesLabelWidth}, ${xAxisHeight})`); + + chartArea + .append("g") + .selectAll("rect") + .data(xValues) + .enter() + .append("rect") + .attr("x", x => { + return xAxis(x) - (tooltipAreaWidth / 2); + }) + .attr("y", 0) + .attr("width", tooltipAreaWidth) + .attr("height", allSeriesHeight) + .attr("stroke", "none") + .attr("fill", "transparent") + .append("title") + .text(x => { + return `${x}\n + --\n + ${tooltipText[x]}\n + `.replace(/\s{2,}/g, "\n"); + }); + + const yAxesArea = svg.append("g") + .attr("transform", `translate(0, ${xAxisHeight})`); + + series.forEach((serie, seriesIndex) => { + const yExtent = d3.extent(Object.values(serie.data)), + yAxis = d3.scaleLinear() + .domain(yExtent) + .range([seriesHeight, 0]); + + const seriesGroup = chartArea + .append("g") + .attr("transform", `translate(0, ${seriesHeight * seriesIndex + interSeriesPadding * (seriesIndex + 1)})`); + + let path = ""; + xValues.forEach((x, xIndex) => { + let nextX = xValues[xIndex + 1], + y = serie.data[x], + nextY= serie.data[nextX]; + + if (typeof y === "undefined" || typeof nextY === "undefined") return; + + x = xAxis(x); nextX = xAxis(nextX); + y = yAxis(y); nextY = yAxis(nextY); + + path += `M ${x} ${y} L ${nextX} ${nextY} z `; + }); + + seriesGroup + .append("path") + .attr("d", path) + .attr("fill", "none") + .attr("stroke", seriesColours[seriesIndex % seriesColours.length]) + .attr("stroke-width", "1"); + + xValues.forEach(x => { + const y = serie.data[x]; + if (typeof y === "undefined") return; + + seriesGroup + .append("circle") + .attr("cx", xAxis(x)) + .attr("cy", yAxis(y)) + .attr("r", pipRadius) + .attr("fill", seriesColours[seriesIndex % seriesColours.length]) + .append("title") + .text(d => { + return `${x}\n + --\n + ${tooltipText[x]}\n + `.replace(/\s{2,}/g, "\n"); + }); + }); + + yAxesArea + .append("g") + .attr("transform", `translate(${seriesLabelWidth - interSeriesPadding}, ${seriesHeight * seriesIndex + interSeriesPadding * (seriesIndex + 1)})`) + .attr("class", "axis axis--y") + .call(d3.axisLeft(yAxis).ticks(5)); + + yAxesArea + .append("g") + .attr("transform", `translate(0, ${seriesHeight / 2 + seriesHeight * seriesIndex + interSeriesPadding * (seriesIndex + 1)})`) + .append("text") + .style("text-anchor", "middle") + .attr("transform", "rotate(-90)") + .text(serie.name); + }); + + return svg._groups[0][0].outerHTML; + } + +} + +export default SeriesChart; diff --git a/src/core/operations/SetDifference.mjs b/src/core/operations/SetDifference.mjs index ce272880..dc46c079 100644 --- a/src/core/operations/SetDifference.mjs +++ b/src/core/operations/SetDifference.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Set Difference operation diff --git a/src/core/operations/SetIntersection.mjs b/src/core/operations/SetIntersection.mjs index 87cb2b3c..7e6dbe10 100644 --- a/src/core/operations/SetIntersection.mjs +++ b/src/core/operations/SetIntersection.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Set Intersection operation diff --git a/src/core/operations/SetUnion.mjs b/src/core/operations/SetUnion.mjs index b835605e..80913063 100644 --- a/src/core/operations/SetUnion.mjs +++ b/src/core/operations/SetUnion.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Set Union operation diff --git a/src/core/operations/Shake.mjs b/src/core/operations/Shake.mjs index e096ac31..69e034e6 100644 --- a/src/core/operations/Shake.mjs +++ b/src/core/operations/Shake.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import JSSHA3 from "js-sha3"; /** diff --git a/src/core/operations/SharpenImage.mjs b/src/core/operations/SharpenImage.mjs new file mode 100644 index 00000000..e7b0eaa2 --- /dev/null +++ b/src/core/operations/SharpenImage.mjs @@ -0,0 +1,169 @@ +/** + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import { gaussianBlur } from "../lib/ImageManipulation.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; +import jimp from "jimp"; + +/** + * Sharpen Image operation + */ +class SharpenImage extends Operation { + + /** + * SharpenImage constructor + */ + constructor() { + super(); + + this.name = "Sharpen Image"; + this.module = "Image"; + this.description = "Sharpens an image (Unsharp mask)"; + this.infoURL = "https://wikipedia.org/wiki/Unsharp_masking"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; + this.presentType = "html"; + this.args = [ + { + name: "Radius", + type: "number", + value: 2, + min: 1 + }, + { + name: "Amount", + type: "number", + value: 1, + min: 0, + step: 0.1 + }, + { + name: "Threshold", + type: "number", + value: 10, + min: 0, + max: 100 + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {byteArray} + */ + async run(input, args) { + const [radius, amount, threshold] = args; + + if (!isImage(input)) { + throw new OperationError("Invalid file type."); + } + + let image; + try { + image = await jimp.read(input); + } catch (err) { + throw new OperationError(`Error loading image. (${err})`); + } + + try { + if (isWorkerEnvironment()) + self.sendStatusMessage("Sharpening image... (Cloning image)"); + const blurMask = image.clone(); + + if (isWorkerEnvironment()) + self.sendStatusMessage("Sharpening image... (Blurring cloned image)"); + const blurImage = gaussianBlur(image.clone(), radius, 3); + + + if (isWorkerEnvironment()) + self.sendStatusMessage("Sharpening image... (Creating unsharp mask)"); + blurMask.scan(0, 0, blurMask.bitmap.width, blurMask.bitmap.height, function(x, y, idx) { + const blurRed = blurImage.bitmap.data[idx]; + const blurGreen = blurImage.bitmap.data[idx + 1]; + const blurBlue = blurImage.bitmap.data[idx + 2]; + + const normalRed = this.bitmap.data[idx]; + const normalGreen = this.bitmap.data[idx + 1]; + const normalBlue = this.bitmap.data[idx + 2]; + + // Subtract blurred pixel value from normal image + this.bitmap.data[idx] = (normalRed > blurRed) ? normalRed - blurRed : 0; + this.bitmap.data[idx + 1] = (normalGreen > blurGreen) ? normalGreen - blurGreen : 0; + this.bitmap.data[idx + 2] = (normalBlue > blurBlue) ? normalBlue - blurBlue : 0; + }); + + if (isWorkerEnvironment()) + self.sendStatusMessage("Sharpening image... (Merging with unsharp mask)"); + image.scan(0, 0, image.bitmap.width, image.bitmap.height, function(x, y, idx) { + let maskRed = blurMask.bitmap.data[idx]; + let maskGreen = blurMask.bitmap.data[idx + 1]; + let maskBlue = blurMask.bitmap.data[idx + 2]; + + const normalRed = this.bitmap.data[idx]; + const normalGreen = this.bitmap.data[idx + 1]; + const normalBlue = this.bitmap.data[idx + 2]; + + // Calculate luminance + const maskLuminance = (0.2126 * maskRed + 0.7152 * maskGreen + 0.0722 * maskBlue); + const normalLuminance = (0.2126 * normalRed + 0.7152 * normalGreen + 0.0722 * normalBlue); + + let luminanceDiff; + if (maskLuminance > normalLuminance) { + luminanceDiff = maskLuminance - normalLuminance; + } else { + luminanceDiff = normalLuminance - maskLuminance; + } + + // Scale mask colours by amount + maskRed = maskRed * amount; + maskGreen = maskGreen * amount; + maskBlue = maskBlue * amount; + + // Only change pixel value if the difference is higher than threshold + if ((luminanceDiff / 255) * 100 >= threshold) { + this.bitmap.data[idx] = (normalRed + maskRed) <= 255 ? normalRed + maskRed : 255; + this.bitmap.data[idx + 1] = (normalGreen + maskGreen) <= 255 ? normalGreen + maskGreen : 255; + this.bitmap.data[idx + 2] = (normalBlue + maskBlue) <= 255 ? normalBlue + maskBlue : 255; + } + }); + + let imageBuffer; + if (image.getMIME() === "image/gif") { + imageBuffer = await image.getBufferAsync(jimp.MIME_PNG); + } else { + imageBuffer = await image.getBufferAsync(jimp.AUTO); + } + return imageBuffer.buffer; + } catch (err) { + throw new OperationError(`Error sharpening image. (${err})`); + } + } + + /** + * Displays the sharpened image using HTML for web apps + * @param {ArrayBuffer} data + * @returns {html} + */ + present(data) { + if (!data.byteLength) return ""; + const dataArray = new Uint8Array(data); + + const type = isImage(dataArray); + if (!type) { + throw new OperationError("Invalid file type."); + } + + return ``; + } + +} + +export default SharpenImage; diff --git a/src/core/operations/ShowBase64Offsets.mjs b/src/core/operations/ShowBase64Offsets.mjs index d028400d..37d8a6ce 100644 --- a/src/core/operations/ShowBase64Offsets.mjs +++ b/src/core/operations/ShowBase64Offsets.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {fromBase64, toBase64} from "../lib/Base64"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {fromBase64, toBase64} from "../lib/Base64.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Show Base64 offsets operation diff --git a/src/core/operations/ShowOnMap.mjs b/src/core/operations/ShowOnMap.mjs new file mode 100644 index 00000000..9c81a27b --- /dev/null +++ b/src/core/operations/ShowOnMap.mjs @@ -0,0 +1,113 @@ +/** + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import {FORMATS, convertCoordinates} from "../lib/ConvertCoordinates.mjs"; +import OperationError from "../errors/OperationError.mjs"; + +/** + * Show on map operation + */ +class ShowOnMap extends Operation { + + /** + * ShowOnMap constructor + */ + constructor() { + super(); + + this.name = "Show on map"; + this.module = "Hashing"; + this.description = "Displays co-ordinates on a slippy map.

Co-ordinates will be converted to decimal degrees before being shown on the map.

Supported formats:
  • Degrees Minutes Seconds (DMS)
  • Degrees Decimal Minutes (DDM)
  • Decimal Degrees (DD)
  • Geohash
  • Military Grid Reference System (MGRS)
  • Ordnance Survey National Grid (OSNG)
  • Universal Transverse Mercator (UTM)

This operation will not work offline."; + this.infoURL = "https://foundation.wikimedia.org/wiki/Maps_Terms_of_Use"; + this.inputType = "string"; + this.outputType = "string"; + this.presentType = "html"; + this.args = [ + { + name: "Zoom Level", + type: "number", + value: 13 + }, + { + name: "Input Format", + type: "option", + value: ["Auto"].concat(FORMATS) + }, + { + name: "Input Delimiter", + type: "option", + value: [ + "Auto", + "Direction Preceding", + "Direction Following", + "\\n", + "Comma", + "Semi-colon", + "Colon" + ] + } + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + if (input.replace(/\s+/g, "") !== "") { + const inFormat = args[1], + inDelim = args[2]; + let latLong; + try { + latLong = convertCoordinates(input, inFormat, inDelim, "Decimal Degrees", "Comma", "None", 5); + } catch (error) { + throw new OperationError(error); + } + latLong = latLong.replace(/[,]$/, ""); + latLong = latLong.replace(/°/g, ""); + return latLong; + } + return input; + } + + /** + * @param {string} data + * @param {Object[]} args + * @returns {string} + */ + async present(data, args) { + if (data.replace(/\s+/g, "") === "") { + data = "0, 0"; + } + const zoomLevel = args[0]; + const tileUrl = "https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png", + tileAttribution = "
Wikimedia maps | © OpenStreetMap contributors", + leafletUrl = "https://unpkg.com/leaflet@1.5.0/dist/leaflet.js", + leafletCssUrl = "https://unpkg.com/leaflet@1.5.0/dist/leaflet.css"; + return ` + +
+`; + } +} + +export default ShowOnMap; diff --git a/src/core/operations/Sleep.mjs b/src/core/operations/Sleep.mjs index 4cd71bfe..1e7b657a 100644 --- a/src/core/operations/Sleep.mjs +++ b/src/core/operations/Sleep.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Sleep operation diff --git a/src/core/operations/Snefru.mjs b/src/core/operations/Snefru.mjs index b7cd65b5..520b3550 100644 --- a/src/core/operations/Snefru.mjs +++ b/src/core/operations/Snefru.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * Snefru operation diff --git a/src/core/operations/Sort.mjs b/src/core/operations/Sort.mjs index 7e024d45..84bce4c9 100644 --- a/src/core/operations/Sort.mjs +++ b/src/core/operations/Sort.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {INPUT_DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {INPUT_DELIM_OPTIONS} from "../lib/Delim.mjs"; /** * Sort operation diff --git a/src/core/operations/Split.mjs b/src/core/operations/Split.mjs index 1340a383..0da1f101 100644 --- a/src/core/operations/Split.mjs +++ b/src/core/operations/Split.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {SPLIT_DELIM_OPTIONS, JOIN_DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import {SPLIT_DELIM_OPTIONS, JOIN_DELIM_OPTIONS} from "../lib/Delim.mjs"; /** * Split operation diff --git a/src/core/operations/SplitColourChannels.mjs b/src/core/operations/SplitColourChannels.mjs index c38af409..e8d23ff0 100644 --- a/src/core/operations/SplitColourChannels.mjs +++ b/src/core/operations/SplitColourChannels.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; -import {isImage} from "../lib/FileType"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import {isImage} from "../lib/FileType.mjs"; import jimp from "jimp"; @@ -26,18 +26,19 @@ class SplitColourChannels extends Operation { this.module = "Image"; this.description = "Splits the given image into its red, green and blue colour channels."; this.infoURL = "https://wikipedia.org/wiki/Channel_(digital_image)"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "List"; this.presentType = "html"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {List} */ async run(input, args) { + input = new Uint8Array(input); // Make sure that the input is an image if (!isImage(input)) throw new OperationError("Invalid file type."); diff --git a/src/core/operations/StandardDeviation.mjs b/src/core/operations/StandardDeviation.mjs index d02bd93c..d0509dcd 100644 --- a/src/core/operations/StandardDeviation.mjs +++ b/src/core/operations/StandardDeviation.mjs @@ -6,9 +6,9 @@ */ import BigNumber from "bignumber.js"; -import Operation from "../Operation"; -import { stdDev, createNumArray } from "../lib/Arithmetic"; -import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import { stdDev, createNumArray } from "../lib/Arithmetic.mjs"; +import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim.mjs"; /** diff --git a/src/core/operations/Streebog.mjs b/src/core/operations/Streebog.mjs new file mode 100644 index 00000000..c5e5bb89 --- /dev/null +++ b/src/core/operations/Streebog.mjs @@ -0,0 +1,60 @@ +/** + * @author mshwed [m@ttshwed.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import GostDigest from "../vendor/gost/gostDigest.mjs"; +import {toHexFast} from "../lib/Hex.mjs"; + +/** + * Streebog operation + */ +class Streebog extends Operation { + + /** + * Streebog constructor + */ + constructor() { + super(); + + this.name = "Streebog"; + this.module = "Hashing"; + this.description = "Streebog is a cryptographic hash function defined in the Russian national standard GOST R 34.11-2012 Information Technology \u2013 Cryptographic Information Security \u2013 Hash Function. It was created to replace an obsolete GOST hash function defined in the old standard GOST R 34.11-94, and as an asymmetric reply to SHA-3 competition by the US National Institute of Standards and Technology."; + this.infoURL = "https://wikipedia.org/wiki/Streebog"; + this.inputType = "ArrayBuffer"; + this.outputType = "string"; + this.args = [ + { + "name": "Size", + "type": "option", + "value": ["256", "512"] + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + try { + const length = parseInt(args[0], 10); + const gostDigest = new GostDigest({ + name: "GOST R 34.11", + version: 2012, + length: length + }); + + return toHexFast(gostDigest.digest(input)); + } catch (err) { + throw new OperationError(err); + } + } + +} + +export default Streebog; diff --git a/src/core/operations/Strings.mjs b/src/core/operations/Strings.mjs index 11ffd3af..ddf1d49d 100644 --- a/src/core/operations/Strings.mjs +++ b/src/core/operations/Strings.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import XRegExp from "xregexp"; -import { search } from "../lib/Extract"; +import { search } from "../lib/Extract.mjs"; /** * Strings operation diff --git a/src/core/operations/StripHTMLTags.mjs b/src/core/operations/StripHTMLTags.mjs index f1b7b08e..6935c1c0 100644 --- a/src/core/operations/StripHTMLTags.mjs +++ b/src/core/operations/StripHTMLTags.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Strip HTML tags operation diff --git a/src/core/operations/StripHTTPHeaders.mjs b/src/core/operations/StripHTTPHeaders.mjs index 0473c2dd..e43360ed 100644 --- a/src/core/operations/StripHTTPHeaders.mjs +++ b/src/core/operations/StripHTTPHeaders.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Strip HTTP headers operation diff --git a/src/core/operations/Subsection.mjs b/src/core/operations/Subsection.mjs index 548780c8..86980e40 100644 --- a/src/core/operations/Subsection.mjs +++ b/src/core/operations/Subsection.mjs @@ -4,10 +4,9 @@ * @license Apache-2.0 */ -import XRegExp from "xregexp"; -import Operation from "../Operation"; -import Recipe from "../Recipe"; -import Dish from "../Dish"; +import Operation from "../Operation.mjs"; +import Recipe from "../Recipe.mjs"; +import Dish from "../Dish.mjs"; /** * Subsection operation @@ -22,7 +21,7 @@ class Subsection extends Operation { this.name = "Subsection"; this.flowControl = true; - this.module = "Regex"; + this.module = "Default"; this.description = "Select a part of the input data using a regular expression (regex), and run all subsequent operations on each match separately.

You can use up to one capture group, where the recipe will only be run on the data in the capture group. If there's more than one capture group, only the first one will be operated on."; this.infoURL = ""; this.inputType = "string"; @@ -87,7 +86,7 @@ class Subsection extends Operation { if (!caseSensitive) flags += "i"; if (global) flags += "g"; - const regex = new XRegExp(section, flags), + const regex = new RegExp(section, flags), recipe = new Recipe(); recipe.addOperations(subOpList); diff --git a/src/core/operations/Substitute.mjs b/src/core/operations/Substitute.mjs index 6b3a2e8b..39f13e89 100644 --- a/src/core/operations/Substitute.mjs +++ b/src/core/operations/Substitute.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Substitute operation diff --git a/src/core/operations/Subtract.mjs b/src/core/operations/Subtract.mjs index 10de142b..3d9cb176 100644 --- a/src/core/operations/Subtract.mjs +++ b/src/core/operations/Subtract.mjs @@ -6,9 +6,9 @@ */ import BigNumber from "bignumber.js"; -import Operation from "../Operation"; -import { sub, createNumArray } from "../lib/Arithmetic"; -import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import { sub, createNumArray } from "../lib/Arithmetic.mjs"; +import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim.mjs"; /** diff --git a/src/core/operations/Sum.mjs b/src/core/operations/Sum.mjs index 18504106..dd7ebd3b 100644 --- a/src/core/operations/Sum.mjs +++ b/src/core/operations/Sum.mjs @@ -6,9 +6,9 @@ */ import BigNumber from "bignumber.js"; -import Operation from "../Operation"; -import { sum, createNumArray } from "../lib/Arithmetic"; -import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import { sum, createNumArray } from "../lib/Arithmetic.mjs"; +import { ARITHMETIC_DELIM_OPTIONS } from "../lib/Delim.mjs"; /** diff --git a/src/core/operations/SwapEndianness.mjs b/src/core/operations/SwapEndianness.mjs index 02958414..872d3529 100644 --- a/src/core/operations/SwapEndianness.mjs +++ b/src/core/operations/SwapEndianness.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {toHex, fromHex} from "../lib/Hex"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {toHex, fromHex} from "../lib/Hex.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Swap endianness operation @@ -79,7 +79,7 @@ class SwapEndianness extends Operation { const word = data.slice(i, i + wordLength); // Pad word if too short - if (padIncompleteWords && word.length < wordLength){ + if (padIncompleteWords && word.length < wordLength) { for (j = word.length; j < wordLength; j++) { word.push(0); } diff --git a/src/core/operations/SymmetricDifference.mjs b/src/core/operations/SymmetricDifference.mjs index 249f8086..f9044769 100644 --- a/src/core/operations/SymmetricDifference.mjs +++ b/src/core/operations/SymmetricDifference.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Utils from "../Utils"; -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Utils from "../Utils.mjs"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Set Symmetric Difference operation diff --git a/src/core/operations/SyntaxHighlighter.mjs b/src/core/operations/SyntaxHighlighter.mjs index a3f2d273..b8c578d6 100644 --- a/src/core/operations/SyntaxHighlighter.mjs +++ b/src/core/operations/SyntaxHighlighter.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import hljs from "highlight.js"; /** diff --git a/src/core/operations/TCPIPChecksum.mjs b/src/core/operations/TCPIPChecksum.mjs index 1da73359..0e5c6c60 100644 --- a/src/core/operations/TCPIPChecksum.mjs +++ b/src/core/operations/TCPIPChecksum.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * TCP/IP Checksum operation @@ -22,17 +22,18 @@ class TCPIPChecksum extends Operation { this.module = "Crypto"; this.description = "Calculates the checksum for a TCP (Transport Control Protocol) or IP (Internet Protocol) header from an input of raw bytes."; this.infoURL = "https://wikipedia.org/wiki/IPv4_header_checksum"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); let csum = 0; for (let i = 0; i < input.length; i++) { diff --git a/src/core/operations/Tail.mjs b/src/core/operations/Tail.mjs index adbbbecc..8a29bb2d 100644 --- a/src/core/operations/Tail.mjs +++ b/src/core/operations/Tail.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {INPUT_DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {INPUT_DELIM_OPTIONS} from "../lib/Delim.mjs"; /** * Tail operation diff --git a/src/core/operations/TakeBytes.mjs b/src/core/operations/TakeBytes.mjs index 4bf6d951..431bbee1 100644 --- a/src/core/operations/TakeBytes.mjs +++ b/src/core/operations/TakeBytes.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * Take bytes operation diff --git a/src/core/operations/Tar.mjs b/src/core/operations/Tar.mjs index 84674bff..3078d959 100644 --- a/src/core/operations/Tar.mjs +++ b/src/core/operations/Tar.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Tar operation @@ -22,7 +22,7 @@ class Tar extends Operation { this.module = "Compression"; this.description = "Packs the input into a tarball.

No support for multiple files at this time."; this.infoURL = "https://wikipedia.org/wiki/Tar_(computing)"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "File"; this.args = [ { @@ -34,11 +34,13 @@ class Tar extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ run(input, args) { + input = new Uint8Array(input); + const Tarball = function() { this.bytes = new Array(512); this.position = 0; diff --git a/src/core/operations/TextEncodingBruteForce.mjs b/src/core/operations/TextEncodingBruteForce.mjs index ee5f70d3..e7e56b66 100644 --- a/src/core/operations/TextEncodingBruteForce.mjs +++ b/src/core/operations/TextEncodingBruteForce.mjs @@ -5,10 +5,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; import cptable from "../vendor/js-codepage/cptable.js"; -import {IO_FORMAT} from "../lib/ChrEnc"; +import {IO_FORMAT} from "../lib/ChrEnc.mjs"; /** * Text Encoding Brute Force operation @@ -79,7 +79,7 @@ class TextEncodingBruteForce extends Operation { let table = ""; for (const enc in encodings) { - const value = Utils.printable(encodings[enc], true); + const value = Utils.escapeHtml(Utils.printable(encodings[enc], true)); table += ``; } diff --git a/src/core/operations/ToBCD.mjs b/src/core/operations/ToBCD.mjs index c8fd0c89..3908742c 100644 --- a/src/core/operations/ToBCD.mjs +++ b/src/core/operations/ToBCD.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; -import {ENCODING_SCHEME, ENCODING_LOOKUP, FORMAT} from "../lib/BCD"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {ENCODING_SCHEME, ENCODING_LOOKUP, FORMAT} from "../lib/BCD.mjs"; import BigNumber from "bignumber.js"; /** diff --git a/src/core/operations/ToBase.mjs b/src/core/operations/ToBase.mjs index 93107903..09a91571 100644 --- a/src/core/operations/ToBase.mjs +++ b/src/core/operations/ToBase.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * To Base operation diff --git a/src/core/operations/ToBase32.mjs b/src/core/operations/ToBase32.mjs index fd0a6136..fd36f550 100644 --- a/src/core/operations/ToBase32.mjs +++ b/src/core/operations/ToBase32.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * To Base32 operation @@ -22,7 +22,7 @@ class ToBase32 extends Operation { this.module = "Default"; this.description = "Base32 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers. It uses a smaller set of characters than Base64, usually the uppercase alphabet and the numbers 2 to 7."; this.infoURL = "https://wikipedia.org/wiki/Base32"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -34,19 +34,19 @@ class ToBase32 extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { if (!input) return ""; + input = new Uint8Array(input); const alphabet = args[0] ? Utils.expandAlphRange(args[0]).join("") : "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="; let output = "", chr1, chr2, chr3, chr4, chr5, enc1, enc2, enc3, enc4, enc5, enc6, enc7, enc8, i = 0; - while (i < input.length) { chr1 = input[i++]; chr2 = input[i++]; @@ -77,7 +77,6 @@ class ToBase32 extends Operation { alphabet.charAt(enc4) + alphabet.charAt(enc5) + alphabet.charAt(enc6) + alphabet.charAt(enc7) + alphabet.charAt(enc8); } - return output; } diff --git a/src/core/operations/ToBase58.mjs b/src/core/operations/ToBase58.mjs index 3e2c6a60..5353c40e 100644 --- a/src/core/operations/ToBase58.mjs +++ b/src/core/operations/ToBase58.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; -import {ALPHABET_OPTIONS} from "../lib/Base58"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {ALPHABET_OPTIONS} from "../lib/Base58.mjs"; /** * To Base58 operation @@ -24,7 +24,7 @@ class ToBase58 extends Operation { this.module = "Default"; this.description = "Base58 (similar to Base64) is a notation for encoding arbitrary byte data. It differs from Base64 by removing easily misread characters (i.e. l, I, 0 and O) to improve human readability.

This operation encodes data in an ASCII string (with an alphabet of your choosing, presets included).

e.g. hello world becomes StV1DL6CwTryKyV

Base58 is commonly used in cryptocurrencies (Bitcoin, Ripple, etc)."; this.infoURL = "https://wikipedia.org/wiki/Base58"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -36,11 +36,12 @@ class ToBase58 extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); let alphabet = args[0] || ALPHABET_OPTIONS[0].value, result = [0]; diff --git a/src/core/operations/ToBase62.mjs b/src/core/operations/ToBase62.mjs index 51f89ecd..c5d2f35e 100644 --- a/src/core/operations/ToBase62.mjs +++ b/src/core/operations/ToBase62.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import BigNumber from "bignumber.js"; -import Utils from "../Utils"; -import {toHexFast} from "../lib/Hex"; +import Utils from "../Utils.mjs"; +import {toHexFast} from "../lib/Hex.mjs"; /** * To Base62 operation @@ -24,7 +24,7 @@ class ToBase62 extends Operation { this.module = "Default"; this.description = "Base62 is a notation for encoding arbitrary byte data using a restricted set of symbols that can be conveniently used by humans and processed by computers. The high number base results in shorter strings than with the decimal or hexadecimal system."; this.infoURL = "https://wikipedia.org/wiki/List_of_numeral_systems"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -36,11 +36,12 @@ class ToBase62 extends Operation { } /** - * @param {string} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); if (input.length < 1) return ""; const ALPHABET = Utils.expandAlphRange(args[0]).join(""); diff --git a/src/core/operations/ToBase64.mjs b/src/core/operations/ToBase64.mjs index cffc3140..53516a9f 100644 --- a/src/core/operations/ToBase64.mjs +++ b/src/core/operations/ToBase64.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {toBase64, ALPHABET_OPTIONS} from "../lib/Base64"; +import Operation from "../Operation.mjs"; +import {toBase64, ALPHABET_OPTIONS} from "../lib/Base64.mjs"; /** * To Base64 operation @@ -40,7 +40,7 @@ class ToBase64 extends Operation { */ run(input, args) { const alphabet = args[0]; - return toBase64(new Uint8Array(input), alphabet); + return toBase64(input, alphabet); } /** diff --git a/src/core/operations/ToBase85.mjs b/src/core/operations/ToBase85.mjs index 97cc2e72..839ef1e4 100644 --- a/src/core/operations/ToBase85.mjs +++ b/src/core/operations/ToBase85.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import Utils from "../Utils"; -import {alphabetName, ALPHABET_OPTIONS} from "../lib/Base85"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import {alphabetName, ALPHABET_OPTIONS} from "../lib/Base85.mjs"; /** * To Base85 operation @@ -24,7 +24,7 @@ class ToBase85 extends Operation { this.module = "Default"; this.description = "Base85 (also called Ascii85) is a notation for encoding arbitrary byte data. It is usually more efficient that Base64.

This operation encodes data in an ASCII string (with an alphabet of your choosing, presets included).

e.g. hello world becomes BOu!rD]j7BEbo7

Base85 is commonly used in Adobe's PostScript and PDF file formats.

Options
Alphabet
  • Standard - The standard alphabet, referred to as Ascii85
  • Z85 (ZeroMQ) - A string-safe variant of Base85, which avoids quote marks and backslash characters
  • IPv6 - A variant of Base85 suitable for encoding IPv6 addresses (RFC 1924)
Include delimiter
Adds a '<~' and '~>' delimiter to the start and end of the data. This is standard for Adobe's implementation of Base85."; this.infoURL = "https://wikipedia.org/wiki/Ascii85"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -41,11 +41,12 @@ class ToBase85 extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); const alphabet = Utils.expandAlphRange(args[0]).join(""), encoding = alphabetName(alphabet), includeDelim = args[1]; diff --git a/src/core/operations/ToBinary.mjs b/src/core/operations/ToBinary.mjs index af9087d1..95d004b0 100644 --- a/src/core/operations/ToBinary.mjs +++ b/src/core/operations/ToBinary.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {BIN_DELIM_OPTIONS} from "../lib/Delim"; -import {toBinary} from "../lib/Binary"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {BIN_DELIM_OPTIONS} from "../lib/Delim.mjs"; +import {toBinary} from "../lib/Binary.mjs"; /** * To Binary operation @@ -24,7 +24,7 @@ class ToBinary extends Operation { this.module = "Default"; this.description = "Displays the input data as a binary string.

e.g. Hi becomes 01001000 01101001"; this.infoURL = "https://wikipedia.org/wiki/Binary_code"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -36,11 +36,12 @@ class ToBinary extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); return toBinary(input, args[0]); } diff --git a/src/core/operations/ToBraille.mjs b/src/core/operations/ToBraille.mjs index 9530f9d3..fcf13de2 100644 --- a/src/core/operations/ToBraille.mjs +++ b/src/core/operations/ToBraille.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {BRAILLE_LOOKUP} from "../lib/Braille"; +import Operation from "../Operation.mjs"; +import {BRAILLE_LOOKUP} from "../lib/Braille.mjs"; /** * To Braille operation diff --git a/src/core/operations/ToCamelCase.mjs b/src/core/operations/ToCamelCase.mjs index 3553810e..8d7c5445 100644 --- a/src/core/operations/ToCamelCase.mjs +++ b/src/core/operations/ToCamelCase.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import camelCase from "lodash/camelCase"; -import Operation from "../Operation"; -import { replaceVariableNames } from "../lib/Code"; +import camelCase from "lodash/camelCase.js"; +import Operation from "../Operation.mjs"; +import { replaceVariableNames } from "../lib/Code.mjs"; /** * To Camel case operation diff --git a/src/core/operations/ToCaseInsensitiveRegex.mjs b/src/core/operations/ToCaseInsensitiveRegex.mjs index 0d606a05..28bd3dc9 100644 --- a/src/core/operations/ToCaseInsensitiveRegex.mjs +++ b/src/core/operations/ToCaseInsensitiveRegex.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * To Case Insensitive Regex operation diff --git a/src/core/operations/ToCharcode.mjs b/src/core/operations/ToCharcode.mjs index 11006685..5ad287e4 100644 --- a/src/core/operations/ToCharcode.mjs +++ b/src/core/operations/ToCharcode.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {DELIM_OPTIONS} from "../lib/Delim"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import { DELIM_OPTIONS } from "../lib/Delim.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; /** * To Charcode operation @@ -69,11 +70,11 @@ class ToCharcode extends Operation { else if (ordinal < 4294967296) padding = 8; else padding = 2; - if (padding > 2 && ENVIRONMENT_IS_WORKER()) self.setOption("attemptHighlight", false); + if (padding > 2 && isWorkerEnvironment()) self.setOption("attemptHighlight", false); output += Utils.hex(ordinal, padding) + delim; } else { - if (ENVIRONMENT_IS_WORKER()) self.setOption("attemptHighlight", false); + if (isWorkerEnvironment()) self.setOption("attemptHighlight", false); output += ordinal.toString(base) + delim; } } diff --git a/src/core/operations/ToDecimal.mjs b/src/core/operations/ToDecimal.mjs index 6df51ae2..65798a7c 100644 --- a/src/core/operations/ToDecimal.mjs +++ b/src/core/operations/ToDecimal.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {DELIM_OPTIONS} from "../lib/Delim.mjs"; /** @@ -23,7 +23,7 @@ class ToDecimal extends Operation { this.name = "To Decimal"; this.module = "Default"; this.description = "Converts the input data to an ordinal integer array.

e.g. Hello becomes 72 101 108 108 111"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -40,11 +40,12 @@ class ToDecimal extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); const delim = Utils.charRep(args[0]), signed = args[1]; if (signed) { diff --git a/src/core/operations/ToHTMLEntity.mjs b/src/core/operations/ToHTMLEntity.mjs index 53ec4e34..f2a57a43 100644 --- a/src/core/operations/ToHTMLEntity.mjs +++ b/src/core/operations/ToHTMLEntity.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * To HTML Entity operation @@ -19,7 +19,7 @@ class ToHTMLEntity extends Operation { super(); this.name = "To HTML Entity"; - this.module = "Default"; + this.module = "Encodings"; this.description = "Converts characters to HTML entities

e.g. & becomes &amp;"; this.infoURL = "https://wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references"; this.inputType = "string"; @@ -33,7 +33,7 @@ class ToHTMLEntity extends Operation { { "name": "Convert to", "type": "option", - "value": ["Named entities where possible", "Numeric entities", "Hex entities"] + "value": ["Named entities", "Numeric entities", "Hex entities"] } ]; } @@ -59,13 +59,13 @@ class ToHTMLEntity extends Operation { } else if (convertAll) { output += byteToEntity[charcodes[i]] || "&#" + charcodes[i] + ";"; } else if (numeric) { - if (charcodes[i] > 255 || byteToEntity.hasOwnProperty(charcodes[i])) { + if (charcodes[i] > 255 || charcodes[i] in byteToEntity) { output += "&#" + charcodes[i] + ";"; } else { output += Utils.chr(charcodes[i]); } } else if (hexa) { - if (charcodes[i] > 255 || byteToEntity.hasOwnProperty(charcodes[i])) { + if (charcodes[i] > 255 || charcodes[i] in byteToEntity) { output += "&#x" + Utils.hex(charcodes[i]) + ";"; } else { output += Utils.chr(charcodes[i]); @@ -87,11 +87,38 @@ class ToHTMLEntity extends Operation { * Lookup table to translate byte values to their HTML entity codes. */ const byteToEntity = { + 9: " ", + 10: " ", + 33: "!", 34: """, + 35: "#", + 36: "$", + 37: "%", 38: "&", 39: "'", + 40: "(", + 41: ")", + 42: "*", + 43: "+", + 44: ",", + 46: ".", + 47: "/", + 58: ":", + 59: ";", 60: "<", + 61: "=", 62: ">", + 63: "?", + 64: "@", + 91: "[", + 92: "\", + 93: "]", + 94: "^", + 95: "_", + 96: "`", + 123: "{", + 124: "|", + 125: "}", 160: " ", 161: "¡", 162: "¢", @@ -188,14 +215,139 @@ const byteToEntity = { 253: "ý", 254: "þ", 255: "ÿ", + 256: "Ā", + 257: "ā", + 258: "Ă", + 259: "ă", + 260: "Ą", + 261: "ą", + 262: "Ć", + 263: "ć", + 264: "Ĉ", + 265: "ĉ", + 266: "Ċ", + 267: "ċ", + 268: "Č", + 269: "č", + 270: "Ď", + 271: "ď", + 272: "Đ", + 273: "đ", + 274: "Ē", + 275: "ē", + 278: "Ė", + 279: "ė", + 280: "Ę", + 281: "ę", + 282: "Ě", + 283: "ě", + 284: "Ĝ", + 285: "ĝ", + 286: "Ğ", + 287: "ğ", + 288: "Ġ", + 289: "ġ", + 290: "Ģ", + 292: "Ĥ", + 293: "ĥ", + 294: "Ħ", + 295: "ħ", + 296: "Ĩ", + 297: "ĩ", + 298: "Ī", + 299: "ī", + 302: "Į", + 303: "į", + 304: "İ", + 305: "ı", + 306: "IJ", + 307: "ij", + 308: "Ĵ", + 309: "ĵ", + 310: "Ķ", + 311: "ķ", + 312: "ĸ", + 313: "Ĺ", + 314: "ĺ", + 315: "Ļ", + 316: "ļ", + 317: "Ľ", + 318: "ľ", + 319: "Ŀ", + 320: "ŀ", + 321: "Ł", + 322: "ł", + 323: "Ń", + 324: "ń", + 325: "Ņ", + 326: "ņ", + 327: "Ň", + 328: "ň", + 329: "ʼn", + 330: "Ŋ", + 331: "ŋ", + 332: "Ō", + 333: "ō", + 336: "Ő", + 337: "ő", 338: "Œ", 339: "œ", + 340: "Ŕ", + 341: "ŕ", + 342: "Ŗ", + 343: "ŗ", + 344: "Ř", + 345: "ř", + 346: "Ś", + 347: "ś", + 348: "Ŝ", + 349: "ŝ", + 350: "Ş", + 351: "ş", 352: "Š", 353: "š", + 354: "Ţ", + 355: "ţ", + 356: "Ť", + 357: "ť", + 358: "Ŧ", + 359: "ŧ", + 360: "Ũ", + 361: "ũ", + 362: "Ū", + 363: "ū", + 364: "Ŭ", + 365: "ŭ", + 366: "Ů", + 367: "ů", + 368: "Ű", + 369: "ű", + 370: "Ų", + 371: "ų", + 372: "Ŵ", + 373: "ŵ", + 374: "Ŷ", + 375: "ŷ", 376: "Ÿ", + 377: "Ź", + 378: "ź", + 379: "Ż", + 380: "ż", + 381: "Ž", + 382: "ž", 402: "ƒ", + 437: "Ƶ", + 501: "ǵ", + 567: "ȷ", 710: "ˆ", + 711: "ˇ", + 728: "˘", + 729: "˙", + 730: "˚", + 731: "˛", 732: "˜", + 785: "̑", + 818: "_", 913: "Α", 914: "Β", 915: "Γ", @@ -247,16 +399,124 @@ const byteToEntity = { 969: "ω", 977: "ϑ", 978: "ϒ", + 981: "ϕ", 982: "ϖ", + 988: "Ϝ", + 989: "ϝ", + 1008: "ϰ", + 1009: "ϱ", + 1013: "ε,", + 1014: "϶", + 1025: "Ё", + 1026: "Ђ", + 1027: "Ѓ", + 1028: "Є", + 1029: "Ѕ", + 1030: "І", + 1031: "Ї", + 1032: "Ј", + 1033: "Љ", + 1034: "Њ", + 1035: "Ћ", + 1036: "Ќ", + 1038: "Ў", + 1039: "Џ", + 1040: "А", + 1041: "Б", + 1042: "В", + 1043: "Г", + 1044: "Д", + 1045: "Е", + 1046: "Ж", + 1047: "З", + 1048: "И", + 1049: "Й", + 1050: "К", + 1051: "Л", + 1052: "М", + 1053: "Н", + 1054: "О", + 1055: "П", + 1056: "Р", + 1057: "С", + 1058: "Т", + 1059: "У", + 1060: "Ф", + 1061: "Х", + 1062: "Ц", + 1063: "Ч", + 1064: "Ш", + 1065: "Щ", + 1066: "Ъ", + 1067: "Ы", + 1068: "Ь", + 1069: "Э", + 1070: "Ю", + 1071: "Я", + 1072: "а", + 1073: "б", + 1074: "в", + 1075: "г", + 1076: "д", + 1077: "е", + 1078: "ж", + 1079: "з", + 1080: "и", + 1081: "й", + 1082: "к", + 1083: "л", + 1084: "м", + 1085: "н", + 1086: "о", + 1087: "п", + 1088: "р", + 1089: "с", + 1090: "т", + 1091: "у", + 1092: "ф", + 1093: "х", + 1094: "ц", + 1095: "ч", + 1096: "ш", + 1097: "щ", + 1098: "ъ", + 1099: "ы", + 1100: "ь", + 1101: "э", + 1102: "ю", + 1103: "я", + 1105: "ё", + 1106: "ђ", + 1107: "ѓ", + 1108: "є", + 1109: "ѕ", + 1110: "і", + 1111: "ї", + 1112: "ј", + 1113: "љ", + 1114: "њ", + 1115: "ћ", + 1116: "ќ", + 1118: "ў", + 1119: "џ", 8194: " ", 8195: " ", + 8196: " ", + 8197: " ", + 8199: " ", + 8200: " ", 8201: " ", + 8202: " ", + 8203: "​", 8204: "‌", 8205: "‍", 8206: "‎", 8207: "‏", + 8208: "‐", 8211: "–", 8212: "—", + 8213: "―", + 8214: "‖", 8216: "‘", 8217: "’", 8218: "‚", @@ -266,81 +526,987 @@ const byteToEntity = { 8224: "†", 8225: "‡", 8226: "•", + 8229: "‥", 8230: "…", 8240: "‰", + 8241: "‱", 8242: "′", 8243: "″", + 8244: "‴", + 8245: "‵", 8249: "‹", 8250: "›", 8254: "‾", + 8257: "⁁", + 8259: "⁃", 8260: "⁄", + 8271: "⁏", + 8279: "⁗", + 8287: " ", + 8288: "⁠", + 8289: "⁡", + 8290: "⁢", + 8291: "⁣", 8364: "€", + 8411: "⃛", + 8412: "⃜", + 8450: "ℂ", + 8453: "℅", + 8458: "ℊ", + 8459: "ℋ", + 8460: "ℌ", + 8461: "ℍ", + 8462: "ℎ", + 8463: "ℏ", + 8464: "ℐ", 8465: "ℑ", + 8466: "ℒ", + 8467: "ℓ", + 8469: "ℕ", + 8470: "№", + 8471: "℗", 8472: "℘", + 8473: "ℙ", + 8474: "ℚ", + 8475: "ℛ", 8476: "ℜ", + 8477: "ℝ", + 8478: "℞", 8482: "™", + 8484: "ℤ", + 8486: "Ω", + 8487: "℧", + 8488: "ℨ", + 8489: "℩", + 8491: "Å", + 8492: "ℬ", + 8493: "ℭ", + 8495: "ℯ", + 8496: "ℰ", + 8497: "ℱ", + 8499: "ℳ", + 8500: "ℴ", 8501: "ℵ", + 8502: "ℶ", + 8503: "ℷ", + 8504: "ℸ", + 8517: "ⅅ", + 8518: "ⅆ", + 8519: "ⅇ", + 8520: "ⅈ", + 8531: "⅓", + 8532: "⅔", + 8533: "⅕", + 8534: "⅖", + 8535: "⅗", + 8536: "⅘", + 8537: "⅙", + 8538: "⅚", + 8539: "⅛", + 8540: "⅜", + 8541: "⅝", + 8542: "⅞", 8592: "←", 8593: "↑", 8594: "→", 8595: "↓", 8596: "↔", + 8597: "↕", + 8598: "↖", + 8599: "↗", + 8600: "↘", + 8601: "↙", + 8602: "↚", + 8603: "↛", + 8605: "↝", + 8606: "↞", + 8607: "↟", + 8608: "↠", + 8609: "↡", + 8610: "↢", + 8611: "↣", + 8612: "↤", + 8613: "↥", + 8614: "↦", + 8615: "↧", + 8617: "↩", + 8618: "↪", + 8619: "↫", + 8620: "↬", + 8621: "↭", + 8622: "↮", + 8624: "↰", + 8625: "↱", + 8626: "↲", + 8627: "↳", 8629: "↵", + 8630: "↶", + 8631: "↷", + 8634: "↺", + 8635: "↻", + 8636: "↼", + 8637: "↽", + 8638: "↾", + 8639: "↿", + 8640: "⇀", + 8641: "⇁", + 8642: "⇂", + 8643: "⇃", + 8644: "⇄", + 8645: "⇅", + 8646: "⇆", + 8647: "⇇", + 8648: "⇈", + 8649: "⇉", + 8650: "⇊", + 8651: "⇋", + 8652: "⇌;", + 8653: "⇍", + 8654: "⇎", + 8655: "⇏", 8656: "⇐", 8657: "⇑", 8658: "⇒", 8659: "⇓", 8660: "⇔", + 8661: "⇕", + 8662: "⇖", + 8663: "⇗", + 8664: "⇘", + 8665: "⇙", + 8666: "⇚", + 8667: "⇛", + 8669: "⇝", + 8676: "⇤", + 8677: "⇥", + 8693: "⇵", + 8701: "⇽", + 8702: "⇾", + 8703: "⇿", 8704: "∀", + 8705: "∁", 8706: "∂", 8707: "∃", + 8708: "∄", 8709: "∅", 8711: "∇", 8712: "∈", 8713: "∉", 8715: "∋", + 8716: "∌", 8719: "∏", + 8720: "∐", 8721: "∑", 8722: "−", + 8723: "∓", + 8724: "∔", + 8726: "∖", 8727: "∗", + 8728: "∘", 8730: "√", 8733: "∝", 8734: "∞", + 8735: "∟", 8736: "∠", + 8737: "∡", + 8738: "∢", + 8739: "∣", + 8740: "∤", + 8741: "∥", + 8742: "∦", 8743: "∧", 8744: "∨", 8745: "∩", 8746: "∪", 8747: "∫", + 8748: "∬", + 8749: "∭", + 8750: "∮", + 8751: "∯", + 8752: "∰", + 8753: "∱", + 8754: "∲", + 8755: "∳", 8756: "∴", + 8757: "∵", + 8758: "∶", + 8759: "∷", + 8760: "∸", + 8762: "∺", + 8763: "∻", 8764: "∼", + 8765: "∽", + 8766: "∾", + 8767: "∿", + 8768: "≀", + 8769: "≁", + 8770: "≂", + 8771: "≃", + 8772: "≄", 8773: "≅", + 8774: "≆", + 8775: "≇", 8776: "≈", + 8777: "≉", + 8778: "≊", + 8779: "≋", + 8780: "≌", + 8781: "≍", + 8782: "≎", + 8783: "≏", + 8784: "≐", + 8785: "≑", + 8786: "≒", + 8787: "≓", + 8788: "≔", + 8789: "≕", + 8790: "≖", + 8791: "≗", + 8793: "≙", + 8794: "≚", + 8796: "≜", + 8799: "≟", 8800: "≠", 8801: "≡", + 8802: "≢", 8804: "≤", 8805: "≥", + 8806: "≦", + 8807: "≧", + 8808: "≨", + 8809: "≩", + 8810: "≪", + 8811: "≫", + 8812: "≬", + 8813: "≭", + 8814: "≮", + 8815: "≯", + 8816: "≰", + 8817: "≱;", + 8818: "≲", + 8819: "≳", + 8820: "≴", + 8821: "≵", + 8822: "≶", + 8823: "≷", + 8824: "≸", + 8825: "≹", + 8826: "≺", + 8827: "≻", + 8828: "≼", + 8829: "≽", + 8830: "≾", + 8831: "≿", + 8832: "⊀", + 8833: "⊁", 8834: "⊂", 8835: "⊃", 8836: "⊄", + 8837: "⊅", 8838: "⊆", 8839: "⊇", + 8840: "⊈", + 8841: "⊉", + 8842: "⊊", + 8843: "⊋", + 8845: "⊍", + 8846: "⊎", + 8847: "⊏", + 8848: "⊐", + 8849: "⊑", + 8850: "⊒", + 8851: "⊓", + 8852: "⊔", 8853: "⊕", + 8854: "⊖", 8855: "⊗", + 8856: "⊘", + 8857: "⊙", + 8858: "⊚", + 8859: "⊛", + 8861: "⊝", + 8862: "⊞", + 8863: "⊟", + 8864: "⊠", + 8865: "⊡", + 8866: "⊢", + 8867: "⊣", + 8868: "⊤", 8869: "⊥", + 8871: "⊧", + 8872: "⊨", + 8873: "⊩", + 8874: "⊪", + 8875: "⊫", + 8876: "⊬", + 8877: "⊭", + 8878: "⊮", + 8879: "⊯", + 8880: "⊰", + 8882: "⊲", + 8883: "⊳", + 8884: "⊴", + 8885: "⊵", + 8886: "⊶", + 8887: "⊷", + 8888: "⊸", + 8889: "⊹", + 8890: "⊺", + 8891: "⊻", + 8893: "⊽", + 8894: "⊾", + 8895: "⊿", + 8896: "⋀", + 8897: "⋁", + 8898: "⋂", + 8899: "⋃", + 8900: "⋄", 8901: "⋅", + 8902: "⋆", + 8903: "⋇", + 8904: "⋈", + 8905: "⋉", + 8906: "⋊", + 8907: "⋋", + 8908: "⋌", + 8909: "⋍", + 8910: "⋎", + 8911: "⋏", + 8912: "⋐", + 8913: "⋑", + 8914: "⋒", + 8915: "⋓", + 8916: "⋔", + 8917: "⋕", + 8918: "⋖", + 8919: "⋗", + 8920: "⋘", + 8921: "⋙", + 8922: "⋚", + 8923: "⋛", + 8926: "⋞", + 8927: "⋟", + 8928: "⋠", + 8929: "⋡", + 8930: "⋢", + 8931: "⋣", + 8934: "⋦", + 8935: "⋧", + 8936: "⋨", + 8937: "⋩", + 8938: "⋪", + 8939: "⋫", + 8940: "⋬", + 8941: "⋭", 8942: "⋮", + 8943: "⋯", + 8944: "⋰", + 8945: "⋱", + 8946: "⋲", + 8947: "⋳", + 8948: "⋴", + 8949: "⋵", + 8950: "⋶", + 8951: "⋷", + 8953: "⋹", + 8954: "⋺", + 8955: "⋻", + 8956: "⋼", + 8957: "⋽", + 8958: "⋾", + 8965: "⌅", + 8966: "⌆", 8968: "⌈", 8969: "⌉", 8970: "⌊", 8971: "⌋", + 8972: "⌌", + 8973: "⌍", + 8974: "⌎", + 8975: "⌏", + 8976: "⌐", + 8978: "⌒", + 8979: "⌓", + 8981: "⌕", + 8982: "⌖", + 8988: "⌜", + 8989: "⌝", + 8990: "⌞", + 8991: "⌟", + 8994: "⌢", + 8995: "⌣", 9001: "⟨", 9002: "⟩", + 9005: "⌭", + 9006: "⌮", + 9014: "⌶", + 9021: "⌽", + 9023: "⌿", + 9084: "⍼", + 9136: "⎰", + 9137: "⎱", + 9140: "⎴", + 9141: "⎵", + 9142: "⎶", + 9180: "⏜", + 9181: "⏝", + 9182: "⏞", + 9183: "⏟", + 9186: "⏢", + 9191: "⏧", + 9251: "␣", + 9416: "Ⓢ", + 9472: "─", + 9474: "│", + 9484: "┌", + 9488: "┐", + 9492: "└", + 9496: "┘", + 9500: "├", + 9508: "┤", + 9516: "┬", + 9524: "┴", + 9532: "┼", + 9552: "═", + 9553: "║", + 9554: "╒", + 9555: "╓", + 9556: "╔", + 9557: "╕", + 9558: "╖", + 9559: "╗", + 9560: "╘", + 9561: "╙", + 9562: "╚", + 9563: "╛", + 9564: "╜", + 9565: "╝", + 9566: "╞", + 9567: "╟", + 9568: "╠", + 9569: "╡", + 9570: "╢", + 9571: "╣", + 9572: "╤", + 9573: "╥", 9674: "◊", + 9675: "○", + 9708: "◬", + 9711: "◯", + 9720: "◸", + 9721: "◹", + 9722: "◺", + 9723: "◻", + 9724: "◼", + 9733: "★", + 9734: "☆", + 9742: "☎", + 9792: "♀", + 9794: "♂", 9824: "♠", 9827: "♣", 9829: "♥", 9830: "♦", + 9834: "♪", + 9837: "♭", + 9838: "♮", + 9839: "♯", + 10003: "✓", + 10007: "✗", + 10016: "✠", + 10038: "✶", + 10072: "❘", + 10098: "❲", + 10099: "❳", + 10214: "⟦", + 10215: "⟧", + 10216: "⟨", + 10217: "⟩", + 10218: "⟪", + 10219: "⟫", + 10220: "⟬", + 10221: "⟭", + 10229: "⟵", + 10230: "⟶", + 10231: "⟷", + 10232: "⟸", + 10233: "⟹", + 10234: "⟺", + 10236: "⟼", + 10239: "⟿", + 10498: "⤂", + 10499: "⤃", + 10500: "⤄", + 10501: "⤅", + 10508: "⤌", + 10509: "⤍", + 10510: "⤎", + 10511: "⤏", + 10512: "⤐", + 10513: "⤑", + 10514: "⤒", + 10515: "⤓", + 10518: "⤖", + 10521: "⤙", + 10522: "⤚", + 10523: "⤛", + 10524: "⤜", + 10525: "⤝", + 10526: "⤞", + 10527: "⤟", + 10528: "⤠", + 10531: "⤣", + 10532: "⤤", + 10533: "⤥", + 10534: "⤦", + 10535: "⤧", + 10536: "⤨", + 10537: "⤩", + 10538: "⤪", + 10547: "⤳", + 10549: "⤵", + 10550: "⤶", + 10551: "⤷", + 10552: "⤸", + 10553: "⤹", + 10556: "⤼", + 10557: "⤽", + 10565: "⥅", + 10568: "⥈", + 10569: "⥉", + 10570: "⥊", + 10571: "⥋", + 10574: "⥎", + 10575: "⥏", + 10576: "⥐", + 10577: "⥑", + 10578: "⥒", + 10579: "⥓", + 10580: "⥔", + 10581: "⥕", + 10582: "⥖", + 10583: "⥗", + 10584: "⥘", + 10585: "⥙", + 10586: "⥚", + 10587: "⥛", + 10588: "⥜", + 10589: "⥝", + 10590: "⥞", + 10591: "⥟", + 10592: "⥠", + 10593: "⥡", + 10594: "⥢", + 10595: "⥣", + 10596: "⥤", + 10597: "⥥", + 10598: "⥦", + 10599: "⥧", + 10600: "⥨", + 10601: "⥩", + 10602: "⥪", + 10603: "⥫", + 10604: "⥬", + 10605: "⥭", + 10606: "⥮", + 10607: "⥯", + 10608: "⥰", + 10609: "⥱", + 10610: "⥲", + 10611: "⥳", + 10612: "⥴", + 10613: "⥵", + 10614: "⥶", + 10616: "⥸", + 10617: "⥹", + 10619: "⥻", + 10620: "⥼", + 10621: "⥽", + 10622: "⥾", + 10623: "⥿", + 10629: "⦅", + 10630: "⦆", + 10635: "⦋", + 10636: "⦌", + 10637: "⦍", + 10638: "⦎", + 10639: "⦏", + 10640: "⦐", + 10641: "⦑", + 10642: "⦒", + 10643: "⦓", + 10644: "⦔", + 10645: "⦕", + 10646: "⦖", + 10650: "⦚", + 10652: "⦜", + 10653: "⦝", + 10660: "⦤", + 10661: "⦥", + 10662: "⦦", + 10663: "⦧", + 10664: "⦨", + 10665: "⦩", + 10666: "⦪", + 10667: "⦫", + 10668: "⦬", + 10669: "⦭", + 10670: "⦮", + 10671: "⦯", + 10672: "⦰", + 10673: "⦱", + 10674: "⦲", + 10675: "⦳", + 10676: "⦴", + 10677: "⦵", + 10678: "⦶", + 10679: "⦷", + 10681: "⦹", + 10683: "⦻", + 10684: "⦼", + 10686: "⦾", + 10687: "⦿", + 10688: "⧀", + 10689: "⧁", + 10690: "⧂", + 10691: "⧃", + 10692: "⧄", + 10693: "⧅", + 10697: "⧉", + 10701: "⧍", + 10702: "⧎", + 10703: "⧏", + 10704: "⧐", + 10714: "∽̱", + 10716: "⧜", + 10717: "⧝", + 10718: "⧞", + 10723: "⧣", + 10724: "⧤", + 10725: "⧥", + 10731: "⧫", + 10740: "⧴", + 10742: "⧶", + 10752: "⨀", + 10753: "⨁", + 10754: "⨂", + 10756: "⨄", + 10758: "⨆", + 10764: "⨌", + 10765: "⨍", + 10768: "⨐", + 10769: "⨑", + 10770: "⨒", + 10771: "⨓", + 10772: "⨔", + 10773: "⨕", + 10774: "⨖", + 10775: "⨗", + 10786: "⨢", + 10787: "⨣", + 10788: "⨤", + 10789: "⨥", + 10790: "⨦", + 10791: "⨧", + 10793: "⨩", + 10794: "⨪", + 10797: "⨭", + 10798: "⨮", + 10799: "⨯", + 10800: "⨰", + 10801: "⨱", + 10803: "⨳", + 10804: "⨴", + 10805: "⨵", + 10806: "⨶", + 10807: "⨷", + 10808: "⨸", + 10809: "⨹", + 10810: "⨺", + 10811: "⨻", + 10812: "⨼", + 10815: "⨿", + 10816: "⩀", + 10818: "⩂", + 10819: "⩃", + 10820: "⩄", + 10821: "⩅", + 10822: "⩆", + 10823: "⩇", + 10824: "⩈", + 10825: "⩉", + 10826: "⩊", + 10827: "⩋", + 10828: "⩌", + 10829: "⩍", + 10832: "⩐", + 10835: "⩓", + 10836: "⩔", + 10837: "⩕", + 10838: "⩖", + 10839: "⩗", + 10840: "⩘", + 10842: "⩚", + 10843: "⩛", + 10844: "⩜", + 10845: "⩝", + 10847: "⩟", + 10854: "⩦", + 10858: "⩪", + 10861: "⩭", + 10862: "⩮", + 10863: "⩯", + 10864: "⩰", + 10865: "⩱", + 10866: "⩲", + 10867: "⩳", + 10868: "⩴", + 10869: "⩵", + 10871: "⩷", + 10872: "⩸", + 10873: "⩹", + 10874: "⩺", + 10875: "⩻", + 10876: "⩼", + 10877: "⩽", + 10878: "⩾", + 10879: "⩿", + 10880: "⪀", + 10881: "⪁", + 10882: "⪂", + 10883: "⪃", + 10884: "⪄", + 10885: "⪅", + 10886: "⪆", + 10887: "⪇", + 10888: "⪈", + 10889: "⪉", + 10890: "⪊", + 10891: "⪋", + 10892: "⪌", + 10893: "⪍", + 10894: "⪎", + 10895: "⪏", + 10896: "⪐", + 10897: "⪑", + 10898: "⪒", + 10899: "⪓", + 10900: "⪔", + 10901: "⪕", + 10902: "⪖", + 10903: "⪗", + 10904: "⪘", + 10905: "⪙", + 10906: "⪚", + 10909: "⪝", + 10910: "⪞", + 10911: "⪟", + 10912: "⪠", + 10913: "⪡", + 10914: "⪢", + 10916: "⪤", + 10917: "⪥", + 10918: "⪦", + 10919: "⪧", + 10920: "⪨", + 10921: "⪩", + 10922: "⪪", + 10923: "⪫", + 10924: "⪬", + 10925: "⪭", + 10926: "⪮", + 10927: "⪯", + 10928: "⪰", + 10931: "⪳", + 10932: "⪴", + 10933: "⪵", + 10934: "⪶", + 10935: "⪷", + 10936: "⪸", + 10937: "⪹", + 10938: "⪺", + 10939: "⪻", + 10940: "⪼", + 10941: "⪽", + 10942: "⪾", + 10943: "⪿", + 10944: "⫀", + 10945: "⫁", + 10946: "⫂", + 10947: "⫃", + 10948: "⫄", + 10949: "⫅", + 10950: "⫆", + 10951: "⫇", + 10952: "⫈", + 10955: "⫋", + 10956: "⫌", + 10959: "⫏", + 10960: "⫐", + 10961: "⫑", + 10962: "⫒", + 10963: "⫓", + 10964: "⫔", + 10965: "⫕", + 10966: "⫖", + 10967: "⫗", + 10968: "⫘", + 10969: "⫙", + 10970: "⫚", + 10971: "⫛", + 10980: "⫤", + 10982: "⫦", + 10983: "⫧", + 10984: "⫨", + 10985: "⫩", + 10987: "⫫", + 10988: "⫬", + 10989: "⫭", + 10990: "⫮", + 10991: "⫯", + 10992: "⫰", + 10993: "⫱", + 10994: "⫲", + 10995: "⫳", + 11005: "⫽", + 64256: "ff", + 64257: "fi", + 64258: "fl", + 64259: "ffi", + 64260: "ffl", + 119964: "𝒜", + 119966: "𝒞", + 119967: "𝒟", + 119970: "𝒢", + 119973: "𝒥", + 119974: "𝒦", + 119977: "𝒩", + 119978: "𝒪", + 119979: "𝒫", + 119980: "𝒬", + 119982: "𝒮", + 119983: "𝒯", + 119984: "𝒰", + 119985: "𝒱", + 119986: "𝒲", + 119987: "𝒳", + 119988: "𝒴", + 119989: "𝒵", + 119990: "𝒶", + 119991: "𝒷", + 119992: "𝒸", + 119993: "𝒹", + 119995: "𝒻", + 119997: "𝒽", + 119998: "𝒾", + 119999: "𝒿", + 120000: "𝓀", + 120001: "𝓁", + 120002: "𝓂", + 120003: "𝓃", + 120005: "𝓅", + 120006: "𝓆", + 120007: "𝓇", + 120008: "𝓈", + 120009: "𝓉", + 120010: "𝓊", + 120011: "𝓋", + 120012: "𝓌", + 120013: "𝓍", + 120014: "𝓎", + 120015: "𝓏", + 120068: "𝔄", + 120069: "𝔅", + 120071: "𝔇", + 120072: "𝔈", + 120073: "𝔉", + 120074: "𝔊", + 120077: "𝔍", + 120078: "𝔎", + 120079: "𝔏", + 120080: "𝔐", + 120081: "𝔑", + 120082: "𝔒", + 120083: "𝔓", + 120084: "𝔔", + 120086: "𝔖", + 120087: "𝔗", + 120088: "𝔘", + 120089: "𝔙", + 120090: "𝔚", + 120091: "𝔛", + 120092: "𝔜", + 120094: "𝔞", + 120095: "𝔟", + 120096: "𝔠", + 120097: "𝔡", + 120098: "𝔢", + 120099: "𝔣", + 120100: "𝔤", + 120101: "𝔥", + 120102: "𝔦", + 120103: "𝔧", + 120104: "𝔨", + 120105: "𝔩", + 120106: "𝔪", + 120107: "𝔫", + 120108: "𝔬", + 120109: "𝔭", + 120110: "𝔮", + 120111: "𝔯", + 120112: "𝔰", + 120113: "𝔱", + 120114: "𝔲", + 120115: "𝔳", + 120116: "𝔴", + 120117: "𝔵", + 120118: "𝔶", + 120119: "𝔷", + 120120: "𝔸", + 120121: "𝔹", + 120123: "𝔻", + 120124: "𝔼", + 120125: "𝔽", + 120126: "𝔾", + 120128: "𝕀", + 120129: "𝕁", + 120130: "𝕂", + 120131: "𝕃", + 120132: "𝕄", + 120134: "𝕆", + 120138: "𝕊", + 120139: "𝕋", + 120140: "𝕌", + 120141: "𝕍", + 120142: "𝕎", + 120143: "𝕏", + 120144: "𝕐", + 120146: "𝕒", + 120147: "𝕓", + 120148: "𝕔", + 120149: "𝕕", + 120150: "𝕖", + 120151: "𝕗", + 120152: "𝕘", + 120153: "𝕙", + 120154: "𝕚", + 120155: "𝕛", + 120156: "𝕜", + 120157: "𝕝", + 120158: "𝕞", + 120159: "𝕟", + 120160: "𝕠", + 120161: "𝕡", + 120162: "𝕢", + 120163: "𝕣", + 120164: "𝕤", + 120165: "𝕥", + 120166: "𝕦", + 120167: "𝕧", + 120168: "𝕨", + 120169: "𝕩", + 120170: "𝕪", + 120171: "𝕫" }; export default ToHTMLEntity; diff --git a/src/core/operations/ToHex.mjs b/src/core/operations/ToHex.mjs index a7035d4f..6ae48da9 100644 --- a/src/core/operations/ToHex.mjs +++ b/src/core/operations/ToHex.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {toHex, TO_HEX_DELIM_OPTIONS} from "../lib/Hex"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import {toHex, TO_HEX_DELIM_OPTIONS} from "../lib/Hex.mjs"; +import Utils from "../Utils.mjs"; /** * To Hex operation diff --git a/src/core/operations/ToHexContent.mjs b/src/core/operations/ToHexContent.mjs index 653c2224..9af09f24 100644 --- a/src/core/operations/ToHexContent.mjs +++ b/src/core/operations/ToHexContent.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {toHex} from "../lib/Hex"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {toHex} from "../lib/Hex.mjs"; /** * To Hex Content operation @@ -23,7 +23,7 @@ class ToHexContent extends Operation { this.module = "Default"; this.description = "Converts special characters in a string to hexadecimal. This format is used by SNORT for representing hex within ASCII text.

e.g. foo=bar becomes foo|3d|bar."; this.infoURL = "http://manual-snort-org.s3-website-us-east-1.amazonaws.com/node32.html#SECTION00451000000000000000"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -40,11 +40,12 @@ class ToHexContent extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); const convert = args[0]; const spaces = args[1]; if (convert === "All chars") { diff --git a/src/core/operations/ToHexdump.mjs b/src/core/operations/ToHexdump.mjs index 0fbec5ce..ffe7131c 100644 --- a/src/core/operations/ToHexdump.mjs +++ b/src/core/operations/ToHexdump.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * To Hexdump operation diff --git a/src/core/operations/ToKebabCase.mjs b/src/core/operations/ToKebabCase.mjs index b7a15497..27a8ecac 100644 --- a/src/core/operations/ToKebabCase.mjs +++ b/src/core/operations/ToKebabCase.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import kebabCase from "lodash/kebabCase"; -import Operation from "../Operation"; -import { replaceVariableNames } from "../lib/Code"; +import kebabCase from "lodash/kebabCase.js"; +import Operation from "../Operation.mjs"; +import { replaceVariableNames } from "../lib/Code.mjs"; /** * To Kebab case operation diff --git a/src/core/operations/ToLowerCase.mjs b/src/core/operations/ToLowerCase.mjs index f28380bc..82a99a48 100644 --- a/src/core/operations/ToLowerCase.mjs +++ b/src/core/operations/ToLowerCase.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * To Lower case operation diff --git a/src/core/operations/ToMessagePack.mjs b/src/core/operations/ToMessagePack.mjs index 3de1daa7..b56e408d 100644 --- a/src/core/operations/ToMessagePack.mjs +++ b/src/core/operations/ToMessagePack.mjs @@ -4,9 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import notepack from "notepack.io"; +import { isWorkerEnvironment } from "../Utils.mjs"; /** * To MessagePack operation @@ -35,7 +36,7 @@ class ToMessagePack extends Operation { */ run(input, args) { try { - if (ENVIRONMENT_IS_WORKER()) { + if (isWorkerEnvironment()) { return notepack.encode(input); } else { const res = notepack.encode(input); diff --git a/src/core/operations/ToMorseCode.mjs b/src/core/operations/ToMorseCode.mjs index 4770500b..c954c4b1 100644 --- a/src/core/operations/ToMorseCode.mjs +++ b/src/core/operations/ToMorseCode.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {LETTER_DELIM_OPTIONS, WORD_DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {LETTER_DELIM_OPTIONS, WORD_DELIM_OPTIONS} from "../lib/Delim.mjs"; /** * To Morse Code operation diff --git a/src/core/operations/ToOctal.mjs b/src/core/operations/ToOctal.mjs index 842b2b82..2ed8ef97 100644 --- a/src/core/operations/ToOctal.mjs +++ b/src/core/operations/ToOctal.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {DELIM_OPTIONS} from "../lib/Delim.mjs"; /** diff --git a/src/core/operations/ToPunycode.mjs b/src/core/operations/ToPunycode.mjs index 6cf5096c..0e579079 100644 --- a/src/core/operations/ToPunycode.mjs +++ b/src/core/operations/ToPunycode.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import punycode from "punycode"; /** diff --git a/src/core/operations/ToQuotedPrintable.mjs b/src/core/operations/ToQuotedPrintable.mjs index 51044021..9db5c5a5 100644 --- a/src/core/operations/ToQuotedPrintable.mjs +++ b/src/core/operations/ToQuotedPrintable.mjs @@ -8,7 +8,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * To Quoted Printable operation @@ -25,17 +25,18 @@ class ToQuotedPrintable extends Operation { this.module = "Default"; this.description = "Quoted-Printable, or QP encoding, is an encoding using printable ASCII characters (alphanumeric and the equals sign '=') to transmit 8-bit data over a 7-bit data path or, generally, over a medium which is not 8-bit clean. It is defined as a MIME content transfer encoding for use in e-mail.

QP works by using the equals sign '=' as an escape character. It also limits line length to 76, as some software has limits on line length."; this.infoURL = "https://wikipedia.org/wiki/Quoted-printable"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = []; } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); let mimeEncodedStr = this.mimeEncode(input); // fix line breaks @@ -73,7 +74,7 @@ class ToQuotedPrintable extends Operation { /** * Encodes mime data. * - * @param {byteArray} buffer + * @param {byteArray|Uint8Array} buffer * @returns {string} */ mimeEncode(buffer) { @@ -107,7 +108,7 @@ class ToQuotedPrintable extends Operation { * @private * @param {number} nr * @param {byteArray[]} ranges - * @returns {bolean} + * @returns {boolean} */ _checkRanges(nr, ranges) { for (let i = ranges.length - 1; i >= 0; i--) { diff --git a/src/core/operations/ToSnakeCase.mjs b/src/core/operations/ToSnakeCase.mjs index 0cef88fe..5cb566af 100644 --- a/src/core/operations/ToSnakeCase.mjs +++ b/src/core/operations/ToSnakeCase.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import snakeCase from "lodash/snakeCase"; -import Operation from "../Operation"; -import { replaceVariableNames } from "../lib/Code"; +import snakeCase from "lodash/snakeCase.js"; +import Operation from "../Operation.mjs"; +import { replaceVariableNames } from "../lib/Code.mjs"; /** * To Snake case operation diff --git a/src/core/operations/ToTable.mjs b/src/core/operations/ToTable.mjs index 6d10b340..91b07771 100644 --- a/src/core/operations/ToTable.mjs +++ b/src/core/operations/ToTable.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * To Table operation diff --git a/src/core/operations/ToUNIXTimestamp.mjs b/src/core/operations/ToUNIXTimestamp.mjs index d8cde848..3eaf2ba2 100644 --- a/src/core/operations/ToUNIXTimestamp.mjs +++ b/src/core/operations/ToUNIXTimestamp.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import moment from "moment-timezone"; -import {UNITS} from "../lib/DateTime"; -import OperationError from "../errors/OperationError"; +import {UNITS} from "../lib/DateTime.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * To UNIX Timestamp operation diff --git a/src/core/operations/ToUpperCase.mjs b/src/core/operations/ToUpperCase.mjs index d56aacff..0bc9b5a9 100644 --- a/src/core/operations/ToUpperCase.mjs +++ b/src/core/operations/ToUpperCase.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * To Upper case operation diff --git a/src/core/operations/TranslateDateTimeFormat.mjs b/src/core/operations/TranslateDateTimeFormat.mjs index 08f2d646..65b4e1fe 100644 --- a/src/core/operations/TranslateDateTimeFormat.mjs +++ b/src/core/operations/TranslateDateTimeFormat.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import moment from "moment-timezone"; -import {DATETIME_FORMATS, FORMAT_EXAMPLES} from "../lib/DateTime"; +import {DATETIME_FORMATS, FORMAT_EXAMPLES} from "../lib/DateTime.mjs"; /** * Translate DateTime Format operation @@ -61,7 +61,7 @@ class TranslateDateTimeFormat extends Operation { * @returns {html} */ run(input, args) { - const [inputFormat, inputTimezone, outputFormat, outputTimezone] = args.splice(1); + const [inputFormat, inputTimezone, outputFormat, outputTimezone] = args.slice(1); let date; try { diff --git a/src/core/operations/TripleDESDecrypt.mjs b/src/core/operations/TripleDESDecrypt.mjs index 47d1df05..70376a5f 100644 --- a/src/core/operations/TripleDESDecrypt.mjs +++ b/src/core/operations/TripleDESDecrypt.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; import forge from "node-forge/dist/forge.min.js"; /** @@ -75,6 +75,12 @@ class TripleDESDecrypt extends Operation { Triple DES uses a key length of 24 bytes (192 bits). DES uses a key length of 8 bytes (64 bits).`); } + if (iv.length !== 8 && mode !== "ECB") { + throw new OperationError(`Invalid IV length: ${iv.length} bytes + +Triple DES uses an IV length of 8 bytes (64 bits). +Make sure you have specified the type correctly (e.g. Hex vs UTF8).`); + } input = Utils.convertToByteString(input, inputType); diff --git a/src/core/operations/TripleDESEncrypt.mjs b/src/core/operations/TripleDESEncrypt.mjs index e7eb6bca..bcd77d2e 100644 --- a/src/core/operations/TripleDESEncrypt.mjs +++ b/src/core/operations/TripleDESEncrypt.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import OperationError from "../errors/OperationError.mjs"; import forge from "node-forge/dist/forge.min.js"; /** @@ -75,6 +75,12 @@ class TripleDESEncrypt extends Operation { Triple DES uses a key length of 24 bytes (192 bits). DES uses a key length of 8 bytes (64 bits).`); } + if (iv.length !== 8 && mode !== "ECB") { + throw new OperationError(`Invalid IV length: ${iv.length} bytes + +Triple DES uses an IV length of 8 bytes (64 bits). +Make sure you have specified the type correctly (e.g. Hex vs UTF8).`); + } input = Utils.convertToByteString(input, inputType); diff --git a/src/core/operations/Typex.mjs b/src/core/operations/Typex.mjs index 70b5f6c3..8b81c13f 100644 --- a/src/core/operations/Typex.mjs +++ b/src/core/operations/Typex.mjs @@ -6,10 +6,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; -import {LETTERS, Reflector} from "../lib/Enigma"; -import {ROTORS, REFLECTORS, TypexMachine, Plugboard, Rotor} from "../lib/Typex"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import {LETTERS, Reflector} from "../lib/Enigma.mjs"; +import {ROTORS, REFLECTORS, TypexMachine, Plugboard, Rotor} from "../lib/Typex.mjs"; /** * Typex operation @@ -23,7 +23,7 @@ class Typex extends Operation { this.name = "Typex"; this.module = "Default"; - this.description = "Encipher/decipher with the WW2 Typex machine.

Typex was originally built by the British Royal Air Force prior to WW2, and is based on the Enigma machine with some improvements made, including using five rotors with more stepping points and interchangeable wiring cores. It was used across the British and Commonewealth militaries. A number of later variants were produced; here we simulate a WW2 era Mark 22 Typex with plugboards for the reflector and input. Typex rotors were changed regularly and none are public: a random example set are provided.

To configure the reflector plugboard, enter a string of connected pairs of letters in the reflector box, e.g. AB CD EF connects A to B, C to D, and E to F (you'll need to connect every letter). There is also an input plugboard: unlike Enigma's plugboard, it's not restricted to pairs, so it's entered like a rotor (without stepping). To create your own rotor, enter the letters that the rotor maps A to Z to, in order, optionally followed by < then a list of stepping points.

More detailed descriptions of the Enigma, Typex and Bombe operations can be found here."; + this.description = "Encipher/decipher with the WW2 Typex machine.

Typex was originally built by the British Royal Air Force prior to WW2, and is based on the Enigma machine with some improvements made, including using five rotors with more stepping points and interchangeable wiring cores. It was used across the British and Commonwealth militaries. A number of later variants were produced; here we simulate a WW2 era Mark 22 Typex with plugboards for the reflector and input. Typex rotors were changed regularly and none are public: a random example set are provided.

To configure the reflector plugboard, enter a string of connected pairs of letters in the reflector box, e.g. AB CD EF connects A to B, C to D, and E to F (you'll need to connect every letter). There is also an input plugboard: unlike Enigma's plugboard, it's not restricted to pairs, so it's entered like a rotor (without stepping). To create your own rotor, enter the letters that the rotor maps A to Z to, in order, optionally followed by < then a list of stepping points.

More detailed descriptions of the Enigma, Typex and Bombe operations can be found here."; this.infoURL = "https://wikipedia.org/wiki/Typex"; this.inputType = "string"; this.outputType = "string"; diff --git a/src/core/operations/UNIXTimestampToWindowsFiletime.mjs b/src/core/operations/UNIXTimestampToWindowsFiletime.mjs index 187b98ab..c87f3507 100644 --- a/src/core/operations/UNIXTimestampToWindowsFiletime.mjs +++ b/src/core/operations/UNIXTimestampToWindowsFiletime.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import BigNumber from "bignumber.js"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * UNIX Timestamp to Windows Filetime operation @@ -51,12 +51,12 @@ class UNIXTimestampToWindowsFiletime extends Operation { input = new BigNumber(input); - if (units === "Seconds (s)"){ + if (units === "Seconds (s)") { input = input.multipliedBy(new BigNumber("10000000")); } else if (units === "Milliseconds (ms)") { input = input.multipliedBy(new BigNumber("10000")); } else if (units === "Microseconds (μs)") { - input = input.multiplyiedBy(new BigNumber("10")); + input = input.multipliedBy(new BigNumber("10")); } else if (units === "Nanoseconds (ns)") { input = input.dividedBy(new BigNumber("100")); } else { @@ -65,7 +65,7 @@ class UNIXTimestampToWindowsFiletime extends Operation { input = input.plus(new BigNumber("116444736000000000")); - if (format === "Hex"){ + if (format === "Hex") { return input.toString(16); } else { return input.toFixed(); diff --git a/src/core/operations/URLDecode.mjs b/src/core/operations/URLDecode.mjs index dbbee20d..29f60623 100644 --- a/src/core/operations/URLDecode.mjs +++ b/src/core/operations/URLDecode.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * URL Decode operation diff --git a/src/core/operations/URLEncode.mjs b/src/core/operations/URLEncode.mjs index 2eb5b621..a5efd213 100644 --- a/src/core/operations/URLEncode.mjs +++ b/src/core/operations/URLEncode.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * URL Encode operation @@ -49,7 +49,7 @@ class URLEncode extends Operation { * @returns {string} */ encodeAllChars (str) { - // TODO Do this programatically + // TODO Do this programmatically return encodeURIComponent(str) .replace(/!/g, "%21") .replace(/#/g, "%23") diff --git a/src/core/operations/UnescapeString.mjs b/src/core/operations/UnescapeString.mjs index 62eab48e..8fafb446 100644 --- a/src/core/operations/UnescapeString.mjs +++ b/src/core/operations/UnescapeString.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Unescape string operation @@ -20,7 +20,7 @@ class UnescapeString extends Operation { this.name = "Unescape string"; this.module = "Default"; - this.description = "Unescapes characters in a string that have been escaped. For example, Don\\'t stop me now becomes Don't stop me now.

Supports the following escape sequences:
  • \\n (Line feed/newline)
  • \\r (Carriage return)
  • \\t (Horizontal tab)
  • \\b (Backspace)
  • \\f (Form feed)
  • \\xnn (Hex, where n is 0-f)
  • \\\\ (Backslash)
  • \\' (Single quote)
  • \\" (Double quote)
  • \\unnnn (Unicode character)
  • \\u{nnnnnn} (Unicode code point)
"; + this.description = "Unescapes characters in a string that have been escaped. For example, Don\\'t stop me now becomes Don't stop me now.

Supports the following escape sequences:
  • \\n (Line feed/newline)
  • \\r (Carriage return)
  • \\t (Horizontal tab)
  • \\b (Backspace)
  • \\f (Form feed)
  • \\nnn (Octal, where n is 0-7)
  • \\xnn (Hex, where n is 0-f)
  • \\\\ (Backslash)
  • \\' (Single quote)
  • \\" (Double quote)
  • \\unnnn (Unicode character)
  • \\u{nnnnnn} (Unicode code point)
"; this.infoURL = "https://wikipedia.org/wiki/Escape_sequence"; this.inputType = "string"; this.outputType = "string"; diff --git a/src/core/operations/UnescapeUnicodeCharacters.mjs b/src/core/operations/UnescapeUnicodeCharacters.mjs index ab8af2a8..c639613e 100644 --- a/src/core/operations/UnescapeUnicodeCharacters.mjs +++ b/src/core/operations/UnescapeUnicodeCharacters.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; /** * Unescape Unicode Characters operation diff --git a/src/core/operations/Unique.mjs b/src/core/operations/Unique.mjs index 6848968b..89de74c2 100644 --- a/src/core/operations/Unique.mjs +++ b/src/core/operations/Unique.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {INPUT_DELIM_OPTIONS} from "../lib/Delim"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {INPUT_DELIM_OPTIONS} from "../lib/Delim.mjs"; /** * Unique operation diff --git a/src/core/operations/Untar.mjs b/src/core/operations/Untar.mjs index 8655ba68..78a469ce 100644 --- a/src/core/operations/Untar.mjs +++ b/src/core/operations/Untar.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import Stream from "../lib/Stream"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import Stream from "../lib/Stream.mjs"; /** * Untar operation @@ -23,7 +23,7 @@ class Untar extends Operation { this.module = "Compression"; this.description = "Unpacks a tarball and displays it per file."; this.infoURL = "https://wikipedia.org/wiki/Tar_(computing)"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "List"; this.presentType = "html"; this.args = []; @@ -37,11 +37,12 @@ class Untar extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {List} */ run(input, args) { + input = new Uint8Array(input); const stream = new Stream(input), files = []; diff --git a/src/core/operations/Unzip.mjs b/src/core/operations/Unzip.mjs index 2766c215..3bca9401 100644 --- a/src/core/operations/Unzip.mjs +++ b/src/core/operations/Unzip.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import unzip from "zlibjs/bin/unzip.min"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import unzip from "zlibjs/bin/unzip.min.js"; const Zlib = unzip.Zlib; diff --git a/src/core/operations/VarIntDecode.mjs b/src/core/operations/VarIntDecode.mjs new file mode 100644 index 00000000..46c99cb7 --- /dev/null +++ b/src/core/operations/VarIntDecode.mjs @@ -0,0 +1,46 @@ +/** + * @author GCHQ Contributor [3] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Protobuf from "../lib/Protobuf.mjs"; + +/** + * VarInt Decode operation + */ +class VarIntDecode extends Operation { + + /** + * VarIntDecode constructor + */ + constructor() { + super(); + + this.name = "VarInt Decode"; + this.module = "Default"; + this.description = "Decodes a VarInt encoded integer. VarInt is an efficient way of encoding variable length integers and is commonly used with Protobuf."; + this.infoURL = "https://developers.google.com/protocol-buffers/docs/encoding#varints"; + this.inputType = "byteArray"; + this.outputType = "number"; + this.args = []; + } + + /** + * @param {byteArray} input + * @param {Object[]} args + * @returns {number} + */ + run(input, args) { + try { + return Protobuf.varIntDecode(input); + } catch (err) { + throw new OperationError(err); + } + } + +} + +export default VarIntDecode; diff --git a/src/core/operations/VarIntEncode.mjs b/src/core/operations/VarIntEncode.mjs new file mode 100644 index 00000000..d86d33f5 --- /dev/null +++ b/src/core/operations/VarIntEncode.mjs @@ -0,0 +1,46 @@ +/** + * @author GCHQ Contributor [3] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Protobuf from "../lib/Protobuf.mjs"; + +/** + * VarInt Encode operation + */ +class VarIntEncode extends Operation { + + /** + * VarIntEncode constructor + */ + constructor() { + super(); + + this.name = "VarInt Encode"; + this.module = "Default"; + this.description = "Encodes a Vn integer as a VarInt. VarInt is an efficient way of encoding variable length integers and is commonly used with Protobuf."; + this.infoURL = "https://developers.google.com/protocol-buffers/docs/encoding#varints"; + this.inputType = "number"; + this.outputType = "byteArray"; + this.args = []; + } + + /** + * @param {number} input + * @param {Object[]} args + * @returns {byteArray} + */ + run(input, args) { + try { + return Protobuf.varIntEncode(input); + } catch (err) { + throw new OperationError(err); + } + } + +} + +export default VarIntEncode; diff --git a/src/core/operations/ViewBitPlane.mjs b/src/core/operations/ViewBitPlane.mjs new file mode 100644 index 00000000..f98db2f3 --- /dev/null +++ b/src/core/operations/ViewBitPlane.mjs @@ -0,0 +1,107 @@ +/** + * @author Ge0rg3 [georgeomnet+cyberchef@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; +import Utils from "../Utils.mjs"; +import { isImage } from "../lib/FileType.mjs"; +import { toBase64 } from "../lib/Base64.mjs"; +import jimp from "jimp"; + +/** + * View Bit Plane operation + */ +class ViewBitPlane extends Operation { + + /** + * ViewBitPlane constructor + */ + constructor() { + super(); + + this.name = "View Bit Plane"; + this.module = "Image"; + this.description = "Extracts and displays a bit plane of any given image. These show only a single bit from each pixel, and can be used to hide messages in Steganography."; + this.infoURL = "https://wikipedia.org/wiki/Bit_plane"; + this.inputType = "ArrayBuffer"; + this.outputType = "ArrayBuffer"; + this.presentType = "html"; + this.args = [ + { + name: "Colour", + type: "option", + value: COLOUR_OPTIONS + }, + { + name: "Bit", + type: "number", + value: 0 + } + ]; + } + + /** + * @param {ArrayBuffer} input + * @param {Object[]} args + * @returns {ArrayBuffer} + */ + async run(input, args) { + if (!isImage(input)) throw new OperationError("Please enter a valid image file."); + + const [colour, bit] = args, + parsedImage = await jimp.read(input), + width = parsedImage.bitmap.width, + height = parsedImage.bitmap.height, + colourIndex = COLOUR_OPTIONS.indexOf(colour), + bitIndex = 7-bit; + + if (bit < 0 || bit > 7) { + throw new OperationError("Error: Bit argument must be between 0 and 7"); + } + + let pixel, bin, newPixelValue; + + parsedImage.scan(0, 0, width, height, function(x, y, idx) { + pixel = this.bitmap.data[idx + colourIndex]; + bin = Utils.bin(pixel); + newPixelValue = 255; + + if (bin.charAt(bitIndex) === "1") newPixelValue = 0; + + for (let i=0; i < 3; i++) { + this.bitmap.data[idx + i] = newPixelValue; + } + this.bitmap.data[idx + 3] = 255; + + }); + + const imageBuffer = await parsedImage.getBufferAsync(jimp.AUTO); + + return new Uint8Array(imageBuffer).buffer; + } + + /** + * Displays the extracted data as an image for web apps. + * @param {ArrayBuffer} data + * @returns {html} + */ + present(data) { + if (!data.length) return ""; + const type = isImage(data); + + return ``; + } + +} + +const COLOUR_OPTIONS = [ + "Red", + "Green", + "Blue", + "Alpha" +]; + +export default ViewBitPlane; diff --git a/src/core/operations/VigenèreDecode.mjs b/src/core/operations/VigenèreDecode.mjs index 98aef876..8abaeed8 100644 --- a/src/core/operations/VigenèreDecode.mjs +++ b/src/core/operations/VigenèreDecode.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Vigenère Decode operation */ @@ -55,7 +55,7 @@ class VigenèreDecode extends Operation { keyIndex = alphabet.indexOf(chr); msgIndex = alphabet.indexOf(input[i]); // Subtract indexes from each other, add 26 just in case the value is negative, - // modulo to remove if neccessary + // modulo to remove if necessary output += alphabet[(msgIndex - keyIndex + alphabet.length) % 26]; } else if (alphabet.indexOf(input[i].toLowerCase()) >= 0) { chr = key[(i - fail) % key.length].toLowerCase(); diff --git a/src/core/operations/VigenèreEncode.mjs b/src/core/operations/VigenèreEncode.mjs index 2e02339c..db212fe2 100644 --- a/src/core/operations/VigenèreEncode.mjs +++ b/src/core/operations/VigenèreEncode.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; /** * Vigenère Encode operation diff --git a/src/core/operations/Whirlpool.mjs b/src/core/operations/Whirlpool.mjs index 1ef8a11c..ae4c0359 100644 --- a/src/core/operations/Whirlpool.mjs +++ b/src/core/operations/Whirlpool.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {runHash} from "../lib/Hash"; +import Operation from "../Operation.mjs"; +import {runHash} from "../lib/Hash.mjs"; /** * Whirlpool operation @@ -20,7 +20,7 @@ class Whirlpool extends Operation { this.name = "Whirlpool"; this.module = "Crypto"; - this.description = "Whirlpool is a cryptographic hash function designed by Vincent Rijmen (co-creator of AES) and Paulo S. L. M. Barreto, who first described it in 2000.

Several variants exist:
  • Whirlpool-0 is the original version released in 2000.
  • Whirlpool-T is the first revision, released in 2001, improving the generation of the s-box.
  • Whirlpool is the latest revision, released in 2003, fixing a flaw in the difusion matrix.
"; + this.description = "Whirlpool is a cryptographic hash function designed by Vincent Rijmen (co-creator of AES) and Paulo S. L. M. Barreto, who first described it in 2000.

Several variants exist:
  • Whirlpool-0 is the original version released in 2000.
  • Whirlpool-T is the first revision, released in 2001, improving the generation of the s-box.
  • Whirlpool is the latest revision, released in 2003, fixing a flaw in the diffusion matrix.
"; this.infoURL = "https://wikipedia.org/wiki/Whirlpool_(cryptography)"; this.inputType = "ArrayBuffer"; this.outputType = "string"; diff --git a/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs b/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs index f5b59037..57d1e477 100644 --- a/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs +++ b/src/core/operations/WindowsFiletimeToUNIXTimestamp.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; import BigNumber from "bignumber.js"; -import OperationError from "../errors/OperationError"; +import OperationError from "../errors/OperationError.mjs"; /** * Windows Filetime to UNIX Timestamp operation @@ -57,7 +57,7 @@ class WindowsFiletimeToUNIXTimestamp extends Operation { input = input.minus(new BigNumber("116444736000000000")); - if (units === "Seconds (s)"){ + if (units === "Seconds (s)") { input = input.dividedBy(new BigNumber("10000000")); } else if (units === "Milliseconds (ms)") { input = input.dividedBy(new BigNumber("10000")); diff --git a/src/core/operations/XKCDRandomNumber.mjs b/src/core/operations/XKCDRandomNumber.mjs index e5811549..ba9b5e27 100644 --- a/src/core/operations/XKCDRandomNumber.mjs +++ b/src/core/operations/XKCDRandomNumber.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * XKCD Random Number operation diff --git a/src/core/operations/XMLBeautify.mjs b/src/core/operations/XMLBeautify.mjs index 4c059411..2cabb9b2 100644 --- a/src/core/operations/XMLBeautify.mjs +++ b/src/core/operations/XMLBeautify.mjs @@ -5,7 +5,7 @@ */ import vkbeautify from "vkbeautify"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * XML Beautify operation diff --git a/src/core/operations/XMLMinify.mjs b/src/core/operations/XMLMinify.mjs index 9c4fb2f6..5c710951 100644 --- a/src/core/operations/XMLMinify.mjs +++ b/src/core/operations/XMLMinify.mjs @@ -5,7 +5,7 @@ */ import vkbeautify from "vkbeautify"; -import Operation from "../Operation"; +import Operation from "../Operation.mjs"; /** * XML Minify operation diff --git a/src/core/operations/XOR.mjs b/src/core/operations/XOR.mjs index 3bd508fc..aa228842 100644 --- a/src/core/operations/XOR.mjs +++ b/src/core/operations/XOR.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import { bitOp, xor, BITWISE_OP_DELIMS } from "../lib/BitwiseOp"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import { bitOp, xor, BITWISE_OP_DELIMS } from "../lib/BitwiseOp.mjs"; /** * XOR operation @@ -23,7 +23,7 @@ class XOR extends Operation { this.module = "Default"; this.description = "XOR the input with the given key.
e.g. fe023da5

Options
Null preserving: If the current byte is 0x00 or the same as the key, skip it.

Scheme:
  • Standard - key is unchanged after each round
  • Input differential - key is set to the value of the previous unprocessed byte
  • Output differential - key is set to the value of the previous processed byte
  • Cascade - key is set to the input byte shifted by one
"; this.infoURL = "https://wikipedia.org/wiki/XOR"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "byteArray"; this.args = [ { @@ -46,11 +46,12 @@ class XOR extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {byteArray} */ run(input, args) { + input = new Uint8Array(input); const key = Utils.convertToByteArray(args[0].string || "", args[0].option), [, scheme, nullPreserving] = args; diff --git a/src/core/operations/XORBruteForce.mjs b/src/core/operations/XORBruteForce.mjs index 6284793f..9b548df8 100644 --- a/src/core/operations/XORBruteForce.mjs +++ b/src/core/operations/XORBruteForce.mjs @@ -4,10 +4,11 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import { bitOp, xor } from "../lib/BitwiseOp"; -import { toHex } from "../lib/Hex"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import { bitOp, xor } from "../lib/BitwiseOp.mjs"; +import { toHex } from "../lib/Hex.mjs"; +import { isWorkerEnvironment } from "../Utils.mjs"; /** * XOR Brute Force operation @@ -24,7 +25,7 @@ class XORBruteForce extends Operation { this.module = "Default"; this.description = "Enumerate all possible XOR solutions. Current maximum key length is 2 due to browser performance.

Optionally enter a string that you expect to find in the plaintext to filter results (crib)."; this.infoURL = "https://wikipedia.org/wiki/Exclusive_or"; - this.inputType = "byteArray"; + this.inputType = "ArrayBuffer"; this.outputType = "string"; this.args = [ { @@ -71,11 +72,12 @@ class XORBruteForce extends Operation { } /** - * @param {byteArray} input + * @param {ArrayBuffer} input * @param {Object[]} args * @returns {string} */ run(input, args) { + input = new Uint8Array(input); const [ keyLength, sampleLength, @@ -94,7 +96,7 @@ class XORBruteForce extends Operation { input = input.slice(sampleOffset, sampleOffset + sampleLength); - if (ENVIRONMENT_IS_WORKER()) + if (isWorkerEnvironment()) self.sendStatusMessage("Calculating " + Math.pow(256, keyLength) + " values..."); /** @@ -114,7 +116,7 @@ class XORBruteForce extends Operation { }; for (let key = 1, l = Math.pow(256, keyLength); key < l; key++) { - if (key % 10000 === 0 && ENVIRONMENT_IS_WORKER()) { + if (key % 10000 === 0 && isWorkerEnvironment()) { self.sendStatusMessage("Calculating " + l + " values... " + Math.floor(key / l * 100) + "%"); } diff --git a/src/core/operations/XPathExpression.mjs b/src/core/operations/XPathExpression.mjs index 0cca73b7..3b724ce0 100644 --- a/src/core/operations/XPathExpression.mjs +++ b/src/core/operations/XPathExpression.mjs @@ -4,8 +4,8 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import xmldom from "xmldom"; import xpath from "xpath"; diff --git a/src/core/operations/YARARules.mjs b/src/core/operations/YARARules.mjs index 91a27963..e654cc6d 100644 --- a/src/core/operations/YARARules.mjs +++ b/src/core/operations/YARARules.mjs @@ -4,9 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import OperationError from "../errors/OperationError"; +import Operation from "../Operation.mjs"; +import OperationError from "../errors/OperationError.mjs"; import Yara from "libyara-wasm"; +import { isWorkerEnvironment } from "../Utils.mjs"; /** * YARA Rules operation @@ -60,22 +61,22 @@ class YARARules extends Operation { * @param {Object[]} args * @returns {string} */ - run(input, args) { - if (ENVIRONMENT_IS_WORKER()) + async run(input, args) { + if (isWorkerEnvironment()) self.sendStatusMessage("Instantiating YARA..."); const [rules, showStrings, showLengths, showMeta, showCounts] = args; return new Promise((resolve, reject) => { Yara().then(yara => { - if (ENVIRONMENT_IS_WORKER()) self.sendStatusMessage("Converting data for YARA."); + if (isWorkerEnvironment()) self.sendStatusMessage("Converting data for YARA."); let matchString = ""; const inpArr = new Uint8Array(input); // Turns out embind knows that JS uint8array <==> C++ std::string - if (ENVIRONMENT_IS_WORKER()) self.sendStatusMessage("Running YARA matching."); + if (isWorkerEnvironment()) self.sendStatusMessage("Running YARA matching."); const resp = yara.run(inpArr, rules); - if (ENVIRONMENT_IS_WORKER()) self.sendStatusMessage("Processing data."); + if (isWorkerEnvironment()) self.sendStatusMessage("Processing data."); if (resp.compileErrors.size() > 0) { for (let i = 0; i < resp.compileErrors.size(); i++) { diff --git a/src/core/operations/Zip.mjs b/src/core/operations/Zip.mjs index 54a92726..dbe51462 100644 --- a/src/core/operations/Zip.mjs +++ b/src/core/operations/Zip.mjs @@ -4,10 +4,10 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import Utils from "../Utils"; -import {COMPRESSION_TYPE, ZLIB_COMPRESSION_TYPE_LOOKUP} from "../lib/Zlib"; -import zip from "zlibjs/bin/zip.min"; +import Operation from "../Operation.mjs"; +import Utils from "../Utils.mjs"; +import {COMPRESSION_TYPE, ZLIB_COMPRESSION_TYPE_LOOKUP} from "../lib/Zlib.mjs"; +import zip from "zlibjs/bin/zip.min.js"; const Zlib = zip.Zlib; diff --git a/src/core/operations/ZlibDeflate.mjs b/src/core/operations/ZlibDeflate.mjs index d4685704..4436d84a 100644 --- a/src/core/operations/ZlibDeflate.mjs +++ b/src/core/operations/ZlibDeflate.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {COMPRESSION_TYPE, ZLIB_COMPRESSION_TYPE_LOOKUP} from "../lib/Zlib"; -import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min"; +import Operation from "../Operation.mjs"; +import {COMPRESSION_TYPE, ZLIB_COMPRESSION_TYPE_LOOKUP} from "../lib/Zlib.mjs"; +import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min.js"; const Zlib = zlibAndGzip.Zlib; diff --git a/src/core/operations/ZlibInflate.mjs b/src/core/operations/ZlibInflate.mjs index a796cb3e..9f715c06 100644 --- a/src/core/operations/ZlibInflate.mjs +++ b/src/core/operations/ZlibInflate.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import Operation from "../Operation"; -import {INFLATE_BUFFER_TYPE} from "../lib/Zlib"; -import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min"; +import Operation from "../Operation.mjs"; +import {INFLATE_BUFFER_TYPE} from "../lib/Zlib.mjs"; +import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min.js"; const Zlib = zlibAndGzip.Zlib; diff --git a/src/core/vendor/bzip2.mjs b/src/core/vendor/bzip2.mjs deleted file mode 100755 index df0573d8..00000000 --- a/src/core/vendor/bzip2.mjs +++ /dev/null @@ -1,265 +0,0 @@ -/** @license -======================================================================== - bzip2.js - a small bzip2 decompression implementation - - Copyright 2011 by antimatter15 (antimatter15@gmail.com) - - Based on micro-bunzip by Rob Landley (rob@landley.net). - - Copyright (c) 2011 by antimatter15 (antimatter15@gmail.com). - - 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: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - 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. -*/ -"use strict"; - -var bzip2 = {}; - -bzip2.array = function(bytes){ - var bit = 0, byte = 0; - var BITMASK = [0, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF ]; - return function(n){ - var result = 0; - while(n > 0){ - var left = 8 - bit; - if(n >= left){ - result <<= left; - result |= (BITMASK[left] & bytes[byte++]); - bit = 0; - n -= left; - }else{ - result <<= n; - result |= ((bytes[byte] & (BITMASK[n] << (8 - n - bit))) >> (8 - n - bit)); - bit += n; - n = 0; - } - } - return result - } -} - -bzip2.simple = function(bits){ - var size = bzip2.header(bits); - var all = '', chunk = ''; - do{ - all += chunk; - chunk = bzip2.decompress(bits, size); - }while(chunk != -1); - return all; -} - -bzip2.header = function(bits){ - if(bits(8*3) != 4348520) throw "No magic number found"; - var i = bits(8) - 48; - if(i < 1 || i > 9) throw "Not a BZIP archive"; - return i; -}; - - -//takes a function for reading the block data (starting with 0x314159265359) -//a block size (0-9) (optional, defaults to 9) -//a length at which to stop decompressing and return the output -bzip2.decompress = function(bits, size, len){ - var MAX_HUFCODE_BITS = 20; - var MAX_SYMBOLS = 258; - var SYMBOL_RUNA = 0; - var SYMBOL_RUNB = 1; - var GROUP_SIZE = 50; - - var bufsize = 100000 * size; - for(var h = '', i = 0; i < 6; i++) h += bits(8).toString(16); - if(h == "177245385090") return -1; //last block - if(h != "314159265359") throw "Not valid bzip data"; - bits(32); //ignore CRC codes - if(bits(1)) throw "Unsupported obsolete version"; - var origPtr = bits(24); - if(origPtr > bufsize) throw "Initial position larger than buffer size"; - var t = bits(16); - var symToByte = new Uint8Array(256), - symTotal = 0; - for (i = 0; i < 16; i++) { - if(t & (1 << (15 - i))) { - var k = bits(16); - for(j = 0; j < 16; j++){ - if(k & (1 << (15 - j))){ - symToByte[symTotal++] = (16 * i) + j; - } - } - } - } - - var groupCount = bits(3); - if(groupCount < 2 || groupCount > 6) throw "Error 1"; - var nSelectors = bits(15); - if(nSelectors == 0) throw "Error"; - var mtfSymbol = []; //TODO: possibly replace JS array with typed arrays - for(var i = 0; i < groupCount; i++) mtfSymbol[i] = i; - var selectors = new Uint8Array(32768); - - for(var i = 0; i < nSelectors; i++){ - for(var j = 0; bits(1); j++) if(j >= groupCount) throw "Error 2"; - var uc = mtfSymbol[j]; - mtfSymbol.splice(j, 1); //this is a probably inefficient MTF transform - mtfSymbol.splice(0, 0, uc); - selectors[i] = uc; - } - - var symCount = symTotal + 2; - var groups = []; - for(var j = 0; j < groupCount; j++){ - var length = new Uint8Array(MAX_SYMBOLS), - temp = new Uint8Array(MAX_HUFCODE_BITS+1); - t = bits(5); //lengths - for(var i = 0; i < symCount; i++){ - while(true){ - if (t < 1 || t > MAX_HUFCODE_BITS) throw "Error 3"; - if(!bits(1)) break; - if(!bits(1)) t++; - else t--; - } - length[i] = t; - } - var minLen, maxLen; - minLen = maxLen = length[0]; - for(var i = 1; i < symCount; i++){ - if(length[i] > maxLen) maxLen = length[i]; - else if(length[i] < minLen) minLen = length[i]; - } - var hufGroup; - hufGroup = groups[j] = {}; - hufGroup.permute = new Uint32Array(MAX_SYMBOLS); - hufGroup.limit = new Uint32Array(MAX_HUFCODE_BITS + 1); - hufGroup.base = new Uint32Array(MAX_HUFCODE_BITS + 1); - hufGroup.minLen = minLen; - hufGroup.maxLen = maxLen; - var base = hufGroup.base.subarray(1); - var limit = hufGroup.limit.subarray(1); - var pp = 0; - for(var i = minLen; i <= maxLen; i++) - for(var t = 0; t < symCount; t++) - if(length[t] == i) hufGroup.permute[pp++] = t; - for(i = minLen; i <= maxLen; i++) temp[i] = limit[i] = 0; - for(i = 0; i < symCount; i++) temp[length[i]]++; - pp = t = 0; - for(i = minLen; i < maxLen; i++) { - pp += temp[i]; - limit[i] = pp - 1; - pp <<= 1; - base[i+1] = pp - (t += temp[i]); - } - limit[maxLen]=pp+temp[maxLen]-1; - base[minLen]=0; - } - var byteCount = new Uint32Array(256); - for(var i = 0; i < 256; i++) mtfSymbol[i] = i; - var runPos, count, symCount, selector; - runPos = count = symCount = selector = 0; - var buf = new Uint32Array(bufsize); - while(true){ - if(!(symCount--)){ - symCount = GROUP_SIZE - 1; - if(selector >= nSelectors) throw "Error 4"; - hufGroup = groups[selectors[selector++]]; - base = hufGroup.base.subarray(1); - limit = hufGroup.limit.subarray(1); - } - i = hufGroup.minLen; - j = bits(i); - while(true){ - if(i > hufGroup.maxLen) throw "Error 5"; - if(j <= limit[i]) break; - i++; - j = (j << 1) | bits(1); - } - j -= base[i]; - if(j < 0 || j >= MAX_SYMBOLS) throw "Error 6"; - var nextSym = hufGroup.permute[j]; - if (nextSym == SYMBOL_RUNA || nextSym == SYMBOL_RUNB) { - if(!runPos){ - runPos = 1; - t = 0; - } - if(nextSym == SYMBOL_RUNA) t += runPos; - else t += 2 * runPos; - runPos <<= 1; - continue; - } - if(runPos){ - runPos = 0; - if(count + t >= bufsize) throw "Error 7"; - uc = symToByte[mtfSymbol[0]]; - byteCount[uc] += t; - while(t--) buf[count++] = uc; - } - if(nextSym > symTotal) break; - if(count >= bufsize) throw "Error 8"; - i = nextSym -1; - uc = mtfSymbol[i]; - mtfSymbol.splice(i, 1); - mtfSymbol.splice(0, 0, uc); - uc = symToByte[uc]; - byteCount[uc]++; - buf[count++] = uc; - } - if(origPtr < 0 || origPtr >= count) throw "Error 9"; - var j = 0; - for(var i = 0; i < 256; i++){ - k = j + byteCount[i]; - byteCount[i] = j; - j = k; - } - for(var i = 0; i < count; i++){ - uc = buf[i] & 0xff; - buf[byteCount[uc]] |= (i << 8); - byteCount[uc]++; - } - var pos = 0, current = 0, run = 0; - if(count) { - pos = buf[origPtr]; - current = (pos & 0xff); - pos >>= 8; - run = -1; - } - count = count; - var output = ''; - var copies, previous, outbyte; - if(!len) len = Infinity; - while(count){ - count--; - previous = current; - pos = buf[pos]; - current = pos & 0xff; - pos >>= 8; - if(run++ == 3){ - copies = current; - outbyte = previous; - current = -1; - }else{ - copies = 1; - outbyte = current; - } - while(copies--){ - output += (String.fromCharCode(outbyte)); - if(!--len) return output; - } - if(current != previous) run = 0; - } - return output; -} - -export default bzip2; diff --git a/src/core/vendor/gost/gostCipher.mjs b/src/core/vendor/gost/gostCipher.mjs new file mode 100644 index 00000000..18883c1f --- /dev/null +++ b/src/core/vendor/gost/gostCipher.mjs @@ -0,0 +1,2259 @@ +/** + * GOST 28147-89/GOST R 34.12-2015/GOST R 32.13-2015 Encryption Algorithm + * 1.76 + * 2014-2016, Rudolf Nickolaev. All rights reserved. + * + * Exported for CyberChef by mshwed [m@ttshwed.com] + */ + +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * 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. + * + */ + +import GostRandom from './gostRandom.mjs'; + +import crypto from 'crypto' + +/* +* Initial parameters and common algortithms of GOST 28147-89 +* +* http://tools.ietf.org/html/rfc5830 +* +*/ // + +var root = {}; +var rootCrypto = crypto; +var CryptoOperationData = ArrayBuffer; +var SyntaxError = Error, + DataError = Error, + NotSupportedError = Error; +/* +* Check supported +* This implementation support only Little Endian arhitecture +*/ + +var littleEndian = (function () { + var buffer = new CryptoOperationData(2); + new DataView(buffer).setInt16(0, 256, true); + return new Int16Array(buffer)[0] === 256; +})(); + +// Default initial vector +var defaultIV = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]); + +// Predefined sBox collection +var sBoxes = { + 'E-TEST': [ + 0x4, 0x2, 0xF, 0x5, 0x9, 0x1, 0x0, 0x8, 0xE, 0x3, 0xB, 0xC, 0xD, 0x7, 0xA, 0x6, + 0xC, 0x9, 0xF, 0xE, 0x8, 0x1, 0x3, 0xA, 0x2, 0x7, 0x4, 0xD, 0x6, 0x0, 0xB, 0x5, + 0xD, 0x8, 0xE, 0xC, 0x7, 0x3, 0x9, 0xA, 0x1, 0x5, 0x2, 0x4, 0x6, 0xF, 0x0, 0xB, + 0xE, 0x9, 0xB, 0x2, 0x5, 0xF, 0x7, 0x1, 0x0, 0xD, 0xC, 0x6, 0xA, 0x4, 0x3, 0x8, + 0x3, 0xE, 0x5, 0x9, 0x6, 0x8, 0x0, 0xD, 0xA, 0xB, 0x7, 0xC, 0x2, 0x1, 0xF, 0x4, + 0x8, 0xF, 0x6, 0xB, 0x1, 0x9, 0xC, 0x5, 0xD, 0x3, 0x7, 0xA, 0x0, 0xE, 0x2, 0x4, + 0x9, 0xB, 0xC, 0x0, 0x3, 0x6, 0x7, 0x5, 0x4, 0x8, 0xE, 0xF, 0x1, 0xA, 0x2, 0xD, + 0xC, 0x6, 0x5, 0x2, 0xB, 0x0, 0x9, 0xD, 0x3, 0xE, 0x7, 0xA, 0xF, 0x4, 0x1, 0x8 + ], + 'E-A': [ + 0x9, 0x6, 0x3, 0x2, 0x8, 0xB, 0x1, 0x7, 0xA, 0x4, 0xE, 0xF, 0xC, 0x0, 0xD, 0x5, + 0x3, 0x7, 0xE, 0x9, 0x8, 0xA, 0xF, 0x0, 0x5, 0x2, 0x6, 0xC, 0xB, 0x4, 0xD, 0x1, + 0xE, 0x4, 0x6, 0x2, 0xB, 0x3, 0xD, 0x8, 0xC, 0xF, 0x5, 0xA, 0x0, 0x7, 0x1, 0x9, + 0xE, 0x7, 0xA, 0xC, 0xD, 0x1, 0x3, 0x9, 0x0, 0x2, 0xB, 0x4, 0xF, 0x8, 0x5, 0x6, + 0xB, 0x5, 0x1, 0x9, 0x8, 0xD, 0xF, 0x0, 0xE, 0x4, 0x2, 0x3, 0xC, 0x7, 0xA, 0x6, + 0x3, 0xA, 0xD, 0xC, 0x1, 0x2, 0x0, 0xB, 0x7, 0x5, 0x9, 0x4, 0x8, 0xF, 0xE, 0x6, + 0x1, 0xD, 0x2, 0x9, 0x7, 0xA, 0x6, 0x0, 0x8, 0xC, 0x4, 0x5, 0xF, 0x3, 0xB, 0xE, + 0xB, 0xA, 0xF, 0x5, 0x0, 0xC, 0xE, 0x8, 0x6, 0x2, 0x3, 0x9, 0x1, 0x7, 0xD, 0x4 + ], + 'E-B': [ + 0x8, 0x4, 0xB, 0x1, 0x3, 0x5, 0x0, 0x9, 0x2, 0xE, 0xA, 0xC, 0xD, 0x6, 0x7, 0xF, + 0x0, 0x1, 0x2, 0xA, 0x4, 0xD, 0x5, 0xC, 0x9, 0x7, 0x3, 0xF, 0xB, 0x8, 0x6, 0xE, + 0xE, 0xC, 0x0, 0xA, 0x9, 0x2, 0xD, 0xB, 0x7, 0x5, 0x8, 0xF, 0x3, 0x6, 0x1, 0x4, + 0x7, 0x5, 0x0, 0xD, 0xB, 0x6, 0x1, 0x2, 0x3, 0xA, 0xC, 0xF, 0x4, 0xE, 0x9, 0x8, + 0x2, 0x7, 0xC, 0xF, 0x9, 0x5, 0xA, 0xB, 0x1, 0x4, 0x0, 0xD, 0x6, 0x8, 0xE, 0x3, + 0x8, 0x3, 0x2, 0x6, 0x4, 0xD, 0xE, 0xB, 0xC, 0x1, 0x7, 0xF, 0xA, 0x0, 0x9, 0x5, + 0x5, 0x2, 0xA, 0xB, 0x9, 0x1, 0xC, 0x3, 0x7, 0x4, 0xD, 0x0, 0x6, 0xF, 0x8, 0xE, + 0x0, 0x4, 0xB, 0xE, 0x8, 0x3, 0x7, 0x1, 0xA, 0x2, 0x9, 0x6, 0xF, 0xD, 0x5, 0xC + ], + 'E-C': [ + 0x1, 0xB, 0xC, 0x2, 0x9, 0xD, 0x0, 0xF, 0x4, 0x5, 0x8, 0xE, 0xA, 0x7, 0x6, 0x3, + 0x0, 0x1, 0x7, 0xD, 0xB, 0x4, 0x5, 0x2, 0x8, 0xE, 0xF, 0xC, 0x9, 0xA, 0x6, 0x3, + 0x8, 0x2, 0x5, 0x0, 0x4, 0x9, 0xF, 0xA, 0x3, 0x7, 0xC, 0xD, 0x6, 0xE, 0x1, 0xB, + 0x3, 0x6, 0x0, 0x1, 0x5, 0xD, 0xA, 0x8, 0xB, 0x2, 0x9, 0x7, 0xE, 0xF, 0xC, 0x4, + 0x8, 0xD, 0xB, 0x0, 0x4, 0x5, 0x1, 0x2, 0x9, 0x3, 0xC, 0xE, 0x6, 0xF, 0xA, 0x7, + 0xC, 0x9, 0xB, 0x1, 0x8, 0xE, 0x2, 0x4, 0x7, 0x3, 0x6, 0x5, 0xA, 0x0, 0xF, 0xD, + 0xA, 0x9, 0x6, 0x8, 0xD, 0xE, 0x2, 0x0, 0xF, 0x3, 0x5, 0xB, 0x4, 0x1, 0xC, 0x7, + 0x7, 0x4, 0x0, 0x5, 0xA, 0x2, 0xF, 0xE, 0xC, 0x6, 0x1, 0xB, 0xD, 0x9, 0x3, 0x8 + ], + 'E-D': [ + 0xF, 0xC, 0x2, 0xA, 0x6, 0x4, 0x5, 0x0, 0x7, 0x9, 0xE, 0xD, 0x1, 0xB, 0x8, 0x3, + 0xB, 0x6, 0x3, 0x4, 0xC, 0xF, 0xE, 0x2, 0x7, 0xD, 0x8, 0x0, 0x5, 0xA, 0x9, 0x1, + 0x1, 0xC, 0xB, 0x0, 0xF, 0xE, 0x6, 0x5, 0xA, 0xD, 0x4, 0x8, 0x9, 0x3, 0x7, 0x2, + 0x1, 0x5, 0xE, 0xC, 0xA, 0x7, 0x0, 0xD, 0x6, 0x2, 0xB, 0x4, 0x9, 0x3, 0xF, 0x8, + 0x0, 0xC, 0x8, 0x9, 0xD, 0x2, 0xA, 0xB, 0x7, 0x3, 0x6, 0x5, 0x4, 0xE, 0xF, 0x1, + 0x8, 0x0, 0xF, 0x3, 0x2, 0x5, 0xE, 0xB, 0x1, 0xA, 0x4, 0x7, 0xC, 0x9, 0xD, 0x6, + 0x3, 0x0, 0x6, 0xF, 0x1, 0xE, 0x9, 0x2, 0xD, 0x8, 0xC, 0x4, 0xB, 0xA, 0x5, 0x7, + 0x1, 0xA, 0x6, 0x8, 0xF, 0xB, 0x0, 0x4, 0xC, 0x3, 0x5, 0x9, 0x7, 0xD, 0x2, 0xE + ], + 'E-SC': [ + 0x3, 0x6, 0x1, 0x0, 0x5, 0x7, 0xd, 0x9, 0x4, 0xb, 0x8, 0xc, 0xe, 0xf, 0x2, 0xa, + 0x7, 0x1, 0x5, 0x2, 0x8, 0xb, 0x9, 0xc, 0xd, 0x0, 0x3, 0xa, 0xf, 0xe, 0x4, 0x6, + 0xf, 0x1, 0x4, 0x6, 0xc, 0x8, 0x9, 0x2, 0xe, 0x3, 0x7, 0xa, 0xb, 0xd, 0x5, 0x0, + 0x3, 0x4, 0xf, 0xc, 0x5, 0x9, 0xe, 0x0, 0x6, 0x8, 0x7, 0xa, 0x1, 0xb, 0xd, 0x2, + 0x6, 0x9, 0x0, 0x7, 0xb, 0x8, 0x4, 0xc, 0x2, 0xe, 0xa, 0xf, 0x1, 0xd, 0x5, 0x3, + 0x6, 0x1, 0x2, 0xf, 0x0, 0xb, 0x9, 0xc, 0x7, 0xd, 0xa, 0x5, 0x8, 0x4, 0xe, 0x3, + 0x0, 0x2, 0xe, 0xc, 0x9, 0x1, 0x4, 0x7, 0x3, 0xf, 0x6, 0x8, 0xa, 0xd, 0xb, 0x5, + 0x5, 0x2, 0xb, 0x8, 0x4, 0xc, 0x7, 0x1, 0xa, 0x6, 0xe, 0x0, 0x9, 0x3, 0xd, 0xf + ], + 'E-Z': [// This is default S-box in according to draft of new standard + 0xc, 0x4, 0x6, 0x2, 0xa, 0x5, 0xb, 0x9, 0xe, 0x8, 0xd, 0x7, 0x0, 0x3, 0xf, 0x1, + 0x6, 0x8, 0x2, 0x3, 0x9, 0xa, 0x5, 0xc, 0x1, 0xe, 0x4, 0x7, 0xb, 0xd, 0x0, 0xf, + 0xb, 0x3, 0x5, 0x8, 0x2, 0xf, 0xa, 0xd, 0xe, 0x1, 0x7, 0x4, 0xc, 0x9, 0x6, 0x0, + 0xc, 0x8, 0x2, 0x1, 0xd, 0x4, 0xf, 0x6, 0x7, 0x0, 0xa, 0x5, 0x3, 0xe, 0x9, 0xb, + 0x7, 0xf, 0x5, 0xa, 0x8, 0x1, 0x6, 0xd, 0x0, 0x9, 0x3, 0xe, 0xb, 0x4, 0x2, 0xc, + 0x5, 0xd, 0xf, 0x6, 0x9, 0x2, 0xc, 0xa, 0xb, 0x7, 0x8, 0x1, 0x4, 0x3, 0xe, 0x0, + 0x8, 0xe, 0x2, 0x5, 0x6, 0x9, 0x1, 0xc, 0xf, 0x4, 0xb, 0x0, 0xd, 0xa, 0x3, 0x7, + 0x1, 0x7, 0xe, 0xd, 0x0, 0x5, 0x8, 0x3, 0x4, 0xf, 0xa, 0x6, 0x9, 0xc, 0xb, 0x2 + ], + //S-box for digest + 'D-TEST': [ + 0x4, 0xA, 0x9, 0x2, 0xD, 0x8, 0x0, 0xE, 0x6, 0xB, 0x1, 0xC, 0x7, 0xF, 0x5, 0x3, + 0xE, 0xB, 0x4, 0xC, 0x6, 0xD, 0xF, 0xA, 0x2, 0x3, 0x8, 0x1, 0x0, 0x7, 0x5, 0x9, + 0x5, 0x8, 0x1, 0xD, 0xA, 0x3, 0x4, 0x2, 0xE, 0xF, 0xC, 0x7, 0x6, 0x0, 0x9, 0xB, + 0x7, 0xD, 0xA, 0x1, 0x0, 0x8, 0x9, 0xF, 0xE, 0x4, 0x6, 0xC, 0xB, 0x2, 0x5, 0x3, + 0x6, 0xC, 0x7, 0x1, 0x5, 0xF, 0xD, 0x8, 0x4, 0xA, 0x9, 0xE, 0x0, 0x3, 0xB, 0x2, + 0x4, 0xB, 0xA, 0x0, 0x7, 0x2, 0x1, 0xD, 0x3, 0x6, 0x8, 0x5, 0x9, 0xC, 0xF, 0xE, + 0xD, 0xB, 0x4, 0x1, 0x3, 0xF, 0x5, 0x9, 0x0, 0xA, 0xE, 0x7, 0x6, 0x8, 0x2, 0xC, + 0x1, 0xF, 0xD, 0x0, 0x5, 0x7, 0xA, 0x4, 0x9, 0x2, 0x3, 0xE, 0x6, 0xB, 0x8, 0xC + ], + 'D-A': [ + 0xA, 0x4, 0x5, 0x6, 0x8, 0x1, 0x3, 0x7, 0xD, 0xC, 0xE, 0x0, 0x9, 0x2, 0xB, 0xF, + 0x5, 0xF, 0x4, 0x0, 0x2, 0xD, 0xB, 0x9, 0x1, 0x7, 0x6, 0x3, 0xC, 0xE, 0xA, 0x8, + 0x7, 0xF, 0xC, 0xE, 0x9, 0x4, 0x1, 0x0, 0x3, 0xB, 0x5, 0x2, 0x6, 0xA, 0x8, 0xD, + 0x4, 0xA, 0x7, 0xC, 0x0, 0xF, 0x2, 0x8, 0xE, 0x1, 0x6, 0x5, 0xD, 0xB, 0x9, 0x3, + 0x7, 0x6, 0x4, 0xB, 0x9, 0xC, 0x2, 0xA, 0x1, 0x8, 0x0, 0xE, 0xF, 0xD, 0x3, 0x5, + 0x7, 0x6, 0x2, 0x4, 0xD, 0x9, 0xF, 0x0, 0xA, 0x1, 0x5, 0xB, 0x8, 0xE, 0xC, 0x3, + 0xD, 0xE, 0x4, 0x1, 0x7, 0x0, 0x5, 0xA, 0x3, 0xC, 0x8, 0xF, 0x6, 0x2, 0x9, 0xB, + 0x1, 0x3, 0xA, 0x9, 0x5, 0xB, 0x4, 0xF, 0x8, 0x6, 0x7, 0xE, 0xD, 0x0, 0x2, 0xC + ], + 'D-SC': [ + 0xb, 0xd, 0x7, 0x0, 0x5, 0x4, 0x1, 0xf, 0x9, 0xe, 0x6, 0xa, 0x3, 0xc, 0x8, 0x2, + 0x1, 0x2, 0x7, 0x9, 0xd, 0xb, 0xf, 0x8, 0xe, 0xc, 0x4, 0x0, 0x5, 0x6, 0xa, 0x3, + 0x5, 0x1, 0xd, 0x3, 0xf, 0x6, 0xc, 0x7, 0x9, 0x8, 0xb, 0x2, 0x4, 0xe, 0x0, 0xa, + 0xd, 0x1, 0xb, 0x4, 0x9, 0xc, 0xe, 0x0, 0x7, 0x5, 0x8, 0xf, 0x6, 0x2, 0xa, 0x3, + 0x2, 0xd, 0xa, 0xf, 0x9, 0xb, 0x3, 0x7, 0x8, 0xc, 0x5, 0xe, 0x6, 0x0, 0x1, 0x4, + 0x0, 0x4, 0x6, 0xc, 0x5, 0x3, 0x8, 0xd, 0xa, 0xb, 0xf, 0x2, 0x1, 0x9, 0x7, 0xe, + 0x1, 0x3, 0xc, 0x8, 0xa, 0x6, 0xb, 0x0, 0x2, 0xe, 0x7, 0x9, 0xf, 0x4, 0x5, 0xd, + 0xa, 0xb, 0x6, 0x0, 0x1, 0x3, 0x4, 0x7, 0xe, 0xd, 0x5, 0xf, 0x8, 0x2, 0x9, 0xc + ] +}; + +var C = new Uint8Array([ + 0x69, 0x00, 0x72, 0x22, 0x64, 0xC9, 0x04, 0x23, + 0x8D, 0x3A, 0xDB, 0x96, 0x46, 0xE9, 0x2A, 0xC4, + 0x18, 0xFE, 0xAC, 0x94, 0x00, 0xED, 0x07, 0x12, + 0xC0, 0x86, 0xDC, 0xC2, 0xEF, 0x4C, 0xA9, 0x2B +]); + +function signed(x) { + return x >= 0x80000000 ? x - 0x100000000 : x; +} + +function unsigned(x) { + return x < 0 ? x + 0x100000000 : x; +} + +// Set random values into Uint8Arry +// Random generator +function randomSeed(e) { + GostRandom = GostRandom || root.GostRandom; + var randomSource = GostRandom ? new (GostRandom || root.GostRandom) : rootCrypto; + if (randomSource.getRandomValues) + randomSource.getRandomValues(e); + else + throw new NotSupportedError('Random generator not found'); +} + +// Get buffer +function buffer(d) { + if (d instanceof CryptoOperationData) + return d; + else if (d && d.buffer && d.buffer instanceof CryptoOperationData) + return d.byteOffset === 0 && d.byteLength === d.buffer.byteLength ? + d.buffer : new Uint8Array(new Uint8Array(d, d.byteOffset, d.byteLength)).buffer; + else + throw new DataError('CryptoOperationData required'); +} + +// Get byte array +function byteArray(d) { + return new Uint8Array(buffer(d)); +} + +// Clone byte array +function cloneArray(d) { + return new Uint8Array(byteArray(d)); +} + + +// Get int32 array +function intArray(d) { + return new Int32Array(buffer(d)); +} + +// Swap bytes for version 2015 +function swap32(b) { + return ((b & 0xff) << 24) + | ((b & 0xff00) << 8) + | ((b >> 8) & 0xff00) + | ((b >> 24) & 0xff); +} + +// + +/* + * Initial parameters and common algortithms of GOST R 34.12-15 + * Algorithm "Kuznechik" 128bit + * + */ // + +// Default initial vector +var defaultIV128 = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); + +// Mult table for R function +var multTable = (function () { + + // Multiply two numbers in the GF(2^8) finite field defined + // by the polynomial x^8 + x^7 + x^6 + x + 1 = 0 */ + function gmul(a, b) { + var p = 0, counter, carry; + for (counter = 0; counter < 8; counter++) { + if (b & 1) + p ^= a; + carry = a & 0x80; // detect if x^8 term is about to be generated + a = (a << 1) & 0xff; + if (carry) + a ^= 0xc3; // replace x^8 with x^7 + x^6 + x + 1 + b >>= 1; + } + return p & 0xff; + } + + // It is required only this values for R function + // 0 1 2 3 4 5 6 7 + var x = [1, 16, 32, 133, 148, 192, 194, 251]; + var m = []; + for (var i = 0; i < 8; i++) { + m[i] = []; + for (var j = 0; j < 256; j++) + m[i][j] = gmul(x[i], j); + } + return m; +})(); + +// 148, 32, 133, 16, 194, 192, 1, 251, 1, 192, 194, 16, 133, 32, 148, 1 +var kB = [4, 2, 3, 1, 6, 5, 0, 7, 0, 5, 6, 1, 3, 2, 4, 0]; + +// R - function +function funcR(d) { + var sum = 0; + for (var i = 0; i < 16; i++) + sum ^= multTable[kB[i]][d[i]]; + + for (var i = 16; i > 0; --i) + d[i] = d[i - 1]; + d[0] = sum; +} + +function funcReverseR(d) { + var tmp = d[0]; + for (var i = 0; i < 15; i++) + d[i] = d[i + 1]; + d[15] = tmp; + + var sum = 0; + for (i = 0; i < 16; i++) + sum ^= multTable[kB[i]][d[i]]; + d[15] = sum; +} + +// Nonlinear transformation +var kPi = [ + 252, 238, 221, 17, 207, 110, 49, 22, 251, 196, 250, 218, 35, 197, 4, 77, + 233, 119, 240, 219, 147, 46, 153, 186, 23, 54, 241, 187, 20, 205, 95, 193, + 249, 24, 101, 90, 226, 92, 239, 33, 129, 28, 60, 66, 139, 1, 142, 79, + 5, 132, 2, 174, 227, 106, 143, 160, 6, 11, 237, 152, 127, 212, 211, 31, + 235, 52, 44, 81, 234, 200, 72, 171, 242, 42, 104, 162, 253, 58, 206, 204, + 181, 112, 14, 86, 8, 12, 118, 18, 191, 114, 19, 71, 156, 183, 93, 135, + 21, 161, 150, 41, 16, 123, 154, 199, 243, 145, 120, 111, 157, 158, 178, 177, + 50, 117, 25, 61, 255, 53, 138, 126, 109, 84, 198, 128, 195, 189, 13, 87, + 223, 245, 36, 169, 62, 168, 67, 201, 215, 121, 214, 246, 124, 34, 185, 3, + 224, 15, 236, 222, 122, 148, 176, 188, 220, 232, 40, 80, 78, 51, 10, 74, + 167, 151, 96, 115, 30, 0, 98, 68, 26, 184, 56, 130, 100, 159, 38, 65, + 173, 69, 70, 146, 39, 94, 85, 47, 140, 163, 165, 125, 105, 213, 149, 59, + 7, 88, 179, 64, 134, 172, 29, 247, 48, 55, 107, 228, 136, 217, 231, 137, + 225, 27, 131, 73, 76, 63, 248, 254, 141, 83, 170, 144, 202, 216, 133, 97, + 32, 113, 103, 164, 45, 43, 9, 91, 203, 155, 37, 208, 190, 229, 108, 82, + 89, 166, 116, 210, 230, 244, 180, 192, 209, 102, 175, 194, 57, 75, 99, 182 +]; + +var kReversePi = (function () { + var m = []; + for (var i = 0, n = kPi.length; i < n; i++) + m[kPi[i]] = i; + return m; +})(); + +function funcS(d) { + for (var i = 0; i < 16; ++i) + d[i] = kPi[d[i]]; +} + +function funcReverseS(d) { + for (var i = 0; i < 16; ++i) + d[i] = kReversePi[d[i]]; +} + +function funcX(a, b) { + for (var i = 0; i < 16; ++i) + a[i] ^= b[i]; +} + +function funcL(d) { + for (var i = 0; i < 16; ++i) + funcR(d); +} + +function funcReverseL(d) { + for (var i = 0; i < 16; ++i) + funcReverseR(d); +} + +function funcLSX(a, b) { + funcX(a, b); + funcS(a); + funcL(a); +} + +function funcReverseLSX(a, b) { + funcX(a, b); + funcReverseL(a); + funcReverseS(a); +} + +function funcF(inputKey, inputKeySecond, iterationConst) { + var tmp = new Uint8Array(inputKey); + funcLSX(inputKey, iterationConst); + funcX(inputKey, inputKeySecond); + inputKeySecond.set(tmp); +} + +function funcC(number, d) { + for (var i = 0; i < 15; i++) + d[i] = 0; + d[15] = number; + funcL(d); +} + +// + +/** + * Key schedule for GOST R 34.12-15 128bits + * + * @memberOf GostCipher + * @private + * @instance + * @method keySchedule + * @param {type} k + * @returns {Uint8Array} + */ +function keySchedule128(k) // +{ + var keys = new Uint8Array(160), c = new Uint8Array(16); + keys.set(byteArray(k)); + for (var j = 0; j < 4; j++) { + var j0 = 32 * j, j1 = 32 * (j + 1); + keys.set(new Uint8Array(keys.buffer, j0, 32), j1); + for (var i = 1; i < 9; i++) { + funcC(j * 8 + i, c); + funcF(new Uint8Array(keys.buffer, j1, 16), + new Uint8Array(keys.buffer, j1 + 16, 16), c); + } + } + return keys; +} // + +/** + * GOST R 34.12-15 128 bits encrypt/decrypt process + * + * @memberOf GostCipher + * @private + * @instance + * @method round + * @param {Uint8Array} k Scheduled key + * @param {Uint8Array} d Data + * @param {number} ofs Offsec + * @param {number} e true - decrypt + */ +function process128(k, d, ofs, e) // +{ + ofs = ofs || d.byteOffset; + var r = new Uint8Array(d.buffer, ofs, 16); + if (e) { + for (var i = 0; i < 9; i++) + funcReverseLSX(r, new Uint8Array(k.buffer, (9 - i) * 16, 16)); + + funcX(r, new Uint8Array(k.buffer, 0, 16)); + } else { + for (var i = 0; i < 9; i++) + funcLSX(r, new Uint8Array(k.buffer, 16 * i, 16)); + + funcX(r, new Uint8Array(k.buffer, 16 * 9, 16)); + } +} // + +/** + * One GOST encryption round + * + * @memberOf GostCipher + * @private + * @instance + * @method round + * @param {Int8Array} S sBox + * @param {Int32Array} m 2x32 bits cipher block + * @param {Int32Array} k 32 bits key[i] + */ +function round(S, m, k) // +{ + var cm = (m[0] + k) & 0xffffffff; + + var om = S[ 0 + ((cm >> (0 * 4)) & 0xF)] << (0 * 4); + om |= S[ 16 + ((cm >> (1 * 4)) & 0xF)] << (1 * 4); + om |= S[ 32 + ((cm >> (2 * 4)) & 0xF)] << (2 * 4); + om |= S[ 48 + ((cm >> (3 * 4)) & 0xF)] << (3 * 4); + om |= S[ 64 + ((cm >> (4 * 4)) & 0xF)] << (4 * 4); + om |= S[ 80 + ((cm >> (5 * 4)) & 0xF)] << (5 * 4); + om |= S[ 96 + ((cm >> (6 * 4)) & 0xF)] << (6 * 4); + om |= S[112 + ((cm >> (7 * 4)) & 0xF)] << (7 * 4); + cm = om << 11 | om >>> (32 - 11); + + cm ^= m[1]; + m[1] = m[0]; + m[0] = cm; + +} // + +/** + * Process encrypt/decrypt block with key K using GOST 28147-89 + * + * @memberOf GostCipher + * @private + * @instance + * @method process + * @param k {Int32Array} 8x32 bits key + * @param d {Int32Array} 8x8 bits cipher block + * @param ofs {number} offset + */ +function process89(k, d, ofs) // +{ + ofs = ofs || d.byteOffset; + var s = this.sBox, + m = new Int32Array(d.buffer, ofs, 2); + + for (var i = 0; i < 32; i++) + round(s, m, k[i]); + + var r = m[0]; + m[0] = m[1]; + m[1] = r; +} // + +/** + * Process encrypt/decrypt block with key K using GOST R 34.12-15 64bit block + * + * @memberOf GostCipher + * @private + * @instance + * @method process + * @param k {Int32Array} 8x32 bits key + * @param d {Int32Array} 8x8 bits cipher block + * @param ofs {number} offset + */ +function process15(k, d, ofs) // +{ + ofs = ofs || d.byteOffset; + var s = this.sBox, + m = new Int32Array(d.buffer, ofs, 2), + r = swap32(m[0]); + m[0] = swap32(m[1]); + m[1] = r; + + for (var i = 0; i < 32; i++) + round(s, m, k[i]); + + m[0] = swap32(m[0]); + m[1] = swap32(m[1]); +} // + +/** + * Key keySchedule algorithm for GOST 28147-89 64bit cipher + * + * @memberOf GostCipher + * @private + * @instance + * @method process + * @param k {Uint8Array} 8 bit key array + * @param e {boolean} true - decrypt + * @returns {Int32Array} keyScheduled 32-bit key + */ +function keySchedule89(k, e) // +{ + var sch = new Int32Array(32), + key = new Int32Array(buffer(k)); + + for (var i = 0; i < 8; i++) + sch[i] = key[i]; + + if (e) { + for (var i = 0; i < 8; i++) + sch[i + 8] = sch[7 - i]; + + for (var i = 0; i < 8; i++) + sch[i + 16] = sch[7 - i]; + } else { + for (var i = 0; i < 8; i++) + sch[i + 8] = sch[i]; + + for (var i = 0; i < 8; i++) + sch[i + 16] = sch[i]; + } + + for (var i = 0; i < 8; i++) + sch[i + 24] = sch[7 - i]; + + return sch; +} // + +/** + * Key keySchedule algorithm for GOST R 34.12-15 64bit cipher + * + * @memberOf GostCipher + * @private + * @instance + * @method process + * @param k {Uint8Array} 8 bit key array + * @param e {boolean} true - decrypt + * @returns {Int32Array} keyScheduled 32-bit key + */ +function keySchedule15(k, e) // +{ + var sch = new Int32Array(32), + key = new Int32Array(buffer(k)); + + for (var i = 0; i < 8; i++) + sch[i] = swap32(key[i]); + + if (e) { + for (var i = 0; i < 8; i++) + sch[i + 8] = sch[7 - i]; + + for (var i = 0; i < 8; i++) + sch[i + 16] = sch[7 - i]; + } else { + for (var i = 0; i < 8; i++) + sch[i + 8] = sch[i]; + + for (var i = 0; i < 8; i++) + sch[i + 16] = sch[i]; + } + + for (var i = 0; i < 8; i++) + sch[i + 24] = sch[7 - i]; + + return sch; +} // + +/** + * Key schedule for RC2 + * + * https://tools.ietf.org/html/rfc2268 + * + * @memberOf GostCipher + * @private + * @instance + * @method keySchedule + * @param {Uint8Array} k + * @returns {Uint16Array} + */ +var keyScheduleRC2 = (function () // +{ + // an array of "random" bytes based on the digits of PI = 3.14159... + var PITABLE = new Uint8Array([ + 0xd9, 0x78, 0xf9, 0xc4, 0x19, 0xdd, 0xb5, 0xed, 0x28, 0xe9, 0xfd, 0x79, 0x4a, 0xa0, 0xd8, 0x9d, + 0xc6, 0x7e, 0x37, 0x83, 0x2b, 0x76, 0x53, 0x8e, 0x62, 0x4c, 0x64, 0x88, 0x44, 0x8b, 0xfb, 0xa2, + 0x17, 0x9a, 0x59, 0xf5, 0x87, 0xb3, 0x4f, 0x13, 0x61, 0x45, 0x6d, 0x8d, 0x09, 0x81, 0x7d, 0x32, + 0xbd, 0x8f, 0x40, 0xeb, 0x86, 0xb7, 0x7b, 0x0b, 0xf0, 0x95, 0x21, 0x22, 0x5c, 0x6b, 0x4e, 0x82, + 0x54, 0xd6, 0x65, 0x93, 0xce, 0x60, 0xb2, 0x1c, 0x73, 0x56, 0xc0, 0x14, 0xa7, 0x8c, 0xf1, 0xdc, + 0x12, 0x75, 0xca, 0x1f, 0x3b, 0xbe, 0xe4, 0xd1, 0x42, 0x3d, 0xd4, 0x30, 0xa3, 0x3c, 0xb6, 0x26, + 0x6f, 0xbf, 0x0e, 0xda, 0x46, 0x69, 0x07, 0x57, 0x27, 0xf2, 0x1d, 0x9b, 0xbc, 0x94, 0x43, 0x03, + 0xf8, 0x11, 0xc7, 0xf6, 0x90, 0xef, 0x3e, 0xe7, 0x06, 0xc3, 0xd5, 0x2f, 0xc8, 0x66, 0x1e, 0xd7, + 0x08, 0xe8, 0xea, 0xde, 0x80, 0x52, 0xee, 0xf7, 0x84, 0xaa, 0x72, 0xac, 0x35, 0x4d, 0x6a, 0x2a, + 0x96, 0x1a, 0xd2, 0x71, 0x5a, 0x15, 0x49, 0x74, 0x4b, 0x9f, 0xd0, 0x5e, 0x04, 0x18, 0xa4, 0xec, + 0xc2, 0xe0, 0x41, 0x6e, 0x0f, 0x51, 0xcb, 0xcc, 0x24, 0x91, 0xaf, 0x50, 0xa1, 0xf4, 0x70, 0x39, + 0x99, 0x7c, 0x3a, 0x85, 0x23, 0xb8, 0xb4, 0x7a, 0xfc, 0x02, 0x36, 0x5b, 0x25, 0x55, 0x97, 0x31, + 0x2d, 0x5d, 0xfa, 0x98, 0xe3, 0x8a, 0x92, 0xae, 0x05, 0xdf, 0x29, 0x10, 0x67, 0x6c, 0xba, 0xc9, + 0xd3, 0x00, 0xe6, 0xcf, 0xe1, 0x9e, 0xa8, 0x2c, 0x63, 0x16, 0x01, 0x3f, 0x58, 0xe2, 0x89, 0xa9, + 0x0d, 0x38, 0x34, 0x1b, 0xab, 0x33, 0xff, 0xb0, 0xbb, 0x48, 0x0c, 0x5f, 0xb9, 0xb1, 0xcd, 0x2e, + 0xc5, 0xf3, 0xdb, 0x47, 0xe5, 0xa5, 0x9c, 0x77, 0x0a, 0xa6, 0x20, 0x68, 0xfe, 0x7f, 0xc1, 0xad + ]); + + return function (k) + { + var key = new Uint8Array(buffer(k)), + T = Math.min(key.length, 128), + T1 = this.effectiveLength, + T8 = Math.floor((T1 + 7) / 8), + TM = 0xff % Math.pow(2, 8 + T1 - 8 * T8); + + var L = new Uint8Array(128), K = new Uint16Array(L.buffer); + for (var i = 0; i < T; i++) + L[i] = key[i]; + for (var i = T; i < 128; i++) + L[i] = PITABLE[(L[i - 1] + L[i - T]) % 256]; + L[128 - T8] = PITABLE[L[128 - T8] & TM]; + for (var i = 127 - T8; i >= 0; --i) + L[i] = PITABLE[L[i + 1] ^ L[i + T8]]; + return K; + }; +} // +)(); + +/** + * RC2 encrypt/decrypt process + * + * https://tools.ietf.org/html/rfc2268 + * + * @memberOf GostCipher + * @private + * @instance + * @method round + * @param {CryptoOperationData} k Scheduled key + * @param {CryptoOperationData} d Data + * @param {number} ofs Offsec + * @param {number} e true - decrypt + */ +var processRC2 = (function () // +{ + var K, j, R = new Uint16Array(4), + s = new Uint16Array([1, 2, 3, 5]), reverse; + + function rol(R, s) { + return (R << s | R >>> (16 - s)) & 0xffff; + } + + function ror(R, s) { + return (R >>> s | R << (16 - s)) & 0xffff; + } + + function mix(i) { + if (reverse) { + R[i] = ror(R[i], s[i]); + R[i] = R[i] - K[j] - (R[(i + 3) % 4] & R[(i + 2) % 4]) - ((~R[(i + 3) % 4]) & R[(i + 1) % 4]); + j = j - 1; + } else { + R[i] = R[i] + K[j] + (R[(i + 3) % 4] & R[(i + 2) % 4]) + ((~R[(i + 3) % 4]) & R[(i + 1) % 4]); + j = j + 1; + R[i] = rol(R[i], s[i]); + } + } + + function mash(i) { + if (reverse) { + R[i] = R[i] - K[R[(i + 3) % 4] & 63]; + } else { + R[i] = R[i] + K[R[(i + 3) % 4] & 63]; + } + } + + function perform(method, count) { + count = count || 1; + for (var j = 0; j < count; j++) { + if (reverse) { + for (var i = 3; i >= 0; --i) + method(i); + } else { + for (var i = 0; i < 4; i++) + method(i); + } + } + } + + return function (k, d, ofs, e) { + reverse = e; + // 1. Initialize words R[0], ..., R[3] to contain the 64-bit + // ciphertext value. + R = new Uint16Array(d.buffer, ofs || d.byteOffset, 4); + // 2. Expand the key, so that words K[0], ..., K[63] become + // defined. + K = k; + // 3. Initialize j to zero (enc) j to 63 (dec). + j = e ? 63 : 0; + // 4. Perform five mixing rounds. + perform(mix, 5); + // 5. Perform one mashing round. + perform(mash); + // 6. Perform six mixing rounds. + perform(mix, 6); + // 7. Perform one mashing round. + perform(mash); + // 8. Perform five mixing rounds. + perform(mix, 5); + }; +} // +)(); + +/** + * Algorithm name GOST 28147-ECB

+ * + * encryptECB (K, D) is D, encrypted with key k using GOST 28147/GOST R 34.13 in + * "prostaya zamena" (Electronic Codebook, ECB) mode. + * @memberOf GostCipher + * @method encrypt + * @instance + * @param k {CryptoOperationData} 8x32 bit key + * @param d {CryptoOperationData} 8 bits message + * @return {CryptoOperationData} result + */ +function encryptECB(k, d) // +{ + var p = this.pad(byteArray(d)), + n = this.blockSize, + b = p.byteLength / n, + key = this.keySchedule(k); + + for (var i = 0; i < b; i++) + this.process(key, p, n * i); + + return p.buffer; +} // + +/** + * Algorithm name GOST 28147-ECB

+ * + * decryptECB (K, D) is D, decrypted with key K using GOST 28147/GOST R 34.13 in + * "prostaya zamena" (Electronic Codebook, ECB) mode. + * + * @memberOf GostCipher + * @method decrypt + * @instance + * @param k {CryptoOperationData} 8x32 bits key + * @param d {CryptoOperationData} 8 bits message + * @return {CryptoOperationData} result + */ +function decryptECB(k, d) // +{ + var p = cloneArray(d), + n = this.blockSize, + b = p.byteLength / n, + key = this.keySchedule(k, 1); + + for (var i = 0; i < b; i++) + this.process(key, p, n * i, 1); + + return this.unpad(p).buffer; +} // + +/** + * Algorithm name GOST 28147-CFB

+ * + * encryptCFB (IV, K, D) is D, encrypted with key K using GOST 28147/GOST R 34.13 + * in "gammirovanie s obratnoj svyaziyu" (Cipher Feedback, CFB) mode, and IV is + * used as the initialization vector. + * + * @memberOf GostCipher + * @method encrypt + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv initial vector + * @return {CryptoOperationData} result + */ +function encryptCFB(k, d, iv) // +{ + var s = new Uint8Array(iv || this.iv), + c = cloneArray(d), + m = s.length, + t = new Uint8Array(m), + b = this.shiftBits >> 3, + cb = c.length, r = cb % b, q = (cb - r) / b, + key = this.keySchedule(k); + + for (var i = 0; i < q; i++) { + + for (var j = 0; j < m; j++) + t[j] = s[j]; + + this.process(key, s); + + for (var j = 0; j < b; j++) + c[i * b + j] ^= s[j]; + + for (var j = 0; j < m - b; j++) + s[j] = t[b + j]; + + for (var j = 0; j < b; j++) + s[m - b + j] = c[i * b + j]; + + k = this.keyMeshing(k, s, i, key); + } + + if (r > 0) { + this.process(key, s); + + for (var i = 0; i < r; i++) + c[q * b + i] ^= s[i]; + } + return c.buffer; +} // + +/** + * Algorithm name GOST 28147-CFB

+ * + * decryptCFB (IV, K, D) is D, decrypted with key K using GOST 28147/GOST R 34.13 + * in "gammirovanie s obratnoj svyaziyu po shifrotekstu" (Cipher Feedback, CFB) mode, and IV is + * used as the initialization vector. + * + * @memberOf GostCipher + * @method decrypt + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv initial vector + * @return {CryptoOperationData} result + */ +function decryptCFB(k, d, iv) // +{ + var s = new Uint8Array(iv || this.iv), + c = cloneArray(d), + m = s.length, + t = new Uint8Array(m), + b = this.shiftBits >> 3, + cb = c.length, r = cb % b, q = (cb - r) / b, + key = this.keySchedule(k); + + for (var i = 0; i < q; i++) { + + for (var j = 0; j < m; j++) + t[j] = s[j]; + + this.process(key, s); + + for (var j = 0; j < b; j++) { + t[j] = c[i * b + j]; + c[i * b + j] ^= s[j]; + } + + for (var j = 0; j < m - b; j++) + s[j] = t[b + j]; + + for (var j = 0; j < b; j++) + s[m - b + j] = t[j]; + + k = this.keyMeshing(k, s, i, key); + } + + if (r > 0) { + this.process(key, s); + + for (var i = 0; i < r; i++) + c[q * b + i] ^= s[i]; + } + return c.buffer; +} // + +/** + * Algorithm name GOST 28147-OFB

+ * + * encryptOFB/decryptOFB (IV, K, D) is D, encrypted with key K using GOST 28147/GOST R 34.13 + * in "gammirovanie s obratnoj svyaziyu po vyhodu" (Output Feedback, OFB) mode, and IV is + * used as the initialization vector. + * + * @memberOf GostCipher + * @method encrypt + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv 8x8 optional bits initial vector + * @return {CryptoOperationData} result + */ +/** + * Algorithm name GOST 28147-OFB

+ * + * encryptOFB/decryptOFB (IV, K, D) is D, encrypted with key K using GOST 28147/GOST R 34.13 + * in "gammirovanie s obratnoj svyaziyu po vyhodu" (Output Feedback, OFB) mode, and IV is + * used as the initialization vector. + * + * @memberOf GostCipher + * @method decrypt + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv initial vector + * @return {CryptoOperationData} result + */ +function processOFB(k, d, iv) // +{ + var s = new Uint8Array(iv || this.iv), + c = cloneArray(d), + m = s.length, + t = new Uint8Array(m), + b = this.shiftBits >> 3, + p = new Uint8Array(b), + cb = c.length, r = cb % b, q = (cb - r) / b, + key = this.keySchedule(k); + + for (var i = 0; i < q; i++) { + + for (var j = 0; j < m; j++) + t[j] = s[j]; + + this.process(key, s); + + for (var j = 0; j < b; j++) + p[j] = s[j]; + + for (var j = 0; j < b; j++) + c[i * b + j] ^= s[j]; + + for (var j = 0; j < m - b; j++) + s[j] = t[b + j]; + + for (var j = 0; j < b; j++) + s[m - b + j] = p[j]; + + k = this.keyMeshing(k, s, i, key); + } + + if (r > 0) { + this.process(key, s); + + for (var i = 0; i < r; i++) + c[q * b + i] ^= s[i]; + } + return c.buffer; +} // + +/** + * Algorithm name GOST 28147-CTR

+ * + * encryptCTR/decryptCTR (IV, K, D) is D, encrypted with key K using GOST 28147/GOST R 34.13 + * in "gammirovanie" (Counter Mode-CTR) mode, and IV is used as the + * initialization vector. + * @memberOf GostCipher + * @method encrypt + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv 8x8 optional bits initial vector + * @return {CryptoOperationData} result + */ +/** + * Algorithm name GOST 28147-CTR

+ * + * encryptCTR/decryptCTR (IV, K, D) is D, encrypted with key K using GOST 28147/GOST R 34.13 + * in "gammirovanie" (Counter Mode-CTR) mode, and IV is used as the + * initialization vector. + * @memberOf GostCipher + * @method decrypt + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv initial vector + * @return {CryptoOperationData} result + */ +function processCTR89(k, d, iv) // +{ + var s = new Uint8Array(iv || this.iv), + c = cloneArray(d), + b = this.blockSize, + t = new Int8Array(b), + cb = c.length, r = cb % b, q = (cb - r) / b, + key = this.keySchedule(k), + syn = new Int32Array(s.buffer); + + this.process(key, s); + + for (var i = 0; i < q; i++) { + syn[0] = (syn[0] + 0x1010101) & 0xffffffff; + // syn[1] = signed(unsigned((syn[1] + 0x1010104) & 0xffffffff) % 0xffffffff); + var tmp = unsigned(syn[1]) + 0x1010104; // Special thanks to Ilya Matveychikov + syn[1] = signed(tmp < 0x100000000 ? tmp : tmp - 0xffffffff); + + for (var j = 0; j < b; j++) + t[j] = s[j]; + + this.process(key, syn); + + for (var j = 0; j < b; j++) + c[i * b + j] ^= s[j]; + + for (var j = 0; j < b; j++) + s[j] = t[j]; + + k = this.keyMeshing(k, s, i, key); + } + if (r > 0) { + syn[0] = (syn[0] + 0x1010101) & 0xffffffff; + // syn[1] = signed(unsigned((syn[1] + 0x1010104) & 0xffffffff) % 0xffffffff); + var tmp = unsigned(syn[1]) + 0x1010104; // Special thanks to Ilya Matveychikov + syn[1] = signed(tmp < 0x100000000 ? tmp : tmp - 0xffffffff); + + this.process(key, syn); + + for (var i = 0; i < r; i++) + c[q * b + i] ^= s[i]; + } + return c.buffer; +} // + +function processCTR15(k, d, iv) // +{ + var c = cloneArray(d), + n = this.blockSize, + b = this.shiftBits >> 3, + cb = c.length, r = cb % b, q = (cb - r) / b, + s = new Uint8Array(n), + t = new Int32Array(n), + key = this.keySchedule(k); + + s.set(iv || this.iv); + for (var i = 0; i < q; i++) { + + for (var j = 0; j < n; j++) + t[j] = s[j]; + + this.process(key, s); + + for (var j = 0; j < b; j++) + c[b * i + j] ^= s[j]; + + for (var j = 0; j < n; j++) + s[j] = t[j]; + + for (var j = n - 1; i >= 0; --i) { + if (s[j] > 0xfe) { + s[j] -= 0xfe; + } else { + s[j]++; + break; + } + } + } + + if (r > 0) { + this.process(key, s); + for (var j = 0; j < r; j++) + c[b * q + j] ^= s[j]; + } + + return c.buffer; +} // + +/** + * Algorithm name GOST 28147-CBC

+ * + * encryptCBC (IV, K, D) is D, encrypted with key K using GOST 28147/GOST R 34.13 + * in "Prostaya zamena s zatsepleniem" (Cipher-Block-Chaining, CBC) mode and IV is used as the initialization + * vector. + * + * @memberOf GostCipher + * @method encrypt + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv initial vector + * @return {CryptoOperationData} result + */ +function encryptCBC(k, d, iv) // +{ + var s = new Uint8Array(iv || this.iv), + n = this.blockSize, + m = s.length, + c = this.pad(byteArray(d)), + key = this.keySchedule(k); + + for (var i = 0, b = c.length / n; i < b; i++) { + + for (var j = 0; j < n; j++) + s[j] ^= c[i * n + j]; + + this.process(key, s); + + for (var j = 0; j < n; j++) + c[i * n + j] = s[j]; + + if (m !== n) { + for (var j = 0; j < m - n; j++) + s[j] = s[n + j]; + + for (var j = 0; j < n; j++) + s[j + m - n] = c[i * n + j]; + } + + k = this.keyMeshing(k, s, i, key); + } + + return c.buffer; +} // + +/** + * Algorithm name GOST 28147-CBC

+ * + * decryptCBC (IV, K, D) is D, decrypted with key K using GOST 28147/GOST R 34.13 + * in "Prostaya zamena s zatsepleniem" (Cipher-Block-Chaining, CBC) mode and IV is used as the initialization + * vector. + * + * @memberOf GostCipher + * @method decrypt + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv initial vector + * @return {CryptoOperationData} result + */ +function decryptCBC(k, d, iv) // +{ + var s = new Uint8Array(iv || this.iv), + n = this.blockSize, + m = s.length, + c = cloneArray(d), + next = new Uint8Array(n), + key = this.keySchedule(k, 1); + + for (var i = 0, b = c.length / n; i < b; i++) { + + for (var j = 0; j < n; j++) + next[j] = c[i * n + j]; + + this.process(key, c, i * n, 1); + + for (var j = 0; j < n; j++) + c[i * n + j] ^= s[j]; + + if (m !== n) { + for (var j = 0; j < m - n; j++) + s[j] = s[n + j]; + } + + for (var j = 0; j < n; j++) + s[j + m - n] = next[j]; + + k = this.keyMeshing(k, s, i, key, 1); + } + + return this.unpad(c).buffer; +} // + +/** + * The generateKey method returns a new generated key. + * + * @memberOf GostCipher + * @method generateKey + * @instance + * @return {CryptoOperationData} result + */ + +function generateKey() // +{ + // Simple generate 256 bit random seed + var k = new Uint8Array(this.keySize); + randomSeed(k); + return k.buffer; +} // + + +/** + * makeIMIT (K, D) is the 32-bit result of the GOST 28147/GOST R 34.13 in + * "imitovstavka" (MAC) mode, used with D as plaintext, K as key and IV + * as initialization vector. Note that the standard specifies its use + * in this mode only with an initialization vector of zero. + * + * @memberOf GostCipher + * @method processMAC + * @private + * @instance + * @param {Int32Array} key 8x32 bits key + * @param {Int32Array} s 8x8 sum array + * @param {Uint8Array} d 8 bits array with data + * @return {Uint8Array} result + */ +function processMAC89(key, s, d) // +{ + var c = zeroPad.call(this, byteArray(d)), + n = this.blockSize, + q = c.length / n, + sBox = this.sBox, + sum = new Int32Array(s.buffer); + + for (var i = 0; i < q; i++) { + + for (var j = 0; j < n; j++) + s[j] ^= c[i * n + j]; + + for (var j = 0; j < 16; j++) // 1-16 steps + round(sBox, sum, key[j]); + } +} // + +function processKeyMAC15(s) // +{ + var t = 0, n = s.length; + for (var i = n - 1; i >= 0; --i) { + var t1 = s[i] >>> 7; + s[i] = (s[i] << 1) & 0xff | t; + t = t1; + } + if (t !== 0) { + if (n === 16) + s[15] ^= 0x87; + else + s[7] ^= 0x1b; + } +} // + +function processMAC15(key, s, d) // +{ + var n = this.blockSize, + sBox = this.sBox, c = byteArray(d), + r = new Uint8Array(n); + // R + this.process(key, r); + // K1 + processKeyMAC15(r); + if (d.byteLength % n !== 0) { + c = bitPad.call(this, byteArray(d)); + // K2 + processKeyMAC15(r); + } + + for (var i = 0, q = c.length / n; i < q; i++) { + + for (var j = 0; j < n; j++) + s[j] ^= c[i * n + j]; + + if (i === q - 1) {// Last block + for (var j = 0; j < n; j++) + s[j] ^= r[j]; + } + + this.process(key, s); + } +} // + +/** + * signMAC (K, D, IV) is the 32-bit result of the GOST 28147/GOST R 34.13 in + * "imitovstavka" (MAC) mode, used with D as plaintext, K as key and IV + * as initialization vector. Note that the standard specifies its use + * in this mode only with an initialization vector of zero. + * + * @memberOf GostCipher + * @method sign + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv initial vector + * @return {CryptoOperationData} result + */ +function signMAC(k, d, iv) // +{ + var key = this.keySchedule(k), + s = new Uint8Array(iv || this.iv), + m = Math.ceil(this.macLength >> 3) || this.blockSize >> 1; + + this.processMAC(key, s, d); + + var mac = new Uint8Array(m); // mac size + mac.set(new Uint8Array(s.buffer, 0, m)); + return mac.buffer; +} // + +/** + * verifyMAC (K, M, D, IV) the 32-bit result verification of the GOST 28147/GOST R 34.13 in + * "imitovstavka" (MAC) mode, used with D as plaintext, K as key and IV + * as initialization vector. Note that the standard specifies its use + * in this mode only with an initialization vector of zero. + * + * @memberOf GostCipher + * @method verify + * @instance + * @param {CryptoOperationData} k 8x32 bits key + * @param {CryptoOperationData} m 8 bits array with signature + * @param {CryptoOperationData} d 8 bits array with data + * @param {CryptoOperationData} iv 8x8 optional bits initial vector + * @return {boolen} MAC verified = true + */ +function verifyMAC(k, m, d, iv) // +{ + var mac = new Uint8Array(signMAC.call(this, k, d, iv)), + test = byteArray(m); + if (mac.length !== test.length) + return false; + for (var i = 0, n = mac.length; i < n; i++) + if (mac[i] !== test[i]) + return false; + return true; +} // + +/** + * Algorithm name GOST 28147-KW

+ * + * This algorithm encrypts GOST 28147-89 CEK with a GOST 28147/GOST R 34.13 KEK. + * Ref. rfc4357 6.1 GOST 28147-89 Key Wrap + * Note: This algorithm MUST NOT be used with a KEK produced by VKO GOST + * R 34.10-94, because such a KEK is constant for every sender-recipient + * pair. Encrypting many different content encryption keys on the same + * constant KEK may reveal that KEK. + * + * @memberOf GostCipher + * @method wrapKey + * @instance + * @param {CryptoOperationData} kek Key encryption key + * @param {CryptoOperationData} cek Content encryption key + * @returns {CryptoOperationData} Encrypted cek + */ +function wrapKeyGOST(kek, cek) // +{ + var n = this.blockSize, k = this.keySize, len = k + (n >> 1); + // 1) For a unique symmetric KEK, generate 8 octets at random and call + // the result UKM. For a KEK, produced by VKO GOST R 34.10-2001, use + // the UKM that was used for key derivation. + if (!this.ukm) + throw new DataError('UKM must be defined'); + var ukm = new Uint8Array(this.ukm); + // 2) Compute a 4-byte checksum value, GOST 28147IMIT (UKM, KEK, CEK). + // Call the result CEK_MAC. + var mac = signMAC.call(this, kek, cek, ukm); + // 3) Encrypt the CEK in ECB mode using the KEK. Call the ciphertext CEK_ENC. + var enc = encryptECB.call(this, kek, cek); + // 4) The wrapped content-encryption key is (UKM | CEK_ENC | CEK_MAC). + var r = new Uint8Array(len); + r.set(new Uint8Array(enc), 0); + r.set(new Uint8Array(mac), k); + return r.buffer; +} // + +/** + * Algorithm name GOST 28147-KW

+ * + * This algorithm decrypts GOST 28147-89 CEK with a GOST 28147 KEK. + * Ref. rfc4357 6.2 GOST 28147-89 Key Unwrap + * + * @memberOf GostCipher + * @method unwrapKey + * @instance + * @param {type} kek Key encryption key + * @param {type} data Content encryption key + * @return {CryptoOperationData} result + */ +function unwrapKeyGOST(kek, data) // +{ + var n = this.blockSize, k = this.keySize, len = k + (n >> 1); + // 1) If the wrapped content-encryption key is not 44 octets, then error. + var d = buffer(data); + if (d.byteLength !== len) + throw new DataError('Wrapping key size must be ' + len + ' bytes'); + // 2) Decompose the wrapped content-encryption key into UKM, CEK_ENC, and CEK_MAC. + // UKM is the most significant (first) 8 octets. CEK_ENC is next 32 octets, + // and CEK_MAC is the least significant (last) 4 octets. + if (!this.ukm) + throw new DataError('UKM must be defined'); + var ukm = new Uint8Array(this.ukm), + enc = new Uint8Array(d, 0, k), + mac = new Uint8Array(d, k, n >> 1); + // 3) Decrypt CEK_ENC in ECB mode using the KEK. Call the output CEK. + var cek = decryptECB.call(this, kek, enc); + // 4) Compute a 4-byte checksum value, GOST 28147IMIT (UKM, KEK, CEK), + // compare the result with CEK_MAC. If they are not equal, then error. + var check = verifyMAC.call(this, kek, mac, cek, ukm); + if (!check) + throw new DataError('Error verify MAC of wrapping key'); + return cek; +} // + +/** + * Algorithm name GOST 28147-CPKW

+ * + * Given a random 64-bit UKM and a GOST 28147 key K, this algorithm + * creates a new GOST 28147-89 key K(UKM). + * Ref. rfc4357 6.3 CryptoPro KEK Diversification Algorithm + * + * @memberOf GostCipher + * @method diversify + * @instance + * @private + * @param {CryptoOperationData} kek Key encryption key + * @param {CryptoOperationData} ukm Random generated value + * @returns {CryptoOperationData} Diversified kek + */ +function diversifyKEK(kek, ukm) // +{ + var n = this.blockSize; + + // 1) Let K[0] = K; + var k = intArray(kek); + // 2) UKM is split into components a[i,j]: + // UKM = a[0]|..|a[7] (a[i] - byte, a[i,0]..a[i,7] - it’s bits) + var a = []; + for (var i = 0; i < n; i++) { + a[i] = []; + for (var j = 0; j < 8; j++) { + a[i][j] = (ukm[i] >>> j) & 0x1; + } + } + // 3) Let i be 0. + // 4) K[1]..K[8] are calculated by repeating the following algorithm + // eight times: + for (var i = 0; i < n; i++) { + // A) K[i] is split into components k[i,j]: + // K[i] = k[i,0]|k[i,1]|..|k[i,7] (k[i,j] - 32-bit integer) + // B) Vector S[i] is calculated: + // S[i] = ((a[i,0]*k[i,0] + ... + a[i,7]*k[i,7]) mod 2^32) | + // (((~a[i,0])*k[i,0] + ... + (~a[i,7])*k[i,7]) mod 2^32); + var s = new Int32Array(2); + for (var j = 0; j < 8; j++) { + if (a[i][j]) + s[0] = (s[0] + k[j]) & 0xffffffff; + else + s[1] = (s[1] + k[j]) & 0xffffffff; + } + // C) K[i+1] = encryptCFB (S[i], K[i], K[i]) + var iv = new Uint8Array(s.buffer); + k = new Int32Array(encryptCFB.call(this, k, k, iv)); + // D) i = i + 1 + } + // 5) Let K(UKM) be K[8]. + return k; +} // + +/** + * Algorithm name GOST 28147-CPKW

+ * + * This algorithm encrypts GOST 28147-89 CEK with a GOST 28147 KEK. + * It can be used with any KEK (e.g., produced by VKO GOST R 34.10-94 or + * VKO GOST R 34.10-2001) because a unique UKM is used to diversify the KEK. + * Ref. rfc4357 6.3 CryptoPro Key Wrap + * + * @memberOf GostCipher + * @method wrapKey + * @instance + * @param {CryptoOperationData} kek Key encryption key + * @param {CryptoOperationData} cek Content encryption key + * @returns {CryptoOperationData} Encrypted cek + */ +function wrapKeyCP(kek, cek) // +{ + var n = this.blockSize, k = this.keySize, len = k + (n >> 1); + // 1) For a unique symmetric KEK or a KEK produced by VKO GOST R + // 34.10-94, generate 8 octets at random. Call the result UKM. For + // a KEK, produced by VKO GOST R 34.10-2001, use the UKM that was + // used for key derivation. + if (!this.ukm) + throw new DataError('UKM must be defined'); + var ukm = new Uint8Array(this.ukm); + // 2) Diversify KEK, using the CryptoPro KEK Diversification Algorithm, + // described in Section 6.5. Call the result KEK(UKM). + var dek = diversifyKEK.call(this, kek, ukm); + // 3) Compute a 4-byte checksum value, GOST 28147IMIT (UKM, KEK(UKM), + // CEK). Call the result CEK_MAC. + var mac = signMAC.call(this, dek, cek, ukm); + // 4) Encrypt CEK in ECB mode using KEK(UKM). Call the ciphertext + // CEK_ENC. + var enc = encryptECB.call(this, dek, cek); + // 5) The wrapped content-encryption key is (UKM | CEK_ENC | CEK_MAC). + var r = new Uint8Array(len); + r.set(new Uint8Array(enc), 0); + r.set(new Uint8Array(mac), k); + return r.buffer; +} // + +/** + * Algorithm name GOST 28147-CPKW

+ * + * This algorithm encrypts GOST 28147-89 CEK with a GOST 28147 KEK. + * Ref. rfc4357 6.4 CryptoPro Key Unwrap + * + * @memberOf GostCipher + * @method unwrapKey + * @instance + * @param {CryptoOperationData} kek Key encryption key + * @param {CryptoOperationData} data Encrypted content encryption keu + * @return {CryptoOperationData} result Decrypted content encryption keu + */ +function unwrapKeyCP(kek, data) // +{ + var n = this.blockSize, k = this.keySize, len = k + (n >> 1); + // 1) If the wrapped content-encryption key is not 44 octets, then error. + var d = buffer(data); + if (d.byteLength !== len) + throw new DataError('Wrapping key size must be ' + len + ' bytes'); + // 2) Decompose the wrapped content-encryption key into UKM, CEK_ENC, + // and CEK_MAC. UKM is the most significant (first) 8 octets. + // CEK_ENC is next 32 octets, and CEK_MAC is the least significant + // (last) 4 octets. + if (!this.ukm) + throw new DataError('UKM must be defined'); + var ukm = new Uint8Array(this.ukm), + enc = new Uint8Array(d, 0, k), + mac = new Uint8Array(d, k, n >> 1); + // 3) Diversify KEK using the CryptoPro KEK Diversification Algorithm, + // described in section 6.5. Call the result KEK(UKM). + var dek = diversifyKEK.call(this, kek, ukm); + // 4) Decrypt CEK_ENC in ECB mode using KEK(UKM). Call the output CEK. + var cek = decryptECB.call(this, dek, enc); + // 5) Compute a 4-byte checksum value, GOST 28147IMIT (UKM, KEK(UKM), + // CEK), compare the result with CEK_MAC. If they are not equal, + // then it is an error. + var check = verifyMAC.call(this, dek, mac, cek, ukm); + if (!check) + throw new DataError('Error verify MAC of wrapping key'); + return cek; +} // + +/** + * SignalCom master key packing algorithm + * + * kek stored in 3 files - kek.opq, mk.db3, masks.db3 + * kek.opq - always 36 bytes length = 32 bytes encrypted kek + 4 bytes mac of decrypted kek + * mk.db3 - 6 bytes header (1 byte magic code 0x22 + 1 byte count of masks + 4 bytes mac of + * xor summarizing masks value) + attached masks + * masks.db3 - detached masks. + * Total length of attached + detached masks = 32 bits * count of masks + * Default value of count 8 = (7 attached + 1 detached). But really no reason for such + * separation - all masks xor summarizing - order is not matter. + * Content of file rand.opq can used as ukm. Don't forget change file content after using. + * + * For usb-token files has names: + * a001 - mk.db3, b001 - masks.db3, c001 - kek.opq, d001 - rand.opq + * For windows registry + * 00000001 - mk.db3, 00000002 - masks.db3, 00000003 - key.opq, 00000004 - rand.opq, + * 00000006 - keys\00000001.key, 0000000A - certificate + * + * @memberOf GostCipher + * @method packKey + * @instance + * @private + * @param {CryptoOperationData} unpacked - clear main key 32 bytes + * @param {CryptoOperationData} ukm - random vector for packing - 32 bytes * (count of masks - 1) + * @returns {CryptoOperationData} packed master key - concatination of mk.db3 + masks.db3 + */ +function packKeySC(unpacked, ukm) // +{ + var m = this.blockSize >> 1, k = this.keySize; + var mcount = 8; + var key = new Uint8Array(buffer(unpacked)); + if (key.byteLength !== k) + throw new DataError('Wrong cleartext size ' + key.byteLength + ' bytes'); + // Check or generate UKM + ukm = ukm || this.ukm; + if (ukm) { + ukm = new Uint8Array(buffer(ukm)); + if (ukm.byteLength > 0 && ukm.byteLength % k === 0) + mcount = ukm.byteLength / k + 1; + else + throw new DataError('Wrong rand size ' + ukm.byteLength + ' bytes'); + } else + randomSeed(ukm = new Uint8Array((mcount - 1) * k)); + // Output array + var d = new Uint8Array(mcount * k + m + 2), b = d.buffer; + // Calculate MAC + var zero32 = new Uint8Array(k); + var mac = signMAC.call(this, key, zero32); + d[0] = 0x22; // Magic code + d[1] = mcount; // Count of masks + d.set(new Uint8Array(mac), 2); + d.set(ukm, k + m + 2); + for (var i = 1; i < mcount; i++) { + var mask = new Uint8Array(b, 2 + m + k * i); + for (var j = 0; j < k; j++) + key[j] ^= mask[j]; + } + d.set(key, m + 2); + return d.buffer; +} // + +/** + * Algorithm name GOST 28147-SCKW

+ * + * SignalCom master key unpacking algorithm + * + * @memberOf GostCipher + * @method unpackKey + * @instance + * @private + * @param {CryptoOperationData} packed - concatination of mk.db3 + masks.db3 + * @returns {CryptoOperationData} unpacked master key + */ +function unpackKeySC(packed) // +{ + var m = this.blockSize >> 1, k = this.keySize; + var b = buffer(packed); + // Unpack master key + var magic = new Uint8Array(b, 0, 1)[0]; + if (magic !== 0x22) + throw new DataError('Invalid magic number'); + var mcount = new Uint8Array(b, 1, 1)[0]; + var mac = new Uint8Array(b, 2, m); // MAC for summarized mask + // Compute packKey xor summing for all masks + var key = new Uint8Array(k); + for (var i = 0; i < mcount; i++) { + var mask = new Uint8Array(b, 2 + m + k * i, k); + for (var j = 0; j < k; j++) + key[j] ^= mask[j]; + } + // Test MAC for packKey with default sBox on zero 32 bytes array + var zero32 = new Uint8Array(k); + var test = verifyMAC.call(this, key, mac, zero32); + if (!test) { + // Try to use different sBoxes + var names = ['E-A', 'E-B', 'E-C', 'E-D', 'E-SC']; + for (var i = 0, n = names.length; i < n; i++) { + this.sBox = sBoxes[names[i]]; + test = verifyMAC.call(this, key, mac, zero32); + if (test) + break; + } + } + if (!test) + throw new DataError('Invalid main key MAC'); + return key.buffer; +} // + +/** + * Algorithm name GOST 28147-SCKW

+ * + * SignalCom Key Wrapping algorithm + * + * @memberOf GostCipher + * @method wrapKey + * @instance + * @param {CryptoOperationData} kek - clear kek or concatination of mk.db3 + masks.db3 + * @param {CryptoOperationData} cek - key for wrapping + * @returns {CryptoOperationData} wrapped key - file kek.opq + */ +function wrapKeySC(kek, cek) // +{ + var m = this.blockSize >> 1, n = this.keySize; + var k = buffer(kek); + var c = buffer(cek); + if (k.byteLength !== n) + k = unpackKeySC.call(this, k); + var enc = encryptECB.call(this, k, c); + var mac = signMAC.call(this, k, c); + var d = new Uint8Array(m + n); + d.set(new Uint8Array(enc), 0); + d.set(new Uint8Array(mac), n); + return d.buffer; +} // + +/** + * Algorithm name GOST 28147-SCKW

+ * + * SignalCom Key UnWrapping algorithm + * + * @memberOf GostCipher + * @method unwrapKey + * @instance + * @param {CryptoOperationData} kek - concatination of files mk.db3 + masks.db3 or clear kek + * @param {CryptoOperationData} cek - wrapping key - file kek.opq + * @return {CryptoOperationData} result + */ +function unwrapKeySC(kek, cek) // +{ + var m = this.blockSize >> 1, n = this.keySize; + var k = buffer(kek); + var c = buffer(cek); + if (k.byteLength !== n) + k = unpackKeySC.call(this, k); + var enc = new Uint8Array(c, 0, n); // Encrypted kek + var mac = new Uint8Array(c, n, m); // MAC for clear kek + var d = decryptECB.call(this, k, enc); + if (!verifyMAC.call(this, k, mac, d)) + throw new DataError('Invalid key MAC'); + return d; +} // + +/** + * Algorithm name GOST 28147-SCKW

+ * + * SignalCom master key generation for wrapping + * + * @memberOf GostCipher + * @method generateKey + * @instance + * @return {CryptoOperationData} result + */ +function generateWrappingKeySC() // +{ + return packKeySC.call(this, generateKey.call(this)); +} // + +function maskKey(mask, key, inverse, keySize) // +{ + var k = keySize / 4, + m32 = new Int32Array(buffer(mask)), + k32 = new Int32Array(buffer(key)), + r32 = new Int32Array(k); + if (inverse) + for (var i = 0; i < k; i++) + r32[i] = (k32[i] + m32[i]) & 0xffffffff; + else + for (var i = 0; i < k; i++) + r32[i] = (k32[i] - m32[i]) & 0xffffffff; + return r32.buffer; +} // + +/** + * Algorithm name GOST 28147-MASK

+ * + * This algorithm wrap key mask + * + * @memberOf GostCipher + * @method wrapKey + * @instance + * @param {CryptoOperationData} mask The mask + * @param {CryptoOperationData} key The key + * @returns {CryptoOperationData} The masked key + */ +function wrapKeyMask(mask, key) // +{ + return maskKey(mask, key, this.procreator === 'VN', this.keySize); +} // + +/** + * Algorithm name GOST 28147-CPKW

+ * + * This algorithm unwrap key mask + * + * @memberOf GostCipher + * @method unwrapKey + * @instance + * @param {CryptoOperationData} mask The mask + * @param {CryptoOperationData} key The masked key + * @return {CryptoOperationData} result The key + */ +function unwrapKeyMask(mask, key) // +{ + return maskKey(mask, key, this.procreator !== 'VN', this.keySize); +} // + +/** + * Algorithm name GOST 28147-CPKM

+ * + * Key meshing in according to rfc4357 2.3.2. CryptoPro Key Meshing + * + * @memberOf GostCipher + * @method keyMeshing + * @instance + * @private + * @param {(Uint8Array|CryptoOperationData)} k 8x8 bit key + * @param {Uint8Array} s 8x8 bit sync (iv) + * @param {Integer} i block index + * @param {Int32Array} key 8x32 bit key schedule + * @param {boolean} e true - decrypt + * @returns CryptoOperationData next 8x8 bit key + */ +function keyMeshingCP(k, s, i, key, e) // +{ + if ((i + 1) * this.blockSize % 1024 === 0) { // every 1024 octets + // K[i+1] = decryptECB (K[i], C); + k = decryptECB.call(this, k, C); + // IV0[i+1] = encryptECB (K[i+1],IVn[i]) + s.set(new Uint8Array(encryptECB.call(this, k, s))); + // restore key schedule + key.set(this.keySchedule(k, e)); + } + return k; +} // + +/** + * Null Key Meshing in according to rfc4357 2.3.1 + * + * @memberOf GostCipher + * @method keyMeshing + * @instance + * @private + * @param {(Uint8Array|CryptoOperationData)} k 8x8 bit key + */ +function noKeyMeshing(k) // +{ + return k; +} // + +/** + * Algorithm name GOST 28147-NoPadding

+ * + * No padding. + * + * @memberOf GostCipher + * @method padding + * @instance + * @private + * @param {Uint8Array} d array with source data + * @returns {Uint8Array} result + */ +function noPad(d) // +{ + return new Uint8Array(d); +} // + +/** + * Algorithm name GOST 28147-PKCS5Padding

+ * + * PKCS#5 padding: 8-x remaining bytes are filled with the value of + * 8-x. If there’s no incomplete block, one extra block filled with + * value 8 is added + * + * @memberOf GostCipher + * @method padding + * @instance + * @private + * @param {Uint8Array} d array with source data + * @returns {Uint8Array} result + */ +function pkcs5Pad(d) // +{ + var n = d.byteLength, + nb = this.blockSize, + q = nb - n % nb, + m = Math.ceil((n + 1) / nb) * nb, + r = new Uint8Array(m); + r.set(d); + for (var i = n; i < m; i++) + r[i] = q; + return r; +} // + +function pkcs5Unpad(d) // +{ + var m = d.byteLength, + nb = this.blockSize, + q = d[m - 1], + n = m - q; + if (q > nb) + throw DataError('Invalid padding'); + var r = new Uint8Array(n); + if (n > 0) + r.set(new Uint8Array(d.buffer, 0, n)); + return r; +} // + + +/** + * Algorithm name GOST 28147-ZeroPadding

+ * + * Zero padding: 8-x remaining bytes are filled with zero + * + * @memberOf GostCipher + * @method padding + * @instance + * @private + * @param {Uint8Array} d array with source data + * @returns {Uint8Array} result + */ +function zeroPad(d) // +{ + var n = d.byteLength, + nb = this.blockSize, + m = Math.ceil(n / nb) * nb, + r = new Uint8Array(m); + r.set(d); + for (var i = n; i < m; i++) + r[i] = 0; + return r; +} // + + +/** + * Algorithm name GOST 28147-BitPadding

+ * + * Bit padding: P* = P || 1 || 000...0 If there’s no incomplete block, + * one extra block filled with 1 || 000...0 + * + * @memberOf GostCipher + * @method padding + * @instance + * @private + * @param {Uint8Array} d array with source data + * @returns {Uint8Array} result + */ +function bitPad(d) // +{ + var n = d.byteLength, + nb = this.blockSize, + m = Math.ceil((n + 1) / nb) * nb, + r = new Uint8Array(m); + r.set(d); + r[n] = 1; + for (var i = n + 1; i < m; i++) + r[i] = 0; + return r; +} // + +function bitUnpad(d) // +{ + var m = d.byteLength, + n = m; + while (n > 1 && d[n - 1] === 0) + n--; + if (d[n - 1] !== 1) + throw DataError('Invalid padding'); + n--; + var r = new Uint8Array(n); + if (n > 0) + r.set(new Uint8Array(d.buffer, 0, n)); + return r; +} // + +/** + * Algorithm name GOST 28147-RandomPadding

+ * + * Random padding: 8-x remaining bytes of the last block are set to + * random. + * + * @memberOf GostCipher + * @method padding + * @instance + * @private + * @param {Uint8Array} d array with source data + * @returns {Uint8Array} result + */ +function randomPad(d) // +{ + var n = d.byteLength, + nb = this.blockSize, + q = nb - n % nb, + m = Math.ceil(n / nb) * nb, + r = new Uint8Array(m), e = new Uint8Array(r.buffer, n, q); + r.set(d); + randomSeed(e); + return r; +} // + +/** + * GOST 28147-89 Encryption Algorithm

+ * + * References {@link http://tools.ietf.org/html/rfc5830}

+ * + * When keys and initialization vectors are converted to/from byte arrays, + * little-endian byte order is assumed.

+ * + * Normalized algorithm identifier common parameters: + * + *
    + *
  • name Algorithm name 'GOST 28147' or 'GOST R 34.12'
  • + *
  • version Algorithm version, number + *
      + *
    • 1989 Current version of standard
    • + *
    • 2015 New draft version of standard
    • + *
    + *
  • + *
  • length Block length + *
      + *
    • 64 64 bits length (default)
    • + *
    • 128 128 bits length (only for version 2015)
    • + *
    + *
  • + *
  • mode Algorithm mode, string + *
      + *
    • ES Encryption mode (default)
    • + *
    • MAC "imitovstavka" (MAC) mode
    • + *
    • KW Key wrapping mode
    • + *
    + *
  • + *
  • sBox Paramset sBox for GOST 28147-89, string. Used only if version = 1989
  • + *
+ * + * Supported algorithms, modes and parameters: + * + *
    + *
  • Encript/Decrypt mode (ES) + *
      + *
    • block Block mode, string. Default ECB
    • + *
    • keyMeshing Key meshing mode, string. Default NO
    • + *
    • padding Padding mode, string. Default NO for CFB and CTR modes, or ZERO for others
    • + *
    • iv {@link CryptoOperationData} Initial vector with length of block. Default - zero block
    • + *
    + *
  • + *
  • Sign/Verify mode (MAC) + *
      + *
    • macLength Length of mac in bits (default - 32 bits)
    • + *
    • iv {@link CryptoOperationData} Initial vector with length of block. Default - zero block
    • + *
    + *
  • + *
  • Wrap/Unwrap key mode (KW) + *
      + *
    • keyWrapping Mode of keywrapping, string. Default NO - standard GOST key wrapping
    • + *
    • ukm {@link CryptoOperationData} User key material. Default - random generated value
    • + *
    + *
  • + *
+ * + * Supported paramters values: + * + *
    + *
  • Block modes (parameter 'block') + *
      + *
    • ECB "prostaya zamena" (ECB) mode (default)
    • + *
    • CFB "gammirovanie s obratnoj svyaziyu po shifrotekstu" (CFB) mode
    • + *
    • OFB "gammirovanie s obratnoj svyaziyu po vyhodu" (OFB) mode
    • + *
    • CTR "gammirovanie" (counter) mode
    • + *
    • CBC Cipher-Block-Chaining (CBC) mode
    • + *
    + *
  • + *
  • Key meshing modes (parameter 'keyMeshing') + *
      + *
    • NO No key wrapping (default)
    • + *
    • CP CryptoPor Key key meshing
    • + *
    + *
  • + *
  • Padding modes (parameter 'padding') + *
      + *
    • NO No padding only for CFB, OFB and CTR modes
    • + *
    • PKCS5 PKCS#5 padding mode
    • + *
    • ZERO Zero bits padding mode
    • + *
    • RANDOM Random bits padding mode
    • + *
    • BIT One bit padding mode
    • + *
    + *
  • + *
  • Wrapping key modes (parameter 'keyWrapping') + *
      + *
    • NO Ref. rfc4357 6.1 GOST 28147-89 Key wrapping
    • + *
    • CP CryptoPro Key wrapping mode
    • + *
    • SC SignalCom Key wrapping mode
    • + *
    + *
  • + *
+ * + * @class GostCipher + * @param {AlgorithmIndentifier} algorithm WebCryptoAPI algorithm identifier + */ +function GostCipher(algorithm) // +{ + // Check little endian support + if (!littleEndian) + throw new NotSupportedError('Big endian platform not supported'); + algorithm = algorithm || {}; + this.keySize = 32; + this.blockLength = algorithm.length || 64; + this.blockSize = this.blockLength >> 3; + + this.name = (algorithm.name || (algorithm.version === 1 ? 'RC2' : + algorithm.version === 1989 ? 'GOST 28147' : 'GOST R 34.12')) + + (algorithm.version > 4 ? '-' + ((algorithm.version || 1989) % 100) : '') + '-' + + (this.blockLength === 64 ? '' : this.blockLength + '-') + + ((algorithm.mode === 'MAC') ? 'MAC-' + (algorithm.macLength || this.blockLength >> 1) : + (algorithm.mode === 'KW' || algorithm.keyWrapping) ? + ((algorithm.keyWrapping || 'NO') !== 'NO' ? algorithm.keyWrapping : '') + 'KW' : + (algorithm.block || 'ECB') + ((algorithm.block === 'CFB' || algorithm.block === 'OFB' || + (algorithm.block === 'CTR' && algorithm.version === 2015)) && + algorithm.shiftBits && algorithm.shiftBits !== this.blockLength ? '-' + algorithm.shiftBits : '') + + (algorithm.padding ? '-' + (algorithm.padding || (algorithm.block === 'CTR' || + algorithm.block === 'CFB' || algorithm.block === 'OFB' ? 'NO' : 'ZERO')) + 'PADDING' : '') + + ((algorithm.keyMeshing || 'NO') !== 'NO' ? '-CPKEYMESHING' : '')) + + (algorithm.procreator ? '/' + algorithm.procreator : '') + + (typeof algorithm.sBox === 'string' ? '/' + algorithm.sBox : ''); + + // Algorithm procreator + this.procreator = algorithm.procreator; + + switch (algorithm.version || 1989) { + case 1: + this.process = processRC2; + this.keySchedule = keyScheduleRC2; + this.blockLength = 64; + this.effectiveLength = algorithm.length || 32; + this.keySize = 8 * Math.ceil(this.effectiveLength / 8); // Max 128 + this.blockSize = this.blockLength >> 3; + break; + case 2015: + this.version = 2015; + if (this.blockLength === 64) { + this.process = process15; + this.keySchedule = keySchedule15; + } else if (this.blockLength === 128) { + this.process = process128; + this.keySchedule = keySchedule128; + } else + throw new DataError('Invalid block length'); + this.processMAC = processMAC15; + break; + case 1989: + this.version = 1989; + this.process = process89; + this.processMAC = processMAC89; + this.keySchedule = keySchedule89; + if (this.blockLength !== 64) + throw new DataError('Invalid block length'); + break; + default: + throw new NotSupportedError('Algorithm version ' + algorithm.version + ' not supported'); + } + + switch (algorithm.mode || (algorithm.keyWrapping && 'KW') || 'ES') { + + case 'ES': + switch (algorithm.block || 'ECB') { + case 'ECB': + this.encrypt = encryptECB; + this.decrypt = decryptECB; + break; + case 'CTR': + if (this.version === 1989) { + this.encrypt = processCTR89; + this.decrypt = processCTR89; + } else { + this.encrypt = processCTR15; + this.decrypt = processCTR15; + this.shiftBits = algorithm.shiftBits || this.blockLength; + } + break + case 'CBC': + this.encrypt = encryptCBC; + this.decrypt = decryptCBC; + break + case 'CFB': + this.encrypt = encryptCFB; + this.decrypt = decryptCFB; + this.shiftBits = algorithm.shiftBits || this.blockLength; + break; + case 'OFB': + this.encrypt = processOFB; + this.decrypt = processOFB; + this.shiftBits = algorithm.shiftBits || this.blockLength; + break; + default: + throw new NotSupportedError('Block mode ' + algorithm.block + ' not supported'); + } + switch (algorithm.keyMeshing) { + case 'CP': + this.keyMeshing = keyMeshingCP; + break; + default: + this.keyMeshing = noKeyMeshing; + } + if (this.encrypt === encryptECB || this.encrypt === encryptCBC) { + switch (algorithm.padding) { + case 'PKCS5P': + this.pad = pkcs5Pad; + this.unpad = pkcs5Unpad; + break; + case 'RANDOM': + this.pad = randomPad; + this.unpad = noPad; + break; + case 'BIT': + this.pad = bitPad; + this.unpad = bitUnpad; + break; + default: + this.pad = zeroPad; + this.unpad = noPad; + } + } else { + this.pad = noPad; + this.unpad = noPad; + } + this.generateKey = generateKey; + break; + case 'MAC': + this.sign = signMAC; + this.verify = verifyMAC; + this.generateKey = generateKey; + this.macLength = algorithm.macLength || (this.blockLength >> 1); + this.pad = noPad; + this.unpad = noPad; + this.keyMeshing = noKeyMeshing; + break; + case 'KW': + this.pad = noPad; + this.unpad = noPad; + this.keyMeshing = noKeyMeshing; + switch (algorithm.keyWrapping) { + case 'CP': + this.wrapKey = wrapKeyCP; + this.unwrapKey = unwrapKeyCP; + this.generateKey = generateKey; + this.shiftBits = algorithm.shiftBits || this.blockLength; + break; + case 'SC': + this.wrapKey = wrapKeySC; + this.unwrapKey = unwrapKeySC; + this.generateKey = generateWrappingKeySC; + break; + default: + this.wrapKey = wrapKeyGOST; + this.unwrapKey = unwrapKeyGOST; + this.generateKey = generateKey; + } + break; + case 'MASK': + this.wrapKey = wrapKeyMask; + this.unwrapKey = unwrapKeyMask; + this.generateKey = generateKey; + break; + default: + throw new NotSupportedError('Mode ' + algorithm.mode + ' not supported'); + } + + // Define sBox parameter + var sBox = algorithm.sBox, sBoxName; + if (!sBox) + sBox = this.version === 2015 ? sBoxes['E-Z'] : this.procreator === 'SC' ? sBoxes['E-SC'] : sBoxes['E-A']; + else if (typeof sBox === 'string') { + sBoxName = sBox.toUpperCase(); + sBox = sBoxes[sBoxName]; + if (!sBox) + throw new SyntaxError('Unknown sBox name: ' + algorithm.sBox); + } else if (!sBox.length || sBox.length !== sBoxes['E-Z'].length) + throw new SyntaxError('Length of sBox must be ' + sBoxes['E-Z'].length); + this.sBox = sBox; + // Initial vector + if (algorithm.iv) { + this.iv = new Uint8Array(algorithm.iv); + if (this.iv.byteLength !== this.blockSize && this.version === 1989) + throw new SyntaxError('Length of iv must be ' + this.blockLength + ' bits'); + else if (this.iv.byteLength !== this.blockSize >> 1 && this.encrypt === processCTR15) + throw new SyntaxError('Length of iv must be ' + this.blockLength >> 1 + ' bits'); + else if (this.iv.byteLength % this.blockSize !== 0 && this.encrypt !== processCTR15) + throw new SyntaxError('Length of iv must be a multiple of ' + this.blockLength + ' bits'); + } else + this.iv = this.blockLength === 128 ? defaultIV128 : defaultIV; + // User key material + if (algorithm.ukm) { + this.ukm = new Uint8Array(algorithm.ukm); + if (this.ukm.byteLength * 8 !== this.blockLength) + throw new SyntaxError('Length of ukm must be ' + this.blockLength + ' bits'); + } +} // + +export default GostCipher; diff --git a/src/core/vendor/gost/gostCoding.mjs b/src/core/vendor/gost/gostCoding.mjs new file mode 100644 index 00000000..b3f2d72a --- /dev/null +++ b/src/core/vendor/gost/gostCoding.mjs @@ -0,0 +1,1160 @@ +/** + * Coding algorithms: Base64, Hex, Int16, Chars, BER and PEM + * version 1.76 + * 2014-2016, Rudolf Nickolaev. All rights reserved. + * + * Exported for CyberChef by mshwed [m@ttshwed.com] + */ + +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * 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. + * + */ + +import gostCrypto from './gostCrypto.mjs'; + +/** + * The Coding interface provides string converting methods: Base64, Hex, + * Int16, Chars, BER and PEM + * @class GostCoding + * + */ // +var root = {}; +var DataError = Error; +var CryptoOperationData = ArrayBuffer; +var Date = Date; + +function buffer(d) { + if (d instanceof CryptoOperationData) + return d; + else if (d && d.buffer && d.buffer instanceof CryptoOperationData) + return d.byteOffset === 0 && d.byteLength === d.buffer.byteLength ? + d.buffer : new Uint8Array(new Uint8Array(d, d.byteOffset, d.byteLength)).buffer; + else + throw new DataError('CryptoOperationData required'); +} // + +function GostCoding() { +} + +/** + * BASE64 conversion + * + * @class GostCoding.Base64 + */ +var Base64 = {// + /** + * Base64.decode convert BASE64 string s to CryptoOperationData + * + * @memberOf GostCoding.Base64 + * @param {String} s BASE64 encoded string value + * @returns {CryptoOperationData} Binary decoded data + */ + decode: function (s) { + s = s.replace(/[^A-Za-z0-9\+\/]/g, ''); + var n = s.length, + k = n * 3 + 1 >> 2, r = new Uint8Array(k); + + for (var m3, m4, u24 = 0, j = 0, i = 0; i < n; i++) { + m4 = i & 3; + var c = s.charCodeAt(i); + + c = c > 64 && c < 91 ? + c - 65 : c > 96 && c < 123 ? + c - 71 : c > 47 && c < 58 ? + c + 4 : c === 43 ? + 62 : c === 47 ? + 63 : 0; + + u24 |= c << 18 - 6 * m4; + if (m4 === 3 || n - i === 1) { + for (m3 = 0; m3 < 3 && j < k; m3++, j++) { + r[j] = u24 >>> (16 >>> m3 & 24) & 255; + } + u24 = 0; + + } + } + return r.buffer; + }, + /** + * Base64.encode(data) convert CryptoOperationData data to BASE64 string + * + * @memberOf GostCoding.Base64 + * @param {CryptoOperationData} data Bynary data for encoding + * @returns {String} BASE64 encoded data + */ + encode: function (data) { + var slen = 8, d = new Uint8Array(buffer(data)); + var m3 = 2, s = ''; + for (var n = d.length, u24 = 0, i = 0; i < n; i++) { + m3 = i % 3; + if (i > 0 && (i * 4 / 3) % (12 * slen) === 0) + s += '\r\n'; + u24 |= d[i] << (16 >>> m3 & 24); + if (m3 === 2 || n - i === 1) { + for (var j = 18; j >= 0; j -= 6) { + var c = u24 >>> j & 63; + c = c < 26 ? c + 65 : c < 52 ? c + 71 : c < 62 ? c - 4 : + c === 62 ? 43 : c === 63 ? 47 : 65; + s += String.fromCharCode(c); + } + u24 = 0; + } + } + return s.substr(0, s.length - 2 + m3) + (m3 === 2 ? '' : m3 === 1 ? '=' : '=='); + } // +}; + +/** + * BASE64 conversion + * + * @memberOf GostCoding + * @insnance + * @type GostCoding.Base64 + */ +GostCoding.prototype.Base64 = Base64; + +/** + * Text string conversion
+ * Methods support charsets: ascii, win1251, utf8, utf16 (ucs2, unicode), utf32 (ucs4) + * + * @class GostCoding.Chars + */ +var Chars = (function () { // + + var _win1251_ = { + 0x402: 0x80, 0x403: 0x81, 0x201A: 0x82, 0x453: 0x83, 0x201E: 0x84, 0x2026: 0x85, 0x2020: 0x86, 0x2021: 0x87, + 0x20AC: 0x88, 0x2030: 0x89, 0x409: 0x8A, 0x2039: 0x8B, 0x40A: 0x8C, 0x40C: 0x8D, 0x40B: 0x8E, 0x40f: 0x8f, + 0x452: 0x90, 0x2018: 0x91, 0x2019: 0x92, 0x201C: 0x93, 0x201D: 0x94, 0x2022: 0x95, 0x2013: 0x96, 0x2014: 0x97, + 0x2122: 0x99, 0x459: 0x9A, 0x203A: 0x9B, 0x45A: 0x9C, 0x45C: 0x9D, 0x45B: 0x9E, 0x45f: 0x9f, + 0xA0: 0xA0, 0x40E: 0xA1, 0x45E: 0xA2, 0x408: 0xA3, 0xA4: 0xA4, 0x490: 0xA5, 0xA6: 0xA6, 0xA7: 0xA7, + 0x401: 0xA8, 0xA9: 0xA9, 0x404: 0xAA, 0xAB: 0xAB, 0xAC: 0xAC, 0xAD: 0xAD, 0xAE: 0xAE, 0x407: 0xAf, + 0xB0: 0xB0, 0xB1: 0xB1, 0x406: 0xB2, 0x456: 0xB3, 0x491: 0xB4, 0xB5: 0xB5, 0xB6: 0xB6, 0xB7: 0xB7, + 0x451: 0xB8, 0x2116: 0xB9, 0x454: 0xBA, 0xBB: 0xBB, 0x458: 0xBC, 0x405: 0xBD, 0x455: 0xBE, 0x457: 0xBf + }; + var _win1251back_ = {}; + for (var from in _win1251_) { + var to = _win1251_[from]; + _win1251back_[to] = from; + } + + return { + /** + * Chars.decode(s, charset) convert string s with defined charset to CryptoOperationData + * + * @memberOf GostCoding.Chars + * @param {string} s Javascript string + * @param {string} charset Charset, default 'win1251' + * @returns {CryptoOperationData} Decoded binary data + */ + decode: function (s, charset) { + charset = (charset || 'win1251').toLowerCase().replace('-', ''); + var r = []; + for (var i = 0, j = s.length; i < j; i++) { + var c = s.charCodeAt(i); + if (charset === 'utf8') { + if (c < 0x80) { + r.push(c); + } else if (c < 0x800) { + r.push(0xc0 + (c >>> 6)); + r.push(0x80 + (c & 63)); + } else if (c < 0x10000) { + r.push(0xe0 + (c >>> 12)); + r.push(0x80 + (c >>> 6 & 63)); + r.push(0x80 + (c & 63)); + } else if (c < 0x200000) { + r.push(0xf0 + (c >>> 18)); + r.push(0x80 + (c >>> 12 & 63)); + r.push(0x80 + (c >>> 6 & 63)); + r.push(0x80 + (c & 63)); + } else if (c < 0x4000000) { + r.push(0xf8 + (c >>> 24)); + r.push(0x80 + (c >>> 18 & 63)); + r.push(0x80 + (c >>> 12 & 63)); + r.push(0x80 + (c >>> 6 & 63)); + r.push(0x80 + (c & 63)); + } else { + r.push(0xfc + (c >>> 30)); + r.push(0x80 + (c >>> 24 & 63)); + r.push(0x80 + (c >>> 18 & 63)); + r.push(0x80 + (c >>> 12 & 63)); + r.push(0x80 + (c >>> 6 & 63)); + r.push(0x80 + (c & 63)); + } + } else if (charset === 'unicode' || charset === 'ucs2' || charset === 'utf16') { + if (c < 0xD800 || (c >= 0xE000 && c <= 0x10000)) { + r.push(c >>> 8); + r.push(c & 0xff); + } else if (c >= 0x10000 && c < 0x110000) { + c -= 0x10000; + var first = ((0xffc00 & c) >> 10) + 0xD800; + var second = (0x3ff & c) + 0xDC00; + r.push(first >>> 8); + r.push(first & 0xff); + r.push(second >>> 8); + r.push(second & 0xff); + } + } else if (charset === 'utf32' || charset === 'ucs4') { + r.push(c >>> 24 & 0xff); + r.push(c >>> 16 & 0xff); + r.push(c >>> 8 & 0xff); + r.push(c & 0xff); + } else if (charset === 'win1251') { + if (c >= 0x80) { + if (c >= 0x410 && c < 0x450) // А..Яа..я + c -= 0x350; + else + c = _win1251_[c] || 0; + } + r.push(c); + } else + r.push(c & 0xff); + } + return new Uint8Array(r).buffer; + }, + /** + * Chars.encode(data, charset) convert CryptoOperationData data to string with defined charset + * + * @memberOf GostCoding.Chars + * @param {CryptoOperationData} data Binary data + * @param {string} charset Charset, default win1251 + * @returns {string} Encoded javascript string + */ + encode: function (data, charset) { + charset = (charset || 'win1251').toLowerCase().replace('-', ''); + var r = [], d = new Uint8Array(buffer(data)); + for (var i = 0, n = d.length; i < n; i++) { + var c = d[i]; + if (charset === 'utf8') { + c = c >= 0xfc && c < 0xfe && i + 5 < n ? // six bytes + (c - 0xfc) * 1073741824 + (d[++i] - 0x80 << 24) + (d[++i] - 0x80 << 18) + (d[++i] - 0x80 << 12) + (d[++i] - 0x80 << 6) + d[++i] - 0x80 + : c >> 0xf8 && c < 0xfc && i + 4 < n ? // five bytes + (c - 0xf8 << 24) + (d[++i] - 0x80 << 18) + (d[++i] - 0x80 << 12) + (d[++i] - 0x80 << 6) + d[++i] - 0x80 + : c >> 0xf0 && c < 0xf8 && i + 3 < n ? // four bytes + (c - 0xf0 << 18) + (d[++i] - 0x80 << 12) + (d[++i] - 0x80 << 6) + d[++i] - 0x80 + : c >= 0xe0 && c < 0xf0 && i + 2 < n ? // three bytes + (c - 0xe0 << 12) + (d[++i] - 0x80 << 6) + d[++i] - 0x80 + : c >= 0xc0 && c < 0xe0 && i + 1 < n ? // two bytes + (c - 0xc0 << 6) + d[++i] - 0x80 + : c; // one byte + } else if (charset === 'unicode' || charset === 'ucs2' || charset === 'utf16') { + c = (c << 8) + d[++i]; + if (c >= 0xD800 && c < 0xE000) { + var first = (c - 0xD800) << 10; + c = d[++i]; + c = (c << 8) + d[++i]; + var second = c - 0xDC00; + c = first + second + 0x10000; + } + } else if (charset === 'utf32' || charset === 'ucs4') { + c = (c << 8) + d[++i]; + c = (c << 8) + d[++i]; + c = (c << 8) + d[++i]; + } else if (charset === 'win1251') { + if (c >= 0x80) { + if (c >= 0xC0 && c < 0x100) + c += 0x350; // А..Яа..я + else + c = _win1251back_[c] || 0; + } + } + r.push(String.fromCharCode(c)); + } + return r.join(''); + } + }; // +})(); + +/** + * Text string conversion + * + * @memberOf GostCoding + * @insnance + * @type GostCoding.Chars + */ +GostCoding.prototype.Chars = Chars; + +/** + * HEX conversion + * + * @class GostCoding.Hex + */ +var Hex = {// + /** + * Hex.decode(s, endean) convert HEX string s to CryptoOperationData in endean mode + * + * @memberOf GostCoding.Hex + * @param {string} s Hex encoded string + * @param {boolean} endean Little or Big Endean, default Little + * @returns {CryptoOperationData} Decoded binary data + */ + decode: function (s, endean) { + s = s.replace(/[^A-fa-f0-9]/g, ''); + var n = Math.ceil(s.length / 2), r = new Uint8Array(n); + s = (s.length % 2 > 0 ? '0' : '') + s; + if (endean && ((typeof endean !== 'string') || + (endean.toLowerCase().indexOf('little') < 0))) + for (var i = 0; i < n; i++) + r[i] = parseInt(s.substr((n - i - 1) * 2, 2), 16); + else + for (var i = 0; i < n; i++) + r[i] = parseInt(s.substr(i * 2, 2), 16); + return r.buffer; + }, + /** + * Hex.encode(data, endean) convert CryptoOperationData data to HEX string in endean mode + * + * @memberOf GostCoding.Hex + * @param {CryptoOperationData} data Binary data + * @param {boolean} endean Little/Big Endean, default Little + * @returns {string} Hex decoded string + */ + encode: function (data, endean) { + var s = [], d = new Uint8Array(buffer(data)), n = d.length; + if (endean && ((typeof endean !== 'string') || + (endean.toLowerCase().indexOf('little') < 0))) + for (var i = 0; i < n; i++) { + var j = n - i - 1; + s[j] = (j > 0 && j % 32 === 0 ? '\r\n' : '') + + ('00' + d[i].toString(16)).slice(-2); + } + else + for (var i = 0; i < n; i++) + s[i] = (i > 0 && i % 32 === 0 ? '\r\n' : '') + + ('00' + d[i].toString(16)).slice(-2); + return s.join(''); + } // +}; + +/** + * HEX conversion + * @memberOf GostCoding + * @insnance + * @type GostCoding.Hex + */ +GostCoding.prototype.Hex = Hex; + +/** + * String hex-encoded integer conversion + * + * @class GostCoding.Int16 + */ +var Int16 = {// + /** + * Int16.decode(s) convert hex big insteger s to CryptoOperationData + * + * @memberOf GostCoding.Int16 + * @param {string} s Int16 string + * @returns {CryptoOperationData} Decoded binary data + */ + decode: function (s) { + s = (s || '').replace(/[^\-A-fa-f0-9]/g, ''); + if (s.length === 0) + s = '0'; + // Signature + var neg = false; + if (s.charAt(0) === '-') { + neg = true; + s = s.substring(1); + } + // Align 2 chars + while (s.charAt(0) === '0' && s.length > 1) + s = s.substring(1); + s = (s.length % 2 > 0 ? '0' : '') + s; + // Padding for singanuture + // '800000' - 'ffffff' - for positive + // '800001' - 'ffffff' - for negative + if ((!neg && !/^[0-7]/.test(s)) || + (neg && !/^[0-7]|8[0]+$/.test(s))) + s = '00' + s; + // Convert hex + var n = s.length / 2, r = new Uint8Array(n), t = 0; + for (var i = n - 1; i >= 0; --i) { + var c = parseInt(s.substr(i * 2, 2), 16); + if (neg && (c + t > 0)) { + c = 256 - c - t; + t = 1; + } + r[i] = c; + } + return r.buffer; + }, + /** + * Int16.encode(data) convert CryptoOperationData data to big integer hex string + * + * @memberOf GostCoding.Int16 + * @param {CryptoOperationData} data Binary data + * @returns {string} Int16 encoded string + */ + encode: function (data) { + var d = new Uint8Array(buffer(data)), n = d.length; + if (d.length === 0) + return '0x00'; + var s = [], neg = d[0] > 0x7f, t = 0; + for (var i = n - 1; i >= 0; --i) { + var v = d[i]; + if (neg && (v + t > 0)) { + v = 256 - v - t; + t = 1; + } + s[i] = ('00' + v.toString(16)).slice(-2); + } + s = s.join(''); + while (s.charAt(0) === '0') + s = s.substring(1); + return (neg ? '-' : '') + '0x' + s; + } // +}; + +/** + * String hex-encoded integer conversion + * @memberOf GostCoding + * @insnance + * @type GostCoding.Int16 + */ +GostCoding.prototype.Int16 = Int16; + +/** + * BER, DER, CER conversion + * + * @class GostCoding.BER + */ +var BER = (function () { // + + // Predefenition block + function encodeBER(source, format, onlyContent) { + // Correct primitive type + var object = source.object; + if (object === undefined) + object = source; + + // Determinate tagClass + var tagClass = source.tagClass = source.tagClass || 0; // Universial default + + // Determinate tagNumber. Use only for Universal class + if (tagClass === 0) { + var tagNumber = source.tagNumber; + if (typeof tagNumber === 'undefined') { + if (typeof object === 'string') { + if (object === '') // NULL + tagNumber = 0x05; + else if (/^\-?0x[0-9a-fA-F]+$/.test(object)) // INTEGER + tagNumber = 0x02; + else if (/^(\d+\.)+\d+$/.test(object)) // OID + tagNumber = 0x06; + else if (/^[01]+$/.test(object)) // BIT STRING + tagNumber = 0x03; + else if (/^(true|false)$/.test(object)) // BOOLEAN + tagNumber = 0x01; + else if (/^[0-9a-fA-F]+$/.test(object)) // OCTET STRING + tagNumber = 0x04; + else + tagNumber = 0x13; // Printable string (later can be changed to UTF8String) + } else if (typeof object === 'number') { // INTEGER + tagNumber = 0x02; + } else if (typeof object === 'boolean') { // BOOLEAN + tagNumber = 0x01; + } else if (object instanceof Array) { // SEQUENCE + tagNumber = 0x10; + } else if (object instanceof Date) { // GeneralizedTime + tagNumber = 0x18; + } else if (object instanceof CryptoOperationData || (object && object.buffer instanceof CryptoOperationData)) { + tagNumber = 0x04; + } else + throw new DataError('Unrecognized type for ' + object); + } + } + + // Determinate constructed + var tagConstructed = source.tagConstructed; + if (typeof tagConstructed === 'undefined') + tagConstructed = source.tagConstructed = object instanceof Array; + + // Create content + var content; + if (object instanceof CryptoOperationData || (object && object.buffer instanceof CryptoOperationData)) { // Direct + content = new Uint8Array(buffer(object)); + if (tagNumber === 0x03) { // BITSTRING + // Set unused bits + var a = new Uint8Array(buffer(content)); + content = new Uint8Array(a.length + 1); + content[0] = 0; // No unused bits + content.set(a, 1); + } + } else if (tagConstructed) { // Sub items coding + if (object instanceof Array) { + var bytelen = 0, ba = [], offset = 0; + for (var i = 0, n = object.length; i < n; i++) { + ba[i] = encodeBER(object[i], format); + bytelen += ba[i].length; + } + if (tagNumber === 0x11) + ba.sort(function (a, b) { // Sort order for SET components + for (var i = 0, n = Math.min(a.length, b.length); i < n; i++) { + var r = a[i] - b[i]; + if (r !== 0) + return r; + } + return a.length - b.length; + }); + if (format === 'CER') { // final for CER 00 00 + ba[n] = new Uint8Array(2); + bytelen += 2; + } + content = new Uint8Array(bytelen); + for (var i = 0, n = ba.length; i < n; i++) { + content.set(ba[i], offset); + offset = offset + ba[i].length; + } + } else + throw new DataError('Constracted block can\'t be primitive'); + } else { + switch (tagNumber) { + // 0x00: // EOC + case 0x01: // BOOLEAN + content = new Uint8Array(1); + content[0] = object ? 0xff : 0; + break; + case 0x02: // INTEGER + case 0x0a: // ENUMIRATED + content = Int16.decode( + typeof object === 'number' ? object.toString(16) : object); + break; + case 0x03: // BIT STRING + if (typeof object === 'string') { + var unusedBits = 7 - (object.length + 7) % 8; + var n = Math.ceil(object.length / 8); + content = new Uint8Array(n + 1); + content[0] = unusedBits; + for (var i = 0; i < n; i++) { + var c = 0; + for (var j = 0; j < 8; j++) { + var k = i * 8 + j; + c = (c << 1) + (k < object.length ? (object.charAt(k) === '1' ? 1 : 0) : 0); + } + content[i + 1] = c; + } + } + break; + case 0x04: + content = Hex.decode( + typeof object === 'number' ? object.toString(16) : object); + break; + // case 0x05: // NULL + case 0x06: // OBJECT IDENTIFIER + var a = object.match(/\d+/g), r = []; + for (var i = 1; i < a.length; i++) { + var n = +a[i], r1 = []; + if (i === 1) + n = n + a[0] * 40; + do { + r1.push(n & 0x7F); + n = n >>> 7; + } while (n); + // reverse order + for (j = r1.length - 1; j >= 0; --j) + r.push(r1[j] + (j === 0 ? 0x00 : 0x80)); + } + content = new Uint8Array(r); + break; + // case 0x07: // ObjectDescriptor + // case 0x08: // EXTERNAL + // case 0x09: // REAL + // case 0x0A: // ENUMERATED + // case 0x0B: // EMBEDDED PDV + case 0x0C: // UTF8String + content = Chars.decode(object, 'utf8'); + break; + // case 0x10: // SEQUENCE + // case 0x11: // SET + case 0x12: // NumericString + case 0x16: // IA5String // ASCII + case 0x13: // PrintableString // ASCII subset + case 0x14: // TeletexString // aka T61String + case 0x15: // VideotexString + case 0x19: // GraphicString + case 0x1A: // VisibleString // ASCII subset + case 0x1B: // GeneralString + // Reflect on character encoding + for (var i = 0, n = object.length; i < n; i++) + if (object.charCodeAt(i) > 255) + tagNumber = 0x0C; + if (tagNumber === 0x0C) + content = Chars.decode(object, 'utf8'); + else + content = Chars.decode(object, 'ascii'); + break; + case 0x17: // UTCTime + case 0x18: // GeneralizedTime + var result = object.original; + if (!result) { + var date = new Date(object); + date.setMinutes(date.getMinutes() + date.getTimezoneOffset()); // to UTC + var ms = tagNumber === 0x18 ? date.getMilliseconds().toString() : ''; // Milliseconds, remove trailing zeros + while (ms.length > 0 && ms.charAt(ms.length - 1) === '0') + ms = ms.substring(0, ms.length - 1); + if (ms.length > 0) + ms = '.' + ms; + result = (tagNumber === 0x17 ? date.getYear().toString().slice(-2) : date.getFullYear().toString()) + + ('00' + (date.getMonth() + 1)).slice(-2) + + ('00' + date.getDate()).slice(-2) + + ('00' + date.getHours()).slice(-2) + + ('00' + date.getMinutes()).slice(-2) + + ('00' + date.getSeconds()).slice(-2) + ms + 'Z'; + } + content = Chars.decode(result, 'ascii'); + break; + case 0x1C: // UniversalString + content = Chars.decode(object, 'utf32'); + break; + case 0x1E: // BMPString + content = Chars.decode(object, 'utf16'); + break; + } + } + + if (!content) + content = new Uint8Array(0); + if (content instanceof CryptoOperationData) + content = new Uint8Array(content); + + if (!tagConstructed && format === 'CER') { + // Encoding CER-form for string types + var k; + switch (tagNumber) { + case 0x03: // BIT_STRING + k = 1; // ingnore unused bit for bit string + case 0x04: // OCTET_STRING + case 0x0C: // UTF8String + case 0x12: // NumericString + case 0x13: // PrintableString + case 0x14: // TeletexString + case 0x15: // VideotexString + case 0x16: // IA5String + case 0x19: // GraphicString + case 0x1A: // VisibleString + case 0x1B: // GeneralString + case 0x1C: // UniversalString + case 0x1E: // BMPString + k = k || 0; + // Split content on 1000 octet len parts + var size = 1000; + var bytelen = 0, ba = [], offset = 0; + for (var i = k, n = content.length; i < n; i += size - k) { + ba[i] = encodeBER({ + object: new Unit8Array(content.buffer, i, Math.min(size - k, n - i)), + tagNumber: tagNumber, + tagClass: 0, + tagConstructed: false + }, format); + bytelen += ba[i].length; + } + ba[n] = new Uint8Array(2); // final for CER 00 00 + bytelen += 2; + content = new Uint8Array(bytelen); + for (var i = 0, n = ba.length; i < n; i++) { + content.set(ba[i], offset); + offset = offset + ba[i].length; + } + } + } + + // Restore tagNumber for all classes + if (tagClass === 0) + source.tagNumber = tagNumber; + else + source.tagNumber = tagNumber = source.tagNumber || 0; + source.content = content; + + if (onlyContent) + return content; + + // Create header + // tagNumber + var ha = [], first = tagClass === 3 ? 0xC0 : tagClass === 2 ? 0x80 : + tagClass === 1 ? 0x40 : 0x00; + if (tagConstructed) + first |= 0x20; + if (tagNumber < 0x1F) { + first |= tagNumber & 0x1F; + ha.push(first); + } else { + first |= 0x1F; + ha.push(first); + var n = tagNumber, ha1 = []; + do { + ha1.push(n & 0x7F); + n = n >>> 7; + } while (n) + // reverse order + for (var j = ha1.length - 1; j >= 0; --j) + ha.push(ha1[j] + (j === 0 ? 0x00 : 0x80)); + } + // Length + if (tagConstructed && format === 'CER') { + ha.push(0x80); + } else { + var len = content.length; + if (len > 0x7F) { + var l2 = len, ha2 = []; + do { + ha2.push(l2 & 0xff); + l2 = l2 >>> 8; + } while (l2); + ha.push(ha2.length + 0x80); // reverse order + for (var j = ha2.length - 1; j >= 0; --j) + ha.push(ha2[j]); + } else { + // simple len + ha.push(len); + } + } + var header = source.header = new Uint8Array(ha); + + // Result - complete buffer + var block = new Uint8Array(header.length + content.length); + block.set(header, 0); + block.set(content, header.length); + return block; + } + + function decodeBER(source, offset) { + + // start pos + var pos = offset || 0, start = pos; + var tagNumber, tagClass, tagConstructed, + content, header, buffer, sub, len; + + if (source.object) { + // Ready from source + tagNumber = source.tagNumber; + tagClass = source.tagClass; + tagConstructed = source.tagConstructed; + content = source.content; + header = source.header; + buffer = source.object instanceof CryptoOperationData ? + new Uint8Array(source.object) : null; + sub = source.object instanceof Array ? source.object : null; + len = buffer && buffer.length || null; + } else { + // Decode header + var d = source; + + // Read tag + var buf = d[pos++]; + tagNumber = buf & 0x1f; + tagClass = buf >> 6; + tagConstructed = (buf & 0x20) !== 0; + if (tagNumber === 0x1f) { // long tag + tagNumber = 0; + do { + if (tagNumber > 0x1fffffffffff80) + throw new DataError('Convertor not supported tag number more then (2^53 - 1) at position ' + offset); + buf = d[pos++]; + tagNumber = (tagNumber << 7) + (buf & 0x7f); + } while (buf & 0x80); + } + + // Read len + buf = d[pos++]; + len = buf & 0x7f; + if (len !== buf) { + if (len > 6) // no reason to use Int10, as it would be a huge buffer anyways + throw new DataError('Length over 48 bits not supported at position ' + offset); + if (len === 0) + len = null; // undefined + else { + buf = 0; + for (var i = 0; i < len; ++i) + buf = (buf << 8) + d[pos++]; + len = buf; + } + } + + start = pos; + sub = null; + + if (tagConstructed) { + // must have valid content + sub = []; + if (len !== null) { + // definite length + var end = start + len; + while (pos < end) { + var s = decodeBER(d, pos); + sub.push(s); + pos += s.header.length + s.content.length; + } + if (pos !== end) + throw new DataError('Content size is not correct for container starting at offset ' + start); + } else { + // undefined length + try { + for (; ; ) { + var s = decodeBER(d, pos); + pos += s.header.length + s.content.length; + if (s.tagClass === 0x00 && s.tagNumber === 0x00) + break; + sub.push(s); + } + len = pos - start; + } catch (e) { + throw new DataError('Exception ' + e + ' while decoding undefined length content at offset ' + start); + } + } + } + + // Header and content + header = new Uint8Array(d.buffer, offset, start - offset); + content = new Uint8Array(d.buffer, start, len); + buffer = content; + } + + // Constructed types - check for string concationation + if (sub !== null && tagClass === 0) { + var k; + switch (tagNumber) { + case 0x03: // BIT_STRING + k = 1; // ingnore unused bit for bit string + case 0x04: // OCTET_STRING + case 0x0C: // UTF8String + case 0x12: // NumericString + case 0x13: // PrintableString + case 0x14: // TeletexString + case 0x15: // VideotexString + case 0x16: // IA5String + case 0x19: // GraphicString + case 0x1A: // VisibleString + case 0x1B: // GeneralString + case 0x1C: // UniversalString + case 0x1E: // BMPString + k = k || 0; + // Concatination + if (sub.length === 0) + throw new DataError('No constructed encoding content of string type at offset ' + start); + len = k; + for (var i = 0, n = sub.length; i < n; i++) { + var s = sub[i]; + if (s.tagClass !== tagClass || s.tagNumber !== tagNumber || s.tagConstructed) + throw new DataError('Invalid constructed encoding of string type at offset ' + start); + len += s.content.length - k; + } + buffer = new Uint8Array(len); + for (var i = 0, n = sub.length, j = k; i < n; i++) { + var s = sub[i]; + if (k > 0) + buffer.set(s.content.subarray(1), j); + else + buffer.set(s.content, j); + j += s.content.length - k; + } + tagConstructed = false; // follow not required + sub = null; + break; + } + } + // Primitive types + var object = ''; + if (sub === null) { + if (len === null) + throw new DataError('Invalid tag with undefined length at offset ' + start); + + if (tagClass === 0) { + switch (tagNumber) { + case 0x01: // BOOLEAN + object = buffer[0] !== 0; + break; + case 0x02: // INTEGER + case 0x0a: // ENUMIRATED + if (len > 6) { + object = Int16.encode(buffer); + } else { + var v = buffer[0]; + if (buffer[0] > 0x7f) + v = v - 256; + for (var i = 1; i < len; i++) + v = v * 256 + buffer[i]; + object = v; + } + break; + case 0x03: // BIT_STRING + if (len > 5) { // Content buffer + object = new Uint8Array(buffer.subarray(1)).buffer; + } else { // Max bit mask only for 32 bit + var unusedBit = buffer[0], + skip = unusedBit, s = []; + for (var i = len - 1; i >= 1; --i) { + var b = buffer[i]; + for (var j = skip; j < 8; ++j) + s.push((b >> j) & 1 ? '1' : '0'); + skip = 0; + } + object = s.reverse().join(''); + } + break; + case 0x04: // OCTET_STRING + object = new Uint8Array(buffer).buffer; + break; + // case 0x05: // NULL + case 0x06: // OBJECT_IDENTIFIER + var s = '', + n = 0, + bits = 0; + for (var i = 0; i < len; ++i) { + var v = buffer[i]; + n = (n << 7) + (v & 0x7F); + bits += 7; + if (!(v & 0x80)) { // finished + if (s === '') { + var m = n < 80 ? n < 40 ? 0 : 1 : 2; + s = m + "." + (n - m * 40); + } else + s += "." + n.toString(); + n = 0; + bits = 0; + } + } + if (bits > 0) + throw new DataError('Incompleted OID at offset ' + start); + object = s; + break; + //case 0x07: // ObjectDescriptor + //case 0x08: // EXTERNAL + //case 0x09: // REAL + //case 0x0A: // ENUMERATED + //case 0x0B: // EMBEDDED_PDV + case 0x10: // SEQUENCE + case 0x11: // SET + object = []; + break; + case 0x0C: // UTF8String + object = Chars.encode(buffer, 'utf8'); + break; + case 0x12: // NumericString + case 0x13: // PrintableString + case 0x14: // TeletexString + case 0x15: // VideotexString + case 0x16: // IA5String + case 0x19: // GraphicString + case 0x1A: // VisibleString + case 0x1B: // GeneralString + object = Chars.encode(buffer, 'ascii'); + break; + case 0x1C: // UniversalString + object = Chars.encode(buffer, 'utf32'); + break; + case 0x1E: // BMPString + object = Chars.encode(buffer, 'utf16'); + break; + case 0x17: // UTCTime + case 0x18: // GeneralizedTime + var shortYear = tagNumber === 0x17; + var s = Chars.encode(buffer, 'ascii'), + m = (shortYear ? + /^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/ : + /^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/).exec(s); + if (!m) + throw new DataError('Unrecognized time format "' + s + '" at offset ' + start); + if (shortYear) { + // Where YY is greater than or equal to 50, the year SHALL be interpreted as 19YY; and + // Where YY is less than 50, the year SHALL be interpreted as 20YY + m[1] = +m[1]; + m[1] += (m[1] < 50) ? 2000 : 1900; + } + var dt = new Date(m[1], +m[2] - 1, +m[3], +(m[4] || '0'), +(m[5] || '0'), +(m[6] || '0'), +(m[7] || '0')), + tz = dt.getTimezoneOffset(); + if (m[8] || tagNumber === 0x17) { + if (m[8].toUpperCase() !== 'Z' && m[9]) { + tz = tz + parseInt(m[9]); + } + dt.setMinutes(dt.getMinutes() - tz); + } + dt.original = s; + object = dt; + break; + } + } else // OCTET_STRING + object = new Uint8Array(buffer).buffer; + } else + object = sub; + + // result + return { + tagConstructed: tagConstructed, + tagClass: tagClass, + tagNumber: tagNumber, + header: header, + content: content, + object: object + }; + } + + return { + /** + * BER.decode(object, format) convert javascript object to ASN.1 format CryptoOperationData

+ * If object has members tagNumber, tagClass and tagConstructed + * it is clear define encoding rules. Else method use defaul rules: + *
    + *
  • Empty string or null - NULL
  • + *
  • String starts with '0x' and has 0-9 and a-f characters - INTEGER
  • + *
  • String like d.d.d.d (d - set of digits) - OBJECT IDENTIFIER
  • + *
  • String with characters 0 and 1 - BIT STRING
  • + *
  • Strings 'true' or 'false' - BOOLEAN
  • + *
  • String has only 0-9 and a-f characters - OCTET STRING
  • + *
  • String has only characters with code 0-255 - PrintableString
  • + *
  • Other strings - UTF8String
  • + *
  • Number - INTEGER
  • + *
  • Date - GeneralizedTime
  • + *
  • Boolean - SEQUENCE
  • + *
  • CryptoOperationData - OCTET STRING
  • + *
+ * SEQUENCE or SET arrays recursively encoded for each item.
+ * OCTET STRING and BIT STRING can presents as array with one item. + * It means encapsulates encoding for child element.
+ * + * If CONTEXT or APPLICATION classes item presents as array with one + * item we use EXPLICIT encoding for element, else IMPLICIT encoding.
+ * + * @memberOf GostCoding.BER + * @param {Object} object Object to encoding + * @param {string} format Encoding rule: 'DER' or 'CER', default 'DER' + * @param {boolean} onlyContent Encode content only, without header + * @returns {CryptoOperationData} BER encoded data + */ + encode: function (object, format, onlyContent) { + return encodeBER(object, format, onlyContent).buffer; + }, + /** + * BER.encode(data) convert ASN.1 format CryptoOperationData data to javascript object

+ * + * Conversion rules to javascript object: + *
    + *
  • BOOLEAN - Boolean object
  • + *
  • INTEGER, ENUMIRATED - Integer object if len <= 6 (48 bits) else Int16 encoded string
  • + *
  • BIT STRING - Integer object if len <= 5 (w/o unsedBit octet - 32 bits) else String like '10111100' or Array with one item in case of incapsulates encoding
  • + *
  • OCTET STRING - Hex encoded string or Array with one item in case of incapsulates encoding
  • + *
  • OBJECT IDENTIFIER - String with object identifier
  • + *
  • SEQUENCE, SET - Array of encoded items
  • + *
  • UTF8String, NumericString, PrintableString, TeletexString, VideotexString, + * IA5String, GraphicString, VisibleString, GeneralString, UniversalString, + * BMPString - encoded String
  • + *
  • UTCTime, GeneralizedTime - Date
  • + *
+ * @memberOf GostCoding.BER + * @param {(CryptoOperationData|GostCoding.BER)} data Binary data to decode + * @returns {Object} Javascript object with result of decoding + */ + decode: function (data) { + return decodeBER(data.object ? data : new Uint8Array(buffer(data)), 0); + } + }; //
+})(); + +/** + * BER, DER, CER conversion + * @memberOf GostCoding + * @insnance + * @type GostCoding.BER + */ +GostCoding.prototype.BER = BER; + +/** + * PEM conversion + * @class GostCoding.PEM + */ +var PEM = {// + /** + * PEM.encode(data, name) encode CryptoOperationData to PEM format with name label + * + * @memberOf GostCoding.PEM + * @param {(Object|CryptoOperationData)} data Java script object or BER-encoded binary data + * @param {string} name Name of PEM object: 'certificate', 'private key' etc. + * @returns {string} Encoded object + */ + encode: function (data, name) { + return (name ? '-----BEGIN ' + name.toUpperCase() + '-----\r\n' : '') + + Base64.encode(data instanceof CryptoOperationData ? data : BER.encode(data)) + + (name ? '\r\n-----END ' + name.toUpperCase() + '-----' : ''); + }, + /** + * PEM.decode(s, name, deep) decode PEM format s labeled name to CryptoOperationData or javascript object in according to deep parameter + * + * @memberOf GostCoding.PEM + * @param {string} s PEM encoded string + * @param {string} name Name of PEM object: 'certificate', 'private key' etc. + * @param {boolean} deep If true method do BER-decoding, else only BASE64 decoding + * @param {integer} index Index of decoded value + * @returns {(Object|CryptoOperationData)} Decoded javascript object if deep=true, else CryptoOperationData for father BER decoding + */ + decode: function (s, name, deep, index) { + // Try clear base64 + var re1 = /([A-Za-z0-9\+\/\s\=]+)/g, + valid = re1.exec(s); + if (valid[1].length !== s.length) + valid = false; + if (!valid && name) { + // Try with the name + var re2 = new RegExp( + '-----\\s?BEGIN ' + name.toUpperCase() + + '-----([A-Za-z0-9\\+\\/\\s\\=]+)-----\\s?END ' + + name.toUpperCase() + '-----', 'g'); + valid = re2.exec(s); + } + if (!valid) { + // Try with some name + var re3 = new RegExp( + '-----\\s?BEGIN [A-Z0-9\\s]+' + + '-----([A-Za-z0-9\\+\\/\\s\\=]+)-----\\s?END ' + + '[A-Z0-9\\s]+-----', 'g'); + valid = re3.exec(s); + } + var r = valid && valid[1 + (index || 0)]; + if (!r) + throw new DataError('Not valid PEM format'); + var out = Base64.decode(r); + if (deep) + out = BER.decode(out); + return out; + } // +}; + +/** + * PEM conversion + * @memberOf GostCoding + * @insnance + * @type GostCoding.PEM + */ +GostCoding.prototype.PEM = PEM; + +if (gostCrypto) + /** + * Coding algorithms: Base64, Hex, Int16, Chars, BER and PEM + * + * @memberOf gostCrypto + * @type GostCoding + */ + gostCrypto.coding = new GostCoding(); + +export default GostCoding; \ No newline at end of file diff --git a/src/core/vendor/gost/gostCrypto.mjs b/src/core/vendor/gost/gostCrypto.mjs new file mode 100644 index 00000000..daf0cf97 --- /dev/null +++ b/src/core/vendor/gost/gostCrypto.mjs @@ -0,0 +1,1653 @@ +/** + * Implementation Web Crypto interfaces for GOST algorithms + * 1.76 + * 2014-2016, Rudolf Nickolaev. All rights reserved. + * + * Exported for CyberChef by mshwed [m@ttshwed.com] + */ + +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * 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. + * + */ + +import GostRandom from './gostRandom.mjs'; +import gostEngine from './gostEngine.mjs'; + +import crypto from 'crypto' + +/* +* Algorithm normalization +* +*/ // + +var root = {}; +root.gostEngine = gostEngine; + +var rootCrypto = crypto + +var SyntaxError = Error, + DataError = Error, + NotSupportedError = Error, + OperationError = Error, + InvalidStateError = Error, + InvalidAccessError = Error; + +// Normalize algorithm +function normalize(algorithm, method) { + if (typeof algorithm === 'string' || algorithm instanceof String) + algorithm = {name: algorithm}; + var name = algorithm.name; + if (!name) + throw new SyntaxError('Algorithm name not defined'); + // Extract algorithm modes from name + var modes = name.split('/'), modes = modes[0].split('-').concat(modes.slice(1)); + // Normalize the name with default modes + var na = {}; + name = modes[0].replace(/[\.\s]/g, ''); + modes = modes.slice(1); + if (name.indexOf('28147') >= 0) { + na = { + name: 'GOST 28147', + version: 1989, + mode: (algorithm.mode || (// ES, MAC, KW + (method === 'sign' || method === 'verify') ? 'MAC' : + (method === 'wrapKey' || method === 'unwrapKey') ? 'KW' : 'ES')).toUpperCase(), + length: algorithm.length || 64 + }; + } else if (name.indexOf('3412') >= 0) { + na = { + name: 'GOST R 34.12', + version: 2015, + mode: (algorithm.mode || (// ES, MAC, KW + (method === 'sign' || method === 'verify') ? 'MAC' : + (method === 'wrapKey' || method === 'unwrapKey') ? 'KW' : 'ES')).toUpperCase(), + length: algorithm.length || 64 // 128 + }; + } else if (name.indexOf('3411') >= 0) { + na = { + name: 'GOST R 34.11', + version: 2012, // 1994 + mode: (algorithm.mode || (// HASH, KDF, HMAC, PBKDF2, PFXKDF, CPKDF + (method === 'deriveKey' || method === 'deriveBits') ? 'KDF' : + (method === 'sign' || method === 'verify') ? 'HMAC' : 'HASH')).toUpperCase(), + length: algorithm.length || 256 // 512 + }; + } else if (name.indexOf('3410') >= 0) { + na = { + name: 'GOST R 34.10', + version: 2012, // 1994, 2001 + mode: (algorithm.mode || (// SIGN, DH, MASK + (method === 'deriveKey' || method === 'deriveBits') ? 'DH' : 'SIGN')).toUpperCase(), + length: algorithm.length || 256 // 512 + }; + } else if (name.indexOf('SHA') >= 0) { + na = { + name: 'SHA', + version: (algorithm.length || 160) === 160 ? 1 : 2, // 1, 2 + mode: (algorithm.mode || (// HASH, KDF, HMAC, PBKDF2, PFXKDF + (method === 'deriveKey' || method === 'deriveBits') ? 'KDF' : + (method === 'sign' || method === 'verify') ? 'HMAC' : 'HASH')).toUpperCase(), + length: algorithm.length || 160 + }; + } else if (name.indexOf('RC2') >= 0) { + na = { + name: 'RC2', + version: 1, + mode: (algorithm.mode || (// ES, MAC, KW + (method === 'sign' || method === 'verify') ? 'MAC' : + (method === 'wrapKey' || method === 'unwrapKey') ? 'KW' : 'ES')).toUpperCase(), + length: algorithm.length || 32 // 1 - 1024 + }; + } else if (name.indexOf('PBKDF2') >= 0) { + na = normalize(algorithm.hash, 'digest'); + na.mode = 'PBKDF2'; + } else if (name.indexOf('PFXKDF') >= 0) { + na = normalize(algorithm.hash, 'digest'); + na.mode = 'PFXKDF'; + } else if (name.indexOf('CPKDF') >= 0) { + na = normalize(algorithm.hash, 'digest'); + na.mode = 'CPKDF'; + } else if (name.indexOf('HMAC') >= 0) { + na = normalize(algorithm.hash, 'digest'); + na.mode = 'HMAC'; + } else + throw new NotSupportedError('Algorithm not supported'); + + // Compile modes + modes.forEach(function (mode) { + mode = mode.toUpperCase(); + if (/^[0-9]+$/.test(mode)) { + if ((['8', '16', '32'].indexOf(mode) >= 0) || (na.length === '128' && mode === '64')) { // Shift bits + if (na.mode === 'ES') + na.shiftBits = parseInt(mode); + else if (na.mode === 'MAC') + na.macLength = parseInt(mode); + else + throw new NotSupportedError('Algorithm ' + na.name + ' mode ' + mode + ' not supported'); + } else if (['89', '94', '01', '12', '15', '1989', '1994', '2001', '2012', '2015'].indexOf(mode) >= 0) { // GOST Year + var version = parseInt(mode); + version = version < 1900 ? (version < 80 ? 2000 + version : 1900 + version) : version; + na.version = version; + } else if (['1'].indexOf(mode) >= 0 && na.name === 'SHA') { // SHA-1 + na.version = 1; + na.length = 160; + } else if (['256', '384', '512'].indexOf(mode) >= 0 && na.name === 'SHA') { // SHA-2 + na.version = 2; + na.length = parseInt(mode); + } else if (['40', '128'].indexOf(mode) >= 0 && na.name === 'RC2') { // RC2 + na.version = 1; + na.length = parseInt(mode); // key size + } else if (['64', '128', '256', '512'].indexOf(mode) >= 0) // block size + na.length = parseInt(mode); + else if (['1000', '2000'].indexOf(mode) >= 0) // Iterations + na.iterations = parseInt(mode); + // Named Paramsets + } else if (['E-TEST', 'E-A', 'E-B', 'E-C', 'E-D', 'E-SC', 'E-Z', 'D-TEST', 'D-A', 'D-SC'].indexOf(mode) >= 0) { + na.sBox = mode; + } else if (['S-TEST', 'S-A', 'S-B', 'S-C', 'S-D', 'X-A', 'X-B', 'X-C'].indexOf(mode) >= 0) { + na.namedParam = mode; + } else if (['S-256-TEST', 'S-256-A', 'S-256-B', 'S-256-C', 'P-256', 'T-512-TEST', 'T-512-A', + 'T-512-B', 'X-256-A', 'X-256-B', 'T-256-TEST', 'T-256-A', 'T-256-B', 'S-256-B', 'T-256-C', 'S-256-C'].indexOf(mode) >= 0) { + na.namedCurve = mode; + } else if (['SC', 'CP', 'VN'].indexOf(mode) >= 0) { + na.procreator = mode; + + // Encription GOST 28147 or GOST R 34.12 + } else if (na.name === 'GOST 28147' || na.name === 'GOST R 34.12' || na.name === 'RC2') { + if (['ES', 'MAC', 'KW', 'MASK'].indexOf(mode) >= 0) { + na.mode = mode; + } else if (['ECB', 'CFB', 'OFB', 'CTR', 'CBC'].indexOf(mode) >= 0) { + na.mode = 'ES'; + na.block = mode; + } else if (['CPKW', 'NOKW', 'SCKW'].indexOf(mode) >= 0) { + na.mode = 'KW'; + na.keyWrapping = mode.replace('KW', ''); + } else if (['ZEROPADDING', 'PKCS5PADDING', 'NOPADDING', 'RANDOMPADDING', 'BITPADDING'].indexOf(mode) >= 0) { + na.padding = mode.replace('PADDING', ''); + } else if (['NOKM', 'CPKM'].indexOf(mode) >= 0) { + na.keyMeshing = mode.replace('KM', ''); + } else + throw new NotSupportedError('Algorithm ' + na.name + ' mode ' + mode + ' not supported'); + + // Digesting GOST 34.11 + } else if (na.name === 'GOST R 34.11' || na.name === 'SHA') { + if (['HASH', 'KDF', 'HMAC', 'PBKDF2', 'PFXKDF', 'CPKDF'].indexOf(mode) >= 0) + na.mode = mode; + else + throw new NotSupportedError('Algorithm ' + na.name + ' mode ' + mode + ' not supported'); + + // Signing GOST 34.10 + } else if (na.name === 'GOST R 34.10') { + var hash = mode.replace(/[\.\s]/g, ''); + if (hash.indexOf('GOST') >= 0 && hash.indexOf('3411') >= 0) + na.hash = mode; + else if (['SIGN', 'DH', 'MASK'].indexOf(mode)) + na.mode = mode; + else + throw new NotSupportedError('Algorithm ' + na.name + ' mode ' + mode + ' not supported'); + } + }); + + // Procreator + na.procreator = algorithm.procreator || na.procreator || 'CP'; + + // Key size + switch (na.name) { + case 'GOST R 34.10': + na.keySize = na.length / (na.version === 1994 ? 4 : 8); + break; + case 'GOST R 34.11': + na.keySize = 32; + break; + case 'GOST 28147': + case 'GOST R 34.12': + na.keySize = 32; + break; + case 'RC2': + na.keySize = Math.ceil(na.length / 8); + break; + case 'SHA': + na.keySize = na.length / 8; + break; + } + + // Encrypt additional modes + if (na.mode === 'ES') { + if (algorithm.block) + na.block = algorithm.block; // ECB, CFB, OFB, CTR, CBC + if (na.block) + na.block = na.block.toUpperCase(); + if (algorithm.padding) + na.padding = algorithm.padding; // NO, ZERO, PKCS5, RANDOM, BIT + if (na.padding) + na.padding = na.padding.toUpperCase(); + if (algorithm.shiftBits) + na.shiftBits = algorithm.shiftBits; // 8, 16, 32, 64 + if (algorithm.keyMeshing) + na.keyMeshing = algorithm.keyMeshing; // NO, CP + if (na.keyMeshing) + na.keyMeshing = na.keyMeshing.toUpperCase(); + // Default values + if (method !== 'importKey' && method !== 'generateKey') { + na.block = na.block || 'ECB'; + na.padding = na.padding || (na.block === 'CBC' || na.block === 'ECB' ? 'ZERO' : 'NO'); + if (na.block === 'CFB' || na.block === 'OFB') + na.shiftBits = na.shiftBits || na.length; + na.keyMeshing = na.keyMeshing || 'NO'; + } + } + if (na.mode === 'KW') { + if (algorithm.keyWrapping) + na.keyWrapping = algorithm.keyWrapping; // NO, CP, SC + if (na.keyWrapping) + na.keyWrapping = na.keyWrapping.toUpperCase(); + if (method !== 'importKey' && method !== 'generateKey') + na.keyWrapping = na.keyWrapping || 'NO'; + } + + // Paramsets + ['sBox', 'namedParam', 'namedCurve', 'curve', 'param', 'modulusLength'].forEach(function (name) { + algorithm[name] && (na[name] = algorithm[name]); + }); + // Default values + if (method !== 'importKey' && method !== 'generateKey') { + if (na.name === 'GOST 28147') { + na.sBox = na.sBox || (na.procreator === 'SC' ? 'E-SC' : 'E-A'); // 'E-A', 'E-B', 'E-C', 'E-D', 'E-SC' + } else if (na.name === 'GOST R 34.12' && na.length === 64) { + na.sBox = 'E-Z'; + } else if (na.name === 'GOST R 34.11' && na.version === 1994) { + na.sBox = na.sBox || (na.procreator === 'SC' ? 'D-SC' : 'D-A'); // 'D-SC' + } else if (na.name === 'GOST R 34.10' && na.version === 1994) { + na.namedParam = na.namedParam || (na.mode === 'DH' ? 'X-A' : 'S-A'); // 'S-B', 'S-C', 'S-D', 'X-B', 'X-C' + } else if (na.name === 'GOST R 34.10' && na.version === 2001) { + na.namedCurve = na.namedCurve || (na.length === 256 ? + na.procreator === 'SC' ? 'P-256' : (na.mode === 'DH' ? 'X-256-A' : 'S-256-A') : // 'S-256-B', 'S-256-C', 'X-256-B', 'T-256-A', 'T-256-B', 'T-256-C', 'P-256' + na.mode === 'T-512-A'); // 'T-512-B', 'T-512-C' + } else if (na.name === 'GOST R 34.10' && na.version === 2012) { + na.namedCurve = na.namedCurve || (na.length === 256 ? + na.procreator === 'SC' ? 'P-256' : (na.mode === 'DH' ? 'X-256-A' : 'S-256-A') : // 'S-256-B', 'S-256-C', 'X-256-B', 'T-256-A', 'T-256-B', 'T-256-C', 'P-256' + na.mode === 'T-512-A'); // 'T-512-B', 'T-512-C' + } + } + + // Vectors + switch (na.mode) { + case 'DH': + algorithm.ukm && (na.ukm = algorithm.ukm); + algorithm['public'] && (na['public'] = algorithm['public']); + break; + case 'SIGN': + case 'KW': + algorithm.ukm && (na.ukm = algorithm.ukm); + break; + case 'ES': + case 'MAC': + algorithm.iv && (na.iv = algorithm.iv); + break; + case 'KDF': + algorithm.label && (na.label = algorithm.label); + algorithm.contex && (na.context = algorithm.contex); + break; + case 'PBKDF2': + algorithm.salt && (na.salt = algorithm.salt); + algorithm.iterations && (na.iterations = algorithm.iterations); + algorithm.diversifier && (na.diversifier = algorithm.diversifier); + break; + case 'PFXKDF': + algorithm.salt && (na.salt = algorithm.salt); + algorithm.iterations && (na.iterations = algorithm.iterations); + algorithm.diversifier && (na.diversifier = algorithm.diversifier); + break; + case 'CPKDF': + algorithm.salt && (na.salt = algorithm.salt); + algorithm.iterations && (na.iterations = algorithm.iterations); + break; + } + + // Verification method and modes + if (method && ( + ((na.mode !== 'ES' && na.mode !== 'SIGN' && na.mode !== 'MAC' && + na.mode !== 'HMAC' && na.mode !== 'KW' && na.mode !== 'DH' + && na.mode !== 'MASK') && + (method === 'generateKey')) || + ((na.mode !== 'ES') && + (method === 'encrypt' || method === 'decrypt')) || + ((na.mode !== 'SIGN' && na.mode !== 'MAC' && na.mode !== 'HMAC') && + (method === 'sign' || method === 'verify')) || + ((na.mode !== 'HASH') && + (method === 'digest')) || + ((na.mode !== 'KW' && na.mode !== 'MASK') && + (method === 'wrapKey' || method === 'unwrapKey')) || + ((na.mode !== 'DH' && na.mode !== 'PBKDF2' && na.mode !== 'PFXKDF' && + na.mode !== 'CPKDF' && na.mode !== 'KDF') && + (method === 'deriveKey' || method === 'deriveBits')))) + throw new NotSupportedError('Algorithm mode ' + na.mode + ' not valid for method ' + method); + + // Normalize hash algorithm + algorithm.hash && (na.hash = algorithm.hash); + if (na.hash) { + if ((typeof na.hash === 'string' || na.hash instanceof String) + && na.procreator) + na.hash = na.hash + '/' + na.procreator; + na.hash = normalize(na.hash, 'digest'); + } + + // Algorithm object identirifer + algorithm.id && (na.id = algorithm.id); + + return na; +} + +// Check for possibility use native crypto.subtle +function checkNative(algorithm) { + if (!rootCrypto || !rootCrypto.subtle || !algorithm) + return false; + // Prepare name + var name = (typeof algorithm === 'string' || algorithm instanceof String) ? + name = algorithm : algorithm.name; + if (!name) + return false; + name = name.toUpperCase(); + // Digest algorithm for key derivation + if ((name.indexOf('KDF') >= 0 || name.indexOf('HMAC') >= 0) && algorithm.hash) + return checkNative(algorithm.hash); + // True if no supported names + return name.indexOf('GOST') === -1 && + name.indexOf('SHA-1') === -1 && + name.indexOf('RC2') === -1 && + name.indexOf('?DES') === -1; +} +// + +/* + * Key conversion methods + * + */ // + +// Check key parameter +function checkKey(key, method) { + if (!key.algorithm) + throw new SyntaxError('Key algorithm not defined'); + + if (!key.algorithm.name) + throw new SyntaxError('Key algorithm name not defined'); + + var name = key.algorithm.name, + gostCipher = name === 'GOST 28147' || name === 'GOST R 34.12' || name === 'RC2', + gostDigest = name === 'GOST R 34.11' || name === 'SHA', + gostSign = name === 'GOST R 34.10'; + + if (!gostCipher && !gostSign && !gostDigest) + throw new NotSupportedError('Key algorithm ' + name + ' is unsupproted'); + + if (!key.type) + throw new SyntaxError('Key type not defined'); + + if (((gostCipher || gostDigest) && key.type !== 'secret') || + (gostSign && !(key.type === 'public' || key.type === 'private'))) + throw new DataError('Key type ' + key.type + ' is not valid for algorithm ' + name); + + if (!key.usages || !key.usages.indexOf) + throw new SyntaxError('Key usages not defined'); + + for (var i = 0, n = key.usages.length; i < n; i++) { + var md = key.usages[i]; + if (((md === 'encrypt' || md === 'decrypt') && key.type !== 'secret') || + (md === 'sign' && key.type === 'public') || + (md === 'verify' && key.type === 'private')) + throw new InvalidStateError('Key type ' + key.type + ' is not valid for ' + md); + } + + if (method) + if (key.usages.indexOf(method) === -1) + throw new InvalidAccessError('Key usages is not contain method ' + method); + + if (!key.buffer) + throw new SyntaxError('Key buffer is not defined'); + + var size = key.buffer.byteLength * 8, keySize = 8 * key.algorithm.keySize; + if ((key.type === 'secret' && size !== (keySize || 256) && + (key.usages.indexOf('encrypt') >= 0 || key.usages.indexOf('decrypt') >= 0)) || + (key.type === 'private' && !(size === 256 || size === 512)) || + (key.type === 'public' && !(size === 512 || size === 1024))) + throw new SyntaxError('Key buffer has wrong size ' + size + ' bit'); +} + +// Extract key and enrich cipher algorithm +function extractKey(method, algorithm, key) { + checkKey(key, method); + if (algorithm) { + var params; + switch (algorithm.mode) { + case 'ES': + params = ['sBox', 'keyMeshing', 'padding', 'block']; + break; + case 'SIGN': + params = ['namedCurve', 'namedParam', 'sBox', 'curve', 'param', 'modulusLength']; + break; + case 'MAC': + params = ['sBox']; + break; + case 'KW': + params = ['keyWrapping', 'ukm']; + break; + case 'DH': + params = ['namedCurve', 'namedParam', 'sBox', 'ukm', 'curve', 'param', 'modulusLength']; + break; + case 'KDF': + params = ['context', 'label']; + break; + case 'PBKDF2': + params = ['sBox', 'iterations', 'salt']; + break; + case 'PFXKDF': + params = ['sBox', 'iterations', 'salt', 'diversifier']; + break; + case 'CPKDF': + params = ['sBox', 'salt']; + break; + } + if (params) + params.forEach(function (name) { + key.algorithm[name] && (algorithm[name] = key.algorithm[name]); + }); + } + return key.buffer; +} + +// Make key definition +function convertKey(algorithm, extractable, keyUsages, keyData, keyType) { + var key = { + type: keyType || (algorithm.name === 'GOST R 34.10' ? 'private' : 'secret'), + extractable: extractable || 'false', + algorithm: algorithm, + usages: keyUsages || [], + buffer: keyData + }; + checkKey(key); + return key; +} + +function convertKeyPair(publicAlgorithm, privateAlgorithm, extractable, keyUsages, publicBuffer, privateBuffer) { + + if (!keyUsages || !keyUsages.indexOf) + throw new SyntaxError('Key usages not defined'); + + var publicUsages = keyUsages.filter(function (value) { + return value !== 'sign'; + }); + var privateUsages = keyUsages.filter(function (value) { + return value !== 'verify'; + }); + + return { + publicKey: convertKey(publicAlgorithm, extractable, publicUsages, publicBuffer, 'public'), + privateKey: convertKey(privateAlgorithm, extractable, privateUsages, privateBuffer, 'private') + }; +} + +// Swap bytes in buffer +function swapBytes(src) { + if (src instanceof CryptoOperationData) + src = new Uint8Array(src); + var dst = new Uint8Array(src.length); + for (var i = 0, n = src.length; i < n; i++) + dst[n - i - 1] = src[i]; + return dst.buffer; +} +// + +/** + * Promise stub object (not fulfill specification, only for internal use) + * Class not defined if Promise class already defined in root context

+ * + * The Promise object is used for deferred and asynchronous computations. A Promise is in one of the three states: + *
    + *
  • pending: initial state, not fulfilled or rejected.
  • + *
  • fulfilled: successful operation
  • + *
  • rejected: failed operation.
  • + *
+ * Another term describing the state is settled: the Promise is either fulfilled or rejected, but not pending.

+ * @class Promise + * @global + * @param {function} executor Function object with two arguments resolve and reject. + * The first argument fulfills the promise, the second argument rejects it. + * We can call these functions, once our operation is completed. + */ // +if (!Promise) { + + root.Promise = (function () { + + function mswrap(value) { + if (value && value.oncomplete === null && value.onerror === null) { + return new Promise(function (resolve, reject) { + value.oncomplete = function () { + resolve(value.result); + }; + value.onerror = function () { + reject(new OperationError(value.toString())); + }; + }); + } else + return value; + } + + function Promise(executor) { + + var state = 'pending', result, + resolveQueue = [], rejectQueue = []; + + function call(callback) { + try { + callback(); + } catch (e) { + } + } + + try { + executor(function (value) { + if (state === 'pending') { + state = 'fulfilled'; + result = value; + resolveQueue.forEach(call); + } + }, function (reason) { + if (state === 'pending') { + state = 'rejected'; + result = reason; + rejectQueue.forEach(call); + } + }); + } catch (error) { + if (state === 'pending') { + state = 'rejected'; + result = error; + rejectQueue.forEach(call); + } + } + /** + * The then() method returns a Promise. It takes two arguments, both are + * callback functions for the success and failure cases of the Promise. + * + * @method then + * @memberOf Promise + * @instance + * @param {function} onFulfilled A Function called when the Promise is fulfilled. This function has one argument, the fulfillment value. + * @param {function} onRejected A Function called when the Promise is rejected. This function has one argument, the rejection reason. + * @returns {Promise} + */ + this.then = function (onFulfilled, onRejected) { + + return new Promise(function (resolve, reject) { + + function asyncOnFulfilled() { + var value; + try { + value = onFulfilled ? onFulfilled(result) : result; + } catch (error) { + reject(error); + return; + } + value = mswrap(value); + if (value && value.then && value.then.call) { + value.then(resolve, reject); + } else { + resolve(value); + } + } + + function asyncOnRejected() { + var reason; + try { + reason = onRejected ? onRejected(result) : result; + } catch (error) { + reject(error); + return; + } + reason = mswrap(reason); + if (reason && reason.then && reason.then.call) { + reason.then(resolve, reject); + } else { + reject(reason); + } + } + + if (state === 'fulfilled') { + asyncOnFulfilled(); + } else if (state === 'rejected') { + asyncOnRejected(); + } else { + resolveQueue.push(asyncOnFulfilled); + rejectQueue.push(asyncOnRejected); + } + + }); + + }; + /** + * The catch() method returns a Promise and deals with rejected cases only. + * It behaves the same as calling Promise.prototype.then(undefined, onRejected). + * + * @method catch + * @memberOf Promise + * @instance + * @param {function} onRejected A Function called when the Promise is rejected. This function has one argument, the rejection reason. + * @returns {Promise} + */ + this['catch'] = function (onRejected) { + return this.then(undefined, onRejected); + }; + } + + /** + * The Promise.all(iterable) method returns a promise that resolves when all + * of the promises in the iterable argument have resolved.

+ * + * The result is passed as an array of values from all the promises. + * If something passed in the iterable array is not a promise, it's converted to + * one by Promise.resolve. If any of the passed in promises rejects, the + * all Promise immediately rejects with the value of the promise that rejected, + * discarding all the other promises whether or not they have resolved. + * + * @method all + * @memberOf Promise + * @static + * @param {KeyUsages} promises Array with promises. + * @returns {Promise} + */ + Promise.all = function (promises) { + return new Promise(function (resolve, reject) { + var result = [], count = 0; + function asyncResolve(k) { + count++; + return function (data) { + result[k] = data; + count--; + if (count === 0) + resolve(result); + }; + } + + function asyncReject(reason) { + if (count > 0) + reject(reason); + count = 0; + } + + for (var i = 0, n = promises.length; i < n; i++) { + var data = promises[i]; + if (data.then && data.then.call) + data.then(asyncResolve(i), asyncReject); + else + result[i] = data; + } + + if (count === 0) + resolve(result); + }); + }; + + return Promise; + })(); +} //
+ +/* + * Worker executor + * + */ // + +var baseUrl = '', nameSuffix = ''; +// Try to define from DOM model +if (typeof document !== 'undefined') { + (function () { + var regs = /^(.*)gostCrypto(.*)\.js$/i; + var list = document.querySelectorAll('script'); + for (var i = 0, n = list.length; i < n; i++) { + var value = list[i].getAttribute('src'); + var test = regs.exec(value); + if (test) { + baseUrl = test[1]; + nameSuffix = test[2]; + } + } + })(); +} + +// Local importScripts procedure for include dependens +function importScripts() { + for (var i = 0, n = arguments.length; i < n; i++) { + var name = arguments[i].split('.'), + src = baseUrl + name[0] + nameSuffix + '.' + name[1]; + var el = document.querySelector('script[src="' + src + '"]'); + if (!el) { + el = document.createElement('script'); + el.setAttribute('src', src); + document.head.appendChild(el); + } + } +} + +// Create Worker +var worker = false, tasks = [], sequence = 0; +// Worker will create only for first child process and +// Gost implementation libraries not yet loaded +if (!root.importScripts && !root.gostEngine) { + + try { + worker = new Worker(baseUrl + 'gostEngine' + nameSuffix + '.js'); + + // Result of opertion + worker.onmessage = function (event) { + // Find task + var id = event.data.id; + for (var i = 0, n = tasks.length; i < n; i++) + if (tasks[i].id === id) + break; + if (i < n) { + var task = tasks[i]; + tasks.splice(i, 1); + // Reject if error or resolve with result + if (event.data.error) + task.reject(new OperationError(event.data.error)); + else + task.resolve(event.data.result); + } + }; + + // Worker error - reject all waiting tasks + worker.onerror = function (event) { + for (var i = 0, n = tasks.length; i < n; i++) + tasks[i].reject(event.error); + tasks = []; + }; + + } catch (e) { + // Worker is't supported + worker = false; + } +} + +if (!root.importScripts) { + // This procedure emulate load dependents as in Worker + root.importScripts = importScripts; + +} + +if (!worker) { + // Import main module + // Reason: we are already in worker process or Worker interface is not + // yet supported + root.gostEngine || require('./gostEngine'); +} + +// Executor for any method +function execute(algorithm, method, args) { + return new Promise(function (resolve, reject) { + try { + if (worker) { + var id = ++sequence; + tasks.push({ + id: id, + resolve: resolve, + reject: reject + }); + worker.postMessage({ + id: id, algorithm: algorithm, + method: method, args: args + }); + } else { + if (root.gostEngine) + resolve(root.gostEngine.execute(algorithm, method, args)); + else + reject(new OperationError('Module gostEngine not found')); + } + } catch (error) { + reject(error); + } + }); +} + +// Self resolver +function call(callback) { + try { + callback(); + } catch (e) { + } +} + +// + +/* + * WebCrypto common class references + * + */ // +/** + * The Algorithm object is a dictionary object [WebIDL] which is used to + * specify an algorithm and any additional parameters required to fully + * specify the desired operation.
+ *
+ *  dictionary Algorithm {
+ *      DOMString name;
+ *  };
+ * 
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary} + * @class Algorithm + * @param {DOMString} name The name of the registered algorithm to use. + */ + +/** + * AlgorithmIdentifier - Algorithm or DOMString name of algorithm
+ *
+ *  typedef (Algorithm or DOMString) AlgorithmIdentifier;
+ * 
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary} + * @class AlgorithmIdentifier + */ + +/** + * The KeyAlgorithm interface represents information about the contents of a + * given Key object. + *
+ *  interface KeyAlgorithm {
+ *      readonly attribute DOMString name
+ *  };
+ * 
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-interface} + * @class KeyAlgorithm + * @param {DOMString} name The name of the algorithm used to generate the Key + */ + +/** + * The type of a key. The recognized key type values are "public", "private" + * and "secret". Opaque keying material, including that used for symmetric + * algorithms, is represented by "secret", while keys used as part of asymmetric + * algorithms composed of public/private keypairs will be either "public" or "private". + *
+ *  typedef DOMString KeyType;
+ * 
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#key-interface} + * @class KeyType + */ + +/** + * Sequence of operation type that may be performed using a key. The recognized + * key usage values are "encrypt", "decrypt", "sign", "verify", "deriveKey", + * "deriveBits", "wrapKey" and "unwrapKey". + *
+ *  typedef DOMString[] KeyUsages;
+ * 
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#key-interface} + * @class KeyUsages + */ + +/** + * The Key object represents an opaque reference to keying material that is + * managed by the user agent.
+ * This specification provides a uniform interface for many different kinds of + * keying material managed by the user agent. This may include keys that have + * been generated by the user agent, derived from other keys by the user agent, + * imported to the user agent through user actions or using this API, + * pre-provisioned within software or hardware to which the user agent has + * access or made available to the user agent in other ways. The term key refers + * broadly to any keying material including actual keys for cryptographic + * operations and secret values obtained within key derivation or exchange operations.
+ * The Key object is not required to directly interface with the underlying key + * storage mechanism, and may instead simply be a reference for the user agent + * to understand how to obtain the keying material when needed, eg. when performing + * a cryptographic operation. + *
+ *  interface Key {
+ *      readonly attribute KeyType type;
+ *      readonly attribute boolean extractable;
+ *      readonly attribute KeyAlgorithm algorithm;
+ *      readonly attribute KeyUsages usages;
+ *  };     
+ * 
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#key-interface} + * @class Key + * @param {KeyType} type The type of a key. The recognized key type values are "public", "private" and "secret". + * @param {boolean} extractable Whether or not the raw keying material may be exported by the application. + * @param {KeyAlgorithm} algorithm The Algorithm used to generate the key. + * @param {KeyUsages} usages Key usage array: type of operation that may be performed using a key. + */ + +/** + * The KeyPair interface represents an asymmetric key pair that is comprised of both public and private keys. + *
+ *  interface KeyPair {
+ *      readonly attribute Key publicKey;
+ *      readonly attribute Key privateKey;
+ *  };     
+ * 
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#keypair} + * @class KeyPair + * @param {Key} privateKey Private key + * @param {Key} publicKey Public key + */ + +/** + * Specifies a serialization format for a key. The recognized key format values are: + *
    + *
  • 'raw' - An unformatted sequence of bytes. Intended for secret keys.
  • + *
  • 'pkcs8' - The DER encoding of the PrivateKeyInfo structure from RFC 5208.
  • + *
  • 'spki' - The DER encoding of the SubjectPublicKeyInfo structure from RFC 5280.
  • + *
  • 'jwk' - The key is represented as JSON according to the JSON Web Key format.
  • + *
+ *
+ *  typedef DOMString KeyFormat;
+ *  
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#key-interface} + * @class KeyFormat + */ + +/** + * Binary data + *
+ *  typedef (ArrayBuffer or ArrayBufferView) CryptoOperationData;
+ *  
+ * @class CryptoOperationData + */ +var CryptoOperationData = ArrayBuffer; + +/** + * DER-encoded ArrayBuffer or PEM-encoded DOMString constains ASN.1 object
+ *
+ *  typedef (ArrayBuffer or DOMString) FormatedData;
+ * 
+ * @class FormatedData + */ +//
+ +/** + * The gostCrypto provide general purpose cryptographic functionality for + * GOST standards including a cryptographically strong pseudo-random number + * generator seeded with truly random values. + * + * @namespace gostCrypto + */ +var gostCrypto = {}; + +/** + * The SubtleCrypto class provides low-level cryptographic primitives and algorithms. + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface} + * + * @class SubtleCrypto + */ // +function SubtleCrypto() { +} + +/** + * The encrypt method returns a new Promise object that will encrypt data + * using the specified algorithm identifier with the supplied Key. + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-encrypt}

+ * + * Supported algorithm names: + *
    + *
  • GOST 28147-ECB "prostaya zamena" (ECB) mode (default)
  • + *
  • GOST 28147-CFB "gammirovanie s obratnoj svyaziyu po shifrotekstu" (CFB) mode
  • + *
  • GOST 28147-OFB "gammirovanie s obratnoj svyaziyu po vyhodu" (OFB) mode
  • + *
  • GOST 28147-CTR "gammirovanie" (counter) mode
  • + *
  • GOST 28147-CBC Cipher-Block-Chaining (CBC) mode
  • + *
  • GOST R 34.12-ECB "prostaya zamena" (ECB) mode (default)
  • + *
  • GOST R 34.12-CFB "gammirovanie s obratnoj svyaziyu po shifrotekstu" (CFB) mode
  • + *
  • GOST R 34.12-OFB "gammirovanie s obratnoj svyaziyu po vyhodu" (OFB) mode
  • + *
  • GOST R 34.12-CTR "gammirovanie" (counter) mode
  • + *
  • GOST R 34.12-CBC Cipher-Block-Chaining (CBC) mode
  • + *
+ * For more information see {@link GostCipher} + * + * @memberOf SubtleCrypto + * @method encrypt + * @instance + * @param {AlgorithmIdentifier} algorithm Algorithm identifier + * @param {Key} key Key object + * @param {CryptoOperationData} data Operation data + * @returns {Promise} Promise that resolves with {@link CryptoOperationData} + */ +SubtleCrypto.prototype.encrypt = function (algorithm, key, data) // +{ + return new Promise(call).then(function () { + if (checkNative(algorithm)) + return rootCrypto.subtle.encrypt(algorithm, key, data); + + algorithm = normalize(algorithm, 'encrypt'); + return execute(algorithm, 'encrypt', + [extractKey('encrypt', algorithm, key), data]); + }); +}; // + +/** + * The decrypt method returns a new Promise object that will decrypt data + * using the specified algorithm identifier with the supplied Key. + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-decrypt}

+ * + * Supported algorithm names: + *
    + *
  • GOST 28147-ECB "prostaya zamena" (ECB) mode (default)
  • + *
  • GOST 28147-CFB "gammirovanie s obratnoj svyaziyu po shifrotekstu" (CFB) mode
  • + *
  • GOST 28147-OFB "gammirovanie s obratnoj svyaziyu po vyhodu" (OFB) mode
  • + *
  • GOST 28147-CTR "gammirovanie" (counter) mode
  • + *
  • GOST 28147-CBC Cipher-Block-Chaining (CBC) mode
  • + *
  • GOST R 34.12-ECB "prostaya zamena" (ECB) mode (default)
  • + *
  • GOST R 34.12-CFB "gammirovanie s obratnoj svyaziyu po shifrotekstu" (CFB) mode
  • + *
  • GOST R 34.12-OFB "gammirovanie s obratnoj svyaziyu po vyhodu" (OFB) mode
  • + *
  • GOST R 34.12-CTR "gammirovanie" (counter) mode
  • + *
  • GOST R 34.12-CBC Cipher-Block-Chaining (CBC) mode
  • + *
+ * For additional modes see {@link GostCipher} + * + * @memberOf SubtleCrypto + * @method decrypt + * @instance + * @param {AlgorithmIdentifier} algorithm Algorithm identifier + * @param {Key} key Key object + * @param {CryptoOperationData} data Operation data + * @returns {Promise} Promise that resolves with {@link CryptoOperationData} + */ +SubtleCrypto.prototype.decrypt = function (algorithm, key, data) // +{ + return new Promise(call).then(function () { + if (checkNative(algorithm)) + return rootCrypto.subtle.decrypt(algorithm, key, data); + + algorithm = normalize(algorithm, 'decrypt'); + return execute(algorithm, 'decrypt', + [extractKey('decrypt', algorithm, key), data]); + }); +}; // + +/** + * The sign method returns a new Promise object that will sign data using + * the specified algorithm identifier with the supplied Key. + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-sign}

+ * + * Supported algorithm names: + *
    + *
  • GOST R 34.10-94 GOST Signature
  • + *
  • GOST R 34.10-94/GOST R 34.11-94 GOST Signature with Hash
  • + *
  • GOST R 34.10 ECGOST Signature
  • + *
  • GOST R 34.10/GOST R 34.11-94 ECGOST Signature with Old-Style Hash
  • + *
  • GOST R 34.10/GOST R 34.11 ECGOST Signature with Streebog Hash
  • + *
  • GOST 28147-MAC MAC base on GOST 28147
  • + *
  • GOST R 34.12-MAC MAC base on GOST R 43.12
  • + *
  • GOST R 34.11-HMAC HMAC base on GOST 34.11
  • + *
  • SHA-HMAC HMAC base on SHA
  • + *
+ * For additional modes see {@link GostSign}, {@link GostDigest} and {@link GostCipher} + * + * @memberOf SubtleCrypto + * @method sign + * @instance + * @param {AlgorithmIdentifier} algorithm Algorithm identifier + * @param {Key} key Key object + * @param {CryptoOperationData} data Operation data + * @returns {Promise} Promise that resolves with {@link CryptoOperationData} + */ +SubtleCrypto.prototype.sign = function (algorithm, key, data) // +{ + return new Promise(call).then(function () { + if (checkNative(algorithm)) + return rootCrypto.subtle.sign(algorithm, key, data); + + algorithm = normalize(algorithm, 'sign'); + var value = execute(algorithm, 'sign', + [extractKey('sign', algorithm, key), data]).then(function (data) { + if (algorithm.procreator === 'SC' && algorithm.mode === 'SIGN') { + data = gostCrypto.asn1.GostSignature.encode(data); + } + return data; + }); + return value; + }); +}; // + +/** + * The verify method returns a new Promise object that will verify data + * using the specified algorithm identifier with the supplied Key. + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-verify}

+ * + * Supported algorithm names: + *
    + *
  • GOST R 34.10-94 GOST Signature
  • + *
  • GOST R 34.10-94/GOST R 34.11-94 GOST Signature with Hash
  • + *
  • GOST R 34.10 ECGOST Signature
  • + *
  • GOST R 34.10/GOST R 34.11-94 ECGOST Signature with Old-Style Hash
  • + *
  • GOST R 34.10/GOST R 34.11 ECGOST Signature with Streebog Hash
  • + *
  • GOST 28147-MAC MAC base on GOST 28147
  • + *
  • GOST R 34.12-MAC MAC base on GOST R 34.12
  • + *
  • GOST R 34.11-HMAC HMAC base on GOST 34.11
  • + *
  • SHA-HMAC HMAC base on SHA
  • + *
+ * For additional modes see {@link GostSign}, {@link GostDigest} and {@link GostCipher} + * + * @memberOf SubtleCrypto + * @method verify + * @instance + * @param {AlgorithmIdentifier} algorithm Algorithm identifier + * @param {Key} key Key object + * @param {CryptoOperationData} signature Signature data + * @param {CryptoOperationData} data Operation data + * @returns {Promise} Promise that resolves with boolean value of verification result + */ +SubtleCrypto.prototype.verify = function (algorithm, key, signature, data) // +{ + return new Promise(call).then(function () { + if (checkNative(algorithm)) + return rootCrypto.subtle.verify(algorithm, key, signature, data); + + algorithm = normalize(algorithm, 'verify'); + if (algorithm.procreator === 'SC' && algorithm.mode === 'SIGN') { + var obj = gostCrypto.asn1.GostSignature.decode(signature); + signature = {r: obj.r, s: obj.s}; + } + return execute(algorithm, 'verify', + [extractKey('verify', algorithm, key), signature, data]); + }); +}; // + +/** + * The digest method returns a new Promise object that will digest data + * using the specified algorithm identifier. + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-digest}

+ * + * Supported algorithm names: + *
    + *
  • GOST R 34.11-94 Old-Style GOST Hash
  • + *
  • GOST R 34.11 GOST Streebog Hash
  • + *
  • SHA SHA Hash
  • + *
+ * For additional modes see {@link GostDigest} + * + * @memberOf SubtleCrypto + * @method digest + * @instance + * @param {AlgorithmIdentifier} algorithm Algorithm identifier + * @param {CryptoOperationData} data Operation data + * @returns {Promise} Promise that resolves with {@link CryptoOperationData} + */ +SubtleCrypto.prototype.digest = function (algorithm, data) // +{ + return new Promise(call).then(function () { + if (checkNative(algorithm)) + return rootCrypto.subtle.digest(algorithm, data); + + algorithm = normalize(algorithm, 'digest'); + return execute(algorithm, 'digest', [data]); + }); +}; // + +/** + * The generateKey method returns a new Promise object that will key(s) using + * the specified algorithm identifier. Key can be used in according with + * KeyUsages sequence. The recognized key usage values are "encrypt", "decrypt", + * "sign", "verify", "deriveKey", "deriveBits", "wrapKey" and "unwrapKey". + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-generateKey}

+ * + * Supported algorithm names: + *
    + *
  • GOST R 34.10 ECGOST Key Pairs
  • + *
  • GOST 28147 Key for encryption GOST 28147 modes
  • + *
  • GOST 28147-KW Key for wrapping GOST 28147 modes
  • + *
  • GOST R 34.12 Key for encryption GOST R 34.12 modes
  • + *
  • GOST R 34.12-KW Key for wrapping GOST R 34.12 modes
  • + *
  • GOST R 34.11-KDF Key for Derivation Algorithm
  • + *
+ * For additional modes see {@link GostSign}, {@link GostDigest} and {@link GostCipher}
+ * Note: Generation key for GOST R 34.10-94 not supported. + * + * @memberOf SubtleCrypto + * @method generateKey + * @instance + * @param {AlgorithmIdentifier} algorithm Key algorithm identifier + * @param {boolean} extractable Whether or not the raw keying material may be exported by the application + * @param {KeyUsages} keyUsages Key usage array: type of operation that may be performed using a key + * @returns {Promise} Promise that resolves with {@link Key} or {@link KeyPair} in according to key algorithm + */ +SubtleCrypto.prototype.generateKey = function (algorithm, extractable, keyUsages) // +{ + return new Promise(call).then(function () { + if (checkNative(algorithm)) + return rootCrypto.subtle.generateKey(algorithm, extractable, keyUsages); + + var privateAlgorithm = algorithm.privateKey, + publicAlgorithm = algorithm.publicKey; + algorithm = normalize(algorithm, 'generateKey'); + if (privateAlgorithm) + privateAlgorithm = normalize(privateAlgorithm, 'generateKey'); + else + privateAlgorithm = algorithm; + if (publicAlgorithm) + publicAlgorithm = normalize(publicAlgorithm, 'generateKey'); + else + publicAlgorithm = algorithm; + return execute(algorithm, 'generateKey', []).then(function (data) { + if (data.publicKey && data.privateKey) + return convertKeyPair(publicAlgorithm, privateAlgorithm, extractable, keyUsages, data.publicKey, data.privateKey); + else + return convertKey(algorithm, extractable, keyUsages, data); + }); + }); +}; // + +/** + * The deriveKey method returns a new Promise object that will key(s) using + * the specified algorithm identifier. Key can be used in according with + * KeyUsage sequence. The recognized key usage values are "encrypt", "decrypt", + * "sign", "verify", "deriveKey", "deriveBits", "wrapKey" and "unwrapKey". + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-deriveKey}

+ * + * Supported algorithm names: + *
    + *
  • GOST R 34.10-DH ECDH Key Agreement mode
  • + *
  • GOST R 34.11-KDF Key for Derivation Algorithm
  • + *
  • GOST R 34.11-PBKDF2 Password Based Key for Derivation Algorithm
  • + *
  • GOST R 34.11-PFXKDF PFX Key for Derivation Algorithm
  • + *
  • GOST R 34.11-CPKDF Password Based Key for CryptoPro Derivation Algorithm
  • + *
  • SHA-PBKDF2 Password Based Key for Derivation Algorithm
  • + *
  • SHA-PFXKDF PFX Key for Derivation Algorithm
  • + *
+ * For additional modes see {@link GostSign} and {@link GostDigest} + * + * @memberOf SubtleCrypto + * @method deriveKey + * @instance + * @param {AlgorithmIdentifier} algorithm Algorithm identifier + * @param {Key} baseKey Derivation key object + * @param {AlgorithmIdentifier} derivedKeyType Derived key algorithm identifier + * @param {boolean} extractable Whether or not the raw keying material may be exported by the application + * @param {KeyUsages} keyUsages Key usage array: type of operation that may be performed using a key + * @returns {Promise} Promise that resolves with {@link Key} + */ +SubtleCrypto.prototype.deriveKey = function (algorithm, baseKey, + derivedKeyType, extractable, keyUsages) // +{ + return new Promise(call).then(function () { + if (checkNative(algorithm)) + return rootCrypto.subtle.deriveKey(algorithm, baseKey, + derivedKeyType, extractable, keyUsages); + + algorithm = normalize(algorithm, 'deriveKey'); + derivedKeyType = normalize(derivedKeyType, 'generateKey'); + algorithm.keySize = derivedKeyType.keySize; + if (algorithm['public']) { + algorithm['public'].algorithm = normalize(algorithm['public'].algorithm); + algorithm['public'] = extractKey('deriveKey', algorithm, algorithm['public']); + } + return execute(algorithm, 'deriveKey', [extractKey('deriveKey', algorithm, baseKey)]).then(function (data) { + return convertKey(derivedKeyType, extractable, keyUsages, data); + }); + }); +}; // + +/** + * The deriveBits method returns length bits on baseKey using the + * specified algorithm identifier. + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-deriveBits}

+ * + * Supported algorithm names: + *
    + *
  • GOST R 34.10-DH ECDH Key Agreement mode
  • + *
  • GOST R 34.11-KDF Key for Derivation Algorithm
  • + *
  • GOST R 34.11-PBKDF2 Password Based Key for Derivation Algorithm
  • + *
  • GOST R 34.11-PFXKDF PFX Key for Derivation Algorithm
  • + *
  • GOST R 34.11-CPKDF Password Based Key for CryptoPro Derivation Algorithm
  • + *
  • SHA-PBKDF2 Password Based Key for Derivation Algorithm
  • + *
  • SHA-PFXKDF PFX Key for Derivation Algorithm
  • + *
+ * For additional modes see {@link GostSign} and {@link GostDigest} + * + * @memberOf SubtleCrypto + * @method deriveBits + * @instance + * @param {AlgorithmIdentifier} algorithm Algorithm identifier + * @param {Key} baseKey Derivation key object + * @param {number} length Length bits + * @returns {Promise} Promise that resolves with {@link CryptoOperationData} + */ +SubtleCrypto.prototype.deriveBits = function (algorithm, baseKey, length) // +{ + return new Promise(call).then(function () { + if (checkNative(algorithm)) + return rootCrypto.subtle.deriveBits(algorithm, baseKey, length); + + algorithm = normalize(algorithm, 'deriveBits'); + if (algorithm['public']) + algorithm['public'] = extractKey('deriveBits', algorithm, algorithm['public']); + return execute(algorithm, 'deriveBits', [extractKey('deriveBits', algorithm, baseKey), length]); + }); +}; // + +/** + * The importKey method returns a new Promise object that will key(s) using + * the specified algorithm identifier. Key can be used in according with + * KeyUsage sequence. The recognized key usage values are "encrypt", "decrypt", + * "sign", "verify", "deriveKey", "deriveBits", "wrapKey" and "unwrapKey".

+ * Parameter keyData contains data in defined format. + * The suppored key format values are: + *
    + *
  • 'raw' - An unformatted sequence of bytes. Intended for secret keys.
  • + *
  • 'pkcs8' - The DER encoding of the PrivateKeyInfo structure from RFC 5208.
  • + *
  • 'spki' - The DER encoding of the SubjectPublicKeyInfo structure from RFC 5280.
  • + *
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-importKey}

+ * + * Supported algorithm names: + *
    + *
  • GOST R 34.10-94 GOST Private and Public keys
  • + *
  • GOST R 34.10 ECGOST Private and Public keys
  • + *
  • GOST 28147 Key for encryption GOST 28147 modes
  • + *
  • GOST 28147-KW Key for key wrapping GOST 28147 modes
  • + *
  • GOST R 34.12 Key for encryption GOST 34.12 modes
  • + *
  • GOST R 34.12-KW Key for key wrapping GOST 34.12 modes
  • + *
  • GOST R 34.11-KDF Key for Derivation Algorithm
  • + *
+ * For additional modes see {@link GostSign}, {@link GostDigest} and {@link GostCipher}
+ * + * @memberOf SubtleCrypto + * @method importKey + * @instance + * @param {KeyFormat} format Key format Format specifies a serialization format for a key + * @param {CryptoOperationData} keyData + * @param {AlgorithmIdentifier} algorithm Key algorithm identifier + * @param {boolean} extractable Whether or not the raw keying material may be exported by the application + * @param {KeyUsages} keyUsages Key usage array: type of operation that may be performed using a key + * @returns {Promise} Promise that resolves with {@link Key} + */ +SubtleCrypto.prototype.importKey = function (format, keyData, algorithm, extractable, keyUsages) // +{ + var type; + return new Promise(call).then(function () { + if (checkNative(algorithm)) + return rootCrypto.subtle.importKey(format, keyData, algorithm, extractable, keyUsages); + + if (format === 'raw') { + algorithm = normalize(algorithm, 'importKey'); + if (keyUsages && keyUsages.indexOf) { + var name = algorithm.name.toUpperCase().replace(/[\.\s]/g, ''); + if (name.indexOf('3410') >= 0 && keyUsages.indexOf('sign') >= 0) + type = 'private'; + else if (name.indexOf('3410') >= 0 && keyUsages.indexOf('verify') >= 0) + type = 'public'; + } + return keyData; + } else { + var key; + if (format === 'pkcs8') + key = gostCrypto.asn1.GostPrivateKeyInfo.decode(keyData).object; + else if (format === 'spki') + key = gostCrypto.asn1.GostSubjectPublicKeyInfo.decode(keyData).object; + else + throw new NotSupportedError('Key format not supported'); + + algorithm = normalize(key.algorithm, 'importKey'); + type = key.type; + if (extractable !== false) + extractable = extractable || key.extractable; + if (keyUsages) { + for (var i = 0; i < keyUsages.length; i++) { + if (key.usages.indexOf(keyUsages[i]) < 0) + throw DataError('Key usage not valid for this key'); + } + } else + keyUsages = key.usages; + var data = key.buffer, keySize = algorithm.keySize, dataLen = data.byteLength; + if (type === 'public' || keySize === dataLen) + return data; + else { + // Remove private key masks + if (dataLen % keySize > 0) + throw new DataError('Invalid key size'); + algorithm.mode = 'MASK'; + algorithm.procreator = 'VN'; + var chain = []; + for (var i = keySize; i < dataLen; i += keySize) { + chain.push((function (mask) { + return function (data) { + return execute(algorithm, 'unwrapKey', [mask, data]).then(function (data) { + var next = chain.pop(); + if (next) + return next(data); + else { + delete algorithm.mode; + return data; + } + }); + }; + })(new Uint8Array(data, i, keySize))); + } + return chain.pop()(new Uint8Array(data, 0, keySize)); + } + } + }).then(function (data) { + return convertKey(algorithm, extractable, keyUsages, data, type); + }); +}; // + +/** + * The exportKey method returns a new Promise object that will key data in + * defined format.

+ * The suppored key format values are: + *
    + *
  • 'raw' - An unformatted sequence of bytes. Intended for secret keys.
  • + *
  • 'pkcs8' - The DER encoding of the PrivateKeyInfo structure from RFC 5208.
  • + *
  • 'spki' - The DER encoding of the SubjectPublicKeyInfo structure from RFC 5280.
  • + *
+ * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-exportKey}

+ * + * Supported algorithm names: + *
    + *
  • GOST R 34.10-94 GOST Private and Public keys
  • + *
  • GOST R 34.10 ECGOST Private and Public keys
  • + *
  • GOST 28147 Key for encryption GOST 28147 modes
  • + *
  • GOST 28147-KW Key for key wrapping GOST 28147 modes
  • + *
  • GOST R 34.12 Key for encryption GOST R 34.12 modes
  • + *
  • GOST R 34.12-KW Key for key wrapping GOST R 34.12 modes
  • + *
  • GOST R 34.11-KDF Key for Derivation Algorithm
  • + *
  • GOST R 34.11-PBKDF2 Import Password for Key for Derivation Algorithm
  • + *
  • GOST R 34.11-PFXKDF Import PFX Key for Derivation Algorithm
  • + *
  • GOST R 34.11-CPKDF Import Password Key for CryptoPro Derivation Algorithm
  • + *
  • SHA-PBKDF2 Import Password for Key for Derivation Algorithm
  • + *
  • SHA-PFXKDF Import PFX Key for Derivation Algorithm
  • + *
+ * For additional modes see {@link GostSign}, {@link GostDigest} and {@link GostCipher}
+ * + * @memberOf SubtleCrypto + * @method exportKey + * @instance + * @param {KeyFormat} format Format specifies a serialization format for a key + * @param {Key} key Key object + * @returns {Promise} Promise that resolves with {@link CryptoOperationData} + */ +SubtleCrypto.prototype.exportKey = function (format, key) // +{ + return new Promise(call).then(function () { + if (key && checkNative(key.algorithm)) + return rootCrypto.subtle.exportKey(format, key); + + if (!key.extractable) + throw new InvalidAccessError('Key not extractable'); + + var raw = extractKey(null, null, key); + if (format === 'raw') + return raw; + else if (format === 'pkcs8' && key.algorithm && key.algorithm.id) { + if (key.algorithm.procreator === 'VN') { + // Add masks for ViPNet + var algorithm = key.algorithm, mask; + algorithm.mode = 'MASK'; + return execute(algorithm, 'generateKey').then(function (data) { + mask = data; + return execute(algorithm, 'wrapKey', [mask, key.buffer]); + }).then(function (data) { + delete algorithm.mode; + var d = new Uint8Array(data.byteLength + mask.byteLength); + d.set(new Uint8Array(data, 0, data.byteLength)); + d.set(new Uint8Array(mask, 0, mask.byteLength), data.byteLength); + var buffer = d.buffer; + buffer.enclosed = true; + return gostCrypto.asn1.GostPrivateKeyInfo.encode({ + algorithm: algorithm, + buffer: buffer + }); + }); + } else + return gostCrypto.asn1.GostPrivateKeyInfo.encode(key); + } else if (format === 'spki' && key.algorithm && key.algorithm.id) + return gostCrypto.asn1.GostSubjectPublicKeyInfo.encode(key); + else + throw new NotSupportedError('Key format not supported'); + }); +}; // + +/** + * The wrapKey method returns a new Promise object that will wrapped key(s). + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-wrapKey}

+ * + * Supported algorithm names: + *
    + *
  • GOST 28147-KW Key Wrapping GOST 28147 modes
  • + *
  • GOST R 34.12-KW Key Wrapping GOST R 34.12 modes
  • + *
  • GOST 28147-MASK Key Mask GOST 28147 modes
  • + *
  • GOST R 34.12-MASK Key Mask GOST R 34.12 modes
  • + *
  • GOST R 34.10-MASK Key Mask GOST R 34.10 modes
  • + *
+ * For additional modes see {@link GostCipher}
+ * + * @memberOf SubtleCrypto + * @method wrapKey + * @instance + * @param {KeyFormat} format Format specifies a serialization format for a key. Now suppored only 'raw' key format. + * @param {Key} key Key object + * @param {Key} wrappingKey Wrapping key object + * @param {AlgorithmIdentifier} wrapAlgorithm Algorithm identifier + * @returns {Promise} Promise that resolves with {@link CryptoOperationData} + */ +SubtleCrypto.prototype.wrapKey = function (format, key, wrappingKey, wrapAlgorithm) // +{ + return new Promise(call).then(function () { + if (checkNative(wrapAlgorithm)) + return rootCrypto.subtle.wrapKey(format, key, wrappingKey, wrapAlgorithm); + + wrapAlgorithm = normalize(wrapAlgorithm, 'wrapKey'); + var keyData = extractKey(null, null, key); + if (wrapAlgorithm.procreator === 'SC' && key.type === 'private') + keyData = swapBytes(keyData); + return execute(wrapAlgorithm, 'wrapKey', + [extractKey('wrapKey', wrapAlgorithm, wrappingKey), keyData]).then(function (data) { + if (format === 'raw') + return data; + else + throw new NotSupportedError('Key format not supported'); + }); + }); +}; // + +/** + * The unwrapKey method returns a new Promise object that will unwrapped key(s). + * WebCrypto API reference {@link http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-unwrapKey}

+ * + * Supported algorithm names: + *
    + *
  • GOST 28147-KW Key Wrapping GOST 28147 modes
  • + *
  • GOST R 34.12-KW Key Wrapping GOST R 34.12 modes
  • + *
  • GOST 28147-MASK Key Mask GOST 28147 modes
  • + *
  • GOST R 34.12-MASK Key Mask GOST R 34.12 modes
  • + *
  • GOST R 34.10-MASK Key Mask GOST R 34.10 modes
  • + *
+ * For additional modes see {@link GostCipher}
+ * + * @memberOf SubtleCrypto + * @method unwrapKey + * @instance + * @param {KeyFormat} format Format specifies a serialization format for a key. Now suppored only 'raw' key format. + * @param {CryptoOperationData} wrappedKey Wrapped key data + * @param {Key} unwrappingKey Unwrapping key object + * @param {AlgorithmIdentifier} unwrapAlgorithm Algorithm identifier + * @param {AlgorithmIdentifier} unwrappedKeyAlgorithm Key algorithm identifier + * @param {boolean} extractable Whether or not the raw keying material may be exported by the application + * @param {KeyUsages} keyUsages Key usage array: type of operation that may be performed using a key + * @returns {Promise} Promise that resolves with {@link Key} + */ +SubtleCrypto.prototype.unwrapKey = function (format, wrappedKey, unwrappingKey, + unwrapAlgorithm, unwrappedKeyAlgorithm, extractable, keyUsages) // +{ + return new Promise(call).then(function () { + if (checkNative(unwrapAlgorithm)) + return rootCrypto.subtle.unwrapKey(format, wrappedKey, unwrappingKey, + unwrapAlgorithm, unwrappedKeyAlgorithm, extractable, keyUsages); + + unwrapAlgorithm = normalize(unwrapAlgorithm, 'unwrapKey'); + unwrappedKeyAlgorithm = normalize(unwrappedKeyAlgorithm, 'importKey'); + if (format !== 'raw') + throw new NotSupportedError('Key format not supported'); + + return execute(unwrapAlgorithm, 'unwrapKey', [extractKey('unwrapKey', unwrapAlgorithm, unwrappingKey), wrappedKey]).then(function (data) { + var type; + if (unwrappedKeyAlgorithm && unwrappedKeyAlgorithm.name) { + var name = unwrappedKeyAlgorithm.name.toUpperCase().replace(/[\.\s]/g, ''); + if (name.indexOf('3410') >= 0 && keyUsages.indexOf('sign') >= 0) + type = 'private'; + else if (name.indexOf('3410') >= 0 && keyUsages.indexOf('verify') >= 0) + type = 'public'; + } + if (unwrapAlgorithm.procreator === 'SC' && type === 'private') + data = swapBytes(data); + return convertKey(unwrappedKeyAlgorithm, extractable, keyUsages, data, type); + }); + }); +}; // + +/** + * The subtle attribute provides an instance of the SubtleCrypto + * interface which provides low-level cryptographic primitives and + * algorithms. + * + * @memberOf gostCrypto + * @type SubtleCrypto + */ +gostCrypto.subtle = new SubtleCrypto(); + +/** + * The getRandomValues method generates cryptographically random values. + * + * First try to use Web Crypto random genereator. Next make random + * bytes based on standart Math.random mixed with time and mouse pointer + * + * @memberOf gostCrypto + * @param {(CryptoOperationData)} array Destination buffer for random data + */ +gostCrypto.getRandomValues = function (array) // +{ + // Execute randomizer + GostRandom = GostRandom || root.GostRandom; + var randomSource = GostRandom ? new GostRandom() : rootCrypto; + if (randomSource.getRandomValues) + randomSource.getRandomValues(array); + else + throw new NotSupportedError('Random generator not found'); +}; // +//
+ +export default gostCrypto; diff --git a/src/core/vendor/gost/gostDigest.mjs b/src/core/vendor/gost/gostDigest.mjs new file mode 100644 index 00000000..f8dd5704 --- /dev/null +++ b/src/core/vendor/gost/gostDigest.mjs @@ -0,0 +1,1260 @@ +/** + * GOST R 34.11-94 / GOST R 34.11-12 implementation + * 1.76 + * 2014-2016, Rudolf Nickolaev. All rights reserved. + * + * Exported for CyberChef by mshwed [m@ttshwed.com] + */ + +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Converted to JavaScript from source https://www.streebog.net/ + * Copyright (c) 2013, Alexey Degtyarev. + * All rights reserved. + * + * 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. + * + */ + + import GostRandom from './gostRandom.mjs'; + import GostCipher from './gostCipher.mjs'; + import crypto from 'crypto'; + +/* + * GOST R 34.11 + * Common methods + * + */ // + +var root = {}; +var rootCrypto = crypto + +var DataError = Error, + NotSupportedError = Error; + +// Copy len values from s[sOfs] to d[dOfs] +function arraycopy(s, sOfs, d, dOfs, len) { + for (var i = 0; i < len; i++) + d[dOfs + i] = s[sOfs + i]; +} + +// Swap bytes in buffer +function swap(s) { + var src = new Uint8Array(s), + dst = new Uint8Array(src.length); + for (var i = 0, n = src.length; i < n; i++) + dst[n - i - 1] = src[i]; + return dst.buffer; +} + +// Convert BASE64 string to Uint8Array +// for decompression of constants and precalc values +function b64decode(s) { + // s = s.replace(/[^A-Za-z0-9\+\/]/g, ''); + var n = s.length, + k = n * 3 + 1 >> 2, r = new Uint8Array(k); + + for (var m3, m4, u24 = 0, j = 0, i = 0; i < n; i++) { + m4 = i & 3; + var c = s.charCodeAt(i); + + c = c > 64 && c < 91 ? + c - 65 : c > 96 && c < 123 ? + c - 71 : c > 47 && c < 58 ? + c + 4 : c === 43 ? + 62 : c === 47 ? + 63 : 0; + + u24 |= c << 18 - 6 * m4; + if (m4 === 3 || n - i === 1) { + for (m3 = 0; m3 < 3 && j < k; m3++, j++) { + r[j] = u24 >>> (16 >>> m3 & 24) & 255; + } + u24 = 0; + + } + } + return r.buffer; +} + +// Random seed +function getSeed(length) { + GostRandom = GostRandom || root.GostRandom; + var randomSource = GostRandom ? new (GostRandom || root.GostRandom) : rootCrypto; + if (randomSource.getRandomValues) { + var d = new Uint8Array(Math.ceil(length / 8)); + randomSource.getRandomValues(d); + return d; + } else + throw new NotSupportedError('Random generator not found'); +} + +// Check buffer +function buffer(d) { + if (d instanceof ArrayBuffer) + return d; + else if (d && d.buffer && d.buffer instanceof ArrayBuffer) + return d.byteOffset === 0 && d.byteLength === d.buffer.byteLength ? + d.buffer : new Uint8Array(new Uint8Array(d, d.byteOffset, d.byteLength)).buffer; + else + throw new DataError('ArrayBuffer or ArrayBufferView required'); +} // + +/** + * Algorithm name GOST R 34.11 or GOST R 34.11-12

+ * + * http://tools.ietf.org/html/rfc6986 + * + * The digest method returns digest data in according to GOST R 4311-2012.
+ * Size of digest also defines in algorithm name. + *
    + *
  • GOST R 34.11-256-12 - 256 bits digest
  • + *
  • GOST R 34.11-512-12 - 512 bits digest
  • + *
+ * + * @memberOf GostDigest + * @method digest + * @instance + * @param {(ArrayBuffer|TypedArray)} data Data + * @returns {ArrayBuffer} Digest of data + */ +var digest2012 = (function () // +{ + // Constants + var buffer0 = new Int32Array(16); // [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + + var buffer512 = new Int32Array(16); // [512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + buffer512[0] = 512; + + // Constant C + var C = (function (s) { + var h = new Int32Array(b64decode(s)), + r = new Array(12); + for (var i = 0; i < 12; i++) + r[i] = new Int32Array(h.buffer, i * 64, 16); + return r; + })( + 'B0Wm8lllgN0jTXTMNnR2BRXTYKQIKkKiAWlnkpHgfEv8xIV1jbhOcRbQRS5DdmovH3xlwIEvy+vp2soe2lsIsbebsSFwBHnmVs3L1xui3VXKpwrbwmG1XFiZ1hJrF7WaMQG1Fg9e1WGYKyMKcur+89e1cA9GneNPGi+dqYq1o2+yCroK9ZYemTHbeoZD9LbCCdtiYDc6ycGxnjWQ5A/i03t7KbEUderyix+cUl9e8QY1hD1qKPw5Cscvzius3HT1LtHjhLy+DCLxN+iToepTNL4DUpMzE7fYddYD7YIs16k/NV5orRxynX08XDN+hY5I3eRxXaDhSPnSZhXos98f71f+bHz9WBdg9WPqqX6iVnoWGicjtwD/36P1OiVHF82/vf8PgNc1njVKEIYWHxwVf2MjqWwMQT+amUdHraxr6ktufWRGekBo+jVPkDZyxXG/tsa+wmYf8gq0t5oct6b6z8aO8Jq0mn8YbKRCUfnEZi3AOTB6O8Okb9nTOh2urk+uk9QUOk1WhojzSjyiTEUXNQQFSiiDaUcGNyyCLcWrkgnJk3oZMz5H08mHv+bHxp45VAkkv/6GrFHsxaruFg7H9B7nAr/UDX+k' + + '2ahRWTXCrDYvxKXRK43RaZAGm5LLK4n0msTbTTtEtIke3jaccfi3TkFBbgwCqucDp8mTTUJbH5vbWiODUURhcmAqH8uS3DgOVJwHppqKK3uxzrLbC0QKgIQJDeC3Vdk8JEKJJRs6fTreXxbs2JpMlJsiMRZUWo837ZxFmPvHtHTDtjsV0fqYNvRSdjswbB56SzNprwJn558DYTMbiuH/H9t4iv8c50GJ8/PkskjlKjhSbwWApt6+qxst84HNpMprXdhvwEpZot6Ybkd9Hc2678q5SOrvcR2KeWaEFCGAASBhB6vru2v62JT+WmPNxgIw+4nI79CezXsg1xvxSpK8SJkbstnVF/T6UijhiKqkHeeGzJEYne+AXZufITDUEiD4dx3fvDI8pM16sUkEsIAT0roxFvFn5443'); + + // Precalc Ax + var Ax = (function (s) { + return new Int32Array(b64decode(s)); + })( + '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'); //== + + // Variables + var sigma, N, h; + + // 64bit tools + function get8(x, i) { + return (x[i >> 2] >> ((i & 3) << 3)) & 0xff; + } + + // 512bit tools + function add512(x, y) { + var CF = 0, w0, w1; + for (var i = 0; i < 16; i++) { + w0 = (x[i] & 0xffff) + (y[i] & 0xffff) + (CF || 0); + w1 = (x[i] >>> 16) + (y[i] >>> 16) + (w0 >>> 16); + x[i] = (w0 & 0xffff) | (w1 << 16); + CF = (w1 >>> 16); + } + } + + function get512(d) { + return new Int32Array(d.buffer, d.byteOffset, 16); + } + + + function copy512(r, d) { + for (var i = 0; i < 16; i++) + r[i] = d[i]; + } + + function new512() { + return new Int32Array(16); + } + + // Core private algorithms + function xor512(x, y) { + for (var i = 0; i < 16; i++) + x[i] = x[i] ^ y[i]; + } + + + var r = new512(); + function XLPS(x, y) { + copy512(r, x); + xor512(r, y); + for (var i = 0; i < 8; i++) { + var z0, z1, k = get8(r, i) << 1; + z0 = Ax[k]; + z1 = Ax[k + 1]; + for (var j = 1; j < 8; j++) { + k = (j << 9) + (get8(r, (j << 3) + i) << 1); + z0 = z0 ^ Ax[k]; + z1 = z1 ^ Ax[k + 1]; + } + x[i << 1] = z0; + x[(i << 1) + 1] = z1; + } + } + + var data = new512(), Ki = new512(); + function g(h, N, m) + { + var i; + + copy512(data, h); + XLPS(data, N); + + /* Starting E() */ + copy512(Ki, data); + XLPS(data, m); + + for (i = 0; i < 11; i++) { + XLPS(Ki, C[i]); + XLPS(data, Ki); + } + + XLPS(Ki, C[11]); + xor512(data, Ki); + /* E() done */ + + xor512(h, data); + xor512(h, m); + } + + // Stages + function stage2(d) { + var m = get512(d); + g(h, N, m); + + add512(N, buffer512); + add512(sigma, m); + } + + function stage3(d) { + var n = d.length; + if (n > 63) + return; + + var b0 = new Int32Array(16); + b0[0] = n << 3; + + var b = new Uint8Array(64); + for (var i = 0; i < n; i++) + b[i] = d[i]; + b[n] = 0x01; + + var m = get512(b), m0 = get512(b0); + g(h, N, m); + + add512(N, m0); + add512(sigma, m); + + g(h, buffer0, N); + g(h, buffer0, sigma); + } + + return function (data) { + + // Cleanup + sigma = new512(); + N = new512(); + + // Initial vector + h = new512(); + for (var i = 0; i < 16; i++) + if (this.bitLength === 256) + h[i] = 0x01010101; + + // Make data + var d = new Uint8Array(buffer(data)); + + var n = d.length; + var r = n % 64, q = (n - r) / 64; + + for (var i = 0; i < q; i++) + stage2.call(this, new Uint8Array(d.buffer, i * 64, 64)); + + stage3.call(this, new Uint8Array(d.buffer, q * 64, r)); + + var digest; + if (this.bitLength === 256) { + digest = new Int32Array(8); + for (var i = 0; i < 8; i++) + digest[i] = h[8 + i]; + } else { + digest = new Int32Array(16); + for (var i = 0; i < 16; i++) + digest[i] = h[i]; + } + // Swap hash for SignalCom + if (this.procreator === 'SC' || this.procreator === 'VN') + return swap(digest.buffer); + else + return digest.buffer; + }; +} // +)(); + +/** + * Algorithm name GOST R 34.11-94

+ * + * http://tools.ietf.org/html/rfc5831 + * + * The digest method returns digest data in according to GOST R 34.11-94. + * @memberOf GostDigest + * @method digest + * @instance + * @param {(ArrayBuffer|TypedArray)} data Data + * @returns {ArrayBuffer} Digest of data + */ +var digest94 = (function () // +{ + var C, H, M, Sum; + + // (i + 1 + 4(k - 1)) = 8i + k i = 0-3, k = 1-8 + function P(d) { + var K = new Uint8Array(32); + + for (var k = 0; k < 8; k++) { + K[4 * k] = d[k]; + K[1 + 4 * k] = d[ 8 + k]; + K[2 + 4 * k] = d[16 + k]; + K[3 + 4 * k] = d[24 + k]; + } + + return K; + } + + //A (x) = (x0 ^ x1) || x3 || x2 || x1 + function A(d) + { + var a = new Uint8Array(8); + + for (var j = 0; j < 8; j++) + { + a[j] = (d[j] ^ d[j + 8]); + } + + arraycopy(d, 8, d, 0, 24); + arraycopy(a, 0, d, 24, 8); + + return d; + } + + // (in:) n16||..||n1 ==> (out:) n1^n2^n3^n4^n13^n16||n16||..||n2 + function fw(d) { + var wS = new Uint16Array(d.buffer, 0, 16); + var wS15 = wS[0] ^ wS[1] ^ wS[2] ^ wS[3] ^ wS[12] ^ wS[15]; + arraycopy(wS, 1, wS, 0, 15); + wS[15] = wS15; + } + + //Encrypt function, ECB mode + function encrypt(key, s, sOff, d, dOff) { + var t = new Uint8Array(8); + arraycopy(d, dOff, t, 0, 8); + var r = new Uint8Array(this.cipher.encrypt(key, t)); + arraycopy(r, 0, s, sOff, 8); + } + + // block processing + function process(d, dOff) { + var S = new Uint8Array(32), U = new Uint8Array(32), + V = new Uint8Array(32), W = new Uint8Array(32); + + arraycopy(d, dOff, M, 0, 32); + + //key step 1 + + // H = h3 || h2 || h1 || h0 + // S = s3 || s2 || s1 || s0 + arraycopy(H, 0, U, 0, 32); + arraycopy(M, 0, V, 0, 32); + for (var j = 0; j < 32; j++) + { + W[j] = (U[j] ^ V[j]); + } + // Encrypt GOST 28147-ECB + encrypt.call(this, P(W), S, 0, H, 0); // s0 = EK0 [h0] + + //keys step 2,3,4 + for (var i = 1; i < 4; i++) { + var tmpA = A(U); + for (var j = 0; j < 32; j++) { + U[j] = (tmpA[j] ^ C[i][j]); + } + V = A(A(V)); + for (var j = 0; j < 32; j++) { + W[j] = (U[j] ^ V[j]); + } + // Encrypt GOST 28147-ECB + encrypt.call(this, P(W), S, i * 8, H, i * 8); // si = EKi [hi] + } + + // x(M, H) = y61(H^y(M^y12(S))) + for (var n = 0; n < 12; n++) { + fw(S); + } + for (var n = 0; n < 32; n++) { + S[n] = (S[n] ^ M[n]); + } + + fw(S); + + for (var n = 0; n < 32; n++) { + S[n] = (H[n] ^ S[n]); + } + for (var n = 0; n < 61; n++) { + fw(S); + } + arraycopy(S, 0, H, 0, H.length); + } + + + // 256 bitsblock modul -> (Sum + a mod (2^256)) + function summing(d) + { + var carry = 0; + for (var i = 0; i < Sum.length; i++) + { + var sum = (Sum[i] & 0xff) + (d[i] & 0xff) + carry; + + Sum[i] = sum; + + carry = sum >>> 8; + } + } + + // reset the chaining variables to the IV values. + var C2 = new Uint8Array([ + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF + ]); + + return function (data) { + + // Reset buffers + H = new Uint8Array(32); + M = new Uint8Array(32); + Sum = new Uint8Array(32); + + // Reset IV value + C = new Array(4); + for (var i = 0; i < 4; i++) + C[i] = new Uint8Array(32); + arraycopy(C2, 0, C[2], 0, C2.length); + + // Make data + var d = new Uint8Array(buffer(data)); + + var n = d.length; + var r = n % 32, q = (n - r) / 32; + + // Proccess full blocks + for (var i = 0; i < q; i++) { + var b = new Uint8Array(d.buffer, i * 32, 32); + + summing.call(this, b); // calc sum M + process.call(this, b, 0); + } + + // load d the remadder with padding zero; + if (r > 0) { + var b = new Uint8Array(d.buffer, q * 32), + c = new Uint8Array(32); + arraycopy(b, 0, c, 0, r); + summing.call(this, c); // calc sum M + process.call(this, c, 0); + + } + + // get length into L (byteCount * 8 = bitCount) in little endian. + var L = new Uint8Array(32), n8 = n * 8, k = 0; + while (n8 > 0) { + L[k++] = n8 & 0xff; + n8 = Math.floor(n8 / 256); + } + process.call(this, L, 0); + process.call(this, Sum, 0); + + var h = H.buffer; + + // Swap hash for SignalCom + if (this.procreator === 'SC') + h = swap(h); + + return h; + }; + +} // +)(); + +/** + * Algorithm name SHA-1

+ * + * https://tools.ietf.org/html/rfc3174 + * + * The digest method returns digest data in according to SHA-1.
+ * + * @memberOf GostDigest + * @method digest + * @instance + * @param {(ArrayBuffer|TypedArray)} data Data + * @returns {ArrayBuffer} Digest of data + */ +var digestSHA1 = (function () // +{ + + // Create a buffer for each 80 word block. + var state, block = new Uint32Array(80); + + function common(a, e, w, k, f) { + return (f + e + w + k + ((a << 5) | (a >>> 27))) >>> 0; + } + + function f1(a, b, c, d, e, w) { + return common(a, e, w, 0x5A827999, d ^ (b & (c ^ d))); + } + + function f2(a, b, c, d, e, w) { + return common(a, e, w, 0x6ED9EBA1, b ^ c ^ d); + } + + function f3(a, b, c, d, e, w) { + return common(a, e, w, 0x8F1BBCDC, (b & c) | (d & (b | c))); + } + + function f4(a, b, c, d, e, w) { + return common(a, e, w, 0xCA62C1D6, b ^ c ^ d); + } + + function cycle(state, block) { + var a = state[0], + b = state[1], + c = state[2], + d = state[3], + e = state[4]; + + // Partially unroll loops so we don't have to shift variables. + var fn = f1; + for (var i = 0; i < 80; i += 5) { + if (i === 20) { + fn = f2; + } + else if (i === 40) { + fn = f3; + } + else if (i === 60) { + fn = f4; + } + e = fn(a, b, c, d, e, block[i]); + b = ((b << 30) | (b >>> 2)) >>> 0; + d = fn(e, a, b, c, d, block[i + 1]); + a = ((a << 30) | (a >>> 2)) >>> 0; + c = fn(d, e, a, b, c, block[i + 2]); + e = ((e << 30) | (e >>> 2)) >>> 0; + b = fn(c, d, e, a, b, block[i + 3]); + d = ((d << 30) | (d >>> 2)) >>> 0; + a = fn(b, c, d, e, a, block[i + 4]); + c = ((c << 30) | (c >>> 2)) >>> 0; + } + state[0] += a; + state[1] += b; + state[2] += c; + state[3] += d; + state[4] += e; + } + + // Swap bytes for 32bits word + function swap32(b) { + return ((b & 0xff) << 24) + | ((b & 0xff00) << 8) + | ((b >> 8) & 0xff00) + | ((b >> 24) & 0xff); + } + + // input is a Uint8Array bitstream of the data + return function (data) { + var d = new Uint8Array(buffer(data)), dlen = d.length; + + // Pad the input string length. + var len = dlen + 9; + if (len % 64) { + len += 64 - (len % 64); + } + + state = new Uint32Array(5); + state[0] = 0x67452301; + state[1] = 0xefcdab89; + state[2] = 0x98badcfe; + state[3] = 0x10325476; + state[4] = 0xc3d2e1f0; + + for (var ofs = 0; ofs < len; ofs += 64) { + + // Copy input to block and write padding as needed + for (var i = 0; i < 64; i++) { + var b = 0, + o = ofs + i; + if (o < dlen) { + b = d[o]; + } + else if (o === dlen) { + b = 0x80; + } + else { + // Write original bit length as a 64bit big-endian integer to the end. + var x = len - o - 1; + if (x >= 0 && x < 4) { + b = (dlen << 3 >>> (x * 8)) & 0xff; + } + } + + // Interpret the input bytes as big-endian per the spec + if (i % 4 === 0) { + block[i >> 2] = b << 24; + } + else { + block[i >> 2] |= b << ((3 - (i % 4)) * 8); + } + } + + // Extend the block + for (var i = 16; i < 80; i++) { + var w = block[i - 3] ^ block[i - 8] ^ block[i - 14] ^ block[i - 16]; + block[i] = (w << 1) | (w >>> 31); + } + + cycle(state, block); + + } + + // Swap the bytes around since they are big endian internally + for (var i = 0; i < 5; i++) + state[i] = swap32(state[i]); + return state.buffer; + }; + +} // +)(); + +/** + * Algorithm name GOST R 34.11-HMAC

+ * + * HMAC with the specified hash function. + * @memberOf GostDigest + * @method sign + * @instance + * @param {ArrayBuffer} key The key for HMAC. + * @param {Hash} data Data + */ +function signHMAC(key, data) // +{ + // GOST R 34.11-94 - B=32b, L=32b + // GOST R 34.11-256 - B=64b, L=32b + // GOST R 34.11-512 - B=64b, L=64b + var b = (this.digest === digest94) ? 32 : 64, + l = this.bitLength / 8, + k = buffer(key), + d = buffer(data), k0; + if (k.byteLength === b) + k0 = new Uint8Array(k); + else { + var k0 = new Uint8Array(b); + if (k.byteLength > b) { + k0.set(new Uint8Array(this.digest(k))); + } else { + k0.set(new Uint8Array(k)); + } + } + var s0 = new Uint8Array(b + d.byteLength), + s1 = new Uint8Array(b + l); + for (var i = 0; i < b; i++) { + s0[i] = k0[i] ^ 0x36; + s1[i] = k0[i] ^ 0x5C; + } + s0.set(new Uint8Array(d), b); + s1.set(new Uint8Array(this.digest(s0)), b); + return this.digest(s1); +} // + +/** + * Algorithm name GOST R 34.11-HMAC

+ * + * Verify HMAC based on GOST R 34.11 hash + * + * @memberOf GostDigest + * @method verify + * @instance + * @param {(ArrayBuffer|TypedArray)} key Key which used for HMAC generation + * @param {(ArrayBuffer|TypedArray)} signature generated HMAC + * @param {(ArrayBuffer|TypedArray)} data Data + * @returns {boolean} HMAC verified = true + */ +function verifyHMAC(key, signature, data) // +{ + var hmac = new Uint8Array(this.sign(key, data)), + test = new Uint8Array(signature); + if (hmac.length !== test.length) + return false; + for (var i = 0, n = hmac.length; i < n; i++) + if (hmac[i] !== test[i]) + return false; + return true; +} // + + +/** + * Algorithm name GOST R 34.11-KDF

+ * + * Simple generate key 256/512 bit random seed for derivation algorithms + * + * @memberOf GostDigest + * @method generateKey + * @instance + * @returns {ArrayBuffer} Generated key + */ +function generateKey() // +{ + return getSeed(this.bitLength).buffer; +} // + +/** + * Algorithm name GOST R 34.11-PFXKDF

+ * + * Derive bits from password (PKCS12 mode) + *
    + *
  • algorithm.salt - random value, salt
  • + *
  • algorithm.iterations - number of iterations
  • + *
+ * @memberOf GostDigest + * @method deriveBits + * @instance + * @param {ArrayBuffer} baseKey - password after UTF-8 decoding + * @param {number} length output bit-length + * @returns {ArrayBuffer} result + */ +function deriveBitsPFXKDF(baseKey, length) // +{ + if (length % 8 > 0) + throw new DataError('Length must multiple of 8'); + var u = this.bitLength / 8, v = (this.digest === digest94) ? 32 : 64, + n = length / 8, r = this.iterations; + // 1. Construct a string, D (the "diversifier"), by concatenating v/8 + // copies of ID. + var ID = this.diversifier, D = new Uint8Array(v); + for (var i = 0; i < v; i++) + D[i] = ID; + // 2. Concatenate copies of the salt together to create a string S of + // length v(ceiling(s/v)) bits (the final copy of the salt may be + // truncated to create S). Note that if the salt is the empty + // string, then so is S. + var S0 = new Uint8Array(buffer(this.salt)), s = S0.length, + slen = v * Math.ceil(s / v), S = new Uint8Array(slen); + for (var i = 0; i < slen; i++) + S[i] = S0[i % s]; + // 3. Concatenate copies of the password together to create a string P + // of length v(ceiling(p/v)) bits (the final copy of the password + // may be truncated to create P). Note that if the password is the + // empty string, then so is P. + var P0 = new Uint8Array(buffer(baseKey)), p = P0.length, + plen = v * Math.ceil(p / v), P = new Uint8Array(plen); + for (var i = 0; i < plen; i++) + P[i] = P0[i % p]; + // 4. Set I=S||P to be the concatenation of S and P. + var I = new Uint8Array(slen + plen); + arraycopy(S, 0, I, 0, slen); + arraycopy(P, 0, I, slen, plen); + // 5. Set c=ceiling(n/u). + var c = Math.ceil(n / u); + // 6. For i=1, 2, ..., c, do the following: + var A = new Uint8Array(c * u); + for (var i = 0; i < c; i++) { + // A. Set A2=H^r(D||I). (i.e., the r-th hash of D||1, + // H(H(H(... H(D||I)))) + var H = new Uint8Array(v + slen + plen); + arraycopy(D, 0, H, 0, v); + arraycopy(I, 0, H, v, slen + plen); + for (var j = 0; j < r; j++) + H = new Uint8Array(this.digest(H)); + arraycopy(H, 0, A, i * u, u); + // B. Concatenate copies of Ai to create a string B of length v + // bits (the final copy of Ai may be truncated to create B). + var B = new Uint8Array(v); + for (var j = 0; j < v; j++) + B[j] = H[j % u]; + // C. Treating I as a concatenation I_0, I_1, ..., I_(k-1) of v-bit + // blocks, where k=ceiling(s/v)+ceiling(p/v), modify I by + // setting I_j=(I_j+B+1) mod 2^v for each j. + var k = (slen + plen) / v; + for (j = 0; j < k; j++) { + var cf = 1, w; + for (var l = v - 1; l >= 0; --l) { + w = I[v * j + l] + B[l] + cf; + cf = w >>> 8; + I[v * j + l] = w & 0xff; + } + } + } + // 7. Concatenate A_1, A_2, ..., A_c together to form a pseudorandom + // bit string, A. + // 8. Use the first n bits of A as the output of this entire process. + var R = new Uint8Array(n); + arraycopy(A, 0, R, 0, n); + return R.buffer; +} // + +/** + * Algorithm name GOST R 34.11-KDF

+ * + * Derive bits for KEK deversification in 34.10-2012 algorithm + * KDF(KEK, UKM, label) = HMAC256 (KEK, 0x01|label|0x00|UKM|0x01|0x00) + * Default label = 0x26|0xBD|0xB8|0x78 + * + * @memberOf GostDigest + * @method deriveBits + * @instance + * @param {(ArrayBuffer|TypedArray)} baseKey base key for deriviation + * @param {number} length output bit-length + * @returns {ArrayBuffer} result + */ +function deriveBitsKDF(baseKey, length) // +{ + if (length % 8 > 0) + throw new DataError('Length must be multiple of 8'); + var rlen = length / 8, label, context = new Uint8Array(buffer(this.context)), + blen = this.bitLength / 8, n = Math.ceil(rlen / blen); + if (this.label) + label = new Uint8Array(buffer(this.label)); + else + label = new Uint8Array([0x26, 0xBD, 0xB8, 0x78]); + var result = new Uint8Array(rlen); + for (var i = 0; i < n; i++) { + var data = new Uint8Array(label.length + context.length + 4); + data[0] = i + 1; + data.set(label, 1); + data[label.length + 1] = 0x00; + data.set(context, label.length + 2); + data[data.length - 2] = length >>> 8; + data[data.length - 1] = length & 0xff; + result.set(new Uint8Array(signHMAC.call(this, baseKey, data), 0, + i < n - 1 ? blen : rlen - i * blen), i * blen); + } + return result.buffer; +} // + +/** + * Algorithm name GOST R 34.11-PBKDF1

+ * + * Derive bits from password + *
    + *
  • algorithm.salt - random value, salt
  • + *
  • algorithm.iterations - number of iterations
  • + *
+ * @memberOf GostDigest + * @method deriveBits + * @instance + * @param {ArrayBuffer} baseKey - password after UTF-8 decoding + * @param {number} length output bit-length + * @returns {ArrayBuffer} result + */ +function deriveBitsPBKDF1(baseKey, length) // +{ + if (length < this.bitLength / 2 || length % 8 > 0) + throw new DataError('Length must be more than ' + this.bitLength / 2 + ' bits and multiple of 8'); + var hLen = this.bitLength / 8, dkLen = length / 8, + c = this.iterations, + P = new Uint8Array(buffer(baseKey)), + S = new Uint8Array(buffer(this.salt)), + slen = S.length, plen = P.length, + T = new Uint8Array(plen + slen), + DK = new Uint8Array(dkLen); + if (dkLen > hLen) + throw new DataError('Invalid parameters: Length value'); + arraycopy(P, 0, T, 0, plen); + arraycopy(S, 0, T, plen, slen); + for (var i = 0; i < c; i++) + T = new Uint8Array(this.digest(T)); + arraycopy(T, 0, DK, 0, dkLen); + return DK.buffer; +} // + +/** + * Algorithm name GOST R 34.11-PBKDF2

+ * + * Derive bits from password + *
    + *
  • algorithm.salt - random value, salt
  • + *
  • algorithm.iterations - number of iterations
  • + *
+ * @memberOf GostDigest + * @method deriveBits + * @instance + * @param {ArrayBuffer} baseKey - password after UTF-8 decoding + * @param {number} length output bit-length + * @returns {ArrayBuffer} result + */ +function deriveBitsPBKDF2(baseKey, length) // +{ + var diversifier = this.diversifier || 1; // For PKCS12 MAC required 3*length + length = length * diversifier; + if (length < this.bitLength / 2 || length % 8 > 0) + throw new DataError('Length must be more than ' + this.bitLength / 2 + ' bits and multiple of 8'); + var hLen = this.bitLength / 8, dkLen = length / 8, + c = this.iterations, + P = new Uint8Array(buffer(baseKey)), + S = new Uint8Array(buffer(this.salt)); + var slen = S.byteLength, + data = new Uint8Array(slen + 4); + arraycopy(S, 0, data, 0, slen); + + if (dkLen > (0xffffffff - 1) * 32) + throw new DataError('Invalid parameters: Length value'); + var n = Math.ceil(dkLen / hLen), + DK = new Uint8Array(dkLen); + for (var i = 1; i <= n; i++) { + data[slen] = i >>> 24 & 0xff; + data[slen + 1] = i >>> 16 & 0xff; + data[slen + 2] = i >>> 8 & 0xff; + data[slen + 3] = i & 0xff; + + var U = new Uint8Array(signHMAC.call(this, P, data)), Z = U; + for (var j = 1; j < c; j++) { + U = new Uint8Array(signHMAC.call(this, P, U)); + for (var k = 0; k < hLen; k++) + Z[k] = U[k] ^ Z[k]; + } + var ofs = (i - 1) * hLen; + arraycopy(Z, 0, DK, ofs, Math.min(hLen, dkLen - ofs)); + } + if (diversifier > 1) { + var rLen = dkLen / diversifier, R = new Uint8Array(rLen); + arraycopy(DK, dkLen - rLen, R, 0, rLen); + return R.buffer; + } else + return DK.buffer; +} // + +/** + * Algorithm name GOST R 34.11-CPKDF

+ * + * Derive bits from password. CryptoPro algorithm + *
    + *
  • algorithm.salt - random value, salt
  • + *
  • algorithm.iterations - number of iterations
  • + *
+ * @memberOf GostDigest + * @method deriveBits + * @instance + * @param {ArrayBuffer} baseKey - password after UTF-8 decoding + * @param {number} length output bit-length + * @returns {ArrayBuffer} result + */ +function deriveBitsCP(baseKey, length) { + if (length > this.bitLength || length % 8 > 0) + throw new DataError('Length can\'t be more than ' + this.bitLength + ' bits and multiple of 8'); + // GOST R 34.11-94 - B=32b, L=32b + // GOST R 34.11-256 - B=64b, L=32b + // GOST R 34.11-512 - B=64b, L=64b + var b = (this.digest === digest94) ? 32 : 64, + l = this.bitLength / 8, + p = baseKey && baseKey.byteLength > 0 ? new Uint8Array(buffer(baseKey)) : false, + plen = p ? p.length : 0, + iterations = this.iterations, + salt = new Uint8Array(buffer(this.salt)), + slen = salt.length, + d = new Uint8Array(slen + plen); + arraycopy(salt, 0, d, 0, slen); + if (p) + arraycopy(p, 0, d, slen, plen); + + var h = new Uint8Array(this.digest(d)), + k = new Uint8Array(b), + s0 = new Uint8Array(b), + s1 = new Uint8Array(b); + var c = 'DENEFH028.760246785.IUEFHWUIO.EF'; + for (var i = 0; i < c.length; i++) + k[i] = c.charCodeAt(i); + + d = new Uint8Array(2 * (b + l)); + for (var j = 0; j < iterations; j++) { + for (var i = 0; i < b; i++) { + s0[i] = k[i] ^ 0x36; + s1[i] = k[i] ^ 0x5C; + k[i] = 0; + } + arraycopy(s0, 0, d, 0, b); + arraycopy(h, 0, d, b, l); + arraycopy(s1, 0, d, b + l, b); + arraycopy(h, 0, d, b + l + b, l); + arraycopy(new Uint8Array(this.digest(d)), 0, k, 0, l); + } + for (var i = 0; i < l; i++) { + s0[i] = k[i] ^ 0x36; + s1[i] = k[i] ^ 0x5C; + k[i] = 0; + } + d = new Uint8Array(2 * l + slen + plen); + arraycopy(s0, 0, d, 0, l); + arraycopy(salt, 0, d, l, slen); + arraycopy(s1, 0, d, l + slen, l); + if (p) + arraycopy(p, 0, d, l + slen + l, plen); + h = this.digest(this.digest(d)); + if (length === this.bitLength) + return h; + else { + var rlen = length / 8, r = new Uint8Array(rlen); + arraycopy(h, 0, r, 0, rlen); + return r.buffer; + } +} + +/** + * Algorithm name GOST R 34.11-KDF or GOST R 34.11-PBKDF2 or other

+ * + * Derive key from derive bits subset + * + * @memberOf GostDigest + * @method deriveKey + * @instance + * @param {ArrayBuffer} baseKey + * @returns {ArrayBuffer} + */ +function deriveKey(baseKey) // +{ + return this.deriveBits(baseKey, this.keySize * 8); +} // + +/** + * GOST R 34.11 Algorithm

+ * + * References: {@link http://tools.ietf.org/html/rfc6986} and {@link http://tools.ietf.org/html/rfc5831}

+ * + * Normalized algorithm identifier common parameters: + * + *
    + *
  • name Algorithm name 'GOST R 34.11'
  • + *
  • version Algorithm version + *
      + *
    • 1994 old-style 256 bits digest based on GOST 28147-89
    • + *
    • 2012 256 ro 512 bits digest algorithm "Streebog" GOST R 34.11-2012 (default)
    • + *
    + *
  • + *
  • length Digest length + *
      + *
    • 256 256 bits digest
    • + *
    • 512 512 bits digest, valid only for algorithm "Streebog"
    • + *
    + *
  • + *
  • mode Algorithm mode + *
      + *
    • HASH simple digest mode (default)
    • + *
    • HMAC HMAC algorithm based on GOST R 34.11
    • + *
    • KDF Derive bits for KEK deversification
    • + *
    • PBKDF2 Password based key dirivation algorithms PBKDF2 (based on HMAC)
    • + *
    • PFXKDF Password based PFX key dirivation algorithms
    • + *
    • CPKDF CpyptoPro Password based key dirivation algorithms
    • + *
    + *
  • + *
  • sBox Paramset sBox for GOST 28147-89. Used only if version = 1994
  • + *
+ * + * Supported algorithms, modes and parameters: + * + *
    + *
  • Digest HASH mode (default)
  • + *
  • Sign/Verify HMAC modes parameters depends on version and length + *
      + *
    • version: 1994 HMAC parameters (B = 32, L = 32)
    • + *
    • version: 2012, length: 256 HMAC parameters (B = 64, L = 32)
    • + *
    • version: 2012, length: 512 HMAC parameters (B = 64, L = 64)
    • + *
    + *
  • + *
  • DeriveBits/DeriveKey KDF mode + *
      + *
    • context {@link CryptoOperationData} Context of the key derivation
    • + *
    • label {@link CryptoOperationData} Label that identifies the purpose for the derived keying material
    • + *
    + *
  • + *
  • DeriveBits/DeriveKey PBKDF2 mode + *
      + *
    • salt {@link CryptoOperationData} Random salt as input for HMAC algorithm
    • + *
    • iterations Iteration count. GOST recomended value 1000 (default) or 2000
    • + *
    • diversifier Deversifier, ID=1 - key material for performing encryption or decryption, ID=3 - integrity key for MACing
    • + *
    + *
  • + *
  • DeriveBits/DeriveKey PFXKDF mode + *
      + *
    • salt {@link CryptoOperationData} Random salt as input for HMAC algorithm
    • + *
    • iterations Iteration count. GOST recomended value 1000 (default) or 2000
    • + *
    • diversifier Deversifier, ID=1 - key material for performing encryption or decryption, + * ID=2 - IV (Initial Value) for encryption or decryption, ID=3 - integrity key for MACing
    • + *
    + *
  • + *
  • DeriveBits/DeriveKey CPKDF mode + *
      + *
    • salt {@link CryptoOperationData} Random salt as input for HMAC algorithm
    • + *
    • iterations Iteration count. GOST recomended value 1000 (default) or 2000
    • + *
    + *
  • + *
+ * + * @class GostDigest + * @param {AlgorithmIdentifier} algorithm WebCryptoAPI algorithm identifier + */ +function GostDigest(algorithm) // +{ + + algorithm = algorithm || {}; + + this.name = (algorithm.name || 'GOST R 34.10') + '-' + ((algorithm.version || 2012) % 100) + + ((algorithm.version || 2012) > 1 ? '-' + (algorithm.length || 256) : '') + + (((algorithm.mode || 'HASH') !== 'HASH') ? '-' + algorithm.mode : '') + + (algorithm.procreator ? '/' + algorithm.procreator : '') + + (typeof algorithm.sBox === 'string' ? '/' + algorithm.sBox : ''); + + // Algorithm procreator + this.procreator = algorithm.procreator; + + // Bit length + this.bitLength = algorithm.length || 256; + + switch (algorithm.version || 2012) { + case 1: // SHA-1 + this.digest = digestSHA1; + this.bitLength = 160; + break; + case 1994: + this.digest = digest94; + // Define chiper algorithm + this.sBox = (algorithm.sBox || (algorithm.procreator === 'SC' ? 'D-SC' : 'D-A')).toUpperCase(); + + //if (!GostCipher) + // GostCipher = root.GostCipher; + if (!GostCipher) + throw new NotSupportedError('Object GostCipher not found'); + + this.cipher = new GostCipher({ + name: 'GOST 28147', + block: 'ECB', + sBox: this.sBox, + procreator: this.procreator + }); + + break; + case 2012: + this.digest = digest2012; + break; + default: + throw new NotSupportedError('Algorithm version ' + algorithm.version + ' not supported'); + } + + // Key size + this.keySize = algorithm.keySize || (algorithm.version <= 2 ? this.bitLength / 8 : 32); + + switch (algorithm.mode || 'HASH') { + case 'HASH': + break; + case 'HMAC': + this.sign = signHMAC; + this.verify = verifyHMAC; + this.generateKey = generateKey; + break; + case 'KDF': + this.deriveKey = deriveKey; + this.deriveBits = deriveBitsKDF; + this.label = algorithm.label; + this.context = algorithm.context; + break; + case 'PBKDF2': + this.deriveKey = deriveKey; + this.deriveBits = deriveBitsPBKDF2; + this.generateKey = generateKey; + this.salt = algorithm.salt; + this.iterations = algorithm.iterations || 2000; + this.diversifier = algorithm.diversifier || 1; + break; + case 'PFXKDF': + this.deriveKey = deriveKey; + this.deriveBits = deriveBitsPFXKDF; + this.generateKey = generateKey; + this.salt = algorithm.salt; + this.iterations = algorithm.iterations || 2000; + this.diversifier = algorithm.diversifier || 1; + break; + case 'CPKDF': + this.deriveKey = deriveKey; + this.deriveBits = deriveBitsCP; + this.generateKey = generateKey; + this.salt = algorithm.salt; + this.iterations = algorithm.iterations || 2000; + break; + default: + throw new NotSupportedError('Algorithm mode ' + algorithm.mode + ' not supported'); + } +} // + +export default GostDigest; \ No newline at end of file diff --git a/src/core/vendor/gost/gostEngine.mjs b/src/core/vendor/gost/gostEngine.mjs new file mode 100755 index 00000000..fb68a791 --- /dev/null +++ b/src/core/vendor/gost/gostEngine.mjs @@ -0,0 +1,451 @@ +/** + * @file GOST 34.10-2012 signature function with 1024/512 bits digest + * @version 1.76 + * @copyright 2014-2016, Rudolf Nickolaev. All rights reserved. + */ + +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * 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. + * + */ + +import GostRandom from './gostRandom.mjs'; +import GostCipher from './gostCipher.mjs'; +import GostDigest from './gostDigest.mjs'; +import GostSign from './gostSign.mjs'; + +/* + * Engine definition base on normalized algorithm identifier + * + */ // + +var root = {}; + +// Define engine +function defineEngine(method, algorithm) { + if (!algorithm) + throw new (root.SyntaxError || Error)('Algorithm not defined'); + + if (!algorithm.name) + throw new (root.SyntaxError || Error)('Algorithm name not defined'); + + var name = algorithm.name, mode = algorithm.mode; + if ((name === 'GOST 28147' || name === 'GOST R 34.12' || name === 'RC2') && (method === 'generateKey' || + (mode === 'MAC' && (method === 'sign' || method === 'verify')) || + ((mode === 'KW' || mode === 'MASK') && (method === 'wrapKey' || method === 'unwrapKey')) || + ((!mode || mode === 'ES') && (method === 'encrypt' || method === 'decrypt')))) { + return 'GostCipher'; + + } else if ((name === 'GOST R 34.11' || name === 'SHA') && (method === 'digest' || + (mode === 'HMAC' && (method === 'sign' || method === 'verify' || method === 'generateKey')) || + ((mode === 'KDF' || mode === 'PBKDF2' || mode === 'PFXKDF' || mode === 'CPKDF') && + (method === 'deriveKey' || method === 'deriveBits' || method === 'generateKey')))) { + return 'GostDigest'; + + } else if (name === 'GOST R 34.10' && (method === 'generateKey' || + ((!mode || mode === 'SIGN') && (method === 'sign' || method === 'verify')) || + (mode === 'MASK' && (method === 'wrapKey' || method === 'unwrapKey')) || + (mode === 'DH' && (method === 'deriveKey' || method === 'deriveBits')))) { + return 'GostSign'; + } else + throw new (root.NotSupportedError || Error)('Algorithm ' + name + '-' + mode + ' is not valid for ' + method); +} // + +/** + * Object implements dedicated Web Workers and provide a simple way to create + * and run GOST cryptographic algorithms in background thread. + * + * Object provide interface to GOST low-level cryptogric classes: + *
    + *
  • GostCipher - implementation of GOST 28147, GOST R 34.12, GOST R 34.13 Encryption algorithms. Reference {@link http://tools.ietf.org/html/rfc5830}
  • + *
  • GostDigest - implementation of GOST R 34.11 Hash Function algorithms. References {@link http://tools.ietf.org/html/rfc5831} and {@link http://tools.ietf.org/html/rfc6986}
  • + *
  • GostSign - implementation of GOST R 34.10 Digital Signature algorithms. References {@link http://tools.ietf.org/html/rfc5832} and {@link http://tools.ietf.org/html/rfc7091}
  • + *
+ * @namespace gostEngine + */ +var gostEngine = { + /** + * gostEngine.execute(algorithm, method, args) Entry point to execution + * all low-level GOST cryptographic methods + * + *
    + *
  • Determine the appropriate engine for a given execution method
  • + *
  • Create cipher object for determineted engine
  • + *
  • Execute method of cipher with given args
  • + *
+ * + * @memberOf gostEngine + * @param {AlgorithmIndentifier} algorithm Algorithm identifier + * @param {string} method Crypto method for execution + * @param {Array} args Method arguments (keys, data, additional parameters) + * @returns {(CryptoOperationData|Key|KeyPair|boolean)} Result of method execution + */ + execute: function (algorithm, method, args) // + { + // Define engine for GOST algorithms + var engine = defineEngine(method, algorithm); + // Create cipher + var cipher = this['get' + engine](algorithm); + // Execute method + return cipher[method].apply(cipher, args); + }, // + /** + * gostEngine.getGostCipher(algorithm) returns GOST 28147 / GOST R 34.12 cipher instance

+ * + * GOST 28147-89 / GOST R 34.12-15 Encryption Algorithm

+ * When keys and initialization vectors are converted to/from byte arrays, + * little-endian byte order is assumed.

+ * + * Normalized algorithm identifier common parameters: + * + *
    + *
  • name Algorithm name 'GOST 28147' or 'GOST R 34.12'
  • + *
  • version Algorithm version, number + *
      + *
    • 1989 Current version of standard
    • + *
    • 2015 New draft version of standard
    • + *
    + *
  • + *
  • length Block length + *
      + *
    • 64 64 bits length (default)
    • + *
    • 128 128 bits length (only for version 2015)
    • + *
    + *
  • + *
  • mode Algorithm mode, string + *
      + *
    • ES Encryption mode (default)
    • + *
    • MAC "imitovstavka" (MAC) mode
    • + *
    • KW Key wrapping mode
    • + *
    • MASK Key mask mode
    • + *
    + *
  • + *
  • sBox Paramset sBox for GOST 28147-89, string. Used only if version = 1989
  • + *
+ * + * Supported algorithms, modes and parameters: + * + *
    + *
  • Encript/Decrypt mode (ES) + *
      + *
    • block Block mode, string. Default ECB
    • + *
    • keyMeshing Key meshing mode, string. Default NO
    • + *
    • padding Padding mode, string. Default NO for CFB and CTR modes, or ZERO for others
    • + *
    • iv {@link CryptoOperationData} Initial vector with length of block. Default - zero block
    • + *
    + *
  • + *
  • Sign/Verify mode (MAC) + *
      + *
    • macLength Length of mac in bits (default - 32 bits)
    • + *
    • iv {@link CryptoOperationData} Initial vector with length of block. Default - zero block
    • + *
    + *
  • + *
  • Wrap/Unwrap key mode (KW) + *
      + *
    • keyWrapping Mode of keywrapping, string. Default NO - standard GOST key wrapping
    • + *
    • ukm {@link CryptoOperationData} User key material. Default - random generated value
    • + *
    + *
  • + *
  • Wrap/Unwrap key mode (MASK)
  • + *
+ * + * Supported paramters values: + * + *
    + *
  • Block modes (parameter 'block') + *
      + *
    • ECB "prostaya zamena" (ECB) mode (default)
    • + *
    • CFB "gammirovanie s obratnoj svyaziyu" (64-bit CFB) mode
    • + *
    • CTR "gammirovanie" (counter) mode
    • + *
    • CBC Cipher-Block-Chaining (CBC) mode
    • + *
    + *
  • + *
  • Key meshing modes (parameter 'keyMeshing') + *
      + *
    • NO No key wrapping (default)
    • + *
    • CP CryptoPor Key key meshing
    • + *
    + *
  • + *
  • Padding modes (parameter 'padding') + *
      + *
    • NO No padding only for CFB and CTR modes
    • + *
    • PKCS5 PKCS#5 padding mode
    • + *
    • ZERO Zero bits padding mode
    • + *
    • RANDOM Random bits padding mode
    • + *
    + *
  • + *
  • Wrapping key modes (parameter 'keyWrapping') + *
      + *
    • NO Ref. rfc4357 6.1 GOST 28147-89 Key wrapping
    • + *
    • CP CryptoPro Key wrapping mode
    • + *
    • SC SignalCom Key wrapping mode
    • + *
    + *
  • + *
+ * + * @memberOf gostEngine + * @param {AlgorithmIndentifier} algorithm Algorithm identifier + * @returns {GostCipher} Instance of GostCipher + */ + getGostCipher: function (algorithm) // + { + return new (GostCipher || (GostCipher = root.GostCipher))(algorithm); + }, // + /** + * gostEngine.getGostDigest(algorithm) returns GOST R 34.11 cipher instance

+ * + * Normalized algorithm identifier common parameters: + * + *
    + *
  • name Algorithm name 'GOST R 34.11'
  • + *
  • version Algorithm version + *
      + *
    • 1994 old-style 256 bits digest based on GOST 28147-89
    • + *
    • 2012 256 ro 512 bits digest algorithm "Streebog" GOST R 34.11-2012 (default)
    • + *
    + *
  • + *
  • length Digest length + *
      + *
    • 256 256 bits digest
    • + *
    • 512 512 bits digest, valid only for algorithm "Streebog"
    • + *
    + *
  • + *
  • mode Algorithm mode + *
      + *
    • HASH simple digest mode (default)
    • + *
    • HMAC HMAC algorithm based on GOST R 34.11
    • + *
    • KDF Derive bits for KEK deversification
    • + *
    • PBKDF2 Password based key dirivation algorithms PBKDF2 (based on HMAC)
    • + *
    • PFXKDF PFX key dirivation algorithms PFXKDF
    • + *
    • CPKDF CryptoPro Password based key dirivation algorithms
    • + *
    + *
  • + *
  • sBox Paramset sBox for GOST 28147-89. Used only if version = 1994
  • + *
+ * + * Supported algorithms, modes and parameters: + * + *
    + *
  • Digest HASH mode (default)
  • + *
  • Sign/Verify HMAC modes parameters depends on version and length + *
      + *
    • version: 1994 HMAC parameters (B = 32, L = 32)
    • + *
    • version: 2012, length: 256 HMAC parameters (B = 64, L = 32)
    • + *
    • version: 2012, length: 512 HMAC parameters (B = 64, L = 64)
    • + *
    + *
  • + *
  • DeriveBits/DeriveKey KDF mode + *
      + *
    • context {@link CryptoOperationData} Context of the key derivation
    • + *
    • label {@link CryptoOperationData} Label that identifies the purpose for the derived keying material
    • + *
    + *
  • + *
  • DeriveBits/DeriveKey PBKDF2 mode + *
      + *
    • salt {@link CryptoOperationData} Random salt as input for HMAC algorithm
    • + *
    • iterations Iteration count. GOST recomended value 1000 (default) or 2000
    • + *
    + *
  • + *
  • DeriveBits/DeriveKey PFXKDF mode + *
      + *
    • salt {@link CryptoOperationData} Random salt as input for HMAC algorithm
    • + *
    • iterations Iteration count. GOST recomended value 1000 (default) or 2000
    • + *
    • diversifier Deversifier, ID=1 - key material for performing encryption or decryption, + * ID=2 - IV (Initial Value) for encryption or decryption, ID=3 - integrity key for MACing
    • + *
    + *
  • + *
  • DeriveBits/DeriveKey CPKDF mode + *
      + *
    • salt {@link CryptoOperationData} Random salt as input for HMAC algorithm
    • + *
    • iterations Iteration count. GOST recomended value 1000 (default) or 2000
    • + *
    + *
  • + *
+ * + * @memberOf gostEngine + * @param {AlgorithmIndentifier} algorithm Algorithm identifier + * @returns {GostDigest} Instance of GostDigest + */ + getGostDigest: function (algorithm) // + { + return new (GostDigest || (GostDigest = root.GostDigest))(algorithm); + }, // + /** + * gostEngine.getGostSign(algorithm) returns GOST R 34.10 cipher instance

+ * + * Normalized algorithm identifier common parameters: + * + *
    + *
  • name Algorithm name 'GOST R 34.10'
  • + *
  • version Algorithm version + *
      + *
    • 1994 - Old-style GOST R 34.10-94 ExpMod algorithm with GOST R 34.11-94 hash
    • + *
    • 2001 - GOST R 34.10-2001 Eliptic curve algorithm with old GOST R 34.11-94 hash
    • + *
    • 2012 - GOST R 34.10-2012 Eliptic curve algorithm with GOST R 34.11-12 hash, default mode
    • + *
    + *
  • + *
  • length Length of hash and signature. Key length == hash length for EC algorithms and 2 * hash length for ExpMod algorithm + *
      + *
    • GOST R 34.10-256 - 256 bits digest, default mode
    • + *
    • GOST R 34.10-512 - 512 bits digest only for GOST R 34.11-2012 hash
    • + *
    + *
  • + *
  • mode Algorithm mode + *
      + *
    • SIGN Digital signature mode (default)
    • + *
    • DH Diffie-Hellman key generation and key agreement mode
    • + *
    • MASK Key mask mode
    • + *
    + *
  • + *
  • sBox Paramset sBox for GOST 34.11-94. Used only if version = 1994 or 2001
  • + *
+ * + * Supported algorithms, modes and parameters: + * + *
    + *
  • Sign/Verify mode (SIGN)
  • + *
  • Wrap/Unwrap mode (MASK)
  • + *
  • DeriveKey/DeriveBits mode (DH) + *
      + *
    • {@link CryptoOperationData} ukm User key material. Default - random generated value
    • + *
    • {@link CryptoOperationData} public The peer's EC public key data
    • + *
    + *
  • + *
  • GenerateKey mode (SIGN and DH and MASK) version = 1994 + *
      + *
    • namedParam Paramset for key generation algorithm. If specified no additianal parameters required
    • + *
    + * Additional parameters, if namedParam not specified + *
      + *
    • modulusLength Bit length of p (512 or 1024 bits). Default = 1024
    • + *
    • p {@link CryptoOperationData} Modulus, prime number, 2^(t-1) + *
    • q {@link CryptoOperationData} Order of cyclic group, prime number, 2^254 + *
    • a {@link CryptoOperationData} Generator, integer, 1 + *
    + *
  • + *
  • GenerateKey mode (SIGN and DH and MASK) version = 2001 or 2012 + *
      + *
    • namedCurve Paramset for key generation algorithm. If specified no additianal parameters required
    • + *
    + * Additional EC parameters, if namedCurve not specified + *
      + *
    • p {@link CryptoOperationData} Prime number - elliptic curve modulus
    • + *
    • a {@link CryptoOperationData} Coefficients a of the elliptic curve E
    • + *
    • b {@link CryptoOperationData} Coefficients b of the elliptic curve E
    • + *
    • q {@link CryptoOperationData} Prime number - order of cyclic group
    • + *
    • x {@link CryptoOperationData} Base point p x-coordinate
    • + *
    • y {@link CryptoOperationData} Base point p y-coordinate
    • + *
    + *
  • + *
+ * + * @memberOf gostEngine + * @param {AlgorithmIndentifier} algorithm Algorithm identifier + * @returns {GostSign} Instance of GostSign + */ + getGostSign: function (algorithm) // + { + return new (GostSign || (GostSign = root.GostSign))(algorithm); + } // +}; + +/* + * Worker method execution + * + */ // + +// Worker for gostCripto method execution +if (root.importScripts) { + + /** + * Method called when {@link SubtleCrypto} calls its own postMessage() + * method with data parameter: algorithm, method and arg.
+ * Call method execute and postMessage() results to onmessage event handler + * in the main process.
+ * If error occured onerror event handler executed in main process. + * + * @memberOf gostEngine + * @name onmessage + * @param {MessageEvent} event Message event with data {algorithm, method, args} + */ + root.onmessage = function (event) { + try { + postMessage({ + id: event.data.id, + result: gostEngine.execute(event.data.algorithm, + event.data.method, event.data.args)}); + } catch (e) { + postMessage({ + id: event.data.id, + error: e.message + }); + } + }; +} else { + + // Load dependens + var baseUrl = '', nameSuffix = ''; + // Try to define from DOM model + if (typeof document !== 'undefined') { + (function () { + var regs = /^(.*)gostCrypto(.*)\.js$/i; + var list = document.querySelectorAll('script'); + for (var i = 0, n = list.length; i < n; i++) { + var value = list[i].getAttribute('src'); + var test = regs.exec(value); + if (test) { + baseUrl = test[1]; + nameSuffix = test[2]; + } + } + })(); + } + + // Local importScripts procedure for include dependens + var importScripts = function () { + for (var i = 0, n = arguments.length; i < n; i++) { + var name = arguments[i].split('.'), + src = baseUrl + name[0] + nameSuffix + '.' + name[1]; + var el = document.querySelector('script[src="' + src + '"]'); + if (!el) { + el = document.createElement('script'); + el.setAttribute('src', src); + document.head.appendChild(el); + } + } + }; + + // Import engines + if (!GostRandom) + importScripts('gostRandom.js'); + if (!GostCipher) + importScripts('gostCipher.js'); + if (!GostDigest) + importScripts('gostDigest.js'); + if (!GostSign) + importScripts('gostSign.js'); +} //
+ +export default gostEngine; + diff --git a/src/core/vendor/gost/gostRandom.mjs b/src/core/vendor/gost/gostRandom.mjs new file mode 100644 index 00000000..03ce8937 --- /dev/null +++ b/src/core/vendor/gost/gostRandom.mjs @@ -0,0 +1,128 @@ +/** + * Implementation Web Crypto random generatore for GOST algorithms + * 1.76 + * 2014-2016, Rudolf Nickolaev. All rights reserved. + * + * Exported for CyberChef by mshwed [m@ttshwed.com] + */ + +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * 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. + * + */ +import crypto from 'crypto'; + + +/** + * The gostCrypto provide general purpose cryptographic functionality for + * GOST standards including a cryptographically strong pseudo-random number + * generator seeded with truly random values. + * + * @Class GostRandom + * + */ // + +var root = {}; +var rootCrypto = crypto; + +var TypeMismatchError = Error; +var QuotaExceededError = Error; + +// Initialize mouse and time counters for random generator +var randomRing = { + seed: new Uint8Array(1024), + getIndex: 0, + setIndex: 0, + set: function (x) { + if (this.setIndex >= 1024) + this.setIndex = 0; + this.seed[this.setIndex++] = x; + }, + get: function () { + if (this.getIndex >= 1024) + this.getIndex = 0; + return this.seed[this.getIndex++]; + } +}; + +if (typeof document !== 'undefined') { + try { + // Mouse move event to fill random array + document.addEventListener('mousemove', function (e) { + randomRing.set((new Date().getTime() & 255) ^ + ((e.clientX || e.pageX) & 255) ^ + ((e.clientY || e.pageY) & 255)); + }, false); + } catch (e) { + } + + try { + // Keypress event to fill random array + document.addEventListener('keydown', function (e) { + randomRing.set((new Date().getTime() & 255) ^ + (e.keyCode & 255)); + }, false); + } catch (e) { + } +} // + +function GostRandom() { +} + +/** + * The getRandomValues method generates cryptographically random values.

+ * + * Random generator based on JavaScript Web Crypto random genereator + * (if it is possible) or Math.random mixed with time and parameters of + * mouse and keyboard events + * + * @memberOf GostRandom + * @param {(ArrayBuffer|ArrayBufferView)} array Destination buffer for random data + */ +GostRandom.prototype.getRandomValues = function (array) // +{ + + if (!array.byteLength) + throw new TypeMismatchError('Array is not of an integer type (Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, or Uint32Array)'); + + if (array.byteLength > 65536) + throw new QuotaExceededError('Byte length of array can\'t be greate then 65536'); + + var u8 = new Uint8Array(array.buffer, array.byteOffset, array.byteLength); + if (rootCrypto && rootCrypto.getRandomValues) { + // Native window cryptographic interface + rootCrypto.getRandomValues(u8); + } else { + // Standard Javascript method + for (var i = 0, n = u8.length; i < n; i++) + u8[i] = Math.floor(256 * Math.random()) & 255; + } + + // Mix bio randomizator + for (var i = 0, n = u8.length; i < n; i++) + u8[i] = u8[i] ^ randomRing.get(); + return array; +}; // + +export default GostRandom; diff --git a/src/core/vendor/gost/gostSign.mjs b/src/core/vendor/gost/gostSign.mjs new file mode 100755 index 00000000..20fa141b --- /dev/null +++ b/src/core/vendor/gost/gostSign.mjs @@ -0,0 +1,2023 @@ +/** + * @file GOST 34.10-2012 signature function with 1024/512 bits digest + * @version 1.76 + * @copyright 2014-2016, Rudolf Nickolaev. All rights reserved. + */ + +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Used library JSBN http://www-cs-students.stanford.edu/~tjw/jsbn/ + * Copyright (c) 2003-2005 Tom Wu (tjw@cs.Stanford.EDU) + * + * 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. + * + */ + + import GostRandom from './gostRandom.mjs'; + import GostDigest from './gostDigest.mjs'; + + import crypto from 'crypto'; + + /* + * Predefined curves and params collection + * + * http://tools.ietf.org/html/rfc5832 + * http://tools.ietf.org/html/rfc7091 + * http://tools.ietf.org/html/rfc4357 + * + */ // + +var root = {}; +var rootCrypto = crypto; +var CryptoOperationData = ArrayBuffer; + +var OperationError = Error, + DataError = Error, + NotSupportedError = Error; + +// Predefined named curve collection +var ECGostParams = { + 'S-256-TEST': { + a: 7, + b: '0x5FBFF498AA938CE739B8E022FBAFEF40563F6E6A3472FC2A514C0CE9DAE23B7E', + p: '0x8000000000000000000000000000000000000000000000000000000000000431', + q: '0x8000000000000000000000000000000150FE8A1892976154C59CFC193ACCF5B3', + x: 2, + y: '0x8E2A8A0E65147D4BD6316030E16D19C85C97F0A9CA267122B96ABBCEA7E8FC8' + }, + 'S-256-A': { + a: '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD94', + b: 166, + p: '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD97', + q: '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C611070995AD10045841B09B761B893', + x: 1, + y: '0x8D91E471E0989CDA27DF505A453F2B7635294F2DDF23E3B122ACC99C9E9F1E14' + }, + 'S-256-B': { + a: '0x8000000000000000000000000000000000000000000000000000000000000C96', + b: '0x3E1AF419A269A5F866A7D3C25C3DF80AE979259373FF2B182F49D4CE7E1BBC8B', + p: '0x8000000000000000000000000000000000000000000000000000000000000C99', + q: '0x800000000000000000000000000000015F700CFFF1A624E5E497161BCC8A198F', + x: 1, + y: '0x3FA8124359F96680B83D1C3EB2C070E5C545C9858D03ECFB744BF8D717717EFC' + }, + 'S-256-C': { + a: '0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D7598', + b: 32858, + p: '0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B', + q: '0x9B9F605F5A858107AB1EC85E6B41C8AA582CA3511EDDFB74F02F3A6598980BB9', + x: 0, + y: '0x41ECE55743711A8C3CBF3783CD08C0EE4D4DC440D4641A8F366E550DFDB3BB67' + }, + 'P-256': { + p: '0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF', + a: '0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC', + b: '0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B', + x: '0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296', + y: '0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5', + q: '0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551' + }, + 'T-512-TEST': { + a: 7, + b: '0x1CFF0806A31116DA29D8CFA54E57EB748BC5F377E49400FDD788B649ECA1AC4361834013B2AD7322480A89CA58E0CF74BC9E540C2ADD6897FAD0A3084F302ADC', + p: '0x4531ACD1FE0023C7550D267B6B2FEE80922B14B2FFB90F04D4EB7C09B5D2D15DF1D852741AF4704A0458047E80E4546D35B8336FAC224DD81664BBF528BE6373', + q: '0x4531ACD1FE0023C7550D267B6B2FEE80922B14B2FFB90F04D4EB7C09B5D2D15DA82F2D7ECB1DBAC719905C5EECC423F1D86E25EDBE23C595D644AAF187E6E6DF', + x: '0x24D19CC64572EE30F396BF6EBBFD7A6C5213B3B3D7057CC825F91093A68CD762FD60611262CD838DC6B60AA7EEE804E28BC849977FAC33B4B530F1B120248A9A', + y: '0x2BB312A43BD2CE6E0D020613C857ACDDCFBF061E91E5F2C3F32447C259F39B2C83AB156D77F1496BF7EB3351E1EE4E43DC1A18B91B24640B6DBB92CB1ADD371E' + }, + 'T-512-A': { + p: '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC7', + a: '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC4', + b: '0xE8C2505DEDFC86DDC1BD0B2B6667F1DA34B82574761CB0E879BD081CFD0B6265EE3CB090F30D27614CB4574010DA90DD862EF9D4EBEE4761503190785A71C760', + q: '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27E69532F48D89116FF22B8D4E0560609B4B38ABFAD2B85DCACDB1411F10B275', + x: 3, + y: '0x7503CFE87A836AE3A61B8816E25450E6CE5E1C93ACF1ABC1778064FDCBEFA921DF1626BE4FD036E93D75E6A50E3A41E98028FE5FC235F5B889A589CB5215F2A4' + }, + 'T-512-B': { + p: '0x8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006F', + a: '0x8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006C', + b: '0x687D1B459DC841457E3E06CF6F5E2517B97C7D614AF138BCBF85DC806C4B289F3E965D2DB1416D217F8B276FAD1AB69C50F78BEE1FA3106EFB8CCBC7C5140116', + q: '0x800000000000000000000000000000000000000000000000000000000000000149A1EC142565A545ACFDB77BD9D40CFA8B996712101BEA0EC6346C54374F25BD', + x: 2, + y: '0x1A8F7EDA389B094C2C071E3647A8940F3C123B697578C213BE6DD9E6C8EC7335DCB228FD1EDF4A39152CBCAAF8C0398828041055F94CEEEC7E21340780FE41BD' + } +}; +ECGostParams['X-256-A'] = ECGostParams['S-256-A']; +ECGostParams['X-256-B'] = ECGostParams['S-256-C']; +ECGostParams['T-256-TEST'] = ECGostParams['S-256-TEST']; +ECGostParams['T-256-A'] = ECGostParams['S-256-A']; +ECGostParams['T-256-B'] = ECGostParams['S-256-B']; +ECGostParams['T-256-C'] = ECGostParams['S-256-C']; + + +var GostParams = { + 'S-TEST': { + modulusLength: 512, // bit length of p (512 or 1024 bits) + p: '0xEE8172AE8996608FB69359B89EB82A69854510E2977A4D63BC97322CE5DC3386EA0A12B343E9190F23177539845839786BB0C345D165976EF2195EC9B1C379E3', + q: '0x98915E7EC8265EDFCDA31E88F24809DDB064BDC7285DD50D7289F0AC6F49DD2D', + a: '0x9e96031500c8774a869582d4afde2127afad2538b4b6270a6f7c8837b50d50f206755984a49e509304d648be2ab5aab18ebe2cd46ac3d8495b142aa6ce23e21c' + }, + 'S-A': { + modulusLength: 1024, + p: '0xB4E25EFB018E3C8B87505E2A67553C5EDC56C2914B7E4F89D23F03F03377E70A2903489DD60E78418D3D851EDB5317C4871E40B04228C3B7902963C4B7D85D52B9AA88F2AFDBEB28DA8869D6DF846A1D98924E925561BD69300B9DDD05D247B5922D967CBB02671881C57D10E5EF72D3E6DAD4223DC82AA1F7D0294651A480DF', + q: '0x972432A437178B30BD96195B773789AB2FFF15594B176DD175B63256EE5AF2CF', + a: '0x8FD36731237654BBE41F5F1F8453E71CA414FFC22C25D915309E5D2E62A2A26C7111F3FC79568DAFA028042FE1A52A0489805C0DE9A1A469C844C7CABBEE625C3078888C1D85EEA883F1AD5BC4E6776E8E1A0750912DF64F79956499F1E182475B0B60E2632ADCD8CF94E9C54FD1F3B109D81F00BF2AB8CB862ADF7D40B9369A' + }, + 'S-B': { + modulusLength: 1024, + p: '0xC6971FC57524B30C9018C5E621DE15499736854F56A6F8AEE65A7A404632B1BCF0349FFCAFCB0A103177971FC1612ADCDB8C8CC938C70225C8FD12AFF01B1D064E0AD6FDE6AB9159166CB9F2FC171D92F0CC7B6A6B2CD7FA342ACBE2C9315A42D576B1ECCE77A963157F3D0BD96A8EB0B0F3502AD238101B05116334F1E5B7AB', + q: '0xB09D634C10899CD7D4C3A7657403E05810B07C61A688BAB2C37F475E308B0607', + a: '0x3D26B467D94A3FFC9D71BF8DB8934084137264F3C2E9EB16DCA214B8BC7C872485336744934FD2EF5943F9ED0B745B90AA3EC8D70CDC91682478B664A2E1F8FB56CEF2972FEE7EDB084AF746419B854FAD02CC3E3646FF2E1A18DD4BEB3C44F7F2745588029649674546CC9187C207FB8F2CECE8E2293F68395C4704AF04BAB5' + }, + 'S-C': { + modulusLength: 1024, + p: '0x9D88E6D7FE3313BD2E745C7CDD2AB9EE4AF3C8899E847DE74A33783EA68BC30588BA1F738C6AAF8AB350531F1854C3837CC3C860FFD7E2E106C3F63B3D8A4C034CE73942A6C3D585B599CF695ED7A3C4A93B2B947B7157BB1A1C043AB41EC8566C6145E938A611906DE0D32E562494569D7E999A0DDA5C879BDD91FE124DF1E9', + q: '0xFADD197ABD19A1B4653EECF7ECA4D6A22B1F7F893B641F901641FBB555354FAF', + a: '0x7447ED7156310599070B12609947A5C8C8A8625CF1CF252B407B331F93D639DDD1BA392656DECA992DD035354329A1E95A6E32D6F47882D960B8F10ACAFF796D13CD9611F853DAB6D2623483E46788708493937A1A29442598AEC2E0742022563440FE9C18740ECE6765AC05FAF024A64B026E7E408840819E962E7E5F401AE3' + }, + 'S-D': { + modulusLength: 1024, + p: '0x80F102D32B0FD167D069C27A307ADAD2C466091904DBAA55D5B8CC7026F2F7A1919B890CB652C40E054E1E9306735B43D7B279EDDF9102001CD9E1A831FE8A163EED89AB07CF2ABE8242AC9DEDDDBF98D62CDDD1EA4F5F15D3A42A6677BDD293B24260C0F27C0F1D15948614D567B66FA902BAA11A69AE3BCEADBB83E399C9B5', + q: '0xF0F544C418AAC234F683F033511B65C21651A6078BDA2D69BB9F732867502149', + a: '0x6BCC0B4FADB3889C1E06ADD23CC09B8AB6ECDEDF73F04632595EE4250005D6AF5F5ADE44CB1E26E6263C672347CFA26F9E9393681E6B759733784CDE5DBD9A14A39369DFD99FA85CC0D10241C4010343F34A91393A706CF12677CBFA1F578D6B6CFBE8A1242CFCC94B3B653A476E145E3862C18CC3FED8257CFEF74CDB205BF1' + }, + 'X-A': { + modulusLength: 1024, + p: '0xCA3B3F2EEE9FD46317D49595A9E7518E6C63D8F4EB4D22D10D28AF0B8839F079F8289E603B03530784B9BB5A1E76859E4850C670C7B71C0DF84CA3E0D6C177FE9F78A9D8433230A883CD82A2B2B5C7A3306980278570CDB79BF01074A69C9623348824B0C53791D53C6A78CAB69E1CFB28368611A397F50F541E16DB348DBE5F', + q: '0xCAE4D85F80C147704B0CA48E85FB00A9057AA4ACC44668E17F1996D7152690D9', + a: '0xBE27D652F2F1E339DA734211B85B06AE4DE236AA8FBEEB3F1ADCC52CD43853777E834A6A518138678A8ADBD3A55C70A7EAB1BA7A0719548677AAF4E609FFB47F6B9D7E45B0D06D83D7ADC53310ABD85783E7317F7EC73268B6A9C08D260B85D8485696CA39C17B17F044D1E050489036ABD381C5E6BF82BA352A1AFF136601AF' + }, + 'X-B': { + modulusLength: 1024, + p: '0x9286DBDA91ECCFC3060AA5598318E2A639F5BA90A4CA656157B2673FB191CD0589EE05F4CEF1BD13508408271458C30851CE7A4EF534742BFB11F4743C8F787B11193BA304C0E6BCA25701BF88AF1CB9B8FD4711D89F88E32B37D95316541BF1E5DBB4989B3DF13659B88C0F97A3C1087B9F2D5317D557DCD4AFC6D0A754E279', + q: '0xC966E9B3B8B7CDD82FF0F83AF87036C38F42238EC50A876CD390E43D67B6013F', + a: '0x7E9C3096676F51E3B2F9884CF0AC2156779496F410E049CED7E53D8B7B5B366B1A6008E5196605A55E89C3190DABF80B9F1163C979FCD18328DAE5E9048811B370107BB7715F82091BB9DE0E33EE2FED6255474F8769FCE5EAFAEEF1CB5A32E0D5C6C2F0FC0B3447072947F5B4C387666993A333FC06568E534AD56D2338D729' + }, + 'X-C': { + modulusLength: 1024, + p: '0xB194036ACE14139D36D64295AE6C50FC4B7D65D8B340711366CA93F383653908EE637BE428051D86612670AD7B402C09B820FA77D9DA29C8111A8496DA6C261A53ED252E4D8A69A20376E6ADDB3BDCD331749A491A184B8FDA6D84C31CF05F9119B5ED35246EA4562D85928BA1136A8D0E5A7E5C764BA8902029A1336C631A1D', + q: '0x96120477DF0F3896628E6F4A88D83C93204C210FF262BCCB7DAE450355125259', + a: '0x3F1817052BAA7598FE3E4F4FC5C5F616E122CFF9EBD89EF81DC7CE8BF56CC64B43586C80F1C4F56DD5718FDD76300BE336784259CA25AADE5A483F64C02A20CF4A10F9C189C433DEFE31D263E6C9764660A731ECCAECB74C8279303731E8CF69205BC73E5A70BDF93E5BB681DAB4EEB9C733CAAB2F673C475E0ECA921D29782E' + } +}; // + +/* + * BigInteger arithmetic tools + * optimized release of http://www-cs-students.stanford.edu/~tjw/jsbn/jsbn.js + * + */ // + +// Bits per one element +var DB = 28, DM = (1 << DB) - 1, DV = 1 << DB, + FV = Math.pow(2, 52), F1 = 52 - DB, F2 = 2 * DB - 52; + +function am(y, i, x, w, j, c, n) { + var xl = x & 0x3fff, xh = x >> 14; + while (--n >= 0) { + var l = y[i] & 0x3fff; + var h = y[i++] >> 14; + var m = xh * l + h * xl; + l = xl * l + ((m & 0x3fff) << 14) + w[j] + c; + c = (l >> 28) + (m >> 14) + xh * h; + w[j++] = l & 0xfffffff; + } + return c; +} + +function nbi(words) { + var r = new Array(Math.ceil(words)); + r.s = 0; + r.t = 0; + return r; +} + +function copyTo(x, r) { + for (var i = x.t - 1; i >= 0; --i) + r[i] = x[i]; + r.t = x.t; + r.s = x.s; + return r; +} + +function copy(x) { + return copyTo(x, nbi(x.t)); +} + +function setInt(x, i) { + x.t = 1; + x.s = (i < 0) ? -1 : 0; + if (i > 0) + x[0] = i; + else if (i < -1) + x[0] = i + DV; + else + x.t = 0; + return x; +} + +function nbv(i) { + var r = nbi(1); + setInt(r, i); + return r; +} + +var ZERO = nbv(0), ONE = nbv(1), THREE = nbv(3); + +function clamp(x) { + var c = x.s & DM; + while (x.t > 0 && x[x.t - 1] === c) + --x.t; + return x; +} + +function subTo(x, a, r) { + var i = 0, c = 0, m = Math.min(a.t, x.t); + while (i < m) { + c += x[i] - a[i]; + r[i++] = c & DM; + c >>= DB; + } + if (a.t < x.t) { + c -= a.s; + while (i < x.t) { + c += x[i]; + r[i++] = c & DM; + c >>= DB; + } + c += x.s; + } + else { + c += x.s; + while (i < a.t) { + c -= a[i]; + r[i++] = c & DM; + c >>= DB; + } + c -= a.s; + } + r.s = (c < 0) ? -1 : 0; + if (c < -1) + r[i++] = DV + c; + else if (c > 0) + r[i++] = c; + r.t = i; + return clamp(r); +} + +function sub(x, y) { + return subTo(x, y, nbi(x.t)); +} + +function addTo(x, a, r) { + var i = 0, c = 0, m = Math.min(a.t, x.t); + while (i < m) { + c += x[i] + a[i]; + r[i++] = c & DM; + c >>= DB; + } + if (a.t < x.t) { + c += a.s; + while (i < x.t) { + c += x[i]; + r[i++] = c & DM; + c >>= DB; + } + c += x.s; + } + else { + c += x.s; + while (i < a.t) { + c += a[i]; + r[i++] = c & DM; + c = c >> DB; + } + c += a.s; + } + r.s = (c < 0) ? -1 : 0; + if (c > 0) + r[i++] = c; + else if (c < -1) + r[i++] = DV + c; + r.t = i; + return clamp(r); +} + +function add(x, y) { + return addTo(x, y, nbi(x.t)); +} + +function negTo(x, r) { + return subTo(ZERO, x, r); +} + +function neg(x) { + return negTo(x, nbi(x.t)); +} + +function absTo(x, r) { + return (x.s < 0) ? negTo(r) : copyTo(r); +} + +function abs(x) { + return (x.s < 0) ? neg(x) : x; +} + +function compare(x, a) { + var r = x.s - a.s; + if (r !== 0) + return r; + var i = x.t; + r = i - a.t; + if (r !== 0) + return (x.s < 0) ? -r : r; + while (--i >= 0) + if ((r = x[i] - a[i]) !== 0) + return r; + return 0; +} + +function equals(x, y) { + return(compare(x, y) === 0); +} + +function min(x, y) { + return(compare(x, y) < 0) ? x : y; +} + +function max(x, y) { + return(compare(x, y) > 0) ? x : y; +} + +function nbits(x) { + var r = 1, t; + if ((t = x >>> 16) !== 0) { + x = t; + r += 16; + } + if ((t = x >> 8) !== 0) { + x = t; + r += 8; + } + if ((t = x >> 4) !== 0) { + x = t; + r += 4; + } + if ((t = x >> 2) !== 0) { + x = t; + r += 2; + } + if ((t = x >> 1) !== 0) { + x = t; + r += 1; + } + return r; +} + +function dshlTo(x, n, r) { + var i; + for (i = x.t - 1; i >= 0; --i) + r[i + n] = x[i]; + for (i = n - 1; i >= 0; --i) + r[i] = 0; + r.t = x.t + n; + r.s = x.s; + return r; +} +function dshrTo(x, n, r) { + for (var i = n; i < x.t; ++i) + r[i - n] = x[i]; + r.t = Math.max(x.t - n, 0); + r.s = x.s; + return r; +} + +function shlTo(x, n, r) { + var bs = n % DB; + var cbs = DB - bs; + var bm = (1 << cbs) - 1; + var ds = Math.floor(n / DB), c = (x.s << bs) & DM, i; + for (i = x.t - 1; i >= 0; --i) { + r[i + ds + 1] = (x[i] >> cbs) | c; + c = (x[i] & bm) << bs; + } + for (i = ds - 1; i >= 0; --i) + r[i] = 0; + r[ds] = c; + r.t = x.t + ds + 1; + r.s = x.s; + return clamp(r); +} + +function shrTo(x, n, r) { + r.s = x.s; + var ds = Math.floor(n / DB); + if (ds >= x.t) { + r.t = 0; + return; + } + var bs = n % DB; + var cbs = DB - bs; + var bm = (1 << bs) - 1; + r[0] = x[ds] >> bs; + for (var i = ds + 1; i < x.t; ++i) { + r[i - ds - 1] |= (x[i] & bm) << cbs; + r[i - ds] = x[i] >> bs; + } + if (bs > 0) + r[x.t - ds - 1] |= (x.s & bm) << cbs; + r.t = x.t - ds; + return clamp(r); +} + +function shl(x, n) { + var r = nbi(x.t); + if (n < 0) + shrTo(x, -n, r); + else + shlTo(x, n, r); + return r; +} + +function shr(x, n) { + var r = nbi(x.t); + if (n < 0) + shlTo(x, -n, r); + else + shrTo(x, n, r); + return r; +} + +function bitLength(x) { + if (x.t <= 0) + return 0; + return DB * (x.t - 1) + nbits(x[x.t - 1] ^ (x.s & DM)); +} + +function mulTo(b, a, r) { + var x = abs(b), y = abs(a); + var i = x.t; + r.t = i + y.t; + while (--i >= 0) + r[i] = 0; + for (i = 0; i < y.t; ++i) + r[i + x.t] = am(x, 0, y[i], r, i, 0, x.t); + r.s = 0; + if (b.s !== a.s) + subTo(ZERO, r, r); + return clamp(r); +} + +function mul(x, y) { + return mulTo(x, y, nbi(x.t + y.t)); +} + +function sqrTo(a, r) { + var x = abs(a); + var i = r.t = 2 * x.t; + while (--i >= 0) + r[i] = 0; + for (i = 0; i < x.t - 1; ++i) { + var c = am(x, i, x[i], r, 2 * i, 0, 1); + if ((r[i + x.t] += am(x, i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) { + r[i + x.t] -= x.DV; + r[i + x.t + 1] = 1; + } + } + if (r.t > 0) + r[r.t - 1] += am(x, i, x[i], r, 2 * i, 0, 1); + r.s = 0; + return clamp(r); +} + +function sqr(a) { + return sqrTo(a, nbi(a.t * 2)); +} + +function divRemTo(n, m, q, r) { + var pm = abs(m); + if (pm.t <= 0) + throw new OperationError('Division by zero'); + var pt = abs(n); + if (pt.t < pm.t) { + if (q) + setInt(q, 0); + if (r) + copyTo(n, r); + return q; + } + if (!r) + r = nbi(m.t); + var y = nbi(m.t), ts = n.s, ms = m.s; + var nsh = DB - nbits(pm[pm.t - 1]); + if (nsh > 0) { + shlTo(pm, nsh, y); + shlTo(pt, nsh, r); + } + else { + copyTo(pm, y); + copyTo(pt, r); + } + var ys = y.t; + var y0 = y[ys - 1]; + if (y0 === 0) + return q; + var yt = y0 * (1 << F1) + ((ys > 1) ? y[ys - 2] >> F2 : 0); + var d1 = FV / yt, d2 = (1 << F1) / yt, e = 1 << F2; + var i = r.t, j = i - ys, t = !q ? nbi(Math.max(n.t - m.t, 1)) : q; + dshlTo(y, j, t); + if (compare(r, t) >= 0) { + r[r.t++] = 1; + subTo(r, t, r); + } + dshlTo(ONE, ys, t); + subTo(t, y, y); + while (y.t < ys) + y[y.t++] = 0; + while (--j >= 0) { + var qd = (r[--i] === y0) ? DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2); + if ((r[i] += am(y, 0, qd, r, j, 0, ys)) < qd) { + dshlTo(y, j, t); + subTo(r, t, r); + while (r[i] < --qd) + subTo(r, t, r); + } + } + if (q) { + dshrTo(r, ys, q); + if (ts !== ms) + subTo(ZERO, q, q); + } + r.t = ys; + clamp(r); + if (nsh > 0) + shrTo(r, nsh, r); + if (ts < 0) + subTo(ZERO, r, r); + return q; +} + +function modTo(b, a, r) { + divRemTo(abs(b), a, null, r); + if (b.s < 0 && compare(r, ZERO) > 0) + subTo(a, r, r); + return r; +} + +function mod(b, a) { + return modTo(b, a, nbi(a.t)); +} + +function div(b, a) { + return divRemTo(b, a, nbi(Math.max(b.t - a.t, 1)), null); +} + +function isEven(x) { + + return ((x.t > 0) ? (x[0] & 1) : x.s) === 0; +} + +function isZero(x) { + return equals(x, ZERO); +} + +function sig(x) { + if (x.s < 0) + return -1; + else if (x.t <= 0 || (x.t === 1 && x[0] <= 0)) + return 0; + else + return 1; +} + +function invMod(x, m) { + var ac = isEven(m); + if ((isEven(x) && ac) || sig(m) === 0) + return ZERO; + var u = copy(m), v = copy(x); + var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1); + while (sig(u) !== 0) { + while (isEven(u)) { + shrTo(u, 1, u); + if (ac) { + if (!isEven(a) || !isEven(b)) { + addTo(a, x, a); + subTo(b, m, b); + } + shrTo(a, 1, a); + } + else if (!isEven(b)) + subTo(b, m, b); + shrTo(b, 1, b); + } + while (isEven(v)) { + shrTo(v, 1, v); + if (ac) { + if (!isEven(c) || !isEven(d)) { + addTo(c, x, c); + subTo(d, m, d); + } + shrTo(c, 1, c); + } + else if (!isEven(d)) + subTo(d, m, d); + shrTo(d, 1, d); + } + if (compare(u, v) >= 0) { + subTo(u, v, u); + if (ac) + subTo(a, c, a); + subTo(b, d, b); + } + else { + subTo(v, u, v); + if (ac) + subTo(c, a, c); + subTo(d, b, d); + } + } + if (compare(v, ONE) !== 0) + return ZERO; + if (compare(d, m) >= 0) + return subtract(d, m); + if (sig(d) < 0) + addTo(d, m, d); + else + return d; + if (sig(d) < 0) + return add(d, m); + else + return d; +} + +function testBit(x, n) { + var j = Math.floor(n / DB); + if (j >= x.t) + return (x.s !== 0); + return ((x[j] & (1 << (n % DB))) !== 0); +} + +function nothing(x) { + return x; +} + +function extend(c, o) { + for (var i in o) + c.prototype[i] = o[i]; +} // + +/* + * Classic, Barret, Mongomery reductions, optimized ExpMod algorithms + * optimized release of http://www-cs-students.stanford.edu/~tjw/jsbn/jsbn2.js + * + */ // + +// Classic reduction +var Classic = function (m) { + this.m = m; +}; + +extend(Classic, { + convert: function (x) { + if (x.s < 0 || compare(x, this.m) >= 0) + return mod(x, this.m); + else + return x; + }, + revert: nothing, + reduce: function (x) { + modTo(x, this.m, x); + }, + sqrTo: function (x, r) { + sqrTo(x, r); + this.reduce(r); + }, + mulTo: function (x, y, r) { + mulTo(x, y, r); + this.reduce(r); + } +}); + +function invDig(a) { + if (a.t < 1) + return 0; + var x = a[0]; + if ((x & 1) === 0) + return 0; + var y = x & 3; + y = (y * (2 - (x & 0xf) * y)) & 0xf; + y = (y * (2 - (x & 0xff) * y)) & 0xff; + y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; + y = (y * (2 - x * y % DV)) % DV; + return (y > 0) ? DV - y : -y; +} + +// Montgomery reduction +var Montgomery = function (m) { + this.m = m; + this.mp = invDig(m); + this.mpl = this.mp & 0x7fff; + this.mph = this.mp >> 15; + this.um = (1 << (DB - 15)) - 1; + this.mt2 = 2 * m.t; +}; + +extend(Montgomery, { + // xR mod m + convert: function (x) { + var r = nbi(x.t); + dshlTo(abs(x), this.m.t, r); + divRemTo(r, this.m, null, r); + if (x.s < 0 && compare(r, ZERO) > 0) + subTo(this.m, r, r); + return r; + }, + // x/R mod m + revert: function (x) { + var r = nbi(x.t); + copyTo(x, r); + this.reduce(r); + return r; + }, + // x = x/R mod m (HAC 14.32) + reduce: function (x) { + while (x.t <= this.mt2) + x[x.t++] = 0; + for (var i = 0; i < this.m.t; ++i) { + var j = x[i] & 0x7fff; + var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & DM; + j = i + this.m.t; + x[j] += am(this.m, 0, u0, x, i, 0, this.m.t); + while (x[j] >= DV) { + x[j] -= DV; + x[++j]++; + } + } + clamp(x); + dshrTo(x, this.m.t, x); + if (compare(x, this.m) >= 0) + subTo(x, this.m, x); + }, + // r = "x^2/R mod m"; x != r + sqrTo: function (x, r) { + sqrTo(x, r); + this.reduce(r); + }, + // r = "xy/R mod m"; x,y != r + mulTo: function (x, y, r) { + mulTo(x, y, r); + this.reduce(r); + } +}); + +function dAddOffset(x, n, w) { + if (n === 0) + return; + while (x.t <= w) + x[x.t++] = 0; + x[w] += n; + while (x[w] >= DV) { + x[w] -= DV; + if (++w >= x.t) + x[x.t++] = 0; + ++x[w]; + } +} + +function mulLowerTo(x, a, n, r) { + var i = Math.min(x.t + a.t, n); + r.s = 0; // assumes a,x >= 0 + r.t = i; + while (i > 0) + r[--i] = 0; + var j; + for (j = r.t - x.t; i < j; ++i) + r[i + x.t] = am(x, 0, a[i], r, i, 0, x.t); + for (j = Math.min(a.t, n); i < j; ++i) + am(x, 0, a[i], r, i, 0, n - i); + return clamp(r); +} + +function mulUpperTo(x, a, n, r) { + --n; + var i = r.t = x.t + a.t - n; + r.s = 0; // assumes a,x >= 0 + while (--i >= 0) + r[i] = 0; + for (i = Math.max(n - x.t, 0); i < a.t; ++i) + r[x.t + i - n] = am(x, n - i, a[i], r, 0, 0, x.t + i - n); + clamp(r); + return dshrTo(r, 1, r); +} + +// Barrett modular reduction +function Barrett(m) { + // setup Barrett + this.r2 = nbi(2 * m.t); + this.q3 = nbi(2 * m.t); + dshlTo(ONE, 2 * m.t, this.r2); + this.mu = div(this.r2, m); + this.m = m; +} + +extend(Barrett, { + convert: function (x) { + if (x.s < 0 || x.t > 2 * this.m.t) + return mod(x, this.m); + else if (compare(x, this.m) < 0) + return x; + else { + var r = nbi(x.t); + copyTo(x, r); + this.reduce(r); + return r; + } + }, + revert: function (x) { + return x; + }, + // x = x mod m (HAC 14.42) + reduce: function (x) { + dshrTo(x, this.m.t - 1, this.r2); + if (x.t > this.m.t + 1) { + x.t = this.m.t + 1; + clamp(x); + } + mulUpperTo(this.mu, this.r2, this.m.t + 1, this.q3); + mulLowerTo(this.m, this.q3, this.m.t + 1, this.r2); + while (compare(x, this.r2) < 0) + dAddOffset(x, 1, this.m.t + 1); + subTo(x, this.r2, x); + while (compare(x, this.m) >= 0) + subTo(x, this.m, x); + }, + // r = x^2 mod m; x != r + sqrTo: function (x, r) { + sqrTo(x, r); + this.reduce(r); + }, + // r = x*y mod m; x,y != r + mulTo: function (x, y, r) { + mulTo(x, y, r); + this.reduce(r); + } + +}); + +// x^e % m (HAC 14.85) +function expMod(x, e, m) { + var i = bitLength(e), k, r = nbv(1), z; + if (i <= 0) + return r; + else if (i < 18) + k = 1; + else if (i < 48) + k = 3; + else if (i < 144) + k = 4; + else if (i < 768) + k = 5; + else + k = 6; + if (i < 8) + z = new Classic(m); + else if (isEven(m)) + z = new Barrett(m); + else + z = new Montgomery(m); + + // precomputation + var g = new Array(), n = 3, k1 = k - 1, km = (1 << k) - 1; + g[1] = z.convert(x); + if (k > 1) { + var g2 = nbi(m.t * 2); + z.sqrTo(g[1], g2); + while (n <= km) { + g[n] = nbi(m.t * 2); + z.mulTo(g2, g[n - 2], g[n]); + n += 2; + } + } + + var j = e.t - 1, w, is1 = true, r2 = nbi(m.t * 2), t; + i = nbits(e[j]) - 1; + while (j >= 0) { + if (i >= k1) + w = (e[j] >> (i - k1)) & km; + else { + w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i); + if (j > 0) + w |= e[j - 1] >> (DB + i - k1); + } + + n = k; + while ((w & 1) == 0) { + w >>= 1; + --n; + } + if ((i -= n) < 0) { + i += DB; + --j; + } + if (is1) { // ret == 1, don't bother squaring or multiplying it + copyTo(g[w], r); + is1 = false; + } + else { + while (n > 1) { + z.sqrTo(r, r2); + z.sqrTo(r2, r); + n -= 2; + } + if (n > 0) + z.sqrTo(r, r2); + else { + t = r; + r = r2; + r2 = t; + } + z.mulTo(r2, g[w], r); + } + while (j >= 0 && (e[j] & (1 << i)) == 0) { + z.sqrTo(r, r2); + t = r; + r = r2; + r2 = t; + if (--i < 0) { + i = DB - 1; + --j; + } + } + } + return z.revert(r); +} // + +/* + * EC Field Elements, Points, Curves + * optimized release of http://www-cs-students.stanford.edu/~tjw/jsbn/ec.js + * + */ // + +// EC Field Elemets +function newFE(a, x) { + a.r.reduce(x); + x.q = a.q; + x.r = a.r; + return x; +} + +function copyFE(a, x) { + x.q = a.q; + x.r = a.r; + return x; +} + +function negFE(a) { + return copyFE(a, sub(a.q, a)); +} + +function addFE(a, b) { + var r = add(a, b); + if (compare(r, a.q) > 0) + subTo(r, a.q, r); + return copyFE(a, r); +} + +function subFE(a, b) { + var r = sub(a, b); + if (r.s < 0) + addTo(a.q, r, r); + return copyFE(a, r); +} + +function mulFE(a, b) { + return newFE(a, mul(a, b)); +} + +function sqrFE(a) { + return newFE(a, sqr(a)); +} + +function shlFE(a, i) { + return newFE(a, shl(a, i)); +} + +function invFE(a) { + return copyFE(a, invMod(a, a.q)); +} + +// EC Points +function newEC(curve, x, y, z) { + return { + curve: curve, + x: x, + y: y, + z: z || newFE(curve, ONE) + }; +} + +function getX(point) { + if (!point.zinv) + point.zinv = invFE(point.z); + return mulFE(point.x, point.zinv); +} + +function getY(point) { + if (!point.zinv) + point.zinv = invFE(point.z); + return mulFE(point.y, point.zinv); +} + +function isInfinity(a) { + if ((!a.x) && (!a.y)) + return true; + return isZero(a.z) && !isZero(a.y); +} + +function getInfinity(a) { + return a.curve.infinity; +} + +function equalsEC(a, b) { + if (a === b) + return true; + if (isInfinity(a)) + return isInfinity(b); + if (isInfinity(b)) + return isInfinity(a); + var u, v; + // u = Y2 * Z1 - Y1 * Z2 + u = subFE(mulFE(b.y, a.z), mulFE(a.y, b.z)); + if (!isZero(u)) + return false; + // v = X2 * Z1 - X1 * Z2 + v = subFE(mulFE(b.x, a.z), mulFE(a.x, b.z)); + return isZero(v); +} + +function negEC(a) { + return newEC(a.curve, a.x, negFE(a.y), a.z); +} + +function addEC(a, b) { + if (isInfinity(a)) + return b; + if (isInfinity(b)) + return a; + + // u = Y2 * Z1 - Y1 * Z2 + var u = subFE(mulFE(b.y, a.z), mulFE(a.y, b.z)); + // v = X2 * Z1 - X1 * Z2 + var v = subFE(mulFE(b.x, a.z), mulFE(a.x, b.z)); + + if (isZero(v)) { + if (isZero(u)) { + return twiceEC(a); // a == b, so double + } + return getInfinity(a); // a = -b, so infinity + } + + var x1 = a.x; + var y1 = a.y; + + var v2 = sqrFE(v); + var v3 = mulFE(v2, v); + var x1v2 = mulFE(x1, v2); + var zu2 = mulFE(sqrFE(u), a.z); + + // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3) + var x3 = mulFE(subFE(mulFE(subFE(zu2, shlFE(x1v2, 1)), b.z), v3), v); + // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3 + var y3 = addFE(mulFE(subFE(subFE(mulFE(mulFE(x1v2, THREE), u), mulFE(y1, v3)), mulFE(zu2, u)), b.z), mulFE(u, v3)); + // z3 = v^3 * z1 * z2 + var z3 = mulFE(mulFE(v3, a.z), b.z); + + return newEC(a.curve, x3, y3, z3); +} + +function twiceEC(b) { + if (isInfinity(b)) + return b; + if (sig(b.y) === 0) + return getInfinity(b); + + var x1 = b.x; + var y1 = b.y; + + var y1z1 = mulFE(y1, b.z); + var y1sqz1 = mulFE(y1z1, y1); + var a = b.curve.a; + + // w = 3 * x1^2 + a * z1^2 + var w = mulFE(sqrFE(x1), THREE); + if (!isZero(a)) { + w = addFE(w, mulFE(sqrFE(b.z), a)); + } + + // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1) + var x3 = mulFE(shlFE(subFE(sqrFE(w), mulFE(shlFE(x1, 3), y1sqz1)), 1), y1z1); + // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3 + var y3 = subFE(mulFE(shlFE(subFE(mulFE(mulFE(w, THREE), x1), shlFE(y1sqz1, 1)), 2), y1sqz1), mulFE(sqrFE(w), w)); + // z3 = 8 * (y1 * z1)^3 + var z3 = shlFE(mulFE(sqrFE(y1z1), y1z1), 3); + + return newEC(b.curve, x3, y3, z3); +} + +// Simple NAF (Non-Adjacent Form) multiplication algorithm +function mulEC(a, k) { + if (isInfinity(a)) + return a; + if (sig(k) === 0) + return getInfinity(a); + + var e = k; + var h = mul(e, THREE); + + var neg = negEC(a); + var R = a; + + var i; + for (i = bitLength(h) - 2; i > 0; --i) { + R = twiceEC(R); + + var hBit = testBit(h, i); + var eBit = testBit(e, i); + + if (hBit !== eBit) { + R = addEC(R, hBit ? a : neg); + } + } + + return R; +} + +function mul2AndAddEC(a, k) { + var nbits = bitLength(k); + var R = a, + Q = getInfinity(a); + + for (var i = 0; i < nbits - 1; i++) { + if (testBit(k, i) === 1) + Q = addEC(Q, R); + + R = twiceEC(R); + } + + if (testBit(k, nbits - 1) === 1) + Q = addEC(Q, R); + + return Q; +} + +// Compute a*j + x*k (simultaneous multiplication) +function mulTwoEC(a, j, x, k) { + var i; + if (bitLength(j) > bitLength(k)) + i = bitLength(j) - 1; + else + i = bitLength(k) - 1; + + var R = getInfinity(a); + var both = addEC(a, x); + while (i >= 0) { + R = twiceEC(R); + if (testBit(j, i)) { + if (testBit(k, i)) { + R = addEC(R, both); + } + else { + R = addEC(R, a); + } + } + else { + if (testBit(k, i)) { + R = addEC(R, x); + } + } + --i; + } + + return R; +} + +// EC Curve +function newCurve(q, a, b) { + var curve = {}; + curve.q = q; + curve.r = new Barrett(q); + curve.a = newFE(curve, a); + curve.b = newFE(curve, b); + curve.infinity = newEC(curve); + return curve; +} // + +/* + * Converion tools (hex, binary) + * + */ // + +function atobi(d) { + var k = 8; + var a = new Uint8Array(d); + var r = nbi(a.length * 8 / DB); + r.t = 0; + r.s = 0; + var sh = 0; + for (var i = 0, n = a.length; i < n; i++) { + var x = a[i]; + if (sh === 0) + r[r.t++] = x; + else if (sh + k > DB) { + r[r.t - 1] |= (x & ((1 << (DB - sh)) - 1)) << sh; + r[r.t++] = (x >> (DB - sh)); + } + else + r[r.t - 1] |= x << sh; + sh += k; + if (sh >= DB) + sh -= DB; + } + return clamp(r); +} + +function bitoa(s, bitLength) { + var k = 8; + var km = (1 << k) - 1, d, m = false, r = [], i = s.t; + var p = DB - (i * DB) % k; + if (i-- > 0) { + if (p < DB && (d = s[i] >> p) > 0) { + m = true; + r.push(d); + } + while (i >= 0) { + if (p < k) { + d = (s[i] & ((1 << p) - 1)) << (k - p); + d |= s[--i] >> (p += DB - k); + } + else { + d = (s[i] >> (p -= k)) & km; + if (p <= 0) { + p += DB; + --i; + } + } + if (d > 0) + m = true; + if (m) + r.push(d); + } + } + var r8 = new Uint8Array(bitLength ? bitLength / 8 : r.length); + if (m) + r8.set(r.reverse()); + return r8.buffer; +} + + +function htobi(s) { + if (typeof s === 'number' || s instanceof Number) + return nbv(s); + s = s.replace(/[^\-A-Fa-f0-9]/g, ''); + if (!s) + s = '0'; + var k = 4; + var r = nbi(s.length / 7); + var i = s.length, mi = false, sh = 0; + while (--i >= 0) { + var c = s.charAt(i); + if (c === '-') { + mi = true; + continue; + } + var x = parseInt(s.charAt(i), 16); + mi = false; + if (sh === 0) + r[r.t++] = x; + else if (sh + k > DB) { + r[r.t - 1] |= (x & ((1 << (DB - sh)) - 1)) << sh; + r[r.t++] = (x >> (DB - sh)); + } + else + r[r.t - 1] |= x << sh; + sh += k; + if (sh >= DB) + sh -= DB; + } + if (mi) + subTo(ZERO, r, r); + return clamp(r); +} + +function bitoh(x) { + if (x.s < 0) + return "-" + bitoh(negTo(x, nbi(x.t))); + var k = 4; + var km = (1 << k) - 1, d, m = false, r = "", i = x.t; + var p = DB - (i * DB) % k; + if (i-- > 0) { + if (p < DB && (d = x[i] >> p) > 0) { + m = true; + r = d.toString(16); + } + while (i >= 0) { + if (p < k) { + d = (x[i] & ((1 << p) - 1)) << (k - p); + d |= x[--i] >> (p += DB - k); + } + else { + d = (x[i] >> (p -= k)) & km; + if (p <= 0) { + p += DB; + --i; + } + } + if (d > 0) + m = true; + if (m) + r += d.toString(16); + } + } + return "0x" + (m ? r : "0"); +} + +// biginteger to big-endian integer bytearray +function bitoi(s) { + var i = s.t, r = []; + r[0] = s.s; + var p = DB - (i * DB) % 8, d, k = 0; + if (i-- > 0) { + if (p < DB && (d = s[i] >> p) !== (s.s & DM) >> p) + r[k++] = d | (s.s << (DB - p)); + while (i >= 0) { + if (p < 8) { + d = (s[i] & ((1 << p) - 1)) << (8 - p); + d |= s[--i] >> (p += DB - 8); + } + else { + d = (s[i] >> (p -= 8)) & 0xff; + if (p <= 0) { + p += DB; + --i; + } + } + if ((d & 0x80) !== 0) + d |= -256; + if (k === 0 && (s.s & 0x80) !== (d & 0x80)) + ++k; + if (k > 0 || d !== s.s) + r[k++] = d; + } + } + return new Uint8Array(r).buffer; +} + +// big-endian integer bytearray to biginteger +function itobi(d) { + var k = 8, s = new Uint8Array(d), + r = nbi(s.length / 7); + r.t = 0; + r.s = 0; + var i = s.length, sh = 0; + while (--i >= 0) { + var x = s[i] & 0xff; + if (sh === 0) + r[r.t++] = x; + else if (sh + k > DB) { + r[r.t - 1] |= (x & ((1 << (DB - sh)) - 1)) << sh; + r[r.t++] = (x >> (DB - sh)); + } + else + r[r.t - 1] |= x << sh; + sh += k; + if (sh >= DB) + sh -= DB; + } + if ((s[0] & 0x80) !== 0) { + r.s = -1; + if (sh > 0) + r[r.t - 1] |= ((1 << (DB - sh)) - 1) << sh; + } + return clamp(r); +} + + +// Swap bytes in buffer +function swap(s) { + var src = new Uint8Array(s), + dst = new Uint8Array(src.length); + for (var i = 0, n = src.length; i < n; i++) + dst[n - i - 1] = src[i]; + return dst.buffer; +} + +// Calculate hash of data +function hash(d) { + if (this.hash) + d = this.hash.digest(d); + // Swap hash for SignalCom + if (this.procreator === 'SC' || + (this.procreator === 'VN' && this.hash.version === 2012)) + d = swap(d); + return d; +} + +// Check buffer +function buffer(d) { + if (d instanceof CryptoOperationData) + return d; + else if (d && d.buffer && d.buffer instanceof CryptoOperationData) + return d.byteOffset === 0 && d.byteLength === d.buffer.byteLength ? + d.buffer : new Uint8Array(new Uint8Array(d, d.byteOffset, d.byteLength)).buffer; + else + throw new DataError('CryptoOperationData or CryptoOperationDataView required'); +} + +// Check double buffer +function to2(d) { + var b = buffer(d); + if (b.byteLength % 2 > 0) + throw new DataError('Buffer length must be even'); + var n = b.byteLength / 2; + return [atobi(new Uint8Array(b, 0, n)), atobi(new Uint8Array(b, n, n))]; +} + +function from2(x, y, bitLength) { + var a = bitoa(x, bitLength), + b = bitoa(y, bitLength), + d = new Uint8Array(a.byteLength + b.byteLength); + d.set(new Uint8Array(a)); + d.set(new Uint8Array(b), a.byteLength); + return d.buffer; +} + +function getSeed(length) { + GostRandom = GostRandom || root.GostRandom; + var randomSource = GostRandom ? new (GostRandom || root.GostRandom) : rootCrypto; + if (randomSource.getRandomValues) { + var d = new Uint8Array(Math.ceil(length / 8)); + randomSource.getRandomValues(d); + return d; + } else + throw new NotSupportedError('Random generator not found'); +} // + +/** + * Algorithm name GOST R 34.10

+ * + * The sign method returns sign data generated with the supplied privateKey.
+ * + * @memberOf GostSign + * @method sign + * @instance + * @param {(CryptoOperationData|TypedArray)} privateKey Private key + * @param {(CryptoOperationData|TypedArray)} data Data + * @returns {CryptoOperationData} Signature + */ +function sign(privateKey, data) // +{ + + // Stage 1 + var b = buffer(data); + var alpha = atobi(hash.call(this, b)); + + var q = this.q; + var x = mod(atobi(buffer(privateKey)), q); + + // Stage 2 + var e = mod(alpha, q); + if (isZero(e)) + e = ONE; + + var s = ZERO; + while (isZero(s)) { + var r = ZERO; + while (isZero(r)) { + + // Stage 3 + var k = mod(atobi(this.ukm || + getSeed(this.bitLength)), q); // pseudo random 0 < k < q + // Stage 4 + if (this.curve) { + // Gost R 34.10-2001 || Gost R 34.10-2012 + var P = this.P; + var C = mulEC(P, k); + r = mod(getX(C), q); + } else { + // Gost R 34.10-94 + var p = this.p, a = this.a; + r = mod(expMod(a, k, p), q); + } + } + // Stage 5 + s = mod(add(mul(r, x), mul(k, e)), q); + } + // Stage 6 + // console.log('s', bitoh(s)); + // console.log('r', bitoh(r)); + var zetta; + // Integer structure for SignalCom algorithm + if (this.procreator === 'SC') { + zetta = { + r: bitoh(r), + s: bitoh(s) + }; + } else { + zetta = from2(r, s, this.bitLength); + // Swap bytes for CryptoPro algorithm + if (this.procreator === 'CP' || this.procreator === 'VN') + zetta = swap(zetta); + } + return zetta; +} // + +/** + * Algorithm name GOST R 34.10

+ * + * The verify method returns signature verification for the supplied publicKey.
+ * + * @memberOf GostSign + * @method sign + * @instance + * @param {(CryptoOperationData|TypedArray)} publicKey Public key + * @param {(CryptoOperationData|TypedArray)} signature Signature + * @param {(CryptoOperationData|TypedArray)} data Data + * @returns {boolean} Signature verified = true + */ +function verify(publicKey, signature, data) // +{ + + // Stage 1 + var q = this.q; + var r, s; + // Ready int for SignalCom algorithm + if (this.procreator === 'SC') { + r = htobi(signature.r); + s = htobi(signature.s); + } else { + if (this.procreator === 'CP' || this.procreator === 'VN') + signature = swap(signature); + var zetta = to2(signature); + // Swap bytes for CryptoPro algorithm + s = zetta[1]; // first 32 octets contain the big-endian representation of s + r = zetta[0]; // and second 32 octets contain the big-endian representation of r + } + if (compare(r, q) >= 0 || compare(s, q) >= 0) + return false; + // Stage 2 + var b = buffer(data); + var alpha = atobi(hash.call(this, b)); + // Stage 3 + var e = mod(alpha, q); + if (isZero(e) === 0) + e = ONE; + // Stage 4 + var v = invMod(e, q); + // Stage 5 + var z1 = mod(mul(s, v), q); + var z2 = sub(q, mod(mul(r, v), q)); + // Stage 6 + if (this.curve) { + // Gost R 34.10-2001 || Gost R 34.10-2012 + var k2 = to2(publicKey), + curve = this.curve, + P = this.P, + x = newFE(curve, k2[0]), // first 32 octets contain the little-endian representation of x + y = newFE(curve, k2[1]), // and second 32 octets contain the little-endian representation of y. + Q = new newEC(curve, x, y); // This corresponds to the binary representation of (256||256) + var C = mulTwoEC(P, z1, Q, z2); + var R = mod(getX(C), q); + } else { + // Gost R 34.10-94 + var p = this.p, a = this.a; + var y = atobi(publicKey); + var R = mod(mod(mul(expMod(a, z1, p), expMod(y, z2, p)), p), q); + } + // Stage 7 + return (compare(R, r) === 0); +} // + +/** + * Algorithm name GOST R 34.10

+ * + * The generateKey method returns a new generated key pair using the specified + * AlgorithmIdentifier. + * + * @memberOf GostSign + * @method generateKey + * @instance + * @returns {Object} Object with two CryptoOperationData members: privateKey and publicKey + */ +function generateKey() // +{ + var curve = this.curve; + if (curve) { + + var Q = curve.infinity; + while (isInfinity(Q)) { + + // Generate random private key + var d = ZERO; + if (this.ukm) { + d = atobi(this.ukm); + } else { + while (isZero(d)) + d = mod(atobi(getSeed(this.bitLength)), this.q); // 0 < d < q + } + + // Calculate public key + Q = mulEC(this.P, d); + var x = getX(Q), y = getY(Q); + // console.log('d', bitoh(d)); + // console.log('x', bitoh(x)); + // console.log('y', bitoh(y)); + } + + // Return result + return { + privateKey: bitoa(d, this.bitLength), + publicKey: from2(x, y, this.bitLength) // This corresponds to the binary representation of (256||256) + }; + + } else + throw new NotSupportedError('Key generation for GOST R 34.10-94 not supported'); +} // + +/** + * Algorithm name GOST R 34.10 mode MASK

+ * + * The generateMaskKey method returns a new generated key mask using for wrapping. + * + * @memberOf GostSign + * @method generateMaskKey + * @instance + * @returns {Object} Object with two CryptoOperationData members: privateKey and publicKey + */ +function generateMaskKey() // +{ + var curve = this.curve; + if (curve) { + // Generate random private key + var d = ZERO; + while (isZero(d)) + d = mod(atobi(getSeed(this.bitLength)), this.q); // 0 < d < q + + // Return result + return bitoa(d, this.bitLength); + } else + throw new NotSupportedError('Key generation for GOST R 34.10-94 not supported'); +} // + +/** + * Algorithm name GOST R 34.10

+ * + * Unwrap private key from private key and ukm (mask) + * + * @memberOf GostSign + * @method unwrap + * @instance + * @param {(CryptoOperationData|TypedArray)} baseKey Unwrapping key + * @param {(CryptoOperationData|TypedArray)} data Wrapped key + * @returns {Object} CryptoOperationData unwrapped privateKey + */ +function unwrapKey(baseKey, data) // +{ + var curve = this.curve; + if (curve) { + var q = this.q; + var x = mod(atobi(buffer(data)), q); + var y = mod(atobi(buffer(baseKey)), q); + var z = this.procreator === 'VN' ? mod(mul(x, y), q) : mod(mul(x, invMod(y, q)), q); + return bitoa(z); + } else + throw new NotSupportedError('Key wrapping GOST R 34.10-94 not supported'); +} // + +/** + * Algorithm name GOST R 34.10

+ * + * Wrap private key with private key and ukm (mask) + * + * @memberOf GostSign + * @method unwrap + * @instance + * @param {(CryptoOperationData|TypedArray)} baseKey Wrapping key + * @param {(CryptoOperationData|TypedArray)} data Key + * @returns {Object} CryptoOperationData unwrapped privateKey + */ +function wrapKey(baseKey, data) // +{ + var curve = this.curve; + if (curve) { + var q = this.q; + var x = mod(atobi(buffer(data)), q); + var y = mod(atobi(buffer(baseKey)), q); + var z = this.procreator === 'VN' ? mod(mul(x, invMod(y, q)), q) : mod(mul(x, y), q); + return bitoa(z); + } else + throw new NotSupportedError('Key wrapping GOST R 34.10-94 not supported'); +} // + +/** + * Algorithm name GOST R 34.10

+ * + * @memberOf GostSign + * @method derive + * @instance + * @private + * @param {CryptoOperationData} baseKey Key for deriviation + * @returns {CryptoOperationData} + */ +function derive(baseKey) // +{ + + var k, ukm = atobi(this.ukm); + var q = this.q; + var x = mod(atobi(buffer(baseKey)), q); + + if (this.curve) { + // 1) Let K(x,y,UKM) = ((UKM*x)(mod q)) . (y.P) (512 bit), where + // x - sender’s private key (256 bit) + // x.P - sender’s public key (512 bit) + // y - recipient’s private key (256 bit) + // y.P - recipient’s public key (512 bit) + // UKM - non-zero integer, produced as in step 2 p. 6.1 [GOSTR341001] + // P - base point on the elliptic curve (two 256-bit coordinates) + // UKM*x - x multiplied by UKM as integers + // x.P - a multiple point + var K = mulEC(this.peer_Q, mod(mul(ukm, x), q)); + k = from2(getX(K), getY(K), // This corresponds to the binary representation of (256||256) + this.bitLength); + } else { + // 1) Let K(x,y) = a^(x*y) (mod p), where + // x - sender’s private key, a^x - sender’s public key + // y - recipient’s private key, a^y - recipient’s public key + // a, p - parameters + var p = this.p, a = this.a; + k = bitoa(expMod(this.peer_y, x, p)); + } + // 2) Calculate a 256-bit hash of K(x,y,UKM): + // KEK(x,y,UKM) = gostSign (K(x,y,UKM) + return hash.call(this, k); +} // + +/** + * Algorithm name GOST R 34.10

+ * + * The deriveBits method returns length bits on baseKey. + * + * @memberOf GostSign + * @method deriveBits + * @instance + * @param {(CryptoOperationData|TypedArray)} baseKey Key for deriviation + * @param {number} length output bit-length + * @returns {CryptoOperationData} result + */ +function deriveBits(baseKey, length) // +{ + if (length < 8 || length > this.bitLength || length % 8 > 0) + throw new DataError('Length must be no more than ' + this.bitLength + ' bits and multiple of 8'); + var n = length / 8, + b = derive.call(this, baseKey), + r = new Uint8Array(n); + + r.set(new Uint8Array(b, 0, n)); + return r.buffer; +} // + +/** + * Algorithm name GOST R 34.10

+ * + * The deriveKey method returns 256 bit Key encryption key on baseKey. + * + * This algorithm creates a key encryption key (KEK) using 64 bit UKM, + * the sender’s private key, and the recipient’s public key (or the + * reverse of the latter pair + * + * @memberOf GostSign + * @method deriveKey + * @instance + * @param {(CryptoOperationData|TypedArray)} baseKey Key for deriviation + * @returns {CryptoOperationData} result + */ +function deriveKey(baseKey) // +{ + var b = derive.call(this, baseKey), + r = new Uint8Array(32); + + r.set(new Uint8Array(b, 0, 32)); + return r.buffer; +} // + + +/** + * Gost R 34.10 universal object

+ * + * References: {@link http://tools.ietf.org/html/rfc6986} and {@link http://tools.ietf.org/html/rfc5831}

+ * + * Normalized algorithm identifier common parameters: + * + *
    + *
  • name Algorithm name 'GOST R 34.10'
  • + *
  • version Algorithm version + *
      + *
    • 1994 - Old-style GOST R 34.10-94 ExpMod algorithm with GOST R 34.11-94 hash
    • + *
    • 2001 - GOST R 34.10-2001 Eliptic curve algorithm with old GOST R 34.11-94 hash
    • + *
    • 2012 - GOST R 34.10-2012 Eliptic curve algorithm with GOST R 34.11-12 hash, default mode
    • + *
    + *
  • + *
  • length Length of hash and signature. Key length == hash length for EC algorithms and 2 * hash length for ExpMod algorithm + *
      + *
    • GOST R 34.10-256 - 256 bits digest, default mode
    • + *
    • GOST R 34.10-512 - 512 bits digest only for GOST R 34.11-2012 hash
    • + *
    + *
  • + *
  • mode Algorithm mode + *
      + *
    • SIGN Digital signature mode (default)
    • + *
    • DH Diffie-Hellman key generation and key agreement mode
    • + *
    + *
  • + *
  • sBox Paramset sBox for GOST 34.11-94. Used only if version = 1994 or 2001
  • + *
+ * + * Supported algorithms, modes and parameters: + * + *
    + *
  • Sign/Verify mode (SIGN)
  • + *
  • DeriveKey/DeriveBits mode (DH) + *
      + *
    • {@link CryptoOperationData} ukm User key material. Default - random generated value
    • + *
    • {@link CryptoOperationData} public The peer's EC public key data
    • + *
    + *
  • + *
  • GenerateKey mode (SIGN and DH) version = 1994 + *
      + *
    • namedParam Paramset for key generation algorithm. If specified no additianal parameters required
    • + *
    + * Additional parameters, if namedParam not specified + *
      + *
    • modulusLength Bit length of p (512 or 1024 bits). Default = 1024
    • + *
    • p {@link CryptoOperationData} Modulus, prime number, 2^(t-1) + *
    • q {@link CryptoOperationData} Order of cyclic group, prime number, 2^254 + *
    • a {@link CryptoOperationData} Generator, integer, 1 + *
    + *
  • + *
  • GenerateKey mode (SIGN and DH) version = 2001 or 2012 + *
      + *
    • namedCurve Paramset for key generation algorithm. If specified no additianal parameters required
    • + *
    + * Additional EC parameters, if namedCurve not specified + *
      + *
    • p {@link CryptoOperationData} Prime number - elliptic curve modulus
    • + *
    • a {@link CryptoOperationData} Coefficients a of the elliptic curve E
    • + *
    • b {@link CryptoOperationData} Coefficients b of the elliptic curve E
    • + *
    • q {@link CryptoOperationData} Prime number - order of cyclic group
    • + *
    • x {@link CryptoOperationData} Base point p x-coordinate
    • + *
    • y {@link CryptoOperationData} Base point p y-coordinate
    • + *
    + *
  • + *
+ * + * @class GostSign + * @param {AlgorithmIndentifier} algorithm + */ +function GostSign(algorithm) // +{ + algorithm = algorithm || {}; + this.name = (algorithm.name || 'GOST R 34.10') + '-' + + ((algorithm.version || 2012) % 100) + '-' + (algorithm.length || 256) + + (((algorithm.mode || 'SIGN') !== 'SIGN') ? '-' + algorithm.mode : '') + + (typeof algorithm.namedParam === 'string' ? '/' + algorithm.namedParam : '') + + (typeof algorithm.namedCurve === 'string' ? '/' + algorithm.namedCurve : '') + + (typeof algorithm.sBox === 'string' ? '/' + algorithm.sBox : ''); + + var version = algorithm.version || 2012; + + // Functions + switch (algorithm.mode || 'SIGN') { + case 'SIGN': + this.sign = sign; + this.verify = verify; + this.generateKey = generateKey; + break; + case 'DH': + this.deriveBits = deriveBits; + this.deriveKey = deriveKey; + this.generateKey = generateKey; + break; + case 'MASK': + this.wrapKey = wrapKey; + this.unwrapKey = unwrapKey; + this.generateKey = generateMaskKey; + break; + } + + // Define parameters + if (version === 1994) { + // Named or parameters algorithm + var param = algorithm.param; + if (!param) + param = GostParams[this.namedParam = (algorithm.namedParam || 'S-A').toUpperCase()]; + this.modulusLength = algorithm.modulusLength || param.modulusLength || 1024; + this.p = htobi(param.p); + this.q = htobi(param.q); + this.a = htobi(param.a); + // Public key for derive + if (algorithm['public']) + this.peer_y = atobi(algorithm['public']); + } else { + // Named or parameters algorithm + var param = algorithm.curve; + if (!param) + param = ECGostParams[this.namedCurve = (algorithm.namedCurve || 'S-256-A').toUpperCase()]; + var curve = this.curve = newCurve(htobi(param.p), htobi(param.a), htobi(param.b)); + this.P = newEC(curve, + newFE(curve, htobi(param.x)), + newFE(curve, htobi(param.y))); + this.q = htobi(param.q); + // Public key for derive + if (algorithm['public']) { + var k2 = to2(algorithm['public']); + this.peer_Q = new newEC(this.curve, // This corresponds to the binary representation of (256||256) + newFE(this.curve, k2[0]), // first 32 octets contain the little-endian representation of x + newFE(this.curve, k2[1])); // and second 32 octets contain the little-endian representation of y. + } + } + + // Check bit length + var hashLen, keyLen; + if (this.curve) { + keyLen = algorithm.length || bitLength(this.q); + if (keyLen > 508 && keyLen <= 512) + keyLen = 512; + else if (keyLen > 254 && keyLen <= 256) + keyLen = 256; + else + throw new NotSupportedError('Support keys only 256 or 512 bits length'); + hashLen = keyLen; + } else { + keyLen = algorithm.modulusLength || bitLength(this.p); + if (keyLen > 1016 && keyLen <= 1024) + keyLen = 1024; + else if (keyLen > 508 && keyLen <= 512) + keyLen = 512; + else + throw new NotSupportedError('Support keys only 512 or 1024 bits length'); + hashLen = 256; + } + this.bitLength = hashLen; + this.keyLength = keyLen; + + // Algorithm proceator for result conversion + this.procreator = algorithm.procreator; + + // Hash function definition + var hash = algorithm.hash; + if (hash) { + if (typeof hash === 'string' || hash instanceof String) + hash = {name: hash}; + if (algorithm.version === 1994 || algorithm.version === 2001) { + hash.version = 1994; + hash.length = 256; + hash.sBox = algorithm.sBox || hash.sBox; + } else { + hash.version = 2012; + hash.length = hashLen; + } + hash.procreator = hash.procreator || algorithm.procreator; + + if (!GostDigest) + GostDigest = root.GostDigest; + if (!GostDigest) + throw new NotSupportedError('Object GostDigest not found'); + + this.hash = new GostDigest(hash); + } + + // Pregenerated seed for key exchange algorithms + if (algorithm.ukm) // Now don't check size + this.ukm = algorithm.ukm; + +} // + +export default GostSign; diff --git a/src/core/vendor/remove-exif.mjs b/src/core/vendor/remove-exif.mjs index 6377c674..6c5c9e53 100644 --- a/src/core/vendor/remove-exif.mjs +++ b/src/core/vendor/remove-exif.mjs @@ -18,7 +18,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -import Utils from "../Utils"; +import Utils from "../Utils.mjs"; // Param jpeg should be a binaryArray export function removeEXIF(jpeg) { diff --git a/src/core/vendor/tesseract/lang-data/eng.traineddata.gz b/src/core/vendor/tesseract/lang-data/eng.traineddata.gz new file mode 100644 index 00000000..e83c1267 Binary files /dev/null and b/src/core/vendor/tesseract/lang-data/eng.traineddata.gz differ diff --git a/src/core/vendor/tesseract/tesseract-core.wasm.js b/src/core/vendor/tesseract/tesseract-core.wasm.js new file mode 100644 index 00000000..bc1b7978 --- /dev/null +++ b/src/core/vendor/tesseract/tesseract-core.wasm.js @@ -0,0 +1,24 @@ + +var TesseractCoreWASM = (function() { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + return ( +function(TesseractCoreWASM) { + TesseractCoreWASM = TesseractCoreWASM || {}; + +var Module=typeof TesseractCoreWASM!=="undefined"?TesseractCoreWASM:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",abort);Module["quit"]=(function(status){process["exit"](status)});Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}var asm2wasmImports={"f64-rem":(function(x,y){return x%y}),"debugger":(function(){debugger})};var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];assert(__cxa_demangle_func);try{var s=func;if(s.startsWith("__Z"))s=s.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile="";var wasmBinaryFile="data:application/octet-stream;base64,AGFzbQEAAAABnRDlAWABfwBgAn9/AX9gA39/fwF/YAJ/fwBgAn99AGABfwF/YAZ/f39/f38Bf2ACf3wAYAJ/fgF/YAJ/fgF+YAN/fn8AYAJ/fgBgBn9/f39/fwBgA39/fwBgA399fwF/YAV/fX19fwBgBH9/f38AYAV/f39/fwF/YAd/f39/f39/AGAFf39/f38AYAR/fn9/AX5gB39/f39/f38Bf2AFf3x/f38Bf2AMf39/f39/f39/f39/AGAGf39/f39/AXxgAnx8AXxgAn9/AX5gCH9/f39/f39/AX9gBH9/f38Bf2AJf39/f39/f39/AGAAAGAAAX9gBX9/f398AX9gBn9/f39/fAF/YAV/f39/fgF/YAV/f35/fwBgBH9+f38AYAF8AXxgCn9/f39/f39/f38AYAJ/fwF8YAl/f39/f39/f38Bf2AFf3x/f38AYAF9AX9gAXwBf2ABfwF8YAJ/fAF8YAN8fHwBfGALf39/f39/f39/f38Bf2ACf38BfWACfX8Bf2AEf399fwF/YAt/f39/fX19fX1/fwBgCX9/fX1/fX19fwBgA399fQBgBH99fX8AYAJ9fQF9YAJ/fQF/YAN/f30AYAh/f39/f39/fwBgDH9/f39/f31/f39/fwBgC39/f3x8f39/f39/AXxgBH1/f38BfWADf39/AX1gC39/f39/f39/f39/AGAEf3x8fABgB39/f319fX0AYAV/fX1/fwBgBH99fX8Bf2AFf319fX0AYAJ9fQF/YAR/fX19AGADf319AX9gBH19fX0BfWADf3x8AGAKf39/f319fX19fQBgBH99f38Bf2ADfn9+AX9gA39/fgF/YAJ+fgF/YAN/fn4BfmADf39+AGAFf35/f34Bf2AGfn9/fn9/AX9gCH9+fn9/f39/AX9gBH9/f3wAYAN/f38BfGAFf3x8fH8AYAJ8fwBgBn9/f399fwF/YAR/fHx/AGAGf39+f35/AGAFf39/fX0AYAZ/f399fX8AYAV8fH9/fwF/YAd/f319f39/AX9gCn9/f39/f39/f38Bf2AEf31/fwBgCX9/f39/fX1/fwBgAn99AX1gA319fQF9YAJ/fAF/YAR8fX19AX1gC39/fX9/fX9/f39/AX9gBn9/f31/fwF/YAZ/f31/f38AYAd/fX9/f39/AGAIf31/f39/f38AYAN/f3wAYAZ/f39/fH8AYAh/f39/fX99fwF/YAl/f39/f31/f38AYAN/fX8AYAR9fX99AX1gDH9/fX9/f39/f39/fwF/YAZ/f319fX8Bf2AHf39/fX9/fwBgCn9/f31/f39/f38AYAV/f39/fQBgDn9/f399fX9/f39/f39/AGAIf399fX9/f38Bf2ADf399AX1gBH1/f38AYAh/f319f39/fwF9YAZ/f39/fX0AYAR/f39/AXxgA39/fQF/YAd/f398f3x8AX1gBX9/f39/AX1gAX8BfWABfwF+YAZ/fn5/f38AYAd/fn5/f39/AGAIf39/fn9/f38AYAV/fn5/fwBgBn99fX19fwBgCH9/f399f39/AGAGf39/f31/AGAFf399fX8AYAN9f38Bf2AFfX19f38AYAN9fX8Bf2AEf399fQBgB39/fHx8f38AYAd/f31/f39/AGAIf39/f31/f30Bf2AGf39/fHx8AGAJf39/f398fHx/AGADf3x/AGACfHwBf2ABfQF9YAx/f39/f319fX9/f38AYAp/f399fX1/f39/AGAMf39/f39/f399f39/AGAKf39/f39/fX9/fwBgBH9/f38BfmANf39/f39/f399fX9/fgBgCH9/fX9/f39/AX9gBn9/f39/fwF9YAd/f39/f39/AX1gBX9/f31/AGAGf39/fX19AGAFf399f38AYAV/f31/fwF/YAR/f31/AGAOf39/f39/f39/f39/f38Bf2AKf39/f31/f39/fwF9YAx/f39/fX1/f39/f38BfWALf39/f39/fX9/f38BfGAKf39/f399f39/fwF8YAt/f39/f39/f31/fwBgCn9/f39/f39/fX8AYAt/f39/fX9/f39/fwF9YAV/f39/fwF8YAZ/f399fX8Bf2AFf319fX8Bf2ACf3wBfWAHf399fX9/fwBgBn99f39/fwBgA319fQF/YAd/f39/f399AGAIf39/f39/fX8Bf2AFf31/f38Bf2AEf3x/fwBgBn9/f39/fQBgA398fAF8YAd9f399f39/AX9gA398fwF8YAZ/f3x8f38BfGAEf398fABgBH9/f30AYAJ8fwF8YAV/f398fAF8YAV/f398fABgBn9/fH9/fwF8YAR8fHx8AXxgA31/fwF9YAV/f319fQBgBn9/fX9/fwF/YAJ9fwBgBX9/f3x/AGAJf39/f398f39/AGAGfX19f3x8AX9gB399fX19f38AYAR/f398AX9gAn5+AX5gB39+f39/f34AYAN8f38Bf2ALf39/f39/fH9/f38AYAR/f3x8AX9gDn9/f39/f39/f39/f39/AGACfH8Bf2ADfHx/AX9gBH19fX8AYBB/f39/f39/f39/f39/f39/AGAJf39/f31/f39/AGALf39/f39/fX19fX8Bf2AJf3x8fHx8fHx8AGAHf319fX9/fwBgCn9/fHx8fHx8fHwAYAN/f38BfmAEf39/fgF+YAN+f38Bf2ACfn8Bf2AGf3x/f39/AX9gAXwBfWADfHx/AXxgAn1/AX1gDH9/f39/f39/f39/fwF/YA9/f39/f39/f39/f39/f38AAqEMUQNlbnYIX2xvbmdqbXAAAwNlbnYOX19fYXNzZXJ0X2ZhaWwAEANlbnYJaW52b2tlX2lpAAEDZW52C2ludm9rZV9paWlpABwDZW52Bl9hYm9ydAAeA2VudglpbnZva2VfdmkAAwNlbnYKaW52b2tlX3ZpaQANA2VudgtpbnZva2VfdmlpaQAQA2VudgppbnZva2VfaWlpAAIDZW52BWFib3J0AAALZ2xvYmFsLk1hdGgDcG93ABkDZW52DGludm9rZV92aWlpaQATC2dsb2JhbC5NYXRoA2xvZwAlA2VudgxfX19jeGFfdGhyb3cADQNlbnYZX19fY3hhX2FsbG9jYXRlX2V4Y2VwdGlvbgAFA2Vudg1pbnZva2VfdmlpaWlpAAwDZW52DGludm9rZV9paWlpaQARA2Vudg9fbGx2bV9zdGFja3NhdmUAHwNlbnYSX2xsdm1fc3RhY2tyZXN0b3JlAAADZW52Cl9sbHZtX3RyYXAAHgNlbnYHX2dldGVudgAFCGFzbTJ3YXNtB2Y2NC1yZW0AGQNlbnYFX2V4aXQAAANlbnYNX19fc3lzY2FsbDIyMQABA2VudghpbnZva2VfaQAFA2VudglfX191bmxvY2sAAANlbnYLX19fc3lzY2FsbDYAAQNlbnYHX19fbG9jawAAA2VudhhfZW1zY3JpcHRlbl9hc21fY29uc3RfaWkAAQNlbnYLX19fc3lzY2FsbDUAAQtnbG9iYWwuTWF0aANleHAAJQNlbnYOX2xsdm1fbG9nMl9mMzIAJQNlbnYNX2dldHRpbWVvZmRheQABA2VudgZfY2xvY2sAHwNlbnYMX19fc3lzY2FsbDU0AAEDZW52DV9fX3N5c2NhbGwxNDYAAQNlbnYNX19fc3lzY2FsbDE0MAABA2VudgxfX19zeXNjYWxsMTAAAQNlbnYLX19fc2V0RXJyTm8AAANlbnYRaW52b2tlX3ZpaWlpaWlpaWkAJgNlbnYIaW52b2tlX3YAAANlbnYNaW52b2tlX2lpaWlpaQAGA2VudgVfdGltZQAFA2Vudgtfc3RyZnRpbWVfbAARA2Vudglfc3RyZnRpbWUAHANlbnYUX3B0aHJlYWRfc2V0c3BlY2lmaWMAAQNlbnYNX3B0aHJlYWRfb25jZQABA2VudhNfcHRocmVhZF9tdXRleF9pbml0AAEDZW52E19wdGhyZWFkX2tleV9jcmVhdGUAAQNlbnYUX3B0aHJlYWRfZ2V0c3BlY2lmaWMABQNlbnYSX3B0aHJlYWRfY29uZF93YWl0AAEDZW52B19ta3RpbWUABQNlbnYKX2xvY2FsdGltZQAFA2VudhdhYm9ydE9uQ2Fubm90R3Jvd01lbW9yeQAfA2Vudg5fbGx2bV9sb2cyX2Y2NAAlA2VudgdfZ210aW1lAAUDZW52Fl9lbXNjcmlwdGVuX21lbWNweV9iaWcAAgNlbnYTX2Vtc2NyaXB0ZW5fbG9uZ2ptcAADA2Vudg5nZXRUb3RhbE1lbW9yeQAfA2VudglfZGlmZnRpbWUAJwNlbnYMX19fc3lzY2FsbDkxAAEDZW52DF9fX3N5c2NhbGw0MAABA2Vudg1lbmxhcmdlTWVtb3J5AB8DZW52C19fX3N5c2NhbGw0AAEDZW52C19fX3N5c2NhbGwzAAEDZW52DV9fX3N5c2NhbGwxOTcAAQNlbnYNX19fc3lzY2FsbDE5NQABA2Vudg1fX19zeXNjYWxsMTkyAAEDZW52DV9fX3N5c2NhbGwxODMAAQNlbnYNX19fc3lzY2FsbDE0NQABA2VudgtfX19tYXBfZmlsZQABA2VudhNfX19jeGFfcHVyZV92aXJ0dWFsAB4DZW52EF9fX2Nsb2NrX2dldHRpbWUAAQNlbnYTX19fYnVpbGRFbnZpcm9ubWVudAAAA2Vudgl0YWJsZUJhc2UDfwADZW52DkRZTkFNSUNUT1BfUFRSA38AA2VudghTVEFDS1RPUAN/AAZnbG9i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b2NjX2NwcAD5Mh1fX0dMT0JBTF9fc3ViX0lfYmxvYmNsYXNzX2NwcACaMxpfX0dMT0JBTF9fc3ViX0lfY2N1dGlsX2NwcACfMxxfX0dMT0JBTF9fc3ViX0lfY2prcGl0Y2hfY3BwAPQyG19fR0xPQkFMX19zdWJfSV9jb2xmaW5kX2NwcADvMiRfX0dMT0JBTF9fc3ViX0lfY29scGFydGl0aW9uZ3JpZF9jcHAA7jIpX19HTE9CQUxfX3N1Yl9JX2RldmFuYWdhcmlfcHJvY2Vzc2luZ19jcHAA7DIcX19HTE9CQUxfX3N1Yl9JX2RyYXd0b3JkX2NwcADoMhtfX0dMT0JBTF9fc3ViX0lfZWRnYmxvYl9jcHAA4jIiX19HTE9CQUxfX3N1Yl9JX2VxdWF0aW9uZGV0ZWN0X2NwcACmMxpfX0dMT0JBTF9fc3ViX0lfZnBjaG9wX2NwcADcMhtfX0dMT0JBTF9fc3ViX0lfZ2FwX21hcF9jcHAA1DIdX19HTE9CQUxfX3N1Yl9JX2ltYWdlZmluZF9jcHAAzDIZX19HTE9CQUxfX3N1Yl9JX2ludGZ4X2NwcACWMxxfX0dMT0JBTF9fc3ViX0lfaW50cHJvdG9fY3BwAJMzHF9fR0xPQkFMX19zdWJfSV9pb3N0cmVhbV9jcHAA3B8bX19HTE9CQUxfX3N1Yl9JX21ha2Vyb3dfY3BwAMYyF19fR0xPQkFMX19zdWJfSV9tZnhfY3BwAJAzHV9fR0xPQkFMX19zdWJfSV9ub3JtbWF0Y2hfY3BwAIszHF9fR0xPQkFMX19zdWJfSV9vbGRiYXNlbF9jcHAAwTIcX19HTE9CQUxfX3N1Yl9JX3BpY29mZWF0X2NwcACIMxxfX0dMT0JBTF9fc3ViX0lfcGl0c3luYzFfY3BwALkyHF9fR0xPQkFMX19zdWJfSV9wb2x5YXByeF9jcHAAozMaX19HTE9CQUxfX3N1Yl9JX3Byb3Rvc19jcHAAgzMaX19HTE9CQUxfX3N1Yl9JX3JlbmRlcl9jcHAAgjIeX19HTE9CQUxfX3N1Yl9JX3Njcm9sbHZpZXdfY3BwAIYyGV9fR0xPQkFMX19zdWJfSV9zcGxpdF9jcHAAoTMfX19HTE9CQUxfX3N1Yl9JX3N0cm9rZXdpZHRoX2NwcAC3MhtfX0dMT0JBTF9fc3ViX0lfdGFiZmluZF9jcHAArTIdX19HTE9CQUxfX3N1Yl9JX3RhYmxlZmluZF9jcHAApTIdX19HTE9CQUxfX3N1Yl9JX3RhYnZlY3Rvcl9jcHAAnjIcX19HTE9CQUxfX3N1Yl9JX3Rlc3N2YXJzX2NwcACkMxtfX0dMT0JBTF9fc3ViX0lfdG9waXRjaF9jcHAAmTIaX19HTE9CQUxfX3N1Yl9JX3RvdmFyc19jcHAAljIbX19HTE9CQUxfX3N1Yl9JX3RwcmludGZfY3BwAJ4zHF9fR0xPQkFMX19zdWJfSV91bmRlcmxpbl9jcHAAkTIbX19HTE9CQUxfX3N1Yl9JX3dvcmRzZWdfY3BwAIwyD19fX2N4YV9kZW1hbmdsZQDlHSFfX19lbXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3IA7h8RX19fZXJybm9fbG9jYXRpb24AsSAOX19nZXRfZGF5bGlnaHQA7B8OX19nZXRfdGltZXpvbmUA6x8MX19nZXRfdHpuYW1lAO0fDF9ib3hhRGVzdHJveQCqAyZfZW1zY3JpcHRlbl9iaW5kX0Jvb2xQdHJfX19kZXN0cm95X19fMADQASVfZW1zY3JpcHRlbl9iaW5kX0JveFB0cl9fX2Rlc3Ryb3lfX18wAIQBIl9lbXNjcmlwdGVuX2JpbmRfQm94X19fZGVzdHJveV9fXzAAhAEcX2Vtc2NyaXB0ZW5fYmluZF9Cb3hfZ2V0X2hfMACsBSNfZW1zY3JpcHRlbl9iaW5kX0JveF9nZXRfcmVmY291bnRfMADyChxfZW1zY3JpcHRlbl9iaW5kX0JveF9nZXRfd18wAOAGHF9lbXNjcmlwdGVuX2JpbmRfQm94X2dldF94XzAA4QYcX2Vtc2NyaXB0ZW5fYmluZF9Cb3hfZ2V0X3lfMACzBSNfZW1zY3JpcHRlbl9iaW5kX0JveGFfX19kZXN0cm95X19fMACEAR9fZW1zY3JpcHRlbl9iaW5kX0JveGFfZ2V0X2JveF8wAKwFHV9lbXNjcmlwdGVuX2JpbmRfQm94YV9nZXRfbl8wAOEGIl9lbXNjcmlwdGVuX2JpbmRfQm94YV9nZXRfbmFsbG9jXzAAswUkX2Vtc2NyaXB0ZW5fYmluZF9Cb3hhX2dldF9yZWZjb3VudF8wAOAGMF9lbXNjcmlwdGVuX2JpbmRfQ2hvaWNlSXRlcmF0b3JfQ2hvaWNlSXRlcmF0b3JfMQCUHSxfZW1zY3JpcHRlbl9iaW5kX0Nob2ljZUl0ZXJhdG9yX0NvbmZpZGVuY2VfMACZHS1fZW1zY3JpcHRlbl9iaW5kX0Nob2ljZUl0ZXJhdG9yX0dldFVURjhUZXh0XzAAjx0mX2Vtc2NyaXB0ZW5fYmluZF9DaG9pY2VJdGVyYXRvcl9OZXh0XzAAjRMtX2Vtc2NyaXB0ZW5fYmluZF9DaG9pY2VJdGVyYXRvcl9fX2Rlc3Ryb3lfX18wAOYSI19lbXNjcmlwdGVuX2JpbmRfRGF3Z19fX2Rlc3Ryb3lfX18wAKgHKF9lbXNjcmlwdGVuX2JpbmRfRG91YmxlUHRyX19fZGVzdHJveV9fXzAAhAEpX2Vtc2NyaXB0ZW5fYmluZF9FVEVYVF9ERVNDX19fZGVzdHJveV9fXzAAhAEnX2Vtc2NyaXB0ZW5fYmluZF9GbG9hdFB0cl9fX2Rlc3Ryb3lfX18wAIQBJV9lbXNjcmlwdGVuX2JpbmRfSW50UHRyX19fZGVzdHJveV9fXzAAhAEqX2Vtc2NyaXB0ZW5fYmluZF9Mb25nU3RhclB0cl9fX2Rlc3Ryb3lfX18wAIQBK19lbXNjcmlwdGVuX2JpbmRfT1NCZXN0UmVzdWx0X19fZGVzdHJveV9fXzAAhAEvX2Vtc2NyaXB0ZW5fYmluZF9PU0Jlc3RSZXN1bHRfZ2V0X29jb25maWRlbmNlXzAAmB0yX2Vtc2NyaXB0ZW5fYmluZF9PU0Jlc3RSZXN1bHRfZ2V0X29yaWVudGF0aW9uX2lkXzAA4QYvX2Vtc2NyaXB0ZW5fYmluZF9PU0Jlc3RSZXN1bHRfZ2V0X3Njb25maWRlbmNlXzAAlx0tX2Vtc2NyaXB0ZW5fYmluZF9PU0Jlc3RSZXN1bHRfZ2V0X3NjcmlwdF9pZF8wALMFJl9lbXNjcmlwdGVuX2JpbmRfT1NSZXN1bHRzX09TUmVzdWx0c18wAOwzKF9lbXNjcmlwdGVuX2JpbmRfT1NSZXN1bHRzX19fZGVzdHJveV9fXzAAhAEsX2Vtc2NyaXB0ZW5fYmluZF9PU1Jlc3VsdHNfZ2V0X2Jlc3RfcmVzdWx0XzAA5jMrX2Vtc2NyaXB0ZW5fYmluZF9PU1Jlc3VsdHNfZ2V0X3VuaWNoYXJzZXRfMADgMylfZW1zY3JpcHRlbl9iaW5kX09TUmVzdWx0c19wcmludF9zY29yZXNfMADnMypfZW1zY3JpcHRlbl9iaW5kX09yaWVudGF0aW9uX19fZGVzdHJveV9fXzAAhAEoX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfQmFzZWxpbmVfNQCiFiVfZW1zY3JpcHRlbl9iaW5kX1BhZ2VJdGVyYXRvcl9CZWdpbl8wAOsZLF9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0Jsb2NrUG9seWdvbl8wAP0WKV9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0Jsb2NrVHlwZV8wAJUXM19lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0JvdW5kaW5nQm94SW50ZXJuYWxfNQDIFytfZW1zY3JpcHRlbl9iaW5kX1BhZ2VJdGVyYXRvcl9Cb3VuZGluZ0JveF81APcXK19lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0JvdW5kaW5nQm94XzYA2hcjX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfQ21wXzEAthglX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfRW1wdHlfMQCtFy5fZW1zY3JpcHRlbl9iaW5kX1BhZ2VJdGVyYXRvcl9HZXRCaW5hcnlJbWFnZV8xAN0WKF9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0dldEltYWdlXzUAvhYvX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfSXNBdEJlZ2lubmluZ09mXzEA5RgwX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfSXNBdEZpbmFsRWxlbWVudF8yAMsYQF9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX0lzV2l0aGluRmlyc3RUZXh0bGluZU9mUGFyYWdyYXBoXzAAuRkkX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfTmV4dF8xAPkYK19lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX09yaWVudGF0aW9uXzQAiRYtX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfUGFyYWdyYXBoSW5mb180APUVMF9lbXNjcmlwdGVuX2JpbmRfUGFnZUl0ZXJhdG9yX1Jlc3RhcnRQYXJhZ3JhcGhfMADQGSpfZW1zY3JpcHRlbl9iaW5kX1BhZ2VJdGVyYXRvcl9SZXN0YXJ0Um93XzAAnxk4X2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfU2V0Qm91bmRpbmdCb3hDb21wb25lbnRzXzIApBgrX2Vtc2NyaXB0ZW5fYmluZF9QYWdlSXRlcmF0b3JfX19kZXN0cm95X19fMACoBzVfZW1zY3JpcHRlbl9iaW5kX1BhcmFncmFwaEp1c3RpZmljYXRpb25fX19kZXN0cm95X19fMACEASpfZW1zY3JpcHRlbl9iaW5kX1BpeENvbG9ybWFwX19fZGVzdHJveV9fXzAAhAEoX2Vtc2NyaXB0ZW5fYmluZF9QaXhDb2xvcm1hcF9nZXRfYXJyYXlfMADhBihfZW1zY3JpcHRlbl9iaW5kX1BpeENvbG9ybWFwX2dldF9kZXB0aF8wALMFJF9lbXNjcmlwdGVuX2JpbmRfUGl4Q29sb3JtYXBfZ2V0X25fMACsBSlfZW1zY3JpcHRlbl9iaW5kX1BpeENvbG9ybWFwX2dldF9uYWxsb2NfMADgBiVfZW1zY3JpcHRlbl9iaW5kX1BpeFB0cl9fX2Rlc3Ryb3lfX18wAIQBIl9lbXNjcmlwdGVuX2JpbmRfUGl4X19fZGVzdHJveV9fXzAAhAEjX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X2NvbG9ybWFwXzAA5BwcX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X2RfMADgBh9fZW1zY3JpcHRlbl9iaW5kX1BpeF9nZXRfZGF0YV8wAN4cHF9lbXNjcmlwdGVuX2JpbmRfUGl4X2dldF9oXzAAswUjX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X2luZm9ybWF0XzAA8BwjX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X3JlZmNvdW50XzAAhhIiX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X3NwZWNpYWxfMADsHB5fZW1zY3JpcHRlbl9iaW5kX1BpeF9nZXRfc3BwXzAArAUfX2Vtc2NyaXB0ZW5fYmluZF9QaXhfZ2V0X3RleHRfMADpHBxfZW1zY3JpcHRlbl9iaW5kX1BpeF9nZXRfd18wAOEGHl9lbXNjcmlwdGVuX2JpbmRfUGl4X2dldF93cGxfMADyCh9fZW1zY3JpcHRlbl9iaW5kX1BpeF9nZXRfeHJlc18wAPQcH19lbXNjcmlwdGVuX2JpbmRfUGl4X2dldF95cmVzXzAA8xwmX2Vtc2NyaXB0ZW5fYmluZF9QaXhhUHRyX19fZGVzdHJveV9fXzAAhAEjX2Vtc2NyaXB0ZW5fYmluZF9QaXhhX19fZGVzdHJveV9fXzAAhAEgX2Vtc2NyaXB0ZW5fYmluZF9QaXhhX2dldF9ib3hhXzAA8godX2Vtc2NyaXB0ZW5fYmluZF9QaXhhX2dldF9uXzAA4QYiX2Vtc2NyaXB0ZW5fYmluZF9QaXhhX2dldF9uYWxsb2NfMACzBR9fZW1zY3JpcHRlbl9iaW5kX1BpeGFfZ2V0X3BpeF8wAKwFJF9lbXNjcmlwdGVuX2JpbmRfUGl4YV9nZXRfcmVmY291bnRfMADgBiJfZW1zY3JpcHRlbl9iaW5kX1B0YV9fX2Rlc3Ryb3lfX18wAIQBHF9lbXNjcmlwdGVuX2JpbmRfUHRhX2dldF9uXzAA4QYhX2Vtc2NyaXB0ZW5fYmluZF9QdGFfZ2V0X25hbGxvY18wALMFI19lbXNjcmlwdGVuX2JpbmRfUHRhX2dldF9yZWZjb3VudF8wAOAGHF9lbXNjcmlwdGVuX2JpbmRfUHRhX2dldF94XzAArAUcX2Vtc2NyaXB0ZW5fYmluZF9QdGFfZ2V0X3lfMADyCipfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0Jhc2VsaW5lXzUAohYnX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9CZWdpbl8wAOsZLl9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfQmxvY2tQb2x5Z29uXzAA/RYrX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9CbG9ja1R5cGVfMACVFzVfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0JvdW5kaW5nQm94SW50ZXJuYWxfNQDIFy1fZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0JvdW5kaW5nQm94XzUA9xctX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9Cb3VuZGluZ0JveF82ANoXJV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfQ21wXzEAthgsX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9Db25maWRlbmNlXzEAlh0nX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9FbXB0eV8xAK0XM19lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfRXF1aXZhbGVudFRvVHJ1dGhfMQDOIzBfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0dldEJpbmFyeUltYWdlXzEA3RYqX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9HZXRJbWFnZV81AL4WLV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfR2V0VVRGOFRleHRfMQDRKC9fZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0hhc0JsYW1lckluZm9fMACuJDBfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0hhc1RydXRoU3RyaW5nXzAAhyQxX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9Jc0F0QmVnaW5uaW5nT2ZfMQDlGDJfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0lzQXRGaW5hbEVsZW1lbnRfMgDLGEJfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX0lzV2l0aGluRmlyc3RUZXh0bGluZU9mUGFyYWdyYXBoXzAAuRkmX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9OZXh0XzEA+RgtX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9PcmllbnRhdGlvbl80AIkWL19lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfUGFyYWdyYXBoSW5mb180APUVMF9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfUGFyYWdyYXBoSXNMdHJfMACbKTJfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1Jlc3RhcnRQYXJhZ3JhcGhfMADQGSxfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1Jlc3RhcnRSb3dfMACfGTBfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1Jlc3VsdEl0ZXJhdG9yXzEAujI6X2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9TZXRCb3VuZGluZ0JveENvbXBvbmVudHNfMgCkGDJfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1NldExpbmVTZXBhcmF0b3JfMQD0DjdfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1NldFBhcmFncmFwaFNlcGFyYXRvcl8xALgnMV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfU3ltYm9sSXNEcm9wY2FwXzAAziAzX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9TeW1ib2xJc1N1YnNjcmlwdF8wAJohNV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfU3ltYm9sSXNTdXBlcnNjcmlwdF8wANMhL19lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZERpcmVjdGlvbl8wAMwlNF9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZEZvbnRBdHRyaWJ1dGVzXzgA2iY2X2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9Xb3JkSXNGcm9tRGljdGlvbmFyeV8wAPQkL19lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZElzTnVtZXJpY18wANQkLV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZExhdHRpY2VfMQCmIjRfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1dvcmROb3JtZWRVVEY4VGV4dF8wAOEiOV9lbXNjcmlwdGVuX2JpbmRfUmVzdWx0SXRlcmF0b3JfV29yZFJlY29nbml0aW9uTGFuZ3VhZ2VfMACRJjNfZW1zY3JpcHRlbl9iaW5kX1Jlc3VsdEl0ZXJhdG9yX1dvcmRUcnV0aFVURjhUZXh0XzAAlSMtX2Vtc2NyaXB0ZW5fYmluZF9SZXN1bHRJdGVyYXRvcl9fX2Rlc3Ryb3lfX18wAKgHLV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQWRhcHRUb1dvcmRTdHJfMgCdNDFfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0FsbFdvcmRDb25maWRlbmNlc18wAKM0LF9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQW5hbHlzZUxheW91dF8wAI81LF9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQW5hbHlzZUxheW91dF8xAIk1K19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQ2F0Y2hTaWduYWxzXzAAyxw2X2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9DbGVhckFkYXB0aXZlQ2xhc3NpZmllcl8wANM1M19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfQ2xlYXJQZXJzaXN0ZW50Q2FjaGVfMACJNCRfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0NsZWFyXzAAlTQnX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9EZXRlY3RPU18xAP0zIl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfRW5kXzAAjDQuX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRCb29sVmFyaWFibGVfMgCiHClfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldEJveFRleHRfMQDENDFfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldENvbXBvbmVudEltYWdlc180AKQ1MV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0Q29tcG9uZW50SW1hZ2VzXzcAmzU1X2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRDb25uZWN0ZWRDb21wb25lbnRzXzEAqjUqX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXREYXRhcGF0aF8wALEcJl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0RGF3Z18xAPgzMF9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0RG91YmxlVmFyaWFibGVfMgCeHCpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldEhPQ1JUZXh0XzEA2DQ3X2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRJbml0TGFuZ3VhZ2VzQXNTdHJpbmdfMADyNSxfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldElucHV0SW1hZ2VfMAC5HCtfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldElucHV0TmFtZV8wAMMcLV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0SW50VmFyaWFibGVfMgCmHCpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldEl0ZXJhdG9yXzAA5DQpX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRPc2RUZXh0XzEAsTQtX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRQYWdlU2VnTW9kZV8wANY1KV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0UmVnaW9uc18xALs1M19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0U291cmNlWVJlc29sdXRpb25fMAC0HDBfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFN0cmluZ1ZhcmlhYmxlXzEAlhwoX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRTdHJpcHNfMgCxNSlfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFRTVlRleHRfMQDPNCtfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFRleHRsaW5lc18yALY1K19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0VGV4dGxpbmVzXzUAtDU9X2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRUaHJlc2hvbGRlZEltYWdlU2NhbGVGYWN0b3JfMACTNTJfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFRocmVzaG9sZGVkSW1hZ2VfMADANSpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0dldFVOTFZUZXh0XzAAuzQqX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9HZXRVVEY4VGV4dF8wANs0KV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0VW5pY2hhcl8xAPszJ19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfR2V0V29yZHNfMQCrNTFfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0luaXRGb3JBbmFseXNlUGFnZV8wAOc1Kl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfSW5pdExhbmdNb2RfMgDwNSNfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0luaXRfMgCBNiNfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0luaXRfMwD6NS9fZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0lzVmFsaWRDaGFyYWN0ZXJfMQCCNCpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX0lzVmFsaWRXb3JkXzEAhjQrX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9NZWFuVGV4dENvbmZfMACqNCdfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX051bURhd2dzXzAA9DMtX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9QcmludFZhcmlhYmxlc18wAI0cKl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfUHJvY2Vzc1BhZ2VfNgDqNCtfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1Byb2Nlc3NQYWdlc180AO80LV9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfUmVhZENvbmZpZ0ZpbGVfMQDlNTJfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1JlYWREZWJ1Z0NvbmZpZ0ZpbGVfMQDfNTNfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1JlY29nbml6ZUZvckNob3BUZXN0XzEA+jQoX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9SZWNvZ25pemVfMQCDNS9fZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1NldERlYnVnVmFyaWFibGVfMgCpHCdfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1NldEltYWdlXzEA0TUnX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRJbWFnZV81ANA1LF9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfU2V0SW5wdXRJbWFnZV8xAL4cK19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfU2V0SW5wdXROYW1lXzEAxxwsX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRPdXRwdXROYW1lXzEArxwtX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRQYWdlU2VnTW9kZV8xANg1K19lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfU2V0UmVjdGFuZ2xlXzQAyzUyX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRTb3VyY2VSZXNvbHV0aW9uXzEAzzUqX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9TZXRWYXJpYWJsZV8yAK0cKl9lbXNjcmlwdGVuX2JpbmRfVGVzc0Jhc2VBUElfVGVzc0Jhc2VBUElfMADWHCxfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1Rlc3NlcmFjdFJlY3RfNwDUNSZfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX1ZlcnNpb25fMADRHCpfZW1zY3JpcHRlbl9iaW5kX1Rlc3NCYXNlQVBJX19fZGVzdHJveV9fXzAAqAciX2Vtc2NyaXB0ZW5fYmluZF9UZXNzQmFzZUFQSV9vZW1fMADuMytfZW1zY3JpcHRlbl9iaW5kX1Rlc3NQREZSZW5kZXJlcl9BZGRJbWFnZV8xAPUbMF9lbXNjcmlwdGVuX2JpbmRfVGVzc1BERlJlbmRlcmVyX0JlZ2luRG9jdW1lbnRfMQCHHC5fZW1zY3JpcHRlbl9iaW5kX1Rlc3NQREZSZW5kZXJlcl9FbmREb2N1bWVudF8wAOUbMl9lbXNjcmlwdGVuX2JpbmRfVGVzc1BERlJlbmRlcmVyX1Rlc3NQREZSZW5kZXJlcl8zAKwdLl9lbXNjcmlwdGVuX2JpbmRfVGVzc1BERlJlbmRlcmVyX19fZGVzdHJveV9fXzAAqAcxX2Vtc2NyaXB0ZW5fYmluZF9UZXNzUERGUmVuZGVyZXJfZmlsZV9leHRlbnNpb25fMACzBShfZW1zY3JpcHRlbl9iaW5kX1Rlc3NQREZSZW5kZXJlcl9oYXBweV8wAMcbK19lbXNjcmlwdGVuX2JpbmRfVGVzc1BERlJlbmRlcmVyX2ltYWdlbnVtXzAArAUoX2Vtc2NyaXB0ZW5fYmluZF9UZXNzUERGUmVuZGVyZXJfdGl0bGVfMACJGy5fZW1zY3JpcHRlbl9iaW5kX1Rlc3NSZXN1bHRSZW5kZXJlcl9BZGRJbWFnZV8xAPUbM19lbXNjcmlwdGVuX2JpbmRfVGVzc1Jlc3VsdFJlbmRlcmVyX0JlZ2luRG9jdW1lbnRfMQCHHDFfZW1zY3JpcHRlbl9iaW5kX1Rlc3NSZXN1bHRSZW5kZXJlcl9FbmREb2N1bWVudF8wAOUbMV9lbXNjcmlwdGVuX2JpbmRfVGVzc1Jlc3VsdFJlbmRlcmVyX19fZGVzdHJveV9fXzAAqAc0X2Vtc2NyaXB0ZW5fYmluZF9UZXNzUmVzdWx0UmVuZGVyZXJfZmlsZV9leHRlbnNpb25fMACzBStfZW1zY3JpcHRlbl9iaW5kX1Rlc3NSZXN1bHRSZW5kZXJlcl9oYXBweV8wAMcbLl9lbXNjcmlwdGVuX2JpbmRfVGVzc1Jlc3VsdFJlbmRlcmVyX2ltYWdlbnVtXzAArAUrX2Vtc2NyaXB0ZW5fYmluZF9UZXNzUmVzdWx0UmVuZGVyZXJfdGl0bGVfMACJGyxfZW1zY3JpcHRlbl9iaW5kX1RleHRsaW5lT3JkZXJfX19kZXN0cm95X19fMACEASlfZW1zY3JpcHRlbl9iaW5kX1VOSUNIQVJTRVRfX19kZXN0cm95X19fMAD5HDdfZW1zY3JpcHRlbl9iaW5kX1VOSUNIQVJTRVRfZ2V0X3NjcmlwdF9mcm9tX3NjcmlwdF9pZF8xAIkdNV9lbXNjcmlwdGVuX2JpbmRfVU5JQ0hBUlNFVF9nZXRfc2NyaXB0X2lkX2Zyb21fbmFtZV8xAIUdM19lbXNjcmlwdGVuX2JpbmRfVU5JQ0hBUlNFVF9nZXRfc2NyaXB0X3RhYmxlX3NpemVfMACGEiZfZW1zY3JpcHRlbl9iaW5kX1ZvaWRQdHJfX19kZXN0cm95X19fMACEATBfZW1zY3JpcHRlbl9iaW5kX1dvcmRDaG9pY2VJdGVyYXRvcl9Db25maWRlbmNlXzAAlR0xX2Vtc2NyaXB0ZW5fYmluZF9Xb3JkQ2hvaWNlSXRlcmF0b3JfR2V0VVRGOFRleHRfMADMHypfZW1zY3JpcHRlbl9iaW5kX1dvcmRDaG9pY2VJdGVyYXRvcl9OZXh0XzAAjRM4X2Vtc2NyaXB0ZW5fYmluZF9Xb3JkQ2hvaWNlSXRlcmF0b3JfV29yZENob2ljZUl0ZXJhdG9yXzEAqCAxX2Vtc2NyaXB0ZW5fYmluZF9Xb3JkQ2hvaWNlSXRlcmF0b3JfX19kZXN0cm95X19fMADmEi9fZW1zY3JpcHRlbl9iaW5kX1dyaXRpbmdEaXJlY3Rpb25fX19kZXN0cm95X19fMACEAShfZW1zY3JpcHRlbl9lbnVtX09jckVuZ2luZU1vZGVfT0VNX0NPVU5UAJINKl9lbXNjcmlwdGVuX2VudW1fT2NyRW5naW5lTW9kZV9PRU1fREVGQVVMVAC1ByxfZW1zY3JpcHRlbl9lbnVtX09jckVuZ2luZU1vZGVfT0VNX0xTVE1fT05MWQD3BTpfZW1zY3JpcHRlbl9lbnVtX09jckVuZ2luZU1vZGVfT0VNX1RFU1NFUkFDVF9MU1RNX0NPTUJJTkVEAPYFMV9lbXNjcmlwdGVuX2VudW1fT2NyRW5naW5lTW9kZV9PRU1fVEVTU0VSQUNUX09OTFkA+AUzX2Vtc2NyaXB0ZW5fZW51bV9PcmllbnRhdGlvbl9fT1JJRU5UQVRJT05fUEFHRV9ET1dOAPYFM19lbXNjcmlwdGVuX2VudW1fT3JpZW50YXRpb25fX09SSUVOVEFUSU9OX1BBR0VfTEVGVAC1BzRfZW1zY3JpcHRlbl9lbnVtX09yaWVudGF0aW9uX19PUklFTlRBVElPTl9QQUdFX1JJR0hUAPcFMV9lbXNjcmlwdGVuX2VudW1fT3JpZW50YXRpb25fX09SSUVOVEFUSU9OX1BBR0VfVVAA+AUsX2Vtc2NyaXB0ZW5fZW51bV9QYWdlSXRlcmF0b3JMZXZlbF9SSUxfQkxPQ0sA+AUrX2Vtc2NyaXB0ZW5fZW51bV9QYWdlSXRlcmF0b3JMZXZlbF9SSUxfUEFSQQD3BS1fZW1zY3JpcHRlbl9lbnVtX1BhZ2VJdGVyYXRvckxldmVsX1JJTF9TWU1CT0wAkg0vX2Vtc2NyaXB0ZW5fZW51bV9QYWdlSXRlcmF0b3JMZXZlbF9SSUxfVEVYVExJTkUA9gUrX2Vtc2NyaXB0ZW5fZW51bV9QYWdlSXRlcmF0b3JMZXZlbF9SSUxfV09SRAC1ByVfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9BVVRPALUHKl9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX0FVVE9fT05MWQD2BSlfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9BVVRPX09TRAD3BSxfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9DSVJDTEVfV09SRAD3GiZfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9DT1VOVADnGilfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9PU0RfT05MWQD4BSlfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9SQVdfTElORQDpGi1fZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9TSU5HTEVfQkxPQ0sAghs3X2Vtc2NyaXB0ZW5fZW51bV9QYWdlU2VnTW9kZV9QU01fU0lOR0xFX0JMT0NLX1ZFUlRfVEVYVACEGyxfZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9TSU5HTEVfQ0hBUgDzGi5fZW1zY3JpcHRlbl9lbnVtX1BhZ2VTZWdNb2RlX1BTTV9TSU5HTEVfQ09MVU1OAJINLF9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX1NJTkdMRV9MSU5FAP4aLF9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX1NJTkdMRV9XT1JEAP0aLF9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX1NQQVJTRV9URVhUAO8aMF9lbXNjcmlwdGVuX2VudW1fUGFnZVNlZ01vZGVfUFNNX1NQQVJTRV9URVhUX09TRADtGj1fZW1zY3JpcHRlbl9lbnVtX1BhcmFncmFwaEp1c3RpZmljYXRpb25fX0pVU1RJRklDQVRJT05fQ0VOVEVSAPYFO19lbXNjcmlwdGVuX2VudW1fUGFyYWdyYXBoSnVzdGlmaWNhdGlvbl9fSlVTVElGSUNBVElPTl9MRUZUAPcFPF9lbXNjcmlwdGVuX2VudW1fUGFyYWdyYXBoSnVzdGlmaWNhdGlvbl9fSlVTVElGSUNBVElPTl9SSUdIVAC1Bz5fZW1zY3JpcHRlbl9lbnVtX1BhcmFncmFwaEp1c3RpZmljYXRpb25fX0pVU1RJRklDQVRJT05fVU5LTk9XTgD4BS5fZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfQ0FQVElPTl9URVhUAP0aJ19lbXNjcmlwdGVuX2VudW1fUG9seUJsb2NrVHlwZV9QVF9DT1VOVAC0MypfZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfRVFVQVRJT04Akg0vX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX0ZMT1dJTkdfSU1BR0UA9xouX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX0ZMT1dJTkdfVEVYVAD3BS9fZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfSEVBRElOR19JTUFHRQDzGi5fZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfSEVBRElOR19URVhUAPYFK19lbXNjcmlwdGVuX2VudW1fUG9seUJsb2NrVHlwZV9QVF9IT1JaX0xJTkUA7RoxX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX0lOTElORV9FUVVBVElPTgCEGydfZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfTk9JU0UA5xovX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1BVTExPVVRfSU1BR0UA7xouX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1BVTExPVVRfVEVYVAC1BydfZW1zY3JpcHRlbl9lbnVtX1BvbHlCbG9ja1R5cGVfUFRfVEFCTEUAghspX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1VOS05PV04A+AUvX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1ZFUlRJQ0FMX1RFWFQA/horX2Vtc2NyaXB0ZW5fZW51bV9Qb2x5QmxvY2tUeXBlX1BUX1ZFUlRfTElORQDpGjhfZW1zY3JpcHRlbl9lbnVtX1N0cm9uZ1NjcmlwdERpcmVjdGlvbl9ESVJfTEVGVF9UT19SSUdIVAD3BS5fZW1zY3JpcHRlbl9lbnVtX1N0cm9uZ1NjcmlwdERpcmVjdGlvbl9ESVJfTUlYALUHMl9lbXNjcmlwdGVuX2VudW1fU3Ryb25nU2NyaXB0RGlyZWN0aW9uX0RJUl9ORVVUUkFMAPgFOF9lbXNjcmlwdGVuX2VudW1fU3Ryb25nU2NyaXB0RGlyZWN0aW9uX0RJUl9SSUdIVF9UT19MRUZUAPYFPF9lbXNjcmlwdGVuX2VudW1fVGV4dGxpbmVPcmRlcl9fVEVYVExJTkVfT1JERVJfTEVGVF9UT19SSUdIVAD4BTxfZW1zY3JpcHRlbl9lbnVtX1RleHRsaW5lT3JkZXJfX1RFWFRMSU5FX09SREVSX1JJR0hUX1RPX0xFRlQA9wU8X2Vtc2NyaXB0ZW5fZW51bV9UZXh0bGluZU9yZGVyX19URVhUTElORV9PUkRFUl9UT1BfVE9fQk9UVE9NAPYFQl9lbXNjcmlwdGVuX2VudW1fV3JpdGluZ0RpcmVjdGlvbl9fV1JJVElOR19ESVJFQ1RJT05fTEVGVF9UT19SSUdIVAD4BUJfZW1zY3JpcHRlbl9lbnVtX1dyaXRpbmdEaXJlY3Rpb25fX1dSSVRJTkdfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQA9wVCX2Vtc2NyaXB0ZW5fZW51bV9Xcml0aW5nRGlyZWN0aW9uX19XUklUSU5HX0RJUkVDVElPTl9UT1BfVE9fQk9UVE9NAPYFBV9mcmVlAEwHX21hbGxvYwByCV9tZW1hbGlnbgDwHwdfbWVtc2V0AIwBC19waXhEZXN0cm95AF4RX3BpeFJlYWRIZWFkZXJNZW0A0yALX3BpeFJlYWRNZW0AmQsMX3BpeGFEZXN0cm95AOcDC19wdGFEZXN0cm95AJkECWR5bkNhbGxfaQCwHQpkeW5DYWxsX2lpAK8dC2R5bkNhbGxfaWlpAK4dDGR5bkNhbGxfaWlpaQCtHQ1keW5DYWxsX2lpaWlpAKsdDmR5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cWo7AQAgAAvsAQEJfyMGIQEjBkEQaiQGIAFBDGohBSABQQhqIQYgAEE4aiEIIABBJGohAiAAQShqIQMgAEEwaiEHAn8CQAJAA0AgCBCNAQRAIAIgAigCAEEBaiIENgIAIAQgACgCACgCCE4EQCADIAMoAgAiBEF/ajYCACAEQQFIDQMgAkEANgIACyAAEKAEBSAAEKgGIAEgBygCABBxKQEANwMAIAAoAgAgAS4BACABLgECIAUgBhC2AiAFKAIAIAIoAgBGBEAgBigCACADKAIARg0ECwsMAAALAAsgABC/BEEADAELIAcoAgALIQkgASQGIAkLJAAgACgCBCAAIAFBACAAKAIAKAIMQf8AcUGQBGoRAgBBAnRqCwwAIAAgASgCHBD9CgsIACAAQdwAagsJACAAIAE2AgwLJAEBfyAAQX9qIgFBCEkEf0H3ASABQf8BcXZBAXFBAEcFQQALC0UBBH8CQCAAKAIAIgIEQCACKAIAIQMgAkEANgIAIABBADYCACADIQADQCAARQ0CIAAoAgAhBCAAEEwgBCEADAAACwALCwtDACAAIAEgAiADEMYCIQMCQCAALAAKBEBBACEAA0AgACADTg0CIAEgAhDyGyAAQQFqIQAgASACaiEBDAAACwALCyADCxAAIABBADsBACAAQQA7AQILFAAgACgCACABSgRAIAAgATYCAAsLNwAgACABKQEANwEcIAAgAS4BACABLgEGENgJIAAoAgAgAS4BBCABLgECIABBDGogAEEIahC2AgsJACAAIAE7AQILCAAgABCrARoLKgEBfyAAELoDBH9BAAUgABBuQRB0QRB1IQEgABBrQRB0QRB1IAFsCyIAC3UBAn8jBiEBIwZBEGokBiAARQRAIAFB/YseNgIAQcS0FkHGmCAgARBcIAEkBg8LIAAoAgAiAkUEQCABJAYPCyACQX8Q+RQgAgR/IAIoAhAFQaenIEGIjB5BfxBKGkF/C0EBSARAIAIQTAsgAEEANgIAIAEkBguDAQEEfyMGIQIjBkEQaiQGIAAsAB8EQCACQgA3AgAgAkEANgIIIAIgASABEGMQygIFIAIgARDDCQsgAEEEaiIDIAIoAgAgAiACLAALIgRBAEgiABsiASACKAIEIARB/wFxIAAbIgAQwgkEfyADIAEgABDkDgVBfwshBSACEFQgAiQGIAULPQED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IAAgASACEG0aCy0AIAJBf0ogACACSnEEQCABIAJBDGxqDwVBr4QdQdCEHUHVBUG12SAQAQtBAAuMAQECfyMJQQFqJAkgACMJNgIAA0AgBCADSARAIAIgBEEDdGooAgBFBEAgAiAEQQN0aiMJNgIAIAIgBEEDdEEEamogATYCACACIARBA3RBCGpqQQA2AgAgAyQMIAIPCyAEQQFqIQQMAQsLIAAgASACIANBAXQiA0EBakEDdBCNBiADEIoCIQUgAyQMIAUL2jUBD38jBiEJIwZB0AFqJAYgCUGwAWohAyAJQfwAaiEGIAlB2ABqIQcgCUFAayEIIAlBoAFqIQ0gCUEwaiEKIAlBJGohCyAJQZQBaiEPIAlBiAFqIRAgCUHwAGohESAJQRhqIQwgCUEMaiEOAkAgASIFIABrIgFBAUoEQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEDSgR/IAAsAABB5wBGBH8gAEECaiAAIAAsAAFB8wBGIgQbBSAACwUgAAsiASwAAEExaw5EEhISEhISEhISExMTExMTExMTExMTExMTExMTABMTExMTExMBExMTExMTExMTExMTAxMEBQYCBxMIExMJCgsMDQ4PEBETCyAAIAUgAhCtEiEADBQLIAAgBSACEIEJIQAMEwsgACAFIAIQrBIhAAwSCwJAAkACQAJAAkACQAJAAkAgASwAAUHOAGsOLQMHBwcHBAcHBwcHBwcHBwcHBwcABwcBBwcHBwcHBwcHAgcHBwcHBQcHBwcHBgcLIANCADcCACADQQA2AgggA0HS1SBB0tUgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBgLIANCADcCACADQQA2AgggA0Hk1SBB5NUgEGMQpgEgAEECaiIEIAUgAyACEIcGIQEgAxBUIAAgASABIARGGyEADBcLIANCADcCACADQQA2AgggA0Hk1SBB5NUgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBYLIANCADcCACADQQA2AgggA0GP1iBBj9YgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBULIANCADcCACADQQA2AgggA0GS1iBBktYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBQLIAAgBSACENodIQAMEwsgACAFIAIQ2R0hAAwSCwwRCwJAAkACQAJAAkACQCABLAABQeMAaw4UAAUFBQUFBQUFAQIFAwUFBQUFBQQFCyAAIAUgAhDYHSEADBULIAAgBSACENcdIQAMFAsgA0IANwIAIANBADYCCCADQZTWIEGU1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMEwsgA0IANwIAIANBADYCCCADQZbWIEGW1iAQYxCmASAAQQJqIgQgBSADIAIQhwYhASADEFQgACABIAEgBEYbIQAMEgsgACAFIAIQ1h0hAAwRCwwQCwJAAkACQAJAAkACQAJAAkACQAJAIAEsAAFB1gBrDiEICQkJCQkJCQkJCQAJAQkCCQkJCQkJAwkECQkJCQUGCQcJCyABQQJqIgEgBSACEIsCIgUgAUYNGCACKAIAIAJBBGoiASgCAEYNGCAHQgA3AgAgB0EANgIIAkAgBARAIAdBmNYgQZjWIBBjEKYBBUEAIQADQCAAQQNGDQIgByAAQQJ0akEANgIAIABBAWohAAwAAAsACwsgB0Gb1iAQpwEaIAYgBykCADcCACAGIAcoAgg2AghBACEAA0AgAEEDRwRAIAcgAEECdGpBADYCACAAQQFqIQAMAQsLIAggASgCAEFoahCvASAGIAgoAgAgCCAILAALIgBBAEgiAhsgCCgCBCAAQf8BcSACGxC2ARogAyAGKQIANwIAIAMgBigCCDYCCEEAIQADQCAAQQNHBEAgBiAAQQJ0akEANgIAIABBAWohAAwBCwsgASgCACIBQWhqIgBBC2oiAiwAAEEASAR/IAAoAgBBABCcASABQWxqQQA2AgAgAAUgAEEAEJwBIAJBADoAACAACyEBIAAQ/QIgASADKQIANwIAIAEgAygCCDYCCEEAIQADQCAAQQNHBEAgAyAAQQJ0akEANgIAIABBAWohAAwBCwsgAxBUIAgQVCAGEFQgBxBUIAUhAAwYCyAAIAUgAhDVHSEADBcLIANCADcCACADQQA2AgggA0Hi1SBB4tUgEGMQpgEgAEECaiIEIAUgAyACEIcGIQEgAxBUIAAgASABIARGGyEADBYLIAFBAmoiASAFIAIQiwIiBSABRg0VIAIoAgAgAkEEaiIBKAIARg0VIAdCADcCACAHQQA2AggCQCAEBEAgB0GY1iBBmNYgEGMQpgEFQQAhAANAIABBA0YNAiAHIABBAnRqQQA2AgAgAEEBaiEADAAACwALCyAHQaXWIBCnARogBiAHKQIANwIAIAYgBygCCDYCCEEAIQADQCAAQQNHBEAgByAAQQJ0akEANgIAIABBAWohAAwBCwsgCCABKAIAQWhqEK8BIAYgCCgCACAIIAgsAAsiAEEASCICGyAIKAIEIABB/wFxIAIbELYBGiADIAYpAgA3AgAgAyAGKAIINgIIQQAhAANAIABBA0cEQCAGIABBAnRqQQA2AgAgAEEBaiEADAELCyABKAIAIgFBaGoiAEELaiICLAAAQQBIBH8gACgCAEEAEJwBIAFBbGpBADYCACAABSAAQQAQnAEgAkEAOgAAIAALIQEgABD9AiABIAMpAgA3AgAgASADKAIINgIIQQAhAANAIABBA0cEQCADIABBAnRqQQA2AgAgAEEBaiEADAELCyADEFQgCBBUIAYQVCAHEFQgBSEADBULIAAgBSACEIAJIQAMFAsgACAFIAIQ1B0hAAwTCyAAIAUgAhDTHSEADBILIANCADcCACADQQA2AgggA0Gt1iBBrdYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBELIANCADcCACADQQA2AgggA0Gv1iBBr9YgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADBALDA8LAkACQAJAAkAgASwAAUHPAGsOIwEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAMCAwsgA0IANwIAIANBADYCCCADQbLWIEGy1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMEQsgA0IANwIAIANBADYCCCADQbTWIEG01iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMEAsgA0IANwIAIANBADYCCCADQbfWIEG31iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMDwsMDgsCQAJAIAEsAAFB5QBrIgEEQCABQQ9GBEAMAgUMAwsACyADQgA3AgAgA0EANgIIIANButYgQbrWIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwPCyADQgA3AgAgA0EANgIIIANB9NUgQfTVIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwOCwwNCyABLAABQfgARw0MIABBAmoiASAFIAIQiwIiDCABRg0MIAJBBGohBCAMIAUgAhCLAiIBIAxGBEAgBCgCACECQQAhAQNAIAFBf0cEQCACIAFBf2oiAUEYbGoQaQwBCwsgBCACQWhqNgIADA0LIAQoAgAiBSACKAIAa0EYEE5BAkkNDCADIAVBaGoQrwEgBCgCACECQQAhAANAIABBf0cEQCACIABBf2oiAEEYbGoQaQwBCwsgBCACQWhqNgIAIAYgAkFQahCvASALQdDVICAGEJMEIAtBvdYgEKcBGiAKIAspAgA3AgAgCiALKAIINgIIQQAhAANAIABBA0cEQCALIABBAnRqQQA2AgAgAEEBaiEADAELCyAKIAMoAgAgAyADLAALIgBBAEgiAhsgAygCBCAAQf8BcSACGxC2ARogCCAKKQIANwIAIAggCigCCDYCCEEAIQADQCAAQQNHBEAgCiAAQQJ0akEANgIAIABBAWohAAwBCwsgCEH/1SAQpwEaIA0gCCkCADcCACANIAgoAgg2AghBACEAA0AgAEEDRwRAIAggAEECdGpBADYCACAAQQFqIQAMAQsLIAcgDRCUAiAEKAIAQWhqIAcQpgMgBxBpIA0QVCAIEFQgChBUIAsQVCAGEFQgAxBUIAEhAAwMCwJAAkACQAJAAkAgASwAAUHTAGsOIgIEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEAQMECyADQgA3AgAgA0EANgIIIANBwNYgQcDWIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwPCyADQgA3AgAgA0EANgIIIANBw9YgQcPWIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwOCyADQgA3AgAgA0EANgIIIANBxtYgQcbWIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwNCyADQgA3AgAgA0EANgIIIANB8tUgQfLVIBBjEKYBIABBAmoiBCAFIAMgAhClAiEBIAMQVCAAIAEgASAERhshAAwMCwwLCwJAAkACQAJAAkACQCABLAABQckAaw4lAQUFAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUABQUCBAULIANCADcCACADQQA2AgggA0HK1iBBytYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADA8LIANCADcCACADQQA2AgggA0HM1iBBzNYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADA4LIANCADcCACADQQA2AgggA0Hi1SBB4tUgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADA0LIANCADcCACADQQA2AgggA0HP1iBBz9YgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADAwLIABBAmoiBCAFRwRAIAQsAABB3wBGBEAgA0IANwIAIANBADYCCCADQdLWIEHS1iAQYxCmASAAQQNqIgQgBSADIAIQhwYhASADEFQgACABIAEgBEYbIQAMDQsLIAQgBSACEIsCIgEgBEYNCyACKAIAIAJBBGoiAigCACIERg0LIAcgBEFoahCvASAHQQBB0NUgEMEBGiAGIAcpAgA3AgAgBiAHKAIINgIIQQAhAANAIABBA0cEQCAHIABBAnRqQQA2AgAgAEEBaiEADAELCyAGQdXWIBCnARogDyAGKQIANwIAIA8gBigCCDYCCEEAIQADQCAAQQNHBEAgBiAAQQJ0akEANgIAIABBAWohAAwBCwsgAyAPEJQCIAIoAgBBaGogAxCmAyADEGkgDxBUIAYQVCAHEFQgASEADAsLDAoLAkACQAJAAkACQAJAIAEsAAFB4QBrDhgABQUFAQUCBQUFBQUFBQUFBQUFAwUFAAQFCyAAIAUgAhDSHSEADA4LIANCADcCACADQQA2AgggA0HZ1iBB2dYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADA0LIANCADcCACADQQA2AgggA0HK1iBBytYgEGMQpgEgAEECaiIEIAUgAyACEIcGIQEgAxBUIAAgASABIARGGyEADAwLIANCADcCACADQQA2AgggA0Hc1iBB3NYgEGMQpgEgAEECaiIEIAUgAyACEIcGIQEgAxBUIAAgASABIARGGyEADAsLIAAgAEECaiIAIAUgAhDRHSIBIAEgAEYbIQAMCgsMCQsCQAJAAkACQAJAIAEsAAFB0gBrDiEDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAEEBAIECyAAIAUgAhCACSEADAwLIANCADcCACADQQA2AgggA0He1iBB3tYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADAsLIANCADcCACADQQA2AgggA0Hh1iBB4dYgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADAoLIANCADcCACADQQA2AgggA0Hj1iBB49YgEGMQpgEgAEECaiIEIAUgAyACEKUCIQEgAxBUIAAgASABIARGGyEADAkLDAgLAkACQAJAAkACQAJAAkAgASwAAUHMAGsOKQIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAQAGBgMGBgQFBgsgA0IANwIAIANBADYCCCADQebWIEHm1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMDQsgA0IANwIAIANBADYCCCADQerWIEHq1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMDAsgA0IANwIAIANBADYCCCADQezWIEHs1iAQYxCmASAAQQJqIgQgBSADIAIQpQIhASADEFQgACABIAEgBEYbIQAMCwsgAEECaiIEIAVHBEAgBCwAAEHfAEYEQCADQgA3AgAgA0EANgIIIANB79YgQe/WIBBjEKYBIABBA2oiBCAFIAMgAhCHBiEBIAMQVCAAIAEgASAERhshAAwMCwsgBCAFIAIQiwIiASAERg0KIAIoAgAgAkEEaiICKAIAIgRGDQogByAEQWhqEK8BIAdBAEHQ1SAQwQEaIAYgBykCADcCACAGIAcoAgg2AghBACEAA0AgAEEDRwRAIAcgAEECdGpBADYCACAAQQFqIQAMAQsLIAZB8tYgEKcBGiAQIAYpAgA3AgAgECAGKAIINgIIQQAhAANAIABBA0cEQCAGIABBAnRqQQA2AgAgAEEBaiEADAELCyADIBAQlAIgAigCAEFo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ADYCACAAQQRqIgNBADYCACAAQQA2AgggACACKAIANgIMIAAQth0gAygCACABEJQEIAMgAygCAEEYajYCAAsLACAAIAEgAhCQCwscACAABH8gACgCDAVBnMMfQaKHHkF/EEoaQX8LC1ABBH8CQCAAKAIAIgMEQCADKAIAIQQgA0EANgIAIABBADYCACAEIQADQCAARQ0CIAAoAgAhBSAAIAFB/wNxQaIHahEAACAFIQAMAAALAAsLCz0BA38gAEEIaiECIAAuAQ4gAC4BCiIDayIEBH8gAC4BDCACLgEAIgBrIAEgA2tsIAQQTiAAagUgAi4BAAsL/gEBA38jBiEFIwZBEGokBiAAEJgBIABBBGoiBhCYASACQRB0QRB1IARBEHRBEHVMIQcgAUEQdEEQdSADQRB0QRB1SgRAIAcEQCAFIAMgAhChASAAIAUoAgA2AQAgBSABIAQQoQEgBiAFKAIANgEABSAAIARB//8DcUEQdCADQf//A3FyNgEAIAYgAkH//wNxQRB0IAFB//8DcXI2AQALBSAHBEAgACACQf//A3FBEHQgAUH//wNxcjYBACAGIARB//8DcUEQdCADQf//A3FyNgEABSAFIAEgBBChASAAIAUoAgA2AQAgBSADIAIQoQEgBiAFKAIANgEACwsgBSQGCxAAIABBCGogAUECdGooAgALEAAgACABQQRBARCQBBpBAQs0ACABQX9KBEAgACgCACABSgRAIAAoAgggAUECdGoPCwtBr4QdQdCEHUHPBUHjtBoQAUEACwYAQRkQCQsgACAARQRADwsgACABIAMQzwUgACACIAMQ8wIgABDOBQtPAQF/IABFBEBBlLAeQYqxHkEBEEoaDwsgABCJBSICIAAoAgBOBEAgABCEJAsgACgCICACQQN0aiABOQMAIABBBGoiACAAKAIAQQFqNgIACwkAIAAgAToACgsJACAAIAEQggoLCAAgABDVCBoLQAAgAS4BACAALgEESgR/QQAFIAEuAQQgAC4BAEgEf0EABSABLgECIAAuAQZKBH9BAAUgAS4BBiAALgECTgsLCwsKACAAQaQCEIIDC20BAn8jBiEBIwZBEGokBiAAKAIIIgIEQCAALAAABEAgAkEEaiAAKAIEEO0IBSACQcwAaiAAKAIEEO0ICwUgACgCBARAIAFB++AXNgIAIAFBxAA2AgRB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BigCACABQQJ0aigCACICBEAgBygCACIAIAIoAgA2AgAgAiAANgIABSAHKAIAIgIgAEHcAGoiACgCADYCACAAIAI2AgAgBigCACABQQJ0aiAANgIAIAIoAgAiAARAIAAoAgQhACADQX9qIgEgA3EEQCAAIANPBEAgACADEIcBIQALBSAAIAFxIQALIAYoAgAgAEECdGogAjYCAAsLIAUgBSgCAEEBajYCACAHQQA2AgALIA0oAgALIRAgDiQGIBALzyYBAX8gABD/KSAAQeiWFjYCACAAQbCmCGpBAEGcphtBuqYbQQAgABBzIgEQYCAAQcCmCGpBAEHnphtBiqcbQQAgARBgIABB0KYIakEAQbynG0HWpxtBACABEGAgAEHgpghqQQBB/qcbQZ2oG0EAIAEQYCAAQfCmCGpBAEHCqBtB4agbQQAgARBgIABBgKcIakEAQZOpG0GwqRtBACABEGAgAEGQpwhqQQZB56kbQf2pG0EAIAEQfiAAQainCGpBA0GDqxtBnKsbQQEgARB+IABBwKcIakHT1fkAQY2sG0GlrBtBACABEMQCIABB2KcIakHT1fkAQcmsG0HhrBtBACABEMQCIABB8KcIakHT1fkAQYGtG0GbrRtBACABEMQCIABBiKgIakEAQc2tG0HmrRtBACABEGAgAEGYqAhqQQBBh64bQamuG0EAIAEQfiAAQbCoCGpBAEGUrxtBsq8bQQAgARB+IABByKgIakHT1fkAQY+wG0GtsBtBACABEMQCIABB4KgIakEAQdWwG0HtsBtBACABEGAgAEHwqAhqQQBBn7EbQaqxG0EAIAEQfiAAQYipCGpBAUHngx1Bv7EbQQAgARB+IABBoKkIakEAQbeCHUHLsRtBACABEH4gAEG4qQhqQeuxG0HwsRtBirIbQQAgARDEAiAAQdCpCGpBAEGfsxtByLMbQQAgARBgIABB4KkIakEAQbm0G0HUtBtBACABEGAgAEHwqQhqQQBBv7UbQdm1G0EAIAEQYCAAQYCqCGpBAEHrtRtBgbYbQQAgARBgIABBkKoIakEAQZO2G0GpthtBACABEGAgAEGgqghqQQFBvLYbQda2G0EAIAEQYCAAQbCqCGpBAEHythtBiLcbQQAgARBgIABBwKoIakEBQay3G0HBtxtBACABEGAgAEHQqghqQQFB2LcbQe63G0EAIAEQ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AUG59xtB1PcbQQAgARBgIABBqMcIakHT1fkAQev3G0GC+BtBACABEMQCIABBwMcIakEAQar4G0HM+BtBACABEGAgAEHQxwhqRAAAAAAAABxAQYr5G0Gh+RsgARBhIABB+McIakEAQcP5G0Hf+RtBACABEGAgAEGIyAhqQQBB8vkbQYv6G0EAIAEQYCAAQZjICGpBAEGl+htBvPobQQAgARBgIABBqMgIakEAQfH6G0GL+xtBASABEGAgAEG4yAhqQQBBivwbQaL8G0EAIAEQYCAAQcjICGpBAUG8/BtB2vwbQQAgARBgIABB2MgIakEAQfT8G0GY/RtBACABEGAgAEHoyAhqRAAAAAAAAOA/Qbz9G0Hg/RsgARBhIABBkMkIakQAAAAAAADoP0Gg/htBxf4bIAEQYSAAQbjJCGpBAEGB/xtBlv8bQQAgARB+IABB0MkIakEAQbX/G0HP/xtBACABEGAgAEHgyQhqQfL/G0H0/xtBg4AcQQAgARDEAiAAQfjJCGpBAEG7gBxBzIAcQQAgARB+IABBkMoIakEANgIAIABBlMoIahCZASAAQZjKCGoiAUIANwMAIAFCADcDCCAAQajKCGoiAUEAENYFNgIAIAEQmCE2AgQgAEGwyghqQQA2AgAgAEG0yghqEPwpIABB2MoIaiAAEP0pIABB4N4IakEAOgAAIABB5N4IakEANgIAIABB6N4IakF/NgIAIABB7N4IakMAAIA/QwAAAAAQpAEgAEH03ghqQwAAgD9DAAAAABCkASAAQfzeCGoQ/ikgAEGc3whqELIBIABBsN8IaiAANgIAIABBtN8IaiIAQgA3AgAgAEIANwIICwsAIABBzABqELkCCycAAn8CQCAALAAIDQAgACAAEF0QnhYNAEEADAELIAAgASACEJwPCwuXAQECfyABQQFGBEBBAiEBBSABQX9qIAFxBEAgARCLCyEBCwsgASAAKAIEIgNLBEAgACABEPQWBSABIANJBEAgACgCDLMgACoCEJWNEKEEIQIgA0ECSyADQX9qIANxRXEEfyACQQFBICACQX9qZ2t0IAJBAkkbBSACEIsLCyICIAEgASACSRsiASADSQRAIAAgARD0FgsLCws4AQF/IABBDBBPIgQ2AgAgACABQQhqNgIEIAQgAygCADYCCCAAQQE6AAggBCACNgIEIARBADYCAAsK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BEH/A3FBogdqEQAACyACQQA2AgAgAEEQaiIBKAIAIgAEQCAAIAAoAgAoAgRB/wNxQaIHahEAAAsgAUEANgIACxcAIABBNGoQzAcgAEEYahD2CCAAENEKCwwAIAAgASkCTDcCAAs0ACABQX9KBEAgACgCACABSgRAIAAoAgggAUEUbGoPCwtBr4QdQdCEHUHVBUG12SAQAUEAC0QBAX8gACABEO0CIAAgATYCACAAQQhqIQNBACEAA0AgACABSARAIAMoAgAgAEECdGogAigCADYCACAAQQFqIQAMAQsLCysAIABB/wFxQRh0IABBCHVB/wFxQRB0ciAAQRB1Qf8BcUEIdHIgAEEYdnILggEBA38gAiABayIDQW9LBEAQBAsgA0ELSQRAIAAgAzoACwUgACADQRBqQXBxIgUQciIENgIAIAAgBUGAgICAeHI2AgggACADNgIEIAQhAAsgACEEA0AgASACRwRAIAQgASwAABCcASABQQFqIQEgBEEBaiEEDAELCyAAIANqQQAQnAELQwEBfyAAQgA3AgAgAEEANgIIIAAgASgCACABIAEsAAsiAEEASCIDGyABKAIEIABB/wFxIAMbIgAgAiAAIAJJGxCmAQuWCgELfyMGIQgjBkEQaiQGIAhBCGohECAIQQRqIREgCCIOQQxqIg0gAxDrASANKAIAQajS+QAQygEhCyANENsBIARBADYCACABIQhBACEBAkACQANAAkAgBiAHRyABRXFFBEAgAiEBDAELIAgiAQR/QQAgASABKAIMIgggASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAIKAIACxBvIgkbIQhBACABIAkbIQxBACABIAkbBUEAIQhBASEJIAEhDEEACyEKAn8CQCACBH8gAigCDCIBIAIoAhBGBH8gAiACKAIAKAIkQf8BcUEGahEFAAUgASgCAAsQbwR/QQAhAgwCBSAJBH8gAgUgAiEBDAcLCwUMAQsMAQsgCQR/QQAhAQwEBUEACwshAQJAIAsgBigCAEEAIAsoAgAoAjRB/wBxQZAEahECAEH/AXFBJUYEfyAGQQRqIgkgB0YNBAJAAkAgCyAJKAIAQQAgCygCACgCNEH/AHFBkARqEQIAIghBGHRBGHVBMGsiDwRAIA9BFUcNAQsgBkEIaiIGIAdGDQYgCCEKIAsgBigCAEEAIAso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FAsgACgCDCAEaiABIAIQbRogAEEEaiIAIAAoAgAgAmo2AgALrgkBAn8CQCAAQRRqIgIoAgBB5ABHBEAgACgCAEEVNgIUIAAoAgAgAigCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgACABNgJQIABB9AFqIgNBADYCACAAQYACaiICQQA2AgACQAJAAkACQAJAAkACQCABDgYFAAECAwQGCyADQQE2AgAgAEEBNgJMIAAoAlQiAEEBNgIAIABBATYCCCAAQQE2AgwgAEEANgIQIABBADYCFCAAQQA2AhgPCyACQQE2AgAgAEEDNgJMIABB1ABqIgEoAgAiAEHSADYCACAAQQE2AgggAEEBNgIMIABBADYCECAAQQA2AhQgAEEANgIYIAEoAgAiAEHHADYCWCAAQQE2AmAgAEEBNgJkIABBADYCaCAAQQA2AmwgAEEANgJwIAEoAgAiAEHCADYCsAEgAEEBNgK4ASAAQQE2ArwBIABBADYCwAEgAEEANgLEASAAQQA2AsgBDwsgA0EBNgIAIABBAzYCTCAAQdQAaiIBKAIAIgBBATYCACAAQQI2AgggAEECNgIMIABBADYCECAAQQA2AhQgAEEANgIYIAEoAgAiAEECNgJYIABBATYCYCAAQQE2AmQgAEEBNgJoIABBATYCbCAAQQE2AnAgASgCACIAQQM2ArABIABBATYCuAEgAEEBNgK8ASAAQQE2AsABIABBATYCxAEgAEEBNgLIAQ8LIAJBATYCACAAQQQ2AkwgAEHUAGoiASgCACIAQcMANgIAIABBATYCCCAAQQE2AgwgAEEANgIQIABBADYCFCAAQQA2AhggASgCACIAQc0ANgJYIABBATYCYCAAQQE2AmQgAEEANgJoIABBADYCbCAAQQA2AnAgASgCACIAQdkANgKwASAAQQE2ArgBIABBATYCvAEgAEEANgLAASAAQQA2AsQBIABBADYCyAEgASgCACIAQcsANgKIAiAAQQE2ApACIABBATYClAIMAwsgAkEBNgIAIABBBDYCTCAAQdQAaiIBKAIAIgBBATYCACAAQQI2AgggAEECNgIMIABBADYCECAAQQA2AhQgAEEANgIYIAEoAgAiAEECNgJYIABBATYCYCAAQQE2AmQgAEEBNgJoIABBATYCbCAAQQE2AnAgASgCACIAQQM2ArABIABB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AADwPwUgAEQAAAAAAAAAABCOCQsFIAAgAKEgAkH//7//B0sNARoCQAJAAkACQCAAIAEQhA5BA3EOAwABAgMLIAErAwAgASsDCBCOCQwECyABKwMAIAErAwhBARCNCZoMAwsgASsDACABKwMIEI4JmgwCCyABKwMAIAErAwhBARCNCQsLIQMgASQGIAMLogEBA38CQCABKAJMQQBOBEAgAEH/AXEhAyAAQf8BcSABLABLRwRAIAFBFGoiBCgCACICIAEoAhBJBEAgBCACQQFqNgIAIAIgAzoAAAwDCwsgASAAEJgTGgwBCyAAQf8BcSEDIABB/wFxIAEsAEtHBEAgAUEUaiIEKAIAIgIgASgCEEkEQCAEIAJBAWo2AgAgAiADOgAADAILCyABIAAQmBMaCwsQACAAQQEgABBjIAEQrAEaCwsAIAAgARCbICAAC4YBAgJ/AX4gAKchAiAAQv////8PVgRAA0AgAUF/aiIBIAAgAEIKEJQLIgRCdn58p0H/AXFBMHI6AAAgAEL/////nwFWBEAgBCEADAELCyAEpyECCyACBEADQCABQX9qIgEgAiACQQoQZiIDQXZsakEwcjoAACACQQpPBEAgAyECDAELCwsgAQuCAwEDfyMGIQQjBkGAAWokBiAEQfwAaiEFIARBvLcWKQIANwIAIARBxLcWKQIANwIIIARBzLcWKQIANwIQIARB1LcWKQIANwIYIARB3LcWKQIANwIgIARB5LcWKQIANwIoIARB7LcWKQIANwIwIARB9LcWKQIANwI4IARBQGtB/LcWKQIANwIAIARBhLgWKQIANwJIIARBjLgWKQIANwJQIARBlLgWKQIANwJYIARBnLgWKQIANwJgIARBpLgWKQIANwJoIARBrLgWKQIANwJwIARBtLgWKAIANgJ4AkACQCABQX9qQf7///8HTQ0AIAEEf0HIxfkAQcsANgIAQX8FIAUhAEEBIQEMAQshAAwBCyAEQX4gAGsiBSABIAEgBUsbIgE2AjAgBEEUaiIFIAA2AgAgBCAANgIsIARBEGoiBiAAIAFqIgA2AgAgBCAANgIcIAQgAiADEJEJIQAgAQRAIAUoAgAiASABIAYoAgBGQR90QR91akEAOgAACwsgBCQGIAALuQEBAX8gAEUEQEF+DwsgACgCHCIBRQRAQX4PCyABQQA2AhwgAEEANgIU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AgAEQCADIAEQuAkLIAQoAggiAQRAIAEQTAsgBBBMIABBADYCACACJAYLvwEBAn8gAEUEQEH2piBB3pQeQQAQShpBAA8LIAFBAkYEQCAAQQhqIgEgASgCAEEBajYCACAADwsgAUEBRiEDAkACQAJAIAFBAWsOAwABAAELDAELQa+1HkHelB5BABBKGkEADwsgACgCBBDcBCIBRQRAQeeUHkHelB5BABBKGkEADwsDQCACIAAoAgBOBEAgASEABSABIAMEfyAAIAJBARCdBAUgACACQQIQnQQLQQAQ1AUgAkEBaiECDAELCyAACy4AIAQEQCAEIABBGHQgAUEQdHIgAkEIdHIgA3I2AgAFQaGLHkGQvBFBARBKGgsLHAAgAARAIAAgATYCHAVBnMMfQdCGHkEBEEoaCwscACAABH8gACgCHAVBnMMfQduGHkEAEEoaQQALC3ABAn8gAEUEQEGFyx5BuoYeQQEQShoPCyABRSACQQFIcgRADwsDQAJAIAMgAk4NACABIANqLAAAIgRFDQAgACADaiAEOgAAIANBAWohAwwBCwsDQCADIAJIBEAgACADakEAOgAAIANBAWohAwwBCwsLHwAgAARAIABBKGogARDXJAVBnMMfQeWFHkEBEEoaCwscACAABH8gACgCKAVBnMMfQcWGHkEAEEoaQQALCwkAIAAgARCWAQsKACAAQQp2QQFxC4IBAQN/An8gAQR/IAJBf2pBHUsgASwAACIERXIEf0EABSAAIQMgBCEAA0ACQEEAIAMoAgAiA0UNBBogBUEBaiIFIAJODQAgASAFaiwAACIERQ0AIAMgAEH/AXFBA3RqIQMgBCEADAELCyADIABB/wFxQQN0aigCBEF/SgsFQQALCyIACw0AIAAgASABEGMQkxULtwIBB38gACgCpAMhAiAAEJcVQf8BIAAQ5wIgAUHQAWogABDnAiAAQaACaiEFIABB6AJqIQYgAEHwAmohByAAQewCaiEIA0AgAyAFKAIASARAIABBpAJqIANBAnRqKAIAIQQgBigCAEUEQCAHKAIARQRAIAJBzABqIAQoAhRBAnRqKAIAIgFCADcAACABQgA3AAggAUIANwAQIAFCADcAGCABQgA3ACAgAUIANwAoIAFCADcAMCABQgA3ADggAkEkaiADQQJ0akEANgIAIAJBNGogA0ECdGpBADYC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ADcAICACQgA3ACggAkIANwAwIAJCADcAOCABQRRqIANBAnRqQQA2AgAgAUEkaiADQQJ0akEANgIAIAQoAgAEQCAFKAIADQEFIAgoAgANAQsMAQsgAUH4AGogBigCGEECdGooAgBBAEGAAhCMARoLIANBAWohAwwBCwsgAUEANgIIIAFBADYCDCABQXA2AhAgASAAKAKYAjYCNAu4AQEFfyABQQFIIABBBGoiBSgCACABTnJFBEBBfyABQQQgAUEEShsiAkEDdCACQf////8BSxsQTyEDIAIEQCADIAJBA3RqIQQgAyEBA0AgARB5IAFBCGoiASAERw0ACwsgACgCACEEIABBCGoiBigCACEBQQAhAANAIAAgBEgEQCADIABBA3RqIAEgAEEDdGopAQA3AQAgAEEBaiEADAELCyABBEAgARBMCyAGIAM2AgAgBSACNgIACwszAQJ/IABBBGoiASgCACICBEAgACACKAIoQf8DcUGiB2oRAAALIAFBADYCACAAQQA2AhQLxAEBA38gAEGACWoiAiACKAIAIABB/AhqIgQuAQAiAiABIAJB//8DcSABQf//A3FIG0H//wNxIgNqNgIAIAQgAkH//wNxIANrQf//A3EiAjsBACABQf//A3EgA2tB//8DcSIBRQRADwsgAkH//wNxBEBBmOEdQdTQHUHwD0Gu4R0QAQsgAEHwCGoiAiACKAIAIABB+AhqIgMoAgAiAkH//wNxIAEgASACSxsiAWo2AgAgAyACIAFrNgIAIABB9AhqQQA6AAALEgAgACABIAEQY0EBakEBEIUICwkAIAAgARCNBgsDAAELKwEBfyAAQSBqIgIgAhCgAygCACABahC5ASAAQRxqIgAgACgCAEEBajYCAAudAQEDfyMGIQQjBkHgAGokBiABLAALQQBIBEAgASgCACEBCyAEQdAAaiEGIARBQGshBSADQX9KBEAgBSABNgIAIAUgAjYCBCAFIAM2AgggBEE/QaDmHCAFEKgBGgUgBiABNgIAIAYgAjYCBCAEQT9BqeYcIAYQqAEaCyAEQQA6AD8gAEHt5BwQbBogACAEEGwaIABBmOIcEGwaIAQkBgsPACAABH8gACgCBAVBAAsLEwAgACwAcAR/IAAsAHFFBUEACwsvAQF/IAAiBBClCCAEQfymFjYCACAEQQA2AhwgBCABIAIgAxDO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ACICBEAgAkF8aiIDKAIAIgEEQCACIAFB8ABsaiEBA0AgAUGQf2oiARCBEiABIAJHDQALCyADEEwLIABBADYCAAsgAEEANgIYIABBADYCDCAAQQA2AgggAEEEahDtHCAAQRxqIgBCADcCACAAQgA3AgggAEIANwIQIABCADcCGCAAQgA3AiAgAEIANwIoC0oBA38gAEEIaiEDA0AgASAAKAIASARAIAMoAgAgAUECdGooAgAiAgRAIAIgAigCACgCBEH/A3FBogdqEQAACyABQQFqIQEMAQsLCx0AIAAgAUEYdEEYdSAALAAAakH//wNxENMGGiAACysBAX8gABDxASAAQQRqEPEBIABBCGoiAUIANwIAIAFCADcCCCABQgA3AhALGwAgACABLgEAIAEuAQYgAS4BBCABLgECEJUCC5YBAQJ/IAAQjgUgACABLAAEOgAEIAAgASgCEDYCECAAIAEoAgA2AgAgACABKAIINgIIIAEoAgwiAgRAQQgQTyIDIAIpAgA3AgAgACADNgIMBSAAQQA2AgwLIAAgASgCHDYCHCAAIAEoAiA2AiAgACABKAIkNgIkIAAgASgCKDYCKCAAIAEoAiw2AiwgACABKAIwNgIwIAALvQEBCH8gACAAKAIQIggoAQA2AQggCCEBQYGAgIB4IQJBgYCAgHghA0H/////ByEEQf////8HIQUDQAJAAkAgASwACBCJAUUNACABKAIQLAAIEIkBRQ0ADAELIAEuAQIiBiACIAIgBkgbIQIgAS4BACIHIAMgAyAHSBshAyAGIAQgBCAGShshBCAHIAUgBSAHShshBQsgASgCDCIBIAhHDQALIAAgBTsBACAAIAI7AQIgACADOwEEIAAgBDsBBgt6AQZ/IAAoAhAiASECIAEuAQIhBSABLgEAIQMDQCACIAIoAgwiBC4BACIGQf//A3EgA0H//wNxazsBBCACIAQuAQIiA0H//wNxIAVB//8DcWs7AQYgBCABRwRAIAQhAiADIQUgBiEDDAELCyAAIAEoAQA2AQggABDaCgsNACAAKAIQIAFsIAJqCw0AIAAoAhAgACgCDGwLGwEBfyAAQcyWFjYCACAAKAIEIgEEQCABEEwLC3sBAX8gACAAKwMARAAAAAAAAPA/oDkDACAAQQhqIgMgAysDACABoDkDACAAQRBqIgMgAysDACACoDkDACAAQRhqIgMgASABoiADKwMAoDkDACAAQSBqIgMgASACoiADKwMAoDkDACAAQShqIgAgAiACoiAAKwMAoDkDAAsGAEEXEAkLBgBBExAJCwgAQRIQCUIACwgAQQ8QCUEACwgAQQ4QCUEACwgAQQgQCUEACwgAQQcQCUEACzoBAnwgACsDACIBRAAAAAAAAAAAZAR8IAArAyggACsDECICIAKiIAGjoSABowVEAAAAAAAAAAALIgELFgAgACABIAOSOAIAIAAgAiAEkjgCBAvpAQEEfyAAQQtqIgcsAAAiBEEASCIFBH8gACgCBAUgBEH/AXELIgYgAUkEQBAECyAFBH8gACgCCEH/////B3FBf2oFQQoLIgQgBmsgA0kEQCAAIAQgBiADaiAEayAGIAFBACADIAIQ9goFIAMEQCAFBH8gACgCAAUgAAsiBCABaiEFIAYgAWsiAQRAIAUgA2ogBSABENEEGiACIANqIAIgBSACTSAEIAZqIAJLcRshAgsgBSACIAMQ0QQaIAYgA2ohASAHLAAAQQBIBEAgACABNgIEBSAHIAE6AAALIAQgAWpBABCcAQsLIAALmAIBCH8gACgCACEHIAFBBGohBCAAQQRqIgYoAgAhAgNAIAIgB0cEQCAEKAIAIgNBcGoiBUEANgIAIANBdGoiCEEANgIAIANBeGoiCUEANgIAIANBfGogAkF8aigCADYCACAFIAJBcGoiAygCADYCACAIIAJBdGoiBSgCADYCACAJIAJBeGoiAigCADYCACACQQA2AgAgBUEANgIAIANBADYCACAEIAQoAgBBcGo2AgAgAyECDAELCyAAKAIAIQIgACAEKAIANgIAIAQgAjYCACAGKAIAIQIgBiABQQhqIgMoAgA2AgAgAyACNgIAIABBCGoiACgCACECIAAgAUEMaiIAKAIANgIAIAAgAjYCACABIAQoAgA2AgALVgEBfyAAQQxqIgRBADYCACAAIAM2AhAgACABBH8gAygCACABQQR0EKMSBUEACyIDNgIAIAAgAyACQQR0aiICNgIIIAAgAjYCBCAEIAMgAUEEdGo2AgALMwEBfyAAIAFHBEAgACABKAIAIAEgASwACyIAQQBIIgIbIAEoAgQgAEH/AXEgAhsQqRILC2sBAX8gAEIANwIAIABBADYCCANAIAFBA0cEQCAAIAFBAnRqQQA2AgAgAUEBaiEBDAELCyAAQQxqIgFCADcCACABQQA2AghBACEAA0AgAEEDRwRAIAEgAEECdGpBADYCACAAQQFqIQAMAQsLC1EAIABCADcCACAAQQA2AgggACABQQwQpgEgAEEMaiIBQgA3AgAgAUEANgIIQQAhAANAIABBA0cEQCABIABBAnRqQQA2AgAgAEEBaiEADAELCwtRACAAQgA3AgAgAEEANgIIIAAgAUEOEKYBIABBDGoiAUIANwIAIAFBADYCCEEAIQADQCAAQQNHBEAgASAAQQJ0akEANgIAIABBAWohAAwBCwsL5wMBA38jBiEEIwZBEGokBgJAIAEgAGtBAUoEQAJAAkAgACwAACIDQeQAaw4MAAEBAQEBAQEBAQEAAQsgACwAAUHuAEYEQCAAQQJqIQUgA0HvAEcEQCAAIAUgASACEMEdIgAgACAFRhshAAwECyAFIAEgAhDjDSIDIAVGDQMgAyABIAIQ/wQiACADRgRAIAMhAAwECyACQQRqIgMoAgAiASACKAIAa0EYEE5BAkkNAyAEIAFBaGoQrwEgAygCACECQQAhAQNAIAFBf0cEQCACIAFBf2oiAUEYbGoQaQwBCwsgAyACQWhqNgIAIAJBUGogBCgCACAEIAQsAAsiAUEASCICGyAEKAIEIAFB/wFxIAIbELYBGiAEEFQMAwsLIAAgASACEOUNIgMgAEYEQCAAIAEgAhDjDSIDIABHBEAgAyABIAIQ/wQiACADRgRAIAMhAAUgAkEEaiIDKAIAIgEgAigCAGtBGBBOQQJPBEAgBCABQWhqEK8BIAMoAgAhAkEAIQEDQCABQX9HBEAgAiABQX9qIgFBGGxqEGkMAQsLIAMgAkFoajYCACACQVBqIAQoAgAgBCAELAALIgFBAEgiAhsgBCgCBCABQf8BcSACGxC2ARogBBBUCwsLBSADIQALCwsgBCQGIAALUQAgAEIANwIAIABBADYCCCAAIAFBBRCmASAAQQxqIgFCADcCACABQQA2AghBACEAA0AgAEEDRwRAIAEgAEECdGpBADYCACAAQQFqIQAMAQsLCwcAIAAoAhALiwcBB38jBiEDIwZBIGokBgJAIAEgAGtBAUoEQCAALAAAQdMARgRAAkACQAJAAkACQAJAAkACQCAALAABIgZB3wBrDhUGBwABBwUHBwcHAwcHBwcHBAcHBwIHCyADQf7fIBDvCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwJCyADQY3gIBDiDSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwICyADQYTcIBDTByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwHCyADQeTcIBDuCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwGCyADQbHdIBDuCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwFCyADQf7dIBDbDSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAmohAAwECyACKAIQIgEgAigCFEYNAyABKAIEIQUgAkEEaiEGIAJBCGohBCABKAIAIQcDQCAHIAVHBEAgBigCACIBIAQoAgBGBEAgAiAHEM8EBSABIAcQlAQgBiAGKAIAQRhqNgIACyAHQRhqIQcMAQsLIABBAmohAAwDCyAGQVBqIgVBCkkiBEUEQCAGELcTRQ0DCyAAQQJqIQggBSAGQUlqIAQbIQkDQAJAIAggAUYNBCAILAAAIgYiB0FQaiIFQQpJIgRFBEAgBxC3E0UNAQsgCEEBaiEIIAUgB0FJaiAEGyAJQSRsaiEJDAELCyAGQd8ARw0CIAlBAWoiBiACKAIUIAIoAhAiBWtBBHVPDQIgBSAGQQR0aigCBCEEIAJBBGohByACQQhqIQEgBSAGQQR0aigCACEFA0AgBSAERwRAIAcoAgAiACABKAIARgRAIAIgBRDPBAUgACAFEJQEIAcgBygCAEEYajYCAAsgBUEYaiEFDAELCyAIQQFqIQALCwsgAyQGIAALdQEDfyAAQgA3AgAgAEEANgIIA0AgA0EDRwRAIAAgA0ECdGpBADYCACADQQFqIQMMAQsLIAEsAAsiBEEASCEDIAEoAgQgBEH/AXEgAxshBCACEGMhBSAAIAEoAgAgASADGyAEIAQgBWoQrhIgACACIAUQtgEaC5EBAQJ/IAJBADYCACAAIAFHBEAgACwAACIBQfIARgR/IAJBBDYCACAAQQFqIgEhACABLAAAIQFBBAVBAAshAyABQf8BcUHWAEYEQCACIANBAnIiATYCACAAQQFqIgMhACADLAAAIQQFIAEhBCADIQELIARB/wFxQcsARgRAIAIgAUEBcjYCACAAQQFqIQALCyAAC9wBAQJ/QW4gAWsgAkkEQBAECyAALAALQQBIBH8gACgCAAUgAAshCCABQef///8HSQR/QQsgAUEBdCIJIAIgAWoiAiACIAlJGyICQRBqQXBxIAJBC0kbBUFvCyIJEHIhAiAEBEAgAiAIIAQQ5AIaCyAGBEAgAiAEaiAHIAYQ5AIaCyADIAVrIgMgBGsiBwRAIAIgBGogBmogCCAEaiAFaiAHEOQCGgsgAUEKRwRAIAgQTAsgACACNgIAIAAgCUGAgICAeHI2AgggACADIAZqIgA2AgQgAiAAakEAEJwBCw4AIAAgASACQQR0ELMSC1IBA38gACgCACICBEAgAEEEaiIDKAIAIQEDQCABIAJHBEAgAUFwaiIBEL4CDAELCyADIAI2AgAgACgCDCAAKAIAIgEgACgCCCABa0EEdRD3CgsLCwAgAEHc1BY2AgALUQECfyAAKAIEIgZBCHUhBSAGQQFxBEAgAigCACAFaigCACEFCyAAKAIAIgAgASACIAVqIANBAiAGQQJxGyAEIAAoAgAoAhhBP3FB7A1qERMACzIAIAFEAAAAAAAAAABkBEAgACACIAGjtiADIAGjthCkAQUgAEMAAAAAQwAAAAAQpAELC6IBAQV/IABBCGoiAkEDaiIELAAAIgNBAEgiBQR/IAAoAgQhAyACKAIAQf////8HcUF/agUgA0H/AXEhA0EBCyECAkACQCADIAJGBEAgACACQQEgAiACELoSIAQsAABBAEgNAQUgBQ0BCyAEIANBAWo6AAAMAQsgACgCACEGIAAgA0EBajYCBCAGIQALIAAgA0ECdGoiACABEFAgAEEEakEAEFALHQEBfyAAIAE2AgAgAUEEaiICIAIoAgBBAWo2AgALowECAn8BfSMGIQQjBkEQaiQGIAQgASgCFCADENoBIAAgBC4BACIFskMAAAA/lCACLgEAspIgBC4BArJDAAAAP5QgAi4BArKSEKQBIAEoAhgiAQRAIAEgA0EDbGosAAEiAgRAIAEgA0EDbGosAACyIAJB/wFxspUhBiAFQf//A3EEQCAAIAYgACoCBJIQlgMFIAAgBiAAKgIAkhCXBAsLCyAEJAYLXwEDfyMGIQMjBkEQaiQGIAAgASgBDDYBACABQRRqIQQgA0ECaiEFQQAhAQNAIAEgAkgEQCADIAQoAgAgARDaASAAIAMuAQAgBS4BABDoARogAUEBaiEBDAELCyADJAYLCQAgAEEANgAACwgAQf////8HCwUAQf8AC4wGAQp/IwYhCyMGQRBqJAYgBigCAEGo0vkAEMoBIQkgCyAGKAIAQbDS+QAQygEiCiAKKAIAKAIUQf8AcUGsC2oRAwAgC0EEaiIPKAIAIAtBC2oiDiwAACIGQf8BcSAGQQBIGwRAIAUgAzYCAAJAIAICfwJAAkAgACwAACIGQStrDgMAAQABCyAJIAYgCSgCACgCLEH/AXFBkAJqEQEAIQYgBSAFKAIAIgdBBGo2AgAgByAGNgIAIABBAWoMAQsgAAsiBmtBAUoEQCAGLAAAQTBGBEAgBkEBaiIHLAAAQdgAayIIBEAgCEEgRw0DCyAJQTAgCSgCACgCLEH/AXFBkAJqEQEAIQggBSAFKAIAIgxBBGo2AgAgDCAINgIAIAkgBywAACAJKAIAKAIsQf8BcUGQAmoRAQAhByAFIAUoAgAiCEEEajYCACAIIAc2AgAgBkECaiEGCwsLAkAgBiACRwRAIAIhByAGIQgDQCAIIAdBf2oiB08NAiAILAAAIQwgCCAHLAAAOgAAIAcgDDoAACAIQQFqIQgMAAALAAsLIAogCigCACgCEEH/AXFBBmoRBQAhDCAGIQhBACEHQQAhCgNAIAggAkkEQCALKAIAIAsgDiwAAEEASBsgB2osAAAiDUEARyAKIA1GcQRAIAUgBSgCACIKQQRqNgIAIAogDDYCACAHIAcgDygCACAOLAAAIgdB/wFxIAdBAEgbQX9qSWohB0EAIQoLIAkgCCwAACAJKAIAKAIsQf8BcUGQAmoRAQAhDSAFIAUoAgAiEEEEajYCACAQIA02AgAgCEEBaiEIIApBAWohCgwBCwsgAyAGIABrQQJ0aiIHIAUoAgAiBkYEfyAHBQNAIAcgBkF8aiIGSQRAIAcoAgAhCCAHIAYoAgA2AgAgBiAINgIAIAdBBGohBwwBCwsgBSgCAAshBQUgCSAAIAIgAyAJKAIAKAIwQT9xQZAFahEcABogBSADIAIgAGtBAnRqIgU2AgALIAQgBSADIAEgAGtBAnRqIAEgAkYbNgIAIAsQVCALJAYLgwYBCn8jBiELIwZBEGokBiAGKAIAQYjS+QAQygEhCSALIAYoAgBBmNL5ABDKASIKIAooAgAoAhRB/wBxQawLahEDACALQQRqIg8oAgAgC0ELaiIOLAAAIgZB/wFxIAZBAEgbBEAgBSADNgIAAkAgAgJ/AkACQCAALAAAIgZBK2sOAwABAAELIAkgBiAJKAIAKAIcQf8BcUGQAmoRAQAhBiAFIAUoAgAiB0EBajYCACAHIAY6AAAgAEEBagwBCyAACyIGa0EBSgRAIAYsAABBMEYEQCAGQQFqIgcsAABB2ABrIggEQCAIQSBHDQMLIAlBMCAJKAIAKAIcQf8BcUGQAmoRAQAhCCAFIAUoAgAiDEEBajYCACAMIAg6AAAgCSAHLAAAIAkoAgAoAhxB/wFxQZACahEBACEHIAUgBSgCACIIQQFqNgIAIAggBzoAACAGQQJqIQYLCwsCQCAGIAJHBEAgAiEHIAYhCANAIAggB0F/aiIHTw0CIAgsAAAhDCAIIAcsAAA6AAAgByAMOgAAIAhBAWohCAwAAAsACwsgCiAKKAIAKAIQQf8BcUEGahEFACEMIAYhCEEAIQdBACEKA0AgCCACSQRAIAsoAgAgCyAOLAAAQQBIGyAHaiwAACINQQBHIAogDUZxBEAgBSAFKAIAIgpBAWo2AgAgCiAMOgAAIAcgByAPKAIAIA4sAAAiB0H/AXEgB0EASBtBf2pJaiEHQQAhCgsgCSAILAAAIAkoAgAoAhxB/wFxQZACahEBACENIAUgBSgCACIQQQFqNgIAIBAgDToAACAIQQFqIQggCkEBaiEKDAELCyADIAYgAGtqIgcgBSgCACIGRgR/IAcFA0AgByAGQX9qIgZJBEAgBywAACEIIAcgBiwAADoAACAGIAg6AAAgB0EBaiEHDAELCyAFKAIACyEFBSAJIAAgAiADIAkoAgAoAiBBP3FBkAVqERwAGiAFIAMgAiAAa2oiBTYCAAsgBCAFIAMgASAAa2ogASACRhs2AgAgCxBUIAskBgvvAQEFfyACQYAQcQRAIABBKzoAACAAQQFqIQALIAJBgAhxBEAgAEEjOgAAIABBAWohAAsgAkGEAnEiA0GEAkYiBAR/QQAFIABBLjoAACAAQSo6AAEgAEECaiEAQQELIQcgAkGAgAFxIQIDQCABLAAAIgYEQCAAIAY6AAAgAUEBaiEBIABBAWohAAwBCwsgAAJ/AkACQCADQQRrIgEEQCABQfwBRgRADAIFDAMLAAsgAkEJdkH/AXFB5gBzDAILIAJBCXZB/wFxQeUAcwwBCyACQQl2Qf8BcSEBIAFB4QBzIAFB5wBzIAQbCyIBOgAAIAcLmQgBDX8jBiEPIwZB8ABqJAYgDyEKIAMgAmtBDBBOIglB5ABLBEAgCRByIgoEQCAKIgshEQUQBAsFIAohCwsgCSEKIAIhCSALIQgDQCAJIANHBEAgCSwACyIMQQBIBH8gCSgCBAUgDEH/AXELBEAgCEEBOgAABSAIQQI6AAAgB0EBaiEHIApBf2ohCgsgCUEMaiEJIAhBAWohCAwBCwtBACEMIAchCQNAAkAgACgCACIHBH8gBygCDCIIIAcoAhBGBH8gByAHKAIAKAIkQf8BcUEGahEFAAUgCCgCAAsQbwR/IABBADYCAEEBBSAAKAIARQsFQQELIQ0gAQR/QQAgASABKAIMIgcgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAHKAIACxBvIgcbIRBBACABIAcbBUEAIRBBASEHQQALIQggACgCACEBIApBAEcgDSAHc3FFDQAgASgCDCIHIAEoAhBGBH8gASABKAIAKAIkQf8BcUEGahEFAAUgBygCAAshASAGBH8gAQUgBCABIAQoAgAoAhxB/wFxQZACahEBAAshEiAMQQFqIQ0gAiEIQQAhByALIQ4gCSEBA0AgCCADRwRAAkAgDiwAAEEBRgRAIAhBC2oiEywAAEEASAR/IAgoAgAFIAgLIAxBAnRqKAIAIQkgBkUEQCAEIAkgBCgCACgCHEH/AXFBkAJqEQEAIQkLIBIgCUcEQCAOQQA6AAAgCkF/aiEKDAILIBMsAAAiB0EASAR/IAgoAgQFIAdB/wFxCyANRgRAIA5BAjoAACABQQFqIQEgCkF/aiEKC0EBIQcLCyAIQQxqIQggDkEBaiEODAELCwJAIAcEQCAAKAIAIgdBDGoiCSgCACIIIAcoAhBGBEAgByAHKAIAKAIoQf8BcUEGahEFABoFIAkgCEEEajYCAAsgASAKakEBSwRAIAIhByALIQkDQCAHIANGDQMgCSwAAEECRgRAIAcsAAsiCEEASAR/IAcoAgQFIAhB/wFxCyANRwRAIAlBADoAACABQX9qIQELCyAHQQxqIQcgCUEBaiEJDAAACwALCwsgDSEMIAEhCSAQIQEMAQsLIAEEfyABKAIMIgQgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAEKAIACxBvBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshAAJAAkACQCAIRQ0AIAgoAgwiASAIKAIQRgR/IAggCCgCACgCJEH/AXFBBmoRBQAFIAEoAgALEG8NACAARQ0BDAILIAANAAwBCyAFIAUoAgBBAnI2AgALAkACQANAIAIgA0YNASALLAAAQQJHBEAgAkEMaiECIAtBAWohCwwBCwsMAQsgBSAFKAIAQQRyNgIAIAMhAgsgERBMIA8kBiACC7UIAQ1/IwYhDyMGQfAAaiQGIA8hCiADIAJrQQwQTiIHQeQASwRAIAcQciIKBEAgCiILIREFEAQLBSAKIQsLIAchCiACIQkgCyEIQQAhBwNAIAkgA0cEQCAJLAALIgxBAEgEfyAJKAIEBSAMQf8BcQsEQCAIQQE6AAAFIAhBAjoAACAKQX9qIQogB0EBaiEHCyAJQQxqIQkgCEEBaiEIDAELC0EAIQwgByEJA0ACQCAAKAIAIgcEfyAHKAIMIgggBygCEEYEfyAHIAcoAgAoAiRB/wFxQQZqEQUABSAILAAAEIIBCxBvBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshDSABBH9BACABIAEoAgwiByABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAcsAAAQggELEG8iBxshEEEAIAEgBxsFQQAhEEEBIQdBAAshCCAAKAIAIQEgCkEARyANIAdzcUUNACABKAIMIgcgASgCEEYEfyABIAEoAgAoAiRB/wFxQQZqEQUABSAHLAAAEIIBC0H/AXEhASAGBH8gAQUgBCABIAQoAgAoAgxB/wFxQZACahEBAAshEiAMQQFqIQ0gAiEIQQAhByALIQ4gCSEBA0AgCCADRwRAAkAgDiwAAEEBRgRAIAhBC2oiEywAAEEASAR/IAgoAgAFIAgLIAxqLAAAIQkgBkUEQCAEIAkgBCgCACgCDEH/AXFBkAJqEQEAIQkLIBJB/wFxIAlB/wFxRwRAIA5BADoAACAKQX9qIQoMAgsgEywAACIHQQBIBH8gCCgCBAUgB0H/AXELIA1GBEAgDkECOgAAIAFBAWohASAKQX9qIQoLQQEhBwsLIAhBDGohCCAOQQFqIQ4MAQsLAkAgBwRAIAAoAgAiB0EMaiIJKAIAIgggBygCEEYEQCAHIAcoAgAoAihB/wFxQQZqEQUAGgUgCSAIQQFqNgIACyABIApqQQFLBEAgAiEHIAshCQNAIAcgA0YNAyAJLAAAQQJGBEAgBywACyIIQQBIBH8gBygCBAUgCEH/AXELIA1HBEAgCUEAOgAAIAFBf2ohAQsLIAdBDGohByAJQQFqIQkMAAALAAsLCyANIQwgASEJIBAhAQwBCwsgAQR/IAEoAgwiBCABKAIQRgR/IAEgASgCACgCJEH/AXFBBmoRBQAFIAQsAAAQggELEG8EfyAAQQA2AgBBAQUgACgCAEULBUEBCyEAAkACQAJAIAhFDQAgCCgCDCIBIAgoAhBGBH8gCCAIKAIAKAIkQf8BcUEGahEFAAUgASwAABCCAQsQbw0AIABFDQEMAgsgAA0ADAELIAUgBSgCAEECcjYCAAsCQAJAA0AgAiADRg0BIAssAABBAkcEQCACQQxqIQIgC0EBaiELDAELCwwBCyAFIAUoAgBBBHI2AgAgAyECCyAREEwgDyQGIAILCgAgAEEEahCJCQsKACAAQQhqEIkJCwQAQX8LyhEBB38CQCAAQdQBSQR/QdD5FUGQ+xUgABCEEygCAAVBkPsVQdD8FSAAIABB0gEQZiIGQdIBbCIBaxCEE0GQ+xVrQQJ1IQUDQCAFQQJ0QZD7FWooAgAgAWohAUEFIQACQAJAA0AgAEEvTw0BIAEgAEECdEHQ+RVqKAIAIgQQZiIDIARJBEAgASEADAYLIABBAWohACABIAMgBGxHDQALIAIhAAwBC0HTASEEIAIhAANAAkACQAJAAn8gASAEEGYiAiAESQR/IAQhAiABIQBBAQUgASACIARsRgR/IAQhAkEJBSABIARBCmoiAhBmIgMgAkkEfyABIQBBAQUgASADIAJsRgR/QQkFIAEgBEEMaiICEGYiAyACSQR/IAEhAEEBBSABIAMgAmxGBH9BCQUgASAEQRBqIgIQZiIDIAJJBH8gASEAQQEFIAEgAyACbEYEf0EJBSABIARBEmoiAhBmIgMgAkkEfyABIQBBAQUgASADIAJsRgR/QQkFIAEgBEEWaiICEGYiAyACSQR/IAEhAEEBBSABIAMgAmxGBH9BCQUgASAEQRxqIgIQZiIDIAJJBH8gASEAQQEFIAEgAyACbEYEf0EJBSABIARBHmoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQSRqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEEoaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBKmoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQS5qIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEE0aiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBOmoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQTxqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHCAGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQcYAaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARByABqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHOAGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQdIAaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARB2ABqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHgAGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQeQAaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARB5gBqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHqAGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQewAaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARB8ABqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEH4AGoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQf4AaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBggFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEGIAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQYoBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBjgFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEGUAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQZYBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBnAFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEGiAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQaYBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBqAFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEGsAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQbIBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBtAFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEG6AWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQb4BaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARBwAFqIgIQZiIDIAJJBEAgASEAQQEMDwtBCSABIAMgAmxGDQ4aIAEgBEHEAWoiAhBmIgMgAkkEQCABIQBBAQwPC0EJIAEgAyACbEYNDhogASAEQcYBaiICEGYiAyACSQRAIAEhAEEBDA8LQQkgASADIAJsRg0OGiABIARB0AFqIgIQZiIHIAJJIQMgAiAEQdIBaiADIAEgByACbEYiBHIbIQIgASAAIAMbIQBBAUEJQQAgBBsgAxsLCwsLCwsLCwsLCwsLCwsiBEEPcQ4KAQICAgICAgICAAILDAMLIAIhBAwBCwsgBA0DCyAAIQIgBiAFQQFqIgBBMEYiBGoiASEGIAFB0gFsIQFBACAAIAQbIQUMAAALAAshAAsgAAvnDAEGfwJAIAAgAWohBQJAIAAoAgQiA0EBcUUEQCAAKAIAIQIgA0EDcUUEQA8LIAIgAWohAUGAxvkAKAIAIAAgAmsiAEYEQCAFQQRqIgIoAgAiA0EDcUEDRw0CQfTF+QAgATYCACACIANBfnE2AgAgACABQQFyNgIEIAUgATYCAA8LIAJBA3YhBCACQYACSQRAIAAoAgwiAiAAKAIIIgNGBEBB7MX5AEHsxfkAKAIAQQEgBHRBf3NxNgIABSADIAI2AgwgAiADNgIICwwCCyAAKAIYIQcCQCAAKAIMIgIgAEYEQCAAQRBqIgNBBGoiBCgCACICBEAgBCEDBSADKAIAIgJFBEBBACECDAMLCwNAAkAgAkEUaiIEKAIAIgZFBEAgAkEQaiIEKAIAIgZFDQELIAQhAyAGIQIMAQsLIANBADYCAAUgACgCCCIDIAI2AgwgAiADNgIICwsgBwRAIAAoAhwiA0ECdEGcyPkAaiIEKAIAIABGBEAgBCACNgIAIAJFBEBB8MX5AEHwxfkAKAIAQQEgA3RBf3NxNgIADAQLBSAHQRBqIgMgB0EUaiADKAIAIABGGyACNgIAIAJFDQMLIAIgBzYCGCAAQRBqIgQoAgAiAwRAIAIgAzYCECADIAI2AhgLIAQoAgQiAwRAIAIgAzYCFCADIAI2AhgLCwsLIAVBBGoiAygCACICQQJxBEAgAyACQX5xNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgAgASEDBUGExvkAKAIAIAVGBEBB+MX5AEH4xfkAKAIAIAFqIgE2AgBBhMb5ACAANgIAIAAgAUEBcjYCBCAAQYDG+QAoAgBHBEAPC0GAxvkAQQA2AgBB9MX5AEEANgIADwtBgMb5ACgCACAFRgRAQfTF+QBB9MX5ACgCACABaiIBNgIAQYDG+QAgADYCACAAIAFBAXI2AgQgACABaiABNgIADwsgAkF4cSABaiEDIAJBA3YhBAJAIAJBgAJJBEAgBSgCDCIBIAUoAggiAkYEQEHsxfkAQezF+QAoAgBBASAEdEF/c3E2AgAFIAIgATYCDCABIAI2AggLBSAFKAIYIQcCQCAFKAIMIgEgBUYEQCAFQRBqIgJBBGoiBCgCACIBBEAgBCECBSACKAIAIgFFBEBBACEBDAMLCwNAAkAgAUEUaiIEKAIAIgZFBEAgAUEQaiIEKAIAIgZFDQELIAQhAiAGIQEMAQsLIAJBADYCAAUgBSgCCCICIAE2AgwgASACNgIICwsgBwRAIAUoAhwiAkECdEGcyPkAaiIEKAIAIAVGBEAgBCABNgIAIAFFBEBB8MX5AEHwxfkAKAIAQQEgAnRBf3NxNgIADAQLBSAHQRBqIgIgB0EUaiACKAIAIAVGGyABNgIAIAFFDQMLIAEgBzYCGCAFQRBqIgQoAgAiAgRAIAEgAjYCECACIAE2AhgLIAQoAgQiAgRAIAEgAjYCFCACIAE2AhgLCwsLIAAgA0EBcjYCBCAAIANqIAM2AgAgAEGAxvkAKAIARgRAQfTF+QAgAzYCAA8LCyADQQN2IQIgA0GAAkkEQCACQQN0QZTG+QBqIQFB7MX5ACgCACIDQQEgAnQiAnEEfyABQQhqIgMoAgAFQezF+QAgAyACcjYCACABQQhqIQMgAQshAiADIAA2AgAgAiAANgIMIAAgAjYCCCAAIAE2AgwPCyADQQh2IgEEfyADQf///wdLBH9BHwUgA0EOIAEgAUGA/j9qQRB2QQhxIgF0IgJBgOAfakEQdkEEcSIEIAFyIAIgBHQiAUGAgA9qQRB2QQJxIgJyayABIAJ0QQ92aiIBQQdqdkEBcSABQQF0cgsFQQALIgJBAnRBnMj5AGohASAAIAI2AhwgAEEANgIUIABBADYCEEHwxfkAKAIAIgRBASACdCIGcUUEQEHwxfkAIAQgBnI2AgAgASAANgIADAELAkAgASgCACIBKAIEQXhxIANGBH8gAQUgA0EAQRkgAkEBdmsgAkEfRht0IQQDQCABQRBqIARBH3ZBAnRqIgYoAgAiAgRAIARBAXQhBCACKAIEQXhxIANGDQMgAiEBDAELCyAGIAA2AgAMAgshAgsgAkEIaiIBKAIAIgMgADYCDCABIAA2AgAgACADNgIIIAAgAjYCDCAAQQA2AhgPCyAAIAE2AhggACAANgIMIAAgADYCCAvzDwMLfwJ+CHwCQAJAAkAgAb0iDUIgiKciBUH/////B3EiAyANpyIGckUEQEQAAAAAAADwPw8LIAC9Ig5CIIinIQcgDqciCEUiCiAHQYCAwP8DRnEEQEQAAAAAAADwPw8LIAdB/////wdxIgRBgIDA/wdNBEAgCEEARyAEQYCAwP8HRnEgA0GAgMD/B0tyRQRAIAZBAEcgA0GAgMD/B0YiC3FFBEACQAJAAkAgB0EASCIJRQ0AIANB////mQRLBH9BAiECDAEFIANB//+//wNLBH8gA0EUdiECIANB////iQRLBEBBAiAGQbMIIAJrIgJ2IgxBAXFrQQAgDCACdCAGRhshAgwDCyAGBH9BAAVBAiADQZMIIAJrIgJ2IgZBAXFrQQAgBiACdCADRhshAgwECwUMAgsLIQIMAgsgBkUNAAwBCyALBEAgBEGAgMCAfGogCHJFBEBEAAAAAAAA8D8PCyAFQX9KIQIgBEH//7//A0sEQCABRAAAAAAAAAAAIAIbDwVEAAAAAAAAAAAgAZogAhsPCwALIANBgIDA/wNGBEAgAEQAAAAAAADwPyAAoyAFQX9KGw8LIAVBgICAgARGBEAgACAAog8LIAdBf0ogBUGAgID/A0ZxBEAgAJ8PCwsgAJkhDyAKBEAgBEUgBEGAgICABHJBgIDA/wdGcgRARAAAAAAAAPA/IA+jIA8gBUEASBshACAJRQRAIAAPCyACIARBgIDAgHxqcgRAIACaIAAgAkEBRhsPCwwHCwsCfCAJBHwCQAJAAkAgAg4CAAECCwwJC0QAAAAAAADwvwwCC0QAAAAAAADwPwVEAAAAAAAA8D8LCyERAnwgA0GAgICPBEsEfCADQYCAwJ8ESwRAIARBgIDA/wNJBEAjC0QAAAAAAAAAACAFQQBIGw8FIwtEAAAAAAAAAAAgBUEAShsPCwALIARB//+//wNJBEAgEUScdQCIPOQ3fqJEnHUAiDzkN36iIBFEWfP4wh9upQGiRFnz+MIfbqUBoiAFQQBIGw8LIARBgIDA/wNNBEAgD0QAAAAAAADwv6AiAEQAAABgRxX3P6IiECAARETfXfgLrlQ+oiAAIACiRAAAAAAAAOA/IABEVVVVVVVV1T8gAEQAAAAAAADQP6KhoqGiRP6CK2VHFfc/oqEiAKC9QoCAgIBwg78iEiEPIBIgEKEMAgsgEUScdQCIPOQ3fqJEnHUAiDzkN36iIBFEWfP4wh9upQGiRFnz+MIfbqUBoiAFQQBKGw8FIA9EAAAAAAAAQEOiIgC9QiCIpyAEIARBgIDAAEkiBRshAkHMd0GBeCAFGyACQRR1aiEDIAJB//8/cSIEQYCAwP8DciECIARBj7EOSQRAQQAhBAUgBEH67C5JIgYhBCADIAZBAXNBAXFqIQMgAiACQYCAQGogBhshAgsgBEEDdEHA+RVqKwMAIhQgAq1CIIYgACAPIAUbvUL/////D4OEvyIQIARBA3RBoPkVaisDACISoSITRAAAAAAAAPA/IBIgEKCjIhWiIg+9QoCAgIBwg78iACAAIACiIhZEAAAAAAAACECgIA8gAKAgFSATIAJBAXVBgICAgAJyQYCAIGogBEESdGqtQiCGvyITIACioSAQIBMgEqGhIACioaIiEKIgDyAPoiIAIACiIAAgACAAIAAgAETvTkVKKH7KP6JEZdvJk0qGzT+gokQBQR2pYHTRP6CiRE0mj1FVVdU/oKJE/6tv27Zt2z+gokQDMzMzMzPjP6CioCISoL1CgICAgHCDvyIAoiITIBAgAKIgDyASIABEAAAAAAAACMCgIBahoaKgIg+gvUKAgICAcIO/IgBEAAAA4AnH7j+iIhAgBEEDdEGw+RVqKwMAIA8gACAToaFE/QM63AnH7j+iIABE9QFbFOAvPj6ioaAiAKCgIAO3IhKgvUKAgICAcIO/IhMhDyATIBKhIBShIBChCwshECAAIBChIAGiIAEgDUKAgICAcIO/IgChIA+ioCEBIA8gAKIiACABoCIPvSINQiCIpyECIA2nIQMgAkH//7+EBEoEQCACQYCAwPt7aiADciABRP6CK2VHFZc8oCAPIAChZHINBQUgAkGA+P//B3FB/5fDhARLBEAgAkGA6Lz7A2ogA3IgASAPIAChZXINBQsLIBEgAkH/////B3EiA0GAgID/A0sEfyAAQYCAQEGAgMAAIANBFHZBgnhqdiACaiIDQRR2Qf8PcSIEQYF4anUgA3GtQiCGv6EiDyEAIAEgD6C9IQ1BACADQf//P3FBgIDAAHJBkwggBGt2IgNrIAMgAkEASBsFQQALIgJBFHREAAAAAAAA8D8gDUKAgICAcIO/Ig9EAAAAAEMu5j+iIhAgASAPIAChoUTvOfr+Qi7mP6IgD0Q5bKgMYVwgPqKhIg+gIgAgACAAIACiIgEgASABIAEgAUTQpL5yaTdmPqJE8WvSxUG9u76gokQs3iWvalYRP6CiRJO9vhZswWa/oKJEPlVVVVVVxT+goqEiAaIgAUQAAAAAAAAAwKCjIA8gACAQoaEiASAAIAGioKEgAKGhIgC9Ig1CIIinaiIDQYCAwABIBHwgACACEIQFBSADrUIghiANQv////8Pg4S/CyIAog8LCwsgACABoA8LIBFEWfP4wh9upQGiRFnz+MIfbqUBog8LIBFEnHUAiDzkN36iRJx1AIg85Dd+og8LIAAgAKEiACAAowufAwMDfwF+BXwgAL0iBEIgiKchAQJ/IARCAFMiAiABQYCAwABJcgR/IARC////////////AINCAFEEQEQAAAAAAADwvyAAIACiow8LIAJFBEAgAEQAAAAAAABQQ6K9IgRCIIinIQEgBEL/////D4MhBEHLdwwCCyAAIAChRAAAAAAAAAAAow8FIAFB//+//wdLBEAgAA8LIARC/////w+DIgRCAFEgAUGAgMD/A0ZxBH9EAAAAAAAAAAAPBUGBeAsLCyEDIAFB4r4laiIBQf//P3FBnsGa/wNqrUIghiAEhL9EAAAAAAAA8L+gIgYgBkQAAAAAAADgP6KiIQcgBiAGRAAAAAAAAABAoKMiCCAIoiIJIAmiIQUgAyABQRR2arciAEQAAOD+Qi7mP6IgBiAARHY8eTXvOeo9oiAIIAcgBSAFIAVEn8Z40Amawz+iRK94jh3Fccw/oKJEBPqXmZmZ2T+goiAJIAUgBSAFRERSPt8S8cI/okTeA8uWZEbHP6CiRFmTIpQkSdI/oKJEk1VVVVVV5T+goqCgoqAgB6GgoAt9AQJ/IwYhASMGQRBqJAYgAL1CIIinQf////8HcSICQfzDpP8DSQRAIAJBgICA8gNPBEAgAEQAAAAAAAAAAEEAEJwTIQALBSACQf//v/8HSwR8IAAgAKEFIAAgARCEDiECIAErAwAgASsDCCACQQFxEJwTCyEACyABJAYgAAsRACAAKAJMGiAAIAEgAhCQEwtXAQN/IABBBGoiAiABQR9LBH8gAiAAKAIAIgM2AgAgAEEANgIAIAFBYGohAUEABSACKAIAIQMgACgCAAsiBEEgIAFrdiADIAF0cjYCACAAIAQgAXQ2AgALhAMBBn8jBiEIIwZB8AFqJAYgCEHoAWoiCiADNgIAIApBBGoiDCAENgIAIAggADYCAAJAAkAgA0EBRyAEcgRAQQAgAWshDSAAIAcgBUECdGooAgBrIgQgACACQf8BcUGQAmoRAQBBAU4EQEEBIQkgBkUhCyAAIQMgBCEAA0AgCyAFQQFKcQRAIAcgBUF+akECdGooAgAhBiADIA1qIgQgACACQf8BcUGQAmoRAQBBf0oEQCAJIQQgAyEADAULIAQgBmsgACACQf8BcUGQAmoRAQBBf0oEQCAJIQQgAyEADAULCyAJQQFqIQQgCCAJQQJ0aiAANgIAIAogChCqEyIDEJMLIAMgBWohBSAKKAIAQQFHIAwoAgBBAEdyRQ0DIAAgByAFQQJ0aigCAGsiBiAIKAIAIAJB/wFxQZACahEBAEEBSA0DIAAhAyAEIQlBASELIAYhAAwAAAsACwsgBkUEQEEBIQQMAQsMAQsgASAIIAQQqBMgACABIAIgBSAHEIYOCyAIJAYLWQEDfyAAQQRqIQIgACABQR9LBH8gACACKAIAIgM2AgAgAkEANgIAIAFBYGohAUEABSAAKAIAIQMgAigCAAsiBEEgIAFrdCADIAF2cjYCACACIAQgAXY2AgALEAAgAVAEfkIABSAAIAGACwt7AQV/IABFBEAPCyAAQRxqIgMoAgAiAUUEQA8LIABBJGoiBCgCACICRQRADwsgAEEoaiEAIAEoAjQiBQRAIAAoAgAgBSACQf8AcUGsC2oRAwAgBCgCACECIAMoAgAhAQsgACgCACABIAJB/wBxQawLahEDACADQQA2AgALngYBCX8CQAJAAkACQCMGIQQjBkEgaiQGIANFBEBBo6AgQdDMFEEBEEoaDAELIARBEGohBSAEQQxqIQcgBEEIaiEGIARBBGohCCADQQA2AgAgAARAIAAQfEEBRgRAIAAgBiAIQQAQkwECfyABBH8gBCABIAYoAgAgCCgCABDwFCIBNgIAIAEEQCABIAUgByAGIAgQ5QMgBBD3ASAFKAIAIQUgBygCAAwCC0G0oCBB0MwUQQEQShoMBAUgB0EANgIAIAVBADYCAEEAIQVBAAsLIQEgBSAGKAIAaiEGIAEgCCgCAGohByAAEHUhCyAAEHchDAJAAkACQAJAAkAgAg4EAAECAwQLA0ACQCAFIAZOBEBBASEJQS0hCgwBCyAFQQV1IQhBASAFQR9xQR9zdCECIAEhAANAIAAgB0gEQCALIAAgDGxBAnRqIAhBAnRqKAIAIAJxDQIgAEEBaiEADAELCyAFQQFqIQUMAQsLIApBLUYNByADIAU2AgAMCQsgBiEAA0ACQCAAQX9qIQIgACAFTARAQQEhCUEtIQoMAQsgAkEFdSEIQQEgAkEfcUEfc3QhBiABIQADQCAAIAdIBEAgCyAAIAxsQQJ0aiAIQQJ0aigCACAGcQ0CIABBAWohAAwBCwsgAiEADAELCyAKQS1GDQYMBwsDQAJAIAEgB04EQEEBIQlBLSEKDAELIAsgASAMbEECdGohAiAFIQADQCAAIAZIBEAgAiAAQQV1QQJ0aigCAEEBIABBH3FBH3N0cQ0CIABBAWohAAwBCwsgAUEBaiEBDAELCyAKQS1GDQUgAyABNgIADAcLIAchAANAAkAgAEF/aiECIAAgAUwEQEEBIQlBLSEKDAELIAsgAiAMbEECdGohByAFIQADQCAAIAZIBEAgByAAQQV1QQJ0aigCAEEBIABBH3FBH3N0cQ0CIABBAWohAAwBCwsgAiEADAELCyAKQS1GDQQMBQtBwKAgQdDMFEEBEEoaDAILC0HwnyBB0MwUQQEQShogBCQGQQEPCyAEJAZBAQ8LIAQkBiAJDwsgAyACNgIACyAEJAZBAAshACAAQQBKBEAgAQ8FQa+EHUHQhB1B1QVBtdkgEAELQQALOAEBfyAARQRAQaivIEHAyxRBABBKGkEADwsgACABEIMgIgIEQCACDwtBja4gQcDLFEEAEEoaQQAL2QQBA38jBiECIwZBEGokBiACQQhqIQQgAkEMaiEDAkAgAARAIAFBDEkEQEHwmiBB5ZogQQAQShpBACEADAILIAAgAxCmCRoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAgAOEwsAAQIDAwMDAwMDBAgFBgcJDAoMCyAAIAEQnQ4iAEUEQEGnyB9B5ZogQQAQShpBACEADA8LDAwLIAAgARCPISIARQRAQbzIH0HlmiBBABBKGkEAIQAMDgsMCwsgACABEI4hIgBFBEBB0sgfQeWaIEEAEEoaQQAhAAwNCwwKCyAAIAEQjSEiAEUEQEHnyB9B5ZogQQAQShpBACEADAwLDAkLIAAgARCMISIARQRAQf3IH0HlmiBBABBKGkEAIQAMCwsMCAsQ1hMiAEUEQEGSyR9B5ZogQQAQShpBACEADAoLDAcLQeH+HkGfmyBBABBKGkEAIgBFBEBB+pogQeWaIEEAEEoaDAkLDAYLQeH+HkGQmyBBABBKGkEAIgBFBEBBvMkfQeWaIEEAEEoaDAgLDAULIAJB5ZogNgIAQcS0FkHSyR8gAhBcQQAhAAwGCyAEQeWaIDYCAEHEtBZBhMofIAQQXEEAIQAMBQsgACABEIUUIgBFBEBBr8ofQeWaIEEAEEoaQQAhAAwFCwwCC0HFyh9B5ZogQQAQShpBACEADAMLQQAhAAwCCyADKAIAIgFBBEYEQCAAEHxBAUYEfyADQQg2AgBBCAUgAygCAAshAQsgACABENoFBUGoryBB5ZogQQAQShpBACEACwsgAiQGIAALoQEBA38jBiECIwZBEGokBiABQRh0QRh1IQMCfyABQf8BcUEKRgR/QQAFIABFBEBB4KEgQfOXIEEAEEoaQQAMAgsgACgCKCADQQJ0aigCACIBQX9GBEAgAkHzlyA2AgAgAiADNgIEQcS0FkH9lyAgAhBcQQAMAgsgACgCACIABH8gACABEOgDBUGrmCBB85cgQQAQShpBAAsLCyEEIAIkBiAEC+4BAgZ/AX0jBiEEIwZBIGokBiABKAIAIAIQ/RMhAwJAIABBqAhqKwMAIAFBBGoiBioCACIJu6AgAkEQaiIHKgIAu2NFBEAgAyACQRRqIgUoAgBIBEAgCSAFIAMQgAIqAgRfDQILIABBFGoiACABKAIAELcERQRAIAJBAToABAsgAyAFKAIASARAIAYoAgAhCCAFIAMQgAIgCDYCBAUgBCABELEJIAUgBBCZCRogBBCaBAsgBioCACAHKgIAXgRAIAAgASgCABC3BEUEQCACIAM2AgwgByAGKAIANgIAIAIgASgCADYCCAsLCwsgBCQGCywBAX8gACgCsAEiAwRAIAAgASACIANB/wBxQawMahENAAUgAEH/6h8QqQELC6cDAQN/AkACQAJAAkAgAEGsBWoiAygCACIEDgIAAQILDAILIAAgAhDcARoPCyADIARBf2oiAzYCACADQQFGBEAgAEHShiAQaiAAIAIQ3AEaDwsLIABB/AJqIQMgAEHIAWoiBCgCACIFQQRxBEAgA0H8hiBBBBDEAQRAIAQgBUEIcjYCAAsLIAMsAABBIHFFBEAgACADEOkGQQNHBEAgACgC5ARFBEAgAEGBhyAQ5gcLCwsCQAJAIAAoAswBQYCAAnENACAAKALkBA0ADAELIAAgAygCADYCsAUgAEEAOgC0BSAAIAI2ArwFIAIEQCAAIAAgAhDAAiIENgK4BSAAIAQgAhDLAgUgAEEANgK4BQsgAEGwBWohAgJAIAAoAuQEIgQEQCAAIAIgBEH/AXFBkAJqEQEAIgRBAEgEQCAAQZiHIBDmBwwCCyAERQRAIAMsAABBIHFFBEAgACADEOkGQQNHBEAgAEGBhyAQ5gcLCyAAIAEgAhDjEwsFIAAgASACEOMTCwsgACAAQbgFaiIBKAIAEIoBIAFBADYCAEEAIQILIAAgAhDcARoLaAEEfyMGIQEjBkEQaiQGIABB0AVqIgRBITYCACAAIAFBCBCcCyAAIAEQoA4hAiAAQfwCaiIDIAEoAAQ2AAAgABCnFCAAIANBBBCtCyAAIAMQuiEgACACELkhIARBwQA2AgAgASQGIAIL+gEBB38jBiEEIwZBQGskBiAEQSxqIQcgBEEoaiEIIARBJGohBSAEQSBqIQYgBEEYaiEJIAQQ/AggACABIAMgBCACEPAeIARBMGoiAyAAKAIAEM0BIAIuAQ4iASEKIAFBAEoEQCACIAMgBCgCACAEKAIIEJcLIAoQ5x4hASAHEPEBIAgQ8QEgAy4BACECIAMuAQYhByADLgEEIQggAy4BAiEDIAUQ8QEgBhDxASAAEJEBIgAgAiAHIAUQiwYgACAIIAMgBhCLBiAJIAUuAQAgBi4BAiAGLgEAIAUuAQIQlQIgASAJKQEANwEQBUEAIQELIAQQhAkgBCQGIAELkwEBAX8jBiEBIwZBEGokBgJAAkACQAJAAkACQCAALgEgDgcBAQACAwAAAwsgAC4BGEEIRw0DDAQLDAILIAAQ5yFBEEYEQCAAEOYhBSAAKAIAKAIAQY3eHyABEOcBCyAALwEYQQlIBEAgABDlIUUEQCABJAZBAA8LCwsMAQsgABDoIUUEQCABJAZBAA8LCyABJAZBAQtjAQF/IwYhAiMGQRBqJAYgACgCCEEBRgRAIAAoAgBBkdwfIAIQXyACJAZBAA8LIAAoAgxBCnZBAXEgAUYEQCACJAZBAQ8LIAAoAgBBq9wfQdTcHyABGyACQQhqEF8gAiQGQQALmwIAAn8CQAJAAkACQAJAIAAuARxBAWsOCAABAgMAAQIDBAsCQAJAAkACQAJAAkAgAC4BHkECaw4HAAEDBQACBAULQQIMCQtBAwwIC0EDDAcLQQEMBgtBAQwFC0EADAQLAkACQAJAAkACQAJAIAAuAR5BAWsOCAAFAQMABQIEBQtBAgwIC0EBDAcLQQEMBgtBAwwFC0EDDAQLQQAMAwsCQAJAAkACQAJAAkAgAC4BHkEBaw4IAAEFAwACBQQFC0EDDAcLQQEMBgtBAQwFC0ECDAQLQQIMAwtBAAwCCwJAAkACQAJAAkACQCAALgEeQQFrDgcAAQMFAAIEBQtBAQwGC0EDDAULQQMMBAtBAgwDC0ECDAILQQAMAQtBAAsL6gsBG38CQCMGIQIjBkGAAWokBiAARQRAQcfTH0GgjxJBABBKGgwBCyACQRBqIQQgAiACQfYAaiIJNgIAIABBggIgAhDcAiACQQhqIgEgAkH4AGoiCDYCACAAQZUCIAEQ3AIgCS8BACAILgEAIgFB//8DcWxB//8DcSIDQSBLBEAgBEGgjxI2AgAgBCADNgIEQcS0FkHX0x8gBBBcIAguAQAhAQsgAkHIAGohECACQUBrIREgAkEwaiELIAJBKGohEiACQSBqIQQgAkEYaiEFIAJB9ABqIQwgAkHyAGohDiACQfAAaiETIAJB7ABqIRQgAkHoAGohFSACQeQAaiEWIAJB4ABqIRcgAkHcAGohGCACQdgAaiEGIAJB1ABqIQcgAkHQAGohAyACQcwAaiEZAkACQAJAAkAgAUEQdEEQdUEBaw4EAAIBAQILIAkvAQAhDwwCC0EgIQ8MAQtBmNQfQaCPEkEAEEoaDAELIAUgBjYCACAAQYACIAUQvQEaIAQgBzYCACAAQYECIAQQvQEaIAAQuQMhBSADIAYoAgAgBygCACAPEMcBIgE2AgAgAUUEQEG4rCBBoI8SQQAQShoMAQsgAUEEENoFIAMoAgAQdSEBIAMoAgAQdyIaQQJ0IQogCC4BAEEBRgR/IAVBAWpBARCDASIERQRAQe2LH0GgjxJBABBKGgwCC0EAIQYCQAJAA0AgBiAHKAIASQRAIAAgBCAGEKEiQQBIDQIgASAEIAUQbRogASAKaiEBIAZBAWohBgwBCwsMAQsgBBBMIAMQXkGv1B9BoI8SQQAQShoMAgsgAygCACEBIAkvAQBBCUgEQCABEK8LBSABEKAiCyAEEExBAAUgBigCACAHKAIAbEEEEIMBIghFBEAgAxBeQb7UH0GgjxJBABBKGgwCCyAAIAYoAgAgBygCACAIEJ8iRQRAIAgQTCADEF5B19QfQaCPEkEAEEoaDAILIAMoAgAQdSEBQQAhBQNAIAUgBygCAEkEQCABIQRBACEKA0AgCiAGKAIAIg1JBEAgCCAFIA1sIApqQQJ0aigCACINQf8BcSANQQh2Qf8BcSANQRB2Qf8BcSAEEIIEIARBBGohBCAKQQFqIQoMAQsLIAEgGkECdGohASAFQQFqIQUMAQsLIAgQTEEBCyEEIAAgFyAYELIURQRAIAMoAgAgFygCABDPCyADKAIAIBgoAgAQuwkLIBIgDjYCACAAQYMCIBIQ3AIgDi4BABC1DiEBIAMoAgAgARDaBSALIBQ2AgAgCyAVNgIEIAsgFjYCCAJAIABBwAIgCxC9AQRAIAkvAQAiAUEISgRAIAMQXkHv1B9BoI8SQQAQShoMAwsgAUH//wNxEIoFIgdFBEAgAxBeQYDVH0GgjxJBABBKGgwDC0EBIAkvAQB0IQlBACEBA0AgASAJSARAIAcgFCgCACABQQF0ai8BAEEIdiAVKAIAIAFBAXRqLwEAQQh2IBYoAgAgAUEBdGovAQBBCHYQ5gMaIAFBAWohAQwBCwsgAygCACAHENgFBSARIAw2AgAgAEGGAiAREL0BRQRAAkACQCAOLgEAIgFBA0gEQCABQQJIBEAgAUGDgH5rDQIFIAFBAmsNAgtBACEBDAIFAkACQAJAIAFBA2sOAgAAAQtBACEBDAELDAILCwwBC0EBIQELIAwgATsBAAsCQAJAAkACQCAPQRB0QRB1QQFrDggAAgICAgICAQILIAwuAQBBAUcNBAwCCyAMLgEADQMMAQsMAgsgAygCACIBIAEQjQUaCwsgECATNgIAIABBkgIgEBC9AQRAIBMuAQAiAEF/akEQdEEQdUH//wNxQQhIBEAgAEH//wNxQX9qIgBBDGxBoJASaiAAQQxsQcCPEmogBEUbIgAoAgAEQCADKAIAIgEgARCCFAsgACgCBARAIAMoAgAiASABEKQOGgsgACgCCCIABEAgGSADKAIAIgE2AgAgAyABIAAQow42AgAgGRBeCwsLIAMoAgAhGyACJAYgGw8LIAIkBkEAC6sBAQJ/IwYhAiMGQRBqJAYCfyABBH8gAUEANgIAIABFBEBBms4fQYCOEkEBEEoaQQEMAgsDQAJAAkACQCAAEJYCQX9rDiIAAgICAgICAgICAQECAgECAgICAgICAgICAgICAgICAgIBAgtBAQwECwwBCwsgAEF/QQEQgAMaIAIgATYCACAAQarOHyACEIMOGkEABUGJzh9BgI4SQQEQShpBAQsLIQMgAiQGIAMLYwECfyMGIQQjBkEQaiQGIAAgASACIAMQrCICQCAABEAgACgCECIFBEAgBSADKgIAIAMqAgQgAxClCwwCCyAAKAIIIgAEQCAEIAAQ5gIgAyAEKgIAIAQqAgQQtQQLCwsgBCQGC4cJARB/AkAgAEUEQEGEpSBBkIUSQQAQShoMAQsgABB8QQFHBEBBpbkfQZCFEkEAEEoaDAELIAFBf2pBA0sEQEG1uR9BkIUSQQAQShoMAQsgAkUiEQRAEJQUIgJFBEBBmLkfQZCFEkEAEEoaDAILCwJ/IAAQvgEhEiAAEKUBIgRBAkgEQEHUuR9BkIUSQQAQShoMAgsgABB3IQUgABB1IQwgEgtBAhBOIARBAhBOQQEQxwEiBkUEQEGDlyBBkIUSQQAQShoMAQsgBiAAEI0CIAZDAAAAP0MAAAA/ELgEIAYQdyELIAYQdSENIAUgC0EBdCIAIAUgAEgbIQ4CQAJAAkACQAJAIAFBAWsOBAABAgMECyAEQX9qIgBBACAAQQBKG0EBakEBdiEHQQAhBEEAIQEDQCABIAdGDQQgDSABIAtsQQJ0aiEIIAwgBCAFbEECdGoiCSAFQQJ0aiEKQQAhAANAIAAgDkgEQCAIIABBAXRqQQJzIAIgCSAAQQJ0aigCACAKIABBAnRqKAIAciIDIANBAXRyQarVqtV6cSIDIANBB3RyIgNBGHZqLQAAQQh0IAIgA0EIdkH/AXFqLQAAcjsBACAAQQFqIQAMAQsLIARBAmohBCABQQFqIQEMAAALAAsgBEF/aiIAQQAgAEEAShtBAWpBAXYhB0EAIQRBACEBA0AgASAHRg0DIA0gASALbEECdGohCCAMIAQgBWxBAnRqIgkgBUECdGohCkEAIQADQCAAIA5IBEAgCCAAQQF0akECcyACIAkgAEECdGooAgAiAyAKIABBAnRqKAIAIg9xIhAgEEEBdHIgAyAPciIDIANBAXRxckGq1arVenEiAyADQQd0ciIDQRh2ai0AAEEIdCACIANBCHZB/wFxai0AAHI7AQAgAEEBaiEADAELCyAEQQJqIQQgAUEBaiEBDAAACwALIARBf2oiAEEAIABBAEobQQFqQQF2IQdBACEEQQAhAQNAIAEgB0YNAiANIAEgC2xBAnRqIQggDCAEIAVsQQJ0aiIJIAVBAnRqIQpBACEAA0AgACAOSARAIAggAEEBdGpBAnMgAiAJIABBAnRqKAIAIgMgCiAAQQJ0aigCACIPcSIQIBBBAXRyIAMgD3IiAyADQQF0cXFBqtWq1XpxIgMgA0EHdHIiA0EYdmotAABBCHQgAiADQQh2Qf8BcWotAAByOwEAIABBAWohAAwBCwsgBEECaiEEIAFBAWohAQwAAAsACyAEQX9qIgBBACAAQQBKG0EBakEBdiEHQQAhBEEAIQEDQCABIAdGDQEgDSABIAtsQQJ0aiEIIAwgBCAFbEECdGoiCSAFQQJ0aiEKQQAhAANAIAAgDkgEQCAIIABBAXRqQQJzIAIgCSAAQQJ0aigCACAKIABBAnRqKAIAcSIDIANBAXRxQarVqtV6cSIDIANBB3RyIgNBGHZqLQAAQQh0IAIgA0EIdkH/AXFqLQAAcjsBACAAQQFqIQAMAQsLIARBAmohBCABQQFqIQEMAAALAAsgEUUEQCAGDwsgAhBMIAYPC0EACxkAIAEgAEcEQCAAEMUDIAAgARDWFBoLIAAL7QIBDH8CQCMGIQEjBkEQaiQGIABFBEBBhKUgQYCDEkEAEEoaDAELIAAQfEEIRwRAQYu3H0GAgxJBABBKGgwBCyAAENMBBEAgAEECENECIQwgASQGIAwPCyAAIAFBBGoiBiABQQAQkwEgABB1IQcgABB3IQggBigCACABKAIAQSAQxwEiAkUEQEGDlyBBgIMSQQAQShoMAQsgAiAAEI0CIAIgABCvAiACEHUhCSACEHchCkGAAkEEEIMBIQVBACEAA0AgAEGAAkcEQCAFIABBAnRqIABBGHQgAEEQdHIgAEEIdHI2AgAgAEEBaiEADAELCwNAIAMgASgCAEgEQCAHIAMgCGxBAnRqIQsgCSADIApsQQJ0aiEAQQAhBANAIAQgBigCAEgEQCAAIARBAnRqIAUgCyAEakEDcy0AAEECdGooAgA2AgAgBEEBaiEEDAELCyADQQFqIQMMAQsLIAUQTCABJAYgAg8LIAEkBkEAC1kBAX8gAEUEQEGcwx9B87QfQQEQShoPCyAAENMBIgEEQCABENICIAEoAghIBEBB/bQfQfO0H0EBEEoaDwsLIABBAEEAIAAQvgEgABClAUEPQQBBAEEAEMsBC2gBAX8gAUEFTgRAIAAgAUEAQQAgAiADEKIJDwsgACABNgIAA0AgBCABSARAIABBBGogBEECdGogBDYCACAEQQFqIQQMAQsLIABBADYCGCAAQQA2AhQgACACNgIcIAAgAzYCICAAQSRqC9YGAQ9/IABFIAFFcgRAQQAPCyABQThqIQsCfyABQTBqIgwoAgAiBkEBaiIHIAFBNGoiAygCACIESgR/IAsoAgAiBQRAIAMgB0EIaiIBNgIAIAsgACABQRxsELMCIgE2AgAgAQRAIAEgBSAEQRxsEG0aIAAgBRCKASAADAMLIAMgBDYCACALIAU2AgBBAQ8FIANBCTYCACAMQQA2AgAgCyAAQfwBELMCIgU2AgAgBQRAIAFBuAFqIgEgASgCAEGAgAFyNgIAIAAMAwsgDCAGNgIAIAMgBDYCAEEBDwsABSAACwshAUEAIQUCQANAIAVBAU4EQEEAIQAMAgsgCygCACIGIAwoAgAiB0EcbGohDgJAIAIgBUEcbGpBBGoiDygCACIDBEAgAiAFQRxsaiIQKAIAIglBAWpBA0sEQCAAQbSlHxBqDAILIAMQYyEIIAlBAUgEf0EAIQNBAAUgAiAFQRxsaigCFCIDBH8gAxBjBUEACyEDIAIgBUEcbGooAhgiBAR/IAQQYwVBAAsLIQoCQAJAIAIgBUEcbGpBCGoiESgCACIERQ0AIAQsAABFDQAgBBBjIQQgDiAJNgIADAELIAlBAEoEQCAOQQE2AgAFIA5BfzYCAAtBACEECyAGIAdBHGxqQQRqIgkgASAIIARqIANqIApqQQRqELMCIg02AgAgDUUEQEEBIQAMBAsgDSAPKAIAIAgQbRogCSgCACAIakEAOgAAIBAoAgBBAEoEfyAGIAdBHGxqQRRqIg0gCSgCACAIakEBaiIINgIAIAggAiAFQRxsaigCFCADEG0aIA0oAgAgA2pBADoAACAGIAdBHGxqQRhqIgggDSgCACADakEBaiIDNgIAIAMgAiAFQRxsaigCGCAKEG0aIAgoAgAgCmpBADoAACAIKAIAIApqBSAGIAdBHGxqQQA2AhQgBiAHQRxsakEANgIYIAkoAgAgCGoLIQMgBiAHQRxsakEIaiIKIANBAWoiAzYCACAEBEAgAyARKAIAIAQQbRogCigCACEDCyADIARqQQA6AAAgBiAHQRxsakEAIAQgDigCAEEASiIDGzYCDCAGIAdBHGxqIARBACADGzYCECAMIAwoAgBBAWo2AgALCyAFQQFqIQUMAAALAAsgAAsJACAAIAEQxwMLSAEBfyAAKALMASEDIAAsAPwCQSBxBEAgA0GABnFBgAZGBEAPCwUgA0GAEHEEQA8LCyAAQfACaiIAIAAoAgAgASACEM8CNgIACywBAX8gACgCrAEiAwRAIAAgASACIANB/wBxQawMahENAAUgAEGHkx8QqQELC3MBBX8gAEUEQEGEpSBBwP4RQQEQShoPCyAAEHUhBSAAEHchAyAAEKUBIQQgBSEAQQAhAQNAIAEgBEgEQEEAIQIDQCACIANIBEAgACAAKAIAEMEFNgIAIAJBAWohAiAAQQRqIQAMAQsLIAFBAWohAQwBCwsLTQAgASAAQf8BcUEEdiIBQTByIAFB1wBqQRh0QRh1IABB/wFxQaABSBs6AAAgAiAAQQ9xIgBBMHIgAEHXAGpBGHRBGHUgAEEKSBs6AAALWAAgAEUEQEGNriBB4/seQQAQShpBAA8LIAEEfxC1CyAAQQBBABCAAxpB7fseIAEgAEHcAEHdAEHeAEGFAUGGAUEAQQAQug4FQZjmHkHj+x5BABBKGkEACwu7AgEIfyMGIQIjBkEQaiQGIAFFBEBBv/keQdDxEUEAEEoaIAIkBkEADwsgAUEANgIAIABFBEBBxqkgQdDxEUEAEEoaIAIkBkEADwsgABD+A0UEQCAAIAEQuyMhCSACJAYgCQ8LIAJBBGoiB0EAQYAgEL8OIgQ2AgAgBCgCBCEDA0AgBEEEaiEFIAQoAgAiBiADa0GAIEgEQCAEIAZBgCAgBkGAIEobEMoUIAcoAgAiBEEEaiIDIQUgAygCACEDCyAEQQxqIgYoAgAgA2pBAUGAICAAEIQCIQggBSAFKAIAIAhqIgM2AgAgCEGAIEYNAAsgA0EBakEBEIMBIgAEQCAAIAYoAgAgBSgCABBtGiABIAcoAgAoAgQ2AgAFIAJB0PERNgIAQcS0FkHT+R4gAhBcCyAHEK0JIAIkBiAACy0BAX8jBiECIwZBEGokBiACIAA2AgAgAiABNgIEQYDwEUH49R4gAhBfIAIkBgvTCQITfwF9AkACQCMGIQMjBkHwAGokBiADQRBqIQUgA0EIaiEGIAAgAS8BABDpAiEHIAFBBGoiCCgCACICQQFLBEACfwJAAkACQAJAAkACQAJAAkACQAJAIAEuAQJBAWsODAAGAQIDAAYBAgMEBQcLIAAgAkEBQZDwERDTAiICRQ0LIAAgASACELgOIQQMBwsgACACQQJBkPARENMCIgJFDQogACABIAIQqAkhBAwGCyAAIAJBBEGQ8BEQ0wIiAkUNCSAAIAEgAhCWBiEEDAULIAAgAkEEQZDwERDTAiICRQ0IIAAgASACELYUIQQMBAsgACACQQRBkPARENMCIgJFDQcgACABIAIQlgYhBAwDCyAAIAJBCEGQ8BEQ0wIiAkUNBiAAIAEgAhC3DiEEDAILIAAgAkEBakEBQZDwERDTAiICRQ0FIAAgASACELQUBH8gAiAIKAIAakEAOgAADAMFQQALDAMLDAQLIAQEfwwBBUEACwwBCyABLwEAIQEgBywADwR/IAYgCCgCADYCACAGIAI2AgQgACABIAYQogEFIAUgAjYCACAAIAEgBRCiAQsLIQAgAhBMDAILIAAgAUEBEOsGRQ0AIANB4ABqIQsgA0HYAGohBiADQdAAaiEMIANByABqIQUgA0FAayENIANBOGohCCADQTBqIQ4gA0EoaiEJIANBIGohDyADQRhqIQogA0HsAGohECADQegAaiERIANB5ABqIRIgA0HuAGohBAJAAkACQAJAAkACQAJAAkACQCABLgECIgJBAWsODAACAAEFAAIAAQUEAwYLAkACQCAHKAIIQQRrDgYAAQEBAQABCwwICyABKAIIIQQgECAALgHIA0HNmgFGBH8gBCAAKALQAyACQf//A3EiAkECdGooAgB2IAAoAtQDIAJBAnRqKAIAcQUgBCAAKALUAyACQf//A3FBAnRqKAIAcQsiAjsBACABLwEAIQEgBywADwR/IApBATYCACAKIBA2AgQgACABIAoQogEFIA8gAkH//wNxNgIAIAAgASAPEKIBCyEADAkLDAYLIAAgASAEELQUQQBHIgUhAiAFRQRAIAMkBiACDwsgBEEAOgABIAEvAQAhASAHLAAPBH8gBkEBNgIAIAYgBDYCBCAAIAEgBhCiAQUgCyAENgIAIAAgASALEKIBCyEADAcLIAAg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AAUgAigCBCECIAMgAEEASgR/IAMgAkEBakH//wNxEOIBQQAhAkF/BSADIAJB//8DcRDiAUECIQJBAQsiADoABCADIAI6AAYCQCABBEAgAEEYdEEYdSADLgEAaiABLgEARgRAIAMvAQIgAS8BAkYEQCADIAFBCGoiACgCACICNgIIIAIgAzYCDCADIAE2AgwMAwsLIAMgAUEMaiIAKAIAIgI2AgwgAiADNgIIIAMgATYCCAUgAyADNgIMIANBCGohAAsLIAAgAzYCACADC84BAQp/IwYhASMGQRBqJAYgAUEIaiICEJgBIAFBBGoiBhCYASACIAAQwwEoAQA2AgACQCAALgEQELcBIgcEfyAAQRRqIQggAkECaiEEQQAhAANAIAMgB04NAiABIAgoAgAgAxDaASAGIAEoAgAiBTYCACAFQf//A3EiCSIKQRB0QRB1QQBIBEAgACAELgEAaiEABSAKBEAgACAELgEAayEACwsgAiAJIAVBEHYQ6AEaIANBAWohAwwAAAsABSAAQQRqEPYBCyEACyABJAYgAAuSAQEDfyMGIQIjBkEgaiQGIAIgABCsBiAAELkCIgRBAnQQciEAIAIQngEgACEDA0AgAhCNAUUEQCADIAIQkAI2AgAgAhCrARogA0EEaiEDDAELCyAAIARBBCABEIUFQQAhAyAAIQEDQCADIARIBEAgAiABKAIAELYGIANBAWohAyABQQRqIQEMAQsLIAAQTCACJAYLBwAgAEE8agsJACAAQQEQwhgLeQEDfyMGIQIjBkEQaiQGIAJBCGoiAyAAIAEQ8AQgAxD2ASEEIAAQ9gEiA0EARyABEPYBIgBBAEdxRQRAIAJB9LoZNgIAIAJBwQI2AgRBtKwWQeO6GUECQcfrHCACEFELIAIkBiADIARrtyAAIARrt6IgA7ejIAC3ows2AQJ/IwYhASMGQRBqJAYgACABEOUIBH8gACAAKAIAIAEoAgBqNgIAQQEFQQALIQIgASQGIAILHAEBfyABKAIAIQIgASAAKAIANgIAIAAgAjYCAAspAQF/A0ACQCAALAAAIgJFDQAgASACENoCRQ0AIABBAWohAAwBCwsgAAsmACABIABHBEAgACgCAEEASgRAIABBADYCAAsgACABELEQGgsgAAsJACAAQQRqEGgLEQAgACABNgIAIABBBGoQ+QMLLwEBfyMG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IQQgA0EANgIAIABBADYCACAEIQADQCAARQ0CIAAoAgQhBSAAIAFB/wNxQaIHahEAACAFIQAMAAALAAsLCywAIABBOGoQzgIgAEEkahDfBCAAQSBqEFggAEEcahBYIABBCGoQtAUgABBYCysBAn8gAEEMaiECIABB7ANqIQEDQCABQWxqIgEQtAUgASACRw0ACyAAEFgLMQACQAJAAkACQCAAQQtrDgIAAQILIAIgARC0NAwCCyACIAEQszQMAQsgAiABELI0CwtIAQJ/IABBATYCFEEBIQFBASECA0AgAUF/SgRAIABBDGogAUECdGogACABQQFqQQJ0aigCACACbCICNgIAIAFBf2ohAQwBCwsLDgAgAiABIABBA3QQbRoLCQAgACABNgJECzUBAX8gAUH/////AUsEQBAEBSAAIAFBA3QQTyICNgIEIAAgAjYCACAAIAIgAUEDdGo2AggLC2ABA38CfwJAIAAoAgwiAUUNACAAKAIIRQ0AIAAoAgQgACgCACICayEDQQAhAANAAkAgACADTg0AIAEgAEECdGooAgANACAAQQFqIQAMAQsLIAIgAGoMAQsgACgCAAsiAAtUAQN/IAAgACgCACgCCEH/AXFBBmoRBQAhAiAAQQRqIQNBACEAA0AgACACSARAIAMoAgAgAEEDdGoiBCABKwMAIAQrAwCiOQMAIABBAWohAAwBCwsLEAAgABC7CiAAQZigFjYCAAsRAEQAAAAAAADwPyAAoSAAogssACAAIAApAwBCrf7V5NSF/ajYAH5Cz4Keu+/v3oIUfDcDACAAKQMAQiGIpwucAQEDfyMGIQcjBkEQaiQGIABBMGoiCSwAACIIIAQsADBHBEAgB0G14Rc2AgAgB0GRAzYCBEG8nhZBk+IXQQJBx+scIAcQUSAJLAAAIQgLIAhB/wFxBH8gAEEYaiABEJMCIAJqIARBGGogBRCTAiAGaiADEG0FIAAgARDqASACQQJ0aiAEIAUQ6gEgBkECdGogA0ECdBBtCxogByQGC5IBAAJAIAAsADAEQCAAQRhqIAEQkwIgAmohAUEAIQADQCAAIANODQIgASAAaiAERAAAAAAAwF9AEMQREJwCOgAAIABBAWohAAwAAAsABSAAIAEQ6gEgAkECdGohAUEAIQADQCAAIANODQIgASAAQQJ0aiAERAAAAAAAAPA/EMQR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AEH4BWoQdCAAQegFahB0IABBwAVqEHYgAEGYBWoQdiAAQfAEahB2IABByARqEHYgAEGgBGoQdiAAQfgDahB2IABB0ANqEHYgAEG0A2oQmgEgAEGcA2oQmgEgAEGMA2oQdCAAQfQCahCaASAAQeQCahB0IABB1AJqEHQgABD6CAutAwECfyAAQYCXFjYCACAAQZSmCGoQaCAAQYimCGoiAigCACEBIAJBADYCACABBEAgARD0ESABEEwLIABB+KUIahB0IABB0KUIahB2IABBuKUIahCaASAAQaClCGoQmgEgAEGIpQhqEJoBIABB+KQIahB0IABB6KQIahB0IABB2KQIahB0IABBwKQIahCaASAAQaikCGoQmgEgAEGYpAhqEHQgAEGApAhqEJoBIABB6KMIahCaASAAQcCjCGoQdiAAQZijCGoQdiAAQfCiCGoQdiAAQciiCGoQdiAAQbCiCGoQmgEgAEGIoghqEHYgAEHgoQhqEHYgAEG4oQhqEHYgAEGgoQhqEJoBIABBiKEIahCaASAAQfigCGoQdCAAQeCgCGoQmgEgAEHIoAhqEJoBIABBsKAIahCaASAAQZigCGoQmgEgAEGIoAhqEHQgAEH4nwhqEHQgAEHgnwhqEJoBIABBuJ8IahB2IABBoJ8IahCaASAAQZCfCGoQdCAAQeieCGoQdiAAQdieCGoQdCAAQcieCGoQdCAAQbieCGoQdCAAQaieCGoQdCAAEM0NC+UBAQN/IwYhASMGQRBqJAYgAUG10hcQhQEgAUEIaiIDIABBCGogARC7AiABEFggAEGoyghqIAMQXRC1HCAAQZjKCGoQXiAAQZzKCGoQXiAAQaTKCGoQXiAAQeTeCGoQXiABQwAAgD9DAAAAABCkASAAQezeCGogASkDADcCACABQwAAgD9DAAAAABCkASAAQfTeCGogASkDADcCACAAQbTKCGoQvg0gAEHo3ghqQX82AgAgAEGc3whqIQADQCACIAAoAgBIBEAgACACEE0oAgAQzw0gAkEBaiECDAELCyADEFggASQGC6IPAQN/IABB6JYWNgIAIAAQzw0gAEGgyghqEF4gABDMDSAAIAAoAgAoAghB/wFxQQZqEQUAEMgNIABBnN8IaiICENUKIABBvN8IaiIDKAIAIgEEQCABEMEcIAEQTAsgA0EANgIAIAIQaCAAQZTf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AAsMCAsgByACQYCABHIiAjYCAAwHCyAHIAJBfHFBAXIiAjYCAAwGCyAHIAJBfHFBAnIiAjYCAAwFCyAHIAJBfHFBAnIiAjYCAAwECyAGBEAgByACQYAQciICNgIACwwDCyAGBEAgByACQf9vcSICNgIACwwCCyAGBEAgByACQYCAAnIiAjYCAAsMAQsgBgRAIAcgAkH//31xIgI2AgALCyADQQFqIQMMAQsLAkACQCAQKAIAIgJBgARxDQAgDSgCACAKQcgDaiICQQggFigCAEH/AHFBkARqEQIAQQhHBEAgECgCACECDAELAkACQAJAIAIuAQAiAkHJkgFrDv0NAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAELDAELIBIgAkH//wNxIgE2AgAgEiABNgIEIABB2uceIBIQXwwCCyAKIAJB//8DcRC+FCAKQcoDaiECIAcoAgBBgAFxBEAgAhCZBiAKQcwDahDsBgsCQAJAAkAgAi4BACICQSprDgIBAAILIABBjegeIBMQXwwDCyAHIAcoAgAiAkGABHI2AgAgCkEANgLUBCAKQQA2AtwEIApBADYC2AQgAkGAgARxDQMCQCABLAAAQeEAayIABEAgAEERRw0EDAELIAoQtwsaDAQLIAogCigCzAM2AhQgAkGAEHEEQCANKAIAIApB5ARqIApB6ARqIAooAuwEQf8AcUGQBGoRAgBFBEAgByAHKAIAQf9vcTYCAAsLIAoQqglFDQIgCkF/NgLgBCAHIAcoAgBBEHI2AgAMAwsgESACQf//A3EiATYCACARIAE2AgQgAEHc6B4gERBfDAELIAJFBEAgAEGo5x4gFRBfDAELIApByANqIgNByZIBQc2aASAHKAIAQYABcUUiAhs7AQAgCkHKA2oiAUEqOwEAIAJFBEAgARCZBgsgCkEANgLMAyANKAIAQQBBACAPKAIAQf8AcUGQBGoRAgAaIA0oAgAgA0EIIA4oAgBB/wBxQZAEahECAEEIRwRAIABBwOceIBQQXwwBCyAKIAMvAQAQvhQgChC3CxogCkEANgIQIApBADYCGCAKQQA2AhwgCkEAOwEgDAELIBBBADYCACAKENAFIAskBkEADwsgCyQGIAoPCyALJAZBAAtDAQJ/IAAgAUEBdBDhBQNAIAEEQCAAKAIAIQIgACAAQQRqIgMoAgA2AgAgAyACNgIAIABBCGohACABQX9qIQEMAQsLCxsAIAAgASABLgEgIAEuASIgASwAH0EARxC0DgvHAwEDfyAAQShqQQBBBBDDAiAAQZgBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQZwBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQaABaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQawBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQcgBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQegBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQdQBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQdgBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQdwBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQeABaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQbgBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQbwBaiIBKAIAIgIEQCACEEwgAUEANgIACyAAQSxqIgEgASgCAEH/fHE2AgAgAEHsAWohAiAAQfABaiEBQQAhAANAIAAgAigCAEgEQCABKAIAIABBDGxqKAIIIgMEQCADEEwLIABBAWohAAwBCwsgAkEANgIAIAEoAgAiAEUEQA8LIAAQTCABQQA2AgALugEBAX8gAkUgA0VyIARFciAFRXIEQEHZzB5BhM0eQQEQShoPCyAFQQA2AgAgBEEANgIAIANBADYCACACQQA2AgAgAEUEQEHshB5BhM0eQQEQShoPCyABQQBOBEAgACgCDCABSgRAIAIgACgCACIGIAFBAnRqLQACNgIAIAMgBiABQQJ0ai0AATYCACAEIAYgAUECdGotAAA2AgAgBSAGIAFBAnRqLQADNgIADwsLQf2EHkGEzR5BARBKGguBAQECf0EBQRAQgwEiAkUEQEGoyx5BtMseQQAQShpBAA8LIAJBgAggASABQQFIGyIBQQEQgwEiAzYCDCADRQRAIAIQTEHCyx5BtMseQQAQShpBAA8LIAIgATYCACACQQA2AgggAARAIAMgACABEG0aIAIgATYCBAUgAkEANgIECyACC50DAQt/IwYhBCMGQdAAaiQGIABFBEBBzcgeQeDIHkEAEEoaIAQkBkEADwsgBEHIAGohCCAEQQhqIQNBgIACQQEQgwEhBUGAgAJBARCDASEGIARBxABqIgkgACABEL8OIgE2AgAgBEFAayIAQQBB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C5QCAQh/IwYhAyMGQRBqJAYgA0EIaiECAkAgAEEEaiIEKAIAQQBKBEAgAEEMaiIFKAIABEAgAEEIaiEGA0AgASAAKAIATg0DIAUoAgAiBygCACgCCCEIIAMgBigCACABQQN0aikCADcDACACIAMpAAA3AAAgByACIAhB/wBxQawLahEDACABQQFqIQEMAAALAAsLCyAAQQhqIgEoAgAiAgRAIAIQTAsgAUEANgIAIABBADYCACAEQQA2AgAgAEEMaiICKAIAIgEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAkEANgIAIABBEGoiASgCACIABEAgACAAKAIAKAIEQf8DcUGiB2oRAAALIAFBADYCACADJAYL2QEBBH9BKBByIgNBADYCACAAQfAEakEBIANBBBCKAiEDIwwhBUEAJAcjByECQQAkByACQQBHIwhBAEdxBEAgAigCACADIAUQUiIERQRAIAIjCBAACyMIJAwFQX8hBAsjDCECIARBAWsEQEEAIQILAkACQANAIAINAUEAJAdB0QAgACABEAYjByECQQAkByACQQBHIwhBAEdxBEAgAigCACADIAUQUiIERQRAIAIjCBAACyMIJAwFQX8hBAsjDCECIARBAWtFDQALDAELIAMQTEEADwsgAxBMQQEL0wEBBH9BKBByIgJBADYCACAAQfAEakEBIAJBBBCKAiECIwwhBEEAJAcjByEBQQAkByABQQBHIwhBAEdxBEAgASgCACACIAQQUiIDRQRAIAEjCBAACyMIJAwFQX8hAwsjDCEBIANBAWsEQEEAIQELAkACQANAIAENAUEAJAdB4gIgABAFIwchAUEAJAcgAUEARyMIQQBHcQRAIAEoAgAgAiAEEFIiA0UEQCABIwgQAAsjCCQMBUF/IQMLIwwhASADQQFrRQ0ACwwBCyACEEwPCyACEEwLuQEBA38gACgCBCEEIAJB8JPr3ANLBEAgAEEDENgLCyABQQFLBEAgACgCAEEPNgIUIAAoAgAgATYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAtBCCACQQdxIgNrQQAgAxsgAmoiA0EQaiIFEHIiAkUEQCAAQQQQ2AsLIARBzABqIgAgACgCACAFajYCACACIARBPGogAUECdGoiACgCADYCACACIAM2AgQgAkEANgIIIAAgAjYCACACQRBqC+ED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IAMQVCAAIAEgASAERhshAAwRCyADQgA3AgAgA0EANgIIIANBqt8gQarfIBBjEKYBIABBAmoiBCABIAMgAhD7AyEBIAMQVCAAIAEgASAERhshAAwQCyADQgA3AgAgA0EANgIIIANBsN8gQbDfIBBjEKYBIABBAmoiBCABIAMgAhD7AyEBIAMQVCAAIAEgASAERhshAAwPCyADQgA3AgAgA0EANgIIIANB09X5AEHT1fkAEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADA4LIANCADcCACADQQA2AgggA0G/3yBBv98gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADA0LIANCADcCACADQQA2AgggA0HB3yBBwd8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAwLIANCADcCACADQQA2AgggA0HD3yBBw98gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAsLIANCADcCACADQQA2AgggA0HG3yBBxt8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAoLIANCADcCACADQQA2AgggA0HJ3yBByd8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAkLIANCADcCACADQQA2AgggA0HN3yBBzd8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAgLIANCADcCACADQQA2AgggA0HW3yBB1t8gEGMQpgEgAEECaiIEIAEgAyACEPsDIQEgAxBUIAAgASABIARGGyEADAcLIAAgAEECaiIAIAEgAhDAHSIBIAEgAEYbIQAMBgsgACAAQQJqIgAgASACEL8dIgEgASAARhshAAwFCyAAIABBAmoiACABIAIQvh0iASABIABGGyEADAQLIAAsAAJB2gBHDQMgAEEDaiIEIAEgAhDeBiICIARGIAIgAUZyDQMgAkEBaiAAIAIsAABBxQBGGyEADAMLIAQgASACEPoBIgkgBEYgCSABRnINAiAJLAAAQcUARgRAIAlBAWohAAwDCyAJIQQDQCAEIAFGDQMgBCwAACILQVBqQQpJBEAgBEEBaiEEDAELCyAEIAlHIAtBxQBGcUUNAiACKAIAIAJBBGoiASgCACICRg0CIAggAkFoahCvASAIQQBB0NUgEMEBGiAHIAgpAgA3AgAgByAIKAIINgIIQQAhAANAIABBA0cEQCAIIABBAnRqQQA2AgAgAEEBaiEADAELCyAHQc7VIBCnARogBiAHKQIANwIAIAYgBygCCDYCCEEAIQADQCAAQQNHBEAgByAAQQJ0akEANgIAIABBAWohAAwBCwsgBUIANwIAIAVBADYCCCAFIAkgBBDCBSAGIAUoAgAgBSAFLAALIgBBAEgiAhsgBSgCBCAAQf8BcSACGxC2ARogCiAGKQIANwIAIAogBigCCDYCCEEAIQADQCAAQQNHBEAgBiAAQQJ0akEANgIAIABBAWohAAwBCwsgAyAKEJQCIAEoAgBBaGogAxCmAyADEGkgChBUIAUQVCAGEFQgBxBUIAgQVCAEQQFqIQALCwsgBSQGIAALXgEBfyADQW9LBEAQBAsgA0ELSQRAIAAgAjoACwUgACADQRBqQXBxIgQQciIDNgIAIAAgBEGAgICAeHI2AgggACACNgIEIAMhAAsgACABIAIQ5AIaIAAgAmpBABCcAQuKEgECfyMGIQMjBkEgaiQGAkAgACABRwRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAsAABBxABrDjcWFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwQCAxESEBMFCAkXCgsODxcXFwYHFQABDA0UFwsgA0Ht4CAQ0gcgAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMGAsgAxC1HSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwXCyADQfLgIBDSByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwWCyADQYvfIBDSByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwVCyADQZDfIBDTByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwUCyADQZzfIBDbDSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwTCyADQarfIBDxCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwSCyADQbDfIBDvCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwRCyADQffgIBCbEiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwQCyADQfvgIBDuCiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwPCyADQYjhIBDSByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwOCyADQY3hIBDbDSACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwNCyADQZvhIBDyAiACQQRqIgQoAgAiASACKAIISQRAIAEgAxCPASAEIAQoAgBBGGo2AgAFIAIgAxCVAQsgAxBpIABBAWohAAwMCyADELQdIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEEBaiEADAsLIANBzd8gENkNIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEEBaiEADAoLIANB1t8gEOINIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEEBaiEADAkLIANBpeEgEPEKIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEEBaiEADAgLIAMQsx0gAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMBwsgA0Gr4SAQ0wcgAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMBgsgA0G34SAQ4wIgAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMBQsgA0HC4SAQmxIgAkEEaiIEKAIAIgEgAigCCEkEQCABIAMQjwEgBCAEKAIAQRhqNgIABSACIAMQlQELIAMQaSAAQQFqIQAMBAsgACAAQQFqIgQgASACENsGIgAgACAERhshAAwDCyAAQQFqIgQgAUYNAgJAAkACQAJAAkACQAJAAkACQCAELAAAQeEAaw4TBggIAAECCAMECAgICAcICAgIBQgLIANBxuEgEPICIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAoLIANB0OEgEOMCIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAkLIANB2+EgEPICIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAgLIANB5eEgEPICIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAcLIANB7+EgENkNIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAYLIANB+OEgENkNIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEADAULIANBgeIgENIHIAJBBGoiBCgCACIBIAIoAghJBEAgASADEI8BIAQgBCgCAEEYajYCAAUgAiADEJUBCyADEGkgAEECaiEA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QQBIBH8gCCgCAEEAEJwBIAhBADYCBCAIBSAIQQAQnAEgAEEAOgAAIAgLIQAgCEEAENAEIAAgCikCADcCACAAIAooAgg2AghBACEAA0AgAEEDRwRAIAogAEECdGpBADYCACAAQQFqIQAMAQsLIAoQVCACIQEgBCACIAIoAgAoAgxB/wFxQQZqEQUAOgAAIAUgAiACKAIAKAIQQf8BcUEGahEFADoAACAKIAIgASgCACgCFEH/AHFBrAtqEQMAIAZBC2oiACwAAEEASAR/IAYoAgBBABCcASAGQQA2AgQgBgUgBkEAEJwBIABBADoAACAGCyEAIAZBABDQBCAAIAopAgA3AgAgACAKKAIINgIIQQAhAANAIABBA0cEQCAKIABBAnRqQQA2AgAgAEEBaiEADAELCyAKEFQgCiACIAEoAgAoAhhB/wBxQawLahEDACAHQQtqIgAsAABBAEgEfyAHKAIAQQAQnAEgB0EANgIEIAcFIAdBABCcASAAQQA6AAAgBwshACAHQQAQ0AQgACAKKQIANwIAIAAgCigCCDYCCEEAIQADQCAAQQNHBEAgCiAAQQJ0akEANgIAIABBAWohAAwBCwsgChBUIAkgAiACKAIAKAIkQf8BcUEGahEFACIANgIAIAokBgv3JAElfyMGIREjBkGABGokBiARQfQDaiEeIBFB2ANqISYgEUHUA2ohJyARQbwDaiEPIBFBsANqIRIgEUGkA2ohEyARQZgDaiEUIBFBlANqIRUgEUGQA2ohISARQfADaiIfIAo2AgAgEUHoA2oiGCARIgo2AgAgGEGTAzYCBCAKQeADaiIaIAo2AgAgCkHcA2oiICAKQZADajYCACAKQcgDaiIZQgA3AgAgGUEANgIIA0AgC0EDRwRAIBkgC0ECdGpBADYCACALQQFqIQsMAQsLIA9CADcCACAPQQA2AghBACELA0AgC0EDRwRAIA8gC0ECdGpBADYCACALQQFqIQsMAQsLIBJCADcCACASQQA2AghBACELA0AgC0EDRwRAIBIgC0ECdGpBADYCACALQQFqIQsMAQsLIBNCADcCACATQQA2AghBACELA0AgC0EDRwRAIBMgC0ECdGpBADYCACALQQFqIQsMAQsLIBRCADcCACAUQQA2AghBACELA0AgC0EDRwRAIBQgC0ECdGpBADYCACALQQFqIQsMAQsL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AAU6AAUgAiAGLAAAOgAGIABB95YfIAJBBxCJAyACJAYPCwsLCyAAQdGWHxBqIAIkBgveAQECfwJAAkACQCAALAAIDgUAAgICAQILIAAoAgQhAkEAIQADQCAAIAJHBEAgASABLAAAQX9zOgAAIAFBAWohASAAQQFqIQAMAQsLDwsgACwACUEIRgRAIAAoAgQhAkEAIQADQCAAIAJJBEAgASABLAAAQX9zOgAAIABBAmohACABQQJqIQEMAQsLDwsgACwACUEQRwRADwsgACgCBCECQQAhAANAIAAgAkkEQCABIAEsAABBf3M6AAAgAUEBaiIDIAMsAABBf3M6AAAgAEEEaiEAIAFBBGohAQwBCwsLC5sDAQN/IAAsAAgiAkECcUUEQA8LIAAoAgAhBAJAAkACQCAALAAJQQhrDgkAAgICAgICAgECCwJAAkACQCACQQJrDgUAAgICAQILQQAhAANAIAAgBEcEQCABLAAAIQIgASABQQJqIgMsAAA6AAAgAyACOgAAIAFBA2ohASAAQQFqIQAMAQsLDwtBACEAA0AgACAERwRAIAEsAAAhAiABIAFBAmoiAywAADoAACADIAI6AAAgAUEEaiEBIABBAWohAAwBCwsPCw8LAkACQAJAIAJBAmsOBQACAgIBAgtBACEAA0AgACAERwRAIAEsAAAhAiABIAFBBGoiAywAADoAACADIAI6AAAgAUEBaiICLAAAIQMgAiABQQVqIgIsAAA6AAAgAiADOgAAIABBAWohACABQQZqIQEMAQsLDwtBACEAA0AgACAERwRAIAEsAAAhAiABIAFBBGoiAywAADoAACADIAI6AAAgAUEBaiICLAAAIQMgAiABQQVqIgIsAAA6AAAgAiADOgAAIABBAWohACABQQhqIQEMAQsLCwsLWQEDfyAALAAJQRBHBEAPCyAAKAIAIAAtAApsIQJBACEAA0AgACACRwRAIAEsAAAhAyABIAFBAWoiBCwAADoAACAEIAM6AAAgAEEBaiEAIAFBAmohAQwBCwsLeAEBfyAALAAJIgJB/wFxQQhOBEAPCyABIAAoAgRqIQACQAJAAkACQAJAIAJBAWsOBAABAwIDC0HA+BEhAgwDC0HA+hEhAgwCC0HA/BEhAgwBCw8LA0AgASAASQRAIAEgAiABLQAAaiwAADoAACABQQFqIQEMAQsLC5IH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ABDbCCAJIAooAgAiBRCRARCOAwRAIAssAABFDQIgDCAFENIuRQ0FCwsMAQsLDAILIABBADYCMCAAQQA2AjRBACEFDAELIABB1ABqIQcgBRCpGCECAn8gAEHYAGoiCygCACIERSIMBH9BAAUgBEF/aiIJIARxRSINBH8gCSACcQUgAiAESQR/IAIFIAIgBBCHAQsLIQEgBygCACABQQJ0aigCACIDBH8DQCABIAMoAgAiA0UNAxogAygCBCIGIAJHBEAgDQRAIAYgCXEhBgUgBiAETwRAIAYgBBCHASEGCwsgASAGIAFHDQQaCyADKAIIIAVHDQAMBAALAAUgAQsLCyEDIAggByACIAoQmQUCQCAMIAAqAmQiDiAEs5QgAEHgAGoiBSgCAEEBarMiD11yBEAgByAPIA6VjRChBCIBIARBAXQgBEEDSSAEQX9qIARxQQBHcnIiAyADIAFJGxCYBSALKAIAIgFBf2oiAyABcUUEQCADIAJxIQMMAgsgAiABSQR/IAIFIAIgARCHAQshAwUgBCEBCwsgBygCACADQQJ0aigCACICBEAgCCgCACIAIAIoAgA2AgAgAiAANgIABSAIKAIAIgIgAEHcAGoiACgCADYCACAAIAI2AgAgBygCACADQQJ0aiAANgIAIAIoAgAiAARAIAAoAgQhACABQX9qIgMgAXEEQCAAIAFPBEAgACABEIcBIQALBSAAIANxIQALIAcoAgAgAEECdGogAjYCAAsLIAUgBSgCAEEBajYCACAIQQA2AgAgCigCACEFCyAIJAYgBQtaAQF/IAEoAgAhAiAAKAIAEJEBIgEuAQAgAhCRASICLgEAayIARQRAIAEuAQQgAi4BBGsiAEUEQCABLgECIAIuAQJrIgBFBEAgAS4BBiACLgEGayEACwsLIAALjwIBCH8jBiECIwZBEGokBgJAIABBBGoiAygCAEEASgRAIABBDGoiBCgCAARAIABBCGohBQNAIAEgACgCAE4NAyAEKAIAIgYoAgAoAgghByACIAUoAgAgAUEEdGoiCCkDADcDACACIAgpAwg3AwggBiACIAdB/wBxQawLahEDACABQQFqIQEMAAALAAsLCyAAQQhqIgEoAgAiBARAIAQQTAsgAUEANgIAIABBADYCACADQQA2AgAgAEEMaiIDKAIAIgEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgA0EANgIAIABBEGoiASgCACIABEAgACAAKAIAKAIEQf8DcUGiB2oRAAALIAFBADYCACACJAYLDAAgACABKQIANwJMCwwAIAAgASkCADcCRAsmACABIAIgAEEEahDiDyABIAIgAEEQahDiDyABIAIgAEEMahDiDwtbAQV/IABBBGoiARD6CSAAQQhqIgIQ+gkgAEEMaiIDEPoJIABBEGoiBBD6CSAAQRRqIgUQ+gkgAEHcAGpBsgIQng0gBRDaAyAEENoDIAMQ2gMgAhDaAyABENoDCwwAIAAgAUEBcToAHQvaAQEKfyMGIQMjBkFAayQGIANBOGohBCADQTRqIQUgA0EwaiEGIANBLGohByADQRBqIgkgAhBVIABB0+MaEGwaIAAQXUGu/B4Q5QIiCAR/A0AgAyAENgIAIAMgBTYCBCADIAY2AgggAyAHNgIMIAggAxDxKkEDSgRAQeAAEE8iCiAAEF0gBCgCACILQf//A3EgASAFKAIAayICIAcoAgBrQf//A3EgBigCACALakH//wNxIAJB//8DcRCTByAJIAoQuwEMAQsLIAgQ/QEaQQEFQQALIQwgAyQGIAwLCQAgACABEL4pC2IBAn8gAEEIaiIBEI0DIABBJGoiAhCNAyABEFsgAhBbIAAgARBTLgEGOwEAIABBAmoiACABQQEQjAMuAQY7AQAgAkEBEIwDLgEGIAAuAQBIBEAgACACQQEQjAMuAQY7AQALC08BAX8jBiEDIwZBEGokBiADIABBCGoQUy4BBCAALgEAEKEBIAEgAygCADYBACADIABBJGoQUy4BBCAALgECEKEBIAIgAygCADYBACADJAYLjQQBEH8jBiEFIwZBQGskBiAFQRBqIQkgBUEIaiEKIAVBHGoiBxBXIAUgARCRASkBADcDACAFLgEAIAAuAQgiBGtBEBBOQf//A3EhDiAFLgEEIARrQRAQTiEPIAUuAQYgAC4BCiIGa0EQEE4hEAJAQdi2+QAoAgAgA0EBakEQdEEQdSIRIgNIBH8gAyACagUgAEEEaiESQQAhA0EAIQQgBS4BAiAGa0EQEE5B//8DcSELAkACQAJAA0AgECALQRB0QRB1IhNIDQMgDiEMA0AgDyAMQRB0QRB1IgZOBEAgByAAKAIAIBIuAQAgE2wgBmpBAnRqEJYBAkAgBxC1AUUEQCAHEFsDQCAHEFkNAiAHEFMiDSABRwRAIA0gARC+BgRAIARBAWohCCAEQfC2+QAoAgAiBE4NCCACIAhrIANrIgZBAEoEf0GwtvkAKAIAIQQgACANIAYgERC5GCAEbCADagUgAwsiBiAIaiIDIAJKDQkgCCEEIAYhAwsLIAcQVgwAAAsACwsgDEEBakEQdEEQdSEMDAELCyALQQFqQRB0QRB1IQsMAAALAAtBxrb5AC0AAARAIAogCDYCACAKIAQ2AgRBi8UZIAoQSwsgCCACaiEDDAMLQca2+QAtAABFDQIgCSAINgIAIAkgBjYCBCAJIAI2AghBzMUZIAkQSwwCCyADIARqCyEDCyAFJAYgAwtuAgJ/AX4jBiEBIwZBIGokBiAALgEQBH8gABC+DKwhAyABIABBHGoQVSABEFsDfwJ/QQEgARBZDQAaQQAgARBTIgAQvgysIAN+QgBVDQAaIAAQuhgEfyABEFYMAgVBAAsLCwVBAQshAiABJAYgAgsHACAAQUBrCzMBAX8jBiEGIwZBIGokBiAGIAEgAiADIAQQiC8gBSAGEIcvIAAgBhCGLyAGEIUvIAYkBgtkAQN/IwYhAyMGQRBqJAYgACgCACIBRQRAQYyqFkHlwRlBAkEAIAMQUSAAKAIAIQELIAAgASgCABDUCSICNgIIIAAgASgCADYCBCAAIAIEfyACKAIEBUEACyIBNgIMIAMkBiACCywAIAEuAQAgABClAUF/aiABLgEGayABEG5BEHRBEHUgARBrQRB0QRB1EMECC9ABAQd/IwYhASMGQfAAaiQGIAFBLGohAiABQRBqIQMgAUHIAGoiBCAAEFUgBBBbQQAhAANAIAQQWUUEQCACIAQQUxDHAhBVIAIQWwNAIAIQWUUEQCADIAIQUxDNAhB9IAMQlAEDQCADEI4BRQRAIAMQcBB7EJoCIAVqIQUgAxB4IABBAWohAAwBCwsgAhBWIAZBAWohBgwBCwsgBBBWIAdBAWohBwwBCwsgASAHNgIAIAEgBjYCBCABIAA2AgggASAFNgIMQc/CGSABEEsgASQGC3sBA38jBiECIwZBMGokBiACQSRqIgQQVyACQQhqIgMgBBBVIAAgAUEEaiIAIAMQiS8gAkEEaiIDEJgBIAIQmAEgACADIAIQlRAgASADKAIAIgBB//8DcSAAQRB2IAIoAgAiAEH//wNxIABBEHYgBBC8GCAEEI8DIAIkBgvMBwESfyMGIQQjBkHgAGokBiAEQThqIQcgBEEwaiEQIARBKGohESAEQSBqIQwgBEEYaiEIIARBEGohCSAEQQhqIQMgBEHYAGohBSAEQdQAaiENIARB0ABqIQ4gBEHMAGohDyAEQcgAaiEKIABBDGogAEEQaiABGygCACISBH8gEkF/akECTwRAIARBu8AZNgIAIARB1wA2AgRB3Lj5AEHxxxlBAkHH6xwgBBBRCyAAQQRqIgsoAgBFBEAgA0G7wBk2AgAgA0HYADYCBEHcuPkAQbTIGUECQcfrHCADEFELIBJBAUYhA0GguPkAKAIAQQBKBEBBvsgZIAkQSyAIQdnIGUHhyBkgAxs2AgBB6cgZIAgQSyAMQYHJGUH+yBkgACgCGBs2AgBBhckZIAwQSwsgAEEIaiITEF4gE0EAIAsoAgAQ5AE2AgBBjrj5AC0AAARAIABBFGoiAxBeIAMgCygCABCUBjYCAAsgBSALKAIAEN0BIgM2AgAgACwAIARAIABBHGoiCSgCAEF/RwRAIAAoAhhFBEBBoLj5ACgCAEEASgRAQaXJGSAREEsLIAUQXiAFQQAgCygCABDkASIDNgIAIAMgAyAJKAIAIgNBCBBOIANBAxBOEKwOGiAFKAIAIQMLCwsgDiADIA0QnQY2AgAgDhCqAyAFEF4gD0EAENwENgIAIA0oAgAiAwR/IAMQgAQFQQALIQwgAEEYaiEOIABBFGohCEEAIQUDQCAFIAxIBEAgCiALKAIAIA0oAgAoAhAoAgwgBUECdGooAgAiBhDkAyIDNgIAIANFBEAgEEG7wBk2AgAgEEGGATYCBEHcuPkAQczJGUECQcfrHCAQEFELAkACQCAAIAYQ8y4iA0F/RgRAIA4oAgBFDQFBjrj5AC0AAEUNASAIKAIAIAZBAUF/QQBBABCzBAwBBSAGKAIIIhEgA0EDEE5KBEAgBigCDCADQQIQTkoNAgtBoLj5ACgCAEEASgRAIAYoAgQhCSAGKAIMIQMgByAGKAIANgIAIAcgCTYCBCAHIBE2AgggByADNgIMQdXJGSAHEEsLCwwBCyAAIBIgCigCACADIAYoAgAgBigCBCAPKAIAEPIuCyAKEF4gBUEBaiEFDAELC0EAIQMDQCADIA8oAgAiABC4A0gEQCAKIAAgA0ECEJ0EIgA2AgAgEygCACAAEOUHIAoQ9wEgA0EBaiEDDAELCyAPEKoDIA0Q5wMgAkEAR0GOuPkALQAAQQBHcQRAIAIgCCgCAEGAyhlBjsoZIAEbEIsEC0EBBUEACyEUIAQkBiAUC8sCAQ1/IwYhDiMGQSBqJAYgDiEFIAAoAgAiAkUEQEHolRZBqb0ZQQJBACAFEFEgACgCACECCyAFQQhqIQYgAigCAEUEQEG4rBZBqb0ZQQJBACAGEFELIAAoAggiAkEARyEGIAFBGHRBGHVBAEgEQCAGBEAgAiEDIAEhBwUgASEKIABBDGohC0EIIQQLA0AgBEEIRgRAIAsoAgAhAyAKIQcLIAdBGHRBGHVBAEgEQCAHQQFqQRh0QRh1IQogAyELQQghBAwBCwsFIAYEQCACIQggASEJBSABIQwgAEEEaiENQQ0hBAsDQCAEQQ1GBEAgDSgCACEIIAwhCQsgCUEYdEEYdUEASgR/IAlBf2pBGHRBGHUhDCAIQQRqIQ1BDSEEDAEFIAgLIQMLCyAFQRBqIQAgA0UEQEHslRZBqb0ZQQJBACAAEFELIAUkBiADC/8CAQV/IwYhBCMGQSBqJAYgAgR/IAIsAABFBUEBCyIGQQFxIQcgACgCCCEIA0AgBSAISARAIAAoAgAgBUHwAGxqIAc6ACYgBUEBaiEFDAELCyAGRQRAIAQQqgEgACACQQAgBEEAEKIEGkEAIQIDQCACIAQoAgBIBEAgBCACEE0oAgBBf0cEQCAAKAIAIAQgAhBNKAIAQfAAbGpBAToAJgsgAkEBaiECDAELCyAEEGgLIAEEQCABLAAABEAgBBCqASAAIAFBACAEQQAQogQaQQAhAQNAIAEgBCgCAEgEQCAEIAEQTSgCAEF/RwRAIAAoAgAgBCABEE0oAgBB8ABsakEAOgAmCyABQQFqIQEMAQsLIAQQaAsLIAMEQCADLAAABEAgBBCqASAAIANBACAEQQAQogQaQQAhAQNAIAEgBCgCAEgEQCAEIAEQTSgCAEF/RwRAIAAoAgAgBCABEE0oAgBB8ABsakEBOgAmCyABQQFqIQEMAQsLIAQQaAsLIAQkBguZAQEEfyMGIQIjBkEQaiQGIABBqAFqIgMoAgAiAQRAIAEQ2QggARBMC0EYEE8iASAAKAJIEIIRIAMgATYCACAAEKAKIABBsAFqIgEgACgCrAEoAggiAxD6BiAAQcQBaiIAIAMQnAoDQCAEIANIBEAgAUEBELABIAJB09X5ABCFASAAIAIQqwIgAhBYIARBAWohBAwBCwsgAiQGC60EAgZ/An0jBiEHIwZBMGokBiAHQQhqIQUgB0EYaiEGIAdBFGohCCAHQRBqIQkgBCAAQRRqIAAgABD8BiAAQbSnCGooAgAgAEHmDmotAABBAEcgAEGSyAhqLQAAQQBHIABBosgIai0AAEEARyADIAIQmAoEQCAAQeyfCGooAgAEQEGsvBkgBxBLIAcgBCgCBBDXASAHEJ0BCyAGELIBIARByABqIgMoAgAoAgBFBEAgBUH0uhk2AgAgBUGIAjYCBEG0rBZByLwZQQJBx+scIAUQUQtDAAD+QiELQQAhAgNAIAIgAygCACgCAEgEQEHIABBPIgVBACALIAuMQX9DAAAAAEMAAAAAQwAAAABBBBDqBiAGIAUQjQQgC0MAAAC+kiELIAJBAWohAgwBCwsCQCAAQaKkCGotAABFBEAgBkEIaiEKQQAhAgNAIAAtAO4CBH8gACABIAQgCBCVLwUgACAGQQBBASAEIAgQjBoLIgVFDQIgBCAIKAIAIgMgBRCLGiAGKAIAIAooAgAgAxCzASgCACIFKgIgu0RpVxSLCr8FQKO2IQsgBSALEOcQIAUgC4wiDBCnB0HIABBPIgUgAkEBaiICIAtDAAAAvpIgDEF/QwAAAABDAAAAAEMAAAAAQQQQ6gYgCSAFNgIAIAYgCSADQQFqEL8IDAAACwALCyAEEMQYIAYoAgAiACAGKAIIQQAQswEhASAEIAAgARC+GiAGEGgFIAQQxBgLIAckBguCAQEBfyAALgEAIAEuAQBrIgJBACACayACQX9KG0EDSgR/QQAFIAAuAQQgAS4BBGsiAkEAIAJrIAJBf0obQQNKBH9BAAUgAC4BBiABLgEGayICQQAgAmsgAkF/ShtBA0oEf0EABSAALgECIAEuAQJrIgBBACAAayAAQX9KG0EESAsLCwu8AgEFfyMGIQMjBkEgaiQGIAAoAgBFBEBB9JUWQb+6GUECQQAgAxBRCyADQQhqIQIgAUUEQEH8lRZBv7oZQQJBgoQaIAIQUQsgA0EQaiECIAFBBGoiBCgCAARAQaiWFkG/uhlBAkEAIAIQUQsgACgCACIFKAIAIgYEQCAEIABBDGoiBCgCACICNgIAIAIgATYCACAAKAIIIgIEQCABIAI2AgAgAiABNgIEIABBBGoiACgCACACRgRAIAAgATYCAAsgAiAGRgRAIAUgATYCAAsFIAEgACgCBCICNgIAIAIgATYCBCAAQRBqIgAsAAAEQCAFIAE2AgAgAEEAOgAACwsgBCABNgIABSAEIAE2AgAgASABNgIAIAUgATYCACAAIAE2AgwgACABNgIEIABBADoAECAAQQA2AggLIAMkBgu4BQMPfwF9AXwjBiELIwZB8ABqJAYgC0EwaiERIAtBGGohDiALQdQAaiEMIAtBOGohDyAAIAAoAgAoAghB/wFxQQZqEQUAKAIgEOoMIRIgASACQRRsaiEVIAVBAWohEyAAQRRqIRYgAEGUqQhqIRRBASENA0AgDSAVKAIATARAIAwgFSANQX9qEE0oAgAQVSAMEFtDAAAAACEZA0ACQCAMEFkNACAMEFMiCioCICEZIAooAgQiCiAEIAUQTSgCAEYNACAKIBIoAgBIBEAgEiAKEE0oAgAEQCAPIBIgChBNKAIAEFUgDxBbA0ACQCAPEFkNACAPEFMiCigCCEF/RgRAIAooAlwgBCAFEE0oAgBGDQELIA8QVgwBCwsgDxBZRQ0CCwsgDBBWDAELCyAMEFlFBEAgByANELABAkACQCANIAJqIgogA0cNACATIAQoAgBHDQAgGSAGkiEZIBQoAgBBAkoEQCAIKgIAuyEaIAcoAgAhCiAJKAIAIRAgCyAZuzkDACALIBo5AwggCyAKNgIQIAsgEDYCFEG2txkgCxBLCyAJKAIABEAgGSAIKgIAXUUNAgsgCSAHEKwEGiAIIBk4AgAMAQsgCiADSARAIBMgBCgCAEgEQCAUKAIAQQNKBEAgBCAFEE0oAgAhECAWIAQgBRBNKAIAEMwBIRdB87cZQfm3GSAMEFMoAgQgBCAFEE0oAgBGGyEYIA4gEDYCACAOIBc2AgQgDiAYNgIIIA4gAjYCDCAOIA02AhBB/7cZIA4QSwsgACABIAogAyAEIBMgGSAGkiAHIAggCRDIGCAUKAIAQQNKBEAgBCAFEE0oAgAhCiAWIAQgBRBNKAIAEMwBIRAgESAKNgIAIBEgEDYCBEGxuBkgERBLCwsLCyAHIAcoAgBBf2oQ8gELIA1BAWohDQwBCwsgCyQGC/YDARB/IwYhAyMGQaABaiQGIANBGGohDSADQRBqIQsgA0EIaiEOIANBHGoiBCABENgCIARBEGohDyAAQZSpCGohEEEAIQBBACEBA0AgDygCACIJIgYEQCAJQcQBaiIHKAIAIQpBwAAQTyIFIAkoAkQgChCtByAFQQIQ7wQgCUGwAWohDEEAIQhBACECA0AgCCAKSARAIAIgByAIEE0Q3wFBAEpqIQIgBUF/IAwgCBBNKAIAQwAAgD9DAACAvxDDBiAIQQFqIQgMAQsLIAIEQCAAIAJrIAcoAgBqIQAgBiAFEJYKGiAGQQFBACAFEJUKGiACIBFqIREFIBAoAgBBAEoEQEGitRkgAxBLIAMgCSgCBBDXASADEJ0BCyAEELYHIAUQoAIgBRBMIAFBAWohAQsgBBDPARoMAQsLIAQQsgIgBEEIaiEKIARBFGohBiAEQSBqIQwDQCAPKAIAIgIiBwRAIAcQihEgBxCgCiACQQRqIgIoAgBBAyAKKAIAIAYoAgBHENYBIAIoAgBBBCAMKAIAIAYoAgBHENYBIAQQzwEaDAELCyAQKAIAQQBKBEAgDiARNgIAQcS1GSAOEEsgAEEASgRAIAsgADYCACALQQA2AgRB3bUZIAsQSwsgAUEASgRAIA0gATYCAEGKthkgDRBLCwsgAyQGC7gBAQZ/IwYhAiMGQaABaiQGIAJBCGohBiACQQxqIQQgAkEgaiIFIAEQ2AIgBUEQaiEHA0AgBygCACIDIgEEQCADKAIEIgMQlQcEQCADEJUHLAAABEAgBBCqASAAIAMQlQcgBBCaLwRAIAAgBCABEJkvRQRAIAYgAxCVBzYCAEHnthkgBhBLIAUQtgcLBSACIAMQlQc2AgBBtbYZIAIQSyAFELYHCyAEEGgLCyAFEM8BGgwBCwsgAiQGCxsAIAAgASACIAAoAgAoAhxB/wBxQZAEahECAAtQAQN/IABBCGohAwNAIAEgACgCAEgEQCADKAIAIAFBAnRqKAIAIgIEQCACEJ8NIAIQTAsgAUEBaiEBDAELCyAAKAIAQQBKBEAgAEEANgIACwsqAQF/IwYhAiMGQRBqJAYgAiAAQdAAahBQIAAgATYCHCACKAIAGiACJAYLIQAgABCYASAAQQAgAS8BAGs7AQAgAEEAIAEvAQJrOwECCwkAIABCATcDAAtgAQR/IwYhBiMGQSBqJAYgBkEEaiIHEKQEIAYgAhCwLwJ/IAYgBxDfGiEIIAYQWCAICwR/IAdBABDoCCAAIAEgB0EAENkBIAMgBCAFEK8vBUEACyEJIAcQtAUgBiQGIAkLOQEBfyAAIAFB//8DcRDiASAAIAJB//8DcRD0ASAAQQRqIgUgA0H//wNxEOIBIAUgBEH//wNxEPQBC5EFAQ5/IwYhBCMGQdAIaiQGIARBqAhqIQkgBEGgCGohECAEQYAIaiEIIARBwAhqIQogBEG8CGohCyAEQbgIaiEMIARBtAhqIQ0gBCIGEHkgAyAEKQMANwEAIAJB09X5ABDgARoCfwJAIAAsAAAiBUFvRgRAIAAsAAFBu39GBH8gAEEDaiAAIAAsAAJBv39GGyIFIQQgBSwAAAUgACEEQW8hBQwCCyEFBSAAIQQLIAVB/wFxBH8MAQVBAAsMAQsgBCEHA0ACQCAOQQFqIQQgBiAOaiAFOgAAAkAgB0EBaiIPLAAAIgUiDgRAIA5BIEcNAQsMAQsgBEH/B0kgBUEJR3EEQCAEIQ4gDyEHDAILCwsgBiAEakEAOgAAIAdBAmogDyAPLAAAGyEFIAFBADYCACAIIAo2AgAgCCALNgIEIAggDDYCCCAIIA02AgwgCCABNgIQAn8gBUG/sBkgCBCSAkEBckEFRgR/IAZB+bAZEMUBRQRAIAVBIxDaAiIABEAgBiAAQQFqQf8HENIEGiAGQQA6AP8HIAYQ0AggBhBjIQQLCyAIQR1qIQFBACEHAkACQANAIAQgB0oEQCAIIAYgB2oiBSAEIAdrEO4HIAEsAAAiAEEeIABB/wFxQR5IGyIARQ0CIAAgB2ohBwwBCwsMAQsgBSwAACEAIAkgBTYCACAJIAA2AgQgCSAHQQFqNgIIQYGxGSAJEEtBAAwCCyACIAYQ4AEaIAooAgAgDCgCAEoEQCAKIAwQxAwLIAsoAgAiASANKAIAIgBKBEAgCyANEMQMIAsoAgAhASANKAIAIQALIAMgCigCACABIAwoAgAgABDRGEEBBSAQIAA2AgBBzrAZIBAQS0EACwsLIREgBiQGIBELvAEBBX8jBiEIIwZBIGokBiAEIANBAnRqIQogA0EBaiEJIAJBEGohCyAAIQMDQAJAIAMgAU4NACADIABrIAsoAgBODQAgAiAAIAMQ4AIEQCAIIAIgACADEOACEFUgCBBbIANBAWoiAyABSCEMA0AgCBBZRQRAIAogCBBTNgIAIAwEQCADIAEgAiAJIAQgBSAGIAcQ0xgFIAkgBCAFIAYgBxDALwsgCBBWDAELCwUgA0EBaiEDCwwBCwsgCCQGC/gBAQV/IAFBAUggAEEEaiIGKAIAIAFOckUEQEF/IAFBBCABQQRKGyIDQTxsIgFBBGogA0HEiJEiSyABQXtLchsQTyIBIAM2AgAgAUEEaiEEIAMEQCAEIANBPGxqIQIgBCEBA0AgARCwECABQTxqIgEgAkcNAAsLIABBCGohBUEAIQEDQCAFKAIAIQIgASAAKAIASARAIAQgAUE8bGogAiABQTxsahDVGBogAUEBaiEBDAELCyACBEAgAkF8aiIBKAIAIgAEQCACIABBPGxqIQADQCAAQURqIgAQzQwgACACRw0ACwsgARBMCyAFIAQ2AgAgBiADNgIACwuEAQECfyAAIAEQmAIaIABBBGoiAiABQQRqIgMpAgA3AgAgAiADKQIINwIIIAIgAykCEDcCECACIAMpAhg3AhggAiADKQIgNwIgIABBLGogAUEsahCYAhogAEEwaiABQTBqEJgCGiAAQTRqIgIgAUE0aiIBKAIANgIAIAIgAS4BBDsBBCAAC0IBAn8gAEEIaiECIABBBGohAwNAAkAgASACKAIATg0AIAAoAgAgAygCACABEIsBEIUERQ0AIAFBAWohAQwBCwsgAQskAQF/IAAsAAAiAQR/IABBAWogAEHqrRkgAUEEEMsFGwUgAAsLJgAgABDfAUEBRgR/Qe6tGSAAQQAQ3gEsAABBCRDLBUEARwVBAAsLEABBua0ZIABBChDLBUEARwsQAEHDrRkgAEEGEMsFQQBHCxIAIAAQ2BgEf0EBBSAAEMkvCwvoAQEFfyMGIQIjBkEQaiQGAn8CQCABQRxqIgUoAgBBAUcNACAAIAFBABCgEBDHL0UNAEEBDAELIAIgADYCACACIAE2AgQgAiABKAIcNgIIQQAhAEEAIQEDQAJAIAFBA0kgACAFKAIASHFFDQAgAiAAENYYIgQgAEEBakoNACACIAQQxi8iAyAERgR/IAIgBBDFLyIDIARGBH8gAiAEEMQvIgMgBGtBAUYEfyADBQwDCwUgAwsFIAMLIQAgAUEBaiEBIAIgABDWGCIDIABHBEAgAyEADAILCwsgACAFKAIARgshBiACJAYgBgtDAQF/IAAgASkCADcCACAAIAEpAgg3AgggACABKAIQNgIQIAFBFGoiAiAAQRRqIgFHBEAgARDFAyABIAIQ8xgaCyAAC/kBAQV/IAFBAUggAEEEaiIGKAIAIAFOckUEQEF/IAFBBCABQQRKGyIDQRRsIgFBBGogA0HMmbPmAEsgAUF7S3IbEE8iASADNgIAIAFBBGohBCADBEAgBCADQRRsaiECIAQhAQNAIAEQ1gIgAUEUaiIBIAJHDQALCyAAQQhqIQVBACEBA0AgBSgCACECIAEgACgCAEgEQCAEIAFBFGxqIAIgAUEUbGoQ/AwaIAFBAWohAQwBCwsgAgRAIAJBfGoiASgCACIABEAgAiAAQRRsaiEAA0AgAEFsaiIAEM4CIAAgAkcNAAsLIAEQTAsgBSAENgIAIAYgAzYCAAsLUgEBfyAAKAIAIgIgACgCBEYEQCAAKAIEIgIEQCAAIAJBAXQQ3hgFIABBBBDeGAsgACgCACECCyAAIAJBAWo2AgAgACgCCCACQRRsaiABEPwMGguHBwERfyMGIQcjBkHQAGokBiAHQUBrIQwgB0E8aiEKIAdBOGohECAHQTRqIQ0gB0EwaiERIAdBLGohEiAHQRhqIQggB0EEaiELIAIhBgNAIAYgA0gEQCAJIAEgBhB6KAIALQAEaiEJIAZBAWohBgwBCwsgCSADIAJrIhRBAhBOTiETIAVBAToAAEEAQQJBmagZIAEgAiADELkGBEAgASACEHooAgQhDiABIAIQeigCECEPIAogASACQQFqIgYQeigCCCIJNgIAIAwgCTYCACANIAEgBhB6KAIMIgk2AgAgECAJNgIAIBJBADYCACARQQA2AgACQAJAAkADQCAGIANODQIgASAGEHooAgQgDkcNASABIAYQeigCECAPRw0BIAEgBhB6QQhqIAwgChCkByABIAYQekEMaiAQIA0QpAcgCCABIAYQeigCDCABIAYQeigCCGs2AgAgCCARIBIQpAcgBkEBaiEGDAAACwALQbmoGSAHEEsgBUEAOgAAIAAQzAQMAQsgCigCACIVIAwoAgAiFmsiCiAESiIJIA0oAgAiDCAQKAIAIg1rIgYgBEoiA3EEQCASKAIAIBEoAgBrIARBAXROBEAgBUEAOgAAIAAQzAQMAgsgFEEDSARAIAAQzAQFIABBAkEAQQBBACAEEJwHCwwBCyAUQQNIBEAgABDMBAwBCyAIQQEgDiABIAIQeigCCCAVIBZqQQIQTiAEEJwHIAtBAyAPIAEgAhB6KAIMIAwgDWpBAhBOIAQQnAcgEwR/QQAhDiALEKMQQQFzBSAIEKMQQQFzIQ5BAAshDyAKIARIIQogBiAESCEEAkAgAwRAIA4gCkEBc3IEQCAFQQA6AAAgABDMBAUgACAIKQIANwIAIAAgCCkCCDcCCCAAIAgoAhA2AhALBSAJBEAgDyAEQQFzcgRAIAVBADoAACAAEMwEDAMFIAAgCykCADcCACAAIAspAgg3AgggACALKAIQNgIQDAMLAAsgASACEHooAgghAyABIAIQeigCDCEBIBMgCnEEQCADIBZIIAMgFUpyBEAgACAIKQIANwIAIAAgCCkCCDcCCCAAIAgoAhA2AhAMAwsLIBMgBEEBc3JFBEAgASANSCABIAxKcgRAIAAgCykCADcCACAAIAspAgg3AgggACALKAIQNgIQDAMLCyAFQQA6AAAgABDMBAsLCwUgABDMBAsgByQGC/gBAQV/IAFBAUggAEEEaiIGKAIAIAFOckUEQEF/IAFBBCABQQRKGyIDQRRsIgFBBGogA0HMmbPmAEsgAUF7S3IbEE8iASADNgIAIAFBBGohBCADBEAgBCADQRRsaiECIAQhAQNAIAEQ0wMgAUEUaiIBIAJHDQALCyAAQQhqIQVBACEBA0AgBSgCACECIAEgACgCAEgEQCAEIAFBFGxqIAIgAUEUbGoQxgwaIAFBAWohAQwBCwsgAgRAIAJBfGoiASgCACIABEAgAiAAQRRsaiEAA0AgAEFsaiIAEGggACACRw0ACwsgARBMCyAFIAQ2AgAgBiADNgIACwtRAQN/IwYhAiMGQRBqJAYDQCADIAAoAgAiBCgCAEgEQCACIAQgAxBNKAIAIgQ2AgAgBCgCAEECRwRAIAEgAhD+CQsgA0EBaiEDDAELCyACJAYLtQIBB38jBiEEIwZBMGokBiAEQRRqIgcQ0wMgACgCDCIDIAIgAyACSBshCCAAQQRqIQUgACgCCCICIAEgAiABShsiASABQQBKQR90QR91aiEBA0AgASAISARAIAUoAgAgARB6KAIAKAIYBEAgACABELgGIQMgBSgCACABEHogAxDgLyAEENMDIANBCGohBkEAIQIDQCACIAMoAgAiCUgEQAJAAkAgBSgCACABIAkgBigCACACELMBKAIAEJ0HDQAgBSgCACABIAMoAgAgBigCACACELMBKAIAEMoMDQAMAQsgBCADKAIAIAYoAgAgAhCzARD+CQsgAkEBaiECDAELCyAAIAFBAWoiARC4BiAEEMYMGiAEEGgFIAAgAUEBaiIBELgGIAcQxgwaCwwBCwsgBxBoIAQkBgsUACAAIAEoAgAQoQcgACABELEQGgsZACAAIAEgACgCACgCGEH/AXFBkAJqEQEACzEAIABBFGoiACgCAEEBRgR/IABBABBkKAIAQdMARgR/IABBABBkKAIEBUEACwVBAAsLMQAgAEEUaiIAKAIAQQFGBH8gAEEAEGQoAgBBwwBGBH8gAEEAEGQoAgQFQQALBUEACwu5AQEFfyABQQFIIABBBGoiBSgCACABTnJFBEBBfyABQQQgAUEEShsiAkEDdCACQf////8BSxsQTyEDIAIEQCADIAJBA3RqIQQgAyEBA0AgARDqAiABQQhqIgEgBEcNAAsLIAAoAgAhBCAAQQhqIgYoAgAhAUEAIQADQCAAIARIBEAgAyAAQQN0aiABIABBA3RqKQIANwIAIABBAWohAAwBCwsgAQRAIAEQTAsgBiADNgIAIAUgAjYCAAsLWQEBfyAAKAIAIgMgACgCBEYEQCAAKAIEIgMEQCAAIANBAXQQ6BgFIABBBBDoGAsgACgCACEDCyAAIANBAWo2AgAgACgCCCADQQN0aiACrUIghiABrYQ3AgALcgECfyABQX9KBEAgACgCACICIAFKBEAgAEEIaiEDA0AgASACQX9qIgJIBEAgAygCACICIAFBA3RqIAIgAUEBaiIBQQN0aikCADcCACAAKAIAIQIMAQsLIAAgAjYCAA8LC0GvhB1B0IQdQf8FQfCEHRABC/oBAQZ/IwYhAyMGQRBqJAYgASACSAR/IAAgARB6KAIAQRxqEGtBEHRBEHUhBAJ/IAAgAkF/aiIFEHooAgBBHGoQa0EQdEEQdSAEaiEHIAAgARB6KAIAQRxqEG5BEHRBEHUhBiADQQAgACAFEHooAgBBHGoQbkEQdEEQdSAGakECEE5BBWoQsQEDQCABIAJIBEAgACABEHooAgAoAhhBAUoEQCADIAAgARB6KAIAKAIUQQEQiAELIAFBAWohAQwBCwsgBwtBBhBOIgBBAiAAQQJKGyEAIAMQ4wEQWiEBIAMoAgwQhAEgASAAIAAgAUgbBUEBCyEIIAMkBiAIC10BA38jBiEDIwZBIGokBiADQRBqIQQgA0EIaiEFQcGiGSADEEsDQCABIAJIBEAgBCAAIAEQeigCABBdNgIAQbDmHSAEEEsgAUEBaiEBDAELC0HBohkgBRBLIAMkBgunAgEIfwJAQQBBAEHvoRkgACABIAIQuQYEQCAEQQBKIQggASEFA0AgBSACTg0CIAAgBSADEJ0HIQYCQCAAIAUgAxDKDCIHIAZBAXMiCXIEQCAGIAdBAXMiBnJFBEAgACAFEHogAxCbBwwCCyAJIAZyRQRAAkACQCAFIAFKBEAgCEUEQCAAIAVBf2oQeiAAIAUQeiADKAIAEJgHIQogACAFEHohBiAKDQIMAwsCfyADKAIAQQFGIQsgACAFQX9qEHohBiALCwR/IAYoAgwgBEoFIAYoAgggBEoLIQwgACAFEHohBiAMRQ0CBSAAIAUQeiEGIAUgAUcNAgsLIAYgAxDuBQwDCyAGIAMQmwcLBSAAIAUQeiADEO4FCwsgBUEBaiEFDAAACwALCwsjACAAIAFBQGsoAgAgASgCRCABKAJIIAEoAkwgASgCEBCcBwuwBAEJfyMGIQUjBkFAayQGIAVBNGohCSAFQTBqIQYgBUEsaiEIIAVBKGohCyAFQRhqIQcgBUEIaiEKQQBBAEHmpBkgACABIAIQuQYEQCAAIAEQeigCBCEDIAYgACABEHooAgggA2oiAzYCACAJIAM2AgAgACABEHooAhAhAyALIAAgARB6KAIMIANqIgM2AgAgCCADNgIAIAEhAwNAIAMgAkgEQCAAIAMQeiIEELEIIAQoAgAoAhgEQCAHIAQoAgggBCgCBGo2AgAgByAJIAYQpAcgByAEKAIMIAQoAhBqNgIAIAcgCCALEKQHCyADQQFqIQMMAQsLIAcgCSgCACAGKAIAQQFqELEBIAogCCgCACALKAIAQQFqELEBIAEhAwNAIAMgAkgEQCAAIAMQeiIEKAIAKAIYBEAgByAEKAIIIAQoAgRqQQEQiAEgCiAEKAIMIAQoAhBqQQEQiAELIANBAWohAwwBCwsgBUHkADYCACAHQQpBACAFENUBt0QAAAAAAABZQKMQzgEQWiEEIAVB5AA2AgAgCkEKQQAgBRDVAbdEAAAAAAAAWUCjEM4BEFohCQNAIAEgAkgEQCAAIAEQeiIDQQRqIgYoAgAhCCAGIAQ2AgAgA0EIaiIGIAggBGsgBigCAGo2AgAgA0EQaiIGKAIAIQggBiAJNgIAIANBDGoiAyAIIAlrIAMoAgBqNgIAIAFBAWohAQwBCwsgCigCDBCEASAHKAIMEIQBCyAFJAYLcAECfyABQX9KBEAgACgCACICIAFKBEAgAEEIaiEDA0AgASACQX9qIgJIBEAgAygCACICIAFBA3RqIAIgAUEBaiIBQQN0ahCsEBogACgCACECDAELCyAAIAI2AgAPCwtBr4QdQdCEHUH/BUHwhB0QAQsRACAAQdUANgIAIABBADYCBAtUAQF/IAAoAgAiAiAAKAIERgRAIAAoAgQiAgRAIAAgAkEBdBCuEAUgAEEEEK4QCyAAKAIAIQILIAAgAkEBajYCACAAKAIIIAJBA3RqIAEQrBAaIAILRAECfyAAIAEoAgAgACgCAGoQrhAgAUEIaiEDA0AgAiABKAIASARAIAAgAygCACACQQN0ahD0LyACQQFqIQIMAQsLIAALfQEDfyAAQQA2AgAgAUEBSARAIABBADYCCAVBfyABQQQgAUEEShsiAkEDdCACQf////8BSxsQTyEDIAIEQCADIAJBA3RqIQQgAyEBA0AgARDxGCABQQhqIgEgBEcNAAsLIAAgAzYCCAsgACACNgIEIABBADYCDCAAQQA2AhAL2AEBBH8jBiEGIwZBQGskBiAGQRBqIQggBkEIaiEHIAZBFGohBSAAQQJBn6YZIAEgAiADELkGBEAgAEEBSgRAQbamGSAGEEsgByACNgIAIAcgAzYCBEHlphkgBxBLQbamGSAIEEsLIAEgAiADEO8YIAEgAiADEOcvIAVBjqcZEIUBIABBAkoiByAFIAQgARCeByAFEFggACABIAIgAyAEEOYvIAVBpqcZEIUBIAcgBSAEIAEQngcgBRBYIAUgASACIAMgBBDlLyAFEOMvIAVBEGoQ4i8LIAYkBgsiAQF/IAAQVyAAQQRqIgFBADYCACABQQA7AQQgAUEAOgAGC70BAQN/IwYhAyMGQSBqJAYgARCqESADIAEQwAlBACEBA0AgAiAAKAIASARAIAJFIQQCQAJAIAAgAhBNKAIABEAgBARADAIFIAAgAkF/ahBNKAIAIAAgAhBNKAIARw0CCwUgBEUEQCAAIAJBf2oQTSgCACABRgRAIAAgAhBNIAE2AgAMBAsLQQwQTyIBEPYYIAAgAhBNIAE2AgAMAQsMAQsgAyAAIAIQTSgCABCgAQsgAkEBaiECDAELCyADJAYLlwIBBH9BrAEQ7AIiAUEBOgACIAFBADsBACABQQA6AAMgAUEEaiECA0AgAEEBRwRAQYASEOwCIgNBAEGAEhCMARogAiAAQQJ0aiADNgIAIABBAWohAAwBCwsgAUHAABDsAiIANgIkIABCADcAACAAQgA3AAggAEIANwAQIABCADcAGCAAQgA3ACAgAEIANwAoIABCADcAMCAAQgA3ADggAUEoaiIAQgA3AgAgAEIANwIIIABCADcCECAAQgA3AhggAEIANwIgIABCADcCKCAAQgA3AjAgAEIANwI4IABBQGtCADcCACAAQgA3AkggAEIANwJQIABCADcCWCAAQgA3AmAgAEIANwJoIABCADcCcCAAQgA3AnggAQsZACAAIAEgACgCACgCFEH/AXFBkAJqEQEAC0UBA39BhKAIEOwCIgFBADYCACABQQA2AgQgAUEIaiECA0AgAEH//wFHBEAgAiAAQQJ0akEANgIAIABBAWohAAwBCwsgAQtYAQN/IABBADYCAEGUARBPIgFBBDYCACABQZQBaiECIAFBBGoiAyEBA0AgARD8GCABQSRqIgEgAkcNAAsgACADNgIIIABBBDYCBCAAQQA2AgwgAEEANgIQCxgAIABCADcCACAAQgA3AgggAEEQahCqAQv4AQEFfyABQQFIIABBBGoiBigCACABTnJFBEBBfyABQQQgAUEEShsiA0EkbCIBQQRqIANBx+PxOEsgAUF7S3IbEE8iASADNgIAIAFBBGohBCADBEAgBCADQSRsaiECIAQhAQNAIAEQ/BggAUEkaiIBIAJHDQALCyAAQQhqIQVBACEBA0AgBSgCACECIAEgACgCAEgEQCAEIAFBJGxqIAIgAUEkbGoQ/hgaIAFBAWohAQwBCwsgAgRAIAJBfGoiASgCACIABEAgAiAAQSRsaiEAA0AgAEFcaiIAEKoHIAAgAkcNAAsLIAEQTAsgBSAENgIAIAYgAzYCAAsLOQEBfyAAIAEpAgA3AgAgACABKQIINwIIIAFBEGoiAiAAQRBqIgFHBEAgARDJECABIAIQixkaCyAACxAAIABBADYCACAAQQA2AggLxwEBB38gAUEBSCAAQQRqIgUoAgAg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NgIAIABBnN8IaiECIAFFIQNBACEAA0AgACACKAIASARAIAIgABBNKAIAIAMEf0EABSABEN0BCxCbGyAAQQFqIQAMAQsLC5wBACAAIAEpAgA3AgAgACABKQIINwIIIAAgASkCEDcCECAAIAEpAhg3AhggACABKQIgNwIgIAAgASkCKDcCKCAAIAEpAjA3AjAgACABKQI4NwI4IABBQGsgAUFAaykCADcCACAAIAEpAkg3AkggACABKQJQNwJQIAAgASkCWDcCWCAAQeAAaiABQeAAahCYAhogACABKAJkNgJkIAALUwEBfyAAKAIAIgIgACgCBEYEQCAAKAIEIgIEQCAAIAJBAXQQpxEFIABBBBCnEQsgACgCACECCyAAIAJBAWo2AgAgACgCCCACQegAbGogARCcGxoLRQECfyAAIAEoAgAgACgCAGoQpxEgAUEIaiEDA0AgAiABKAIASARAIAAgAygCACACQegAbGoQ6DMgAkEBaiECDAELCyAAC5YBAQN/IABBADYCACABQQFIBEAgAEEANgIIBUF/IAFBBCABQQRKGyICQegAbCIBQQRqIAJB4s7YE0sgAUF7S3IbEE8iASACNgIAIAFBBGohAyACBEAgAyACQegAbGohBCADIQEDQCABEKYRIAFB6ABqIgEgBEcNAAsLIAAgAzYCCAsgACACNgIEIABBADYCDCAAQQA2AhALCwAgABDqMyAAEGgLZwEEfyAAIAAoAgAoAghB/wFxQQZqEQUAIQIgAEEEaiEDIABBCGohBEEAIQADQCAAIAJIBEAgAygCACAAQQJ0aigCACIBRSABIAQoAgBGckUEQCABEJ8GIAEQTAsgAEEBaiEADAELCwuBAQEBfyAAQSRqEOszIABBADYCRCAAQdwAaiIBKAIAEJoNRQRAIAFBADYCAAsgAEHgAGpB09X5ABDgARogAEEAOgBoIABBgKCNvgQ2AmwgAEHwAGoQaCAAQYQBahBoIABBADoAmAEgAEGcAWoiASgCABBMIAFBADYCACAAQQA2AqABCz8BAX8gAEGUAWoiACgCACIBBEAgARChGyAAKAIAIgEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAEEANgIACwtTAQJ/IABBBGohASAALACQAgRAIAEoAgAiAgRAIAIQuQcgAhBMCwsgAUEANgIAIABBpAFqIgIo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AEGsAmoQ/AUgAEEAOgCQAwsVAQF/QR8gAGdrIgFBASABdCAAR2oLRwECfyAAQQA2AgAgAEEANgIEIABBADYCCCABQQRqIgIoAgAgASgCAGsiAwRAIAAgA0ECdRDBCiAAIAEoAgAgAigCABDHEQsLOgAgACABKQIANwIAIAAgASkCCDcCCCAAIAEpAhA3AhAgAEEYaiABQRhqEL8bIABBJGogAUEkahC/GwtGAQF/IAAQxhEgACABKAIANgIAIAAgAUEEaiICKAIANgIEIAAgAUEIaiIAKAIANgIIIABBADYCACACQQA2AgAgAUEANgIACxQAIAAEfyAAKAIIIAEQrg0FIAELCz0BAX8gACABNgIIQQEhAgNAIAJBA0cEQCAAQQhqIAJBAnRqIAAgAhC3BTYCACACQQFqIQIMAQsLIAAQzRELNgECfwNAIAMgAEgEQCACIANBA3RqIgQgASADQQN0aisDACAEKwMAoDkDACADQQFqIQMMAQsLC7QBAQR/IABBBGohAkECIQECQAJAA0ACQCABQX9MBEBBACEADAELIABBCGogAUECdGoiAygCACIEQQBKDQIgAyAAIAEQtwUiAzYCACACIAIoAgAgACgCAEEMaiABQQJ0aigCACADbGo2AgAgAUF/aiEBDAELCwwBCyADIARBf2o2AgAgAQRAIAIgAigCACAAKAIAQQxqIAFBAnRqKAIAazYCAAUgACAAKAIIEMMbC0EBIQALIAALDgAgACAAQQAQtwUQwxsLCgAgACwAGBCJAQuiAQECfyAAQaihFjYCACAAQfgIaigCACIBBEAgASABKAIAKAIEQf8DcUGiB2oRAAALIABB0A5qEMwHIABB3ApqIQIgAEHQDmohAQNAIAFBnH9qIgEQvQUgASACRw0ACyAAQcQKahD2CCAAQeAJahC9BSAAQfwIahC9BSAAQUBrIQIgAEH4CGohAQNAIAFBqH5qIgEQyRsgASACRw0ACyAAEMcHC18BAn8gAEHQAWoiAigCACEBIAJBADYCACABBEAgARDIESABEEwLIABBsAFqEPgEIABBkAFqEPgEIABB8ABqEPgEIABB3ABqELwFIABBOGoQ+AQgAEEgahD2CCAAEPgEC5ABAgJ/AnwgA0EBcSEHIABBADoAWCAAIAEgAkQAAAAAAAAAABDDBwJAIAUEQCAEuyEIQQAh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EKwBGiAAIAEgAigCACAAKAIcEN8cQQAhAANAIAAgAigCACIDKAIASARAIAEgAkEMaiAAQQJ0aigCACADQQhqIABBAnRqKAIALQADEN0cIABBAWohAAwBCwsLXQEBfwJ/IAEEQCAAQRxqIQACQAJAA0AgAiAAKAIATg0CIAAgAhCiAigCBCABRg0BIAJBAWohAgwAAAsACyAAIAIQogJBCGoiASABKAIAQX9qNgIAQQEMAgsLQQALCwcAIAAoAigLvAIBCH8jBiEDIwZBEGokBgJAIABBBGoiBigCAEEASgRAIABBDGoiAigCAARAIABBCGohBANAIAEgACgCAE4NAyACKAIAIgUoAgAoAgghByADIAQoAgAgAUEMbGoiCBDJASADIAgpAgQ3AgQgBSADIAdB/wBxQawLahEDACADEFggAUEBaiEBDAAACwALCwsgAEEIaiIEKAIAIgIEQCACQXxqIgUoAgAiAQRAIAIgAUEMbGohAQNAIAFBdGoiARBYIAEgAkcNAAsLIAUQTAsgBEEANgIAIABBADYCACAGQQA2AgAgAEEMaiICKAIAIgEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAkEANgIAIABBEGoiASgCACIABEAgACAAKAIAKAIEQf8DcUGiB2oRAAALIAFBADYCACADJAYLuwEBB38jBiEDIwZBEGokBiAAQRxqIQEDQCACIAEoAgBIBEACfyABIAIQogIoAghBAEohByABIAIQogIoAgQhBCAHCwRAIAEgAhCiAigCCCEFIAEgAhCiAhBdIQYgAyAANgIAIAMgBDYCBCADIAU2AgggAyAGNgIMQZfIFyADEEsFIAQEQCAEIAQoAgAoAgRB/wNxQaIHahEAAAsgASACEKICQQA2AgQLIAJBAWohAgwBCwsgARDqHCADJAYLBwAgACgCJAtGAQN/IAAoAgAiAgRAIAJBfGoiAygCACIBBEAgAiABQQN0aiEBA0AgAUF4aiIBEMoNIAEgAkcNAAsLIAMQTAsgAEEANgIAC1kBBH8gAEEIaiEDA0AgASADKAIASARAIAAoAgAgAUHwAGxqQewAaiICKAIAIgQEQCAEEEwgACgCACABQfAAbGpB7ABqIQILIAJBADYCACABQQFqIQEMAQsLCzoBAn8gAARAIABBfGoiAigCACIBBEAgACABQQN0aiEB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+QAQrAIQvwJB5KH5AEEANgIAQeCh+QBBvM4WNgIAQeCh+QBBsNT5ABCsAhC/AgtOAQJ/IAIgAWshBSABIQADQCAAIAJHBEAgBCAAKAIAIgZB/wFxIAMgBkGAAUkbOgAAIARBAWohBCAAQQRqIQAMAQsLIAEgBUECdkECdGoLEQAgAUH/AXEgAiABQYABSRsLKQADQCABIAJHBEAgAyABLAAANgIAIANBBGohAyABQQFqIQEMAQsLIAILCgAgAUEYdEEYdQs8AANAIAEgAkcEQCABKAIAIgBBgAFJBEAgAEECdEHA4BVqKAIAIQALIAEgADYCACABQQRqIQEMAQsLIAILGwAgAUGAAUkEfyABQQJ0QcDgFWooAgAFIAELCzwAA0AgASACRwRAIAEoAgAiAEGAAUkEQCAAQQJ0QcDsFWooAgAhAAsgASAANgIAIAFBBGohAQwBCwsgAgsbACABQYABSQR/IAFBAnRBwOwVaigCAAUgAQsLRgADQAJAIAIgA0YEQCADIQIMAQsgAigCACIAQYABTw0AIABBAXRBwNgVai4BACABcUH//wNxBEAgAkEEaiECDAILCwsgAgtGAANAAkAgAiADRgRAIAMhAgwBCyACKAIAIgBBgAFJBEAgAEEBdEHA2BVqLgEAIAFxQf//A3ENAQsgAkEEaiECDAELCyACC0QAA0AgASACRwRAIAMgASgCACIAQYABSQR/IABBAXRBwNgVai8BAAVBAAsiADsBACADQQJqIQMgAUEEaiEBDAELCyACCyYAIAJBgAFJBH8gAkEBdEHA2BVqLgEAIAFxQf//A3FBAEcFQQALCyAAIABCADcCACAAQQA2AgggAEH80BZB/NAWEOMGENYHCyAAIABCADcCACAAQQA2AgggAEGU0RZBlNEWEOMGENYHCwwAIAAgAUEQahDDEgsLACAAEMYSIAAQTAsfACAAQgA3AgAgAEEANgIIIABBgN8gQYDfIBBjEMoCCx8AIABCADcCACAAQQA2AgggAEGG3yBBht8gEGMQygILDAAgACABQQxqEMMSCwcAIAAsAAkLBwAgACwACAsLACAAEMcSIAAQTAszAANAIAEgAkcEQCAEIAEsAAAiACADIABBf0obOgAAIARBAWohBCABQQFqIQEMAQsLIAILEgAgASACIAFBGHRBGHVBf0obCykAA0AgASAC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IAAoAhRqIAAoAhxrIQELIAELWgEDfyMGIQMjBkEQaiQGIAMgAigCADYCAEEAQQAgASADEOEHIgRBAEgEf0F/BSAAIARBAWoiBBByIgA2AgAgAAR/IAAgBCABIAIQ4QcFQX8LCyEFIAMkBiAFC5ICAQF/AkACQCABIABzQQNxDQAgAkEARyIDIAFBA3FBAEdxBEADQCAAIAEsAAAiAzoAACADRQ0DIABBAWohACACQX9qIgJBAEciAyABQQFqIgFBA3FBAEdxDQALCyADBEAgASwAAARAIAJBA0sEQANAIAEoAgAiA0GAgYKEeHFBgIGChHhzIANB//37d2pxDQQgACADNgIAIAFBBGohASAAQQRqIQAgAkF8aiICQQNLDQALCwwCCwVBACECCwwBCyACBEAgASEDIAIhAQNAIAAgAywAACICOgAAIAJFBEAgASECDAMLIANBAWohAyAAQQFqIQAgAUF/aiIBDQALQQAhAgVBACECCwsgAEEAIAIQjAEaC8EDAQR/IwYhBiMGQRBqJAYCQCAABEACfyACQQNLBH8gAiEDIAEoAgAhBQNAAkAgBSgCACIEQX9qQf4ASwR/IARFDQEgACAEEMoFIgRBf0YEQEF/IQIMBwsgAyAEayEDIAAgBGoFIAAgBDoAACADQX9qIQMgASgCACEFIABBAWoLIQAgASAFQQRqIgU2AgAgA0EDSw0BIAMMAwsLIABBADoAACABQQA2AgAgAiADayECDAMFIAILCyIFBEAgACEDIAEoAgAhAAJAAkADQCAAKAIAIgRBf2pB/gBLBH8gBEUNAiAGIAQQygUiBEF/RgRAQX8hAgwHCyAFIARJDQMgAyAAKAIAEMoFGiADIARqIQMgBSAEawUgAyAEOgAAIANBAWohAyABKAIAIQAgBUF/agshBSABIABBBGoiADYCACAFDQALDAQLIANBADoAACABQQA2AgAgAiAFayECDAMLIAIgBWshAgsFIAEoAgAiACgCACIBBEBBACECA0AgAUH/AEsEQCAGIAEQygUiAUF/RgRAQX8hAgwFCwVBASEBCyABIAJqIQIgAEEEaiIAKAIAIgENAAsFQQAhAgsLCyAGJAYgAguDAwEHfyMGIQUjBkGQAmokBiAFQYACaiIHIAEoAgAiCDYCACADQYACIABBAEciCRshBiAAIAUiCiAJGyEFAkAg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AgBBAAszAQF/IAAoAhAiAUUEQCAAEExBAA8LIAEgACgCADYCACAAKAIUIAAoAgw2AgAgABBMQQALWgACQAJAAkACQCACDgMAAQIDCyAAIAE2AgggAQ8LIABBCGoiAigCACABaiEAIAIgADYCACAADwsgACAAKAIMIAFrIgA2AgggAA8LQcqcIEGAzBQgACgCCBBKC44BAQV/IABBCGoiBCgCACIDIAJqIgYgAEEEaiIHKAIASwRAIAAgACAAQQxqIgUoAgAgBkEBdCIDEOkDIgA2AgAgByADNgIAIAQoAgAhAwUgAEEMaiEFIAAoAgAhAAsgACADaiABIAIQbRogBCAEKAIAIAJqIgA2AgAgBSAAIAUoAgAiASAAIAFLGzYCACACC3YBBX8jBiEDIwZBEGokBiACIAAoAgwiBiAAQQhqIgQoAgAiBWsiByAHIAJLGyECIAUgAmogBksEfyADIAI2AgBBxLQWQducICADEFwgAyQGQQAFIAEgACgCACAFaiACEG0aIAQgBCgCACACajYCACADJAYgAgsLQAEBf0EBQRgQgwEiAkGAwABBARCDATYCACACQYDAADYCBCACIAA2AhAgAiABNgIUIAJBADYCCCACQQA2AgwgAgspAQF/QQFBGBCDASICIAA2AgAgAiABNgIEIAIgATYCDCACQQA2AgggAgt7AQF/IwYhAiMGQRBqJAYCQCAABEAgACABEJgLIgFFBEBBja4gQbybIEEAEEoaQQAhAAwCCyABEIYUIQAgARD9ARogAEUEQCACQbybIDYCAEHEtBZBvZ0gIAIQXEEAIQALBUGoryBBvJsgQQAQShpBACEACwsgAiQGIAALggEBAn8jBiECIwZBEGokBiACQQRqIgMgATYCAAJAIAAEQCACIAA2AgAgAiADEJsOIgFFBEBB9ZsgQdybIEEAEEoaQQAhAAwCCyABEKMLIgAEQCAAQQQQ2gUgARDRBQUgARDRBUEAIQALBUHKmyBB3JsgQQAQShpBACEACwsgAiQGIAALwUABLX8CQCMGIQIjBkGgAWokBiACQUBrIR0gAkE4aiEfIAJBMGohICACQShqISEgAkEgaiEiIAJBGGohIyACQRBqISQgAkEIaiElQQQhBEEoEHIiA0EANgIAIAIiC0GQAWohFSACQYwBaiEWIAJBiAFqIRcgAkGEAWohJiAC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DSwAACIEOgDrAiAEQf8BcSEDIAAgAiADQQN2bCACIANsQQdqQQN2IARB/wFxQQdKGyICNgLkAiAHKAIAIgIsAAAiAwRAIAAgAEHgAmogAkEBaiAAQcgCaiIEKAIAQQFqIANB/wFxELUhIAcoAgAhAgUgAEHIAmohBAsgBCgCACACIAAoArgCQQFqEG0aIAAoAvgEQQRxBEAgACwAgAVBwABGBEAgAEHgAmogBygCAEEBahC0IQsLAkACQCAAQdABaiICKAIADQAgBigCAEGAgIACcQ0ADAELIAAQsyELAkACQCAMLAAARQ0AIAIoAgBBAnFFDQAgAEGEA2oiAi0AAEEGSARAIAAQsiELIAEEQCAAIAEgAi0AAEECdEGAkxJqKAIAEOATCwwBCyABBEAgACABQf8BEOATCwsgABDfEyAAKAL4AyIBRQRADwsgACALKAIAIAAtAIQDIAFB/wBxQawMahENAA8LIAAQ3xMLMwEBfyMGIQEjBkHgAGokBiAABEAgACABQfiIIBDiEyAAIAEQagVBAEH4iCAQagsgASQGC4UBAQR/IwYhASMGQRBqJAYCfyAAKALMASICQYAQcUEARyACQYAGcUGABkYgACwA/AJBIHFFGyEDIABBgQE2AtAFIAAgAUEEEJwLIAMLBEAgASQGQQAPCyABLQAAQRh0IAEtAAFBEHRyIAEtAAJBCHRyIAEtAANyIAAoAvACRyEEIAEkBiAEC+oBAQN/IAAoArwCIgNB/////wcgA0F/akH+////B0kbIQMCQAJAIAAsAPwCQckARw0AIAAsAP0CQcQARw0AIAAsAP4CQcEARw0AIAAsAP8CQdQARw0ADAELQf////8HIAAoAqwCIgIgACgCqAIgAC0AigNsQQJBASAALQCHA0EIShtsQQFqQQZBACAALACDAxtqIgRsIAJBfyAEEGZLGyICIAIgBEG2/gEgBEG2/gFJGxBmQQVsQQtqaiICQf////8HIAJB/////wdJGyICIAMgAyACSRshAwsgAyABTwRADwsgAEHNiCAQ5gcLagECfyABLQAAQRh0IAEtAAFBEHRyIAEtAAJBCHRyIAEtAANyIQFBASECA0AgAkEFRwRAIAFB/wFxIgNBv39qQTlLIANBpX9qQQZJcgRAIABB5YggEOYHCyABQQh2IQEgAkEBaiECDAELCws5ACAA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AQBBAUYEQCAHLgEAIgRBAUcEQCAILwEAIghBCEgEQCAFLwEAIQAgCkHg7hE2AgAgCiAANgIEIApB0tgfNgIIIAogBEH//wNxNgIMIAogCEH//wNxNgIQIAJBg9gfIAoQrgIaDAQLCwsLIABBOGoiBEIANwIAIARCADcCCCAEQQA2AhAgGSAAQRBqNgIAIAFBgAIgGRC9ARogGCAAQRRqNgIAIAFBgQIgGBC9ARogFyAAQRxqNgIAIAFBkgIgFxDcAiAMLgEAQQJGBEAgACAGQQJIIgE2AgggAUUEQCAAEJUiBEAgAyQGQQEPCyACQZLbHykAADcAACACQZrbHykAADcACCACQaLbHykAADcAECACQarbHygAADYAGAwCCwUgAEEBNgIICyAAEJYiBEAgAyQGQQEPCyACQZLbHykAADcAACACQZrbHykAADcACCACQaLbHykAADcAECACQarbHygAADYAGCADJAZBAA8LIAMkBkEAC+kHARJ/AkACQCMGIQIjBkGAAWokBiAAKAKABEUEQCABQavfHykAADcAACABQbPfHykAADcACCABQbvfHykAADcAECABQcPfHykAADcAGCABQcvfHykAADcAICABQdPfHykAADcAKCABQdvfHygAADYAMCABQd/fHy4AADsANAwCCyACQfAAaiEHIAJB6ABqIQggAkHYAGohBSACQdAAaiEJIAJByABqIQogAkFAayELIAJBOGohDyACQTBqIQwgAkEYaiEEIAJBEGohECACQQhqIREgAkH6AGohDSACQfgAaiESAkACQAJAIABB1ABqIhMuAQAiA0EBaw4QAAABAAEBAQABAQEBAQEBAAELDAELIAIgA0H//wNxNgIAIAFB/NYfIAIQrgIaDAILIABB4gBqIgYvAQAgAC8BqAFrIQ4gESANNgIAIABBhgIgERC9AQRAIA0uAQAhAwUCQAJAAkACQCAOQQFrDgMAAgECC0EBIQMMAgtBAiEDDAELIBBB4O4RNgIAIAFBrdcfIBAQrgIaDAMLIA0gAzsBAAsCQAJAIANBEHRBEHVBAkgEQCADQRB0QRB1QQBOBEACQAJAIANBEHRBEHUOAgAAAQsMBAsMAgsCQAJAAkACQCADQRB0QRB1QcyAfmsOAgABAgsgAC4BWEH0jn5GDQYgCUHz2R82AgAgCUH0jgI2AgQgAUHS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XAwHCyANIAY2AgAgDSAHNgIEQcS0FkHJkB8gDRBcDAYLQbGRH0GA+BFBARBKGgwGCwwFCwtBw48fQYD4EUEBEEoaDAMLBSAGIAdxDQILQayPH0GA+BFBARBKGiAFJAYPC0HgkB9BgPgRQQEQShoLIAUkBgvwDgEgfwJAIwYhAyMGQaAOaiQGIABFBEBBv4ofQeD2EUEBEEoaDAELIAFFBEBBnMMfQeD2EUEBEEoaDAELIANBsAxqIQUgASADQZwOaiISIANBmA5qIgkgA0GUDmoiChCTASABENkFIQYgARC8CSEHIANBgAxqIgRBAjYCACAAQagCIAQQogEaIANBiAxqIgQgBrdEAAAAAADAckAgBhs5AwAgAEGaAiAEEKIBGiADQZAMaiIEIAe3RAAAAAAAwHJAIAcbOQMAIABBmwIgBBCiARogA0GYDGoiBCASKAIANgIAIABBgAIgBBCiARogA0GgDGoiBCAJKAIANgIAIABBgQIgBBCiARogA0GoDGoiBEEBNgIAIABBkgIgBBCiARogARC/CSIEBEAgBSAENgIAIABBjgIgBRCiARoLIANB+A1qIQwgA0HwDWohEyADQegNaiEUIANB4A1qIRUgA0HYDWohFiADQdANaiEXIANByA1qIRggA0HADWohGSADQbgNaiEaIANBsA1qIRsgA0GoDWohHCADQaANaiEdIANBmA1qIR4gA0GIDWohCCADQYANaiEfIANB+AxqISAgA0HwDGohISADQegMaiEiIANB4AxqIQUgA0HYDGohBiADQcgMaiELIANBwAxqIQcgA0G4DGohBCADQYAIaiENIANBgARqIQ4gA0GQDmohDyADQYwOaiEQIANBiA5qIRECQAJAAkACQCAKKAIAQQFrDiAAAgICAgICAgICAgICAgICAgICAgICAgECAgICAgICAQILIARBADYCACAAQYYCIAQQogEaDAILIAdBAjYCACAAQYYCIAcQogEaIAtBCDYCACALQQg2AgQgC0EINgIIIABBggIgCxCiARogBkEDNgIAIABBlQIgBhCiARoMAQsgARDTASIERQRAIAVBATYCACAAQYYCIAUQogEaDAELIAQgDyAQIBFBABDLCxogBBDSAiIEQYACIARBgAJIGyIEQQEgCigCAHQiB0GAAiAHQYACSBsiB0oEQCAiQeD2ETYCAEHE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CCgCACIJaiIKakECdTYCACAIIAMgCmtBAnU2AgAgBiACIARrIgIgByAJayIEakHRImxBgIABaiIDIAJB/jBsakEPdTYCACAFIAMgBEHfiX9sakEPdTYCACABQQFqIQEgAEEEaiEADAELCwuUAgEGfyAAQQBBgAIQjAEaIAAhAwNAIAVBA0cEQCADIAEgBUECdGooAgAgAmoiBC0AACIGIAQtAAIiB2oiCCAELQABIgRqQQR0QYBQajYCACADIAggBGsgBGtBoS1sQYACakEJdTYCCCADIAYgB2tBsc4AbEGAAmpBCXU2AgQgBUEBaiEFIANBIGohAwwBCwtBACEBA0AgAUEDRwRAIAAgACgCACIDIABBQGsiBSgCACIEaiIGIABBIGoiBygCACICakHk8QBsQYCAAWpBD3U2AgAgBSAGIAJrIAJrQbrQAGxBgIABakEPdTYCACAHIAMgBGtBrYsBbEGAgAFqQQ91NgIAIAFBAWohASAAQQRqIQAMAQsLC38BBH8gAEEAQYACEIwBGiAAIAEoAgAgAmoiAy0AACIEIAMtAAEiA2oiBSABKAIEIAJqIgEtAAAiAiABLQABIgFqIgZqQQR0QYBAajYCACAAIAUgBmtBBHQ2AiAgACAEIANrIgMgAiABayIBakEEdDYCBCAAIAMgAWtBBHQ2AiQLBwAgABC5BQskACAAQQBBgAIQjAEaIAAgASgCACACai0AAEEGdEGAQGo2AgAL0isBDn8gACgCoAMhASAAQcwAaiEMIABB6AFqIQ0gAEEEaiEKIAAoAlQhBwNAIAIgDCgCAEgEQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAdBJGoiBSgCAEEIdCAHQShqIgYoAgBqQYECaw6QHgAeICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAWASAdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICACICAcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAVIAMgICAbICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBCAgICAaICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUICAFICAgICAZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAYgICAgICAYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICATICAgHyAgICAgICAXICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICASICAgIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICARICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQICAgICAgDCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAPICAgICAgIA4gCyABQSxqIAJBAnRqQTU2AgBBACEDDCALIAFBLGogAkECdGpBNjYCAEEAIQMMHwsgAUEsaiACQQJ0akE3NgIAQQAhAwweCyABQSxqIAJBAnRqQTg2AgBBACEDDB0LIAFBLGogAkECdGpBOTYCAEEAIQMMHAsgAUEsaiACQQJ0akE6NgIAQQAhAwwbCyABQSxqIAJBAnRqQTs2AgBBACEDDBoLIAFBLGogAkECdGpBPDYCAEEAIQMMGQsgAUEsaiACQQJ0akE9NgIAQQAhAwwYCyABQSxqIAJBAnRqQT42AgBBACEDDBcLIAFBLGogAkECdGpBPzYCAEEAIQMMFgsgAUEsaiACQQJ0akHAADYCAEEAIQMMFQsgAUEsaiACQQJ0akHBADYCAEEAIQMMFAsgAUEsaiACQQJ0akHCADYCAEEAIQMMEwsgAUEsaiACQQJ0akHDADYCAEEAIQMMEgsgAUEsaiACQQJ0akHEADYCAEEAIQMMEQsgAUEsaiACQQJ0akHFADYCAEEAIQMMEAsgAUEsaiACQQJ0akHGADYCAEEAIQMMDwsgAUEsaiACQQJ0akHHADYCAEEAIQMMDgsgAUEsaiACQQJ0akHIADYCAEEAIQMMDQsgAUEsaiACQQJ0akHJADYCAEEAIQMMDAsgAUEsaiACQQJ0akHKADYCAEEAIQMMCwsgAUEsaiACQQJ0akHLADYCAEEAIQMMCgsgAUEsaiACQQJ0akHMADYCAEEAIQMMCQsgAUEsaiACQQJ0akHNADYCAEEAIQMMCAsgAUEsaiACQQJ0akHOADYCAEEAIQMMBwsgAUEsaiACQQJ0akHPADYCAEEAIQMMBgsgAUEsaiACQQJ0akHQADYCAEEAIQMMBQsgAUEsaiACQQJ0akHRADYCAEEAIQMMBAsgAUEsaiACQQJ0akHSADYCAEEAIQMMAwsgAUEsaiACQQJ0akHTADYCAEEAIQMMAgsCQAJAAkACQCANKAIADgMAAQIDCyABQSxqIAJBAnRqQdQANgIAQQAhAwwECyABQSxqIAJBAnRqQdUANgIAQQEhAwwDCyABQeQAaiACQQJ0akHWADYCAEECIQMMAgsgACgCAEExNgIUIAAgACgCACgCAEH/A3FBogdqEQAADAELIAAoAgBBBzYCFCAAKAIAIAUoAgA2AhggACgCACAGKAIANgIcIAAgACgCACgCAEH/A3FBogdqEQAACwJAAkAgBygCECIFQQNLDQAgAEHYAGogBUECdGooAgAiBkUNAAwBCyAAKAIAQTY2AhQgACgCACAFNgIYIAAgACgCACgCAEH/A3FBogdqEQAAIABB2ABqIAVBAnRqKAIAIQYLAkACQAJAAkACQCADDgMAAQIDCyABQdQAaiAFQQJ0aiIEKAIAIgVFBEAgBCAAQQFBgAIgCigCACgCAEH/AHFBkARqEQIAIgU2AgALQQAhBANAIARBwABHBEAgBSAEQQJ0aiAGIARBAXRqLwEAQQN0NgIAIARBAWohBAwBCwsgAUEEaiACQQJ0akEKNgIADAMLIAFB1ABqIAVBAnRqIgQoAgAiBUUEQCAEIABBAUGAAiAKKAIAKAIAQf8AcUGQBGoRAgAiBTYCAAtBACEEA0AgBEHAAEcEQCAFIARBAnRqIAYgBEEBdGovAQAgBEEBdEGwrBFqLgEAbEGACGpBC3U2AgAgBEEBaiEEDAELCyABQQRqIAJBAnRqQQo2AgAMAgsgAUGMAWogBUECdGoiBCgCACIFRQRAIAQgAEEBQYACIAooAgAoAgBB/wBxQZAEahECACIFNgIAC0EAIQhBACELA0AgCEEIRwRAIAhBA3RBsK0RaiEOQQAhCSALIQQDQCAJQQhHBEAgBSAEQQJ0akQAAAAAAADwPyAOKwMAIAYgBEEBdGovAQC3oiAJQQN0QbCtEWorAwCiRAAAAAAAACBAoqO2OAIAIAlBAWohCSAEQQFqIQQMAQsLIAhBAWohCCALQQhqIQsMAQsLIAFBBGogAkECdGpBCzYCAAwBCyAAKAIAQTE2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALIAJBAWohAiAHQdgAaiEHDAELCwv8BwEQfyAAKAKkAyEGIABB7AFqIgUoAgAEQCAGQcQAaiIDKAIAIgJFBEAgACAGQcgAaiIEKAIAEMQJIAMgBSgCACICNgIAIAQgBCgCAEEBakEHcTYCAAsgAyACQX9qNgIACyAAKAL8AiEMIABBvAJqIRAgAEGAA2ohDSAGQcwBaiEOA0AgCSAQKAIASARAIAZBzABqIABBpAJqIABBwAJqIAlBAnRqKAIAIgJBAnRqKAIAIgooAhQiB0ECdGoiCygCACAGQTRqIAJBAnRqIggoAgBqIQMCQCABIAlBAnRqKAIAIg8uAQAiBCAGQSRqIAJBAnRqIgUoAgBrIgIEQCAFIAQ2AgAgACADQQEQ4QEgAkEASgR/IAAgA0EBakEAEOEBQQQhBCADQQJqBSAAIANBAWpBARDhAUEAIAJrIQJBCCEEIANBA2oLIQMgCCAENgIAIAJBf2oiBQR/IAAgA0EBEOEBQQEhBCAFIQIgCygCAEEUaiEDA38gAkEBdSICBH8gACADQQEQ4QEgBEEBdCEEIANBAWohAwwBBSAECwsFQQALIQIgACADQQAQ4QEgAkEBIABBmAFqIAdqLQAAdEEBdUgEQCAIQQA2AgAFIAJBASAAQagBaiAHai0AAHRBAXVKBEAgCCAIKAIAQQhqNgIACwsgA0EOaiEDA0AgAkEBdSICRQ0CIAAgAyACIAVxQQBHEOEBDAAACwAFIAAgA0EAEOEBIAhBADYCAAsLIA0oAgAiAgRAIAooAhghAwN/An8gAiAPIAwgAkECdGooAgBBAXRqLgEADQAaIAJBf2oiAgR/DAIFQQALCwshCCAGQYwBaiADQQJ0aiEKIABBuAFqIANqIQtBACEDA0AgAyAISARAIAAgCigCACADQQNsaiIFQQAQ4QEgAyECA0AgDyAMIAJBAWoiA0ECdGooAgBBAXRqLgEAIgRFBEAgACAFQQFqQQAQ4QEgAyECIAVBA2ohBQwBCwsgACAFQQFqQQEQ4QECfyAEQQBKBH8gACAOQQAQ4QEgBAUgACAOQQEQ4QFBACAEawshESAFQQJqIQQgEUF/aiIHCwRAIAAgBEEBEOEBIAdBAXUiBQRAIAAgBEEBEOEBIAUhBEECIQUgCigCAEG9AUHZASACIAstAABIG2ohAgNAIARBAXUiBARAIAAgAkEBEOEBIAVBAXQhBSACQQFqIQIMAQsLBUEBIQUgBCECCwVBACEFIAQhAgsgACACQQAQ4QEgAkEOaiEEIAUhAgNAIAJBAXUiAgRAIAAgBCACIAdxQQBHEOEBDAELCwwBCwsgAyANKAIASARAIAAgCigCACADQQNsakEBEOEBCwsgCUEBaiEJDAELC0EBC5QFAQt/IAAoAqQDIQYgAEHsAWoiBygCAARAIAZBxABqIgMoAgAiAkUEQCAAIAZByABqIgQoAgAQxAkgAyAHKAIAIgI2AgAgBCAEKAIAQQFqQQdxNgIACyADIAJBf2o2AgALIAAoAvwCIQkgASgCACEKIAAoAqQCKAIYIQggAEH0AmohByAAQewCaiILKAIAIQMDQAJAIANBAEwNACAKIAkgA0ECdGooAgBBAXRqLgEAIgIhASACQX9KBEAgASAHKAIAdQ0BBUEAIAFrIAcoAgB1DQELIANBf2ohAwwBCwsgAEHwAmohASADIQQDQAJAIARBAEwNACAKIAkgBEECdGooAgBBAXRqLgEAIgUhAiAFQX9KBEAgAiABKAIAdQ0BBUEAIAJrIAEoAgB1DQELIARBf2ohBAwBCwsgBkGMAWogCEECdGohCCAGQcwBaiEGIAAoAugCIQEDQCABIANMBEAgCCgCACABQQNsQX1qaiECIAEgBEoEQCAAIAJBABDhAQsCQAJAAkACQAJAA0AgCiAJIAFBAnRqKAIAQQF0ai4BACIMIQUgDEF/SgRAAkACQAJAAkAgBSAHKAIAdSIFDgIBAAILDAYLDAELDAMLBQJAAkACQAJAQQAgBWsgBygCAHUiBQ4CAQACCwwICwwBCwwFCwsgACACQQFqQQAQ4QEgAkEDaiECIAFBAWohAQwAAAsACyAAIAJBAmogBUEBcRDhAQwDCyAAIAJBAWpBARDhASAAIAZBABDhAQwCCyAAIAJBAmogBUEBcRDhAQwBCyAAIAJBAWpBARDhASAAIAZBARDhAQsgAUEBaiEBDAELCyABIAsoAgBKBEBBAQ8LIAAgCCgCACABQQNsQX1qakEBEOEBQQELsQEBBX8gACgCpAMhAyAAQewBaiIGKAIABEAgA0HEAGoiBCgCACICRQRAIAAgA0HIAGoiBSgCABDECSAEIAYoAgAiAjYCACAFIAUoAgBBAWpBB3E2AgALIAQgAkF/ajYCAAsgA0HMAWohAyAAKAL0AiEEIABBvAJqIQVBACECA0AgAiAFKAIASARAIAAgAyABIAJBAnRqKAIALgEAIAR2QQFxEOEBIAJBAWohAgwBCwtBAQugBQEMfyAAKAKkAyECIABB7AFqIgYoAgAEQCACQcQAaiIEKAIAIgNFBEAgACACQcgAaiIFKAIAEMQJIAQgBigCACIDNgIAIAUgBSgCAEEBakEHcTYCAAsgBCADQX9qNgIACyAAKAL8AiEIIAEoAgAhCSAAKAKkAigCGCEBIABB9AJqIQYgAEHsAmoiDCgCACEFA0ACQCAFQQBMDQAgCSAIIAVBAnRqKAIAQQF0ai4BACIEIQMgBEF/SgRAIAMgBigCAHUNAQVBACADayAGKAIAdQ0BCyAFQX9qIQUMAQsLIAJBjAFqIAFBAnRqIQcgAkHMAWohCiAAQbgBaiABaiENIAAoAugCIQEDQCABIAVMBEAgACAHKAIAIAFBA2xBfWpqIgJBABDhASABIQQCQAJAAkADQCAJIAggBEECdGooAgBBAXRqLgEAIgMhASADQX9KBEAgASAGKAIAdSIDDQIFQQAgAWsgBigCAHUiAw0DCyAAIAJBAWpBABDhASACQQNqIQIgBEEBaiEEDAAACwALIAAgAkEBakEBEOEBIAAgCkEAEOEBDAELIAAgAkEBakEBEOEBIAAgCkEBEOEBCyACQQJqIQEgA0F/aiILBEAgACABQQEQ4QEgC0EBdSICBEAgACABQQEQ4QFBAiEDIAIhASAHKAIAQdkBQb0BIAQgDS0AAEobaiECA38gAUEBdSIBBH8gACACQQEQ4QEgA0EBdCEDIAJBAWohAgwBBSACCwshAQVBASEDCwVBACEDCyAAIAFBABDhASABQQ5qIQIgAyEBA0AgAUEBdSIBBEAgACACIAEgC3FBAEcQ4QEMAQsLIARBAWohAQwBCwsgASAMKAIASgRAQQEPCyAAIAcoAgAgAUEDbEF9ampBARDhAUEBC6oEAQt/IAAoAqQDIQYgAEHsAWoiBSgCAARAIAZBxABqIgIoAgAiA0UEQCAAIAZByABqIgQoAgAQxAkgAiAFKAIAIgM2AgAgBCAEKAIAQQFqQQdxNgIACyACIANBf2o2AgALIABBvAJqIQogAEH0AmohCwNAIAcgCigCAEgEQCAGQcwAaiAAQaQCaiAAQcACaiAHQQJ0aigCACIDQQJ0aigCACgCFCIJQQJ0aiIMKAIAIAZBNGogA0ECdGoiCCgCAGohAgJAIAEgB0ECdGooAgAuAQAgCygCAHUiBCAGQSRqIANBAnRqIgUoAgBrIgMEQCAFIAQ2AgAgACACQQEQ4QEgA0EASgR/IAAgAkEBakEAEOEBQQQhBCACQQJqBSAAIAJBAWpBARDhAUEAIANrIQNBCCEEIAJBA2oLIQIgCCAENgIAIANBf2oiBQR/IAAgAkEBEOEBQQEhBCAFIQMgDCgCAEEUaiECA38gA0EBdSIDBH8gACACQQEQ4QEgBEEBdCEEIAJBAWohAgwBBSAECwsFQQALIQMgACACQQAQ4QEgA0EBIABBmAFqIAlqLQAAdEEBdUgEQCAIQQA2AgAFIANBASAAQagBaiAJai0AAHRBAXVKBEAgCCAIKAIAQQhqNgIACwsgAkEOaiECA0AgA0EBdSIDRQ0CIAAgAiADIAVxQQBHEOEBDAAACwAFIAAgAkEAEOEBIAhBADYCAAsLIAdBAWohBwwBCwtBAQs4AQN/QYjE+QAoAgAiAUGQxPkAKAIAIgIgABDFFSIDIAFIBH8gAiADQQJ0aigCACAARgVBAAsiAAv8BAEJfyAAKAKkAyEDIAEEQCAAKAIAQTE2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALIAAoAogCBEAgAEHoAmoiBigCAEUhBCADQQRqIQIgAEHwAmoiASgCAARAIAQEQCACQZMBNgIABSACQZQBNgIACwUgBARAIAJBkQE2AgAFIAJBkgE2AgALCwUgA0GVATYCBCAAQfACaiEBIABB6AJqIQYLIABBoAJqIQggAEHsAmohCSAAQQRqIQdBACEEA0AgBCAIKAIASARAIABBpAJqIARBAnRqKAIAIQUgBigCAEUEQCABKAIARQRAIAUoAhQiAkEPSwRAIAAoAgBBMjYCFCAAKAIAIAI2AhggACAAKAIAKAIAQf8DcUGiB2oRAAALIANBzABqIAJBAnRqIgooAgAiAkUEQCAKIABBAUHAACAHKAIAKAIAQf8AcUGQBGoRAgAiAjYCAAsgAkIANwAAIAJCADcACCACQgA3ABAgAkIANwAYIAJCADcAICACQgA3ACggAkIANwAwIAJCADcAOCADQSRqIARBAnRqQQA2AgAgA0E0aiAEQQJ0akEANgIACwsgCSgCAARAIAUoAhgiAkEPSwRAIAAoAgBBMjYCFCAAKAIAIAI2AhggACAAKAIAKAIAQf8DcUGiB2oRAAALIANBjAFqIAJBAnRqIgUoAgAiAkUEQCAFIABBAUGAAiAHKAIAKAIAQf8AcUGQBGoRAgAiAjYCAAsgAkEAQYACEIwBGgsgBEEBaiEEDAELCyADQQA2AgwgA0GAgAQ2AhAgA0EANgIUIANBADYCGCADQQs2AhwgA0F/NgIgIAMgACgC7AE2AkQgA0EANgJIC1cAIAAoAmwEQCAAQcwAaiABQQJ0aigCACACQQJ0aiIAIAAoAgBBAWo2AgAFIAAgAEEsaiABQQJ0aigCACIAIAJBAnRqKAIAIABBgAhqIAJqLAAAEN0FCwuRAwEIfyAAKAKAAyEKIAAoAvwCIQtBACABLgEAIAJrIgJrIAIgAkEASBshAgNAIAIEQCAFQQFqIQUgAkEBdSECDAELCyAFQQtLBEAgACgCAEEGNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyAAIQwgAyAFQQJ0aiICIAIoAgBBAWo2AgAgBEHAB2ohB0EAIQJBASEFA0AgBSAKTARAIAEgCyAFQQJ0aigCAEEBdGouAQAiCCEJIAgEfyACIQMDQCADQQ9KBEAgByAHKAIAQQFqNgIAIANBcGohAwwBCwtBASEGQQAgCWsgCSAIQQBIGyEDA0AgA0EBdSIDBEAgBkEBaiEGDAELCyAGQQpLBEAgACgCAEEGNgIUIAwgACgCACgCAEH/A3FBogdqEQAACyAEIAIgAkEQaiACQX9zIgJBcCACQXBKG2pB8P///wBxa0EEdCAGakECdGoiAiACKAIAQQFqNgIAQQAFIAJBAWoLIQIgBUEBaiEFDAELCyACQQBMBEAPCyAEIAQoAgBBAWo2AgAL/QMBCX8gAEEgaiIIKAIAIgcoAoADIQogBygC/AIhC0EAIAEuAQAgAmsiAmsgAiACQQBIGyEGA0AgBgRAIAVBAWohBSAGQQF1IQYMAQsLIAVBC0sEQCAHKAIAQQY2AhQgCCgCACIGIAYoAgAoAgBB/wNxQaIHahEAAAsgACADIAVBAnRqKAIAIANBgAhqIAVqLAAAEPMGRQRAQQAPCyACIAJBH3VqIQIgBQRAIAAgAiAFEPMGRQRAQQAPCwsgBEHAB2ohDCAEQfAJaiENQQAhAkEBIQYCQAJAA0AgBiAKSg0BIAEgCyAGQQJ0aigCAEEBdGouAQAiByEJIAcEfyACIQMDQCADQQ9KBEAgACAMKAIAIA0sAAAQ8wZFDQUgA0FwaiEDDAELC0EBIQVBACAJayAJIAdBAEgbIQIDQCACQQF1IgIEQCAFQQFqIQUMAQsLIAVBCksEQCAIKAIAKAIAQQY2AhQgCCgCACICIAIoAgAoAgBB/wNxQaIHahEAAAsgACAEIANBBHQgBWoiAkECdGooAgAgBEGACGogAmosAAAQ8wZFDQMgACAHQQ91QRB0QRB1IAlqIAUQ8wZFDQNBAAUgAkEBagshAiAGQQFqIQYMAAALAAsgAkEASgRAIAAgBCgCACAEQYAIaiwAABDzBkUEQEEADwsLQQEPC0EAC8EBAQJ/IAAQmhVFBEBBAA8LIAAgACgCACICQQFqNgIAIAJBfzoAACAAQQRqIgIoAgBBf2ohAyACIAM2AgAgA0UEQCAAENULRQRAQQAPCwsgACAAKAIAIgNBAWo2AgAgAyABQdABajoAACACIAIoAgBBf2oiATYCACABRQRAIAAQ1QtFBEBBAA8LCyAAQSBqIQJBACEBA0AgASACKAIAKAKgAkgEQCAAQRBqIAFBAnRqQQA2AgAgAUEBaiEBDAELC0EBC8EDAQx/IwYhAiMGQTBqJAYgACgCpAMhBCACIABBGGoiCCgCACIDKAIANgIAIAJBBGoiCiADKAIENgIAIAJBCGoiAyAEQQxqIgUpAgA3AgAgAyAFKQIINwIIIAMgBSkCEDcCECACIAA2AiAgAEHsAWoiCygCAARAIAQoAiRFBEAgAiAEKAIoENklRQRAIAIkBkEADwsLCyAAQbwCaiEMAkACQANAIAYgDCgCAEgEQCAAQaQCaiAAQcACaiAGQQJ0aigCACIHQQJ0aigCACEJIAIgASAGQQJ0aiINKAIAIAJBEGogB0ECdGoiBygCACAEQSxqIAkoAhRBAnRqKAIAIARBPGogCSgCGEECdGooAgAQ2CVFDQIgByANKAIALgEANgIAIAZBAWohBgwBCwsMAQsgAiQGQQAPCyAIKAIAIAIoAgA2AgAgCCgCACAKKAIANgIEIAUgAykCADcCACAFIAMpAgg3AgggBSADKQIQNwIQIAsoAgAiAEUEQCACJAZBAQ8LIARBJGoiAygCACIBBEAgASEABSADIAA2AgAgBEEoaiIBIAEoAgBBAWpBB3E2AgALIAMgAEF/ajYCACACJAZBAQuLAgEGfyAAKAKkAyEDIABB7AFqIgYoAgAEQCADQSRqIgQoAgAiAkUEQCAAQaACaiEFQQAhAgNAIAIgBSgCAEgEQCADQRRqIAJBAnRqQQA2AgAgAkEBaiECDAELCyAEIAYoAgAiAjYCAAsgBCACQX9qNgIACyAAQbwCaiEGQQAhAgNAIAIgBigCAEgEQCAAQaQCaiAAQcACaiACQQJ0aigCACIFQQJ0aigCACEEIAAgASACQQJ0aiIHKAIAIANBFGogBUECdGoiBSgCACADQcwAaiAEKAIUQQJ0aigCACADQdwAaiAEKAIYQQJ0aigCABDXJSAFIAcoAgAuAQA2AgAgAkEBaiECDAELC0EBC5sFARJ/IwYhBiMGQYACaiQGIAAoAqQDIgJB8ABqIhAgAEEYaiIHKAIAKAIANgIAIAJB9ABqIhEgBygCACgCBDYCACAAQewBaiISKAIABEAgAigCJEUEQCACIAIoAigQ1AsLCyAAKALsAiEJIAAoAvQCIQMgACgC/AIhCiABKAIAIQsgACgC6AIiBSEEA0AgBCAJTARAIAYgBEECdGpBACALIAogBEECdGooAgBBAXRqLgEAIgEiAGsgACABQQBIGyADdSIANgIAIAQgCCAAQQFGGyETIARBAWohBCATIQgMAQsLIAJB/ABqIQxBACEBIAJBiAFqIg0oAgAgAkGEAWoiDigCAGohAEEAIQMDQCAFIAlMBEAgBiAFQQJ0aigCACIPBEAgBSAITCEEA0AgA0EPSiAEcQRAIAIQngYgAiAMKAIAQfABEMUJIAIgACABEOgOQQAhASANKAIAIQAgA0FwaiEDDAELCyAPQQFKBH8gACABaiAPQQFxOgAAIAFBAWoFIAIQngYgAiAMKAIAIANBBHRBAXIQxQkgAiALIAogBUECdGooAgBBAXRqLwEAQQ92QQFzQQEQ3QUgAiAAIAEQ6A4gDSgCACEAQQAhA0EACyEBBSADQQFqIQMLIAVBAWohBQwBCwsgA0EBSCABRXFFBEAgAkGAAWoiACgCAEEBaiEDIAAgAzYCACAOIA4oAgAgAWoiADYCACADQf//AUYgAEGpB0tyBEAgAhCeBgsLIAcoAgAgECgCADYCACAHKAIAIBEoAgA2AgQgEigCACIBRQRAIAYkBkEBDwsgAkEkaiIDKAIAIgBFBEAgAyABNgIAIAJBKGoiACAAKAIAQQFqQQdxNgIAIAEhAAsgAyAAQX9qNgIAIAYkBkEBC/0BAQd/IAAoAvQCIQQgACgCpAMiAkHwAGoiBSAAQRhqIgMoAgAoAgA2AgAgAkH0AGoiBiADKAIAKAIENgIAIABB7AFqIgcoAgAEQCACKAIkRQRAIAIgAigCKBDUCwsLIABBvAJqIQhBACEAA0AgACAIKAIASARAIAIgASAAQQJ0aigCAC4BACAEdUEBEN0FIABBAWohAAwBCwsgAygCACAFKAIANgIAIAMoAgAgBigCADYCBCAHKAIAIgBFBEBBAQ8LIAJBJGoiAygCACIBBEAgASEABSADIAA2AgAgAkEoaiIBIAEoAgBBAWpBB3E2AgALIAMgAEF/ajYCAEEBC7QEAQ9/IAAoAqQDIgNB8ABqIgsgAEEYaiIGKAIAKAIANgIAIANB9ABqIgwgBigCACgCBDYCACAAQewBaiINKAIABEAgAygCJEUEQCADIAMoAigQ1AsLCyAAKALsAiEOIAAoAvQCIQggACgC/AIhDyABKAIAIRAgA0GAAWohByADQfwAaiEJIAAoAugCIQVBACEBA0AgBSAOTARAIBAgDyAFQQJ0aigCAEEBdGouAQAiBCECAn8gBAR/IARBAEgEQEEAIAJrIAh1IgIhBCACQX9zIQoFIAIgCHUiCiEECyABQQFqIARFDQEaIAcoAgAEQCADEJ4GCyABIQIDQCACQQ9KBEAgAyAJKAIAQfABEMUJIAJBcGohAgwBCwtBASECA0AgBEEBdSIEBEAgAkEBaiECDAELCyACQQpLBEAgACgCAEEGNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyADIAkoAgAgASABQRBqIAFBf3MiAUFwIAFBcEobakHw////AHFrQQR0IAJqEMUJIAMgCiACEN0FQQAFIAFBAWoLCyEBIAVBAWohBQwBCwsgAUEASgRAIAcgBygCAEEBaiIANgIAIABB//8BRgRAIAMQngYLCyAGKAIAIAsoAgA2AgAgBigCACAMKAIANgIEIA0oAgAiAEUEQEEBDwsgA0EkaiIEKAIAIgEEQCABIQAFIAQgADYCACADQShqIgEgASgCAEEBakEHcTYCAAsgBCAAQX9qNgIAQQELpAMBDH8gACgC9AIhCCAAKAKkAyIDQfAAaiIJIABBGGoiBygCACgCADYCACADQfQAaiIKIAcoAgAoAgQ2AgAgAEHsAWoiCygCAARAIAMoAiRFBEAgAyADKAIoENQLCwsgAEG8AmohDANAIAUgDCgCAEgEQCAAQaQCaiAAQcACaiAFQQJ0aigCACICQQJ0aigCACENIAEgBUECdGooAgAuAQAgCHUiBiADQRRqIAJBAnRqIgIoAgBrIQQgAiAGNgIAQQAhAkEAIARrIAQgBEEASBshBgNAIAYEQCACQQFqIQIgBkEBdSEGDAELCyACQQtLBEAgACgCAEEGNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyAEIARBH3VqIQQgAyANKAIUIAIQ1iUgAgRAIAMgBCACEN0FCyAFQQFqIQUMAQsLIAcoAgAgCSgCADYCACAHKAIAIAooAgA2AgQgCygCACIARQRAQQEPCyADQSRqIgIoAgAiAQRAIAEhAAUgAiAANgIAIANBKGoiASABKAIAQQFqQQdxNgIACyACIABBf2o2AgBBAQujAgEGfyMGIQMjBkEwaiQGIAAoAqQDIQEgAEEYaiIEKAIAIgUoAgAhAiAAKAKIAgRAIAFB8ABqIgAgAjYCACABQfQAaiICIAQoAgAoAgQ2AgAgARCeBiABEJkVIAQoAgAgACgCADYCACAEKAIAIAIoAgA2AgQgAyQGDwsgAyACNgIAIANBBGoiBiAFKAIENgIAIANBCGoiAiABQQxqIgEpAgA3AgAgAiABKQIINwIIIAIgASkCEDcCECADIAA2AiAgAxCaFUUEQCAAKAIAQRk2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALIAQoAgAgAygCADYCACAEKAIAIAYoAgA2AgQgASACKQIANwIAIAEgAikCCDcCCCABIAIpAhA3AhAgAyQGC9gCAQ1/IwYhASMGQSBqJAYgACgCpAMhBSAAKAKIAgRAIAUQngYLIAFBEGoiCEIANwMAIAhCADcDCCABQgA3AwAgAUIANwMIIABBoAJqIQogAEHoAmohCyAAQfACaiEMIABB7AJqIQ0DQCAEIAooAgBIBEAgAEGkAmogBEECdGooAgAhCSALKAIARQRAIAwoAgBFBEAgCCAJKAIUIgJBAnRqIgYoAgBFBEAgAEH4AGogAkECdGoiBygCACIDRQRAIAcgABDZCyIDNgIACyAAIAMgBUHMAGogAkECdGooAgAQmBUgBkEBNgIACwsLIA0oAgAEQCABIAkoAhgiAkECdGoiBigCAEUEQCAAQYgBaiACQQJ0aiIHKAIAIgNFBEAgByAAENkLIgM2AgALIAAgAyAFQdwAaiACQQJ0aigCABCYFSAGQQE2AgALCyAEQQFqIQQMAQsLIAEkBguxBQEKfyAAKAKkAyICQfICQfECIAFFIgUbNgIIIAAoAogCBEAgAiAANgJ4IAIgATYCbCAAKALoAkUhAyACQQRqIQECQCAAKALwAgRAIAMEQCABQY0BNgIADAILIAFBjgE2AgAgAkGIAWoiASgCAEUEQCABIABBAUHoByAAKAIEKAIAQf8AcUGQBGoRAgA2AgALBSADBEAgAUGLATYCAAUgAUGMATYCAAsLCyACIAAoAqQCKAIYNgJ8IAJBADYCgAEgAkEANgKEAQUgAkEEaiEBIAUEQCABQZABNgIABSABQY8BNgIACwsgAEGgAmohByAAQegCaiEIIABB8AJqIQkgAEHsAmohCiAAQQRqIQZBACEDA0AgAyAHKAIASARAIABBpAJqIANBAnRqKAIAIQQgCCgCAEUEQCAJKAIARQRAIAQoAhQhASAFBEAgAEEBIAEgAkEsaiABQQJ0ahCbFQUgAUEDSwRAIAAoAgBBNDYCFCAAKAIAIAE2AhggACAAKAIAKAIAQf8DcUGiB2oRAAALIAJBzABqIAFBAnRqIgsoAgAiAUUEQCALIABBAUGECCAGKAIAKAIAQf8AcUGQBGoRAgAiATYCAAsgAUEAQYQIEIwBGgsgAkEUaiADQQJ0akEANgIACwsCQCAKKAIABEAgBCgCGCEBIAUEQCAAQQAgASACQTxqIAFBAnRqEJsVDAILIAFBA0sEQCAAKAIAQTQ2AhQgACgCACABNgIYIAAgACgCACgCAEH/A3FBogdqEQAACyACQdwAaiABQQJ0aiIEKAIAIgFFBEAgBCAAQQFBhAggBigCACgCAEH/AHFBkARqEQIAIgE2AgALIAFBAEGECBCMARoLCyADQQFqIQMMAQsLIAJBADYCDCACQQA2AhAgAiAAKALsATYCJCACQQA2AigL7AQBF38gACgCnAJBf2ohESAAQcwAaiESIABBBGohEyAAKAKQAyIUQQhqIQsgAEGgA2ohFSAAKAJUIQUDQCAIIBIoAgBIBEAgACAUQUBrIAhBAnRqKAIAIAsoAgAgBUEMaiIMKAIAIgNsIANBASATKAIAKAIgQT9xQdgFahERACENIAsoAgAgEUkEfyAMKAIABSAFKAIgIAwoAgAiAhCHASEDIAMgAiADGwshAyAFKAIcIgYgBSgCCCIJEIcBIQIgFSgCAEEEaiAIQQJ0aigCACEOIAEgCEECdGohDyAFQShqIRAgCSACayACIAJBAEobIgdBAEohFiAHQQd0IRdBACECA0AgAiADSARAIAAgBSAPKAIAIA0gAkECdGooAgAiBCACIBAoAgBsQQAgBiAOQQ9xQbwOahESAAJAIBYEQCAEIAZBB3RqIgpBACAXEIwBGiAKQYB/ai4BACEYQQAhBANAIAQgB0YNAiAKIARBB3RqIBg7AQAgBEEBaiEEDAAACwALCyACQQFqIQIMAQsLAkAgCygCACARRgRAIAYgB2oiAiAJEGYhCiACQQd0IQ4gCUF/aiEPA0AgAyAMKAIATg0CIA0gA0F/akECdGooAgAhAiANIANBAnRqKAIAIgRBACAOEIwBGkEAIQcDQCAHIApJBEAgAiAPQQd0ai4BACEQQQAhBgNAIAYgCUgEQCAEIAZBB3RqIBA7AQAgBkEBaiEGDAELCyACIAlBB3RqIQIgBCAJQQd0aiEEIAdBAWohBwwBCwsgA0EBaiEDDAAACwALCyAFQdgAaiEFIAhBAWohCAwBCwsgACABEJwVC8sFAR5/IAAoArQCQX9qIRAgACgCnAJBf2ohEyAAKAKQAyICQRBqIREgAkEUaiEUIAJBDGohDSAAQaACaiEVIABBoANqIRYgAkEIaiEOIABBpANqIRcgAkEYaiEYIBEoAgAhBwJAAkADQCAHIBQoAgBODQIgDSgCACEIA0AgCCAQTQRAIAggEEkhEkEAIQpBACEEA0AgCiAVKAIASARAIBYoAgBBBGogAEGkAmogCkECdGooAgAiBUEEaiIZKAIAQQJ0aigCACEaIAVBOGoiAyAFQThqIBIbIQsgAyAFQcgAaiASGygCACEJIAggBSgCRGwhGyAFQTxqIRwgBUHMAGohHSAHIAVBKGoiHigCAGwhD0EAIQwDQCAMIBwoAgBIBEACQAJAIA4oAgAgE0kNACAHIAxqIB0oAgBIDQAgAkEYaiAEQQJ0aigCAEEAIAsoAgBBB3QQjAEaIAIgBEECdGpBFGohH0EAIQYDQCAGIAsoAgAiA0gEQCACQRhqIAQgBmpBAnRqKAIAIB8oAgAuAQA7AQAgBkEBaiEGDAELCwwBCyAAIAUgASAZKAIAQQJ0aigCACACQRhqIARBAnRqKAIAIA8gGyAJIBpBD3FBvA5qERIAIAsoAgAiAyAJSgRAIAJBGGogBCAJakECdGooAgBBACADIAlrQQd0EIwBGiAJIQMDfyADIAsoAgAiBkgEfyACQRhqIAQgA2oiBkECdGooAgAgAiAGQQJ0aigCFC4BADsBACADQQFqIQMMAQUgBgsLIQMLCyAPIB4oAgBqIQ8gDEEBaiEMIAQgA2ohBAwBCwsgCkEBaiEKDAELCyAAIBggFygCACgCBEH/AXFBkAJqEQEARQ0DIAhBAWohCAwBCwsgDUEANgIAIAdBAWohBwwAAAsACyARIAc2AgAgDSAINgIAQQAPCyAOIA4oAgBBAWo2AgAgABDpDkEBC+UBAQF/IAAoApADIgJBADYCCCAAEOkOAkACQAJAAkAgAQ4EAAMCAQMLIAJBQGsoAgAEQCAAKAIAQQM2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALIAJBiAE2AgQPCyACQUBrKAIARQRAIAAoAgBBAzYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAkGJATYCBA8LIAJBQGsoAgBFBEAgACgCAEEDNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyACQYoBNgIEDwsgACgCAEEDNgIUIAAgACgCACgCAEH/A3FBogdqEQAAC5wCAQt/IAAoAogDIgRBCGohByAAQZwCaiELIARBDGohBSAAQZgCaiEJIABBjANqIQwgBEEYaiEKIABBkANqIQ0gBEEQaiEIIAcoAgAhBAJAAkADQCAEIAsoAgBPDQIgBSgCACIGIAkoAgAiBEkEQCAAIAEgAiADIAogBSAEIAwoAgAoAgRBD3FBvA5qERIAIAUoAgAhBiAJKAIAIQQLIAYgBEcNAiAAIAogDSgCACgCBEH/AXFBkAJqEQEARSEOIAgoAgBFIQQgDg0BIARFBEAgAiACKAIAQQFqNgIAIAhBADYCAAsgBUEANgIAIAcgBygCAEEBaiIENgIADAAACwALIARFBEAPCyACIAIoAgBBf2o2AgAgCEEBNgIACwteAQF/IAAoAogDIQIgACgC0AEEQA8LIAJBADYCCCACQQA2AgwgAkEANgIQIAIgATYCFCABBEAgACgCAEEDNgIUIAAgACgCACgCAEH/A3FBogdqEQAABSACQSs2AgQLC30AIABB7gEQ7AMgAEEOEKwDIABBwQAQ5QEgAEHkABDlASAAQe8AEOUBIABB4gAQ5QEgAEHlABDlASAAQeQAEKwDIABBABCsAyAAQQAQrAMCQAJAAkAgACgCUEEDaw4DAAIBAgsgAEEBEOUBDwsgAEECEOUBDwsgAEEAEOUBC30AIABB4AEQ7AMgAEEQEKwDIABBygAQ5QEgAEHGABDlASAAQckAEOUBIABBxgAQ5QEgAEEAEOUBIAAgAC0A+AEQ5QEgACAALQD5ARDlASAAIAAtAPoBEOUBIAAgAC8B/AEQrAMgACAALwH+ARCsAyAAQQAQ5QEgAEEAEOUBCzsBAX8gAEHaARDsAyAAQQYQrAMgAEEAEOUBIABBABDlASAAIAAoAvgCIgEgAWxBf2oQ5QEgAEEAEOUBC4IDAQh/IwYhAiMGQSBqJAYgAkEQaiEEA0AgAUEQRwRAIAIgAWpBADoAACAEIAFqQQA6AAAgAUEBaiEBDAELCyAAKAKgAiEFIABB6AJqIQYgAEHwAmohByAAQewCaiEIQQAhAQNAIAEgBUgEQCAAQaQCaiABQQJ0aigCACEDIAYoAgBFBEAgBygCAEUEQCAEIAMoAhRqQQE6AAALCyAIKAIABEAgAiADKAIYakEBOgAACyABQQFqIQEMAQsLQQAhA0EAIQEDQCABQRBHBEAgAyAEIAFqLAAAIAIgAWosAABqaiEDIAFBAWohAQwBCwsgA0UEQCACJAYPCyAAQcwBEOwDIAAgA0EBdEECahCsA0EAIQEDQCABQRBHBEAgBCABaiwAAARAIAAgARDlASAAIABBqAFqIAFqLQAAQQR0IABBmAFqIAFqLQAAahDlAQsgAiABaiwAAARAIAAgAUEQahDlASAAIABBuAFqIAFqLQAAEOUBCyABQQFqIQEMAQsLIAIkBgsJACAAIAEQ5QELPAAgAkH9/wNLBEAgACgCAEEMNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyAAIAEQ7AMgACACQQJqEKwDC6IBAQF/IABB2AEQ7AMDQCABQQRHBEAgAEHYAGogAUECdGooAgAEQCAAIAEQnhUaCyABQQFqIQEMAQsLIAAoAtQBBEAgAEHZARDsAw8LQQAhAQNAIAFBBEcEQCAAQfgAaiABQQJ0aigCAARAIAAgAUEAENYLCyAAQYgBaiABQQJ0aigCAARAIAAgAUEBENYLCyABQQFqIQEMAQsLIABB2QEQ7AMLCgAgAEHZARDsAwvhAQEHfyAAKAKUAyEDAkAgACgC1AEEQCAAEOslBSAAQaACaiEEIABB6AJqIQUgAEHwAmohBiAAQewCaiEHA0AgASAEKAIATg0CIABBpAJqIAFBAnRqKAIAIQIgBSgCAEUEQCAGKAIARQRAIAAgAigCFEEAENYLCwsgBygCAARAIAAgAigCGEEBENYLCyABQQFqIQEMAAALAAsLIABB7AFqIgEoAgAgA0EcaiICKAIARgRAIAAQnRUPCyAAQd0BEOwDIABBBBCsAyAAIAAoAuwBEKwDIAIgASgCADYCACAAEJ0VC7YDAQd/IABBzABqIQQgAEHUAGoiBSgCACEBA0AgAiAEKAIAIgZIBEAgAyAAIAEoAhAQnhVqIQMgAUHYAGohASACQQFqIQIMAQsLIABBiAJqIgEoAgBFIQICQAJAAkAgAEHUAWoiBygCAARAIAIEQAwDBQwCCwAFAkACQCACBH8gACgCSEEIRgR/IAAoAvgCQQhGBH9BASEBIAUoAgAhAkEAIQQDQCAEIAZIBEACQAJAIAIoAhRBAUoNACACKAIYQQFKDQAMAQtBACEBCyACQdgAaiECIARBAWohBAwBCwsgAwR/IAEEfyAAKAIAQc0ANgIUIABBACAAKAIAKAIEQf8AcUGsC2oRAwAgAEGIAmoiASgCAEUhAyAHKAIABEAgAwRADAsFDAoLAAUgAwRADAgFDAcLAAsABUEACwUgAQsFQQALBUEACwVBAAshAyAAQYgCaiIBKAIARQRAIAMEQCAAQcABEMYJDAcFDAMLAAsLIABBwgEQxgkMBAsgAEHBARDGCQsMAgsgAEHKARDGCQwBCyAAQckBEMYJCyABKAIARQRADwsgACgC+AJBCEYEQA8LIAAQ6iULOQECfyAAKAKUAyECIABB2AEQ7AMgAkEANgIcIAAoAvQBBEAgABDpJQsgACgCgAJFBEAPCyAAEOglC60BAQV/IAAgAEEBQcAAIABBBGoiAygCACgCAEH/AHFBkARqEQIAIgE2AogDIAFB1wA2AgAgACgC0AEEQA8LIABBzABqIQQgAUEYaiEFIAAoAlQhAkEAIQEDQCABIAQoAgBIBEAgBSABQQJ0aiAAQQEgAigCHCACKAIkbCACKAIMIAIoAihsIAMoAgAoAghBP3FBkAVqERwANgIAIAJB2ABqIQIgAUEBaiEBDAELCwuPAgEGfyAAIABBAUHoACAAQQRqIgMoAgAoAgBB/wBxQZAEahECACICNgKQAyACQdYANgIAIAEEQCAAQcwAaiEEIAJBQGshBSAAKAJUIQFBACECA0AgAiAEKAIASARAIAMoAgAoAhQhBiAFIAJBAnRqIABBAUEAIAEoAhwgASgCCBCECCABKAIgIAEoAgwiBxCECCAHIAZBP3FBnAZqEQYANgIAIAFB2ABqIQEgAkEBaiECDAELCw8LIABBAUGACiADKAIAKAIEQf8AcUGQBGoRAgAhASACQRhqIQNBACEAA0AgAEEKRwRAIAMgAEECdGogASAAQQd0ajYCACAAQQFqIQAMAQsLIAJBQGtBADYCAAunAQEGfyAAIABBAUGMASAAKAIEKAIAQf8AcUGQBGoRAgAiAjYCpAMgAkHVADYCACACQTxqIQMgAkEsaiEEIAJB3ABqIQUgAkHMAGohBgNAIAFBBEcEQCADIAFBAnRqQQA2AgAgBCABQQJ0akEANgIAIAUgAUECdGpBADYCACAGIAFBAnRqQQA2AgAgAUEBaiEBDAELCyAAKAKIAkUEQA8LIAJBADYCiAELfQEDfyAAIABBAUHQASAAKAIEKAIAQf8AcUGQBGoRAgAiADYCpAMgAEHUADYCACAAQesCNgIIIABBzABqIQIgAEGMAWohAwNAIAFBEEcEQCACIAFBAnRqQQA2AgAgAyABQQJ0akEANgIAIAFBAWohAQwBCwsgAEHxADoAzAELcAECfyAAIABBAUGcASAAKAIEKAIAQf8AcUGQBGoRAgAiADYCoAMgAEHqAjYCACAAQdQAaiEBIABBjAFqIQJBACEAA0AgAEEERwRAIAEgAEECdGpBADYCACACIABBAnRqQQA2AgAgAEEBaiEADAELCwvvAQEJfyAAIAAiAUEBQcAAIAFBBGoiBCgCACgCAEH/AHFBkARqEQIAIgI2AowDIAJB0wA2AgAgAkEEaiEDIAEoApwDKAIIBEAgA0EINgIAIAEQpiUPCyADQQk2AgAgAUHMAGohAyABQZQCaiEFIAFBjAJqIQYgAUGQAmohByACQQhqIQggASgCVCEAQQAhAgNAIAIgAygCAEgEQCAEKAIAKAIIIQkgCCACQQJ0aiABQQEgACgCHCAFKAIAbCAGKAIAbCAAKAIIEE4gBygCACAJQT9xQZAFahEcADYCACAAQdgAaiEAIAJBAWohAgwBCwsL0wQBE38gACAAQQFB8AAgACgCBCgCAEH/AHFBkARqEQIAIgI2ApwDIAJB6QI2AgAgAkEzNgIEIAJBCGoiCkEANgIAIAAoAtwBBEAgACgCAEEaNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyAAQcwAaiELIABBlAJqIQwgAEGYAmohDSAAQYwCaiEOIABBkAJqIQ8gAkE0aiEQIABB5AFqIQkgAkEMaiEGIAJB3ABqIREgAkHmAGohEkEBIQIgACgCVCEEA0AgAyALKAIASARAIAQoAgggBCgCJGwgDCgCABBOIQcgBCgCDCAEKAIobCANKAIAEE4hASAOKAIAIQggDygCACEFIBAgA0ECdGogATYCAAJAIAggB0YgBSABRnEEQCAGIANBAnRqIQEgCSgCAARAIAFBJTYCACAKQQE2AgAFIAFBJjYCAAsFIAggB0EBdEYiEyAFIAFGcQRAIAYgA0ECdGpBJzYCAEEAIQIMAgsgEyAFIAFBAXRGcQRAIAYgA0ECdGohASAJKAIABEAgAUEoNgIAIApBATYCAAUgAUEpNgIACwwCCyAIIAcQyAFFBEAgBSABEMgBRQRAIAYgA0ECdGpBKjYCACARIANqIAggBxBOOgAAIBIgA2ogBSABEE46AABBACECDAMLCyAAKAIAQSc2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALCyAEQdgAaiEEIANBAWohAwwBCwsgCSgCAEEARyACRXFFBEAPCyAAKAIAQeUANgIUIABBACAAKAIAKAIEQf8AcUGsC2oRAwALggcBA38CQAJAIAAgAEEBQQwgACgCBCgCAEH/AHFBkARqEQIAIgE2ApgDIAFB5wI2AgACQAJAAkACQAJAAkAgAEEoaiICKAIAQQFrDgUAAQIDAwQLIAAoAiRBAUcEQCAAKAIAQQo2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALDAQLIAAoAiRBA0cEQCAAKAIAQQo2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALDAMLIAAoAiRBA0cEQCAAKAIAQQo2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALDAILIAAoAiRBBEcEQCAAKAIAQQo2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALDAELIAAoAiRBAUgEQCAAKAIAQQo2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALCwJAAkACQAJAAkACQCAAKAJQIgNBAWsOBQABAgMEBQsgACgCTEEBRwRAIAAoAgBBCzYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsCQAJAAkAgAigCAEEBaw4DAAEAAgsgAUEtNgIEDwsgAUHoAjYCACABQS42AgQPCwwGCyAAKAJMQQNHBEAgACgCAEELNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyACKAIAQQJGBEAgAUEvNgIEBSAAKAIAQRw2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALDwsgACgCTEEDRwRAIAAoAgBBCzYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsCQAJAAkAgAigCAEECaw4CAAECCyABQegCNgIAIAFBMDYCBA8LDAQLDAQLIAAoAkxBBEcEQCAAKAIAQQs2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALIAIoAgBBBEYEQCABQTE2AgQFIAAoAgBBHDYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsPCyAAKAJMQQRHBEAgACgCAEELNgIUIAAgACgCACgCAEH/A3FBogdqEQAACwJAAkACQCACKAIAQQRrDgIAAQILIAFB6AI2AgAgAUEyNgIEDwsMAgsMAgsCQAJAIAMgAigCAEcNACAAKAJMIAAoAiRHDQAMAQsgACgCAEEcNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyABQTE2AgQPCyABQTE2AgQPCyAAKAIAQRw2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAAL3gEBAn8gACAAQQFBJCAAKAIEKAIAQf8AcUGQBGoRAgAiATYChAMgAUHkAjYCACABQeUCNgIEIAFB5gI2AgggAUEANgIQIAAQkyUgACgCzAEEQCAAEJIlIAAoAvgCQQhIBEAgABCRJQsFIABBADYCiAIgAEEBNgLIAQsCQAJAIAAoAogCDQAgACgC+AJBCEgNAAwBCyAAKALUAUUEQCAAQQE2AtgBCwsgAUEANgIUIAFBADYCICABQQA2AhggACgCyAEhAiAAKALYAQRAIAEgAkEBdDYCHAUgASACNgIcCwuLAQAgABD7JSAAKALQAUUEQCAAEPolIAAQ+SUgABD4JQsgABD3JSAAKALUAQRAIAAQ9iUFIAAQ9SULIAAgACgCyAFBAUoEf0EBBSAAKALYAUEARwsQ9CUgABDzJSAAEJ8VIAAgACgCBCgCGEH/A3FBogdqEQAAIAAgACgClAMoAgBB/wNxQaIHahEAAAusAQEBfyAAQRRqIgIoAgBB5ABHBEAgACgCAEEVNgIUIAAoAgAgAigCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAQRAIABBABChFQsgACAAKAIAKAIQQf8DcUGiB2oRAAAgACAAKAIYKAIIQf8DcUGiB2oRAAAgABD8JSAAIAAoAoQDKAIAQf8DcUGiB2oRAAAgAEEANgKEAiACQeYAQeUAIAAoAtABGzYCAAvrAQEGf0EoEHIiBEEANgIAIABB8ARqQQEgBEEEEIoCIQQjDCEGQQAkByMHIQNBACQHIANBAEcjCEEAR3EEQCADKAIAIAQgBhBSIgVFBEAgAyMIEAALIwgkDAVBfyEFCyMMIQMgBUEBawRAQQAhAwsCQAJAA0AgAw0BAn8gACgCBCgCCCEIQQAkByAICyAAQQEgASACEBAhByMHIQNBACQHIANBAEcjCEEAR3EEQCADKAIAIAQgBhBSIgVFBEAgAyMIEAALIwgkDAVBfyEFCyMMIQMgBUEBa0UNAAsMAQsgBBBMQQAPCyAEEEwgBwvZAQEEf0EoEHIiAkEANgIAIABB8ARqQQEgAkEEEIoCIQIjDCEEQQAkByMHIQFBACQHIAFBAEcjCEEAR3EEQCABKAIAIAIgBBBSIgNFBEAgASMIEAALIwgkDAVBfyEDCyMMIQEgA0EBawRAQQAhAQsCQAJAA0AgAQ0BQQAkB0HSACAAQQAQBiMHIQFBACQHIAFBAEcjCEEAR3EEQCABKAIAIAIgBBBSIgNFBEAgASMIEAALIwgkDAVBfyEDCyMMIQEgA0EBa0UNAAsMAQsgAhBMQQAPCyACEExBAQuuBQEZfyMGIRsjBkEQaiQGIAAoAsgEIgQoAvgGIQ4gBEUEQEGS/R1BsOodQbkLQZfsHRABCyAbIQ8gAiAEKAIcIAQvAcIGIgNqQX9qIAMQZiADIARBxAZqIhAvAQAiBWxBAmpsIAQoAkhsQQdqQQN2IgMQTiEcIAIgAxDIAQRAIAAoAgBBresdIA8Q5wELIARB1ABqIhMoAgAoAoQBIQMgBEGQAmohFCAEQcwAaiEVIARB9AZqIQkgBEHMBmohFiAAQdgDaiERIARByAZqIRcgHCAFbCEMIAEhBwJAA0AgDEEATARAQQEhAAwCCyATKAIAIQhBACEBQQAhCgNAIAogFSgCAEgEQCAIKAIMIRIgCCgCHEEDdCADIAgoAggiDWxrIRggBEHMBmogCkECdGohGSANQQFGIRpBACELA0AgCyASSARAIAcgAWohBSAZKAIAIAkoAgAgEmwgC2pBAnRqKAIAIQAgGgRAIAMhAiAAIQYDQCACBEAgBiAFLAAAOgAAIAJBf2ohAiAFIA5qIQUgBkEBaiEGDAELCyAAIANqIQAFIAMhAiAFIQYDQCACQX9qIQUgAgRAQQAhAgNAIAIgDUgEQCAAIAYgAmosAAA6AAAgAkEBaiECIABBAWohAAwBCwsgBSECIAYgDmohBgwBCwsLQQAhAgNAIAIgGEgEQCAAIABBf2osAAA6AAAgAkEBaiECIABBAWohAAwBCwsgC0EBaiELIAEgDWohAQwBCwsgCEHYAGohCCAKQQFqIQoMAQsLIAkgCSgCACIAQQFqNgIAIABBBkoEQCAEIBYgFCgCAEEDdCIAEKUVIABHBEBBACEADAMLIAlBADYCAAsgESARKAIAIBAvAQBqNgIAIAwgEC8BAGshDCAHIBcoAgBqIQcMAAALAAsgDyQGIAALtwIBBX8gAEEUaiIEKAIAQeYARwRAIAAoAgBBFTYCFCAAKAIAIAQoAgA2AhggACAAKAIAKAIAQf8DcUGiB2oRAAALIABBhAJqIgQoAgAiBSAAQSBqIgYoAgBPBEAgACgCAEH+ADYCFCAAQX8gACgCACgCBEH/AHFBrAtqEQMAQQAPCyAAQQhqIgMoAgAiBwRAIAcgBTYCBCADKAIAIAYoAgA2AgggACADKAIAKAIAQf8DcUGiB2oRAAALIAAoAoQDIgMoAgwEQCAAIAMoAgRB/wNxQaIHahEAAAsgACgCkAJBA3QiAyACSwRAIAAoAgBBGDYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgACABIAAoApADKAIEQf8BcUGQAmoRAQBFBEBBAA8LIAQgBCgCACADajYCACADC6oDAQZ/AkACQAJAAkAgAEEUaiIBKAIAQeUAaw4DAAABAgsgACgChAIgACgCIEkEQCAAKAIAQcUANgIUIAAgACgCACgCAEH/A3FBogdqEQAACyAAIAAoAoQDKAIIQf8DcUGiB2oRAAAMAgsMAQsgACgCAEEVNgIUIAAoAgAgASgCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAEGEA2ohAyAAQZwCaiEEIABBCGohAiAAQZADaiEFA0AgAygCACIBKAIQRQRAIAAgASgCAEH/A3FBogdqEQAAQQAhAQNAIAEgBCgCAEkEQCACKAIAIgYEQCAGIAE2AgQgAigCACAEKAIANgIIIAAgAigCACgCAEH/A3FBogdqEQAACyAAQQAgBSgCACgCBEH/AXFBkAJqEQEARQRAIAAoAgBBGTYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAUEBaiEBDAELCyAAIAMoAgAoAghB/wNxQaIHahEAAAwBCwsgACAAKAKUAygCDEH/A3FBogdqEQAAIAAgACgCGCgCEEH/A3FBogdqEQAAIAAQyQkL1wEBBH9BKBByIgJBADYCACAAQfAEakEBIAJBBBCKAiECIwwhBEEAJAcjByEBQQAkByABQQBHIwhBAEdxBEAgASgCACACIAQQUiIDRQRAIAEjCBAACyMIJAwFQX8hAwsjDCEBIANBAWsEQEEAIQELAkACQANAIAENAUEAJAdB4wIgABAFIwchAUEAJAcgAUEARyMIQQBHcQRAIAEoAgAgAiAEEFIiA0UEQCABIwgQAAsjCCQMBUF/IQMLIwwhASADQQFrRQ0ACwwBCyACEExBAA8LIAIQTEEBC7ECAQV/IwYhBSMGQRBqJAYgAEEUaiIDKAIAQeUARwRAIAAoAgBBFTYCFCAAKAIAIAMoAgA2AhggACAAKAIAKAIAQf8DcUGiB2oRAAALIABBhAJqIgMoAgAgAEEgaiIEKAIATwRAIAAoAgBB/gA2AhQgAEF/IAAoAgAoAgRB/wBxQawLahEDAAsgAEEIaiIGKAIAIgcEQCAHIAMoAgA2AgQgBigCACAEKAIANgIIIAAgBigCACgCAEH/A3FBogdqEQAACyAAKAKEAyIGKAIMBEAgACAGKAIEQf8DcUGiB2oRAAALIAQoAgAgAygCAGshBCAFQQA2AgAgACABIAUgBCACIAQgAkkbIAAoAogDKAIEQT9xQawNahEQACADIAMoAgAgBSgCACIAajYCACAFJAYgAAvdAQEFf0EoEHIiA0EANgIAIABB8ARqQQEgA0EEEIoCIQMjDCEFQQAkByMHIQJBACQHIAJBAEcjCEEAR3EEQCACKAIAIAMgBRBSIgRFBEAgAiMIEAALIwgkDAVBfyEECyMMIQIgBEEBawRAQQAhAgsCQAJAA0AgAg0BQQAkB0HTACAAIAFBARADIQYjByECQQAkByACQQBHIwhBAEdxBEAgAigCACADIAUQUiIERQRAIAIjCBAACyMIJAwFQX8hBAsjDCECIARBAWtFDQALDAELIAMQTEF/DwsgAxBMIAYLhgEBAn8gACABIAIgACgCyAQoAowHQf8AcUGsDGoRDQAgASABKAIAIgRBACAALwHMAUEDdCIDa0kEfyAEIANBf2pqIAMQZgVBAAsiBCADbDYCACACKAIAIgFBACAALwHOAUEDdCIAa08EQCACQQA2AgAPCyACIAEgAEF/amogABBmIABsNgIAC1EAIAAgASAAKALIBCgCiAdB/wFxQZACahEBACIBIAAoAjxPBEAgAQ8LIAFBACAALwHOAUEDdCIAa0kEfyABIABBf2pqIAAQZgVBAAsiASAAbAuPAQECfyAAQcgEaiICKAIAIgFFBEBBjusdQbDqHUGnDEGW6x0QAQsgACABKAL8BjYCoAUgACABKAKABzYCnAUgACABKAKEBzYCpAUgASgC6AMEQCABEOwOCyABKAKQByIBRQRAIAIoAgAQTCACQQA2AgAgABCIBA8LIAEQTCACKAIAEEwgAkEANgIAIAAQiAQL7wEBBH8jBiEDIwZBEGokBiAAKALIBCIGRQRAQZL9HUGw6h1BkgtBousdEAELIAIgBkHIBmoiBygCACIEEE4hBSACIAQQyAEEQCAAKAIAQa3rHSADEOcBCyAAQdgDaiEEIAAoAgxBgAhxBH8gBQUgACgCPCICIAQoAgAiAGsgBSAAIAVqIAJLGwshACADQQRqIQICQANAIABBAEwEQEEBIQAMAgsgAiABNgIAIAYgAhCFJkEBRwRAQQAhAAwCCyAAQQFKBEAgBCAEKAIAQQFqNgIACyABIAcoAgBqIQEgAEF/aiEADAAACwALIAMkBiAAC98BAQp/IABByARqIgQoAgAiAEH0BmoiBSgCAEEASgRAIABBzABqIQYgACgCVCECA0AgAyAGKAIASARAIAIoAhxBA3QhByACKAIMIgFBA3QhCCAAQcwGaiADQQJ0aiEJIAUoAgAgAWwhAQNAIAEgCEgEQCAJKAIAIgogAUECdGooAgAgCiABQX9qQQJ0aigCACAHEIgCIAFBAWohAQwBCwsgAkHYAGohAiADQQFqIQMMAQsLIAAgAEHMBmogACgCkAJBA3QiABClFSAARgR/IAQoAgAFQQAPCyEACyAAEIMmC/oFAQZ/AkAjBiEFIwZBEGokBiAAKALIBCICRQRAQZL9HUGw6h1BmgpBy+sdEAELIAIoAhAEQEHZ6x1BsOodQZsKQcvrHRABCyAAKAIMQYAIcQRAIAAoAkQhAyAAKAJIIQQgAiAAEJMFNgLIBgUgACgCOCEDIAAoAjwgACgC2ANrIQQgACgCZCEGIAIgABCkFTYCyAYgBiAEIAQgBksbIQQLIABBigFqIgcuAQBBAkcgAUH//wNxRXJFBEAgA0EAIAIvAcIGIgZrSQR/IAMgBkF/amogBhBmBUEACyEDIARBACACLwHEBiIGa0kEfyAEIAZBf2pqIAYQZgVBAAshBAsgAyAEckH//wNLBEBBy+sdQfnrHSAFEF8MAQsgAiADNgIcIAIgBDYCIAJAIAcuAQBBAUYEQCACIAAvAWI2AiQgAi4BwAZBBkcEQCACQQA2AiggAkEAEOsOBEBBACEBDAMLDAMLIAJBKGohAQJ/IAIoApwHQQFGBH8gAUECNgIAQQAFIAFBAzYCACACLgHCBkEBRgRAQQAgAi4BxAZBAUYNAhoLQQELCyEBIAJBAxDrDkUNAiACQdQAaiIDKAIAIAIvAcIGNgIIIAMoAgAgAi8BxAY2AgwFIAJBATYCJCACQQA2AiggAkEAEOsORQ0CIAJB1ABqIgMoAgAgAUH//wNxNgIAIAIuAcAGQQZHIAFB//8DcUVyRQRAIAMoAgBBATYCECADKAIAQQE2AhQgAygCAEEBNgIYC0EAIQELCyACQQA2AvQBIAJBADYCgAIgAiACKAKYBxCjFUUNACACQaAHaiIEKAIAIgNBAXFFBEAgAkEAENcLIAJBARDXCyAEKAIAIQMLIAJBAEEBIANBAnEbNgLYAUEQQTQgAUUiAxshASACQQBBASADGzYC0AEgACABNgKgBCAAIAE2AqgEIAAgATYCsAQgAhD/JUUNACADRQRAIAAgAigCVCACKAJMEKIVRQ0BCyACQQA2AvQGIAUkBkEBDwsgBSQGQQAL3AUCC38CfQJAIwYhAiMGQdAAaiQGIAAoAsgEIQEgAEEBQQAQ0gsgAUUEQEGS/R1BsOodQZQJQfCxERABCyABKAIQBEBB2esdQbDqHUGVCUHwsREQAQsgAUEANgIoIAFBATYCJCABEI4lRQ0AIAJByABqIQUgAkFAayEGIAJBOGohByACQTBqIQggAkEoaiEJIAJBIGohCiACQRhqIQsgAkHMAGohAyABIAAuAVoiBDsBwAYCQAJAAkACQCAEQQNrDgQBAQIAAgsgASAALgHMATsBwgYgASAALgHOATsBxAYgCyADNgIAIABBlAQgCxC9AUUEQEEBIAAvAVR0IQMgAkMAAAAAOAIAIAIgA0F/arIiDDgCBCACIANBAXWyIg04AgggAiAMOAIMIAIgDTgCECACIAw4AhQgCiACNgIAIABBlAQgChCiARoLDAILIAkgBEH//wNxNgIAQfCxEUGl7B0gCRBfDAILIAFBATsBwgYgAUEBOwHEBgsgAC4BVCIDQQhHBEAgCCADQf//A3E2AgBB8LERQdfsHSAIEF8MAQsgAUEINgJIIABBDGoiBCgCAEGACHEEQCAAKAJIIAEvAcQGQQN0IgMQhwEEQCAHIAM2AgBB8LERQf3sHSAHEF8MAgsgACgCRCABLwHCBkEDdCIDEIcBBEAgBiADNgIAQfCxEUGl7R0gBhBfDAILBSAAKAJkIgMgACgCPEkEQCADIAEvAcQGQQN0IgMQhwEEQCAFIAM2AgBB8LERQcztHSAFEF8MAwsLCwJAIAEoAqAHQQNxBEAgASgCkAciAwRAIANBwdX5AEEIEMQBDQILIAAQjSVFDQIgBCAEKAIAQQhyNgIAIABBMGoiACAAKAIAQQRyNgIABSAAQTBqIgAgACgCAEF7cTYCAAsLIAEgAUGMBmo2AhggAUH0AjYClAYgAUH+ADYCmAYgAUH1AjYCnAYgAiQGQQEPCyACJAZBAAuFBAEMfyMGIQYjBkEQaiQGIAIgACgCyAQiBEHIBmoiDSgCACIDEE4hByACIAMQyAEEQCAAKAIAQcbuHSAGEOcBCyAGQQhqIQUgBkEEaiEKAkAgBCgCICICIAcgByACShsiBwRAIAVBADYCACAEQfAAaiEJIARB1AFqIg4oAgBBDEYEQCAFIAkoAgBBAXQgBEEkaiIDKAIAbBByIgI2AgAFIARBJGohA0EAIQILIABB2ANqIQsCQAJAA0ACQCACBEAgBCAFEJIVQQFHDQQCQAJAAkAgDigCAEEIaw4FAQICAgACCyAJKAIAIAMoAgBsQQF2IQBBACEIA0AgCCAARg0EIAEgCEEDbGoiDCAFKAIAIAhBAXRqIgItAABBBHY6AAAgDCACLAAAQQR0OgABIAwgAiwAAToAAiAIQQFqIQgMAAALAAsgCSgCACADKAIAbCEAQQAhAgNAIAIgAE4NAyABIAJqIAUoAgAgAmosAAA6AAAgAkEBaiECDAAACwALBSAKIAE2AgAgBCAKEJIVQQFHDQQLCyALIAsoAgBBAWo2AgAgB0EBTA0BIAEgDSgCAGohASAHQX9qIQcgBSgCACECDAAACwALIAUoAgAiAEUNAiAAEEwMAgsgBiQGQQAPCwsgBCgCjAEgBCgCdEkEQCAGJAZBAQ8LIAQQkRVBAEchDyAGJAYgDwuNCQEPfwJAIwYhAyMGQeAAaiQGIAAoAsgEIgJFBEBBkv0dQbDqHUGzBUHj7h0QAQsgAigCEEUEQEHx7h1BsOodQbQFQePuHRABCyACEPkkRQ0AIAJBARCQFUEBRw0AIAAoAjwgACgC2ANrIQQgACgCDEGACHEEQCAAKAJEIQUgACgCSCEEIAIgABCTBTYCyAYFIAAoAjghBSAAKAJkIQYgAiAAEKQVNgLIBiAGIAQgBCAGSxshBAsgAEGKAWoiCi4BAEECRyABQf//A3FFcgRAIAUhAQUgBUEAIAIvAcIGIgFrSQR/IAUgAUF/amogARBmBUEACyEBIARBACACLwHEBiIFa0kEfyAEIAVBf2pqIAUQZgVBAAshBAsgAkEcaiIGKAIAIgUgAUkgAigCICIHIARJcgRAIAMgATYCACADIAQ2AgQgAyAFNgIIIAMgBzYCDEHj7h1BkO8dIAMQ5wEgBigCACEFCyADQRBqIQYgBSABSyACKAIgIgcgBEtyBEAgBiABNgIAIAYgBDYCBCAGIAU2AgggBiAHNgIMQePuHUHJ7x0gBhBfDAELIANBIGohBCACQSRqIgcoAgAiBSAKLgEAQQFGIgkEfyAALwFiBUEBCyIBRwRAQePuHUGV8B0gBBBfDAELIANBKGohASACKALUASAALwFURwRAQePuHUGz8B0gARBfDAELIANB2ABqIQsgA0HQAGohDCADQcgAaiEEIANBQGshDSADQTBqIQEgAkHYAWoiBSgCACIIKAIIIQYCfwJ/AkACQCAJBEACQCAGIAJBwgZqIgkvAQAiC0YgCCgCDCIOIAJBxAZqIggvAQAiD0ZxRQRAIAEgBjYCACABIA42AgQgASALNgIIIAEgDzYCDEHj7h1B0PAdIAEQ5wEgBSgCACIBKAIIIAkvAQBMBEAgASgCDCAILwEATARAIABB/ogCQQAQ+QYNAyAFKAIAIgEoAgwhBiAEIAEoAgg2AgAgBCAGNgIEQePuHUHS8R0gBBDnASAJIAUoAgAiASgCCDsBACAIIAEoAgw7AQAMAwsLQePuHUGR8R0gDRBfDAcLCyAHKAIAIQRBASEBAkACQANAIAEgBEgEQCAFKAIAIgYgAUHYAGxqKAIIQQFHDQIgBiABQdgAbGooAgxBAUcNAiABQQFqIQEMAQsLDAELQePuHUGF8h0gDBBfDAYLIAouAQBBAUYEQCACLgHABkEGRgRAIAIoApwHQQFGBEAgAkEDNgIoIAJBAjYCLAwFCwsLBSAGQQFGBEAgCCgCDEEBRg0CC0Hj7h1BhfIdIAsQXwwFCwsgAkEANgIoIAJBADYCLCAKLgEAQQFHDQAgAi4BwgZBAUYEQCACLgHEBkEBRg0BCyACQQE2AkQgAEEzNgKcBCAAQTM2AqQEIABBMzYCrARBAQwBCyACQQA2AkQgAEEPNgKcBCAAQQ82AqQEIABBDzYCrARBAAshECACEPckRQ0BIBBFCwRAIAMkBkEBDwsgACACKALYASAHKAIAEKIVRQ0AIAJBCDYC9AYgAyQGQQEPCyADJAZBAAvVAQEDfyMGIQIjBkEQaiQGIAAoAsgEIQEgAEEAQQEQ0gsgAUUEQEGS/R1BsOodQYYFQaTyHRABCyABKAIQRQRAQfHuHUGw6h1BhwVBpPIdEAELIAAoAjBBBHEEQCABEI8VIAFB/QI2AqgGIAFBABCQFUECRwRAQaTyHUG08h0gAhBfIAIkBkEADwsLIAEgAC4BWiIDOwHABiABIANBBkYEfyABIAAuAcwBOwHCBiAALgHOAQUgAUEBOwHCBkEBCzsBxAYgARCPFSAAQRc2AowFIAIkBkEBCxMAIAAEQCAAQQhqEOoOIAAQTAsLDQAgACgCDCgCEBCODwuIAgEDfyMGIQIjBkEwaiQGIAAoAsgEIgRFBEBBkv0dQbDqHUGZDkHN8h0QAQsgAEEwaiIFKAIAIgBBBHEEQCACIAQoApQHNgIAIAFB2vIdIAIQXCAFKAIAIQALIAJBCGohAyAAQQhxBEAgAyAEKAKoBzYCACABQfbyHSADEFwgBSgCACEACyACQRBqIQMgAEEQcQRAIAMgBCgCrAc2AgAgAUGX8x0gAxBcIAUoAgAhAAsgAkEYaiEDIABBIHEEQCADIAQoArAHNgIAIAFBrfMdIAMQXCAFKAIAIQALIABBwABxRQRAIAIkBg8LIAJBIGoiACAEKAK0BzYCACABQcvzHSAAEFwgAiQGC+QFAQV/IAAoAsgEIgRFBEBBkv0dQbDqHUHiDEHa8x0QAQsCQAJAIAFB3pACSARAIAFBkgRIBEACQCABQYYCayIDBEAgA0HVAEcNBAwBCyAAQYYCIAIgBCgCgAdB/wBxQZAEahECACEHIAAQjRUgBw8LIAIoAgBBA2pBfHEiBSgCACEDIAIgBUEEajYCACADBEAgAigCAEEDakF8cSIFKAIAIQYgAiAFQQRqNgIAIARBkAdqIAYgA0EBEIUIIAQgAzYClAcgAEEwaiICIAIoAgBBBHI2AgAMBAVBAA8LAAsgAUHckAJIBEAgAUGSBGsNAiAEQQE2AqQHIABBkgQgAiAEKAKAB0H/AHFBkARqEQIADwUCQAJAAkAgAUHckAJrDgIAAQILIAIoAgBBA2pBfHEiAygCACEFIAIgA0EEajYCACAEIAU2AqgHDAULIAIoAgBBA2pBfHEiAygCACEFIAIgA0EEajYCACAEQawHaiAFEM8JDAQLCwUgAUGBgARIBEACQAJAAkAgAUHekAJrDgIAAQILIAIoAgBBA2pBfHEiAygCACEFIAIgA0EEajYCACAEIAU2ArAHDAULIAIoAgBBA2pBfHEiAygCACEFIAIgA0EEajYCACAEQbQHaiAFEM8JDAQLDAILAkACQAJAAkAgAUGBgARrDgMAAQIDCyACKAIAQQNqQXxxIgAoAgAhASACIABBBGo2AgAgBCABNgKYB0EBDwsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAQgAzYCnAcgABCNFUEBDwsgAigCAEEDakF8cSIAKAIAIQEgAiAAQQRqNgIAIAQgATYCoAdBAQ8LCwsgACABIAIgBCgCgAdB/wBxQZAEahECAA8LIAAgARDpAiIBRQRAQQAPCyAAQShqIAEuAQwiAUH//wNxQQV2QQJ0aiICIAIoAgBBASABQR9xdHI2AgAgAEEMaiIAIAAoAgBBCHI2AgBBAQuCAwEEfwJAIAAoAsgEIgNFBEBBkv0dQbDqHUHvDUHo8x0QAQsCQCABQd6QAkgEQCABQdyQAkgEQAJAAkAgAUHbAmsiBARAIARBtwFGBEAMAgUMAwsACyADKAKUByEAIAIoAgBBA2pBfHEiASgCACEFIAIgAUEEajYCACAFIAA2AgAgAygCkAchAAwFCyAAEO8kIABBkgQgAiADKAL8BkH/AHFBkARqEQIADwsFAkACQAJAIAFB3JACaw4CAAECCyADKAKoByEADAULIAMoAqwHIQAMBAsLBSABQYGABEgEQAJAAkACQCABQd6QAmsOAgABAgsgAygCsAchAAwFCyADKAK0ByEADAQLDAILAkACQAJAAkAgAUGBgARrDgMAAQIDCyADKAKYByEADAULIAMoApwHIQAMBAsgAygCoAchAAwDCwsLIAAgASACIAMoAvwGQf8AcUGQBGoRAgAPCyACKAIAQQNqQXxxIgEoAgAhBiACIAFBBGo2AgAgBiAANgIAQQELFgAgACgCAEEANgJsIAAoAgBBADYCFAvtAgEKfyMGIQYjBkEwaiQGIAZBCGohBAJAAkACfyAAKAIAIgIoAhQiA0EASgRAIAMgAigCdEwEQCACKAJwIANBAnRqDAILCyACKAJ4IgVFDQEgAyACKAJ8IgBIDQEgAyACKAKAAUoNASAFIAMgAGtBAnRqCyIAKAIAIgVFDQAMAQsgAiADNgIYIAIoAnAoAgAhBQsgBSEAAkACQANAAkAgAEEBaiEDAkAgACwAACIABEAgAEElRgRADAUFDAILAAsMAQsgAyEADAELCwwBCyADLAAAQfMARgRAIAYgAkEYajYCACABIAUgBhCuAhogBiQGDwsLIAIoAhwhByACKAIgIQggAigCJCEJIAIoAighCiACKAIsIQsgAigCMCEDIAIoAjQhACAEIAIoAhg2AgAgBCAHNgIEIAQgCDYCCCAEIAk2AgwgBCAKNgIQIAQgCzYCFCAEIAM2AhggBCAANgIcIAEgBSAEEK4CGiAGJAYLRAEBfyMGIQEjBkHQAWokBiAAIAEgACgCACgCDEH/AHFBrAtqEQMAIAFByAFqIgAgATYCAEHEtBZBsOYdIAAQXCABJAYLdwECfyAAKAIAIQIgAUEATgRAIAIoAmggAUgEQA8LIAAgAigCCEH/A3FBogdqEQAADwsCQAJAIAJB7ABqIgMoAgAiAUUNACACKAJoQQJKDQAMAQsgACACKAIIQf8DcUGiB2oRAAAgAygCACEBCyADIAFBAWo2AgALIAAgACAAKAIAKAIIQf8DcUGiB2oRAAAgABDNCUEBEBYLNgEBf0EBIQEDQCABQX9KBEAgACABEKkVIAFBf2ohAQwBCwsgAEEEaiIAKAIAEEwgAEEANgIAC/kDAQR/AkACQAJAIAIgA2oiBSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgBBFzYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsCQAJAIAFBGGoiBigCACIDIAJLDQAgBSADIAEoAhBqSw0ADAELIAEoAihFBEAgACgCAEHHADYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAUEkaiIDKAIABEAgACABQQEQqBUgA0EANgIACyAGIAYoAgAgAkkEfyACBSAFIAEoAhBrIgNBACADQQBKGwsiAzYCACAAIAFBABCoFQsCQAJAIAFBHGoiCCgCACIDIAVPDQAgBEUhBwJAAkAgAyACSQRAIAcEfyACBSAAKAIAQRc2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAAgAiEDDAILIQMFIAdFDQELDAELIAggBTYCAAsgASgCIARAIAEoAghBB3QhByAFIAYoAgAiAGshBSADIABrIQADQCAAIAVPDQIgASgCACAAQQJ0aigCAEEAIAcQjAEaIABBAWohAAwAAAsABSAEDQIgACgCAEEXNgIUIAAgACgCACgCAEH/A3FBogdqEQAADAMLAAsgBEUNAQsgAUEBNgIkIAEoAgAgAiAGKAIAa0ECdGoPCyABKAIAIAIgBigCAGtBAnRqC/YDAQR/AkACQAJAIAIgA2oiBSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgBBFzYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsCQAJAIAFBGGoiBigCACIDIAJLDQAgBSADIAEoAhBqSw0ADAELIAEoAihFBEAgACgCAEHHADYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAUEkaiIDKAIABEAgACABQQEQpxUgA0EANgIACyAGIAYoAgAgAkkEfyACBSAFIAEoAhBrIgNBACADQQBKGwsiAzYCACAAIAFBABCnFQsCQAJAIAFBHGoiCCgCACIDIAVPDQAgBEUhBwJAAkAgAyACSQRAIAcEfyACBSAAKAIAQRc2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAAgAiEDDAILIQMFIAdFDQELDAELIAggBTYCAAsgASgCIARAIAEoAgghByAFIAYoAgAiAGshBSADIABrIQADQCAAIAVPDQIgASgCACAAQQJ0aigCAEEAIAcQjAEaIABBAWohAAwAAAsABSAEDQIgACgCAEEXNgIUIAAgACgCACgCAEH/A3FBogdqEQAADAMLAAsgBEUNAQsgAUEBNgIkIAEoAgAgAiAGKAIAa0ECdGoPCyABKAIAIAIgBigCAGtBAnRqC7oEAQd/IAAoAgQiBkHEAGoiASEFA0AgBSgCACIFBEAgBSgCAEUEQCACIAUoAgwgBSgCCCIDbGohAiAEIAUoAgQgA2xqIQQLIAVBLGohBQwBCwsgBkHIAGoiBSEDA0AgAygCACIDBEAgAygCAEUEQCACIAMoAgwgAygCCCIHbEEHdGohAiAEIAMoAgQgB2xBB3RqIQQLIANBLGohAwwBCwsgAkEBSARADwsgBigCTBogBCIDIARIBH8gAyACEE4iAkEBIAJBAUobBUGAlOvcAwshAyAGQdAAaiEGIAEhAgNAIAIoAgAiAQRAIAEoAgBFBEAgASgCBCICQX9qIAEoAgwiBBBmQQFqIANKBEAgAUEQaiIHIAMgBGw2AgAgACACIAFBCGoiBCgCAGwQphUgAUEBNgIoIAcoAgAhAgUgASACNgIQIAFBCGohBAsgASAAQQEgBCgCACACEKsVNgIAIAEgBigCADYCFCABQQA2AhggAUEANgIcIAFBADYCJAsgAUEsaiECDAELCyAFIQIDQCACKAIAIgEEQCABKAIARQRAIAEoAgQiAkF/aiABKAIMIgQQZkEBaiADSgRAIAFBEGoiBSADIARsNgIAIAAgAiABQQhqIgQoAgBsQQd0EKYVIAFBATYCKCAFKAIAIQIFIAEgAjYCECABQQhqIQQLIAEgAEEBIAQoAgAgAhCqFTYCACABIAYoAgA2AhQgAUEANgIYIAFBADYCHCABQQA2AiQLIAFBLGohAgwBCwsLiQEBAX8gACgCBCEGIAFBAUcEQCAAKAIAQQ82AhQgACgCACABNgIYIAAgACgCACgCAEH/A3FBogdqEQAACyAAIAFBgAEQxwkiAEEANgIAIAAgBDYCBCAAIAM2AgggACAFNgIMIAAgAjYCICAAQQA2AiggACAGQcgAaiIBKAIANgIsIAEgADYCACAAC4kBAQF/IAAoAgQhBiABQQFHBEAgACgCAEEPNgIUIAAoAgAgATYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgACABQYABEMcJIgBBADYCACAAIAQ2AgQgACADNgIIIAAgBTYCDCAAIAI2AiAgAEEANgIoIAAgBkHEAGoiASgCADYCLCABIAA2AgAgAAuBAwEHfyAAKAIYIgNBBGoiBSgCACICRQRAIAAgAygCDEH/AXFBBmoRBQAEfyAFKAIABUEADwshAgsgAygCACIBQQFqIQQCfyABLQAAQQh0IQYgAkF/aiICRQRAIAAgAygCDEH/AXFBBmoRBQAEfyADKAIAIQQgBSgCAAVBAA8LIQILIAYgBC0AAHJBBEcLBEAgACgCAEEMNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyAEQQFqIQQgAkF/aiICBEAgBCEBBSAAIAMoAgxB/wFxQQZqEQUABH8gAygCACEBIAUoAgAFQQAPCyECCyABQQFqIQQgAS0AAEEIdCEHIAJBf2oiAkUEQCAAIAMoAgxB/wFxQQZqEQUABH8gAygCACEEIAUoAgAFQQAPCyECCyAHIAQtAAByIQEgACgCAEHUADYCFCAAKAIAIAE2AhggAEEBIAAoAgAoAgRB/wBxQawLahEDACAAIAE2ApgCIAMgBEEBajYCACAFIAJBf2o2AgBBAQvHCQEQfyAAKAIYIgZBBGoiBygCACIBRQRAIAAgBigCDEH/AXFBBmoRBQAEfyAHKAIABUEADwshAQsgBigCACIDLQAAQQh0IQ4gAUF/aiIBBEAgA0EBaiEDIAZBDGohCgUgACAGQQxqIgooAgBB/wFxQQZqEQUABH8gBigCACEDIAcoAgAFQQAPCyEBCyAOIAMtAAByQX5qIQIgAUF/aiEBIANBAWohAwJAAkADQCACQQBMDQEgAQR/IAEFIAAgCigCAEH/AXFBBmoRBQBFDQMgBigCACEDIAcoAgALIQ8gAy0AACIBQQR2IQkgACgCAEHTADYCFCAAKAIAIAFBD3EiATYCGCAAKAIAIAk2AhwgAEEBIAAoAgAoAgRB/wBxQawLahEDACABQQNLBEAgACgCAEEgNgIUIAAoAgAgATYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAEGkAWogAUECdGoiASgCACIFRQRAIAEgABCsFSIFNgIACyACQX9qIQwCfwJAAkACQAJAAkACQAJAIAlFIg0EfyACQcEASAR/QQAhAQN/IAFBwABGBH8gDAUgBSABQQF0akEBOwEAIAFBAWohAQwBCwsFQcAAIQEMCAsFIAJBgQFIBH9BACEBA0AgAUHAAEcEQCAFIAFBAXRqQQE7AQAgAUEBaiEBDAELCyAMQQF1BUHAACEBDAgLCyIBQQRrDi4ABgYGBgEGBgYGBgYCBgYGBgYGBgYDBgYGBgYGBgYGBgQGBgYGBgYGBgYGBgYFBgtBkO0KIQhBBAwGC0Gg7AohCEEJDAULQaDrCiEIQRAMBAtB8OkKIQhBGQwDC0Gg6AohCEEkDAILQZDmCiEIQTEMAQtB0OMKIQggAQshCUEAIQsgAyECIA8hAwNAAkAgA0F/aiEBIAJBAWohAyALIAlODQAgAUUhAiANBEAgAgR/IAAgCigCAEH/AXFBBmoRBQBFDQYgBygCACECIAYoAgAFIAEhAiADCyIBLQAAIQQgAiEDBSACBEAgACAKKAIAQf8BcUEGahEFAEUNBiAHKAIAIQEgBigCACEDCyADQQFqIQIgAy0AACEQIAFBf2oiAwR/IAIFIAAgCigCAEH/AXFBBmoRBQBFDQYgBygCACEDIAYoAgALIQEgEEH/AXFBCHQgAS0AAHIhBAsgBSAIIAtBAnRqKAIAQQF0aiAEOwEAIAtBAWohCyABIQIMAQsLAkAgACgCACgCaEEBSgRAQQAhAgNAIAJBwABPDQIgACgCACIEIAUgAkEBdGovAQA2AhggBCAFIAJBAXJBAXRqLwEANgIcIAQgBSACQQJyQQF0ai8BADYCICAEIAUgAkEDckEBdGovAQA2AiQgBCAFIAJBBHJBAXRqLwEANgIoIAQgBSACQQVyQQF0ai8BADYCLCAEIAUgAkEGckEBdGovAQA2AjAgBCAFIAJBB3JBAXRqLwEANgI0IAAoAgBB3wA2AhQgAEECIAAoAgAoAgRB/wBxQawLahEDACACQQhqIQIMAAALAAsLIAwgCWtBACAJIA0bayECDAAACwALIAIEQCAAKAIAQQw2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALIAYgAzYCACAHIAE2AgBBAQ8LQQALoAkBHn8jBiEBIwZBoAJqJAYgAUGAAmohAiABIQggACgCGCIFQQRqIgkoAgAiAUUEQCAAIAUoAgxB/wFxQQZqEQUABH8gCSgCAAUgCCQGQQAPCyEBCyAFKAIAIgMtAABBCHQhHiABQX9qIgEEQCADQQFqIQMgBUEMaiEMBSAAIAVBDGoiDCgCAEH/AXFBBmoRBQAEfyAFKAIAIQMgCSgCAAUgCCQGQQAPCyEBCyACQQFqIQ0gAkECaiEOIAJBA2ohDyACQQRqIRAgAkEFaiERIAJBBmohEiACQQdqIRMgAkEIaiEUIAJBCWohFSACQQpqIRYgAkELaiEXIAJBDGohGCACQQ1qIRkgAkEOaiEaIAJBD2ohGyACQRBqIRwgHiADLQAAckF+aiEGIAFBf2ohASADQQFqIQMCQAJAA0AgBkEQTA0BIAEEfyABIQQgAwUgACAMKAIAQf8BcUEGahEFAEUNAyAJKAIAIQQgBSgCAAsiAS0AACIdIQcgACgCAEHSADYCFCAAKAIAIAc2AhggAEEBIAAoAgAoAgRB/wBxQawLahEDACACQQA6AABBASEKQQAhCyAEIQMDQAJAIANBf2ohAyABQQFqIQQgCkERTw0AIAMEfyAEBSAAIAwoAgBB/wFxQQZqEQUARQ0FIAkoAgAhAyAFKAIACyEBIAIgCmogASwAACIEOgAAIApBAWohCiALIARB/wFxaiELDAELCyAAKAIAIgEgDS0AADYCGCABIA4tAAA2AhwgASAPLQAANgIgIAEgEC0AADYCJCABIBEtAAA2AiggASASLQAANgIsIAEgEy0AADYCMCABIBQtAAA2AjQgACgCAEHYADYCFCAAQQIgACgCACgCBEH/AHFBrAtqEQMAIAAoAgAiASAVLQAANgIYIAEgFi0AADYCHCABIBctAAA2AiAgASAYLQAANgIkIAEgGS0AADYCKCABIBotAAA2AiwgASAbLQAANgIwIAEgHC0AADYCNCAAKAIAQdgANgIUIABBAiAAKAIAKAIEQf8AcUGsC2oRAwAgC0GAAksgBkFvaiIKIAtIcgRAIAAoAgBBCTYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAtBACEGIAMhASAEIQMDQCAGIAtJBEAgAUUEQCAAIAwoAgBB/wFxQQZqEQUARQ0FIAkoAgAhASAFKAIAIQMLIAggBmogAywAADoAACAGQQFqIQYgAUF/aiEBIANBAWohAwwBCwsCQAJAIAdBEHEEQCAAQcQBaiAHQXBqIgRBAnRqIQcgHUEQSA0BBSAAQbQBaiAHIgRBAnRqIQcLIARBA0oNAAwBCyAAKAIAQR82AhQgACgCACAENgIYIAAgACgCACgCAEH/A3FBogdqEQAACyAHKAIAIgRFBEAgByAAENkLIgQ2AgALIAQgAikCADcCACAEIAIpAgg3AgggBCACLAAQOgAQIAcoAgBBEWogCEGAAhBtGiAKIAtrIQYMAAALAAsgBgRAIAAoAgBBDDYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgBSADNgIAIAkgATYCACAIJAZBAQ8LIAgkBkEAC8gEAQt/IAAoAhgiBEEEaiIFKAIAIgJFBEAgACAEKAIMQf8BcUEGahEFAAR/IAUoAgAFQQAPCyECCyAEKAIAIgEtAABBCHQhCyACQX9qIgMEfyAEQQxqIQggAUEBagUgACAEQQxqIggoAgBB/wFxQQZqEQUABH8gBSgCACEDIAQoAgAFQQAPCwshAiALIAItAAByIQECQAJAA0AgAUF+aiEHIANBf2ohAyACQQFqIQIgAUECTA0BIANFBEAgACAIKAIAQf8BcUEGahEFAEUNAyAFKAIAIQMgBCgCACECCyACQQFqIQEgAi0AACEGIANBf2oiAwR/IAEFIAAgCCgCAEH/AXFBBmoRBQBFDQMgBSgCACEDIAQoAgALIgIsAAAiCkH/AXEhCSAAKAIAQdEANgIUIAAoAgAgBiIBNgIYIAAoAgAgCTYCHCAAQQEgACgCACgCBEH/AHFBrAtqEQMAAkACQCAGQR9KBEAgACgCAEEdNgIUIAAoAgAgATYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAwBBSAGQQ9KDQEgAEHoAWogAWogCUEPcSIGOgAAIABB+AFqIAFqIApB/wFxQQR2IgE6AAAgBiABSwRAIAAoAgBBHjYCFCAAKAIAIAk2AhggACAAKAIAKAIAQf8DcUGiB2oRAAALCwwBCyAAIAFqIAo6APgBCyAHIQEMAAALAAsgBwRAIAAoAgBBDDYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgBCACNgIAIAUgAzYCAEEBDwtBAAv/CAESfwJAIAAoAhgiBCgCACECIARBBGoiBigCACEBIABBzANqIhAoAgAoAhBFBEAgACgCAEHAADYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAUUEQCAAIAQoAgxB/wFxQQZqEQUARQ0BIAYoAgAhASAEKAIAIQILIAJBAWohAyACLQAAQQh0IREgAUF/aiICBEAgAyEBBSAAIAQoAgxB/wFxQQZqEQUARQ0BIAQoAgAhASAGKAIAIQILIAFBAWohAyARIAEtAAByIQEgAkF/aiICRQRAIAAgBCgCDEH/AXFBBmoRBQBFDQEgBCgCACEDIAYoAgAhAgsgAywAACIMQf8BcSEKIAAoAgBB6QA2AhQgACgCACAKNgIYIABBASAAKAIAKAIEQf8AcUGsC2oRAwACQAJAIAEgCkEBdEEGakcgDEH/AXFBBEpyDQAgDEUEQCAAKALgAUUNAQsMAQsgACgCAEEMNgIUIAAgACgCACgCAEH/A3FBogdqEQAACyAAIAo2AtACIARBDGohCSAAQdgBaiENIABBJGohDgJAAkADQCADQQFqIQMgAkF/aiICRSEBIAsgCk8NASABBH8gACAJKAIAQf8BcUEGahEFAEUNAyAGKAIAIQIgBCgCAAUgAwsiAUEBaiEDIAEtAAAhEiACQX9qIgJFBEAgACAJKAIAQf8BcUEGahEFAEUNAyAGKAIAIQIgBCgCACEDCyASQf8BcSEPIAMtAAAhByAOKAIAIQEgDSgCACEIQQAhBQJAAkADQCAFIAFODQEgCCgCACAPRwRAIAhB2ABqIQggBUEBaiEFDAELCwwBCyAAKAIAQQQ2AhQgACgCACAPNgIYIAAgACgCACgCAEH/A3FBogdqEQAACyAAQdQCaiALQQJ0aiAINgIAIAhBFGoiBSAHQQR2NgIAIAhBGGoiASAHQQ9xNgIAIAAoAgAiByAPNgIYIAcgBSgCADYCHCAHIAEoAgA2AiAgACgCAEHqADYCFCAAQQEgACgCACgCBEH/AHFBrAtqEQMAIAtBAWohCwwAAAsACyABBEAgACAJKAIAQf8BcUEGahEFAEUNAiAEKAIAIQEgBigCACECBSADIQELIAFBAWohAyAAQZgDaiIHIAEtAAA2AgAgAkF/aiICBEAgAyEBBSAAIAkoAgBB/wFxQQZqEQUARQ0CIAQoAgAhASAGKAIAIQILIAFBAWohAyAAQZwDaiINIAEtAAA2AgAgAkF/aiICRQRAIAAgCSgCAEH/AXFBBmoRBQBFDQIgBCgCACEDIAYoAgAhAgsgAEGgA2oiDiADLQAAIgVBBHY2AgAgAEGkA2oiASAFQQ9xNgIAIAAoAgAiBSAHKAIANgIYIAUgDSgCADYCHCAFIA4oAgA2AiAgBSABKAIANgIkIAAoAgBB6wA2AhQgAEEBIAAoAgAoAgRB/wBxQawLahEDACAQKAIAQQA2AhQgDARAIABBkAFqIgAgACgCAEEBajYCAAsgBCADQQFqNgIAIAYgAkF/ajYCAEEBDwtBAA8LQQAL9QEBAn8gACgCAEHoADYCFCAAQQEgACgCACgCBEH/AHFBrAtqEQMAIABBzANqIgIoAgAoAgwEQCAAKAIAQT82AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALA0AgAUEQRwRAIABB6AFqIAFqQQA6AAAgAEH4AWogAWpBAToAACAAQYgCaiABakEFOgAAIAFBAWohAQwBCwsgAEEANgKYAiAAQQA2AiggAEEANgKwAiAAQQA2ApwCIABBAToAoAIgAEEBOgChAiAAQQA6AKICIABBATsBpAIgAEEBOwGmAiAAQQA2AqgCIABBADoArAIgAigCAEEBNgIMC+8BAQh/IAAoAhgiAUEEaiIFKAIAIgJFBEAgACABKAIMQf8BcUEGahEFAAR/IAUoAgAFQQAPCyECCyABKAIAIgNBAWohBCADLAAAIgZB/wFxIQcgAkF/aiIDBH8gBAUgACABKAIMQf8BcUEGahEFAAR/IAUoAgAhAyABKAIABUEADwsLIgIsAAAiCEH/AXEhBCAGQX9GIAhBWEZxRQRAIAAoAgBBNzYCFCAAKAIAIAc2AhggACgCACAENgIcIAAgACgCACgCAEH/A3FBogdqEQAACyAAIAQ2ArQDIAEgAkEBajYCACAFIANBf2o2AgBBAQuCAgECfyACQQtLBEAgASwAAEHBAEYEQCABLAABQeQARgRAIAEsAAJB7wBGBEAgASwAA0HiAEYEQCABLAAEQeUARgRAIAEsAAshAyABLQAJQQh0IAEtAApyIQQgAS0AB0EIdCABLQAIciEFIAAoAgAiAiABLQAFQQh0IAEtAAZyNgIYIAIgBTYCHCACIAQ2AiAgAiADQf8BcTYCJCAAKAIAQc4ANgIUIABBASAAKAIAKAIEQf8AcUGsC2oRAwAgAEEBNgKoAiAAIAM6AKwCDwsLCwsLCyAAKAIAQdAANgIUIAAoAgAgAiADajYCGCAAQQEgACgCACgCBEH/AHFBrAtqEQMAC5wGAQZ/AkACQCACIANqIQQCQAJAIAJBDUsEQCABLAAAQcoARgRAIAEsAAFBxgBHDQIgASwAAkHJAEcNAiABLAADQcYARw0CIAEsAAQNAiAAQQE2ApwCIABBoAJqIgYgASwABSICOgAAIABBoQJqIgkgASwABjoAACAAQaICaiIHIAEsAAc6AAAgAEGkAmoiBSABLQAIQQh0IAEtAAlyOwEAIABBpgJqIgMgAS0ACkEIdCABLQALcjsBACACQQFGBEBBASEGBSAAKAIAQfoANgIUIAAoAgAgBi0AADYCGCAAKAIAIAktAAA2AhwgAEF/IAAoAgAoAgRB/wBxQawLahEDACAGLAAAIQYLIAAhAiAAKAIAIgggBkH/AXE2AhggCCAJLQAANgIcIAggBS8BADYCICAIIAMvAQA2AiQgCCAHLQAANgIoIAAoAgBB2QA2AhQgAkEBIAAoAgAoAgRB/wBxQawLahEDACABQQxqIgcsAAAiAyABQQ1qIgUsAAAiAXJB/wFxBEAgACgCAEHcADYCFCAAKAIAIActAAA2AhggACgCACAFLQAANgIcIAJBASAAKAIAKAIEQf8AcUGsC2oRAwAgBywAACEDIAUsAAAhAQsgBEFyaiIFIANB/wFxIAFB/wFxbEEDbEYEQA8LIAAoAgBB2gA2AhQgACgCACAFNgIYIAJBASAAKAIAKAIEQf8AcUGsC2oRAwAPCwUgAkEFSwRAIAEsAABBygBGDQILCwwBCyABLAABQcYARgRAIAEsAAJB2ABGBEAgASwAA0HYAEYEQCABLAAERQRAAkACQAJAAkAgAUEFaiIBLAAAQRBrDgQAAQMCAwsgACgCAEHuADYCFAwICyAAKAIAQe8ANgIUDAcLIAAoAgBB8AA2AhQMBgsgACgCAEHbADYCFCAAKAIAIAEtAAA2AhggACgCACAENgIcDAYLCwsLCyAAKAIAQc8ANgIUIAAoAgAgBDYCGCAAQQEgACgCACgCBEH/AHFBrAtqEQMADwsgACgCACAENgIYCyAAQQEgACgCACgCBEH/AHFBrAtqEQMAC8UDAQp/AkAjBiEEIwZBEGokBiAAQRhqIgooAgAiBUEEaiIHKAIAIgJFBEAgACAFKAIMQf8BcUEGahEFAEUNASAHKAIAIQILIAUoAgAiAUEBaiEGIAEtAABBCHQhASACQX9qIgJFBEAgACAFKAIMQf8BcUEGahEFAEUNASAFKAIAIQYgBygCACECC0EOIAEgBi0AAHIiAUF+aiIJQQAgAUECSxsgAUEPSxshCCAFQQxqIQEDQAJAIAJBf2ohAiAGQQFqIQYgAyAITw0AIAJFBEAgACABKAIAQf8BcUEGahEFAEUNAyAHKAIAIQIgBSgCACEGCyAEIANqIAYsAAA6AAAgA0EBaiEDDAELCyAJIAhrIQMCQAJAAkAgAEG0A2oiCSgCAEHgAWsiAQRAIAFBDkYEQAwCBQwDCwALIAAgBCAIIAMQqCYMAgsgACAEIAggAxCnJgwBCyAAKAIAQcYANgIUIAAoAgAgCSgCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgBSAGNgIAIAcgAjYCACADQQBMBEAgBCQGQQEPCyAAIAMgCigCACgCEEH/AHFBrAtqEQMAIAQkBkEBDwsgBCQGQQALtAEBA38gAEG0A2oiAigCACIBRQRAIAAQ7g4EfyACKAIABUEADwshAQsgASAAQcwDaiIBKAIAKAIUIgNB0AFqRgRAIAAoAgBB5AA2AhQgACgCACABKAIAKAIUNgIYIABBAyAAKAIAKAIEQf8AcUGsC2oRAwAgAkEANgIABSAAIAMgACgCGCgCFEH/AXFBkAJqEQEARQRAQQAPCwsgASgCAEEUaiIAIAAoAgBBAWpBB3E2AgBBAQvEBgEEfyAAQbQDaiIBKAIAIgIEQCACIQMFQQIhBAsgAEHMA2ohAgJAAkACQANAIARBAkYEQCACKAIAKAIMBEAgABDuDkUNBQUgABCmJkUNBQsgASgCACEDCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIANBAWsO/gEPEREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREQMEBQgKCAgICAYHCAkICAgPDw8PDw8PDwIBAAsQDBERDQ0NDQ0NDQ0NDQ0NDQ0NDRERERERERERERERERERDhELDBMLDBMLIAAQpSYMDwsgAEEBQQBBABDICUUNEgwOCyAAQQBBAEEAEMgJRQ0RDA0LIABBAEEBQQAQyAlFDRAMDAsgAEEAQQBBARDICUUNDwwLCyAAQQBBAUEBEMgJRQ0ODAoLIAAoAgBBPjYCFCAAKAIAIAEoAgA2AhggACAAKAIAKAIAQf8DcUGiB2oRAAAMCQsgABCjJkUNDAwICyAAEKImRQ0LDAcLIAAQoSZFDQoMBgsgABCgJkUNCQwFCyAAIAIoAgAgA0ECdGpBoHlqKAIAQf8BcUEGahEFAEUNCAwECyAAIAIoAgAoAhxB/wFxQQZqEQUARQ0HDAMLIAAoAgBB3gA2AhQgACgCACABKAIANgIYIABBASAAKAIAKAIEQf8AcUGsC2oRAwAMAgsgABCtFUUNBQwBCyAAKAIAQcYANgIUIAAoAgAgASgCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAUEANgIAQQIhBAwAAAsACyAAEKQmRQRAQQAPCyABQQA2AgBBAQ8LIAAoAgBB1wA2AhQgAEEBIAAoAgAoAgRB/wBxQawLahEDACABQQA2AgBBAg8LQQAL0w0BC38CQAJAIABBIGoiCCgCAEHc/wNKDQAgACgCHEHc/wNKDQAMAQsgACgCAEEqNgIUIAAoAgBB3P8DNgIYIAAgACgCACgCAEH/A3FBogdqEQAACyAAQdQBaiIBKAIAQQhHBEAgACgCAEEQNgIUIAAoAgAgASgCADYCGCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAEEkaiIJKAIAQQpKBEAgACgCAEEbNgIUIAAoAgAgCSgCADYCGCAAKAIAQQo2AhwgACAAKAIAKAIAQf8DcUGiB2oRAAALIAAhAiAAQbgCaiIHQQE2AgAgAEG8AmoiBkEBNgIAIABB2AFqIgooAgAhBEEBIQEDQCAFIAkoAgBIBEAC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dGooAgBqQRB1IQMgCyAGQQJ0aigCACEGIAAgBCACIAEtAAAiDmpqLAAAOgAAIAAgBCADIA5qaiwAADoAASAAIAQgBiAOamosAAA6AAIgACAEIAIgAS0AASICamosAAA6AAMgACAEIAMgAmpqLAAAOgAEIAAgBCAGIAJqaiwAADoABSAHQX9qIQcgCEEBaiEIIAlBAWohCSABQQJqIQEgAEEGaiEADAELCyAPKAIAQQFxRQRADwsgDSASIAVqLQAAIgBBAnRqKAIAIAwgESAFai0AACIBQQJ0aigCAGpBEHUhAiALIABBAnRqKAIAIQMgFCAFQQZsaiIAIAQgCiABQQJ0aigCACATIBBBfnFqLQAAIgFqaiwAADoAACAAIAQgAiABamosAAA6AAEgACAEIAMgAWpqLAAAOgACC0MAIAAgASACKAIAIAQgBSgCAEECdGogACgC2AMoAgxBP3FBrA1qERAAIAUgBSgCAEEBajYCACACIAIoAgBBAWo2AgALzQUBFX8gACgCzAIhBCAAKALYAyIHKAIQIQ4gBygCFCEPIAcoAhghECAHKAIcIREgASgCACIFIAJBAXQiBkECdGooAgAhByAAQfAAaiISKAIAIhNBAXYiCiELIAEoAgggAkECdGooAgAiFCEMIAEoAgQgAkECdGooAgAiFSENIAUgBkEBckECdGooAgAiFiEFIAchACADKAIAIhchASADKAIEIhghAgNAIAsEQCAOIAwtAAAiBkECdGooAgAhAyARIA0tAAAiCUECdGooAgAgECAGQQJ0aigCAGpBEHUhBiAPIAlBAnRqKAIAIQkgASAEIAMgAC0AACIIamosAAA6AAAgASAEIAYgCGpqLAAAOgABIAEgBCAJIAhqaiwAADoAAiABIAQgAyAALQABIghqaiwAADoAAyABIAQgBiAIamosAAA6AAQgASAEIAkgCGpqLAAAOgAFIAIgBCADIAUtAAAiCGpqLAAAOgAAIAIgBCAGIAhqaiwAADoAASACIAQgCSAIamosAAA6AAIgAiAEIAMgBS0AASIDamosAAA6AAMgAiAEIAYgA2pqLAAAOgAEIAIgBCAJIANqaiwAADoABSALQX9qIQsgDEEBaiEMIA1BAWohDSAFQQJqIQUgAEECaiEAIAFBBmohASACQQZqIQIMAQsLIBIoAgBBAXFFBEAPCyAYIApBBmwiBWohACAOIBQgCmotAAAiAkECdGooAgAhASARIBUgCmotAAAiA0ECdGooAgAgECACQQJ0aigCAGpBEHUhAiAPIANBAnRqKAIAIQMgFyAFaiIFIAQgASAHIBNBfnEiBmotAAAiB2pqLAAAOgAAIAUgBCACIAdqaiwAADoAASAFIAQgAyAHamosAAA6AAIgACAEIAEgFiAGai0AACIBamosAAA6AAAgACAEIAIgAWpqLAAAOgABIAAgBCADIAFqaiwAADoAAguQAgEGfyMGIQwjBkEQaiQGIAwhByAAKALYAyIIQSRqIgkoAgAEQCAIQSBqQQAgBCAFKAIAQQJ0akEAQQEgCCgCKBD1BiAJQQA2AgBBASEGIAhBLGohAwUgBiAFKAIAIgprIgsgCEEsaiIDKAIAIgZBAiAGQQJJGyIGIAYgC0sbIQYgByAEIApBAnRqKAIANgIAIAZBAUsEQCAHIAQgCkEBakECdGooAgA2AgQFIAcgCCgCIDYCBCAJQQE2AgALIAAgASACKAIAIAcgCCgCDEE/cUGsDWoREAALIAUgBSgCACAGajYCACADIAMoAgAgBms2AgAgCSgCAARAIAckBg8LIAIgAigCAEEBajYCACAHJAYLGwEBfyAAKALYAyIBQQA2AiQgASAAKAJ0NgIsC50BAQV/IAAoAiQhCCAAKAJwIQkDQCAEQX9qIQAgBEEASgRAQQAhBQNAIAUgCEgEQCAJIQQgASAFQQJ0aigCACACQQJ0aigCACEGIAMoAgAgBWohBwNAIAQEQCAHIAYsAAA6AAAgBEF/aiEEIAZBAWohBiAHIAhqIQcMAQsLIAVBAWohBQwBCwsgAkEBaiECIANBBGohAyAAIQQMAQsLC+MCARF/IAAoAnAhCSAAKALMAiEGIAAoAtwDIgAoAgghCiAAKAIMIQsgACgCECEMIAAoAhQhDSABQQRqIQ4gAUEIaiEPIAFBDGohEANAIARBf2ohACAEQQBKBEAgASgCACACQQJ0aigCACERIA4oAgAgAkECdGooAgAhEiAPKAIAIAJBAnRqKAIAIRMgECgCACACQQJ0aigCACEUIAJBAWohAkEAIQQgAygCACEFA0AgBCAJRwRAIBIgBGotAAAhByAFIAZB/wEgCiATIARqLQAAIhVBAnRqKAIAIBEgBGotAAAiCGpraiwAADoAACAFIAZB/wEgDSAHQQJ0aigCACAMIBVBAnRqKAIAakEQdSAIamtqLAAAOgABIAUgBkH/ASALIAdBAnRqKAIAIAhqa2osAAA6AAIgBSAUIARqLAAAOgADIARBAWohBCAFQQRqIQUMAQsLIANBBGohAyAAIQQMAQsLC7wBAQd/IAAoAnAhBiABQQRqIQcgAUEIaiEIA0AgBEF/aiEAIARBAEoEQCABKAIAIAJBAnRqKAIAIQkgBygCACACQQJ0aigCACEKIAgoAgAgAkECdGooAgAhCyACQQFqIQJBACEEIAMoAgAhBQNAIAQgBkcEQCAFIAkgBGosAAA6AAAgBSAKIARqLAAAOgABIAUgCyAEaiwAADoAAiAEQQFqIQQgBUEDaiEFDAELCyADQQRqIQMgACEEDAELCwuEAQEEfyAAKAJwIQcDQCAEQX9qIQAgBEEASgRAIAEoAgAgAkECdGooAgAhCEEAIQUgAygCACEEA0AgBSAHRwRAIAQgCCAFaiwAACIGOgACIAQgBjoAASAEIAY6AAAgBUEBaiEFIARBA2ohBAwBCwsgAkEBaiECIANBBGohAyAAIQQMAQsLC7MCAQ9/IAAoAnAhCSAAKALMAiEGIAAoAtwDIgAoAgghCiAAKAIMIQsgACgCECEMIAAoAhQhDSABQQRqIQ4gAUEIaiEPA0AgBEF/aiEAIARBAEoEQCABKAIAIAJBAnRqKAIAIRAgDigCACACQQJ0aigCACERIA8oAgAgAkECdGooAgAhEiACQQFqIQJBACEEIAMoAgAhBQNAIAQgCUcEQCARIARqLQAAIQcgBSAGIAogEiAEai0AACITQQJ0aigCACAQIARqLQAAIghqaiwAADoAACAFIAYgDSAHQQJ0aigCACAMIBNBAnRqKAIAakEQdSAIamosAAA6AAEgBSAGIAsgB0ECdGooAgAgCGpqLAAAOgACIARBAWohBCAFQQNqIQUMAQsLIANBBGohAyAAIQQMAQsLC4QBAQF/IAAoAtwDIABBAUGAGCAAKAIEKAIAQf8AcUGQBGoRAgAiATYCGEEAIQADQCAAQYACRwRAIAEgAEECdGogAEGLmQFsNgIAIAEgAEGAAmpBAnRqIABBxqwCbDYCACABIABBgARqQQJ0aiAAQa86bEGAgAJqNgIAIABBAWohAAwBCwsL4QEBCH8gACgC3AMoAhghBSAAKAJwIQYgAUEEaiEHIAFBCGohCANAIARBf2ohACAEQQBKBEAgASgCACACQQJ0aigCACEJIAcoAgAgAkECdGooAgAhCiAIKAIAIAJBAnRqKAIAIQsgAkEBaiECIAMoAgAhDEEAIQQDQCAEIAZHBEAgDCAEaiAFIAkgBGotAABBAnRqKAIAIAUgCiAEai0AAEGAAnJBAnRqKAIAaiAFIAsgBGotAABBgARyQQJ0aigCAGpBEHY6AAAgBEEBaiEEDAELCyAAIQQgA0EEaiEDDAELCwsXACABKAIAIAIgA0EAIAQgACgCcBD1Bgv8AQEMfyADKAIAIQUgACgC2AMiA0GMAWogASgCBCIBai0AACEIIANBlgFqIAFqLQAAIgEhCSAAQbwCaiELIABB8ABqIQogAUH/AXFBAUohDCAJQX9qIQ0DQCAEIAsoAgBIBEAgBSAEQQJ0aigCACIAIAooAgBqIQ4gAiAGQQJ0aigCACEHA0AgACAOSQRAIAcsAAAhDyAIIQEgACEDA0AgAUEASgRAIAMgDzoAACABQX9qIQEgA0EBaiEDDAELCyAAIAhqIQAgB0EBaiEHDAELCyAMBEAgBSAEIAUgBEEBaiANIAooAgAQ9QYLIAQgCWohBCAGQQFqIQYMAQsLC6IBAQZ/IAMoAgAhAyAAQbwCaiEHIABB8ABqIQZBACEBA0AgASAHKAIASARAIAMgAUECdGooAgAiACAGKAIAaiEIIAIgBEECdGooAgAhBQNAIAAgCEkEQCAAIAUsAAAiCToAACAAIAk6AAEgAEECaiEAIAVBAWohBQwBCwsgAyABIAMgAUEBckEBIAYoAgAQ9QYgAUECaiEBIARBAWohBAwBCwsLhgEBBX8gAygCACEEIABBvAJqIQUgAEHwAGohBkEAIQEDQCABIAUoAgBIBEAgBCABQQJ0aigCACIAIAYoAgBqIQcgAiABQQJ0aigCACEDA0AgACAHSQRAIAAgAywAACIIOgAAIAAgCDoAASAAQQJqIQAgA0EBaiEDDAELCyABQQFqIQEMAQsLCwkAIAMgAjYCAAsJACADQQA2AgALywIBB38gACgC2AMiCUHcAGoiCigCACIIIABBvAJqIgsoAgAiA04EQCAAQSRqIQMgACgC2AEhCANAIAcgAygCAEgEQCAAIAggASAHQQJ0aigCACACKAIAIAlB5ABqIAdBAnRqKAIAbEECdGogCUEMaiAHQQJ0aiAJQTRqIAdBAnRqKAIAQT9xQawNahEQACAIQdgAaiEIIAdBAWohBwwBCwsgCkEANgIAQQAhCCALKAIAIQMLIAYgBSgCACINayIHIAlB4ABqIgwoAgAiBiADIAhrIgEgASAGSxsiASABIAdLGyEBIAAgCUEMaiAIIAQgDUECdGogASAAKALcAygCBEE/cUHsDWoREwAgBSAFKAIAIAFqNgIAIAwgDCgCACABazYCACAKIAooAgAgAWoiADYCACAAIAsoAgBIBEAPCyACIAIoAgBBAWo2AgALHwEBfyAAKALYAyIBIAAoArwCNgJcIAEgACgCdDYCYAv3AQEFfyAAKALEAyIDQRhqIgcoAgAiAgRAIANBEGohAQUgAyAAIAMoAgggAygCFCADQRBqIgEoAgBBACAAKAIEKAIcQT9xQdgFahERADYCDCAHKAIAIQILIAAoAnQgA0EUaiIIKAIAayIJIAYgBSgCACIKayIGIAEoAgAgAmsiCyALIAZLGyIGIAYgCUsbIQYgACADKAIMIAJBAnRqIAQgCkECdGogBiAAKALgAygCBEE/cUGsDWoREAAgBSAFKAIAIAZqNgIAIAcgBygCACAGaiIANgIAIAAgASgCACIASQRADwsgCCAIKAIAIABqNgIAIAdBADYCAAuDAgEEfyAAKALEAyIHQRhqIggoAgAiBARAIAdBEGohBiAHQQxqIgkhCiAJKAIAIQkFIAdBDGoiCiAAIAcoAgggBygCFCAHQRBqIgYoAgBBASAAKAIEKAIcQT9xQdgFahERACIJNgIAIAgoAgAhBAsgACABIAIgAyAJIAggBigCACAAKALYAygCBEEPcUG8DmoREgAgCCgCACIBIARLBEAgACAKKAIAIARBAnRqQQAgASAEayIBIAAoAuADKAIEQT9xQawNahEQACAFIAUoAgAgAWo2AgAgCCgCACEBCyABIAYoAgAiAEkEQA8LIAdBFGoiASABKAIAIABqNgIAIAhBADYCAAucAQEDfyMGIQcjBkEQaiQGIAYgBSgCAGshCCAAKALEAyIGKAIQIQkgB0EANgIAIAAgASACIAMgBkEMaiIBKAIAIAcgCSAIIAggCUsbIAAoAtgDKAIEQQ9xQbwOahESACAAIAEoAgAgBCAFKAIAQQJ0aiAHKAIAIAAoAuADKAIEQT9xQawNahEQACAFIAUoAgAgBygCAGo2AgAgByQGC4oCAQF/IAAoAsQDIQICQAJAAkACQAJAIAEOBAADAgEDCyAAKAJURQRAIAIgACgC2AMoAgQ2AgQMBAsgAkEFNgIEIAJBDGoiASgCAEUEQCABIAAgAigCCEEAIAIoAhBBASAAKAIEKAIcQT9xQdgFahERADYCAAsMAwsgAigCCEUEQCAAKAIAQQM2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALIAJBBjYCBAwCCyACKAIIRQRAIAAoAgBBAzYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAkEHNgIEDAELIAAoAgBBAzYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsgAkEANgIYIAJBADYCFAvaBwIGfwx9IwYhCSMGQYACaiQGIAAoAswCIQdBCCEIIAkiACEFIAEoAlQhBgNAIAgEQAJAAkAgAi4BECIKIAIuASAiAXJB//8DcQ0AIAIuATAEQEEAIQEMAQUgAkFAay4BAARAQQAhAQwCBSACLgFQBEBBACEBDAMFIAIuAWAEQEEAIQEMBAUgAi4BcARAQQAhAQwFBSAFIAYqAgAgAi4BALKUIgs4AgAgBSALOAIgIAVBQGsgCzgCACAFIAs4AmAgBSALOAKAASAFIAs4AqABIAUgCzgCwAEgBSALOALgAQsLCwsLDAELIAYqAiAgCrKUIgsgBioC4AEgAi4BcLKUIgySIg8gBioCoAEgAi4BULKUIg0gBioCYCACLgEwspQiEJIiDpND8wS1P5QgDSAQkyINIAsgDJMiEJJDXoPsP5QiEiANQ3U9J0CUkyAPIA6SIgyTIg+TIQsgBSAGKgIAIAIuAQCylCIOIAYqAoABIAJBQGsuAQCylCIRkiITIAZBQGsqAgAgAUEQdEEQdbKUIhQgBioCwAEgAi4BYLKUIhWSIg2SIhYgDJI4AgAgBSAWIAyTOALgASAFIA4gEZMiDCAUIBWTQ/MEtT+UIA2TIg6SIhEgD5I4AiAgBSARIA+TOALAASAFQUBrIAwgDpMiDCALkjgCACAFIAwgC5M4AqABIAUgEyANkyIMIBIgEEPUi4o/lJMgC5MiC5I4AmAgBSAMIAuTOAKAAQsgCEF/aiEIIAVBBGohBSAGQQRqIQYgAkECaiECDAELC0EAIQIDQCACQQhHBEAgACoCBCILIAAqAhwiDJIiDyAAKgIUIg0gACoCDCIQkiIOk0PzBLU/lCANIBCTIg0gCyAMkyIQkkNeg+w/lCISIA1DdT0nQJSTIA8gDpIiDJMiD5MhCyADIAJBAnRqKAIAIARqIgEgByAAKgIAQwCAAEOSIg4gACoCECIRkiITIAAqAggiFCAAKgIYIhWSIg2SIhYgDJIQZUH/B3FqLAAAOgAAIAEgByAWIAyTEGVB/wdxaiwAADoAByABIAcgDiARkyIMIBQgFZND8wS1P5QgDZMiDpIiESAPkhBlQf8HcWosAAA6AAEgASAHIBEgD5MQZUH/B3FqLAAAOgAGIAEgByAMIA6TIgwgC5IQZUH/B3FqLAAAOgACIAEgByAMIAuTEGVB/wdxaiwAADoABSABIAcgEyANkyIMIBIgEEPUi4o/lJMgC5MiC5IQZUH/B3FqLAAAOgADIAEgByAMIAuTEGVB/wdxaiwAADoABCACQQFqIQIgAEEgaiEADAELCyAJJAYL8QgBEH8jBiERIwZBgAJqJAYgACgCzAIhFEEIIQggESIAIQUgASgCVCEGA0AgCARAAkACQCACLgEQIgogAi4BICIBckH//wNxDQAgAi4BMARAQQAhAQwBBSACQUBrLgEABEBBACEBDAIFIAIuAVAEQEEAIQEMAwUgAi4BYARAQQAhAQwEBSACLgFwBEBBACEBDAUFIAUgBigCACACLgEAbCIBNgIAIAUgATYCICAFQUBrIAE2AgAgBSABNgJgIAUgATYCgAEgBSABNgKgASAFIAE2AsABIAUgATYC4AELCwsLCwwBCyAGKAKgASACLgFQbCIJIAYoAmAgAi4BMGwiC2ohByAGKAIgIApsIgwgBigC4AEgAi4BcGwiDmohCiAJIAtrIgsgDCAOayIMakHZA2xBCHUhCSAMQZUCbEEIdSAJayAKIAdrQeoCbEEIdSALQeN6bEEIdSAJaiAKIAdqIgdrIgprIglqIQsgBSAGKAIAIAIuAQBsIgwgBigCgAEgAkFAay4BAGwiDmoiDyAGQUBrKAIAIAFBEHRBEHVsIhAgBigCwAEgAi4BYGwiEmoiAWoiEyAHajYCACAFIBMgB2s2AuABIAUgDCAOayIHIBAgEmtB6gJsQQh1IAFrIgxqIg4gCmo2AiAgBSAOIAprNgLAASAFQUBrIAcgDGsiByAJajYCACAFIAcgCWs2AqABIAUgDyABayIBIAtqNgKAASAFIAEgC2s2AmALIAhBf2ohCCAFQQRqIQUgBkEEaiEGIAJBAmohAgwBCwsgFEGAAWohBUEAIQYDQCAGQQhHBEAgAyAGQQJ0aigCACAEaiECAkACQCAAKAIEIgggACgCCCIBcg0AIAAoAgwEQEEAIQEMAQUgACgCEARAQQAhAQwCBSAAKAIUBEBBACEBDAMFIAAoAhgEQEEAIQEMBAUgACgCHARAQQAhAQwFBSACIAUgACgCAEEFdkH/B3FqLAAAIgE6AAAgAkEBaiABQQcQjAEaCwsLCwsMAQsgACgCFCIJIAAoAgwiC2ohByAIIAAoAhwiDWohCiAJIAtrIgkgCCANayILakHZA2xBCHUhCCALQZUCbEEIdSAIayAKIAdrQeoCbEEIdSAJQeN6bEEIdSAIaiAKIAdqIghrIgdrIgpqIQkgAiAFIAAoAgAiDSAAKAIQIgxqIg4gASAAKAIYIg9qIgtqIhAgCGpBBXZB/wdxaiwAADoAACACIAUgECAIa0EFdkH/B3FqLAAAOgAHIAIgBSANIAxrIgggASAPa0HqAmxBCHUgC2siAWoiDSAHakEFdkH/B3FqLAAAOgABIAIgBSANIAdrQQV2Qf8HcWosAAA6AAYgAiAFIAggAWsiASAKakEFdkH/B3FqLAAAOgACIAIgBSABIAprQQV2Qf8HcWosAAA6AAUgAiAFIA4gC2siASAJakEFdkH/B3FqLAAAOgAEIAIgBSABIAlrQQV2Qf8HcWosAAA6AAMLIAZBAWohBiAAQSBqIQAMAQsLIBEkBgvoCQESfyMGIRMjBkGAAmokBiAAKALMAiEWQQghCCATIgAhBSABKAJUIQcDQCAIBEACQAJAIAIuARAiBiACLgEgIgFyQf//A3ENACACLgEwBEBBACEBDAEFIAJBQGsuAQAEQEEAIQEMAgUgAi4BUARAQQAhAQwDBSACLgFgBEBBACEBDAQFIAIuAXAEQEEAIQEMBQUgBSAHKAIAIAIuAQBsQQJ0IgE2AgAgBSABNgIgIAVBQGsgATYCACAFIAE2AmAgBSABNgKAASAFIAE2AqABIAUgATYCwAEgBSABNgLgAQsLCwsLDAELIAcoAuABIAIuAXBsIgogBygCYCACLgEwbCILaiINIAcoAqABIAIuAVBsIgwgBygCICAGbCIGaiIQakGhywBsIQkgCkGOE2wgCiAGakGzRmwiDiANQbuCf2wgCWoiDWpqIQogBkGL4ABsIA4gEEGEZ2wgCWoiCWpqIQYgDEGzgwFsIAwgC2pB/dt+bCIQIAlqaiEMIAUgBygCACACLgEAbEENdEGACHIiCSAHKAKAASACQUBrLgEAbEENdCIOaiIRIAdBQGsoAgAgAUEQdEEQdWwiASAHKALAASACLgFgbCISakHRImwiFCABQf4wbGoiAWoiFSAGakELdTYCACAFIBUgBmtBC3U2AuABIAUgCSAOayIGIBQgEkHfiX9saiIJaiIOIAtB1MQBbCAQIA1qaiILakELdTYCICAFIA4gC2tBC3U2AsABIAVBQGsgBiAJayILIAxqQQt1NgIAIAUgCyAMa0ELdTYCoAEgBSARIAFrIgEgCmpBC3U2AmAgBSABIAprQQt1NgKAAQsgCEF/aiEIIAVBBGohBSAHQQRqIQcgAkECaiECDAELCyAWQYABaiEFQQAhBwNAIAdBCEcEQCADIAdBAnRqKAIAIARqIQICQAJAIAAoAgQiCCAAKAIIIgFyDQAgACgCDARAQQAhAQwBBSAAKAIQBEBBACEBDAIFIAAoAhQEQEEAIQEMAwUgACgCGARAQQAhAQwEBSAAKAIcBEBBACEBDAUFIAIgBSAAKAIAQRBqQQV2Qf8HcWosAAAiAToAACACQQFqIAFBBxCMARoLCwsLCwwBCyAAKAIcIgogACgCDCILaiIJIAAoAhQiDCAIaiIPakGhywBsIQYgCkGOE2wgCiAIakGzRmwiDSAJQbuCf2wgBmoiCWpqIQogCEGL4ABsIA0gD0GEZ2wgBmoiBmpqIQggDEGzgwFsIAwgC2pB/dt+bCIPIAZqaiEMIAIgBSAAKAIAQRBqIgYgACgCECINakENdCIQIAEgACgCGCIOakHRImwiESABQf4wbGoiAWoiEiAIakESdkH/B3FqLAAAOgAAIAIgBSASIAhrQRJ2Qf8HcWosAAA6AAcgAiAFIAYgDWtBDXQiCCARIA5B34l/bGoiBmoiDSALQdTEAWwgDyAJamoiC2pBEnZB/wdxaiwAADoAASACIAUgDSALa0ESdkH/B3FqLAAAOgAGIAIgBSAIIAZrIgggDGpBEnZB/wdxaiwAADoAAiACIAUgCCAMa0ESdkH/B3FqLAAAOgAFIAIgBSAQIAFrIgEgCmpBEnZB/wdxaiwAADoAAyACIAUgASAKa0ESdkH/B3FqLAAAOgAECyAHQQFqIQcgAEEgaiEADAELCyATJAYLZgEBfyADKAIAIARqIAAoAswCQYABaiIAIAEoAlQiASgCACACLgEAbEEEaiIFIAEoAiAgAi4BEGwiAWpBA3ZB/wdxaiwAADoAACADKAIEIARqIAAgBSABa0EDdkH/B3FqLAAAOgAAC8YCAQt/IwYhCyMGQSBqJAYgACgCzAIhDyALIgAhBSABKAJUIQEDQCAGQQJHBEAgBSABKAIAIAIuAQBsIgggAUFAaygCACACLgEgbCIJakENdCIMIAEoAiAgAi4BEGwiCiABKAJgIAIuATBsIg1qQdEibCIOIApB/jBsaiIKajYCACAFIAwgCms2AhggBSAIIAlrQQ10IgggDiANQd+Jf2xqIglqNgIIIAUgCCAJazYCECAGQQFqIQYgBUEEaiEFIAFBBGohASACQQJqIQIMAQsLIA9BgAFqIQJBACEBA0AgAUEERwRAIAMgAUECdGooAgAgBGoiBSACIAAoAgBBgIACaiIGIAAoAgQiB2pBEHZB/wdxaiwAADoAACAFIAIgBiAHa0EQdkH/B3FqLAAAOgABIAFBAWohASAAQQhqIQAMAQsLIAskBgvaAwEPfyMGIQojBkHQAGokBiAAKALMAiETIAoiACEFIAEoAlQhAQNAIAhBA0cEQCAFIAEoAgAgAi4BAGxBDXRBgAhyIg0gASgCgAEgAkFAay4BAGxBoS1sIgZqIg4gAUFAaygCACACLgEgbEGxzgBsIg9qIhAgASgCICACLgEQbCIHIAEoAqABIAIuAVBsIglqQbYXbCIRIAcgASgCYCACLgEwbCILakENdGoiEmpBC3U2AgAgBSAQIBJrQQt1NgI8IAUgDSAGayAGa0ELdSIGIAcgC2sgCWtBAnQiB2o2AgwgBSAGIAdrNgIwIAUgDiAPayIGIBEgCSALa0ENdGoiB2pBC3U2AhggBSAGIAdrQQt1NgIkIAhBAWohCCAFQQRqIQUgAUEEaiEBIAJBAmohAgwBCwsgE0GAAWohAkEAIQEDQCABQQZHBEAgAyABQQJ0aigCACAEaiIFIAIgACgCAEENdEGAgAhqIgYgACgCCEGhLWwiCGoiByAAKAIEQbHOAGwiCWpBEnZB/wdxaiwAADoAACAFIAIgByAJa0ESdkH/B3FqLAAAOgACIAUgAiAGIAhrIAhrQRJ2Qf8HcWosAAA6AAEgAUEBaiEBIABBDGohAAwBCwsgCiQGC+IGARJ/IwYhECMGQYABaiQGIAAoAswCIRZBBCEKIBAiACEFIAEoAlQhBgNAIAoEQAJAAkAgAi4BECIHIAIuASAiAXJB//8DcQ0AIAIuATAEQEEAIQEMAQUgAkFAay4BAARAQQAhAQwCBSACLgFQBEBBACEBDAMFIAIuAWAEQEEAIQEMBAUgAi4BcARAQQAhAQwFBSAFIAYoAgAgAi4BAGxBAnQiATYCACAFIAE2AhAgBSABNgIgIAUgATYCMCAFQUBrIAE2AgAgBSABNgJQIAUgATYCYCAFIAE2AnALCwsLCwwBCyAGKALgASACLgFwbCILIAYoAmAgAi4BMGwiCGoiDiAGKAKgASACLgFQbCIMIAYoAiAgB2wiB2oiD2pBocsAbCEJIAtBjhNsIAsgB2pBs0ZsIg0gDkG7gn9sIAlqIg5qaiELIAdBi+AAbCANIA9BhGdsIAlqIglqaiEHIAxBs4MBbCAMIAhqQf3bfmwiDyAJamohDCAFIAYoAgAgAi4BAGxBDXRBgAhyIgkgBigCgAEgAkFAay4BAGxBDXQiDWoiEiAGQUBrKAIAIAFBEHRBEHVsIgEgBigCwAEgAi4BYGwiE2pB0SJsIhQgAUH+MGxqIgFqIhUgB2pBC3U2AgAgBSAVIAdrQQt1NgJwIAUgCSANayIHIBQgE0HfiX9saiIJaiINIAhB1MQBbCAPIA5qaiIIakELdTYCECAFIA0gCGtBC3U2AmAgBSAHIAlrIgggDGpBC3U2AiAgBSAIIAxrQQt1NgJQIAUgEiABayIBIAtqQQt1NgIwIAVBQGsgASALa0ELdTYCAAsgCkF/aiEKIAVBBGohBSAGQQRqIQYgAkECaiECDAELCyAWQYABaiEBQQAhAgNAIAJBCEcEQCADIAJBAnRqKAIAIARqIgUgASAAKAIAQRBqIgYgACgCCCIKakENdCILIAAoAgQiCCAAKAIMIgxqQdEibCIHIAhB/jBsaiIIakESdkH/B3FqLAAAOgAAIAUgASALIAhrQRJ2Qf8HcWosAAA6AAMgBSABIAYgCmtBDXQiBiAHIAxB34l/bGoiCmpBEnZB/wdxaiwAADoAASAFIAEgBiAKa0ESdkH/B3FqLAAAOgACIAJBAWohAiAAQRBqIQAMAQsLIBAkBguFBgEVfyMGIRMjBkHQAWokBiAAKALMAiEZIBMiACEFIAEoAlQhAQNAIAlBBUcEQCAFIAEoAgAgAi4BAGxBDXRBgAhyIgYgASgCgAEgAkFAay4BAGwiCEGdyQBsaiIOIAFBQGsoAgAgAi4BIGwiByABKALAASACLgFgbCIMakGaNWwiDyAHQfEgbGoiFGoiECABKAIgIAIuARBsIgdBs9kAbCABKAJgIAIuATBsIgogASgC4AEgAi4BcGwiDWoiEUHvPGwiFWogASgCoAEgAi4BUGwiFkENdCISIAogDWsiCkHjE2wiDWoiF2oiGGpBC3U2AgAgBSAQIBhrQQt1NgK0ASAFIAYgCEGEZGxqIhAgDyAMQdz0fmxqIgxqIg8gB0HT0ABsIBFBzyVsIhFrIBIgDWsgCkEMdGsiDWsiEmpBC3U2AhQgBSAPIBJrQQt1NgKgASAFIAYgCEG+pX9sakELdSIGIAcgCmsgFmtBAnQiCGo2AiggBSAGIAhrNgKMASAFIBAgDGsiBiAHQYwpbCARayANaiIIakELdTYCPCAFIAYgCGtBC3U2AnggBSAOIBRrIgYgB0GUDmwgFWsgF2oiB2pBC3U2AlAgBSAGIAdrQQt1NgJkIAlBAWohCSAFQQRqIQUgAUEEaiEBIAJBAmohAgwBCwsgGUGAAWohAUEAIQIDQCACQQpHBEAgACgCCCIJIAAoAhAiBmpBzDJsIQcgAyACQQJ0aigCACAEaiIFIAEgACgCAEENdEGAgAhqIgggCSAGayIJQdAWbGoiBiAHaiIKIAAoAgQiCyAAKAIMIg5qQZo1bCIMIAtB8SBsaiILakESdkH/B3FqLAAAOgAAIAUgASAKIAtrQRJ2Qf8HcWosAAA6AAQgBSABIAYgB2siByAMIA5B3PR+bGoiBmpBEnZB/wdxaiwAADoAASAFIAEgByAGa0ESdkH/B3FqLAAAOgADIAUgASAIIAlBwKV/bGpBEnZB/wdxaiwAADoAAiACQQFqIQIgAEEUaiEADAELCyATJAYL7wYBF38jBiEUIwZBoAJqJAYgACgCzAIhGyAUIgAhBSABKAJUIQEDQCAIQQZHBEAgASgCACACLgEAbEENdEGACHIiCSABKAKAASACQUBrLgEAbEGxzgBsIhJqIRAgCSABQUBrKAIAIAIuASBsIgpBDXQgASgCwAEgAi4BYGxBDXQiC2siFmohDCAFIBAgCkG21wBsIAtqIhdqIg8gASgCICACLgEQbCINIAEoAqABIAIuAVBsIgdqIg4gASgC4AEgAi4BcGwiBmpBjTdsIhEgDkHbEGxqIhggASgCYCACLgEwbCIOQc/TAGwiGWogDUH3EWxqIhNqQQt1NgIAIAUgDyATa0ELdTYCiAIgBSAMIA0gBmsiDyAOIAdrIhNqQdEibCIaIA9B/jBsaiIPakELdTYCGCAFIAwgD2tBC3U2AvABIAUgCSASayIMIApBthdsIAtrIgpqIgsgGCAHIAZqQYu9f2wiEiAOQa9dbCIOaiAHQbChf2xqaiIHakELdTYCMCAFIAsgB2tBC3U2AtgBIAUgDCAKayIHIBIgESAZayAGQcblAGxqaiIKakELdTYCSCAFIAcgCmtBC3U2AsABIAUgCSAWayIJIBogE0HfiX9saiIHakELdTYCYCAFIAkgB2tBC3U2AqgBIAUgECAXayIJIBEgDiANQdxUbGogBkGMgX9samoiBmpBC3U2AnggBSAJIAZrQQt1NgKQASAIQQFqIQggBUEEaiEFIAFBBGohASACQQJqIQIMAQsLIBtBgAFqIQFBACEFA0AgBUEMRwRAIAMgBUECdGooAgAgBGoiAiABIAAoAgBBDXRBgIAIaiIHIAAoAhBBoS1sIgZqIhAgACgCCEGxzgBsIgpqIgsgACgCBCIIIAAoAhQiCWpBthdsIgwgCCAAKAIMIg1qQQ10aiIRakESdkH/B3FqLAAAOgAAIAIgASALIBFrQRJ2Qf8HcWosAAA6AAUgAiABIAcgBmsgBmsiBiAIIA1rIAlrQQ10IghqQRJ2Qf8HcWosAAA6AAEgAiABIAYgCGtBEnZB/wdxaiwAADoABCACIAEgECAKayIGIAwgCSANa0ENdGoiCGpBEnZB/wdxaiwAADoAAiACIAEgBiAIa0ESdkH/B3FqLAAAOgADIAVBAWohBSAAQRhqIQAMAQsLIBQkBgunCAEZfyMGIRYjBkGQA2okBiAAKALMAiEdIBYiACEFIAEoAlQhAQNAIA1BB0cEQCABKAIgIAIuARBsIgYgASgCoAEgAi4BUGwiB2ohCCAGIAEoAmAgAi4BMGwiCWpBt9UAbCILIAhB0swAbCITaiABKALgASACLgFwbCIUQQ10Ig5qIAZB8Ld/bGohDCAIQZQwbCIXIAZBi7x/bGogBiAJayIYQfIdbCAOayIZaiERIAUgASgCACACLgEAbEENdEGACHIiBiABKAKAASACQUBrLgEAbCIIQcbRAGxqIhogAUFAaygCACACLgEgbCIKIAEoAsABIAIuAWBsIg9qQeLGAGwiFSAKQb0RbGoiG2oiEiAMakELdTYCACAFIBIgDGtBC3U2AuwCIAUgBiAIQZIUbGoiDCAVIA9B/JF/bGoiFWoiEiALIAkgB2pB73VsIA5rIgsgCUHuZGxqaiIcakELdTYCHCAFIBIgHGtBC3U2AtACIAUgBiAIQclHbGoiEiAKQaMnbCAPQeGnf2xqIgpqIg8gEyALIAdBieh+bGpqIgtqQQt1NgI4IAUgDyALa0ELdTYCtAIgBSAGIAhBvqV/bGpBC3UiBiAYIBRqIAdrQQJ0IghqNgJUIAUgBiAIazYCmAIgBSASIAprIgYgFyAHIAlrQfjZAGwiCCAOaiAHQeaTf2xqaiIHakELdTYCcCAFIAYgB2tBC3U2AvwBIAUgDCAVayIHIBkgCCAJQZkrbGpqIglqQQt1NgKMASAFIAcgCWtBC3U2AuABIAUgGiAbayIHIBFqQQt1NgKoASAFIAcgEWtBC3U2AsQBIA1BAWohDSAFQQRqIQUgAUEEaiEBIAJBAmohAgwBCwsgHUGAAWohAUEAIQUDQCAFQQ5HBEAgACgCECIHIAAoAhgiCWtBtzhsIgogACgCCCIGIAdrQZIUbCIPaiAAKAIAQQ10QYCACGoiDWogB0GVin9saiEOIAAoAgQiCCAAKAIMIgJqQe87bCIQIAggAmtB8wpsIgtqIAIgACgCFCIMakHhp39sIhNqIREgAyAFQQJ0aigCACAEaiICIAEgCiAGIAlqIgpBxtEAbCANaiIUIAlBg3tsamoiCSAQIAtrIAggDGpBoydsIghqIhBqQRJ2Qf8HcWosAAA6AAAgAiABIAkgEGtBEnZB/wdxaiwAADoABiACIAEgDiARakESdkH/B3FqLAAAOgABIAIgASAOIBFrQRJ2Qf8HcWosAAA6AAUgAiABIA8gFCAGQfHhfmxqaiIJIBMgCCAMQd73AGxqaiIGakESdkH/B3FqLAAAOgACIAIgASAJIAZrQRJ2Qf8HcWosAAA6AAQgAiABIA0gByAKa0HB2gBsakESdkH/B3FqLAAAOgADIAVBAWohBSAAQRxqIQAMAQsLIBYkBgvhCQEefyMGIRcjBkGABGokBiAAKALMAiEiIBciACEGIAEoAlQhAQNAIA1BCEcEQCABQUBrKAIAIAIuASBsIgogASgCwAEgAi4BYGwiDmsiEEHUEWwhDyABKAIgIAIuARBsIgUgASgCoAEgAi4BUGwiCGohESAFIAEoAmAgAi4BMGwiB2pBztYAbCILIBFB6c8AbCITaiAFIAEoAuABIAIuAXBsIglqQfzFAGwiGGogBUHW7X5saiEMIAUgCWtBtjlsIhkgEUHVKmwiGmogBSAHa0GjGmwiFGogBUHCin9saiERIAsgByAIakHwCGwiGyAHQc0EbGpqIAcgCWoiBUGrVWwiHGohCyAUIAggB2tBidoAbCIUIAdBmv4AbGpqIAVBl7B/bCIdaiEHIAYgASgCACACLgEAbEENdEGACHIiBSABKAKAASACQUBrLgEAbCIVQc/TAGwiHmoiHyAQQePYAGwiECAOQYOkAWxqIiBqIhYgDGpBC3U2AgAgBiAWIAxrQQt1NgLgAyAGIAUgFUHRImwiDGoiFSAPIApBzTlsaiIWaiIhIAtqQQt1NgIgIAYgISALa0ELdTYCwAMgBkFAayAFIAxrIgwgECAKQcJZbGoiCmoiCyATIBsgCEH6t39samogCCAJakGyqX9sIhBqIhNqQQt1NgIAIAYgCyATa0ELdTYCoAMgBiAFIB5rIgUgDyAOQbBfbGoiDmoiDyAYIBwgCUGYxABsamogEGoiC2pBC3U2AmAgBiAPIAtrQQt1NgKAAyAGIAUgDmsiBSAZIB0gCUGFyQFsamogCSAIa0GjGmwiCWoiDmpBC3U2AoABIAYgBSAOa0ELdTYC4AIgBiAMIAprIgUgGiAUIAhB+k5samogCWoiCGpBC3U2AqABIAYgBSAIa0ELdTYCwAIgBiAVIBZrIgUgB2pBC3U2AsABIAYgBSAHa0ELdTYCoAIgBiAfICBrIgUgEWpBC3U2AuABIAYgBSARa0ELdTYCgAIgDUEBaiENIAZBBGohBiABQQRqIQEgAkECaiECDAELCyAiQYABaiEBQQAhBgNAIAZBEEcEQCAAKAIcIgIgACgCDCIFaiINIAAoAhQiCCAAKAIEIgdqIgpqQaHLAGwhCSACQY4TbCACIAdqQbNGbCICIA1Bu4J/bCAJaiIOamohDSAHQYvgAGwgAiAKQYRnbCAJaiICamohByAIQbODAWwgCCAFakH9235sIgkgAmpqIQggAyAGQQJ0aigCACAEaiICIAEgACgCAEEQaiIKIAAoAhAiD2pBDXQiESAAKAIIIgwgACgCGCILakHRImwiEiAMQf4wbGoiDGoiECAHakESdkH/B3FqLAAAOgAAIAIgASAQIAdrQRJ2Qf8HcWosAAA6AAcgAiABIAogD2tBDXQiByASIAtB34l/bGoiCmoiDyAFQdTEAWwgCSAOamoiBWpBEnZB/wdxaiwAADoAASACIAEgDyAFa0ESdkH/B3FqLAAAOgAGIAIgASAHIAprIgUgCGpBEnZB/wdxaiwAADoAAiACIAEgBSAIa0ESdkH/B3FqLAAAOgAFIAIgASARIAxrIgUgDWpBEnZB/wdxaiwAADoAAyACIAEgBSANa0ESdkH/B3FqLAAAOgAEIAZBAWohBiAAQSBqIQAMAQsLIBckBgtgACADKAIAIARqIgMgACgCzAJBgAFqIgAgASgCVCIBKAIAIAIuAQBsQQRqIgQgASgCBCACLgECbCIBakEDdkH/B3FqLAAAOgAAIAMgACAEIAFrQQN2Qf8HcWosAAA6AAELzwIBCX8jBiEKIwZBIGokBiAAKALMAiENIAoiACEFIAEoAlQhAQNAIAZBBEcEQCAFIAEoAgAgAi4BAGwiCSABKAIgIAIuARBsIghqNgIAIAUgCSAIazYCECAGQQFqIQYgBUEEaiEFIAFBBGohASACQQJqIQIMAQsLIA1BgAFqIQFBACECA0AgAkECRwRAIAMgAkECdGooAgAgBGoiBSABIAAoAgBBBGoiBiAAKAIIIgdqQQ10IgkgACgCBCIIIAAoAgwiC2pB0SJsIgwgCEH+MGxqIghqQRB2Qf8HcWosAAA6AAAgBSABIAkgCGtBEHZB/wdxaiwAADoAAyAFIAEgBiAHa0ENdCIGIAwgC0HfiX9saiIHakEQdkH/B3FqLAAAOgABIAUgASAGIAdrQRB2Qf8HcWosAAA6AAIgAkEBaiECIABBEGohAAwBCwsgCiQGC+QDAQ1/IwYhDCMGQdAAaiQGIAAoAswCIREgDCIAIQYgASgCVCEBA0AgBUEGRwRAIAYgASgCACACLgEAbEENdEGACHIiCSABQUBrKAIAIAIuASBsQaEtbCIHaiIKIAEoAiAgAi4BEGxBsc4AbCILakELdTYCACAGIAogC2tBC3U2AjAgBiAJIAdrIAdrQQt1NgIYIAVBAWohBSAGQQRqIQYgAUEEaiEBIAJBAmohAgwBCwsgEUGAAWohAUEAIQYDQCAGQQNHBEAgAyAGQQJ0aigCACAEaiICIAEgACgCAEENdEGAgAhqIgogACgCEEGhLWwiBWoiCyAAKAIIQbHOAGwiDWoiDiAAKAIEIgcgACgCFCIIakG2F2wiDyAHIAAoAgwiCWpBDXRqIhBqQRJ2Qf8HcWosAAA6AAAgAiABIA4gEGtBEnZB/wdxaiwAADoABSACIAEgCiAFayAFayIFIAcgCWsgCGtBDXQiB2pBEnZB/wdxaiwAADoAASACIAEgBSAHa0ESdkH/B3FqLAAAOgAEIAIgASALIA1rIgUgDyAIIAlrQQ10aiIHakESdkH/B3FqLAAAOgACIAIgASAFIAdrQRJ2Qf8HcWosAAA6AAMgBkEBaiEGIABBGGohAAwBCwsgDCQGC68FARB/IwYhDyMGQYABaiQGIAAoAswCIRQgDyIAIQYgASgCVCEBA0AgBUEIRwRAIAYgASgCACACLgEAbCIHIAFBQGsoAgAgAi4BIGwiCWpBAnQiCyABKAIgIAIuARBsIgggASgCYCACLgEwbCINakHRImxBgAhqIgwgCEH+MGxqQQt1IghqNgIAIAYgCyAIazYCYCAGIAcgCWtBAnQiByAMIA1B34l/bGpBC3UiCWo2AiAgBkFAayAHIAlrNgIAIAVBAWohBSAGQQRqIQYgAUEEaiEBIAJBAmohAgwBCwsgFEGAAWohAUEAIQYDQCAGQQRHBEAgACgCHCICIAAoAgwiBWoiCyAAKAIUIgogACgCBCIHaiIIakGhywBsIQkgAkGOE2wgAiAHakGzRmwiAiALQbuCf2wgCWoiDWpqIQsgB0GL4ABsIAIgCEGEZ2wgCWoiAmpqIQcgCkGzgwFsIAogBWpB/dt+bCIJIAJqaiEKIAMgBkECdGooAgAgBGoiAiABIAAoAgBBEGoiCCAAKAIQIgxqQQ10IhAgACgCCCIOIAAoAhgiEWpB0SJsIhIgDkH+MGxqIg5qIhMgB2pBEnZB/wdxaiwAADoAACACIAEgEyAHa0ESdkH/B3FqLAAAOgAHIAIgASAIIAxrQQ10IgcgEiARQd+Jf2xqIghqIgwgBUHUxAFsIAkgDWpqIgVqQRJ2Qf8HcWosAAA6AAEgAiABIAwgBWtBEnZB/wdxaiwAADoABiACIAEgByAIayIFIApqQRJ2Qf8HcWosAAA6AAIgAiABIAUgCmtBEnZB/wdxaiwAADoABSACIAEgECAOayIFIAtqQRJ2Qf8HcWosAAA6AAMgAiABIAUgC2tBEnZB/wdxaiwAADoABCAGQQFqIQYgAEEgaiEADAELCyAPJAYLpAYBEn8jBiETIwZBoAFqJAYgACgCzAIhFiATIgAhByABKAJUIQEDQCAGQQhHBEAgAUFAaygCACACLgEgbCILIAEoAoABIAJBQGsuAQBsIghqQcwybCEFIAcgASgCACACLgEAbEENdEGACHIiDyALIAhrIgtB0BZsaiIIIAVqIgwgASgCICACLgEQbCIKIAEoAmAgAi4BMGwiEGpBmjVsIg0gCkHxIGxqIgpqQQt1NgIAIAcgDCAKa0ELdTYCgAEgByAIIAVrIgUgDSAQQdz0fmxqIghqQQt1NgIgIAcgBSAIa0ELdTYCYCAHQUBrIA8gC0HApX9sakELdTYCACAGQQFqIQYgB0EEaiEHIAFBBGohASACQQJqIQIMAQsLIBZBgAFqIQFBACEHA0AgB0EFRwRAIAMgB0ECdGooAgAgBGoiAiABIAAoAgBBDXRBgIAIaiIFIAAoAhAiCUGdyQBsaiIPIAAoAggiBiAAKAIYIgxqQZo1bCIKIAZB8SBsaiIQaiINIAAoAgQiBkGz2QBsIAAoAgwiCCAAKAIcIg5qIhFB7zxsIhRqIAAoAhRBDXQiCyAIIA5rIghB4xNsIg5qIhVqIhJqQRJ2Qf8HcWosAAA6AAAgAiABIA0gEmtBEnZB/wdxaiwAADoACSACIAEgBSAJQYRkbGoiDSAKIAxB3PR+bGoiDGoiCiAGQdPQAGwgEUHPJWwiEWsgCyAOayAIQQx0ayIOayISakESdkH/B3FqLAAAOgABIAIgASAKIBJrQRJ2Qf8HcWosAAA6AAggAiABIAUgCUG+pX9saiIFIAYgCGtBDXQgC2siCWpBEnZB/wdxaiwAADoAAiACIAEgBSAJa0ESdkH/B3FqLAAAOgAHIAIgASANIAxrIgUgBkGMKWwgEWsgDmoiCWpBEnZB/wdxaiwAADoAAyACIAEgBSAJa0ESdkH/B3FqLAAAOgAGIAIgASAPIBBrIgUgBkGUDmwgFGsgFWoiBmpBEnZB/wdxaiwAADoABCACIAEgBSAGa0ESdkH/B3FqLAAAOgAFIAdBAWohByAAQSBqIQAMAQsLIBMkBguZBwEVfyMGIRQjBkHAAWokBiAAKALMAiEZIBQiACEGIAEoAlQhAQNAIAhBCEcEQCAGIAEoAgAgAi4BAGxBDXRBgAhyIgwgASgCgAEgAkFAay4BAGxBoS1sIgVqIg0gAUFAaygCACACLgEgbEGxzgBsIhFqIgsgASgCICACLgEQbCIJIAEoAqABIAIuAVBsIgdqQbYXbCIOIAkgASgCYCACLgEwbCIPakENdGoiEmpBC3U2AgAgBiALIBJrQQt1NgKgASAGIAwgBWsgBWtBC3UiBSAJIA9rIAdrQQJ0IglqNgIgIAYgBSAJazYCgAEgBkFAayANIBFrIgUgDiAHIA9rQQ10aiIJakELdTYCACAGIAUgCWtBC3U2AmAgCEEBaiEIIAZBBGohBiABQQRqIQEgAkECaiECDAELCyAZQYABaiEBQQAhBgNAIAZBBkcEQCAAKAIAQQ10QYCACGoiBSAAKAIQQbHOAGwiDmohDyAFIAAoAggiCkENdCAAKAIYQQ10IgxrIhJqIQ0gAyAGQQJ0aigCACAEaiICIAEgDyAKQbbXAGwgDGoiFWoiECAAKAIEIgkgACgCFCIHaiILIAAoAhwiCGpBjTdsIhEgC0HbEGxqIhYgACgCDCILQc/TAGwiF2ogCUH3EWxqIhNqQRJ2Qf8HcWosAAA6AAAgAiABIBAgE2tBEnZB/wdxaiwAADoACyACIAEgDSAJIAhrIhAgCyAHayITakHRImwiGCAQQf4wbGoiEGpBEnZB/wdxaiwAADoAASACIAEgDSAQa0ESdkH/B3FqLAAAOgAKIAIgASAFIA5rIg0gCkG2F2wgDGsiCmoiDCAWIAcgCGpBi71/bCIOIAtBr11sIgtqIAdBsKF/bGpqIgdqQRJ2Qf8HcWosAAA6AAIgAiABIAwgB2tBEnZB/wdxaiwAADoACSACIAEgDSAKayIHIA4gESAXayAIQcblAGxqaiIKakESdkH/B3FqLAAAOgADIAIgASAHIAprQRJ2Qf8HcWosAAA6AAggAiABIAUgEmsiBSAYIBNB34l/bGoiB2pBEnZB/wdxaiwAADoABCACIAEgBSAHa0ESdkH/B3FqLAAAOgAHIAIgASAPIBVrIgUgESALIAlB3FRsaiAIQYyBf2xqaiIIakESdkH/B3FqLAAAOgAFIAIgASAFIAhrQRJ2Qf8HcWosAAA6AAYgBkEBaiEGIABBIGohAAwBCwsgFCQGC+QIARZ/IwYhFyMGQeABaiQGIAAoAswCIRogFyIAIQUgASgCVCEBA0AgB0EIRwRAIAEoAoABIAJBQGsuAQBsIgsgASgCwAEgAi4BYGwiCGtBtzhsIhAgAUFAaygCACACLgEgbCIGIAtrQZIUbCIUaiABKAIAIAIuAQBsQQ10QYAIciIJaiALQZWKf2xqIQ0gASgCICACLgEQbCIOIAEoAmAgAi4BMGwiCmpB7ztsIhEgDiAKa0HzCmwiFWogCiABKAKgASACLgFQbCIKakHhp39sIhZqIQ8gBSAQIAYgCGoiEEHG0QBsIAlqIhIgCEGDe2xqaiIIIBEgFWsgDiAKakGjJ2wiDmoiEWpBC3U2AgAgBSAIIBFrQQt1NgLAASAFIA0gD2pBC3U2AiAgBSANIA9rQQt1NgKgASAFQUBrIBQgEiAGQfHhfmxqaiIIIBYgDiAKQd73AGxqaiIGakELdTYCACAFIAggBmtBC3U2AoABIAUgCSALIBBrQcHaAGxqQQt1NgJgIAdBAWohByAFQQRqIQUgAUEEaiEBIAJBAmohAgwBCwsgGkGAAWohAUEAIQsDQCALQQdHBEAgACgCBCICIAAoAhQiBWohBiACIAAoAgwiB2pBt9UAbCIMIAZB0swAbCIQaiAAKAIcQQ10IghqIAJB8Ld/bGohDSAGQZQwbCIUIAJBi7x/bGogAiAHayIRQfIdbCAIayIVaiEOIAMgC0ECdGooAgAgBGoiAiABIAAoAgBBDXRBgIAIaiIGIAAoAhAiCUHG0QBsaiIWIAAoAggiCiAAKAIYIg9qQeLGAGwiEiAKQb0RbGoiGGoiEyANakESdkH/B3FqLAAAOgAAIAIgASATIA1rQRJ2Qf8HcWosAAA6AA0gAiABIAYgCUGSFGxqIg0gEiAPQfyRf2xqIhJqIhMgDCAHIAVqQe91bCAIayIMIAdB7mRsamoiGWpBEnZB/wdxaiwAADoAASACIAEgEyAZa0ESdkH/B3FqLAAAOgAMIAIgASAGIAlByUdsaiITIApBoydsIA9B4ad/bGoiCmoiDyAQIAwgBUGJ6H5samoiDGpBEnZB/wdxaiwAADoAAiACIAEgDyAMa0ESdkH/B3FqLAAAOgALIAIgASAGIAlBvqV/bGoiBiARIAVrQQ10IAhqIglqQRJ2Qf8HcWosAAA6AAMgAiABIAYgCWtBEnZB/wdxaiwAADoACiACIAEgEyAKayIGIBQgBSAHa0H42QBsIgkgCGogBUHmk39samoiBWpBEnZB/wdxaiwAADoABCACIAEgBiAFa0ESdkH/B3FqLAAAOgAJIAIgASANIBJrIgUgFSAJIAdBmStsamoiB2pBEnZB/wdxaiwAADoABSACIAEgBSAHa0ESdkH/B3FqLAAAOgAIIAIgASAWIBhrIgUgDmpBEnZB/wdxaiwAADoABiACIAEgBSAOa0ESdkH/B3FqLAAAOgAHIAtBAWohCyAAQSBqIQAMAQsLIBckBgvlCwEcfyMGIRcjBkGAAmokBiAAKALMAiEgQQghCSAXIgAhBSABKAJUIQYDQCAJBEACQAJAIAIuARAiByACLgEgIgFyQf//A3ENACACLgEwBEBBACEBDAEFIAJBQGsuAQAEQEEAIQEMAgUgAi4BUARAQQAhAQwDBSACLgFgBEBBACEBDAQFIAIuAXAEQEEAIQEMBQUgBSAGKAIAIAIuAQBsQQJ0IgE2AgAgBSABNgIgIAVBQGsgATYCACAFIAE2AmAgBSABNgKAASAFIAE2AqABIAUgATYCwAEgBSABNgLgAQsLCwsLDAELIAYoAuABIAIuAXBsIg4gBigCYCACLgEwbCIMaiIKIAYoAqABIAIuAVBsIgsgBigCICAHbCIHaiIQakGhywBsIQggDkGOE2wgDiAHakGzRmwiDSAKQbuCf2wgCGoiCmpqIQ4gB0GL4ABsIA0gEEGEZ2wgCGoiCGpqIQcgC0GzgwFsIAsgDGpB/dt+bCIQIAhqaiELIAUgBigCACACLgEAbEENdEGACHIiCCAGKAKAASACQUBrLgEAbEENdCINaiIRIAZBQGsoAgAgAUEQdEEQdWwiASAGKALAASACLgFgbCISakHRImwiEyABQf4wbGoiAWoiFCAHakELdTYCACAFIBQgB2tBC3U2AuABIAUgCCANayIHIBMgEkHfiX9saiIIaiINIAxB1MQBbCAQIApqaiIMakELdTYCICAFIA0gDGtBC3U2AsABIAVBQGsgByAIayIMIAtqQQt1NgIAIAUgDCALa0ELdTYCoAEgBSARIAFrIgEgDmpBC3U2AmAgBSABIA5rQQt1NgKAAQsgCUF/aiEJIAVBBGohBSAGQQRqIQYgAkECaiECDAELCyAgQYABaiEBQQAhDgNAIA5BCEcEQCAAKAIIIgwgACgCGCILayINQdQRbCEHIAAoAgQiAiAAKAIUIgVqIQggAiAAKAIMIgZqQc7WAGwiCiAIQenPAGwiEWogAiAAKAIcIglqQfzFAGwiEmogAkHW7X5saiEPIAIgCWtBtjlsIhMgCEHVKmwiFGogAiAGa0GjGmwiEGogAkHCin9saiEIIAogBiAFakHwCGwiGCAGQc0EbGpqIAYgCWoiAkGrVWwiGWohCiAQIAUgBmtBidoAbCIaIAZBmv4AbGpqIAJBl7B/bCIbaiEQIAMgDkECdGooAgAgBGoiAiABIAAoAgBBDXRBgIAIaiIGIAAoAhAiFUHP0wBsIhxqIh0gDUHj2ABsIg0gC0GDpAFsaiIeaiIWIA9qQRJ2Qf8HcWosAAA6AAAgAiABIBYgD2tBEnZB/wdxaiwAADoADyACIAEgBiAVQdEibCIPaiIVIAcgDEHNOWxqIhZqIh8gCmpBEnZB/wdxaiwAADoAASACIAEgHyAKa0ESdkH/B3FqLAAAOgAOIAIgASAGIA9rIg8gDSAMQcJZbGoiDGoiCiARIBggBUH6t39samogBSAJakGyqX9sIg1qIhFqQRJ2Qf8HcWosAAA6AAIgAiABIAogEWtBEnZB/wdxaiwAADoADSACIAEgBiAcayIGIAcgC0GwX2xqIgtqIgcgEiAZIAlBmMQAbGpqIA1qIgpqQRJ2Qf8HcWosAAA6AAMgAiABIAcgCmtBEnZB/wdxaiwAADoADCACIAEgBiALayIGIBMgGyAJQYXJAWxqaiAJIAVrQaMabCIJaiILakESdkH/B3FqLAAAOgAEIAIgASAGIAtrQRJ2Qf8HcWosAAA6AAsgAiABIA8gDGsiBiAUIBogBUH6TmxqaiAJaiIFakESdkH/B3FqLAAAOgAFIAIgASAGIAVrQRJ2Qf8HcWosAAA6AAogAiABIBUgFmsiBSAQakESdkH/B3FqLAAAOgAGIAIgASAFIBBrQRJ2Qf8HcWosAAA6AAkgAiABIB0gHmsiBSAIakESdkH/B3FqLAAAOgAHIAIgASAFIAhrQRJ2Qf8HcWosAAA6AAggDkEBaiEOIABBIGohAAwBCwsgFyQGC+MMAR5/IwYhICMGQYAEaiQGIAAoAswCISIgICIAIQYgASgCVCEBA0AgD0EIRwRAIAFBQGsoAgAgAi4BIGwiECABKALAASACLgFgbCIMayIRQdQRbCENIAEoAiAgAi4BEGwiBSABKAKgASACLgFQbCIHaiEIIAUgASgCYCACLgEwbCIJakHO1gBsIgogCEHpzwBsIhNqIAUgASgC4AEgAi4BcGwiC2pB/MUAbCIYaiAFQdbtfmxqIQ4gBSALa0G2OWwiGSAIQdUqbCIaaiAFIAlrQaMabCIUaiAFQcKKf2xqIQggCiAJIAdqQfAIbCIbIAlBzQRsamogCSALaiIFQatVbCIVaiEKIBQgByAJa0GJ2gBsIhQgCUGa/gBsamogBUGXsH9sIhxqIQkgBiABKAIAIAIuAQBsQQ10QYAIciIFIAEoAoABIAJBQGsuAQBsIhZBz9MAbCIdaiIXIBFB49gAbCIRIAxBg6QBbGoiHmoiHyAOakELdTYCACAGIB8gDmtBC3U2AuADIAYgBSAWQdEibCIOaiIWIA0gEEHNOWxqIh9qIiEgCmpBC3U2AiAgBiAhIAprQQt1NgLAAyAGQUBrIAUgDmsiDiARIBBBwllsaiIQaiIKIBMgGyAHQfq3f2xqaiAHIAtqQbKpf2wiEWoiE2pBC3U2AgAgBiAKIBNrQQt1NgKgAyAGIAUgHWsiBSANIAxBsF9saiIMaiINIBggFSALQZjEAGxqaiARaiIKakELdTYCYCAGIA0gCmtBC3U2AoADIAYgBSAMayIFIBkgHCALQYXJAWxqaiALIAdrQaMabCILaiIMakELdTYCgAEgBiAFIAxrQQt1NgLgAiAGIA4gEGsiBSAaIBQgB0H6TmxqaiALaiIHakELdTYCoAEgBiAFIAdrQQt1NgLAAiAGIBYgH2siBSAJakELdTYCwAEgBiAFIAlrQQt1NgKgAiAGIBcgHmsiBSAIakELdTYC4AEgBiAFIAhrQQt1NgKAAiAPQQFqIQ8gBkEEaiEGIAFBBGohASACQQJqIQIMAQsLICJBgAFqIQFBACEJA0AgCUEQRwRAIAAoAggiCyAAKAIYIg9rIgpB1BFsIRAgACgCBCICIAAoAhQiBmohDCACIAAoAgwiBWpBztYAbCIIIAxB6c8AbCISaiACIAAoAhwiB2pB/MUAbCIRaiACQdbtfmxqIQ0gAiAHa0G2OWwiEyAMQdUqbCIYaiACIAVrQaMabCIOaiACQcKKf2xqIQwgCCAFIAZqQfAIbCIZIAVBzQRsamogBSAHaiICQatVbCIaaiEIIA4gBiAFa0GJ2gBsIhQgBUGa/gBsamogAkGXsH9sIhtqIQ4gAyAJQQJ0aigCACAEaiICIAEgACgCAEENdEGAgAhqIgUgACgCECIVQc/TAGwiHGoiFiAKQePYAGwiCiAPQYOkAWxqIh1qIhcgDWpBEnZB/wdxaiwAADoAACACIAEgFyANa0ESdkH/B3FqLAAAOgAPIAIgASAFIBVB0SJsIg1qIhUgECALQc05bGoiF2oiHiAIakESdkH/B3FqLAAAOgABIAIgASAeIAhrQRJ2Qf8HcWosAAA6AA4gAiABIAUgDWsiDSAKIAtBwllsaiILaiIIIBIgGSAGQfq3f2xqaiAGIAdqQbKpf2wiCmoiEmpBEnZB/wdxaiwAADoAAiACIAEgCCASa0ESdkH/B3FqLAAAOgANIAIgASAFIBxrIgUgECAPQbBfbGoiD2oiECARIBogB0GYxABsamogCmoiCGpBEnZB/wdxaiwAADoAAyACIAEgECAIa0ESdkH/B3FqLAAAOgAMIAIgASAFIA9rIgUgEyAbIAdBhckBbGpqIAcgBmtBoxpsIgdqIg9qQRJ2Qf8HcWosAAA6AAQgAiABIAUgD2tBEnZB/wdxaiwAADoACyACIAEgDSALayIFIBggFCAGQfpObGpqIAdqIgZqQRJ2Qf8HcWosAAA6AAUgAiABIAUgBmtBEnZB/wdxaiwAADoACiACIAEgFSAXayIGIA5qQRJ2Qf8HcWosAAA6AAYgAiABIAYgDmtBEnZB/wdxaiwAADoACSACIAEgFiAdayIGIAxqQRJ2Qf8HcWosAAA6AAcgAiABIAYgDGtBEnZB/wdxaiwAADoACCAJQQFqIQkgAEEgaiEADAELCyAgJAYLpgsBG38jBiEdIwZB4ANqJAYgACgCzAIhHyAdIgAhBSABKAJUIQEDQCAQQQhHBEAgASgCACACLgEAbEENdEGACHIiCyABKALAASACLgFgbCINQYRkbGohESABQUBrKAIAIAIuASBsIgcgASgCgAEgAkFAay4BAGwiFWshCSABKAIgIAIuARBsIgYgASgCYCACLgEwbCIMIAEoAuABIAIuAXBsIgprIhJqQZo1bCIYIAZB8SBsaiEIIAEoAqABIAIuAVBsQbHOAGwiDiAGIAprIhNBgtoAbGoiDyAKQaOdAWxqIAxB9ql/bCIZayEUIA8gBkHnuH9saiAMQeZKbCIaaiEMIAUgCyANQZ3JAGxqIg8gFSAHaiIVQc7VAGwiFmogCUH2AmwiG2oiHCAUakELdTYCACAFIBwgFGtBC3U2AsADIAUgESAVQcwybCIUaiAJQdAWbCIcaiIeIAhqQQt1NgIgIAUgHiAIa0ELdTYCoAMgBUFAayALIA1BvqV/bGoiDSAJQaAtbCILaiIIIBNBsc4AbCAOayITakELdTYCACAFIAggE2tBC3U2AoADIAUgESAWayAbaiAHQZPcAGwiB2oiCCAaIAYgCmpB6CRsIhMgBkG5HmxqIA5raiIGakELdTYCYCAFIAggBmtBC3U2AuACIAUgDyAUayAcaiIGIBggEkHc9H5saiIIakELdTYCgAEgBSAGIAhrQQt1NgLAAiAFIA8gFUGCI2wiBmsgCUHHGWwiCWsiCCAZIBMgCkGvSGxqIA5qaiIKakELdTYCoAEgBSAIIAprQQt1NgKgAiAFIBEgBmogCWsgB2siBiAMakELdTYCwAEgBSAGIAxrQQt1NgKAAiAFIA0gC2sgC2tBC3U2AuABIBBBAWohECAFQQRqIQUgAUEEaiEBIAJBAmohAgwBCwsgH0GAAWohAUEAIQYDQCAGQQ9HBEAgACgCAEENdEGAgAhqIg4gACgCGCILQYRkbGohECAAKAIIIg0gACgCECIPayEJIAAoAgQiBSAAKAIMIgIgACgCHCIKayIVakGaNWwiFyAFQfEgbGohByAAKAIUQbHOAGwiESAFIAprIhJBgtoAbGoiCCAKQaOdAWxqIAJB9ql/bCIYayEMIAggBUHnuH9saiACQeZKbCITaiEIIAMgBkECdGooAgAgBGoiAiABIA4gC0GdyQBsaiIUIA8gDWoiD0HO1QBsIhlqIAlB9gJsIhpqIhYgDGpBEnZB/wdxaiwAADoAACACIAEgFiAMa0ESdkH/B3FqLAAAOgAOIAIgASAQIA9BzDJsIgxqIAlB0BZsIhZqIhsgB2pBEnZB/wdxaiwAADoAASACIAEgGyAHa0ESdkH/B3FqLAAAOgANIAIgASAOIAtBvqV/bGoiCyAJQaAtbCIOaiIHIBJBsc4AbCARayISakESdkH/B3FqLAAAOgACIAIgASAHIBJrQRJ2Qf8HcWosAAA6AAwgAiABIBAgGWsgGmogDUGT3ABsIg1qIgcgEyAFIApqQegkbCISIAVBuR5saiARa2oiBWpBEnZB/wdxaiwAADoAAyACIAEgByAFa0ESdkH/B3FqLAAAOgALIAIgASAUIAxrIBZqIgUgFyAVQdz0fmxqIgdqQRJ2Qf8HcWosAAA6AAQgAiABIAUgB2tBEnZB/wdxaiwAADoACiACIAEgFCAPQYIjbCIFayAJQccZbCIJayIHIBggEiAKQa9IbGogEWpqIgpqQRJ2Qf8HcWosAAA6AAUgAiABIAcgCmtBEnZB/wdxaiwAADoACSACIAEgECAFaiAJayANayIFIAhqQRJ2Qf8HcWosAAA6AAYgAiABIAUgCGtBEnZB/wdxaiwAADoACCACIAEgCyAOayAOa0ESdkH/B3FqLAAAOgAHIAZBAWohBiAAQSBqIQAMAQsLIB0kBgvOCgEZfyMGIRojBkHAA2okBiAAKALMAiEdIBoiACEFIAEoAlQhAQNAIAlBCEcEQCABKAIgIAIuARBsIgcgASgCoAEgAi4BUGwiBmohCCAHIAEoAmAgAi4BMGwiCmpBt9UAbCIOIAhB0swAbCIWaiABKALgASACLgFwbCIXQQ10IgtqIAdB8Ld/bGohDyAIQZQwbCIYIAdBi7x/bGogByAKayISQfIdbCALayIZaiEQIAUgASgCACACLgEAbEENdEGACHIiByABKAKAASACQUBrLgEAbCIIQcbRAGxqIhEgAUFAaygCACACLgEgbCINIAEoAsABIAIuAWBsIgxqQeLGAGwiEyANQb0RbGoiG2oiFCAPakELdTYCACAFIBQgD2tBC3U2AqADIAUgByAIQZIUbGoiDyATIAxB/JF/bGoiE2oiFCAOIAogBmpB73VsIAtrIg4gCkHuZGxqaiIcakELdTYCICAFIBQgHGtBC3U2AoADIAVBQGsgByAIQclHbGoiFCANQaMnbCAMQeGnf2xqIg1qIgwgFiAOIAZBieh+bGpqIg5qQQt1NgIAIAUgDCAOa0ELdTYC4AIgBSAHIAhBvqV/bGpBC3UiByASIBdqIAZrQQJ0IghqNgJgIAUgByAIazYCwAIgBSAUIA1rIgcgGCAGIAprQfjZAGwiCCALaiAGQeaTf2xqaiIGakELdTYCgAEgBSAHIAZrQQt1NgKgAiAFIA8gE2siBiAZIAggCkGZK2xqaiIKakELdTYCoAEgBSAGIAprQQt1NgKAAiAFIBEgG2siBiAQakELdTYCwAEgBSAGIBBrQQt1NgLgASAJQQFqIQkgBUEEaiEFIAFBBGohASACQQJqIQIMAQsLIB1BgAFqIQFBACEKA0AgCkEORwRAIAAoAgQiAiAAKAIUIgVqIQkgAiAAKAIMIgZqQbfVAGwiDCAJQdLMAGwiFWogACgCHEENdCIHaiACQfC3f2xqIQggCUGUMGwiDiACQYu8f2xqIAIgBmsiFkHyHWwgB2siF2ohDyADIApBAnRqKAIAIARqIgIgASAAKAIAQQ10QYCACGoiCSAAKAIQIgtBxtEAbGoiGCAAKAIIIhAgACgCGCINakHixgBsIhIgEEG9EWxqIhlqIhEgCGpBEnZB/wdxaiwAADoAACACIAEgESAIa0ESdkH/B3FqLAAAOgANIAIgASAJIAtBkhRsaiIIIBIgDUH8kX9saiISaiIRIAwgBiAFakHvdWwgB2siDCAGQe5kbGpqIhNqQRJ2Qf8HcWosAAA6AAEgAiABIBEgE2tBEnZB/wdxaiwAADoADCACIAEgCSALQclHbGoiESAQQaMnbCANQeGnf2xqIhBqIg0gFSAMIAVBieh+bGpqIgxqQRJ2Qf8HcWosAAA6AAIgAiABIA0gDGtBEnZB/wdxaiwAADoACyACIAEgCSALQb6lf2xqIgkgFiAFa0ENdCAHaiILakESdkH/B3FqLAAAOgADIAIgASAJIAtrQRJ2Qf8HcWosAAA6AAogAiABIBEgEGsiCSAOIAUgBmtB+NkAbCILIAdqIAVB5pN/bGpqIgVqQRJ2Qf8HcWosAAA6AAQgAiABIAkgBWtBEnZB/wdxaiwAADoACSACIAEgCCASayIFIBcgCyAGQZkrbGpqIgZqQRJ2Qf8HcWosAAA6AAUgAiABIAUgBmtBEnZB/wdxaiwAADoACCACIAEgGCAZayIFIA9qQRJ2Qf8HcWosAAA6AAYgAiABIAUgD2tBEnZB/wdxaiwAADoAByAKQQFqIQogAEEgaiEADAELCyAaJAYL9goBGH8jBiEZIwZBoANqJAYgACgCzAIhHCAZIgAhBSABKAJUIQEDQCARQQhHBEAgBSABQUBrKAIAIAIuASBsIgdB8dcAbCABKAKAASACQUBrLgEAbCIGIAEoAsABIAIuAWBsIgtqIglB+ckAbCIMaiAGIAtrIhJBmQZsIAEoAgAgAi4BAGxBDXRBgAhyIg1qIgpqIhMgASgCICACLgEQbCIIIAEoAmAgAi4BMGwiBmpB0NQAbCIOIAggASgCoAEgAi4BUGwiC2pBvsoAbCIWaiAIIAEoAuABIAIuAXBsIg9qIhRBgjxsIhdqIAhB2/5+bGoiFWpBC3U2AgAgBSATIBVrQQt1NgKAAyAFIAdB4MMAbCAJQaAUbCITayASQZUfbCANaiIVaiIYIA4gBiALakGramwiDiAGQcs1bGpqIAYgD2pBwrV/bCIaaiIbakELdTYCICAFIBggG2tBC3U2AuACIAVBQGsgB0GMIGwgDGsgCmoiDCAWIA4gC0Gxm39samogCyAPakH4VWwiCmoiDmpBC3U2AgAgBSAMIA5rQQt1NgLAAiAFIAdBjHVsIAlB8htsIglrIBJB/jtsIA1rIgxrIg4gFyAaIA9BlI0BbGpqIApqIgpqQQt1NgJgIAUgDiAKa0ELdTYCoAIgBSAHQctMbCAJaiAMayIJIBRB1RVsIgwgCEGzFGxqIAZBlmJsaiALIAZrQYI8bCIGaiIIakELdTYCgAEgBSAJIAhrQQt1NgKAAiAFIAdB7q9/bCATaiAVaiIIIAwgBiALQc4YbGogD0G/kH9samoiBmpBC3U2AqABIAUgCCAGa0ELdTYC4AEgBSASIAdrQcHaAGwgDWpBC3U2AsABIBFBAWohESAFQQRqIQUgAUEEaiEBIAJBAmohAgwBCwsgHEGAAWohAUEAIQsDQCALQQ1HBEAgAyALQQJ0aigCACAEaiICIAEgACgCCCIFQfHXAGwgACgCECIHIAAoAhgiBmoiDUH5yQBsIglqIAcgBmsiEUGZBmwgACgCAEENdEGAgAhqIhJqIhBqIgwgACgCBCIIIAAoAgwiB2pB0NQAbCIKIAggACgCFCIGakG+ygBsIhNqIAggACgCHCIPaiIOQYI8bCIWaiAIQdv+fmxqIhRqQRJ2Qf8HcWosAAA6AAAgAiABIAwgFGtBEnZB/wdxaiwAADoADCACIAEgBUHgwwBsIA1BoBRsIgxrIBFBlR9sIBJqIhRqIhcgCiAHIAZqQatqbCIKIAdByzVsamogByAPakHCtX9sIhVqIhhqQRJ2Qf8HcWosAAA6AAEgAiABIBcgGGtBEnZB/wdxaiwAADoACyACIAEgBUGMIGwgCWsgEGoiCSATIAogBkGxm39samogBiAPakH4VWwiEGoiCmpBEnZB/wdxaiwAADoAAiACIAEgCSAKa0ESdkH/B3FqLAAAOgAKIAIgASAFQYx1bCANQfIbbCINayARQf47bCASayIJayIKIBYgFSAPQZSNAWxqaiAQaiIQakESdkH/B3FqLAAAOgADIAIgASAKIBBrQRJ2Qf8HcWosAAA6AAkgAiABIAVBy0xsIA1qIAlrIg0gDkHVFWwiCSAIQbMUbGogB0GWYmxqIAYgB2tBgjxsIgdqIghqQRJ2Qf8HcWosAAA6AAQgAiABIA0gCGtBEnZB/wdxaiwAADoACCACIAEgBUHur39sIAxqIBRqIgggCSAHIAZBzhhsaiAPQb+Qf2xqaiIHakESdkH/B3FqLAAAOgAFIAIgASAIIAdrQRJ2Qf8HcWosAAA6AAcgAiABIBEgBWtBwdoAbCASakESdkH/B3FqLAAAOgAGIAtBAWohCyAAQSBqIQAMAQsLIBkkBguKAgEEfyMGIQMjBkEQaiQGIANBCGohBAJAAkAgAEUNACABQQBHIAAQfEEgRnFFDQAMAQsgA0HXuRc2AgAgA0EhNgIEQYSWFkGbuRdBAkHH6xwgAxBRCyABEGIhAiAAEKUBIQUgBCACLgEAIAUgAi4BBmsgAhBuQRB0QRB1IAIQa0EQdEEQdRDBAiICNgIAAkACQAJAAkACQAJAIAEoAlhBAWsOBAIBAAMECyAAIAJBBUF/QQBBABCzBAwECyAAIAJBBUEAQX9BfxCzBAwDCyAAIAJBBUEAQX9BABCzBAwCCyAAIAJBBUEAQX9BABCzBAwBCyAAIAJBBUF/QX9BABCzBAsgBBD3ASADJAYLoQkBF38jBiEZIwZBgANqJAYgACgCzAIhGyAZIgAhBSABKAJUIQEDQCAJQQhHBEAgASgCACACLgEAbEENdEGACHIiCiABKAKAASACQUBrLgEAbEGxzgBsIhNqIQ0gCiABQUBrKAIAIAIuASBsIgtBDXQgASgCwAEgAi4BYGxBDXQiDmsiEGohESAFIA0gC0G21wBsIA5qIhZqIhIgASgCICACLgEQbCIGIAEoAqABIAIuAVBsIghqIgwgASgC4AEgAi4BcGwiB2pBjTdsIg8gDEHbEGxqIhQgASgCYCACLgEwbCIMQc/TAGwiF2ogBkH3EWxqIhhqQQt1NgIAIAUgEiAYa0ELdTYC4AIgBSARIAYgB2siEiAMIAhrIhhqQdEibCIaIBJB/jBsaiISakELdTYCICAFIBEgEmtBC3U2AsACIAVBQGsgCiATayIRIAtBthdsIA5rIgtqIg4gFCAIIAdqQYu9f2wiEyAMQa9dbCIMaiAIQbChf2xqaiIIakELdTYCACAFIA4gCGtBC3U2AqACIAUgESALayIIIBMgDyAXayAHQcblAGxqaiILakELdTYCYCAFIAggC2tBC3U2AoACIAUgCiAQayIKIBogGEHfiX9saiIIakELdTYCgAEgBSAKIAhrQQt1NgLgASAFIA0gFmsiCiAPIAwgBkHcVGxqIAdBjIF/bGpqIgdqQQt1NgKgASAFIAogB2tBC3U2AsABIAlBAWohCSAFQQRqIQUgAUEEaiEBIAJBAmohAgwBCwsgG0GAAWohAUEAIQUDQCAFQQxHBEAgACgCAEENdEGAgAhqIgkgACgCEEGxzgBsIgxqIQggCSAAKAIIIg1BDXQgACgCGEENdCILayIVaiEOIAMgBUECdGooAgAgBGoiAiABIAggDUG21wBsIAtqIhNqIhAgACgCBCIKIAAoAhQiBmoiDyAAKAIcIgdqQY03bCIRIA9B2xBsaiIWIAAoAgwiD0HP0wBsIhJqIApB9xFsaiIUakESdkH/B3FqLAAAOgAAIAIgASAQIBRrQRJ2Qf8HcWosAAA6AAsgAiABIA4gCiAHayIQIA8gBmsiFGpB0SJsIhcgEEH+MGxqIhBqQRJ2Qf8HcWosAAA6AAEgAiABIA4gEGtBEnZB/wdxaiwAADoACiACIAEgCSAMayIOIA1BthdsIAtrIg1qIgsgFiAGIAdqQYu9f2wiDCAPQa9dbCIPaiAGQbChf2xqaiIGakESdkH/B3FqLAAAOgACIAIgASALIAZrQRJ2Qf8HcWosAAA6AAkgAiABIA4gDWsiBiAMIBEgEmsgB0HG5QBsamoiDWpBEnZB/wdxaiwAADoAAyACIAEgBiANa0ESdkH/B3FqLAAAOgAIIAIgASAJIBVrIgkgFyAUQd+Jf2xqIgZqQRJ2Qf8HcWosAAA6AAQgAiABIAkgBmtBEnZB/wdxaiwAADoAByACIAEgCCATayIJIBEgDyAKQdxUbGogB0GMgX9samoiB2pBEnZB/wdxaiwAADoABSACIAEgCSAHa0ESdkH/B3FqLAAAOgAGIAVBAWohBSAAQSBqIQAMAQsLIBkkBgvoCQEYfyMGIRkjBkHgAmokBiAAKALMAiEcIBkiACEFIAEoAlQhAQNAIApBCEcEQCABKAKAASACQUBrLgEAbCIGIAEoAsABIAIuAWBsIgtrQf6iAWwiEiAGIAFBQGsoAgAgAi4BIGwiDWtByRtsIhRqIAEoAgAgAi4BAGxBDXRBgAhyIhUgDSALaiIWIAZrIhdB7NYAbGoiDmogBkG0i39saiEPIAEoAiAgAi4BEGwiByABKAJgIAIuATBsIghqIgkgASgCoAEgAi4BUGwiEGogASgC4AEgAi4BcGwiEWpBwBlsIQwgCUHqOGwiGCAHIBBqQfQqbCIJaiAMIAcgEWpBuBdsaiIaaiAHQfZEbGohByAJIAwgCCAQakHJtX9saiIbIBBB2rN/bGpqIQkgBSASIA4gC0G1hwFsamoiEiAHakELdTYCACAFIBIgB2tBC3U2AsACIAUgDyAYIBsgCEHYhAFsamogCCARakH1jH9sIgdqIhJqQQt1NgIgIAUgDyASa0ELdTYCoAIgBUFAayAWQYW2f2wgDmoiDyALQcNNbGoiCyAJakELdTYCACAFIAsgCWtBC3U2AoACIAUgFCAOIA1BkZ9/bGpqIgsgGiAHIBFBx4YBbGpqIg5qQQt1NgJgIAUgCyAOa0ELdTYC4AEgBSAPIAZBufwAbCANQf2mf2xqaiIGIAwgCEGNon9sIBBBi8AAbGogEUGWlH9samoiCGpBC3U2AoABIAUgBiAIa0ELdTYCwAEgBSAVIBdBv6V/bGpBC3U2AqABIApBAWohCiAFQQRqIQUgAUEEaiEBIAJBAmohAgwBCwsgHEGAAWohAUEAIQUDQCAFQQtHBEAgACgCECIGIAAoAhgiCmtB/qIBbCIJIAYgACgCCCILa0HJG2wiE2ogACgCAEENdEGAgAhqIhIgCyAKaiIUIAZrIhVB7NYAbGoiDWogBkG0i39saiEHIAAoAgQiAiAAKAIMIghqIgwgACgCFCIQaiAAKAIcIhFqQcAZbCEOIAxB6jhsIhYgAiAQakH0KmwiD2ogDiACIBFqQbgXbGoiF2ogAkH2RGxqIQwgDyAOIAggEGpBybV/bGoiGCAQQdqzf2xqaiEPIAMgBUECdGooAgAgBGoiAiABIAkgDSAKQbWHAWxqaiIJIAxqQRJ2Qf8HcWosAAA6AAAgAiABIAkgDGtBEnZB/wdxaiwAADoACiACIAEgByAWIBggCEHYhAFsamogCCARakH1jH9sIgxqIglqQRJ2Qf8HcWosAAA6AAEgAiABIAcgCWtBEnZB/wdxaiwAADoACSACIAEgFEGFtn9sIA1qIgcgCkHDTWxqIgogD2pBEnZB/wdxaiwAADoAAiACIAEgCiAPa0ESdkH/B3FqLAAAOgAIIAIgASATIA0gC0GRn39samoiCiAXIAwgEUHHhgFsamoiDWpBEnZB/wdxaiwAADoAAyACIAEgCiANa0ESdkH/B3FqLAAAOgAHIAIgASAHIAZBufwAbCALQf2mf2xqaiIGIA4gCEGNon9sIBBBi8AAbGogEUGWlH9samoiCGpBEnZB/wdxaiwAADoABCACIAEgBiAIa0ESdkH/B3FqLAAAOgAGIAIgASASIBVBv6V/bGpBEnZB/wdxaiwAADoABSAFQQFqIQUgAEEgaiEADAELCyAZJAYLgggBFX8jBiEWIwZBwAJqJAYgACgCzAIhGSAWIgAhBSABKAJUIQEDQCAIQQhHBEAgBSABKAIAIAIuAQBsQQ10QYAIciIHIAEoAoABIAJBQGsuAQBsIglBnckAbGoiDiABQUBrKAIAIAIuASBsIgYgASgCwAEgAi4BYGwiDWpBmjVsIg8gBkHxIGxqIhBqIgogASgCICACLgEQbCIGQbPZAGwgASgCYCACLgEwbCILIAEoAuABIAIuAXBsIgxqIhFB7zxsIhRqIAEoAqABIAIuAVBsIhJBDXQiFSALIAxrIgtB4xNsIgxqIhdqIhhqQQt1NgIAIAUgCiAYa0ELdTYCoAIgBSAHIAlBhGRsaiIKIA8gDUHc9H5saiINaiIPIAZB09AAbCARQc8lbCIRayAVIAxrIAtBDHRrIgxrIhVqQQt1NgIgIAUgDyAVa0ELdTYCgAIgBUFAayAHIAlBvqV/bGpBC3UiByAGIAtrIBJrQQJ0IglqNgIAIAUgByAJazYC4AEgBSAKIA1rIgcgBkGMKWwgEWsgDGoiCWpBC3U2AmAgBSAHIAlrQQt1NgLAASAFIA4gEGsiByAGQZQObCAUayAXaiIGakELdTYCgAEgBSAHIAZrQQt1NgKgASAIQQFqIQggBUEEaiEFIAFBBGohASACQQJqIQIMAQsLIBlBgAFqIQFBACEFA0AgBUEKRwRAIAMgBUECdGooAgAgBGoiAiABIAAoAgBBDXRBgIAIaiIIIAAoAhAiB0GdyQBsaiITIAAoAggiBiAAKAIYIg5qQZo1bCINIAZB8SBsaiIPaiIQIAAoAgQiBkGz2QBsIAAoAgwiCyAAKAIcIgpqIgxB7zxsIhFqIAAoAhRBDXQiCSALIAprIgtB4xNsIgpqIhRqIhJqQRJ2Qf8HcWosAAA6AAAgAiABIBAgEmtBEnZB/wdxaiwAADoACSACIAEgCCAHQYRkbGoiECANIA5B3PR+bGoiDmoiDSAGQdPQAGwgDEHPJWwiDGsgCSAKayALQQx0ayIKayISakESdkH/B3FqLAAAOgABIAIgASANIBJrQRJ2Qf8HcWosAAA6AAggAiABIAggB0G+pX9saiIIIAYgC2tBDXQgCWsiB2pBEnZB/wdxaiwAADoAAiACIAEgCCAHa0ESdkH/B3FqLAAAOgAHIAIgASAQIA5rIgggBkGMKWwgDGsgCmoiB2pBEnZB/wdxaiwAADoAAyACIAEgCCAHa0ESdkH/B3FqLAAAOgAGIAIgASATIA9rIgggBkGUDmwgEWsgFGoiBmpBEnZB/wdxaiwAADoABCACIAEgCCAGa0ESdkH/B3FqLAAAOgAFIAVBAWohBSAAQSBqIQAMAQsLIBYkBguiBwEUfyMGIRUjBkGgAmokBiAAKALMAiEYIBUiACEGIAEoAlQhAQNAIAlBCEcEQCABKAIAIAIuAQBsQQ10QYAIciIHIAEoAsABIAIuAWBsQaEtbCIFaiEIIAcgBWsgBWsiECABQUBrKAIAIAIuASBsIgUgASgCgAEgAkFAay4BAGwiB2tBoS1sIgtqIQogBiAIIAUgB2pBh9UAbCIRaiAHQdwPbCISayITIAEoAiAgAi4BEGwiByABKAKgASACLgFQbCIMakGXOmwiFCAHIAEoAuABIAIuAXBsIg1qQfoebCIWaiABKAJgIAIuATBsQc+xf2wiDmsiF2pBC3U2AgAgBiATIBdrQQt1NgKAAiAGIAogByAMayANa0GxzgBsIgdqQQt1NgIgIAYgCiAHa0ELdTYC4AEgBkFAayAIIBFrIAVBq8UAbCIFaiIHIBQgDiAMIA1rQZHZAGwiCmtqIgxqQQt1NgIAIAYgByAMa0ELdTYCwAEgBiAIIAVrIBJqIgggFiAOIApqaiIFakELdTYCYCAGIAggBWtBC3U2AqABIAYgECALayALa0ELdTYCgAEgCUEBaiEJIAZBBGohBiABQQRqIQEgAkECaiECDAELCyAYQYABaiEBQQAhBgNAIAZBCUcEQCAAKAIAQQ10QYCACGoiCCAAKAIYQaEtbCICaiEJIAggAmsgAmsiDiAAKAIIIgggACgCECIFa0GhLWwiB2ohCyADIAZBAnRqKAIAIARqIgIgASAJIAggBWpBh9UAbCIPaiAFQdwPbCIQayIRIAAoAgQiBSAAKAIUIgpqQZc6bCISIAUgACgCHCIMakH6HmwiE2ogACgCDEHPsX9sIg1rIhRqQRJ2Qf8HcWosAAA6AAAgAiABIBEgFGtBEnZB/wdxaiwAADoACCACIAEgCyAFIAprIAxrQbHOAGwiBWpBEnZB/wdxaiwAADoAASACIAEgCyAFa0ESdkH/B3FqLAAAOgAHIAIgASAJIA9rIAhBq8UAbCIIaiIFIBIgDSAKIAxrQZHZAGwiC2tqIgpqQRJ2Qf8HcWosAAA6AAIgAiABIAUgCmtBEnZB/wdxaiwAADoABiACIAEgCSAIayAQaiIJIBMgDSALamoiCGpBEnZB/wdxaiwAADoAAyACIAEgCSAIa0ESdkH/B3FqLAAAOgAFIAIgASAOIAdrIAdrQRJ2Qf8HcWosAAA6AAQgBkEBaiEGIABBIGohAAwBCwsgFSQGC70GARN/IwYhFCMGQdABaiQGIAAoAswCIRcgFCIAIQUgASgCVCEBA0AgCUEHRwRAIAEoAoABIAJBQGsuAQBsIgcgASgCwAEgAi4BYGwiBmtBtzhsIgogAUFAaygCACACLgEgbCILIAdrQZIUbCISaiABKAIAIAIuAQBsQQ10QYAIciIPaiAHQZWKf2xqIQwgASgCICACLgEQbCINIAEoAmAgAi4BMGwiCGpB7ztsIhAgDSAIa0HzCmwiE2ogCCABKAKgASACLgFQbCIIakHhp39sIhVqIQ4gBSAKIAsgBmoiCkHG0QBsIA9qIhYgBkGDe2xqaiIGIBAgE2sgDSAIakGjJ2wiDWoiEGpBC3U2AgAgBSAGIBBrQQt1NgKoASAFIAwgDmpBC3U2AhwgBSAMIA5rQQt1NgKMASAFIBIgFiALQfHhfmxqaiIGIBUgDSAIQd73AGxqaiILakELdTYCOCAFIAYgC2tBC3U2AnAgBSAPIAcgCmtBwdoAbGpBC3U2AlQgCUEBaiEJIAVBBGohBSABQQRqIQEgAkECaiECDAELCyAXQYABaiEBQQAhBQNAIAVBB0cEQCAAKAIQIgkgACgCGCIHa0G3OGwiDiAAKAIIIgYgCWtBkhRsIhFqIAAoAgBBDXRBgIAIaiILaiAJQZWKf2xqIQ8gACgCBCIMIAAoAgwiAmpB7ztsIgogDCACa0HzCmwiEmogAiAAKAIUIg1qQeGnf2wiEGohCCADIAVBAnRqKAIAIARqIgIgASAOIAYgB2oiDkHG0QBsIAtqIhMgB0GDe2xqaiIHIAogEmsgDCANakGjJ2wiDGoiCmpBEnZB/wdxaiwAADoAACACIAEgByAKa0ESdkH/B3FqLAAAOgAGIAIgASAPIAhqQRJ2Qf8HcWosAAA6AAEgAiABIA8gCGtBEnZB/wdxaiwAADoABSACIAEgESATIAZB8eF+bGpqIgcgECAMIA1B3vcAbGpqIgZqQRJ2Qf8HcWosAAA6AAIgAiABIAcgBmtBEnZB/wdxaiwAADoABCACIAEgCyAJIA5rQcHaAGxqQRJ2Qf8HcWosAAA6AAMgBUEBaiEFIABBHGohAAwBCwsgFCQGC+cEAQ9/IwYhECMGQZABaiQGIAAoAswCIRMgECIAIQUgASgCVCEBA0AgB0EGRwRAIAUgASgCACACLgEAbEENdEGACHIiDCABKAKAASACQUBrLgEAbEGhLWwiBmoiDSABQUBrKAIAIAIuASBsQbHOAGwiDmoiDyABKAIgIAIuARBsIgggASgCoAEgAi4BUGwiCWpBthdsIhEgCCABKAJgIAIuATBsIgpqQQ10aiISakELdTYCACAFIA8gEmtBC3U2AnggBSAMIAZrIAZrQQt1IgYgCCAKayAJa0ECdCIIajYCGCAFIAYgCGs2AmAgBSANIA5rIgYgESAJIAprQQ10aiIIakELdTYCMCAFIAYgCGtBC3U2AkggB0EBaiEHIAVBBGohBSABQQRqIQEgAkECaiECDAELCyATQYABaiEBQQAhBQNAIAVBBkcEQCADIAVBAnRqKAIAIARqIgIgASAAKAIAQQ10QYCACGoiCiAAKAIQQaEtbCIHaiILIAAoAghBsc4AbCIMaiINIAAoAgQiBiAAKAIUIghqQbYXbCIOIAYgACgCDCIJakENdGoiD2pBEnZB/wdxaiwAADoAACACIAEgDSAPa0ESdkH/B3FqLAAAOgAFIAIgASAKIAdrIAdrIgcgBiAJayAIa0ENdCIGakESdkH/B3FqLAAAOgABIAIgASAHIAZrQRJ2Qf8HcWosAAA6AAQgAiABIAsgDGsiByAOIAggCWtBDXRqIgZqQRJ2Qf8HcWosAAA6AAIgAiABIAcgBmtBEnZB/wdxaiwAADoAAyAFQQFqIQUgAEEYaiEADAELCyAQJAYLqQQBDX8jBiEOIwZB8ABqJAYgACgCzAIhESAOIgAhBSABKAJUIQEDQCAGQQVHBEAgAUFAaygCACACLgEgbCIKIAEoAoABIAJBQGsuAQBsIglqQcwybCEHIAUgASgCACACLgEAbEENdEGACHIiCyAKIAlrIgpB0BZsaiIJIAdqIg0gASgCICACLgEQbCIMIAEoAmAgAi4BMGwiD2pBmjVsIhAgDEHxIGxqIgxqQQt1NgIAIAUgDSAMa0ELdTYCUCAFIAkgB2siByAQIA9B3PR+bGoiCWpBC3U2AhQgBSAHIAlrQQt1NgI8IAUgCyAKQcClf2xqQQt1NgIoIAZBAWohBiAFQQRqIQUgAUEEaiEBIAJBAmohAgwBCwsgEUGAAWohAUEAIQIDQCACQQVHBEAgACgCCCIHIAAoAhAiCGpBzDJsIQYgAyACQQJ0aigCACAEaiIFIAEgACgCAEENdEGAgAhqIgogByAIayIHQdAWbGoiCCAGaiIJIAAoAgQiCyAAKAIMIg1qQZo1bCIMIAtB8SBsaiILakESdkH/B3FqLAAAOgAAIAUgASAJIAtrQRJ2Qf8HcWosAAA6AAQgBSABIAggBmsiBiAMIA1B3PR+bGoiCGpBEnZB/wdxaiwAADoAASAFIAEgBiAIa0ESdkH/B3FqLAAAOgADIAUgASAKIAdBwKV/bGpBEnZB/wdxaiwAADoAAiACQQFqIQIgAEEUaiEADAELCyAOJAYLsgMBC38jBiEMIwZBQGskBiAAKALMAiEPIAwiACEFIAEoAlQhAQNAIAZBBEcEQCAFIAEoAgAgAi4BAGwiCSABQUBrKAIAIAIuASBsIgdqQQJ0IgsgASgCICACLgEQbCIKIAEoAmAgAi4BMGwiDWpB0SJsQYAIaiIOIApB/jBsakELdSIKajYCACAFIAsgCms2AjAgBSAJIAdrQQJ0IgkgDiANQd+Jf2xqQQt1IgdqNgIQIAUgCSAHazYCICAGQQFqIQYgBUEEaiEFIAFBBGohASACQQJqIQIMAQsLIA9BgAFqIQFBACECA0AgAkEERwRAIAMgAkECdGooAgAgBGoiBSABIAAoAgBBEGoiBiAAKAIIIghqQQ10IgkgACgCBCIHIAAoAgwiC2pB0SJsIgogB0H+MGxqIgdqQRJ2Qf8HcWosAAA6AAAgBSABIAkgB2tBEnZB/wdxaiwAADoAAyAFIAEgBiAIa0ENdCIGIAogC0HfiX9saiIIakESdkH/B3FqLAAAOgABIAUgASAGIAhrQRJ2Qf8HcWosAAA6AAIgAkEBaiECIABBEGohAAwBCwsgDCQGC9YCAQl/IwYhCiMGQTBqJAYgACgCzAIhDSAKIgAhBSABKAJUIQEDQCAGQQNHBEAgBSABKAIAIAIuAQBsQQ10QYAIciIJIAFBQGsoAgAgAi4BIGxBoS1sIgdqIgsgASgCICACLgEQbEGxzgBsIgxqQQt1NgIAIAUgCyAMa0ELdTYCGCAFIAkgB2sgB2tBC3U2AgwgBkEBaiEGIAVBBGohBSABQQRqIQEgAkECaiECDAELCyANQYABaiECQQAhAQNAIAFBA0cEQCADIAFBAnRqKAIAIARqIgUgAiAAKAIAQQ10QYCACGoiByAAKAIIQaEtbCIGaiIIIAAoAgRBsc4AbCIJakESdkH/B3FqLAAAOgAAIAUgAiAIIAlrQRJ2Qf8HcWosAAA6AAIgBSACIAcgBmsgBmtBEnZB/wdxaiwAADoAASABQQFqIQEgAEEMaiEADAELCyAKJAYLxAEBBX8gASgCVCIBKAIgIAIuARBsIQUgAygCACAEaiIGIAAoAswCQYABaiIAIAEoAgAgAi4BAGxBBGoiByAFaiIIIAEoAgQgAi4BAmwiCSABKAIkIAIuARJsIgFqIgJqQQN2Qf8HcWosAAA6AAAgBiAAIAggAmtBA3ZB/wdxaiwAADoAASADKAIEIARqIgIgACAHIAVrIgMgCSABayIBakEDdkH/B3FqLAAAOgAAIAIgACADIAFrQQN2Qf8HcWosAAA6AAELogEBA38jBiECIwZBkAFqJAYgAkGIAWoiAyAAQdDfCGooAgBBmMoIaigCABCUBjYCACACQSBqIgQgAEHU3whqKAIAEIABIAQQuAEDQCAEEOkBIgAEQCACIAAQ6AIQkgEgAhCeAQNAIAIQjQFFBEAgAygCACACEIEBEIsnIAIQqwEaDAELCwwBCwsgARBdIAMoAgBBCRDuBiADEF4gBBB/IAIkBgszACADKAIAIARqIAAoAswCQYABaiABKAJUKAIAIAIuAQBsQQRqQQN2Qf8HcWosAAA6AAALpSYBDn8gACgC1AMhCiAAQSRqIQsgAEHIAGohDCAAKALYASEEA0AgBiALKAIASARAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBEEkaiIDKAIAQQh0IARBKGoiBSgCAGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQshAkEAIQEMIAtBDCECQQAhAQwfC0ENIQJBACEBDB4LQQ4hAkEAIQEMHQtBDyECQQAhAQwcC0EQIQJBACEBDBsLQREhAkEAIQEMGgtBEiECQQAhAQwZC0ETIQJBACEBDBgLQRQhAkEAIQEMFwtBFSECQQAhAQwWC0EWIQJBACEBDBULQRchAkEAIQEMFAtBGCECQQAhAQwTC0EZIQJB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AkADQAJAIAMoAgAiByAFKAIAIghOBEAgByAIRw0BIAQoAgAgBigCAEsNAQsgACACKAIAKAIAQf8BcUEGahEFAA0BDAILCwwBC0EADwsgAEEkaiENIABBBGohDiAAQdQDaiEPIAAoAtgBIQNBACEFA0AgBSANKAIASARAAkAgAygCNARAIAAgCkHIAGogBUECdGooAgAgBigCACADQQxqIgIoAgAiBGwgBEEAIA4oAgAoAiBBP3FB2AVqEREAIRAgBigCACAMSQR/IAIoAgAFIAMoAiAgAigCACIEEIcBIQIgAiAEIAIbCyERIA8oAgBBBGogBUECdGooAgAhEiADQRxqIRMgA0EkaiEUIANBKGohFSABIAVBAnRqKAIAIQRBACECA0AgAiARTg0CQQAhByAQIAJBAnRqKAIAIQhBACEJA0AgCSATKAIASQRAIAAgAyAIIAQgByASQT9xQewNahETACAHIBQoAgBqIQcgCEGAAWohCCAJQQFqIQkMAQsLIAQgFSgCAEECdGohBCACQQFqIQIMAAALAAsLIANB2ABqIQMgBUEBaiEFDAELCyAGIAYoAgBBAWoiADYCAEEDQQQgACALKAIASRsLwQQBFn8jBiEFIwZBEGokBiAAKALAAyEDIABB0AJqIQ8gAEEEaiEJIABBlAFqIQsDQCABIA8oAgBIBEAgAEHUAmogAUECdGooAgAiAigCDCEEIAUgAUECdGogACADQcgAaiACKAIEQQJ0aigCACALKAIAIARsIARBASAJKAIAKAIgQT9xQdgFahERADYCACABQQFqIQEMAQsLIANBHGohECADQRRqIQwgAEHkAmohESAAQdADaiESIANBIGohEyADQRhqIhQoAgAhBgJAAkADQCAGIBAoAgBIBEAgDCgCACEHA0AgByARKAIASQRAQQAhAkEAIQgDQCAIIA8oAgBIBEAgByAAQdQCaiAIQQJ0aigCACIEQThqIhUoAgAiCWwhFiAEQTxqIQEgBSAIQQJ0aiEEQQAhCgNAIAogASgCAEgEQCAEKAIAIAogBmpBAnRqKAIAIBZBB3RqIQ1BACEOA0AgDiAJSARAIANBIGogAkECdGogDTYCACANQYABaiENIA5BAWohDiACQQFqIQIgFSgCACEJDAELCyAKQQFqIQoMAQsLIAhBAWohCAwBCwsgACATIBIoAgAo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AgAEQCAAKAIAQTA2AhQgACAAKAIAKAIAQf8DcUGiB2oRAAALAkAgACgCeEEDRgRAIAAoAogBBEAgAEEBNgJoDAILIAAoAlwEQCAAQQE2AmwFIABBATYCZAsFIABBATYCZCAAQQA2AmggAEEANgJsIABBADYCiAELCyAAKAJkBEAgABDDJyADIAAoAuADNgIACyAAKAJsRQRAIAAoAmhFDQELIAAQwicgBSAAKALgAzYCAAsgASgCAEUEQCACKAIABEAgABDBJwUgABDAJyAAEL8nCyAAIAAoAmwQvicLIAAQvScgACgC5AEEQCAAELwnBSAAELsnCyAAIABByANqIgIoAgAoAhAEf0EBBSAAQUBrKAIAQQBHCyIDELonIAEoAgBFBEAgABC5JwsgACAAKAIEKAIYQf8DcUGiB2oRAAAgACACKAIAKAIIQf8DcUGiB2oRAAAgAEEIaiIBKAIAIgNFBEAPCyAAQUBrKAIABEAPCyACKAIAKAIQRQRADwsgACgCJCICIAJBA2xBAmogACgC4AFFGyECIANBADYCBCABKAIAIAAoAsgCIAJsNgIIIAEoAgBBADYCDCABKAIAQQNBAiAAKAJsGzYCECAEIAQoAgBBAWo2AgALPAECfyAAKAK4AyECIAAoAlQEQCAAIAAoAuADKAIIQf8DcUGiB2oRAAALIAJBDGoiACAAKAIAQQFqNgIAC40EAQR/IAAoArgDIgJBCGoiASgCAARAIAFBADYCACAAQQAgACgC4AMoAgBB/wBxQawLahEDACAAQQIgACgCxAMoAgBB/wBxQawLahEDACAAQQIgACgCvAMoAgBB/wBxQawLahEDAAUCQCAAQdQAaiIDKAIABEAgACgCiAFFBEAgACgCXARAIAAoAmwEQCAAIAIoAhg2AuADIAFBATYCAAwECwsgACgCZARAIAAgAigCFDYC4AMFIAAoAgBBLzYCFCAAIAAoAgAoAgBB/wNxQaIHahEAAAsLCwsgACAAKALUAygCAEH/A3FBogdqEQAAIAAgACgCwAMoAghB/wNxQaIHahEAACAAKAJERQRAIAIoAhBFBEAgACAAKALcAygCAEH/A3FBogdqEQAACyAAIAAoAtgDKAIAQf8DcUGiB2oRAAAgAygCAARAIAAgASgCACAAKALgAygCAEH/AHFBrAtqEQMACyAAQQNBACAB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CCACEHIiB0UEQA8LIARBfGohCSABIQAgAiEFA0AgBSAESgRAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDgUEAwIBAAULDAULDAULDAULDAULDAULIAkhAwNAIANBAEoEQCAAIARqIgogCi0AACAALQAAajoAACADQX9qIQMgAEEBaiEADAELCwsgACAEaiIDIAMtAAAgAC0AAGo6AAAgAEEBaiEACyAAIARqIgMgAy0AACAALQAAajoAACAAQQFqIQALIAAgBGoiAyADLQAAIAAtAABqOgAAIABBAWohAAsgACAEaiIDIAMtAAAgAC0AAGo6AAAgAEEBaiEACyAFIARrIQUMAQsLIAcgASACEIgCQQAhAANAIAAgCEgEQCAAIAZsIQVBACECA0AgAiAGSQRAIAEgBSACamogByAGIAJrQX9qIAhsIABqaiwAADoAACACQQFqIQIMAQsLIABBAWohAAwBCwsgBxBMC6oCAQN/IAAoAsgEKAIEIQMgAkEEEE4iACADTARADwsgASAAEOEFIANBfGohBCAAIANrIQADQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAw4FBAMCAQAFCwwFCwwFCwwFCwwFCwwFCyAEIQIDQCACQQBKBEAgASADQQJ0aiIFIAUoAgAgASgCAGo2AgAgAkF/aiECIAFBBGohAQwBCwsLIAEgA0ECdGoiAiACKAIAIAEoAgBqNgIAIAFBBGohAQsgASADQQJ0aiICIAIoAgAgASgCAGo2AgAgAUEEaiEBCyABIANBAnRqIgIgAigCACABKAIAajYCACABQQRqIQELIAEgA0ECdGoiAiACKAIAIAEoAgBqNgIAIAFBBGohAQsgACADayIAQQBKDQALC4kBAQJ/IwYhBCMGQRBqJAYgAwR/IAMQcQUgBEGYsxc2AgAgBEHmBTYCBEGExPkAQbuzF0ECQcfrHCAEEFFBABBxCyEDAn8CQCABKAIARQ0AIAAgASADLgEAEMcVQQBMDQBBAAwBCyAAQdDfCGooAgBBmMoIaigCACADEPgOIAJeRQshBSAEJAYgBQuqAgEDfyAAKALIBCgCBCEDIAJBAhBOIgAgA0wEQA8LIAEgABD3BiADQXxqIQQgACADayEAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAIAMOBQQDAgEABQsMBQsMBQsMBQsMBQsMBQsgBCECA0AgAkEASgRAIAEgA0EBdGoiBSAFLwEAIAEvAQBqOwEAIAJBf2ohAiABQQJqIQEMAQsLCyABIANBAXRqIgIgAi8BACABLwEAajsBACABQQJqIQELIAEgA0EBdGoiAiACLwEAIAEvAQBqOwEAIAFBAmohAQsgASADQQF0aiICIAIvAQAgAS8BAGo7AQAgAUECaiEBCyABIANBAXRqIgIgAi8BACABLwEAajsBACABQQJqIQELIAAgA2siAEEASg0ACwvIAQECfyAAKALIBCIERQRAQZL9HUHeuR1BoANBg70dEAELIAQoAiQiBUUEQEGXvR1B3rkdQaEDQYO9HRABCyAAIAEgAiADIAVBP3FBkAVqERwARQRAQQAPCyAEKAIIIgNBAEwEQEGIux1B3rkdQaUDQYO9HRABCyAEQShqIgQoAgBFBEBBrr0dQd65HUGmA0GDvR0QAQsDQCACQQBKBEAgACABIAMgBCgCAEH/AHFBrAxqEQ0AIAIgA2shAiABIANqIQEMAQsLQQELjwEBAn8gACgCyAQiBEUEQEGS/R1B3rkdQYkDQca9HRABCyAEKAIcIgVFBEBB2b0dQd65HUGKA0HGvR0QAQsgBEEoaiIEKAIARQRAQa69HUHeuR1BiwNBxr0dEAELIAAgASACIAMgBUE/cUGQBWoRHABFBEBBAA8LIAAgASACIAQoAgBB/wBxQawMahENAEEBC6MCAQN/IAAoAsgEKAIEIQMgAkEEEE4iACADTARADwsgA0F8aiEEIAAgA2shAANAAkACQAJAAkACQAJAAkACQAJAAkACQCADDgUEAwIBAAULDAULDAULDAULDAULDAULIAQhAgNAIAJBAEoEQCABIANBAnRqIgUgBSgCACABKAIAajYCACACQX9qIQIgAUEEaiEBDAELCwsgASADQQJ0aiICIAIoAgAgASgCAGo2AgAgAUEEaiEBCyABIANBAnRqIgIgAigCACABKAIAajYCACABQQRqIQELIAEgA0ECdGoiAiACKAIAIAEoAgBqNgIAIAFBBGohAQsgASADQQJ0aiICIAIoAgAgASgCAGo2AgAgAUEEaiEBCyAAIANrIgBBAEoNAAsLowIBA38gACgCyAQoAgQhAyACQQIQTiIAIANMBEAPCyADQXxqIQQgACADayEAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAIAMOBQQDAgEABQsMBQsMBQsMBQsMBQsMBQsgBCECA0AgAkEASgRAIAEgA0EBdGoiBSAFLwEAIAEvAQBqOwEAIAJBf2ohAiABQQJqIQEMAQsLCyABIANBAXRqIgIgAi8BACABLwEAajsBACABQQJqIQELIAEgA0EBdGoiAiACLwEAIAEvAQBqOwEAIAFBAmohAQsgASADQQF0aiICIAIvAQAgAS8BAGo7AQAgAUECaiEBCyABIANBAXRqIgIgAi8BACABLwEAajsBACABQQJqIQELIAAgA2siAEEASg0ACwukBAEFfyAAKALIBCgCBCIEIAJOBEAPCyACIARrIQACQAJAAkAgBEEDaw4CAAECCyABLAAAIQUgASwAASEDIAEsAAIhAgNAIAUgAUEDaiIELAAAaiEFIAQgBToAACADIAFBBGoiBiwAAGohAyAGIAM6AAAgAiABQQVqIgEsAABqIQIgASACOgAAIABBfWohASAAQQNKBEAgASEAIAQhAQwBCwsPCyABLAADIQIgASwAACEEIAEsAAEhBSABLAACIQMDQCAEIAFBBGoiBiwAAGohBCAGIAQ6AAAgBSABQQVqIgcsAABqIQUgByAFOgAAIAMgAUEGaiIHLAAAaiEDIAcgAzoAACACIAFBB2oiASwAAGohAiABIAI6AAAgAEF8aiEBIABBBEoEQCABIQAgBiEBDAELCw8LIARBfGohAgNAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDgUEAwIBAAULDAULDAULDAULDAULDAULIAIhAwNAIANBAEoEQCABIARqIgUgBS0AACABLQAAajoAACADQX9qIQMgAUEBaiEBDAELCwsgASAEaiIDIAMtAAAgAS0AAGo6AAAgAUEBaiEBCyABIARqIgMgAy0AACABLQAAajoAACABQQFqIQELIAEgBGoiAyADLQAAIAEtAABqOgAAIAFBAWohAQsgASAEaiIDIAMtAAAgAS0AAGo6AAAgAUEBaiEBCyAAIARrIgBBAEoNAAsLjgMBBn8gACgCyAQoAgQhAyACIAAvAVRBA3YiBRBmIQcgAhByIgZFBEAPCyAGIAEgAhCIAkEAIQADQCAAIAdIBEAgACAFbCEIQQAhBANAIAQgBUkEQCABIAUgBGtBf2ogB2wgAGpqIAYgCCAEamosAAA6AAAgBEEBaiEEDAELCyAAQQFqIQAMAQsLIAYQTCADQXxqIQQgASACIANrQX9qaiEAA0AgAiADSgRAAkACQAJAAkACQAJAAkACQAJAAkACQCADDgUEAwIBAAULDAULDAULDAULDAULDAULIAQhAQNAIAFBAEoEQCAAIANqIgUgBS0AACAALQAAazoAACABQX9qIQEgAEF/aiEADAELCwsgACADaiIBIAEtAAAgAC0AAGs6AAAgAEF/aiEACyAAIANqIgEgAS0AACAALQAAazoAACAAQX9qIQALIAAgA2oiASABLQAAIAAtAABrOgAAIABBf2ohAAsgACADaiIBIAEtAAAgAC0AAGs6AAAgAEF/aiEACyACIANrIQIMAQsLC7ACAQh/IwYhCiMGQRBqJAYgACgCyAQiBEUEQEGS/R1B3rkdQb4EQdD/ChABCyAEQRhqIggoAgBFBEBBq7odQd65HUG/BEHQ/woQAQsgBEEUaiIJKAIARQRAQcO6HUHeuR1BwARB0P8KEAELIAohBiACEHIiBUUEQCAGIAI2AgBB0P8KQdq6HSAGEF8gBiQGQQAPCyAFIAEgAhBtGiAEKAIIIgdBAEwEQEGIux1B3rkdQdIEQdD/ChABCyACIAcQyAEEQEGUux1B3rkdQdMEQdD/ChABCyAFIQEgAiEEA0AgBEEASgRAIAAgASAHIAgoAgBB/wBxQawMahENACABIAdqIQEgBCAHayEEDAELCyAAIAUgAiADIAkoAgBBP3FBkAVqERwAIQsgBRBMIAYkBiALC4kBAQJ/IAAoAsgEIgRFBEBBkv0dQd65HUGrBEGlux0QAQsgBCgCGCIFRQRAQau6HUHeuR1BrARBpbsdEAELIARBDGoiBCgCAARAIAAgASACIAVB/wBxQawMahENACAAIAEgAiADIAQoAgBBP3FBkAVqERwADwVBuLsdQd65HUGtBEGlux0QAQtBAAuyAgEDfyAAKALIBCgCBCEDIAJBBBBOIgAgA0wEQA8LIANBfGohBCAAIANrIgAhAiABIABBf2pBAnRqIQADQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAw4FBAMCAQAFCwwFCwwFCwwFCwwFCwwFCyAEIQEDQCABQQBKBEAgACADQQJ0aiIFIAUoAgAgACgCAGs2AgAgAUF/aiEBIABBfGohAAwBCwsLIAAgA0ECdGoiASABKAIAIAAoAgBrNgIAIABBfGohAAsgACADQQJ0aiIBIAEoAgAgACgCAGs2AgAgAEF8aiEACyAAIANBAnRqIgEgASgCACAAKAIAazYCACAAQXxqIQALIAAgA0ECdGoiASABKAIAIAAoAgBrNgIAIABBfGohAAsgAiADayICQQBKDQALC7ICAQN/IAAoAsgEKAIEIQMgAkECEE4iACADTARADwsgA0F8aiEEIAAgA2siACECIAEgAEF/akEBdGohAANAAkACQAJAAkACQAJAAkACQAJAAkACQCADDgUEAwIBAAULDAULDAULDAULDAULDAULIAQhAQNAIAFBAEoEQCAAIANBAXRqIgUgBS8BACAALwEAazsBACABQX9qIQEgAEF+aiEADAELCwsgACADQQF0aiIBIAEvAQAgAC8BAGs7AQAgAEF+aiEACyAAIANBAXRqIgEgAS8BACAALwEAazsBACAAQX5qIQALIAAgA0EBdGoiASABLwEAIAAvAQBrOwEAIABBfmohAAsgACADQQF0aiIBIAEvAQAgAC8BAGs7AQAgAEF+aiEACyACIANrIgJBAEoNAAsLzAQBBn8gACgCyAQoAgQiAyACTgRADwsgAiADayEAAkACQAJAIANBA2sOAgABAgsgASwAASECIAEsAAAhBCABLAACIQMDQCABQQNqIgUsAAAhByAFIAcgBGs6AAAgAUEEaiIGLAAAIQQgBiAEIAJrOgAAIAFBBWoiASwAACEGIAEgBiADazoAACAAQX1qIQEgAEEDSgRAIAQhAiAHIQQgASEAIAUhASAGIQMMAQsLDwsgASwAAyECIAEsAAIhBCABLAABIQMgASwAACEFA0AgAUEEaiIHLAAAIQYgByAGIAVrOgAAIAFBBWoiCCwAACEFIAggBSADazoAACABQQZqIggsAAAhAyAIIAMgBGs6AAAgAUEHaiIELAAAIQEgBCABIAJrOgAAIABBfGohCCAAQQRKBEAgASECIAMhBCAFIQMgBiEFIAghACAHIQEMAQsLDwsgA0F8aiEEIAEgACICQX9qaiEAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAIAMOBQQDAgEABQsMBQsMBQsMBQsMBQsMBQsgBCEBA0AgAUEASgRAIAAgA2oiBSAFLQAAIAAtAABrOgAAIAFBf2ohASAAQX9q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AkEQdCAAciAEEFoiAEH/ASAAQf8BSRtyC8cMAAJ/AkACQAJAAkAgAEH//wNxQQZ0IAJB//8DcUEDdHIgAUH//wNxckGJBGsOgwwCAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwEBAwEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADC0EADAMLQQEMAgtBAwwBC0F/CwuUAwEJfyMGIQUjBkEQaiQGIAVBCGohBwJAAkAgAEG4AWoiBigCACABQQJ0aigCACIJRSIKDQAgACgC5ANFDQAMAQsgACgCtAFFBEBB1bIdQeiyHUH1BEHA8woQAQsgACgCgAUhBCAAKAL0BCEIIABBvAFqIgsoAgAgAUECdGooAgAiDEUgCnIgDCADSXIEQCAIQQBBAiAEQf8AcUGQBGoRAgAhBCAG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4QBqIgUsAAAEQCAAKAI4EEwLIABBNGoiAyACNgIAAn8CQCACQQhLBEAgAUEARyAALABiIgNBAEdxBEAgACABNgIgIARBADoAAAwCBSAAIAIQTzYCICAEQQE6AAALBSAAIABBLGo2AiAgA0EINgIAIARBADoAACAALABiIQMLIANB/wFxDQAgACACQQggAkEIShsiAzYCPCABQQBHIANBB0txBH9BAAUgAxBPIQFBAQsMAQsgAEEANgI8QQAhAUEACyECIAAgATYCOCAFIAI6AAAgAAvUAgEDfyAAIAAoAgAoAhhB/wFxQQZqEQUAGiAAIAEoAgBBuNT5ABDKASIBNgJEIABB4gBqIgItAAAhAyACIAEgASgCACgCHEH/AXFBBmoRBQAiAUEBcToAAAJAIANB/wFxIAFBAXFHBEAgAEEIaiICQgA3AgAgAkIANwIIIAJCADcCECAAQeAAaiICLAAAQQBHIQMgAQRAIABBIGohASADBEAgASgCABBMCyACIABB4QBqIgIsAAA6AAAgACAAQTxqIgMoAgA2AjQgASAAQThqIgAoAgA2AgAgA0EANgIAIABBADYCACACQQA6AAAMAgsgA0UEQCAAQSBqIgEoAgAiAyAAQSxqRwRAIAAgACgCNCIENgI8IAAgAzYCOCAAQQA6AGEgASAEEE82AgAgAkEBOgAADAMLCyAAIAAoAjQiATYCPCAAIAEQTzYCOCAAQQE6AGELCwsLACAAEP0OIAAQTAs4AQJ/IABBQGsiASgCACICBEAgACAAKAIAKAIYQf8BcUEGahEFABogAhD9AUUEQCABQQA2AgALCws5AQF/IABBQGsiAigCAARAQQAhAAUgAiABQa77HhDlAiIBNgIAIAEEQCAAQQg2AlgFQQAhAAsLIAALhgIBBX8jBiECIwZBEGokBiAAEN0fIABBnLIWNgIAIABBADYCICAAQQA2AiQgAEEANgIoIABBxABqIQMgAEE0aiIBQgA3AgAgAUIANwIIIAFCADcCECABQgA3AhggAUIANwIgIAFBADYCKCABQQA7ASwgAUEAOgAuIAIgAEEEaiIBKAIAEP0KAn8gAigCAEG41PkAEKwCEPwdIQUgAhDbASAFCwRAIAIgASgCABD9CiADIAIoAgBBuNT5ABDKATYCACACENsBIAAgAygCACIBIAEoAgAoAhxB/wFxQQZqEQUAQQFxOgBiCyAAQQBBgCAgACgCACgCDEH/AHFBkARqEQIAGiACJAYLWAECfyMGIQIjBkEQaiQGIAJCADcCACACQQA2AgggAiABQQAQ3RUgACACKAIAIAIgAiwACyIDQQBIIgEbIAIoAgQgA0H/AXEgARsQvxIaIAIQVCACJAYgAAvMBgEKfyMGIQojBkHwAWokBiABQairIBDFAQR/IAFBytYgEMUBRQVBAQshCyAKQdgBaiEGIApB1AFqIQwgCkHQAWohCSAKQRRqIQUgCkEIaiEIQaKj+QAtAAAEQCAAQcC1FkEAIAIgAyAEIAAoAgRB1MYIaigCABDeFSEABSAGQgA3AgAgBkEANgIIA0AgB0EDRwRAIAYgB0ECdGpBADYCACAHQQFqIQcMAQsLAkACQCALBH8gBkHwyfkAKAIAQXRqKAIAQYjK+QBqKAIAEJYpGiAGKAIAIAYgBiwAC0EASBsiDSEHIA0gDBCmCSENDAEFIAFBrvweEOUCIgcEfyAHEP0BGkEAIQcgASAMEJkOIQ0MAgVByMX5ACgCABCxEyEAIAogATYCACAKIAA2AgRBxLQWQeKCHSAKEFxBAAsLIQAMAQsgDSAMKAIAIgxFcgRAIAkQmQEgCwRAIAkgBigCACAGIAYsAAtBAEgbEOABGgUgBUHciBY2AgAgBUHsAGoiB0HwiBY2AgAgBUEANgIEIAVB7ABqIAVBCGoiCxDfHyAFQQA2ArQBIAVBfzYCuAEgBUH4sRY2AgAgB0GMshY2AgAgCxCVKSALIAEQlClFBEAgBSAFKAIAQXRqKAIAaiIBIgcgBygCGEUgASgCEEEEcnI2AhALIAUgBSgCAEF0aigCAGooAhghASAIQgA3AgAgCEEANgIIIAggAUEAEN0VIAkgCCgCACAIIAgsAAtBAEgbEOABGiAIEFQgBRDlCwsgAEEAIAkgAiADIAQgACgCBEHUxghqKAIAEN4VIQAgCRBYBSAJQQA2AgACfwJAIAxBfGpBB0kiCA0AIAkgCwR/IAcgBigCBCAGLAALIgVB/wFxIAVBAEgbEJkLBSABEJ4JCyIFNgIAIAUNAEEADAELIARBAEciBQRAIAQgACgCWBDoC0UEQCAJEF5BAAwCCwsCfyAIBH8gACAHIAYoAgQgBiwACyIIQf8BcSAIQQBIGyABIAIgAyAEIAAoAgRB1MYIaigCABCZKQUgACAJKAIAIAEgAiADIAQQ5wsLIQ4gCRBeIA4LBH8gBQRAQQAgBBDmC0UNAhoLQQEFQQALCyEACwsgBhBUCyAKJAYgAAtqAQJ/IwYhBSMGQRBqJAYgACABIAIgAyAEEJcpBH8gACgCBCIBQdqmCGotAAAEfyABIABBKGoiACgCABCwKQR/QQEFIAUgACgCABBdNgIAQcWCHSAFEEtBAAsFQQELBUEACyEGIAUkBiAGC5oCAQp/IwYhCCMGQTBqJAYgCEEgaiEMIAhBGGohDSAIQShqIgpBADYCACAIQSRqIgtBADYCACABRSERIAdBACAHQX9KIg4bIQ8CQAJAA0ACQCAKIBEEfyADIAsQzyAFIAEgAiALEM0gCyIJNgIAIAlFDQIgDSAHIA8gDhsiCUEBaiIPNgIAQa6CHSANEEsgDCAJNgIAIAhBFUGqzh8gDBCoARogAEG3gh0gCBCEDxogACAKKAIAIAMgBCAFIAYQ5wshECAKEF5BAkEBIBAbIQkgDiAQQQFzckUEQEEAQQIgCygCABshCQsCQAJAAkACQCAJQQNxDgMAAgECCwwCCwwEC0EAIQAMAQsMAQsLDAELQQEhAAsgCCQGIAALLAEBfyAAKAIMIgUEfyAALgECIAEgAiADIAQgBUE/cUHYBWoREQAFQQELIgALCgAgACwARBCJAQtpAQN/IABBGGoiAkEAECAaIAFB6AcQTiEDIAIgAigCACADaiIENgIAIABBHGoiACgCACADQZh4bCABakHoB2xqIQEgACABNgIAIAFBwIQ9SgRAIAAgAUHA+0JqNgIAIAIgBEEBajYCAAsLSAAgAEEANgIAIABBADoABCAAQQA6AAUgAEEAOgAGIABBADYCCCAAQQA2AgwgAEEhNgIQIABBADYCFCAAQQA2AhggAEEANgIcC4MCAQh/IwYhAyMGQaABaiQGIANBGGohAiADQQRqIQQCfyAAQQRqIgUoAgAEQCAAKAIUIgEEQCABKAIEBEAgAEEgaiIGKAIABEAgABDXCAtBfyAAEJYNDQMaQX8gBSgCAEH6xghqLQAADQMaIABBAToAOEE8EE8iAUEAIAAoAhwgBSgCAEGQpghqEPsJIAYgATYCACACIAEQ2AIgAkEQaiEAIAJBGGohASACQRRqIQYDQCAAKAIAIgcEQCAEEJIFIAUoAgAgBCABKAIAKAIEIAYoAgAoAgQgBxDFGCACEM8BGiAEEN8EDAELC0EADAMLC0HWvRkgAxBLC0F/CyEIIAMkBiAIC14BA38gACgCCCEBIAAoAgQgACgCDCIDQQF1aiECIANBAXEEQCACKAIAIAFqKAIAIQELIAIgACgCECAAKAIUIAAoAhggACgCHCAAKAIgIAAoAiQgAUEPcUHcBmoRFQALTwAgABDhFSAAQeCxFjYCACAAIAE2AgQgACACNgIIIAAgAzYCDCAAIAQ2AhAgACAFNgIUIAAgBjYCGCAAIAc2AhwgACAINgIgIAAgCTYCJAtZAQN/IAAoAgghASAAKAIEIAAoAgwiA0EBdWohAiADQQFxBEAgAigCACABaigCACEBCyACIAAoAhAgACgCFCAAKAIYIAAoAhwgACgCICABQT9xQZwGahEGAAtIACAAEOEVIABBuLEWNgIAIAAgATYCBCAAIAI2AgggACADNgIMIAAgBDYCECAAIAU2AhQgACAGNgIYIAAgBzYCHCAAIAg2AiALKAEBfyMGIQIjBkEQaiQGIAAEQCAAIAEQqxEFQbX/HCACEEsLIAIkBgu1AwMHfwJ9AXwjBiEFIwZB8ABqJAYgA0UEQCAFQZizFzYCACAFQawHNgIEQYTE+QBBoKYaQQJBx+scIAUQUQsgBUEIaiIGIABB1N8IaigCABCAASADEHEiAy4BACEEIAMuAQQhByABBEAgBiAEIAcgAy4BAhDwAwUgBiAEIAcgAy4BBhDwAwsgBhCFAiACQQBKIQggAEH03whqIQkDQAJAIAYgARDABCIERQRAQQAhAAwBCwJ/IAMgBBBxIgAQtQKyIQwgAxBrIQcgDCAAEGsiCiAHIApBEHRBEHUgB0EQdEEQdUgbQRB0QRB1sl4LBEBBACEADAELIAQoAkgQ7gEEQCAJKAIAtyENIAgEfyANRHsUrkfhepQ/ora7EMMDthBlIAJqBSANRJqZmZmZmak/ora7EMMDthBlCyEEIAMgABD7BgRAIAMgABC1AiAETARAIAMQayEEIAAQayIAIAQgAEEQdEEQdSAEQRB0QRB1SBtBEHRBEHWyIAAgBCAEQRB0QRB1IABBEHRBEHVIG0EQdEEQdbKVQwAAAD9eBEBBASEADAQLCwsLDAELCyAGEH8gBSQGIAALTQAgB0EKSCAGQQpIIAAoAgRFcnIEf0EABSAAIAEgA0EDdCACQQN0QQEgAhsQTiAHIAVqIAIgAxDlFSAAIAQgBSAGIAcQ5BUgABClEQsLKwEBfyAAQQRqIgEoAgBFBEBByN8IEE8iABCVBSABIAA2AgAgAEEAEJkQCwtZAQN/IwYhAyMGQfADaiQGIABBBGoiACgCACIEBEAgBBBzELEpBUHI3wgQTyIEEJUFIAAgBDYCAAsgAxCEFiAAKAIAIAEgAiADELYpIQUgAxCgDSADJAYgBQsvAQF/IABBMGoiACgCACIBBH8gARBdBH8gACgCABBdBUHT1fkACwVB09X5AAsiAAvXAwEIfwJ/IwYhDiMGQfADaiQGIAJB/P4cIAIbIQogDiICQewDaiILCyABEIUBAn8CQAJAIABBBGoiCSgCAARAAkAgAEEsaiIBKAIAIgwEQCAAQTBqIg0oAgAEQCAMIAsQjBFFBEAgACgCNCADRgRAIA0oAgAgChCACARAIAkoAgBBDGogChCACA0FCyAJKAIARQ0GQQEhBQwHCwsLCwsgCSgCACIBBEAgASABKAIAKAIEQf8DcUGiB2oRAAALIAlBADYCAAsLQcjfCBBPIgEQlQUgCSABNgIAIAIgACgCEBCFFgJ/IAkoAgAgCxBdIAAoAigiAQR/IAEQXQVBAAsgCiADIAQgBSAGIAcgCCACEJYQRSEPIAIQoA0gDwsEf0EAIQUgAEEsaiEBDAEFQX8LDAELIAEoAgAiBARAIAQgCxCYAhogASgCACEEBUEEEE8iBCALEMkBIAEgBDYCAAsgBBBdLAAARQRAIAkoAgBBBGoQXSwAAARAIAEoAgAgCSgCAEEEahCYAhoLCyAAQTBqIgEoAgAiBARAIAQgChDgARoFQQQQTyIEIAoQhQEgASAENgIACyAAIAM2AjQgBQRAIAkoAgAQ6xULQQALIRAgCxBYIAIkBiAQC2sBBH8jBiECIwZBEGokBiAAKAIAIgNBAEcgASgCACIAQQBHcUUEQCACQZizFzYCACACQcMANgIEQYTE+QBBwLMXQQJBx+scIAIQUQsgAxBxIQQgABBxIQAgBC4BAiAALgECayEFIAIkBiAFCycAEGcgASAAKAIEEHNBPGoQ4BoiAAR/IAIgACsDEDkDAEEBBUEACwszAQF/IABBBGoiAygCACIARQRAQcjfCBBPIgAQlQUgAyAANgIACyABIAJBASAAEHMQiA0LLgEBfyAAQShqIgAoAgAiAgRAIAIgARDgARoFQQQQTyICIAEQhQEgACACNgIACwt1AQF/IABB1KgWNgIAIABBBGoiAUIANwIAIAFCADcCCCABQgA3AhAgAUIANwIYIAFCADcCICABQgA3AiggAEEDNgI0IABBADoAOCAAQTxqIgFCADcCACABQgA3AgggAUIANwIQIAFBADYCGCAAQdPV+QA2AlgLEwAgAgR/IAAgASACEMQBBUEACwtxAQN/IwYhAiMGQRBqJAYgAkHJ/hwQhQEgAkEEaiIDIAEgAhC7AiACEFggAEGIHmohASADEF1B/oQdEOUCIgQEQCAEIAFBABDeASABEN8BEMMNIQAgBBD9ARoFQQAhAAsgAUEAEMAKIAMQWCACJAYgAAuDAgEGf0ECQQEgABshBgNAIAQgBkcEQCAEBH8gAAUQZ0Goo/kACyECQQAhAQNAIAEgAigCAEgEQCACIAEQTSgCACIDIAMoAhA2AgwgAUEBaiEBDAELCyACQRRqIQNBACEBA0AgASADKAIASARAIAMgARBNKAIAIgUgBSwACzoACiABQQFqIQEMAQsLIAJBKGohA0EAIQEDQCABIAMoAgBIBEAgAyABEE0oAgAiBUEMaiAFQRBqEJgCGiABQQFqIQEMAQsLIAJBPGohAUEAIQIDQCACIAEoAgBIBEAgASACEE0oAgAiAyADKwMYOQMQIAJBAWohAgwBCwsgBEEBaiEEDAELCwtmAQJ/IwYhAiMGQRBqJAYgACgCACIAQQBHIAEoAgAiAUEAR3FFBEAgAkGYsxc2AgAgAkE7NgIEQYTE+QBBwLMXQQJBx+scIAIQUQsgABBxIQAgARBxLgEGIAAuAQZrIQMgAiQGIAMLkwUBB38jBiEKIwZBEGokBiAKQQRqIgwgAiADQSAgBEEDdEEBIAQbIgYgBkEYRhsQxwEiCDYCACAIEHUhBCAIEHchCAJAAkACQAJAAkACQCAGQQFrDiAABAQEBAQEAQQEBAQEBAQEBAQEBAQEBAIEBAQEBAQEAwQLA0AgByADTg0FQQAhBgNAIAYgAkgEQEGAgICAeCAGQR9xdiEJQYABIAZBB3F2IAEgBkEDdmotAABxBEAgBCAGQQV2QQJ0aiILIAsoAgAgCUF/c3E2AgAFIAQgBkEFdkECdGoiCyALKAIAIAlyNgIACyAGQQFqIQYMAQsLIAdBAWohByABIAVqIQEgBCAIQQJ0aiEEDAAACwALA0AgByADTg0EQQAhBgNAIAYgAkgEQCAEIAZqQQNzIAEgBmosAAA6AAAgBkEBaiEGDAELCyAHQQFqIQcgASAFaiEBIAQgCEECdGohBAwAAAsAC0EAIQgDQCAIIANODQNBACEGA0AgBiACSARAIARBA3MgASAGQQNsIgdqLAAAOgAAIARBAWpBA3MgASAHQQFqaiwAADoAACAEQQJqQQNzIAEgB0ECamosAAA6AAAgBkEBaiEGIARBBGohBAwBCwsgCEEBaiEIIAEgBWohAQwAAAsACwNAIAcgA04NAkEAIQYDQCAGIAJIBEAgBCAGQQJ0aiABIAZBAnQiCUEBcmotAABBEHQgASAJai0AAEEYdHIgASAJQQJyai0AAEEIdHIgASAJQQNyai0AAHI2AgAgBkEBaiEGDAELCyAHQQFqIQcgASAFaiEBIAQgCEECdGohBAwAAAsACyAKIAY2AgBBmv4cIAoQSwsgDCgCACIBQawCELsJIAAgARDpFSAMEF4gCiQGC0sBAX8gAEGcmhY2AgAgAEEEaiIBQgA3AgAgAUIANwIIIAFBADYCECAAQQE2AhggAEGsAjYCHCAAQawCNgIgIABBAEEAQQBBABC2DQtfAQJ/IAAgACgCACgCCEH/AXFBBmoRBQAQ6hUgAEGc3whqIQFBACEAA0AgACABKAIASARAIAEgABBNKAIAIgIgAigCACgCCEH/AXFBBmoRBQAQ6hUgAEEBaiEADAELCwt+AQF/IAAgAUEAIAJBAEEAQQBBAEEAQQAgAxCqFgR/An8gACAAKAIAKAIIQf8BcUEGahEFACEEEPMLIAQLEKQPIAAgACgCACgCCEH/AXFBBmoRBQAgAEEMaiADEKgWIAAgACgCACgCCEH/AXFBBmoRBQAQow8aQQAFQX8LIgALXAEBfyABQQA2AgAgAARAIAAoAgQiAARAIAAoAjwiAARAIAAoAgQiBQRAIAIgACwACDoAACADIAAsAAk6AAAgBCAFKAIIIAUoAgxrNgIAIAEgBSgCADYCAAsLCwsL0QEBCX8jBiEEIwZBEGokBiAEIAAoAQw2AgAgAEEQaiEIIAJBf2ohCSAAQRRqIQogBEEEaiIGQQJqIQsgBEECaiEHA0AgBSAILgEASARAIAYgCigCACAFENoBIAsuAQAiDCIAQQBIBEAgA0EAIAIgBy4BAGsgBC4BACABa0EBQQVBAEEAQQAQywEFIABB//8DcQRAIANBACAJIAcuAQBrIAQuAQAgAWtBAUEFQQBBAEEAEMsBCwsgBCAGLgEAIAwQ6AEaIAVBAWohBQwBCwsgBCQGC0UBAn8jBiECIwZBQGskBiACQRxqIgMgARBVIAIgABBVIAMQWwNAIAMQWUUEQCACIAMQUxC6KRCgASADEFYMAQsLIAIkBgsmAQJ/QQgQTyIBIgIQVyACQQRqEJgBIAEQVyABIAAoAgQ2AgQgAQv7AgELfyMGIQMjBkFAayQGIANBOGohBSADQShqIQYgA0EIaiEEIAMgAEEMaiIJKQEANwMAIAMgARDfAiADEG5BEHRBEHUgAxBrQRB0QRB1QQEQxwEhByAAKAIABEAgBRBXIAUgACgCABC5KSAGIAUgACgCACgCDBC9FyAGIAEqAgAgASoCBBDSF0EEEE8iCiAGEFAgCS4BAiEBA0AgASAJLgEGSARAIAogAUH//wNxELwMIggoAgAEQCAEIAgQVSAEEFsgAUF/cyELA0AgBBBZRQRAIAQQUy4BBCEMIAQQUyEAIAMQayENIAcgDCADLgEAayALIA1BEHRBEHVqIAMuAQJqIAAuAQZBAUEPQQBBAEEAEMsBIAQQVgwBCwsLIAgQ7gIgCBBMIAFBAWohAQwBCwsgChBMIAYQ7gIgBRDuAgUgB0EAQQAgAxBuQRB0QRB1IAMQa0EQdEEQdUEPQQBBAEEAEMsBCyACBEAgAiADKQMANwEACyADJAYgBwtLAQJ/IwYhASMGQRBqJAYgASAAENIBIAEQbkEQdEEQdSABEGtBEHRBEHVBARDHASECIABBBGogAS4BACABLgEGIAIQ7hUgASQGIAILxQECB38BfSMGIQIjBkEgaiQGIAAoAgwoAhgiAQR/IAEoAgQiAQR/IAEoAgQiAQR/IAIgARBVIAIQmxQQrgkhASACEFsgAEEkaiEEIABBLGohBSAAQTBqIQYgAEE4aiEAA0AgAhBZRQRAIAEgAhBTIgNBBGpBACADGyIDLgEAsiAEKAIAsiIIlSAFKAIAspIgACgCACAGKAIAarIgAy4BArIgCJWTEO8GIAIQVgwBCwsgAQVBAAsFQQALBUEACyEHIAIkBiAHCzABAX8gACgCDCABKAIMEOcRIgIEfyACBUF/IAAoAhgiACABKAIYIgFHIAAgAUgbCwuNAgEGfyMGIQIjBkGAAWokBiACQRhqIgQgAEHU3whqKAIAEIABIAQQuAEgAhCqAUEAIQADQAJAA0AgBBDpASIBRQ0BIAEoAkgQ7gFFDQALIAAEQCABEHEiAyAAEHEiABDlBARAIAMgABDjBUUEQCADIAAQtQIhBSADEGshAyAFIAAQayIAIAMgAEEQdEEQdSADQRB0QRB1SBtBEHRBEHVIBEAgAiAFELABCwsLCyABIQAMAQsLIAIoAgAiA0EISAR/QX8FIAIQiQRBACEBQQAhAANAIAEgA0ECEE5IBEAgAiABEE0oAgAgAGohACABQQFqIQEMAQsLIAAgARBOCyEGIAIQaCAEEH8gAiQGIAYLcQIDfwF9IwYhAyMGQRBqJAYgAEGQD2ohBANAIAJB+ABHBEAgAEEQaiABQeADbGogAkECdGoqAgAiBUMAAAAAXARAIAMgBCgCACACENQGNgIAIAMgBbs5AwhBj/4cIAMQSwsgAkEBaiECDAELCyADJAYLPQECfyMGIQIjBkEQaiQGA0AgAUEERwRAIAIgATYCAEH8/RwgAhBLIAAgARDAKSABQQFqIQEMAQsLIAIkBgtCAQF9IAAEfUMAAMhCQwAAAAAgABBTKgIkQwAAoECUQwAAyEKSIgEgAUMAAAAAXRsiASABQwAAyEJeGwVDAAAAAAsLqQEBA38jBiEDIwZBEGokBiABQQxqIgQoAgAoAhAiAkUEQCADQYrlHDYCACADQYoDNgIEQdyZFkHb/RxBAkHH6xwgAxBRIAQoAgAoAhAhAgsgACACNgIAAkACQCACKAKUASIERQ0AIAQgAigCmAEoAhAgASgCGBCuByIBRQ0AIAEoAgBFDQBBHBBPIgIgARBVIAAgAjYCBCACEFsMAQsgAEEANgIECyADJAYLQgEBfSAABH1DAADIQkMAAAAAIAAQUyoCKEMAAKBAlEMAAMhCkiIBIAFDAAAAAF0bIgEgAUMAAMhCXhsFQwAAAAALCyYBAX8gAEEEaiIAKAIAIgEEfyABEFYgACgCABBZQQFzBUEACyIAC4UBAQJ/IwYhAiMGQRBqJAYgAUEMaiIDKAIAKAIQIgFFBEAgAkGK5Rw2AgAgAkHcAjYCBEHcmRZBvf0cQQJBx+scIAIQUSADKAIAKAIQIQELIAAgATYCACABQaABaiIBKAIABEBBHBBPIgMgARBVIAAgAzYCBCADEFsFIABBADYCBAsgAiQGCzABAX8gACgCHAR/QQAFIAAoAgwoAhAiAQR/IAEoApgBIAAoAhgQsgdBA0YFQQALCwswAQF/IAAoAhwEf0EABSAAKAIMKAIQIgEEfyABKAKYASAAKAIYELIHQQFGBUEACwsLMAEBfyAAKAIcBH9BAAUgACgCDCgCECIBBH8gASgCmAEgACgCGBCyB0ECRgVBAAsLC6EEAg5/AXwjBiEDIwZBkAFqJAYgAEHc3whqIgooAgBFBEAgA0GYsxc2AgAgA0GkBjYCBEGExPkAQbW4F0ECQcfrHCADEFELIANB8ABqIgYQsgEgAEHQ3whqKAIAQbDKCGooAgC3Ig9EAAAAAAAA4D+iEJwCIQsgD7a7EMMDthBlIQ0gA0EIaiIEIABB1N8IaigCABCAASAEEIUCIAooAgAiAi4BACEBIAIQbkEQdEEQdUECEE5BEHRBEHUgAUEQdEEQdWohDiAAQeDfCGohCANAIAkgCCgCAEgEQAJAAkAgCCAJEE0oAgAiBxBxIgEuAQAgCigCACICLgEAayIAIAtIIAAgC2ogAi4BBCABLgEEIgJrSHEEQCAEIAIgAS4BBiABLgECEIoEQQAhDAwBBSAAIA5KBEAgBCABLgEAIAEuAQYgAS4BAhCKBEEBIQwMAgUgBiAHELkBCwsMAQtBACEAA0ACQANAAkAgBCAMEJQFIgJFBEBBACECDAMLIAIQcSEFIAIoAkgQmwUEQCABIAUQpgIgDUwEQCABIAUQiQgNAgsLDAELCyAAIAEgBRDlBCIFQQFzciEAIAUNAQsLIABFBEAgB0EFEMcEDAELIAIQcRBuQRB0QRB1IAEQbkEQdEEQdUoEQCACKAJIQQRHBEAgB0EFEMcEDAILCyAGIAcQuQELIAlBAWohCQwBCwsgCCAGELQQGiAEEH8gBhBoIAMkBgsrACAABH8gACgCpAEiAAR/IAEgACgCoAE2AgAgACgCnAEFQQALBUEACyIAC80BAQV/IwYhASMGQRBqJAYgAUEIaiECIABBDGoiACgCACgCEARAIAIQmQEgACgCACgCECIAKAJEIQQgACgCmAEiA0UEQCABQYrlHDYCACABQawCNgIEQdyZFkHz5BxBAkHH6xwgARBRCyADQRxqIQVBACEAA0AgACAFKAIASARAIAIgBCADIAAQiwEQzgcQbBogAEEBaiEADAELC0F/IAIQ3wEiAEEBaiIDIABBf0gbEE8iACACEF0gAxDSBBogAhBYBUEAIQALIAEkBiAAC1MBAn8jBiEBIwZBEGokBiAAEIcPBEAgASAAKAKkARDyGkF/IAEQ3wEiAEEBaiICIABBf0gbEE8iACABEF0gAhDSBBogARBYBUEAIQALIAEkBiAAC58BAQN/IwYhAiMGQdAAaiQGIAJBCGohAyAAQQxqIgQoAgAoAhAiABCHDwRAIABBxABqIgAoAgBFBEAgAkGK5Rw2AgAgAkGVAjYCBEHcmRZBnf0cQQJBx+scIAIQUSAEKAIAKAIQIgBBxABqIQALIAMgASAAKAIAEKEPIAQoAgAoAhAiACgCpAEgAxDTCCEAIAMQoAIFQQAhAAsgAiQGIAALOAEBfyAABEAgACgCmAEsADRBeGpBGHRBGHUiAUH/AXFBBEgEQEENIAFBD3F2QQFxQQBHDwsLQQALWAECfCAFIAIgBGu3IAMgAWu3EOIGIgkQ3AciCjkDACAGIAkQ2wciCTkDACAHIAmaOQMAIAggCjkDACAAQQFGBEAgBSAFKwMAmjkDACAGIAYrAwCaOQMACwuNAgIEfwR8IwYhDiMGQRBqJAYgDkEMaiIPIAM2AgAgDkEIaiIQIAQ2AgAgDkEEaiIRIAU2AgAgDiAGNgIAIABBAUYEQCAPIBEQxAwgECAOEMQMIA8oAgAhAyAQKAIAIQQLIAcgCCAJIAoQ8BUiAAR8IAQgCmsgCiAIayIFbCADIAlrIAkgB2siBmxqtyAAt6MiEiAGt6IgCbegIRMgEiAFt6IgCregBSAHtyETIAi3CyESIAMgBCARKAIAIA4oAgAQ8BW3n0QAAAAAAABSQKIgAbciFKMhFSALIBNEAAAAAAAAUkCiIBSjOQMAIAwgArcgEkQAAAAAAABSQKIgFKOhOQMAIA0gFTkDACAOJAYLdAAgBSABNgIAIAYgAjYCACAHIAM2AgAgCCAENgIAIAMgAWshASAEIAJrIgNBACADayADQX9KG0HIAGwgAEEBdCIASARAIAAgAUEAIAFrIAFBf0obQcgAbEgEQCAIIAQgAmpBAhBOIgA2AgAgBiAANgIACwsLcAECfyMGIQEjBkHwAGokBiABIABB1N8IaigCABCAASABELgBIABB3N8IaiICKAIAIgAEQCAAEEwLQQgQTyIAEHkgAiAANgIAA0AgARDpASIABEAgABBxIQAgAigCACAAELwBGgwBCwsgARB/IAEkBgucBgELfyMGIQcjBkHAMGokBiAHQZAwaiEIIAdBiDBqIQ0gB0GAMGohDiAHQYAgaiELIAdBgBBqIQ8gB0G0MGohBiADQQBHIARBAEdxBH8gA0EANgIAIARBADYCACAAIAFyBH8gBkEANgIAAn8CQCAAENALQQNHDQAgAEEDQQAgBhDFDiEJIAYoAgAiCkUNACAKDAELIAEgACAFIAYQ5iAhCSAGKAIACyEAAn8gCUUgAEEAR3EEfwJAAkACQAJAAkACQCAAKAIAQQFrDgQBAgADBAtB09X5ACEMQYbwHCEJDAQLQdPV+QAhDEH77xwhCQwDC0GT8BwhDEHr7xwhCQwCC0HT1fkAIQxB4O8cIQkMAQsgBhDSBUEADAILAkAgACgCHCIBQQBKBH8gACgCGCEAIA4gAUF/ajYCACAOIAA2AgQgC0GAEEGe8BwgDhCoAUH/D0sEfyAGENIFQQAMBAUgBigCAAsFAkACQAJAIAAoAixBAWsOAwACAQILQeXwHCELDAMLQcvwHCELDAILIAYQ0gVBAAwDCyEACyAAKAI0IQUgACgCCCEAIA0gAjYCACANIAA2AgQgD0GAEEGA8RwgDRCoAUH/D0sEQCAGENIFQQAMAgsgBigCACIAKAIgIQogACgCJCEBIAAoAighAiAAKAIsIQAgCCAKNgIAIAggATYCBCAIIAI2AgggCCAJNgIMIAhBDkEBIAUbNgIQIAggADYCFCAIIAw2AhggCCAKNgIcIAggAjYCICAHQYAQQa7xHCAIEKgBQf8PSwR/IAYQ0gVBAAUgBCAPEGMiCkERaiAHEGMiBWogCxBjIgRqIAYoAgAiAUEIaiICKAIAaiIANgIAIAMgAEF/IABBf0obEE8iADYCACAAIA8gChBtGiAAIApqIgAgCyAEEG0aIAAgBGoiACAHIAUQbRogACAFaiIAIAEoAgQgAigCABBtGiAAIAIoAgBqIgBBwu8cKQAANwAAIABByu8cKQAANwAIIABB0u8cLAAAOgAQIAYQ0gVBAQsFIAYQ0gVBAAsLBUEACwVBAAshECAHJAYgEAuXDAIkfwZ8IwYhBiMGQbABaiQGIAZBpAFqIgRB09X5ABCFASABKAIUKAIcIRcgBkGgAWoiEkEANgIAIAZB6ABqIhhEAAAAAAAA8D85AwAgBkHgAGoiGUQAAAAAAAAAADkDACAGQdgAaiIaRAAAAAAAAAAAOQMAIAZB0ABqIhtEAAAAAAAA8D85AwAgBEHb8hwQbBogBEHT1fkAIAIQ4QQQnwMgBEHe8hwQbBogBEHT1fkAIAMQ4QQQnwMgBEHk8hwQbBogACwAVEUEQCAEQezyHBBsGgsgBkHwAGohHCAGQYwBaiEIIAZByABqIQogBkFAayELIAZBOGohDSAGQYgBaiEJIAZBIGohDiAGQfgAaiETIAZBqQFqISEgBkGoAWohIiAGQfQAaiEjIARB9fIcEGwaIAZBnAFqIh1BADYCACAGQZgBaiIeQQA2AgAgBkGUAWoiH0EANgIAIAZBkAFqIiBBADYCACABENYIIQUgAxBaISQgBkH8AGoiDEEEaiElIAVBDGohJkEAIQFBASEARAAAAAAAAPA/IQJEAAAAAAAAAAAhA0QAAAAAAADwPyErA0ACQANAIAVBABDZAg0BIAVBACAFKAIAKAIYQf8BcUGQAmoRAQAEQCAEQfnyHBBsGkEAIQFBASEACyAFQQIgBSgCACgCGEH/AXFBkAJqEQEABEAgBUECIAggCiALIA0Q6QsaIBcgCCgCACAKKAIAIAsoAgAgDSgCACAdIB4gHyAgENIpCyAFQQMQ2QIEQCAFQQMgBSgCACgCFEH/AXFBkAJqEQEAGgwBCwsgJigCACgCGCAKIAggCyANEIoPAn8gCCgCAEECRgR/QQIFAkACQAJAIAUQuQVBAWsOAgABAgsgCEEANgIAQQAMAwsgCEEBNgIAQQEMAgsgCCAHNgIAIAcLCyEQIAVBAyAJIAwgDiATEOkLGiAQIBcgJCAJKAIAIAwoAgAgDigCACATKAIAIB0oAgAiDyAeKAIAIhQgHygCACIVICAoAgAiFiAKIAsgDRDRKSAAIBAgB0dyBEAgECAPIBQgFSAWIBggGSAaIBsQ0CkgBEHw1SAgGCsDACICEOEEEJ8DIARB8NUgIBkrAwAiAxDhBBCfAyAEQfDVICAaKwMAIiwQ4QQQnwMgBEHw1SAgGysDACIrEOEEEJ8DIARB8NUgIAorAwAiKBDhBBCfAyAEQfDVICALKwMAIikQ4QQQnwMgBEGB8xwQbBoFIARB8NUgIAorAwAiKiAooSItIAKiIAsrAwAiKCApoSIpIAOioBDhBBCfAyAEQfDVICAtICyiICkgK6KgEOEEEJ8DIARBhvMcEGwaICghKSAqISgLIAUgCSAMIA4gEyAhICIgEiAjEI0PGiASKAIAIgdBAUgEQCASQQg2AgBBCCEHCyAHIAFHBEAgHCAHNgIAIAZBFEGL8xwgHBCoARogBCAGEGwaIAchAQsCfyAFQQJBAyAFKAIAKAIcQf8AcUGQBGoRAgAhJyAFQQBBAyAFKAIAKAIcQf8AcUGQBGoRAgAhFSAJQdPV+QAQhQFBACEAA0ACQCAFQQQgBSgCACgCIEH/AXFBkAJqEQEAIg8EQCAPLAAABEAgDCAPEPMVICUoAgAhFiAMKAIAIREDQCARIBZHBEAgESgCACAOEPIVBEAgCSAOEGwaIABBAWohAAsgEUEEaiERDAELCyAMELoCCwsgBUEEIAUoAgAoAhRB/wFxQZACahEBABogDxBMIAVBABDZAg0AIAVBAyAFKAIAKAIYQf8BcUGQAmoRAQBFDQELCyAAQQBKIA0rAwAiKkQAAAAAAAAAAGRxBEAgBEHT1fkAICpEAAAAAAAAWUCiIAcgAGy3oxDhBEQAAAAAAAAAQKIQnwMgBEGZ8xwQbBogBEGd8xwQbBogBCAJEKMCGiAEQaLzHBBsGgsgJwsEQCAEQanzHBBsGgsgFQRAIARBrPMcEGwaCyAJEFggECEHQQAhAAwBCwtBfyAEEN8BIgBBAWogAEF/SBsQTyIAIAQQXRDfBxogBQRAIAUgBSgCACgCBEH/A3FBogdqEQAACyAEEFggBiQGIAALzAEBBn8jBiEGIwZBIGokBiAGIQMgACgCACICRQRAIANB2+scNgIAIANBmAE2AgRBrLEWQbjrHEECQcfrHCADEFEgACgCACECCyADQRBqIQQgA0EIaiEFAkAgAiwAABC2BCIBRQRAQffrHCAFEEtBACEBA0AgACgCACECIAFBBU8EQEEBIQEMAwsgAiABaiwAACIFBH8gBCABNgIAIAQgBTYCBEGZ7BwgBBBLIAFBAWohAQwBBUEBCyEBCwsLIAAgAiABajYCACADJAYgAAuAAQEFfyMGIQEjBkEwaiQGIAAoAgAiAkUEQCABQdvrHDYCACABQaYBNgIEQayxFkG46xxBAkHH6xwgARBRIAAoAgAhAgsgAUEIaiEEIAFBDGohAyACLAAAELYEIgAEfyADIAIgABDuByADEKcJBUG97BwgBBBLQSALIQUgASQGIAULIgECfyMGIQEjBkEQaiQGIAEgABBQIAEoAgAhAiABJAYgAgslAQJ/IwYhAiMGQRBqJAYgAiAAIAFqEFAgAigCACEDIAIkBiADC0wBAn8jBiECIwZBIGokBiAAKAIIIAAoAgAiA2tBAnUgAUkEQCACIAEgACgCBCADa0ECdSAAQQhqEPEFIAAgAhCSGSACEKoFCyACJAYLywUBDn8jBiEEIwZB8BBqJAYgBEHgEGohByAEQdgQaiEMIARB0BBqIQ0gBEHAEGohAyAEQbgQaiEGIARBsBBqIQogAEEgaiILEKADKAIAIQEgC0ECEE0gATYCACAEQaAQaiIIQQI2AgACQCAEQSBqIgFBgBBB3egcIAgQqAFB/w9LBEBBACEABSAAIAEQpgQgAEE0aiEFIAEQYyEJA0AgAgJ/IAUoAgAiDiAOQX9KDQAaQeDsHEHQhB1BzgBB8OwcEAFBAAtJBEAgCiAFIAIQTSgCADYCACABQYAQQYTpHCAKEKgBQf8PSwRAQQAhAAwEBSAAIAEQpgQgAkEBaiECIAEQYyAJaiEJDAILAAsLIAYgBSgCADYCACABQYAQQY3pHCAGEKgBQf8PSwRAQQAhAAUgACABEKYEIAEQYyAJaiECIAsQoAMiBSACIAUoAgBqNgIAIAZBpukcEIUBIAggABDqGhDzFSAIKAIEIQUgCCgCACECA0AgAiAFRwRAIAIoAgAgBBDyFQRAIAYgBBBsGgsgAkEEaiECDAELCxDMFCECIABBHGoiBSgCACEJIAYQXSEKIAMgCTYCACADQYXrHDYCBCADIAI2AgggAyAKNgIMIAFBgBBBq+kcIAMQqAEhAyACEIQBAn8gA0H/D0sEf0EABSAAIAEQ5AUgDSAFKAIANgIAIAFBgBBBg+ocIA0QqAFB/w9LBH9BAAUgACABEKYEQQEhAwNAIAMgBSgCACICSARAIAwgCyADEE0oAgA2AgBBACABQYAQQaPqHCAMEKgBQf8PSw0EGiAAIAEQpgQgA0EBaiEDDAELCyALEKADKAIAIQMgByACNgIAIAdBATYCBCAHIAJBf2o2AgggByADNgIMIAFBgBBBtOocIAcQqAFB/w9LBH9BAAUgACABEKYEQQELCwsLIQAgCBC6AiAGEFgLCwsgBCQGIAALqQQCDH8CfCMGIQMjBkHAIGokBiADQbAgaiEEIANBiCBqIQIgA0GAIGohBiADQYAQaiEFIANBuCBqIQsgASgCBEGgyghqKAIAIQkgASgCJBDxFSEMIAlFIAEoAhQoAhwiB0EBSHIEQEEAIQAFIAkQvgG3RAAAAAAAAFJAoiAHtyIOoyEPIAkQpQG3RAAAAAAAAFJAoiAOoyEOIAYgAEEcaiIHKAIAQQJqNgIAIANBgBBBku0cIAYQqAEaQdPV+QAgAyAAQdQAaiINLAAAGyEIIAIgBygCACIKNgIAIAJBAjYCBCACIA85AwggAiAOOQMQIAIgCkEBajYCGCACIAg2AhwgAkEDNgIgIAVBgBBBr+0cIAIQqAFB/w9LBEBBACEABSAAQTRqIAcoAgAQuQEgACAFEOQFIAAgASAPIA4Q1SkiCiAKEGMgAhDADiEIIAIoAgAhAiAEIAcoAgA2AgAgBCACNgIEIAVBgBBBh+8cIAQQqAFB/w9LBH8gCBCEAUEABSAAIAUQpgQgBCAFEGMiBTYCACAAIAggAhCrCiAIEIQBIABBwu8cEKYEIAQgBSACakERaiICNgIAIAAgAhDSCSANLAAABH9BAQUgBkEANgIAIAFB1O8cIAsQsAoaIAkgDCAHKAIAIAYgBCALKAIAENQpBH8gACAGKAIAIAQoAgAQqwogACAEKAIAENIJIAYoAgAQTEEBBUEACwsLIQAgChBMCwsgAyQGIAAL5wYBDH8jBiEBIwZB8BBqJAYgAUHoEGohCCABQeAQaiEJIAFB2BBqIQogAUHAEGohBCABQbgQaiEGIAFBsBBqIQcgAUGgEGohAiABQZgQaiEFIAFBkBBqIQsgAUGAEGoiA0HeATYCACADQa0BNgIEIANBvgE2AgggA0HrATYCDCABQYAQQbDzHCADEKgBQf8PSwRAQQAhAAUgACABEOQFIAtBAjYCACABQYAQQcbzHCALEKgBQf8PSwRAQQAhAAUgACABEOQFIABB09X5ABDkBSAFQQQ2AgAgBUEGNgIEIAFBgBBB/vMcIAUQqAFB/w9LBEBBACEABSAAIAEQ5AUgAkEFNgIAIAJBBzYCBCACQfQDNgIIIAFBgBBBm/UcIAIQqAFB/w9LBEBBACEABSAAIAEQ5AVBgIAIEE8hBUEAIQMDQCADQYCACEcEQCAFIANqIANBAXE6AAAgA0EBaiEDDAELCyAFQYCACCACEMAOIQMgByACKAIANgIAAkAgAUGAEEGM9xwgBxCoAUH/D0sEQCADEIQBQQAhAAUgACABEKYEIAEQYyEHIAAgAyACKAIAEKsKIAIoAgAhAiADEIQBIABBwu8cEKYEIAAgB0ERaiACahDSCSAGQeECNgIAIAZB+vccNgIEIAFBgBBBxfccIAYQqAFB/w9LBEBBACEABSAAIAEQ5AUgBEHoBzYCACAEQegHNgIEIARB9AM2AgggBEHoBzYCDCAEQQg2AhAgAUGAEEHc+hwgBBCoAUH/D0sEQEEAIQAFIAAgARDkBSAAQcgAaiICLAALQQBIBEAgAigCACECCyAKIAI2AgAgAUGAEEGo/BwgChCoAUH/D0sEQEEAIQAFIAFBrvweEOUCIgJFBEAgCSABNgIAQbP8HCAJEEtBACEADAULIAJBAEECEIADGiACEP4DIgRBAEgEQCACEP0BGkEAIQAMBQsgAkEAQQAQgAMaAn8gBBBPIgNBASAEIAIQhAIgBEYhDCACEP0BGiAMCwR/IAggBDYCACAIIAQ2AgQgAUGAEEHM/BwgCBCoAUH/D0sEf0EABSAAIAEQpgQgARBjIQIgACADIAQQqwogAEHC7xwQpgQgACAEQRFqIAJqENIJQQELBUEACyEAIAMQTAsLCwsLIAUQTAsLCwsgASQGIAALCwAgABD0FSAAEEwLlQICCH8CfSMGIQMjBkHgAGokBiADQdgAaiEFIANBPGoiBBBXIAQgABCWASADQThqIgYQVyADQRxqIgggBhCSASAEEFsDQCAEEFlFBEACQAJAIAQQUyIHKAIYKAIEIgBFDQAgACgCDBDuAQ0ADAELIAMQVyADIAdBBGoQlgEgAxBbA0AgAxBZRQRAIAUgAxBTIgkoAgQQ0gEgBRBuIgdB//8DcQRAQwAAgD8gBRBrIgBBEHRBEHWyIAdBEHRBEHWylYsiC5UiDCALIAwgC14bQwAAAEBeIABBEHRBEHVBCkhyRQRAIAggCRC2BgsLIAMQVgwBCwsLIAQQVgwBCwtBACAGIAEgAhDDFiEKIAYQ7wEgAyQGIAoLgwIBC38jBiEDIwZBMGokBiAAQZjKCGoiCSgCACIERQRAIANB+uccNgIAIANBoQE2AgRBjLEWQZfoHEECQcfrHCADEFELIANBCGohBiADQSBqIgpBADYCACADQRxqIgtBATYCACADQRhqIgcQVyADQRRqIggQVwJ/IAQQ2QVBxgBIIQ0gBBDZBSEFIA0LBEAgBiAFNgIAIAZBxgA2AgRBpugcIAYQS0HGACEFCyAFQQAgBCAKIAtBACAHIAgQxhYgA0EQaiIGIARBABDFFiIFNgIAIAUEQCAEIAQgBRDgAxogBhBeCyAAEIgPIAkoAgAgASACELoMIAgQqAQgBxCoBCADJAYLQQEBfyMGIQMjBkEgaiQGIAMgAhBVQeAAEE8iAkHT1fkAQQBBACAAQf//A3EgAUH//wNxEJMHIAMgAhC7ASADJAYLxQIBC38jBiEDIwZBMGokBiADQRhqIgUgABDJASADQSBqIgcQeSAFEF1BLhCOBiIABEAgBSAAIAUQXWsQ3gFBADoAAAsgAkGYyghqIgkoAgAiAEUEQCADQfrnHDYCACADQckBNgIEQYyxFkHc5xxBAkHH6xwgAxBRIAkoAgAhAAsgABC+ASELIAkoAgAQpQEhCiADQRRqIgYQVyADQQxqIgggBRDJAQJ/IAggCiAGELUYIQwgCBBYIAxFCwRAIAsgCiAGEOEpCyADQRBqIggQVyADQQhqIgQQVyACIAYgBBDgKSAEKAIABEAgB0EAEI8CIAdBABC3AiAHIAsQjgIgByAKEKcCIAIQiA8gBBCREAUgAhCIDyAJKAIAIAYgBBC6DAsgBCABIAIQ3ykhDSAEEJIHIAgQkgcgBhDIBiAFEFggAyQGIA0LhgEBBH8gAEGQD2ohBEF/IQMDQCACQfgARwRAAkAgBCgCACACENQGIgVB0OccEMUBBEAgBUHX5xwQxQEEQCADQX9HBEAgAEEQaiABQeADbGogAkECdGoqAgAgAEEQaiABQeADbGogA0ECdGoqAgBeRQ0DCyACIQMLCwsgAkEBaiECDAELCyADCzIAAn8CQAJAAkACQAJAIAAOBAABAgMEC0EADAQLQY4CDAMLQbQBDAILQdoADAELQX8LC4wBAQN/IwYhBSMGQbAPaiQGIAUQmA0gACAFEPYVBH8gBSAFQZQPaigCACIGEOMpIQAgAgRAIAIgBUGgD2ooAgA2AgALIAEEQCABIAZB2gBsNgIACyADBEAgAyAFQZAPaigCACAAENQGNgIACyAEBEAgBCAFQZwPaigCADYCAAtBAQVBAAshByAFJAYgBwutAQIGfwJ8IwYhAiMGQUBrJAYgACACQTRqIgMgAkEwaiIFIAJBLGoiBCACQShqIgYQ5SkEQCADKAIAQdoAEE4Q5CkhB0H/ARBPIQAgAygCACEDIAUqAgC7IQggBCgCACEEIAYqAgC7IQkgAiABNgIAIAIgAzYCBCACIAc2AgggAiAIOQMQIAIgBDYCGCACIAk5AyAgAEH/AUHZ5hwgAhCoARoFQQAhAAsgAiQGIAALpAEBBH8jBiEBIwZBEGokBiABQQhqIQIgAEEMaiIDKAIAKAIQBEAgAhCZASADKAIAKAIQIgMhBCADKAKYAUUEQCABQYrlHDYCACABQTQ2AgRB3JkWQfPkHEECQcfrHCABEFELIAIgBCAAKAIYELoNEOABGkF/IAIQ3wEiAEEBaiIDIABBf0gbEE8iACACEF0gAxDSBBogAhBYBUEAIQALIAEkBiAAC1UBA38gACgCBCIBBEAgACgCICICBEBBxAAQTyIDIAIgASAAKAIUIgEoAhgiAiACIAEoAhwQ2gggAEFAaygCACAAKAJEIAAoAkggACgCTBCjEQsLIAMLzwMBEH8jBiECIwZBMGokBiACQShqIQUgAkEkaiEJIAJBIGohCiACQRxqIQsgAkEYaiEMAn8gACgCBAR/IAAsADhFBEBBACAAQQAQsgVBAEgNAhoLIAAgBRD3FSEDQX8gBSgCAEEfbCADaiINQYgBaiIOIA1B+H5IGxBPIgVBADoAACAAEOgpIQMgAEHUAGohD0EAIQACQAJAAkADQAJ/AkAgA0EEIAkgCiALIAwQogYEfyADEOcpIQdBACEEA0ACQAJAAkAgByAEaiIGLAAAIggEQCAIQSBGBEAMAgUMAwsACwwCCyAGQf4AOgAACyAEQQFqIQQMAQsLIAkoAgAhBCAPKAIAIgYgDCgCAGshCCALKAIAIRAgBiAKKAIAayEGIAIgBzYCACACIAQ2AgQgAiAINgIIIAIgEDYCDCACIAY2AhAgAiABNgIUIAUgAGoiBCAOIABrQcbmHCACEKgBGiAEEGMgAGohACAHEEwgACANSgR/QQAFDAILBQwBCwwBC0EBC0UNASADQQQgAygCACgCFEH/AXFBkAJqEQEADQALDAELIAMNAAwBCyADIAMoAgAoAgRB/wNxQaIHahEAAAsgBQVBAAsLIREgAiQGIBELywYBD38jBiEGIwZBoAFqJAYgBkH8AGohCQJAIABBBGoiDCgCAARAIAAsADhFBEAgAEEAELIFQQBIDQILIABBABD3FSECIAYgACgCIBDYAiACQX8gAkF/ShsQTyEKIAYQsgIgBkEQaiENIAohAEEBIQRBACECA0AgDSgCACIFIgEEQAJAAkACQAJAIAUoAvwBIgcOBAACAgECCyAMKAIAIAEQihsgBUGYAWoiAygCABCXARBdIQcgAygCABD5AiIIEN8BIQsgAgR/IAUoAgQtAAgEf0EAIQFBAAUgBywAAEEgRgR/QQEhASAIQQAQ3gEsAAAFQQAhAUEACwsFQQAhAUEACyEDIAEgC0gEfyAHIANqLAAABH8gBEUEQCAAQSA6AAAgAEEBaiEACyAFQeABaiEOIAEhBANAIAQgC0gEQAJ/AkAgByADaiICLAAAQSBrIgEEQCABQd4ARw0BCyAAQf4AOgAAQQEMAQsgDiAEQf//A3EQwAEQ+AMEQCAAQd4AOgAAIABBAWohAAsgCSACIAggBBDeASwAABDuByAJEKcJIQJBACEBAkACQANAIAFBB0cEQCABQQJ0QZDfCmooAgAgAkYNAiABQQFqIQEMAQsLDAELIAFBAnRBsN8KaigCACECCyAAIAJB/wFxQf4AIAJBgAJIIgIbOgAAIAJBAXNBAXELIQ8gAyAIIAQQ3gEsAABqIQMgBEEBaiEEIA9B/wFxQQBHIQIgAEEBaiEADAEFQQAhA0EAIQQMBgsAAAsABUEACwVBAAshAwwCCwwBCyADBEAgB0EBRwRAQQEhAwwCCyAFKAIEIgEtAAhFBEBBASEDDAILIAFBCxC/AQRAQQEhAwwCCyABQQoQvwEEQEEBIQMMAgsFIAUoAgQhAQsCQAJAIAFBAxC/AQ0AIAEtAAhFDQAgAUELEL8BDQAgAUEKEL8BDQAgAEEgOgAAIABBAWohAAwBCyACBEBBASECDAILCyAAQf4AOgAAQQEhA0EAIQRBASECIABBAWohAAsgBSgCBEEEEL8BBEAgBEUEQCAAQQo6AABBACEDQQAhAiAAQQFqIQALQQEhBAsgBhDPARoMAQsLIABBCjoAACAAQQA6AAELCyAGJAYgCgutCAEMfyMGIQQjBkEgaiQGIARBEGohAiAEQQxqIQogBEEIaiELIARBBGohDCAEIQgCQCAAKAIEBEAgACgCIEUEQCAAQQAQsgVBAEgEQEEAIQAMAwsLIAJB09X5ABCFASACQa/mHCABQQFqIgYQhgEgAkGy5hxBABCGASACQbLmHEEAEIYBIAJBsuYcQQAQhgEgAkGy5hxBABCGASACQbLmHCAAQUBrKAIAEIYBIAJBsuYcIAAoAkQQhgEgAkGy5hwgACgCSBCGASACQbLmHCAAKAJMEIYBIAJBtOYcEGwaIAAQ1gghA0EAIQRBACEBQQAhAANAAkADQCADQQAQ2QINAQJ/IANBAxDZAiENIAMoAgAhBSANCwRAIANBAyAFKAIUQf8BcUGQAmoRAQAaDAELCyADQQAgBSgCGEH/AXFBkAJqEQEABEAgAkG65hwgBhCGASACQbLmHCAAQQFqIgAQhgEgAkGy5hxBABCGASACQbLmHEEAEIYBIAJBsuYcQQAQhgEgA0EAIAIQiQ8gAkG05hwQbBpBACEHQQAhBEEAIQELIANBASADKAIAKAIYQf8BcUGQAmoRAQAEQCACQb3mHCAGEIYBIAJBsuYcIAAQhgEgAkGy5hwgAUEBaiIBEIYBIAJBsuYcQQAQhgEgAkGy5hxBABCGASADQQEgAhCJDyACQbTmHBBsGkEAIQdBACEECyADQQIgAygCACgCGEH/AXFBkAJqEQEABEAgAkHA5hwgBhCGASACQbLmHCAAEIYBIAJBsuYcIAEQhgEgAkGy5hwgBEEBaiIEEIYBIAJBsuYcQQAQhgEgA0ECIAIQiQ8gAkG05hwQbBpBACEHCyADQQMgCiALIAwgCBCiBhogAkHD5hwgBhCGASACQbLmHCAAEIYBIAJBsuYcIAEQhgEgAkGy5hwgBBCGASACQbLmHCAHQQFqIgcQhgEgAkGy5hwgCigCACIFEIYBIAJBsuYcIAsoAgAiCRCGASACQbLmHCAMKAIAIAVrEIYBIAJBsuYcIAgoAgAgCWsQhgEgAkGy5hwgA0EDEIwPEGUQhgEgAkGy5hwQbBogA0ECQQMgAygCACgCHEH/AHFBkARqEQIAGiADQQFBAyADKAIAKAIcQf8AcUGQBGoRAgAaIANBAEEDIAMoAgAoAhxB/wBxQZAEahECABoDQAJAIAIgA0EEIAMoAgAoAiBB/wFxQZACahEBACIFEGwaIAUQTCADQQQgAygCACgCFEH/AXFBkAJqEQEAGiADQQAQ2QINACADQQMgAygCACgCGEH/AXFBkAJqEQEARQ0BCwsgAkHCkx8QbBoMAQsLQX8gAhDfASIAQQFqIABBf0gbEE8iACACEF0Q3wcaIAMEQCADIAMoAgAoAgRB/wNxQaIHahEAAAsgAhBYBUEAIQALCyAIJAYgAAssAQF/IwYhAyMGQRBqJAYgAyABIAKMEKQBIAAgAyoCACADKgIEELUEIAMkBgs0AQJ/IwYhASMGQRBqJAYgACABQQxqIgAgAUEIaiABQQRqIAEQig8gACgCACECIAEkBiACCzsAIAEgACgCBCIAKgIUIABBGGoiASoCAJIgAEEcaiIAKgIAkzgCACACIAAqAgA4AgAgAyABKgIAOAIAC7MCAgl/AXwjBiECIwZBIGokBiACQRxqIQkgAkEYaiEDIAJBFGohBCACQRBqIQogAkEMaiEGIAJBCGohByACQQRqIQggACgCDCgCGBDtKSIFBEAgAUHq5RwgBUGmf2xB6AJqEIYBBSAAQQIgCSADIAQgChCiBhogAEECIAYgByAIIAIQ6QsEQCAGIAYoAgAgCSgCACIAayIDNgIAIAggCCgCACAAayIENgIAIAcgBygCACAKKAIAIgBrIgU2AgAgAiACKAIAIABrIgA2AgAgBCADRwRAIAFB9+UcIAAgBWu3IAQgA2u3oyILRAAAAAAAQI9AohDDA0QAAAAAAECPQKMQnwMgAUHw1SAgBbcgCyADt6KhRAAAAAAAQI9AohDDA0QAAAAAAECPQKMQnwMLCwsgAiQGC1EBAn8jBiEEIwZBMGokBiAEQSBqIQUgABB5IAQgAUE0ahBVIAQQWwNAIAQQWUUEQCAFIAQQUyACIAMQ+BUgACAFELwBGiAEEFYMAQsLIAQkBgvEEwIvfwF9IwYhAyMGQaABaiQGIANBmgFqIRggA0GQAWohAiADQYABaiEIIANBjAFqIQ4gA0HwAGohDyADQeAAaiEQIANB0ABqIREgA0HEAGohEiADQfwAaiEcIANB7ABqIR0gA0HcAGohHiADQZkBaiEfIANBmAFqISAgA0GXAWohJCADQZYBaiElIANBlQFqISYgA0GUAWohJyADQUBrISEgA0E8aiEoIANBMGohByADQSRqIRMgA0EYaiEUIANBDGohFSADIQwCQCAAQQRqIiIoAgAEQCAAKAIgRQRAIABBABCyBUEASARAQQAhAAwDCwsgGEEAOgAAIABB7eAcIBgQoREaIAJB09X5ABCFASAAQSRqIgMoAgBFBEAgAEEAEJEPCyACQfzgHBBsGiAIQgA3AgAgCEEANgIIIAhBlOEcQZThHBBjEMoCIAIgCCABQQFqIglBfxDTCSAIEFQgAkGZ4RwQbBogAygCACIDBEAgDiADEF0QkA8gAiAOEKMCGiAOEFgFIAJBqeEcEGwaCyACQbHhHCAAQUBrKAIAEIYBIAJB8NUgIAAoAkQQhgEgAkHw1SAgACgCSBCGASACQfDVICAAKAJMEIYBIAJBuuEcIAEQhgEgAkHF4RwQbBogB0EEaiEpIAdBBGohKiAAENYIIgRBxABqISsgBEEMaiEjQQEhCEEBIRlBASEaQQEhC0EBIQFBACEAA0ACQANAIARBABDZAg0BAn8gBEEDENkCIS8gBCgCACEDIC8LBEAgBEEDIAMoAhRB/wFxQZACahEBABoMAQsLIARBACADKAIYQf8BcUGQAmoRAQAEQCACQcnhHBBsGiAPQgA3AgAgD0EANgIIIA9B4+EcQePhHBBjEMoCIAIgDyAJIBkQ0wkgDxBUIARBACACEI8PQQEhAQsgBEEBIAQoAgAoAhhB/wFxQZACahEBAARAIAJB6eEcEGwaICssAAAQiQEiA0UEQCACQYHiHBBsGgsgEEIANwIAIBBBADYCCCAQQYziHEGM4hwQYxDKAiACIBAgCSAaENMJIBAQVCAjKAIAKAIQEI4PIgAEQCACQZDiHBBsGiACIAAQbBogAkGY4hwQbBoLIARBASACEI8PBSABIQMLIARBAiAEKAIAKAIYQf8BcUGQAmoRAQAEQCACQZriHBBsGiARQgA3AgAgEUEANgIIIBFBt+IcQbfiHBBjEMoCIAIgESAJIAgQ0wkgERBUIARBAiACEI8PCyAiKAIAQYTKCGooAgAEfyAEIAQoAgAoAiRB/wFxQQZqEQUABUEACyENIAJBvOIcEGwaIBJCADcCACASQQA2AgggEkHb4hxB2+IcEGMQygIgAiASIAkgCxDTCSASEFQgBEEDIA4gHCAdIB4QogYaIAQgHyAgICQgJSAmICcgISAoEI0PIQEgAkHg4hwgDigCABCGASACQfDVICAcKAIAEIYBIAJB8NUgIB0oAgAQhgEgAkHw1SAgHigCABCGASACQe7iHCAEQQMQjA8QZRCGASAYLAAABEAgAQRAIAJB+eIcEGwaIAcgARCQDyACIAcQowIaIAcQWAsgAkGD4xwgISgCABCGAQsgAkGY4hwQbBoCQCAjKAIAKAIQEI4PIgEEQCAABEAgASAAEMUBRQ0CCyACQZDiHBBsGiACIAEQbBogAkGY4hwQbBoLCwJAAkACQCAEELkFQQFrDgIAAQILIANFBEAgAkGO4xwQbBoLDAELIAMEQCACQYHiHBBsGgsLIAJB9NUgEGwaAn8gBEECQQMgBCgCACgCHEH/AHFBkARqEQIAITAgBEEBQQMgBCgCACgCHEH/AHFBkARqEQIAIS0gBEEAQQMgBCgCACgCHEH/AHFBkARqEQIAIS4gHywAAEUiBkUEQCACQZnjHBBsGgsgICwAAEUiBUUEQCACQaLjHBBsGgsDQAJAIARBBCAEKAIAKAIgQf8BcUGQAmoRAQAiAQRAIAEsAAAEQCAHIAEQkA8gAiAHEKMCGiAHEFgLCyAEQQQgBCgCACgCFEH/AXFBkAJqEQEAGiABEEwgBEEAENkCDQAgBEEDIAQoAgAoAhhB/wFxQZACahEBAEUNAQsLIAVFBEAgAkGn4xwQbBoLIAZFBEAgAkGt4xwQbBoLAkAgDUEARyIBICIoAgBBhMoIaigCACIGQQFGcQRAIA1BBGohFkEAIQVBASEKQQEhAQNAIAUgFigCACANKAIAa0EMEE5PDQIgAkG34xwQbBogE0IANwIAIBNBADYCCCATQdjjHEHY4xwQYxDKAiACIBMgCSALIAoQ6wsgExBUIAJB9NUgEGwaIAcgDSgCACAFQQxsahC1CCApKAIAIRsgBygCACEGA0AgBiAbRwRAIAYoAgAhFyAGKgIEITEgAkHp4xwQbBogFEIANwIAIBRBADYCCCAUQYHkHEGB5BwQYxDKAiACIBQgCSALIAEQ6wsgFBBUIAJBiOQcIDFDAADIQpQQZRCGASACQZjiHBBsGiACQfTVIBBsGiACIBcQbBogAkHh4xwQbBogAUEBaiEBIAZBCGohBgwBCwsgAkHh4xwQbBogBxC6AiAFQQFqIQUgCkEBaiEKDAAACwAFIAEgBkECRnEEQCANQQRqIRtBACEKQQEhBkEBIQEDQCAKIBsoAgAgDSgCACIFa0EMEE5PDQMgByAFIApBDGxqELUIIAcoAgAiBSEWICooAgAiFyAFRwRAIAJBt+McEGwaIBVCADcCACAVQQA2AgggFUGZ5BxBmeQcEGMQygIgAiAVIAkgCyAGEOsLIBUQVCACQabkHBBsGiACIBYoAgAQbBogAkGw5BwQbBogFyAFa0EDdSEXQQEhBQNAIAUgF0kEQCACQenjHBBsGiAMQgA3AgAgDEEANgIIIAxBgeQcQYHkHBBjEMoCIAIgDCAJIAsgARDrCyAMEFQgAkGI5BwgFiAFQQN0aioCBEMAAMhClBBlEIYBIAJBmOIcEGwaIAJB9NUgEGwaIAIgFiAFQQN0aigCABBsGiACQeHjHBBsGiAFQQFqIQUgAUEBaiEBDAELCyACQeHjHBBsGiAGQQFqIQYLIAcQugIgCkEBaiEKDAAACwALCwsgAkHh4xwQbBogMAsEQCACQbPkHBBsGiAIQQFqIQgLIC0EfyACQcHkHBBsGiAaQQFqIRpBAQUgAwshASAuBEAgAkHM5BwQbBogGUEBaiEZCyALQQFqIQsMAQsLIAJB1+QcEGwaQX8gAhDfASIAQQFqIABBf0gbEE8iACACEF0Q3wcaIAQEQCAEIAQoAgAoAgRB/wNxQaIHahEAAAsgAhBYBUEAIQALCyAMJAYgAAubAQEBfCAAIAE2AgBBACEBA0AgAUGABEcEQCAAQQRqIAFqRAAAAAAA4G9AIAFBEnS4RAAAAAAAAPA+okQAAAAAAADwPqJEAAAA4FG4fj+jIgIgAqJEAAAAAAAA8D+go0QAAAAAAADgP6AQWjoAACABQQFqIQEMAQsLIABB/wM2AoQEIABBADYCiAQgAEESNgKMBCAAQf//ADYCkAQLPgEDfyAAQQhqIQMDQCABIAAoAgBIBEAgAygCACABQQJ0aigCACICBEAgAhDsCyACEEwLIAFBAWohAQwBCwsLPQEBfyMGIQIjBkEQaiQGIAAoAgQhACACIAEpAgA3AgAgAiABKQIINwIIIAIgAEH/A3FBogdqEQAAIAIkBgtCAQF/IwYhAiMGQRBqJAYgACgCBCEAIAIgASkCADcDACACQQhqIgEgAikCADcCACABIABB/wNxQaIHahEAACACJAYLEgEBfyAAKAIEIgEEQCABEEwLC20BA38CQCAAKAIAIgIgASgCAEYEQCAAKAIEIQMgASgCBCEEQQAhAANAIAAgAk4EQEEBIQAMAwsgAEEBaiEBIAMgAEECdGooAgAgBCAAQQJ0aigCAEYEfyABIQAMAQVBAAshAAsFQQAhAAsLIAALIgEBfyAAKAIMIgEEQCABEPMpIAEQaCABEEwLIAAoAgAQTAstAQF/IAAQmQEgAEEANgIEA0AgAEEIaiABQRRsahCqASABQQFqIgFBAkcNAAsL7QYBAn8jBiEEIwZBEGokBiAAQQBB87QcQY61HEEAIAJBIGoiAygCABBzEH4gAEEYakEAQam1HEHBtRxBASADKAIAEHMQYCAAQShqQQhB7rUcQYm2HEEAIAMoAgAQcxB+IABBQGtBCkG0thxB4bYcQQAgAygCABBzEH4gAEHYAGpB9ANB27ccQYC4HEEAIAMoAgAQcxB+IABB8ABqRI3ttaD3xrA+Qbe4HEHXuBwgAygCABBzEGEgAEGYAWpEAAAAAAAARMBBwLkcQeS5HCADKAIAEHMQYSAAQcABakEAQZi6HEHGuhxBACADKAIAEHMQYCAAQdABakS4HoXrUbieP0GZuxxBu7scIAMoAgAQcxBhIABB+AFqRAAAAAAAADBAQYe8HEGqvBwgAygCABBzEGEgAEGgAmpBAUGGvRxBtL0cQQAgAygCABBzEGAgAEGwAmpBA0HRvRxB9L0cQQAgAygCABBzEH4gAEHIAmpEmpmZmZmZuT9Blb4cQb++HCADKAIAEHMQYSAAQfACakQzMzMzMzPDP0H1vhxBmr8cIAMoAgAQcxBhIABBmANqRJqZmZmZmck/Qbu/HEHXvxwgAygCABBzEGEgAEHAA2pEmpmZmZmZuT9B/L8cQZjAHCADKAIAEHMQYSAAQegDakQAAAAAAADgP0G2wBxB1MAcIAMoAgAQcxBhIABBkARqRDMzMzMzM9M/QfTAHEGUwRwgAygCABBzEGEgAEG4BGpEAAAAAAAAAABBvMEcQdjBHCADKAIAEHMQYSAAQeAEakSamZmZmZmpP0H2wRxBlcIcIAMoAgAQcxBhIABBiAVqRHsUrkfheoQ/QbbCHEHXwhwgAygCABBzEGEgAEGwBWpBAEHpwhxBh8McQQAgAygCABBzEH4gAEHIBWpBAEGdwxxBxMMcQQEgAygCABBzEGBBFBBPIgNCADcDACADQgA3AwggA0EANgIQIAMQ9QQgAEHYBWpBACADQQAQpwogACABNgLsBSAAQfAFaiIBIAI2AgAgAEEAOgD0BSAAQwAAAAA4AvgFIABB/AVqEJkBIABBhAZqEPUEIABBmAZqEPUEIABBADoArAYgAEGwBmoQ+SkgASgCAEUEQCAEQePBGDYCACAEQYcBNgIEQdSqFkHmwxxBAkHH6xwgBBBRCyAEJAYLmQ0BB38gABCGFiAAQcCcFjYCACAAQcSaFjYCACAAQZiXFjYCACAAQdQCakEBQffDHEGLxBxBACAAEHMiARBgIABB5AJqQQBBqMQcQbzEHEEAIAEQYCAAQfQCakEAQePEHEH5xBxBACABEH4gAEGMA2pBAUH2gx1BkcUcQQAgARBgIABBnANqIgRBAEGsxRxBwcUcQQAgARB+IABBtANqQQFB1sUcQevFHEEAIAEQfiAAQdADakSamZmZmZnJP0GGxhxBn8YcIAEQYSAAQfgDakQAAAAAAAAAAEHBxhxB28YcIAEQYSAAQaAEakTNzMzMzMzUP0H1xhxBj8ccIAEQYSAAQcgEakQAAAAAAAAAAEGpxxxBw8ccIAEQYSAAQfAEakTNzMzMzMzUP0HdxxxB98ccIAEQYSAAQZgFakQAAAAAAAD4P0GRyBxBq8gcIAEQYSAAQcAFakQAAAAAAAAWQEHRyBxB78gcIAEQYSAAQegFakEAQZ7JHEGvyRxBACABEGAgAEH4BWpBAEHNyRxB3skcQQAgARBgIABBiAZqQQFB+8kcQZHFHEEAIAEQYCAAQZgGakEAQZzKHEG/yhxBACABEGAgAEGoBmpBAEHkyhxBhMscQQAgARBgIABBuAZqQQBBpcscQcfLHEEAIAEQYCAAQcgGakEAQd3LHEH1yxxBACABEGAgAEHYBmpBAEGdzBxBscwcQQAgARB+IABB8AZqQQBBxcwcQdnMHEEAIAEQfiAAQYgHakEAQe3MHEGLzRxBACABEH4gAEGgB2pEAAAAAAAAwD9Bos0cQbnNHCABEGEgAEHIB2pEAAAAAAAAAABBys0cQevNHCABEGEgAEHwB2pEexSuR+F6lD9B/c0cQZfOHCABEGEgAEGYCGpEMzMzMzMzwz9Bq84cQcHOHCABEGEgAEHACGpEmpmZmZmZuT9B1c4cQevOHCABEGEgAEHoCGpEAAAAAAAAKEBBhc8cQZzPHCABEGEgAEGQCWpBAUGzzxxB0c8cQQAgARB+IABBqAlqQQNB7M8cQZHQHEEAIAEQfiAAQcAJakEFQavQHEHX0BxBACABEH4gAEHYCWpEuB6F61G4jj9BktEcQbXRHCABEGEgAEGACmpEAAAAAAAAAABB4tEcQf/RHCABEGEgAEGoCmpEAAAAAAAA+D9B1dIcQeLSHCABEGEgAEHQCmpEAAAAAAAANEBB+NIcQYjTHCABEGEgAEH4CmpEAAAAAAAAcD9BodMcQbvTHCABEGEgAEGgC2pEAAAAAAAABEBB3tMcQf7THCABEGEgAEHIC2pEAAAAAAAA8L9ButQcQd3UHCABEGEgAEHwC2pB5gFBl9UcQbbVHEEAIAEQfiAAQYgMakHmAUHm1RxBh9YcQQAgARB+IABBoAxqQQFBudYcQdXWHEEAIAEQYCAAQbAMakQAAAAAAAAIwEGZ1xxB0tccIAEQYSAAQdgMakEAQabYHEHJ2BxBACABEGAgAEHoDGpBAEGF2RxBpNkcQQAgARBgIABB+AxqQdPV+QBBh9ocQaDaHEEAIAEQxAIgAEGQDWpB5QFBvNocQdzaHEEAIAEQfiAAQagNakEPQfnaHEGa2xxBACABEH4gAEHADWpBB0HA2xxB3NscQQAgARB+IABB2A1qQQpBgtwcQabcHEEAIAEQfiAAQYwOakEBOgAAIABBlA5qIgIQsRYgAEGsDmoiAyIFEL4DIAVBADYCFCAAQcQOakEAQczcHEHe3BxBACABEH4gAEHcDmpBAEGG3RxBoN0cQQAgARBgIABB8A5qRDMzMzMzM9M/QcPdHEHa3RwgARBhIABBmA9qRAAAAAAAACRAQfHdHEGI3hwgARBhIABBwA9qIAQQ8ikgAEH4E2pBADYCACAAQYAUaiAAEJIWIABBgB5qQQA2AgAgAEGIHmoQmQEgAEGInghqEPkVIAIQsBYQrxYgAiEGQQgQTyIBIgJBgLEWNgIAIAJB7LAWNgIAIAJBugI2AgQgBiABNgIMQQgQTyIBIgJB2LAWNgIAIAJBxLAWNgIAIAJB5AA2AgQgAyABNgIQIAMgATYCFCADIQdBCBBPIgEiA0GwsBY2AgAgA0GcsBY2AgAgA0G5AjYCBCAHIAE2AgwgAEGQDmpBADYCACAAQYQeakEANgIAIABBnJ4IakEANgIAIABBoJ4IakEANgIAIABBpJ4IakEANgIAIABB8A1qIgBCADcDACAAQgA3AwggAEIANwMQIABBADYCGAtDACAAQZSYFjYCACAAQQA2AgQgAEEANgIYIABBADYCCCAAQX82AhwgAEEAOgAgIABBADYCFCAAQQA2AgwgAEEANgIQC/ETACAAIAE2AgAgAEEEahCYASAAQQA6AAggAEEMakEAQc+CHEHqghxBACAAKAIAEHMQYCAAQRxqQQBBloMcQamDHEEAIAAoAgAQcxBgIABBLGpBAEHGgxxB4oMcQQAgACgCABBzEGAgAEE8akEBQayEHEHEhBxBACAAKAIAEHMQYCAAQcwAakEAQemEHEGHhRxBACAAKAIAEHMQYCAAQdwAakEAQdOFHEGpgxxBACAAKAIAEHMQYCAAQewAakEAQemFHEH9hRxBACAAKAIAEHMQYCAAQfwAakEBQZuGHEG2hhxBACAAKAIAEHMQYCAAQYwBakEBQc+GHEG2hhxBACAAKAIAEHMQYCAAQZwBakEBQeiGHEG2hhxBACAAKAIAEHMQYCAAQawBakEBQYOHHEG2hhxBACAAKAIAEHMQYCAAQbwBakEBQZ2HHEG+hxxBACAAKAIAEHMQYCAAQcwBakEAQeiHHEGGiBxBACAAKAIAEHMQYCAAQdwBakEAQZOIHEGoiBxBACAAKAIAEHMQYCAAQewBakEBQcKIHEHXiBxBACAAKAIAEHMQYCAAQfwBakEBQYOJHEGbiRxBACAAKAIAEHMQYCAAQYwCakEBQbyJHEGbiRxBACAAKAIAEHMQYCAAQZwCakEAQc6JHEHliRxBACAAKAIAEHMQYCAAQawCakEAQYuKHEGiihxBACAAKAIAEHMQYCAAQbwCakEBQceKHEHfihxBACAAKAIAEHMQYCAAQcwCakEBQeyKHEHfihxBACAAKAIAEHMQYCAAQdwCakEAQYSLHEGYixxBACAAKAIAEHMQYCAAQewCakEAQbWLHEHGixxBACAAKAIAEHMQfiAAQYQDakEDQdGLHEH2ixxBACAAKAIAEHMQfiAAQZwDakEKQYyMHEGhjBxBACAAKAIAEHMQfiAAQbQDakEoQceMHEHYjBxBACAAKAIAEHMQfiAAQcwDakEUQYqNHEGZjRxBACAAKAIAEHMQfiAAQeQDakEBQciNHEHbjRxBACAAKAIAEHMQfiAAQYAEakQAAAAAAAAAQEH0jRxBjY4cIAAoAgAQcxBhIABBqARqRAAAAAAAAAAAQdKOHEHnjhwgACgCABBzEGEgAEHQBGpEAAAAAAAAAABBh48cQeeOHCAAKAIAEHMQYSAAQfgEakQzMzMzMzPTP0GcjxxBsY8cIAAoAgAQcxBhIABBoAVqRLgehetRuN4/Qc2PHEHmjxwgACgCABBzEGEgAEHIBWpEpHA9Ctej4D9Bg5AcQZaQHCAAKAIAEHMQYSAAQfAFakQAAAAAAAAAAEGwkBxBx5AcIAAoAgAQcxBhIABBmAZqRDMzMzMzM+M/QeKQHEH6kBwgACgCABBzEGEgAEHABmpEAAAAAAAA4D9Bl5EcQfqQHCAAKAIAEHMQYSAAQegGakQK16NwPQrnP0GwkRxB+pAcIAAoAgAQcxBhIABBkAdqRI/C9Shcj+o/QcmRHEHZkRwgACgCABBzEGEgAEG4B2pEAAAAAAAAAEBB9JEcQYqSHCAAKAIAEHMQYSAAQeAHakTNzMzMzMz0P0GlkhxBipIcIAAoAgAQcxBhIABBiAhqRAAAAAAAAARAQbuSHEGKkhwgACgCABBzEGEgAEGwCGpEAAAAAAAA8L9B0ZIcQeaSHCAAKAIAEHMQYSAAQdgIakQAAAAAAAAMQEH1khxB5pIcIAAoAgAQcxBhIABBgAlqRJqZmZmZmfk/QY+THEGekxwgACgCABBzEGEgAEGoCWpEzczMzMzM5D9Bu5McQdKTHCAAKAIAEHMQYSAAQdAJakQAAAAAAAACQEH9kxxBlJQcIAAoAgAQcxBhIABB+AlqRB+F61G4HtU/QbeUHEHPlBwgACgCABBzEGEgAEGgCmpEAAAAAAAACEBB7pQcQYuVHCAAKAIAEHMQYSAAQcgKakQAAAAAAADgP0GjlRxBupUcIAAoAgAQcxBhIABB8ApqRAAAAAAAAOA/QcuVHEHilRwgACgCABBzEGEgAEGYC2pEAAAAAAAA+D9B85UcQYeWHCAAKAIAEHMQYSAAQcALakSamZmZmZkBQEGxlhxByZYcIAAoAgAQcxBhIABB6AtqROxRuB6F69E/QeiWHEGBlxwgACgCABBzEGEgAEGQDGpEAAAAAAAAFEBBoZccQbmXHCAAKAIAEHMQYSAAQbgMakQAAAAAAAAAAEHalxxB7JccIAAoAgAQcxBhIABB4AxqRFK4HoXrUcg/QZqYHEGtmBwgACgCABBzEGEgAEGIDWpEAAAAAAAA8L9B0ZgcQfGYHCAAKAIAEHMQYSAAQbANakQAAAAAAAAAAEGZmRxBq5kcIAAoAgAQcxBhIABB2A1qRJqZmZmZmck/QdmZHEHumRwgACgCABBzEGEgAEGADmpEAAAAAAAA6D9BkpocQbSaHCAAKAIAEHMQYSAAQagOakEAQdKaHEHlmhxBACAAKAIAEHMQYCAAQbgOakEAQf6aHEGRmxxBACAAKAIAEHMQYCAAQcgOakEAQaibHEGRmxxBACAAKAIAEHMQYCAAQdgOakEHQbubHEHSmxxBACAAKAIAEHMQfiAAQfAOakEAQeabHEH9mxxBACAAKAIAEHMQfiAAQYgPakQAAAAAAMBXQEGSnBxBq5wcIAAoAgAQcxBhIABBsA9qRGZmZmZmZuY/QcacHEHfnBwgACgCABBzEGEgAEHYD2pEAAAAAAAANEBBgp0cQZ2dHCAAKAIAEHMQYSAAQYAQakQAAAAAAADoP0G4nRxBzZ0cIAAoAgAQcxBhIABBqBBqRM3MzMzMzOw/QeydHEHNnRwgACgCABBzEGEgAEHQEGpBCkGDnhxBnp4cQQAgACgCABBzEH4gAEHoEGpEAAAAAAAA4D9Bup4cQdKeHCAAKAIAEHMQYSAAQZARakEQQfCeHEGJnxxBACAAKAIAEHMQfiAAQagRakQAAAAAAAAAQEGlnxxBvZ8cIAAoAgAQcxBhIABB0BFqQQFB3J8cQfOfHEEAIAAoAgAQcxBgIABB4BFqQQFBi6AcQaGgHEEAIAAoAgAQcxBgIABB8BFqRJqZmZmZmck/QbigHEHOoBwgACgCABBzEGEgAEGYEmpEmpmZmZmZ2T9B86AcQYmhHCAAKAIAEHMQYSAAQcASakQAAAAAAACQP0GtoRxBwqEcIAAoAgAQcxBhIABB6BJqQQFB96EcQY2iHEEAIAAoAgAQcxB+IABBgBNqRAAAAAAAABhAQaqiHEG9nxwgACgCABBzEGEgAEGoE2pBAEHBohxB1aIcQQAgACgCABBzEGAgAEG4E2pEAAAAAAAAAABB8KIcQYmjHCAAKAIAEHMQYSAAQeATakR7FK5H4fojQEGcoxxBtqMcIAAoAgAQcxBhC0kAIABBADYCECAAQQA2AhQgAEIANwIAIABBADYCCCAAQQA7AQwgAEEYahCZASAAQQA6ABwgAEEBOgAdIABBADoAHiAAQQE6AB8L3wgBA38gABD7KSAAQYCXFjYCACAAQaieCGpBAUHRoxxB66McQQAgABBzIgEQYCAAQbieCGpBAEGzpBxBxKQcQQAgARBgIABByJ4IakEBQeOkHEH4pBxBACABEGAgAEHYnghqQQBBiqUcQZulHEEAIAEQYCAAQeieCGpEAAAAAAAA8D9Bk6YcQaemHCABEGEgAEGQnwhqQQBBwKYcQdimHEEAIAEQYCAAQaCfCGpBAUGRpxxBqKccQQAgARB+IABBuJ8IakQAAAAAAAACwEHGpxxB46ccIAEQYSAAQeCfCGpBAEHzpxxB/qccQQAgARB+IABB+J8IakEBQYmoHEGVqBxBACABEGAgAEGIoAhqQQBBoagcQbWoHEEAIAEQYCAAQZigCGpBkM4AQcSoHEHWqBxBACABEH4gAEGwoAhqQQJB46gcQfaoHEEAIAEQfiAAQcigCGpBBkGEqRxBnKkcQQAgARB+IABB4KAIakGWAUG8qRxB0KkcQQAgARB+IABB+KAIakEBQfGpHEGEqhxBACABEGAgAEGIoQhqQU5BlqocQaiqHEEAIAEQfiAAQaChCGpB0A9BvqocQdSqHEEAIAEQfiAAQbihCGpEAAAAAAAA4D9B5aocQfqqHCABEGEgAEHgoQhqRM3MzMzMzOw/QZKrHEGkqxwgARBhIABBiKIIakQzMzMzMzPDP0G9qxxBzqscIAEQYSAAQbCiCGpB2gBB5qscQf2rHEEAIAEQfiAAQciiCGpEuB6F61G4rj9B3KwcQfCsHCABEGEgAEHwoghqRAAAAAAAABRAQYutHEGirRwgARBhIABBmKMIakQAAAAAAABZQEG6rRxByK0cIAEQYSAAQcCjCGpEAAAAAAAASUBB160cQeetHCABEGEgAEHoowhqQQNB+K0cQYiuHEEAIAEQfiAAQYCkCGpBAEGdrhxBsq4cQQAgARB+IABBmKQIakEAQdCuHEHwrhxBACABEGAgAEGopAhqQQBBpK8cQbivHEEAIAEQfiAAQcCkCGpBBEHQrxxB6K8cQQAgARB+IABB2KQIakEAQZGwHEGtsBxBACABEGAgAEHopAhqQQBB7LAcQYGxHEEAIAEQYCAAQfikCGpBAEGdsRxBsLEcQQAgARBgIABBiKUIakEAQdCxHEHmsRxBACABEH4gAEGgpQhqQdAPQfyxHEGWshxBACABEH4gAEG4pQhqQRRByLIcQe2yHEEAIAEQfiAAQdClCGpEAAAAAAAAAEBB2bMcQfWzHCABEGEgAEH4pQhqQQFBnbQcQa60HEEAIAEQYCAAQYimCGoiAkEANgIAIABBjKYIakMAAAAAOAIAIABBlKYIahCqASAAQZCmCGpBADYCAEHgBhBPIQMgACAAKAIAKAIIQf8BcUEGahEFACEBIAMgABD0BiABEPopIAIoAgAhASACIAM2AgAgAQRAIAEQ9BEgARBMCyAAQaimCGpBADYCACAAQaymCGpBADYCAAvRAQEEfyMGIQQjBkEQaiQGAkAgASAEQQRBARDwAUEBRgRAIAAgBCgCABClDyABIABBBEEBEPABQQFGBEAgAkUEQCABIAAoAghBECAAKAIAEPABGgwDCyAAQQhqIQUCQANAIAMgACgCAE4NASADQQFqIQYgAiABIAUoAgAgA0EEdGogAigCACgCCEH/AHFBkARqEQIABEAgBiEDDAELCyACIAIoAgAoAgRB/wNxQaIHahEAAAwDCyACIAIoAgAoAgRB/wNxQaIHahEAAAsLCyAEJAYLaQECfyMGIQMjBkEQaiQGAkACQCAAQQxqIgQoAgAiAEUNACAAKAIAIAFMDQAMAQsgA0H5pBs2AgAgA0HRADYCBEHorxZBwqQbQQJBx+scIAMQUSAEKAIAIQALIAAgARBNIAI2AgAgAyQGCzMBAn8jBiECIwZBEGokBkEUEE8iAxCyASAAIAM2AgwgAkEANgIAIAMgASACEMAFIAIkBgvRAQEEfyMGIQQjBkEQaiQGAkAgASAEQQRBARDwAUEBRgRAIAAgBCgCABDzBSABIABBBEEBEPABQQFGBEAgAkUEQCABIAAoAghBCCAAKAIAEPABGgwDCyAAQQhqIQUCQANAIAMgACgCAE4NASADQQFqIQYgAiABIAUoAgAgA0EDdGogAigCACgCCEH/AHFBkARqEQIABEAgBiEDDAELCyACIAIoAgAoAgRB/wNxQaIHahEAAAwDCyACIAIoAgAoAgRB/wNxQaIHahEAAAsLCyAEJAYLOwEBfyAAIAFBARCCAgR/IAFBfyABKAIAIgFBAnQgAUH/////A0sbEE8iAjYCBCAAIAIgARCCAgVBAAsL1AIBB38jBiEDIwZBEGokBiADQQhqIQYCfyAAIANBDGoiBEEBEIICBH8gBCgCACICQX9MBEAgA0GjpBs2AgAgA0GsATYCBEHorxZBlaQbQQJBx+scIAMQUSAEKAIAIQILIAIEfyABIAIQgioCQAJAA0BBASAFIAQoAgBODQUaQSwQTyICQgA3AwAgAkIANwMIIAJCADcDECACQgA3AxggAkIANwMgIAJBADYCKCACQQRqEKoBIAJBGGoQ+RUgACACEJ0PRQ0BIAAgAkECahCdD0UNASAAIAZBARCCAkUNASAGKAIAIgdBAEgEQCACEOwLIAIQTAUgBwRAIAJBBGogABD+FUUNBCACQRhqIAAQgBZFDQQLIAEgBSACEIEqCyAFQQFqIQUMAAALAAsgAhDsCyACEExBAAwDCyACEOwLIAIQTEEABUEBCwVBAAsLIQggAyQGIAgLXQEEfyMGIQIjBkEQaiQGIAAgAhDlCAR/IAEgAigCACIEQQFqEE8iAzYCACAAIAMgBBD5BAR/IAMgAigCAGpBADoAACAAIAFBBGoQ5QgFQQALBUEACyEFIAIkBiAFC1gBA38gAEEANgIAQeQAEE8iAUEENgIAIAFB5ABqIQIgAUEEaiIDIQEDQCABEJIPIAFBGGoiASACRw0ACyAAIAM2AgggAEEENgIEIABBADYCDCAAQQA2AhAL+AEBBX8gAUEBSCAAQQRqIgYoAgAgAU5yRQRAQX8gAUEEIAFBBEobIgNBGGwiAUEEaiADQarVqtUASyABQXtLchsQTyIBIAM2AgAgAUEEaiEEIAMEQCAEIANBGGxqIQIgBCEBA0AgARCSDyABQRhqIgEgAkcNAAsLIABBCGohBUEAIQEDQCAFKAIAIQIgASAAKAIASARAIAQgAUEYbGogAiABQRhsahD9FRogAUEBaiEBDAELCyACBEAgAkF8aiIBKAIAIgAEQCACIABBGGxqIQADQCAAQWhqIgAQaCAAIAJHDQALCyABEEwLIAUgBDYCACAGIAM2AgALC0IBAX8gACABEIgqIAAgATYCACAAQQhqIQNBACEAA0AgACABSARAIAMoAgAgAEEYbGogAhD9FRogAEEBaiEADAELCwucAQEEfyMGIQIjBkEgaiQGIAEgAkEYaiIDQQRBARDwAUEBRgRAIAIQkg8gACADKAIAIAIQiSogAEEIaiEEQQAhAAN/An9BASAAIAMoAgBODQAaIABBAWohBSABIAQoAgAgAEEYbGoiAEEUakEBEIICBH8gACABEP4VBUEACwR/IAUhAAwCBUEACwsLIQAgAhBoBUEAIQALIAIkBiAACzsBAn8jBiECIwZBEGokBiABIAIQ2RsEfyAAIAIsAABBAEc6AAAgAEEIaiABEIoqBUEACyEDIAIkBiADC3YBBH8jBiEDIwZBEGokBgJ/IAEgA0EBQQEQxgJBAUYEfyADLAAARQRAIABBABC5AUEBDAILQRwQTyICIgRBfzYCBCAEQQhqEIcqIAIgARCLKgR/IAAgAhC5AUEBBSACEMcNIAIQTEEACwVBAAsLIQUgAyQGIAULUAEDfyAAQQhqIQMDQCABIAAoAgBIBEAgAygCACABQQJ0aigCACICBEAgAhDHDSACEEwLIAFBAWohAQwBCwsgACgCAEEASgRAIABBADYCAAsLXAEDfyMGIQIjBkEQaiQGAn8gASACQQRBARDwAUEBRgRAIAAgAigCABDtAiAAEI0qA0BBASADIAIoAgBODQIaIANBAWohAyAAIAEQjCoNAAsLQQALIQQgAiQGIAQLhgEBBX8gAUEBSCAAQQRqIgMoAgAgAU5yRQRAIAFBBCABQQRKGyIEQQF0EE8hAiAAKAIAIQUgAEEIaiIGKAIAIQFBACEAA0AgACAFSARAIAIgAEEBdGogASAAQQF0ai4BADsBACAAQQFqIQAMAQsLIAEEQCABEEwLIAYgAjYCACADIAQ2AgALC+wCAgt/A30jBiECIwZBgARqJAYgAkH4A2ohBSACQegDaiEEIAJB4ANqIQYgAkGQA2ohByACQcACaiEIIAFB//8DcSIJQRhsEOwCIQNBACEBA0AgASAJRwRAIAAgAkHAAhDyBEUEQCAGQYWdGzYCACAGQcUANgIEQbyvFkHrnhtBAkHH6xwgBhBRCyAEIAc2AgAgBCAINgIEIAQgAyABQRhsakEEaiIKNgIIIAQgAyABQRhsakEIaiILNgIMIAJBlJ8bIAQQkgJBBEcEQCAFQYWdGzYCACAFQckANgIEQbyvFkGknxtBAkHH6xwgBRBRCyADIAFBGGxqIAcsAAAiDEHjAEY6AAAgAyABQRhsaiAMQeUARzoAASADIAFBGGxqIAsqAgAiDSAKKgIAIg6TIg84AgwgAyABQRhsaiAPQwAAAD+UOAIQIAMgAUEYbGogDSAOkkMAAAA/lDgCFCABQQFqIQEMAQsLIAIkBiADC+gBAQN/IwYhAiMGQZABaiQGIAJB6ABqIQEgAkGIAWoiA0EANgIAIAAgAkHkABDyBEUEQCABQYWdGzYCACABQS42AgRBvK8WQeueG0ECQcfrHCABEFELIAJB+ABqIQEgAkHwAGoiACADNgIAIAJBqs4fIAAQkgJBAUcEQCABQYWdGzYCACABQS82AgRBvK8WQbKgG0ECQcfrHCABEFELIAJBgAFqIQEgAygCACIAQYCABE8EQCABQYWdGzYCACABQTA2AgRBvK8WQdegG0ECQcfrHCABEFEgAygCACEACyACJAYgAEH//wNxCzwBA38gAEEMEHIiAUEMQQEQxgIaIAEgAUEBaiICLQAAQQV0EO4EIgM2AgQgACADQQQgAi0AABDGAhogAQtoAQR/IwYhASMGQRBqJAZBCBByIQIgACABQQFBARDGAhogAiABLQAAIgRBAnRBBGoQTyIDNgIAIAAgA0EEIAQQxgIaIAMgAS0AAEECdGpBfzYCACAAIAJBBGpBBEEBEMYCGiABJAYgAgupAgEHfyMGIQQjBkEQaiQGIABBkAIQ7AIiAkGQAkEBEMYCGiACQQRqIgFBgAQQ7gQ2AgAgAkEIaiIFQcAAEO4ENgIAIAAgASgCAEEEQRAQxgIaIAAgBSgCAEEEQQIQxgIaIAAgBEEEaiIGQQRBARDGAhogAkEMaiIDQQA2AgBBACEBA0AgASAGKAIASARAIABBIBByIgdBIEEBEMYCGiADIAMoAgAgBxCCFjYCACABQQFqIQEMAQsLIAAgBEEEQQEQxgIaIAJBEGohA0EAIQEDQCABIAQoAgBIBEAgBSgCACABQQV2QQJ0aigCAEEBIAFBH3F0cQRAIAMgAUECdGogABCTKjYCAAUgAyABQQJ0aiAAEJIqNgIACyABQQFqIQEMAQsLIAQkBiACC7gCAQh/IwYhBCMGQSBqJAYgBEEIaiEDQciaG0EhQQFBvLYWEKwBGiABLQAIIQIgBCABKAIENgIAIAQgAjYCBEG8thZB6pobIAQQXEGamxtBFkEBQby2FhCsARpBsZsbQRlBAUG8thYQrAEaIABBFGohB0EAIQADQCAAIAEoAgAiAigCAEgEQCACQQhqIABBAnRqKAIAIQIgAUEMaiAAQQJ0aigCACIFQQxqIQYCQAJAIAUsAAANACAGKAIADQAMAQsgByAAEMwBIQggAi0AAyEJIAUtAAAhBSACLwEAIgIgBigCABDFDWshBiADIAA2AgAgAyAINgIEIAMgCTYCCCADIAU2AgwgAyACNgIQIAMgBjYCFEG8thZBy5sbIAMQXAsgAEEBaiEADAELC0EKQby2FhDdByAEJAYLXgEDfyABQYiACBDsAiICQYiACEEBEMYCGiACIAAgARCDFiIANgIAIAJBDGohBANAIAMgACgCAEgEQCAEIANBAnRqIAEQlCo2AgAgA0EBaiEDIAIoAgAhAAwBCwsgAgthAgF/AXxBwNX5ACwAAEUEQANAIABBgAJHBEAgAEEBdLdEGC1EVPshCUCiRAAAAAAAAHA/okQYLURU+yEJQKAiARDcBxogARDbBxogAEEBaiEADAELC0HA1fkAQQE6AAALC9kCAQt/IwYhAiMGQcABaiQGIAJBuAFqIQwgAkGwAWohByACQfAAaiEFIAJBvAFqIQhBEBDsAiIGIAAoAhwiBDYCDCAGIARBAnQQ7AIiCTYCCANAIAMgBEgEQCAJIANBAnRqQQA2AgAgA0EBaiEDDAELCyAAQRRqIQQgBiABEJEqIgpB//8DcTYCACAGIAEgChCQKjYCBANAIAEgAkHkABDyBARAIAcgBTYCACAHIAg2AgQCQCACQeSbGyAHEJICQQJGBEAgBCAFELQERQRAIAwgBTYCAEHqmxsgDBBLQQAhAANAIAAgCCgCAE4NAyABIAoQgRYQ+REgAEEBaiEADAAACwALIAkgBCAFEPgBIgBBAnRqKAIAIQtBACEDA0AgAyAIKAIASARAIAsgASAKEIEWEIIWIQsgA0EBaiEDDAELCyAJIABBAnRqIAs2AgALCwwBCwsgAiQGIAYL5wEBBX8jBiEEIwZBsAFqJAYgBEGQAWohAyAAQfgTaigCAARAIABBiJ4IaiABEIAWRQRAQYahGyADEEsLCyAEQZgBaiEFIARB8ABqIQYgBEGgAWohB0EAIQMDQCADQf//AUcEQCACIANBAXRqQegHOwEAIANBAWohAwwBCwsgAEEUaiEDA0ACQCABIARB5AAQ8gRFDQAgBSAGNgIAIAUgBzYCBCAEQbKhGyAFEJICQQJHDQAgAiAGQdfnHBDFAQR/IAMgBhD4AQUgA0Hw1SAQ+AELIgBBAXRqIAcoAgA7AQAMAQsLIAQkBgs7AQJ/IwYhAyMGQfADaiQGIAMQhBYgACABQQAgAkEAQQBBAEEAQQBBACADEJYQIQQgAxCgDSADJAYgBAuPAQECfyMGIQIjBkEQaiQGIABBqKgWNgIAIABBqJUWNgIAIABBCGoiAxCVBSAAQeDfCGoQsgEgAEHQ3whqQQA2AgAgAEH03whqQQA2AgAgAEH43whqQQA2AgAgAyABQZWYGxCaKgRAIAJBlZgbNgIAIAIgATYCBEGZmBsgAhBLCyAAQdzfCGpBADYCACACJAYLKAAgABCyASAAQRRqELIBIABBKGoQsgEgAEE8ahCyASAAQdAAahCyAQtzAQF/IAAQihYgAEEUaiIBQgA3AgAgAUIANwIIIABBgICA/AM2AiQgAEEoahCnBSAAQTxqIgFCADcCACABQgA3AgggAEGAgID8AzYCTCAAQdAAaiIBQgA3AgAgAUIANwIIIABBgICA/AM2AmAgAEEANgJkC2ABAX8gAEEAOgAAIABBBGoQhxYgAEHMAGoQhxYgAEGUAWoiARCyASABQRRqEKcFIAFBADYCKCABQSxqEL0GIABB3AFqIgAQsgEgAEEUahCnBSAAQQA2AiggAEEsahC9BguOAQAgAEEANgIAIABBBGoQhhYgAEHYAmoQnSogAEHAA2oQmQEgAEEANgLEAyAAQQA2AsgDIABBADYCzAMgAEECNgLQAyAAQwAAAAA4AtQDIABDAAAAADgC2AMgAEMAAAAAOALcAyAAQeADahDPGCAAQegDahCeKiAAQQA2AowGIABBADYCkAYgAEEANgKUBgs4AQF/IAEgAEEBEPkEBH8gASAAQQRqIgJBARCCAgR/IAEgAEEIaiACKAIAEIICBUEACwVBAAsiAAt0AQJ/IAAgARDtCyAAIAE2AgAgAEEIaiEEA0AgAyABSARAIAQoAgAgA0EsbGoiACACKQIANwIAIAAgAikCCDcCCCAAIAIpAhA3AhAgACACKQIYNwIYIAAgAikCIDcCICAAIAIoAig2AiggA0EBaiEDDAELCwuEAQEFfyMGIQIjBkEwaiQGIAEgAiIDQSxqIgRBBEEBEPABQQFGBH8gAxCpBSAAIAQoAgAgAxChKiAAQQhqIQVBACEAA38Cf0EBIAAgBCgCAE4NABogAEEBaiECIAUoAgAgAEEsbGogARCgKgR/IAIhAAwCBUEACwsLBUEACyEGIAMkBiAGC1YBAX8jBiECIwZBMGokBiACIAEpAgA3AgAgAiABKQIINwIIIAIgASkCEDcCECACIAEpAhg3AhggAiABKQIgNwIgIAIgASgCKDYCKCAAIAIQlQ8gAiQGC0QBAn8gACABKAIAIAAoAgBqEO0LIAFBCGohAwNAIAIgASgCAEgEQCAAIAMoAgAgAkEsbGoQoyogAkEBaiECDAELCyAAC5cBAQJ/IAFBAUYEQEECIQEFIAFBf2ogAXEEQCABEIsLIQELCyABIAAoAgQiA0sEQCAAIAEQixYFIAEgA0kEQCAAKAIMsyAAKgIQlY0QoQQhAiADQQJLIANBf2ogA3FFcQR/IAJBAUEgIAJBf2pna3QgAkECSRsFIAIQiwsLIgIgASABIAJJGyIBIANJBEAgACABEIsWCwsLC3sBAX8gAEE4EE8iBDYCACAAIAFBCGo2AgQgBEEIaiIBIAMoAgAiAykCADcCACABIAMpAgg3AgggASADKQIQNwIQIAEgAykCGDcCGCABIAMpAiA3AiAgASADKAIoNgIoIARBADYCNCAAQQE6AAggBCACNgIEIARBADYCAAsmACABIABHBEAgACgCAEEASgRAIABBADYCAAsgACABEKQqGgsgAAufAgEFfyMGIQIjBkHwAGokBiACQUBrIQMgAkEsaiIEEIoWIAFBCGohBgNAIAUgBigCAEgEQCACEKkFIAJBACAFELsGIAMgAikCADcCACADIAIpAgg3AgggAyACKQIQNwIQIAMgAikCGDcCGCADIAIpAiA3AiAgAyACKAIoNgIoIAQgAxCVDyAFQQFqIQUMAQsLIAFBAhC3BAR/IAFBAhDMAUGP2xcQxQFFBUEAC0UEQCACEKkFIAJBACAGKAIAELsGIAMgAikCADcCACADIAIpAgg3AgggAyACKQIQNwIQIAMgAikCGDcCGCADIAIpAiA3AiAgAyACKAIoNgIoIAQgAxCVDwsgACAEEKcqGiAAEJAWIAAQjxYgBBDtESACJAYLUgEBfyAAKAIAQQBKBEAgASAAQQAQlA8iAikCADcCACABIAIpAgg3AgggASACKQIQNwIQIAEgAikCGDcCGCABIAIpAiA3AiAgASACKAIoNgIoCwteAQJ/IwYhAiMGQRBqJAYgAhDxBCABQRUgAhCcDwR/IABBGGogAhCXDwR/IAFBFiACEJwPBH8gACACEJEWBUEACwVBAAsFQQALIQMgAigCBCACLAAIEPMEIAIkBiADC1gBA38gAEEANgIAQdQAEE8iAUEENgIAIAFB1ABqIQIgAUEEaiIDIQEDQCABEPkDIAFBFGoiASACRw0ACyAAIAM2AgggAEEENgIEIABBADYCDCAAQQA2AhALCwBEAAAAAAAAAAALkwEBAX8gAC0A3gIEQCAAIAAoAnQgAUESIAAoAsQFIAIQ5QUiAzYCtAEgAwRAIABB/ABqIAMQ4gQLCyAALQCuAgRAIAAoAnQgAUETIAAoAsQFIAIQ5QUiAwRAIABB/ABqIAMQ4gQLCyAALQDuAgRAIAAoAnQgAUEUIAAoAsQFIAIQ5QUiAQRAIABB/ABqIAEQ4gQLCwuiAQEEfyMGIQUjBkEQaiQGIABBjAZqIgQoAgAiAwRAIAMQ0wogAxBMC0GAChBPIgMgAEEEahCSFiAEIAM2AgAQ8wsgAxCkDwJ/IAQoAgAhBiAFQQRqIgAgARCFASAGCyAAIAIQrSogABBYIAQoAgAQow9FBEAgBSABNgIAQfv7GiAFEEsgBCgCACIABEAgABDTCiAAEEwLIARBADYCAAsgBSQGC/0CAQF/IAAoAgAiAwRAIAMgAygCACgCBEH/A3FBogdqEQAACyAAIAIQuREiAzYCAAJ/IAMEfwJ/AkAgAUUNACABQRYQmA9FDQAgAUEVEJgPRQ0AQQAMAQsgAEEYaiACEJcPBH9BAQVBAAwDCwshAyAAQcADaiACEMQHBH8gAiAAQcQDakEBEIICBH8gAiAAQcgDakEBEIICBH8gAiAAQcwDakEBEIICBH8gAiAAQdADakEBEIICBH8gAiAAQdwDakEBEIICBH8gAiAAQdQDakEBEIICBH8gAiAAQdgDakEBEIICBH8gAwR/QQAgACACEJEWRQ0KBUEAIAAgARCqKkUNCgsaIAAoAgAiASAAQeADaiABKAIAKAIsQf8AcUGsC2oRAwAgACgCACIAKAIAIgEoAjghAiAAIAAgASgCNEH/AXFBBmoRBQAgAkH/AHFBrAtqEQMAQQEFQQALBUEACwVBAAsFQQALBUEACwVBAAsFQQALBUEACwVBAAsLIgALOgEBfyAAQX86AAcgAEEAOgAIIABBfzoACSAAQQA6AAogAEEMaiIBQgA3AgAgAUIANwIIIAFCADcCEAuMBgIafwJ9IwYhBCMGQSBqJAYgAhCjFiACELAqIAQQqgEgACABQQEgBEEAEKIEBH8gAkEBaiEQIAJBAmohESACQQNqIRIgAkEEaiETIAJBBWohFCACQQdqIQkgAkEIaiEKIAJBCWohCyACQQpqIQwgAkEcaiEHIAJBBmohFSACQRRqIQggAkEgaiEGIAJBGGohDSACQQxqIQ4gAkEQaiEPIAJBJGohFiACQShqIRcgAkEwaiEYIAJBLGohGSACQcgAaiEaA0AgBSAEKAIASARAIAQgBRBNKAIAIQEgACgCACIDIAFB8ABsaiwAIARAIAJBAToAAAsgAyABQfAAbGosACEEQCAQQQE6AAALIAMgAUHwAGxqLAAiBEAgEUEBOgAACyADIAFB8ABsaiwAIwRAIBJBAToAAAsgAyABQfAAbGosACQEQCATQQE6AAALIAMgAUHwAGxqLAAlBEAgFEEBOgAACyADIAFB8ABsaiwAJgRAIBVBAToAAAsgAyABQfAAbGpBJ2ogCSAKEKQGIAMgAUHwAGxqQShqIAkgChCkBiADIAFB8ABsakEpaiALIAwQpAYgAyABQfAAbGpBKmogCyAMEKQGIAcqAgAiHiADIAFB8ABsaioCNJIhHQJAAkAgBUUiGw0AIB0gCCoCAF0NACAGKgIAIR0MAQsgCCAdOAIAIA0gBioCACIdIAMgAUHwAGxqKgI4kjgCAAsgByAeIAMgAUHwAGxqKgI8kjgCACAGIAMgAUHwAGxqQUBrKgIAIB2SOAIAIA4gAyABQfAAbGooAiw2AgAgDyADIAFB8ABsaigCMDYCACAbBEAgFiADIAFB8ABsaigCRDYCACAXIAMgAUHwAGxqKAJINgIAIBggAyABQfAAbGooAlA2AgAgGSADIAFB8ABsaigCTDYCAAsgGiADIAFB8ABsakHoAGoQowIaIAVBAWohBQwBCwsgBUEBSwRAIA4gByoCACAIKgIAkzgCACAPIAYqAgAgDSoCAJI4AgALIAVBAEcFQQALIRwgBBBoIAQkBiAcC7wBAgJ/AX0gAUEHaiAAQQdqIgIgAEEIaiIDEKQGIAFBCGogAiADEKQGIAFBCWogAEEJaiICIABBCmoiAxCkBiABQQpqIAIgAxCkBiABKgIQIgQgAEEQaiICKgIAXgRAIAAgASgCDDYCDCACIAQ4AgALIAEqAhgiBCAAQRhqIgIqAgBeBEAgACABKAIUNgIUIAIgBDgCAAsgASoCICIEIABBIGoiAioCAF4EQCAAIAEoAhw2AhwgAiAEOAIACwvyAQEJfyMGIQIjBkHQAGokBiAAQQhqIQggAkEkaiEFIAJBKGohBiACQTBqIQcDQCADIAgoAgBIBEAgACADEMwBIQQgAhCkFiABIAQgAhCxKgRAIAUgACABIAUoAgAQ1AYQ4wQ2AgAgBiAAIAEgBigCABDMASIEELQEBH8gACAEEPgBBSADCzYCACAHIAAgASAHKAIAEMwBIgQQtAQEfyAAIAQQ+AEFIAMLNgIAIAAoAgAgA0HwAGxqQSBqIgRBzABqIgkoAgAhCiAEIAIQpRYaIAkgCjYCACAAIAMQkxYLIAIQgBIgA0EBaiEDDAELCyACJAYLKQAgAEGwrxY2AgAgAEGcrxY2AgAgACABNgIEIAAgAjYCCCAAIAM2AgwL0AUCDX8CfCMGIQIjBkEgaiQGIAJBFGohCiACQRBqIQsgAkEMaiEHIAJBCGohCCAAQRxqIgVBADoAACAAQQhqIQwDQCAEIAwoAgBIBEAgCkEANgIAIAtB/wE2AgAgB0EANgIAIAhB/wE2AgAgACAEIAogCyAHIAgQ5wYgBygCACINQQBKBEAgBUEBOgAACyAAIAQQ3QIEQCADIAAgBBDZBAR/QQEFQQFBfyAAIAQQyQMbC2ohAyANQdwBSCAIKAIAIglB3AFIcQRAIAFBAWohAQUgBiANQdwBSiAJQdwBSnFqIQYLCyAAIAQQkxYgBEEBaiEEDAELCyAAIANBAEoiAzoAHSADBH9BAQUgBrciDkQAAAAAAADQP6IgAbciD2MEfyAPRJqZmZmZmak/oiAOYwVBAAsLIQEgAiEDIAAgAToAHiAAIABB1+ccELwEIgE2AiAgAQRAIANBhbsXNgIAIANBogc2AgRBjJYWQdn6GkECQcfrHCADEFELIABBJGoiCSAAQdDnHBC8BDYCACAAIABB6PoaELwENgIoIAAgAEHu+hoQvAQ2AiwgACAAQff6GhC8BDYCMCAAIABB/foaELwENgI0IAAgAEGB+xoQvAQ2AjggACAAQYr7GhC8BDYCPCAAQUBrIABBk/saELwENgIAIAAgAEGY+xoQvAQ2AkRBfyAAQRRqIgYoAgAiAUECdCABQf////8DSxsQTyIFQQAgAUECdBCMARpBACECA0AgAiAMKAIASARAIAAgAhDdAgRAIAUgACACEOkHQQJ0aiIBIAEoAgBBAWo2AgALIAJBAWohAgwBCwsgAEHIAGoiAkEANgIAIAYoAgAhBkEBIQFBACEAA0AgASAGSARAIAUgAUECdGooAgAgBSAAQQJ0aigCAEoEQCABIAkoAgBHBEAgAiABNgIAIAEhAAsLIAFBAWohAQwBCwsgBRBMIAMkBgstACAAKAIAIAFB8ABsakHoAGogAhDgARogACgCACABQfAAbGpB1ABqQQAQ8gELIQAgACABQfAAbGogAjgCPCAAIAFB8ABsakFAayADOAIAC4cBAQF/IwYhBiMGQRBqJAYgBkH/ATYCACAAIAFB8ABsaiACQQAgBhDVAToAJyAGQf8BNgIAIAAgAUHwAGxqIANBACAGENUBOgAoIAZB/wE2AgAgACABQfAAbGogBEEAIAYQ1QE6ACkgBkH/ATYCACAAIAFB8ABsaiAFQQAgBhDVAToAKiAGJAYLhwwCHn8BfSMGIQIjBkHAB2okBiACQfAGaiEcIAJB4AZqIRUgAkHQBmohESACQbAGaiEJIAJBiAZqIQcgAkHIBWohBCACQYAFaiEDIAJBgANqIQUgAkGwB2ohEiACQawHaiEGIAJBQGshCyACQagHaiENIAJBpAdqIQ4gAkGgB2ohDyACQZwHaiEQIAJBmAdqIRYgAkGUB2ohFyACQZAHaiEYIAJBjAdqIRkgAkGIB2ohGiACQYQHaiEbIAJBgAdqIRMgAkH8BmohDCACQfgGaiEUIAAQ1AoCfyABIAIiHUGAAWoiCkGAAiABKAIAKAIIQf8AcUGQBGoRAgAEfyAFIBI2AgAgCkGqzh8gBRCSAkEBRgR/IAAgEigCABCiD0EAIQIDQCACIBIoAgBIBEAgC0HX5xxBwAAQ0gQaIA1BADYCACAOQf8BNgIAIA9BADYCACAQQf8BNgIAIBZDAAAAADgCACAXQwAAAAA4AgAgGEMAAAAAOAIAIBlDAAAAADgCACAaQwAAAAA4AgAgG0MAAAAAOAIAIBNBADYCACAMIAI2AgAgFCACNgIAQQACfyABIApBgAIgASgCACgCCEH/AHFBkARqEQIABH8gAyAFNgIAIAMgBjYCBCADIA02AgggAyAONgIMIAMgDzYCECADIBA2AhQgAyAWNgIYIAMgFzYCHCADIBg2AiAgAyAZNgIkIAMgGjYCKCADIBs2AiwgAyALNgIwIAMgDDYCNCADIBM2AjggAyAUNgI8IANBQGsgHTYCACAKQZf5GiADEJICQRFGBH9BEQUgBCAFNgIAIAQgBjYCBCAEIA02AgggBCAONgIMIAQgDzYCECAEIBA2AhQgBCAWNgIYIAQgFzYCHCAEIBg2AiAgBCAZNgIkIAQgGjYCKCAEIBs2AiwgBCALNgIwIAQgDDYCNCAEIBM2AjggBCAUNgI8IApBzvkaIAQQkgJBEEYEf0EQBSAHIAU2AgAgByAGNgIEIAcgDTYCCCAHIA42AgwgByAPNgIQIAcgEDYCFCAHIAs2AhggByAMNgIcIAcgEzYCICAHIBQ2AiQgCkGA+hogBxCSAkEKRgR/QQoFIAkgBTYCACAJIAY2AgQgCSANNgIIIAkgDjYCDCAJIA82AhAgCSAQNgIUIAkgCzYCGCAJIAw2AhwgCkGg+hogCRCSAkEIRgR/QQgFIBEgBTYCACARIAY2AgQgESALNgIIIBEgDDYCDCAKQbr6GiAREJICQQRGBH9BBAUgFSAFNgIAIBUgBjYCBCAVIAs2AgggCkHI+hogFRCSAkEDRgR/QQMFIBwgBTYCACAcIAY2AgQgCkHT+hogHBCSAkECRgR/QQIFQQAMCAsLCwsLCwshHiAFQdfnHBDFAQRAIAAgBRCUFgUgAEHw1SAQpQYLIAAoAgAgAkHwAGxqIAYoAgBBAXFBAEc6ACAgACgCACACQfAAbGogBigCAEECcUEARzoAISAAKAIAIAJB8ABsaiAGKAIAQQRxQQBHOgAiIAAoAgAgAkHwAGxqIAYoAgBBCHFBAEc6ACMgACgCACACQfAAbGogBigCAEEQcUEARzoAJCAAKAIAIAJBABCWDyAAIAIgCxCmFiAAKAIAIgggAkHwAGxqQQE6ACYgCCACIA0oAgAgDigCACAPKAIAIBAoAgAQuCogFyoCACEgIAAoAgAiCCACQfAAbGogFioCADgCLCAIIAJB8ABsaiAgOAIwIBkqAgAhICAAKAIAIgggAkHwAGxqIBgqAgA4AjQgCCACQfAAbGogIDgCOCAAKAIAIAIgGioCACAbKgIAELcqIAAoAgAgAkHwAGxqIBMoAgA2AkwCQAJAIB5BA00NACAMKAIAIgggEigCAE4NAAwBCyACIQgLIAAoAgAgAkHwAGxqIAg2AkgCQAJAIB5BCE0NACAUKAIAIgggEigCAE4NAAwBCyACIQgLIAAoAgAgAkHwAGxqIAg2AlAgACACIB0gBSAeQRBLGxC2KkEBBUEACwtFDQQaIAJBAWohAgwBCwsgABC1KkEBBUEACwVBAAsLIR8gHSQGIB8LMgEBfyAAKAIAIgJBBGogASgCACIBQQRqEOoQIgBFBEAgAkEwaiABQTBqEOoQIQALIAALNgEDfwNAIAEgAkECdGogACACQQJ0aigCACIDNgIAIAJBAWohBCADQX9HBEAgBCECDAELCyACC5YBAQN/IAJBf0oEQCAAKAIAIgMgAk4EQCAAKAIEIANGBEAgABDZFSAAKAIAIQMLIABBCGohBANAIAMgAkoEQCAEKAIAIgUgA0ECdGogBSADQX9qIgNBAnRqKAIANgIADAELCyAEKAIAIAJBAnRqIAEoAgA2AgAgACAAKAIAQQFqNgIADwsLQcD4GkHQhB1B8QVB4vgaEAELyQIBBH8jBiEIIwZBEGokBiAGQeAAaiIJIAU2AgAgAUEBRiIKIANBAUZxBEAgByACKAIAEIENIAcgByAEEPgBEIENRgRAIAlBBDYCAAsLIAYgAiAGQQRqELsqNgJkIAcgBEEBEIwIIAZB3ABqIgkgByAEEPgBIgU2AgAgA0EBSgRAIAcoAgAgBUEBEJYPC0EAIQUDQCAFIAFIBEAgCgRAIAkoAgAhAwUgCCAEIAUgAUEAELQOIAcgCBBdQQEQjAggByAIEF0Q+AEhAyAIEFgLIAZBMGogBUECdGogAzYCACAFQQFqIQUMAQsLIAZBMGogBUECdGpBfzYCACAAIAIoAgAQTSgCAEUEQEEEEE8iARBXIAAgAigCABBNIAE2AgALIAAgAigCABBNKAIAQeAAQQEgBhCkGgR/QQEFIAYQTEEACyELIAgkBiALCykAIAAQVyAAQX82AgQgAEF/NgIwIABBfzYCXCAAQQA2AmAgAEEANgJkC84IARV/IwYhCiMGQbABaiQGIApBgAFqIQ8gCkH4AGohECAKQfAAaiERIApB6ABqIRIgCkHgAGohEyAKQdgAaiEUIApB0ABqIRUgCkHIAGohFiAKQUBrIRcgCkE4aiEYIApBMGohGSAKQShqIRogCkEgaiEbIApBGGohHCAKQRBqIR0gCkEIaiELIApBrAFqIQwgCkGYAWohDSAKQYQBaiEOIAFBAUoEQCAMIAQQhQEgDRDWAiAMQSAgDRCJCiANKAIAQQNGBEAgDhCqAQJ/IAMgDUEAEE0QXUEBIA5BABCiBAR/IAUgDigCACIBIgQ2AgAgBEEKSgRAQQAgAkUNAhogCyAANgIAQen4GiALEEtBAAwCC0EAIQQDQCAEIAFIBEAgBiAEQQJ0aiAOIAQQTSgCADYCACAEQQFqIQQgDigCACEBDAELCyAGIAFBAnRqQX82AgAgAyANQQEQTRBdQQEgDkEAEKIEBEAgByAOKAIAIgE2AgAgAUEKSgRAQQAgAkUNAxogHSAANgIAQen4GiAdEEtBAAwDCwJ/IA1BAhBNEF0hHiAcIAk2AgAgHgtBqs4fIBwQkgJBAUYEQCAaIA1BARBNEF02AgAgCEHKAkGk1h8gGhCoARpBAQwDCyACBEAgGyAANgIAQbDeCiAbEEsLC0EABUEACwshACAOEGgFIAIEQCAKIAA2AgBBsN4KIAoQSwtBACEACyANEM4CIAwQWAUCfwJAIAQgDBCKCSIERQ0AIBkgBTYCACAEQarOHyAZEJICRQ0AIAUoAgAiBEEBSA0AIARBCkoEQEEAIAJFDQIaIBcgADYCAEHp+BogFxBLQQAMAgtBACELAkACQANAAkAgCyAETg0AQQAgDBCKCSIERQ0AIAMgBBC0BEUNAiAGIAtBAnRqIAMgBBD4ATYCACALQQFqIQsgBSgCACEEDAELCwwBCyACBEAgFiAENgIAQeDeCiAWEEsLCyAGIAtBAnRqQX82AgAgCyAFKAIARgRAQQAgDBCKCSIEBEAgFSAHNgIAIARBqs4fIBUQkgIEQCAHKAIAIgRBAU4EQCAEQQpKBEBBACACRQ0GGiATIAA2AgBB6fgaIBMQS0EADAYLIAhBADoAAEEAIQUCQAJAA0ACQCAFIAcoAgBODQBBACAMEIoJIgRFDQAgCCAIEGNqIAQQ3wcaIAMgBBC0BEUNAiAFQQFqIQUMAQsLDAELIAIEQCASIAQ2AgBB4N4KIBIQSwsLIAUgBygCAEcEQEEAIAJFDQYaIBEgADYCAEGw3gogERBLQQAMBgtBASABQQBMDQUaQQAgDBCKCSIBBEAgECAJNgIAQQEgAUGqzh8gEBCSAg0GGgtBACACRQ0FGiAPIAA2AgBBsN4KIA8QS0EADAULCwsLIAIEQCAUIAA2AgBBsN4KIBQQSwtBAAwBCyACBEAgGCAANgIAQbDeCiAYEEsLQQALIQALIAokBiAAC0UBAX8jBiEBIwZBEGokBiAALAAJBEAgAUGj4xc2AgAgAUGjAjYCBEHAnhZBluMXQQJBx+scIAEQUQsgAEEANgIAIAEkBgtNAQJ/IAAoAgAQ8AshASAAQRg2AgBBGBDwCyICIAFHBEAgAEEEaiIAKAIAIgEEQCABEEwLIABBfyACQQJ0IAJB/////wNLGxBPNgIACwsoAQF/IAEQmRYhAiAAKAIEIAAgARCYFkECdGoiACAAKAIAIAJyNgIAC2YBBH8gABDwCyEFQQAhAANAIAIgBUgEQEEAIQMgASACQQJ0aigCACEEA0AgA0EERwRAIARB/wFxQQJ0QfAUaigCACAAaiEAIANBAWohAyAEQQh2IQQMAQsLIAJBAWohAgwBCwsgAAtCAQF/AkAgAARAA0AgAUEYTwRAQX8hAQwDCyAAIAFBAnRB0N0KaigCABDFAQRAIAFBAWohAQwBCwsFQX8hAQsLIAELtAEBBX8jBiEEIwZBEGokBiAEQQhqIQYCfyAALAAAIgNBI0YEf0EABQJAAkADQCADQf8BcUUNASADQRh0QRh1QX9KBEAgA0EYdEEYdRCWBA0DCyAFQQFqIgMhBSAAIANqLAAAIQMMAAALAAsgBCAANgIAQfz1GiAEEEtBAAwCCyAAIAVqQQA6AAAgASAANgIAIAYgAjYCACAAIAVBAWpqQZ32GiAGEJICQQFGCwshByAEJAYgBwvtAgEIfyMGIQMjBkGQAWokBiADQfAAaiEJIANB6ABqIQogA0H0AGohBCADQYABaiIFIgZBADYCACAGQQA2AgQgBRDBKiAFKAIEQQAgBSgCABDwC0ECdBCMARogACABEOABGiAAQQhqIAAoAgRBFGxqIQcgA0H4AGoiBkMAAAAAOAIAIAdBGCAGEMAFA0AgAiADQeQAEPIEBEAgBkEANgIAAkAgAyAGIAQQxSoEQCAGKAIAIgEQxCoiCEEASARAIAogATYCAEGt8RogChBLDAILIAUgCBCaFkUEQCAFIAgQwioLIAQoAgAhASAHIAgQTSABNgIACwsMAQsLIAUoAgAgBSgCBCICEMMqQRhGIgFFBEBBACEEA0AgBEEYSQRAIAUgBBCaFkUEQCAJIARBAnRB0N0KaigCADYCAEHQ8RogCRBLCyAEQQFqIQQMAQsLIABB09X5ABDgARogBxDFAwsgAgRAIAIQTAsgAyQGIAELQAEBfyMGIQMjBkEQaiQGIAMQ8QQgA0HwHEGxtwoQmw8gACABIANBAEEAIAIQmxYgAygCBCADLAAIEPMEIAMkBgtnAQV/IABBFGohAyAAQShqIQQgAEE8aiEFIABB0ABqIQYgAUEIaiEHQQAhAQNAIAEgBygCAEgEQCADEJcWIAAQlxYgBEEAELkBIAIEQCAFQQAQuQEgBkEAELkBCyABQQFqIQEMAQsLC0kBBX8gAEEIaiEFA0AgASAFKAIASARAIAIgACABEPEIIgRFaiECIAFBAWohASADIARBDUYgBEEEckEFRnJqIQMMAQsLIAMgAksLVwECfyMGIQMjBkEQaiQGIAMQ8QQgAkERIAMQlwUEfyAAIAIgAxCvKgR/IAEEQCAAIAEgAhCuKgtBAQVBAAsFQQALIQQgAygCBCADLAAIEPMEIAMkBiAEC4wBACAAQQhqIAIQ4AEaQYCYGxAUIQICQAJAIAFFDQAgASwAAEUNACAAQQRqIgAgARDgARoMAQsgAEEEaiEAIAIEQCAAIAIQ4AEaCwsgABDfAUUEQCAAQZCYGxDgARoLIAAQXSAAEN8BQX9qaiIBQa3WIBDFAQRAIAFBk5gbEMUBBEAgAEGt1iAQbBoLCwtWAQN/IABBADYCAEE0EE8iAUEENgIAIAFBNGohAiABQQRqIgMhAQNAIAEQmQEgAUEMaiIBIAJHDQALIAAgAzYCCCAAQQQ2AgQgAEEANgIMIABBADYCEAvzAwIIfwF+IwYhBCMGQTBqJAYgBEEMaiEHIAAQsxYgACABEOABGiAEQSRqIgYQ8QQgBiACIAMQmw8gBiAEQSBqIgUQ5QgEQCAAQQlqIgEgBSgCAEHoB0siAjoAACAGIAIQnRYgASwAAARAIAVBBBDyGwsgBSgCAEHoB0sEQEEAIQAFIAcQvgMgByAFKAIAIgEQigogByABNgIAAn8gBiAHKAIAIgggBygCCCIJQQAQighBCCAFKAIAIgEQ8AEgAUYEf0EAIQIDQCACQRhJIAIgBSgCAElxBEAgCCAJIAIQiggpAwBCf1UEQCAIIAkgAhCKCCkDACEMIAIhAQJAAkADQCABQQFqIgEgBSgCACIKSQRAIAggCSABEIoIKQMAQn9RDQEMAgsLDAELIAUoAgAhCgsgAyAMp2shCyABIApJBH8gCCAJIAEQiggpAwAgCCAJIAIQiggpAwB9pwUgCwshASAAQQxqIAJBFGxqIgogARChCkEAIAYgCkEAENkBIAEQ+QRFDQQaCyACQQFqIQIMAQsLIAAoAtgDRQRAIARCADcCACAEQQA2AgggBEGn7BpBp+waEGMQygIgACAEEJoPIAQQVAsgAEEBOgAIQQEFQQALCyEAIAcQxAoLBUEAIQALIAYoAgQgBiwACBDzBCAEJAYgAAvdAQIFfwF+IwYhAyMGQTBqJAYgA0EIaiECIAFCf1EEQEG+6xogAxBLBSAAIAEgACgCACgCEEEDcUGOB2oRCQAhByAAIAEgACgCACgCGEEHcUGEB2oRCAAhBEGp3RdBsd0XIAAgARDGChshBUG53RdBvt0XIAAoAhQgACgCPCABEM8GGyEGQcPdF0HT1fkAIAAgASAAKAIAKAIUQQdxQYQHahEIABshACACIAE3AwAgAiAHNwMIIAIgBDYCECACIAU2AhQgAiAGNgIYIAIgADYCHEHH6xogAhBLCyADJAYLTQICfwJ+IABCABDGCgRAIAAoAhQhASAAKAI8IQJBACEAA0AgAEEBaiEAIANCAXwhBCABIAIgAxDPBkUEQCAEIQMMAQsLBUEAIQALIAALlAMCCX8BfiMGIQMjBkFAayQGIABBOGoiCCgCAARAQbbqGiADEEsLIANBGGohBSADQRBqIQkgA0EIaiEGIANBLGohAgJ/IAEgA0EwaiIEEJ0PBH8gBC4BACIEQSpHBEAgBiAENgIAIAZBKjYCBEHN6hogBhBLQQAMAgsgASACQQEQggIEfyABIABBQGsiB0EBEIICBH8gBygCAEEATARAIAlBrekaNgIAIAlBzAI2AgRB3K4WQfHqGkECQcfrHCAJEFELIAAgAigCABCgFiAAQX8gBygCACICQQN0IAJB/////wFLGxBPIgQ2AjwgASAEQQggAhDwASACRgR/IAgoAgBBAkoEfyAAKAIEIQYgAEEIahBdIQIgACgCDCEIIAAoAhAhBCAHKAIAIQEgBSAGNgIAIAUgAjYCBCAFIAg2AgggBSAENgIMIAUgATYCEEGA6xogBRBLA38gCyAHKAIArFMEfyAAIAsQziogC0IBfCELDAEFQQELCwVBAQsFQQALBUEACwVBAAsFQQALCyEKIAMkBiAKC3EBBn8gAEEIaiIDKAIAIQEgACgCBCAAQQxqIgQoAgAiBUEBdWohAiAFQQFxBEAgAigCACABaigCACEBCyACIAFB/wFxQQZqEQUAIQYgA0EANgIAIARBADYCACAAIAAoAgAoAgRB/wNxQaIHahEAACAGCykAIABB/K4WNgIAIABB6K4WNgIAIAAgATYCBCAAIAI2AgggACADNgIMC1IBAX8gACgCACICIAAoAgRGBEAgACgCBCICBEAgACACQQF0EJ8WBSAAQQQQnxYLIAAoAgAhAgsgACACQQFqNgIAIAAoAgggAkEMbGogARCfDxoL7QEBBH8jBiEDIwZBEGokBiAAQRxqIQACfwJAAkADQCAEIAAoAgBODQIgASAAIAQQogIQ9AQNASAEQQFqIQQMAAALAAsgACAEEKICKAIEIQUgACAEEKICKAIEBEAgACAEEKICQQhqIgAgACgCAEEBajYCAAsgAgRAIAIgAigCACgCBEH/A3FBogdqEQAACyAFDAELIANCADcCACADQQA2AgggAxCZASAAIAMQ0yogAxBYIAAQsBoiACABEJgCGiAAIAIgAigCACgCCEH/AXFBBmoRBQAiATYCBCAAIAFBAEc2AgggAQshBiADJAYgBguKAgEGfyMGIQIjBkEQaiQGIAIQ8QQCfyAAKAIEIABBCGoiASgCACACEJcFBH8CQAJAAkACQAJAAkACQAJAIAEoAgBBBmsODwABAgUGBgYGAwQGBgABAgYLQQEhAwwGC0EIIQNBASEEDAULQQYhA0ECIQQMBAtBDCEDQQEhBAwDC0EIIQNBASEEDAILQQshA0EBIQQMAQtBAAwCC0HIABBPIgEiBSAEIAAgAyAAKAIMEKEWIAVBgJ0WNgIAIAEgAhDQKgR/IAEgARDPKjYCREEBBUEACwR/IAEFIAEgASgCACgCBEH/A3FBogdqEQAAQQALBUEACwshBiACKAIEIAIsAAgQ8wQgAiQGIAYL/wEBCn8CQCABEGMiAwRAIAJBAEciBgRAIAIQYyEDCyAAIAMQ1AggAEEcaiIHIAAoAhgiAzYCACAAQQRqIQggAEEIaiEJIABBEGohCiAAQRRqIQsDQCAEIANODQIgCCgCACABIAVqIAYEfyACIARqLAAABUEBCyIDEPcDIQwgCSgCACAEQQJ0aiAMNgIAIAooAgAgBEECdGpBATYCACALKAIAIARBAnRqQwAAAAA4AgAgAyAFaiEFIARBAWohBCAHKAIAIQMMAAALAAUgAEEIENQICwsgAEMAAIA/OAIgIABDAAAAADgCJCAAQwAAAAA4AiggAEEAOgA0IABBADoANgvUAQEGfyAAQRxqIQQgAEEIaiECIABBBGohBUEAIQADQCAAIAQoAgAiA0ECEE4iAUgEQCACKAIAIgEgAEECdGooAgAhBiAFKAIAIAEgAyAAQX9zIgNqQQJ0aigCABDJCiEBIAIoAgAgAEECdGogATYCACAFKAIAIAYQyQohASACKAIAIAQoAgAgA2pBAnRqIAE2AgAgAEEBaiEADAELCyADQQFxBEAgBSgCACACKAIAIAFBAnRqKAIAEMkKIQAgAigCACAEKAIAQQIQTkECdGogADYCAAsLbQEEfyAAQRxqIQEgAEEEaiECIABBCGohA0EAIQADQAJAIAAgASgCAE4EQEEAIQAMAQsCQCACKAIAIAMoAgAgAEECdGooAgAQ8QhBAWsiBARAIARBDEcNAQtBASEADAELIABBAWohAAwBCwsgAAs3AQJ/A38Cf0EAIAIgAU4NABogAkEBaiEDIAAgAkECdGooAgBBf0YEf0EBBSADIQIMAgsLCyIAC8QBAQZ/IwYhBCMGQdAAaiQGIARBCGoiA0EcaiEGIANBCGohBwJAAkADQAJAIAUgASgCAE4EQEEBIQAMAQsgAyABIAUQTRBdIAIQoQ8gBigCACIIBEAgBygCACAIENkqRQRAIAMQ2CoEQCADENcqCyAAIAMQxAZFBEAgACADENYQIAAgAxDEBkUNBQsLCyADEKACIAVBAWohBQwBCwsMAQsgBCABIAUQTRBdNgIAQb/oGiAEEEsgAxCgAkEAIQALIAQkBiAACw0AIAEQ3wEgABDfAWsL1QEBCH8jBiEDIwZBkARqJAYgA0GABGohBiADQfgDaiEHIANBiARqIQQgA0GEBGohBSABQa78HhDlAiIIBH8gAEE4aiEJQQAhAANAIANB9AMgCBCMCQRAIAMQ0AggBCADEIUBIAkoAgBBAEchASAAQQFqIgBBkM4AEIcBRSABcQRAIAcgADYCAEHt6BogBxBLCyAFIAQQyQEgAiAFEKsCIAUQWCAEEFgMAQsLIAkoAgAEQCAGIAA2AgBBg+kaIAYQSwsgCBD9ARpBAQVBAAshCiADJAYgCgs6AQF/IABBADoAByAAQX86AAggAEEAOgAJIABBfzoACiAAQQxqIgFCADcCACABQgA3AgggAUIANwIQC04AIAAgASkCADcCACAAIAEpAgg3AgggACABKQIQNwIQIAAgASgCGDYCGCAAIAEuARw7ARwgACABLAAeOgAeIABBIGogAUEgahClFhogAAunAQEEfyABLAAAIgQEQCAAIQMgBCEAA0AgAygCACIEBH8gAAVBhBAQTyIAQYACNgIAIABBhBBqIQUgAEEEaiIEIQADQCAAQQA2AgAgAEF/NgIEIABBCGoiACAFRw0ACyADIAQ2AgAgASwAAAshBiAEIQAgBkH/AXEhAyABQQFqIgEsAAAiBARAIAAgA0EDdGohAyAEIQAMAQsLIAAgA0EDdGogAjYCBAsLhAMBCX8jBiEDIwZBMGokBiADQSBqIQUgABBjIgFBBkgEf0EABSAALAAAQfwARgR/IABBAWohAiAAIAFqIQZBACEAA0ACQCACIABqIgEgBk8NACABLAAAIgRB/ABGDQAgBBC2BCAAaiEADAELCyAARSAAQR5KcgR/QQAFIAMgAiAAENIEGiADIABqQQA6AAAgBUEANgIAQQAhAkEAIQBBACEEAn8CQANAAkAgAkECTw0CAkACQCABIAZLDQAgASwAAEH8AEcNAAwBCyACQQFHDQEgASwAAEHuAEcNAUEBIQALIAJFIQcgAkEBaiECIAQgAUEBaiAFELQTIgEgBxshBCABIAggBxshCCAFKAIAIQEMAQsLQQAMAQsgASAGRgR/QSQQTyIBQgA3AwAgAUIANwMIIAFCADcDECABQgA3AxggAUEANgIgIAEgA0EeENIEGiABQQA6AB4gASAIOwEgIAEgBDsBIiABIABBAXE6AB8gAQVBAAsLCwVBAAsLIQkgAyQGIAkLiwEAAn8CQAJAAkACQAJAAkACQCABQRh0QRh1QcEAaw4wBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYEBgABBgYGBgYGBgYGAgYDBgsgACgCgAEMBgsgACgChAEMBQsgACgCiAEMBAsgACgCjAEMAwsgACgCkAEMAgsgACgClAEMAQtBfwsL7AQBEn8jBiEEIwZBkAVqJAYgBEGoBGohCiAEQaAEaiENIARBmARqIQ4gBEGQBGohDyAEQYgEaiEQIARBgARqIQMgBEH4A2ohCSAEIQYgBEHIBGohBSAEQbQEaiEHIARBsARqIQsCfyAALAB8BH8gAUGu/B4Q5QIiEUUEQCADIAE2AgBBqOYaIAMQS0EADAILIABBOGohEiAFQRxqIRNBACEJA0AgBkH0AyAREIwJBEAgBhDQCCAFIAIQsQUgBxCnBSACIAYQ6AwhCCAGIQMCQAJAAkACQANAIAhBAEwNAgJ/AkAgCEEBRw0AIAMsAABB3ABHDQAgA0EBaiIDLAAAIgxB3ABGBEAgAiADQQEQ9wMMAgsgEygCAEEASA0DIAAgDBDhKgwBCyACIAMgCBD3AwsiDEF/Rg0DIAUgDEMAAAAAEJQKIAdBABDpCCACIAMgCGoiAxDoDCIIQQFGBEAgAywAAEHcAEYEfyADLAABQSpGBH8gByAHKAIAQX9qENkBQQE6AAAgAiADQQJqIgMQ6AwFQQELBUEBCyEICwwAAAsACyAQQQA2AgBBx+YaIBAQSwwBCyASKAIAQQJKBEAgCyAFENgDIA4gCxBdNgIAQbDnGiAOEEsgCxBYCyAAIAUQxAZFBEAgACAFIAcQ1xkaIAAgBRDEBkUEQCANIAY2AgBB1OcaIA0QSwsLIAlBAWohCQwBCyAPIAY2AgBBl+caIA8QSwsgBxCSBCAFEKACDAELCyASKAIABEAgCiAJNgIAIAogATYCBEH65xogChBLCyAREP0BGkEBBUHq5RogCRBLQQALCyEUIAQkBiAUC6MBACABQereFxClBiAAIAFB6t4XEPgBNgKAASABQe7eFxClBiAAIAFB7t4XEPgBNgKEASABQfLeFxClBiAAIAFB8t4XEPgBNgKIASABQfbeFxClBiAAIAFB9t4XEPgBNgKMASABQfreFxClBiAAIAFB+t4XEPgBNgKQASABQf7eFxClBiAAIAFB/t4XEPgBNgKUASAAQQE6AHwgACABKAIINgIQC0sBAn8jBiEDIwZBIGokBiADENYCIAAgASADENwqBH8gAygCCCADKAIAQQRB3wAQhQUgACADIAIQ2ioFQQALIQQgAxDOAiADJAYgBAs6AQF/IABBBDYCAANAIAFBBEcEQCAAQQRqIAFBAnRqIAFBAnRBwN0KaigCADYCACABQQFqIQEMAQsLC5YBAQJ/IAEEQCAAQcQBaiABEOABGgsgAEHUE2oQ5SogACACEJkQIAMEQAJ/IAAgACgCACgCCEH/AXFBBmoRBQAhBRDzCyAFCxCkDyAAIAAoAgAoAghB/wFxQQZqEQUAIABBDGogAxCoFiAAIAAoAgAoAghB/wFxQQZqEQUAEKMPGgsgAEGMpghqIABBqKMIaisDALY4AgALSwEDfyAAQQA2AgBBwAAQTyICQUBrIQMgAiEBA0AgARCrFiABQRBqIgEgA0cNAAsgACACNgIIIABBBDYCBCAAQQA2AgwgAEEANgIQC2IBAX8gACgCACICIAAoAgRGBEAgACgCBCICBEAgACACQQF0EKUPBSAAQQQQpQ8LIAAoAgAhAgsgACACQQFqNgIAIAAoAgggAkEEdGoiACABKQIANwIAIAAgASkCCDcCCCACC1ABAX8jBiECIwZBEGokBiACIAEpAgA3AgAgAiABKQIINwIIIAAgAhDTEEF/RgRAIAIgASkCADcCACACIAEpAgg3AgggACACEOgqGgsgAiQGCxAAIAAoAgAgASgCABDFAUULpAEBBH8jBiEBIwZBIGokBiABELEWIAEQsBYQrxYgABD0BiICIAEQrhYgAEGc3whqIQMDQCAEIAMoAgBIBEAgAyAEEE0oAgAQ9AYgARCuFiAEQQFqIQQMAQsLIAEgAhCsFkEAIQIDQCACIAMoAgBIBEAgASADIAIQTSgCABD0BhCsFiACQQFqIQIMAQsLIABBtN8IaiABKAIANgIAIAEQgxIgASQGC0MBA38DQCACQQJHBEAgAUEIaiACQRRsaiIEIABBCGogAkEUbGoiA0cEQCADEMUDIAMgBBCDGBoLIAJBAWohAgwBCwsLTgAgACABIAIgAyAEIAUgBiAHIAggCSAKEKoWBH8gAEGyyAhqLQAARQRAIAAgAkEAIAogAEG0pwhqKAIAQQFGGyIAIAAQ5ioLQQAFQX8LC/8CAgZ/AXwDQCAAEJYCIgFBgAFJBEAgARCWBA0BCwsCQAJAIAFBK2sOAwABAAELIAFBLUYhBSAAEJYCIQELAkACQANAAkAgAUF/RgRAQQAhAkEBIQNBfyEBDAELIAFBChD0CyICQX9MDQIgAiAEQQpsaiEEIAAQlgIhAQwBCwsMAQsgAUEuRgRAQQAhAkEBIQMDQCAAEJYCIgFBf0YEQEF/IQEMAwsgAUEKEPQLIgZBf0oEQCAGIAJBCmxqIQIgA0EKbCEDDAELCwVBACECQQEhAwsLIAK3IAO3oyAEt6AhByABQSByQeUARgRAAkACQAJAIAAQlgIiAUEraw4DAAEAAQtBf0EBIAFBLUYbIQMgABCWAiEBDAELQQEhAwtBACECA0ACQCABQX9GBEBBfyEBDAELIAFBChD0CyIEQX9KBEAgBCACQQpsaiECIAAQlgIhAQwCCwsLIAdEAAAAAAAAJEAgAiADbLcQjQuiIQcLIAEgABDJBRogB5ogByAFGwvyAQIDfwJ+A0AgABCWAiICQYABSQRAIAIQlgQNAQsLAkACQCACQStrDgMAAQABCyACQS1GIQQgABCWAiECCyABBEAgAUEQRiACQTBGcQRAIAAQlgIiAUEgckH4AEYEQCAAEJYCIQELQRAhAwUgASEDIAIhAQsFIAJBMEYEfyAAEJYCIgFBIHJB+ABGBH8gABCWAiEBQRAFQQgLBSACIQFBAAshAwsgA6whBgNAAkAgAUF/RgRAQX8hAQwBCyABIAMQ9AsiAkF/SgRAIAUgBn4gAqx8IQUgABCWAiEBDAILCwsgASAAEMkFGkIAIAV9IAUgBBsL6hADGn8BfgF8IwYhEyMGQSBqJAYgEyELIAAQ/gMhECAAEPYLGkHY4xohBUF/IQZBACEHA0AgDEUgBSwAACIDQQBHcQRAIAVBAWohDAJAAkACQAJAAkACQAJAAkACQAJAIAJBB3EOBwABAgMEBQYHCyADQSVGBH9BACEEQX8hBkEAIQhBACEDQQEFIANBf0oEQCADEJYEBEAgABD2CxpBACECQQAhAwwLCwtBAEECIAAQlgIgA0YbIQNBAAshAgwICyADQSpGBH8gCEEBciEIQQEFIAwgBSADQVBqQRh0QRh1Qf8BcUEKSCICGyEMIANBUGogBiACGyEGIAhBBHIgCCACGyEIQQJBAyACGwshAkEAIQMMBwsgDCAFIANBUGpBGHRBGHVB/wFxQQpIIgIbIQwgBkEKbEFQaiADaiAGIAIbIQZBAkEDIAIbIQJBACEDDAYLAkACQAJAAkACQAJAIANBzABrDi8ABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAQUABQIFBQUFAAUFBAUFBQUFAwULQQIhBEEDIQJBACEDDAoLIARBf2ohBEEDIQJBACEDDAkLIARBAWohBEEDIQJBACEDDAgLQQEhBEEDIQJBACEDDAcLQQEhBEEDIQJBACEDDAYLIARBAiAEQQJIGyIEQX4gBEF+ShshBAJ+AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADQSVrDlQLDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAcMBwwMDAwMDAwMAAwMDAwMDAwFDAwKDAwMDAwMDAgCBwcHDAEMDAwMBgMADAwJDAQMDAUMC0EAIQJB/////wchBAwMC0EAIQIMCwtBCiECDAoLQQghAgwJC0EKIQIMCAtBECECDAcLIAAQ/gMgEGusDAcLIAAQ9gsiCUEBSARAQQAhAkEBIQMMDQsgABDuKiEdIAhBAXEEQEEAIQJBACEDDA0LAkACQAJAIAQOAgABAgsgASgCAEEDakF8cSIDKAIAIRQgASADQQRqNgIAIBQgHbY4AgAMAQsgASgCAEEDakF8cSIDKAIAIRUgASADQQRqNgIAIBUgHTkDAAtBACECQQAhAyAKQQFqIQoMDAsgASgCAEEDakF8cSICKAIAIQcgASACQQRqNgIAIAhBAXFFIQMgBkEBIAhBBHEbIQYDQCAGIQIDQCACQX9qIQYgAkUEQEF/IQZBACECQQAhAwwOCyAAEJYCIglBAUgEQEEAIQJBASEDDA4LIANFBEAgBiECDAELCyAHIAk6AAAgB0EBaiEHIApBAWohCgwAAAsACyAIQQFxQQBHIgVFBEAgASgCAEEDakF8cSICKAIAIQcgASACQQRqNgIAC0EAIQ0gBiECAkACQANAAkAgAkF/aiEGIAJFDQAgABCWAiIJQYABSQRAIAlFIAkQlgRyDQMFIAlBAUgNAwsgBUUEQCAHIA1qIAk6AAALIA1BAWohDSAGIQIMAQsLDAELIAkgABDJBRoLIA1FIgIhAyAFIAJyBEBBACECDAsLIAcgDWpBADoAAEEAIQJBACEDIApBAWohCgwKCyABKAIAQQNqQXxxIg4oAgAhByABIA5BBGo2AgAgC0IANwMAIAtCADcDCCALQgA3AxAgC0IANwMYQQQhAkEAIQNBACEODAkLQQAhAkEAQQIgABCWAkElRhshAwwIC0EAIQJBAiEDDAcLIAAQ9gsiCUEBSARAQQAhAkEBIQMMBwsgACACEO8qCyEcIAhBAXEEQEEAIQJBACEDDAYLIApBAWohCiAEQQFIBEACQAJAAkACQCAEQX5rDgMAAQIDCyABKAIAQQNqQXxxIgIoAgAhFiABIAJBBGo2AgAgFiAcPAAAQX4hBEEAIQJBACEDDAkLIAEoAgBBA2pBfHEiAigCACEXIAEgAkEEajYCACAXIBw9AQBBfyEEQQAhAkEAIQMMCAsgASgCAEEDakF8cSICKAIAIRggASACQQRqNgIAIBggHD4CAEEAIQRBACECQQAhAwwHC0EAIQJBACEDDAYLIARBAkgEQCAEQQFrBEBBACECQQAhAwwHCyABKAIAQQNqQXxxIgIoAgAhGSABIAJBBGo2AgAgGSAcPgIAQQEhBEEAIQJBACEDDAYLIARB/////wdIBH8gBEECawRAQQAhAkEAIQMMBwsgASgCAEEDakF8cSICKAIAIRogASACQQRqNgIAIBogHDcDAEECBSAEQf////8HawRAQQAhAkEAIQMMBwsgASgCAEEDakF8cSICKAIAIRsgASACQQRqNgIAIBsgHD4CAEH/////BwshBEEAIQJBACEDDAULIAhBAnFFIANB3gBGcQR/QQAhA0EBIQ5BBAUgCyADQf8BcRD1C0EAIQNBBQshAgwECwJAIANBLWsiBQRAIAVBMEcNAQwEC0EGIQJBACEDQS0hEQwECyALIANB/wFxEPULQQUhAkEAIQMMAwsgA0HdAEYEQCALQS0Q9QsMAgsgA0H/AXEhAiARIQMDQCADIAJJBEAgCyADEPULIANBAWohAwwBBUEFIQJBACEDDAQLAAALAAtBACEDDAELIAZFIQ0gCEEBcUUhDyAHIQMCQAJAA0ACQCANBEAgByEDDAELIAAQlgIiBUEBSA0CIAsgBUH/AXEiEkEFdkECdGooAgAgEkEfcXZBAXEgDkYNAiAFQf8BcSEFIA8EQCADIAU6AAALIANBAWohAwwBCwsMAQsgBSAAEMkFGiAFIQkLIAcgA0YEQEEBQQIgCUEBSBshAwwBCyAPBEAgA0EAOgAAIApBAWohCgsgAyEHQQAhAwsgDCEFIAMhDAwBCwsgCyQGIApBfyAKIAxBAUdyGwslAQJ/IwYhAiMGQRBqJAYgAiABNgIAIAAgAhDwKiEDIAIkBiADC4cEAQx/IwYhBiMGQSBqJAYgBkEQaiEJIAZBDGohCiAGQQhqIQwgBkEEaiEOIAZBHGoiD0EAIAIgAxCTBjYCACAGQRhqIhAgAkEAEJ0GIgc2AgAgBxC4AyELIAZBFGoiCEEANgIAA0AgDSALSARAIAkgECgCACANQQIQnQQiBzYCACAHIAogDCAOIAYQ5QMgCSgCACAPKAIAEKcPIgdBBEoEQCAHQX9qIABsIAYoAgBBAnROBEAgCCgCACIHRQRAIAggAhC+ASACEKUBQQEQxwEiBzYCAAsgByAJKAIAEP8gCwsgCRD3ASANQQFqIQ0MAQsLIBAQqgMgDxBeIAgoAgAiAAR/IAAgACABQQgQkQYaIAkgAEEAEJ0GIgA2AgAgABC4AyEHQQAhCwNAIAsgB0gEQCAKIAkoAgAgC0ECEJ0EIgA2AgAgDCAIKAIAIAAQ5AMiADYCACAAIA4Q6AcgDBBeIAwgASAKKAIAEOQDIgA2AgAgACAGEOgHIAwQXiAGKAIAt0QAAAAAAADoP6IgDigCALdkBEAgCCgCACAKKAIAEOUHCyAKEPcBIAtBAWohCwwBCwsgCRCqAyAIKAIAIgAgChDXBSAKKAIABEAgCBBeBSACIAIgABDgAxogAyADIAgoAgAQ4AMaIAIgBBDXBSADIAUQ1wULIAgoAgAFQQALIREgBiQGIBELqAIBCH8jBiEDIwZBIGokBiABIANBGGoiASADQRRqIgYgA0EQaiIEIANBDGoiBRDlAyAEKAIAIAUoAgBKBEAgAhClASEHIAYoAgAiCSAAaiAFKAIAaiEIIAYgCSAAayIAQQAgAEEAShsiADYCACAFIAggByAIIAdIGyAAayIFNgIAIAEoAgAhASAEKAIAIQQFIAIQvgEhByABKAIAIgkgAGogBCgCAGohCCABIAkgAGsiAEEAIABBAEobIgE2AgAgBCAIIAcgCCAHSBsgAWsiBDYCACAGKAIAIQAgBSgCACEFCyADQQhqIgYgASAAIAQgBRDBAiIANgIAIANBBGoiASACIAAQ5AMiADYCACAGEPcBIAAgAxDoByABEF4gAygCACEKIAMkBiAKC5UBAQh/IwYhAiMGQRBqJAYgAiAAENgTIgA2AgAgABC+ASEGIAAQpQEhByAAEHchCCAAEHUhA0EAIQADQCAEIAdIBEBBACEBA0AgASAGSARAIAMgAWpBA3MtAAAhBSABQQFqIQEgBSAAIAAgBUgbIQAMAQsLIAMgCEECdGohAyAEQQFqIQQMAQsLIAIQXiACJAYgAEEBdAslACAAQQRqEFcgAEEIahBXIABBDGoQeSAAQQA2AgAgAEEANgIUC4YBAQF/IAAQVyAAQQRqIgEQ9SogAEEwahCZASAAQTRqEFcgAEE4ahBXIABBPGoQVyAAQUBrEFcgAEHEAGpDAACAP0MAAAAAEKQBIABBzABqQwAAgD9DAAAAABCkASAAQdQAakMAAIA/QwAAAAAQpAEgAEHcAGoQmAEgAEEAOgAdIAFBADYCAAsnAQF/IABBCGoiAiABKQEANwEAIAAgAi4BBjsBOCAAIAIuAQI7AToL7gIBDn8jBiEEIwZB0AFqJAYgBEHIAGohBSAEQUBrIQYgBEEkaiEHIARBIGohDCAEQRxqIQ0gBEEYaiEOIARBCGohCSAEQcQBaiIKEFcgBEGoAWoiDyAKEFUgAigCABC4AyEQA0AgCyAQSARAIAIoAgAgCyAFIAYgByAMEPsHIA0gBSgCAEH//wNxIAYoAgBB//8DcRChASAOIAcoAgAgBSgCAGpB//8DcSAMKAIAIAYoAgBqQf//A3EQoQEgCRCYASAJIA0oAgAiCDYCAEEgEE8iESAJIAhB//8DcSAIQRB2IA4oAgAiCEH//wNxIAhBEHZBABDBECAPIBEQoAEgC0EBaiELDAELCyAFEPYqIAZBAEEAEKEBIAQgAEH//wNxIAFB//8DcRChASAFIAYoAgAiAEH//wNxIABBEHYgBC4BACAELgECIAoQvBggByADEFUgByAFEMAMEIYCIAIQqgMgBRCtCiAKEI8DIAQkBgt1AQF/IABEAAAAAAAAAAA5AwAgAEEAOgAIIABBADoACSAAQQU2AgwgAEEFNgIQIABBlgE2AhQgAEEBNgIYIABBATYCJCAAQfQDNgIoIABBLGoQmAEgACADQQMgA0EDShsiBDYCHCAAIAQ2AiAgACABIAIQyxYLPgECfyAALgEKIQIgAEEIaiIBIAEuAQAQ9AEgASACEOIBIAAuAQ4hASAAQQxqIgAgAC4BABD0ASAAIAEQ4gELnAIBCH8jBiEHIwZBQGskBiAHQShqIQkgB0EgaiEIIAdBNGohCyAHQTBqIQwgB0EsaiEKIAdBJGoiDSABNgIAIAdBHGoiDiACNgIAIAMEQCADKAIABEAgCRBXIAgQV0EBIAMoAgAgACAJIAgQuRYgBRC+ASEBIAUQpQEhACALQQBBABChASAMIABB//8DcSABQf//A3EQoQEgCyAMIAggDSAOIAYQuBYgBigCAARAQQEgCCADKAIAELcWIAMoAgAgBCAFELYWIAoQmAEgCiANKAIAIA4oAgAQuQ8gCiAGQQAQiQwgByAGEH0gBxCUAQNAIAcQjgFFBEAgBxBwEPoqIAcQeAwBCwsFIAMQXgsgCBDaAyAJEOECCwsgByQGC9kBAQZ/IwYhByMGQSBqJAYgB0EEaiEIIAdBEGohCiAHQQxqIQsgB0EIaiEJIAMEQCADKAIABEAgCBBXIAcQV0EAIAMoAgAgACAIIAcQuRYgBRC+ASEMIAUQpQEhACAKQQBBABChASALIAxB//8DcSAAQf//A3EQoQEgCiALIAcgASACIAYQuBYgBigCAARAQQAgByADKAIAELcWIAMoAgAgBCAFELYWIAkQmAEgCSABKAIAIAIoAgAQuQ8gCSAGQQAQiQwFIAMQXgsgBxDaAyAIEOECCwsgByQGC6EHAQh/IwYhCyMGQTBqJAYgC0EkaiIKQQA2AgAgC0EgaiIJQQA2AgAgAEEUEE4hDSAAQQQQTiEOIAhBAEciEARAIAsgADYCACALIA02AgQgCyAONgIIQZjjGiALEEsgCkEAIAEgAEE8EE4iDCAMEKwOIgw2AgAgCCAMQQIQ0AIFIApBACABIABBPBBOIgwgDBCsDiIMNgIACyALQRxqIg8gDCANIA0QwgsiDTYCACAQBEAgCCANQQIQ0AIgCUEAIAwgDRDgAzYCACAPEF4gCCAJKAIAQQIQ0AIFIAlBACAMIA0Q4AM2AgAgDxBeCyACIAkoAgBBASAOEMILNgIAIAQgCSgCACAOQQEQwgs2AgAgCRBeIAtBGGoiDkEANgIAIAtBFGoiCUEANgIAIAIoAgAgDhDXBSAEKAIAIAkQ1wUgB0EARyIPBEAgByAJKAIAIA4oAgByBH9BAAUgACAKKAIAIAIoAgAgBCgCACAOIAkQ8ioLIgw2AgALIAoQXiALQRBqIgpBADYCACAGQQA2AgAgC0EMaiINQQA2AgACQAJAAkAgDigCAARAIAIQXiADQQA2AgAgCSgCAA0BIApBACABIAQoAgAQ4AM2AgAFIApBACABIAIoAgAQ4AMiATYCACAJKAIARQRAIAEgASAEKAIAEOADGiAGQQAgAigCACAEKAIAEJMGIgE2AgAgDUEAIAIoAgAgARDgAzYCACAKKAIAIQELIANBACABQQZBARDMDiIBNgIAIAEgASAKKAIAQQgQkQYaIAkoAgBFBEAgAygCACIBIAEgBCgCABDkByADKAIAIgEgASAGKAIAEOADGgsgACADKAIAIAYoAgAgAigCABCoD0UEQCACEF4LCyAJKAIARQRAIAVBACAKKAIAQQFBBhDMDiIBNgIAIAEgASAKKAIAQQgQkQYaIA0oAgAiDARAIAUoAgAiASABIAwQ5AcgDRBeCyAAIAUoAgAgBigCACAEKAIAEKgPDQIgBBBeDAILCyAEEF4gBUEANgIAIA4oAgBFDQAMAQsgEARAIAIoAgAiAARAIAggAEECENACCyAEKAIAIgAEQCAIIABBAhDQAgsgCigCACIABEAgCCAAQQIQ0AILIAMoAgAiAARAIAggAEECENACCyAFKAIAIgAEQCAIIABBAhDQAgsgBigCACIABEAgCCAAQQIQ0AILIA8EQCAHKAIAIgAEQCAIIABBAhDQAgsLCyAKEF4LIAskBgtDAQJ/IAAoAgghAiAAKAIEIAAoAgwiA0EBdWohACADQQFxBEAgACgCACACaigCACECCyAAIAEgAkH/AXFBkAJqEQEACykAIABBqK4WNgIAIABBlK4WNgIAIAAgATYCBCAAIAI2AgggACADNgIMC2oBAX8jBiECIwZBIGokBiABQRQQTiEBIAIgAEHQAGoQVSACEFsDQAJAIAIQWQRAQQAhAAwBCyACEFMiAC4BBEF/aiABTARAIAEgAC4BBkEBakwEQEEBIQAMAgsLIAIQVgwBCwsgAiQGIAALOAEBfyAAQQA2AgQgAEEANgIIIABBADYCDCAAIAG3RAAAAAAAAFlAoxCcAiICQQEgAkEBShs2AgALqgEBAX8gACABIAIgAxC6FiAAQeynFjYCACAAQSBqEJgBIAAgBzYCJCAAQShqQQAgAy8BAkH//wNqQf//A3EQoQEgAEEsaiIBEFcgAEEwaiICIAEQfSAAQcwAahBXIABB0ABqEFcgAEHYAGoQsgEgAEHsAGoQsgEgAEHUAGoiAUEANgIAIAIgBBDFBCAAIAUgBhC6D0EQEE8iCCAAQd0AQQAQ/yogASAINgIAC9ECAQF/IwYhCyMGQSBqJAYgACABIAIgAyAHIAkgCiAEEIIrIABB2KcWNgIAIAAgBUEBcToAgAEgACABt0QAAAAAAADgP6IQWjYChAEgACADLgEAIAIuAQBrNgKIASAAIAY5A5ABIABBmAFqQwAAAABDAAAAABCkASAAQaABakMAAIA/QwAAAAAQpAEgAEGoAWpDAACAP0MAAAAAEKQBIABBsAFqQwAAgD9DAAAAABCkASAAQbgBakMAAAAAQwAAAAAQpAEgAEHAAWoQsgEgAEEANgLUASAAQQA2AtgBIABB3AFqIAEgAiADEOEWIABB/AFqEFcgAEGAAmoQVyAAQYQCahBXIABBiAJqEFcgAEGMAmoiARBXIABBADYCkAIgAEGUAmogBBCBKyAAQQA2AqQCIABBADYCqAIgAEEANgKsAiALIAEQfSALIAgQxQQgCyQGC4gBACAAIAEgAiADENYJIABBwKgWNgIAIABBADYCICAAQQA2AiQgAEEANgIoIABBLGogAigBACIBQf//A3EgAUEQdiADKAEAIgFB//8DcSABQRB2EIQDIABBNGpDAACAP0MAAAAAEKQBIABBPGoiAEIANwIAIABCADcCCCAAQgA3AhAgAEEANgIYCzgBAXwgACABIAIgAxDWCSAAQcSnFjYCACAAIAG3IgREAAAAAAAAoD+iIASiEFo2AiAgAEEANgIkCz0BAn8gAEEQaiEBIABBHGohAkEAIQADQCAAIAEoAgBIBEAgAigCACAAQQJ0akEANgIAIABBAWohAAwBCwsLQgAgACABIAIgAxCoGCAAQRxqIgEoAgAiAgRAIAIQTAsgAUF/IAAoAhAiAUECdCABQf////8DSxsQTzYCACAAEIYrC/YBAQt/IwYhAiMGQRBqJAYgAkEEaiEGQSAQTyIIIAAoAgQgABB7IAAQngIQuxYgAEEMaiEJIABBCGohCgNAIAMgCSgCAEgEQEEAIQEDQCABIAooAgBIBEBBfyEEQQAhBwNAIARBAkcEQCAEIANqIQtBfyEFA0AgBUECRwRAIAYgBSABajYCACACIAs2AgAgACAGIAIQzQ8gBUEBaiEFIAAgBigCACACKAIAEMsDIAdqIQcMAQsLIARBAWohBAwBCwsgACABIAMQywNBAUoEQCAIIAEgAyAHEPgLCyABQQFqIQEMAQsLIANBAWohAwwBCwsgAiQGIAgLkAIBCn8jBiEEIwZBEGokBiAEIAAoAQw2AgAgAEEQaiEKIAFBf3MhCCACQX9qIQkgAEEUaiELIARBBGoiBkECaiEMIARBAmohBQNAIAcgCi4BAEgEQCAGIAsoAgAgBxDaAQJAIAwuAQAiDSIAQQBIBEAgAyAELgEAIAFrIAIgBS4BAGtBARCBBAUgAEH//wNxBEAgAyAIIAQuAQBqIAkgBS4BAGtBARCBBAwCCyAGLgEAIgBBAEgEQCADIAggBC4BAGogAiAFLgEAa0EBEIEEDAILIABB//8DcQRAIAMgBC4BACABayAJIAUuAQBrQQEQgQQLCwsgBCAGLgEAIA0Q6AEaIAdBAWohBwwBCwsgBCQGCzsBAX8jBiEEIwZBIGokBiAEIAAQVSAEEFsDQCAEEFlFBEAgBBBTIAEgAiADEIkrIAQQVgwBCwsgBCQGC/4BAQF/IwYhBCMGQRBqJAYgBCABKQEANwMAIAQgAS4BBCADahCOAgJAIAIgBBCNCARAIAQgASkBADcDACAEIAEuAQAgA2sQjwIgAiAEEI0IRQRAIAAgBCkDADcBAAwCCyAEIAEpAQA3AwAgBCABLgEGIANqEKcCIAIgBBCNCEUEQCAAIAQpAwA3AQAMAgsgBCABKQEANwMAIAQgAS4BAiADahC3AiACIAQQjQhFBEAgACAEKQMANwEADAILIAQgASkBADcDACAEQQRBBBCtBCACIAQQjQgEQCAAIAEpAQA3AQAFIAAgBCkDADcBAAsFIAAgBCkDADcBAAsLIAQkBgtLAQJ/IwYhASMGQRBqJAYgASAAENIBIAEQbkEQdEEQdSABEGtBEHRBEHVBARDHASECIABBBGogAS4BACABLgEGIAIQiisgASQGIAILfwEEfyMGIQMjBkHwAGokBiADIAAQgAEgAyABEGIiBBDzASADEIUCQQAhAQN/An8gASACSiEFA0BBACAFDQEaQQAgAxCEByIARQ0BGiAEIAAQYhC0A0UNAAsgAUEBaiEAIAEgAkgEfyAAIQEMAgVBAQsLCyEGIAMQfyADJAYgBguUAgEMfyMGIQQjBkEgaiQGIARBEGohCCAAIAEuAQAgAS4BAiAEQQxqIgUgBEEIaiIHELYCIAAgAS4BBCABLgEGIARBBGoiAyAEELYCIABBBGohCiAEKAIAIQsgBSgCACEMIAMoAgAhDUEAIQUgBygCACEGA0AgBiALTARAIAZBAWohByAMIQMDQAJAA0AgAyANSg0BIAAgAyAGEMsDIAJMBEAgA0EBaiEDDAELCyAIIAooAgAiCSADbEH//wNxIAkgBmxB//8DcSAJIANBAWoiA2xB//8DcSAJIAdsQf//A3EQlQIgCCABEIMKGiAIEPYBIAVqIQUMAQsLIAchBgwBCwsgBUEBdCABEPYBSiEOIAQkBiAOC/sBAQp/IAAQngIiAi4BACAAEHsiBC4BAGsgAkECaiIHLgEAIAQuAQJrQQEQxwEhBiAAKAIEIQUgAEEMaiEIIABBCGohCUEAIQIDQCACIAgoAgBIBEAgAkF/aiEKIAJBAWoiBCAFbCELQQAhAwNAIAMgCSgCAEgEQCAAIAMgAhDLAyABSgRAIAAgA0F/aiACEMsDQQBKBEAgACADQQFqIAIQywNBAEoEQCAAIAMgChDLA0EASgRAIAAgAyAEEMsDQQBKBEAgBiADIAVsIAcuAQAgC2sgBSAFQQ9BAEEAQQAQywELCwsLCyADQQFqIQMMAQsLIAQhAgwBCwsgBguXBAEUfyMGIQQjBkEwaiQGIARBJGohDSAEQSBqIQ4gBEEcaiEPIARBGGohECAAELwWIgcQiCshCCADELwWIQYgAhClASESIABBIGoiCSgCALdEAAAAAAAA2D+iEJwCIRMgAEEMaiEUIABBCGohFSAAQQRqIRFBACEAA0AgACAUKAIASARAQQAhAwNAIAMgFSgCAEgEQCAIIAMgABDLAyELIAkoAgAiBSALIBNqIgxOIAsgBUpyRQRAIA0gESgCACIFIANsIgo2AgAgDiAFIApqNgIAIA8gEiAFIABsayIKNgIAIBAgCiAFazYCACACIA0gECAOIA8Q8xYEQCAIIAMgACAMEPgLCwsgAQRAIAsgCSgCAEoEQCAGIAMgABDLA0EASgRAIBEoAgAhBSAIIAMgABDLAyEMIAYgAyAAEMsDIQogByADIAAQywMhFiAJKAIAIRcgBCAFIANsNgIAIAQgBSAAbDYCBCAEIAw2AgggBCAKNgIMIAQgFjYCECAEIBc2AhRB0d8aIAQQSwsLCyALIAkoAgBKBEAgBiADIAAQywNBAEoEQCAHIAMgABDLA0EDdCAJKAIATARAIAggAyAAQQAQ+AsLCwsgA0EBaiEDDAELCyAAQQFqIQAMAQsLIAcEQCAHIAcoAgAoAgRB/wNxQaIHahEAAAsgBgRAIAYgBigCACgCBEH/A3FBogdqEQAACyAEJAYgCAsoACAAIAMQgwwgAgRAA0AgACADEPAWDQALCyAAIAFBABCCDCAAELADC7QDAgZ/AXwjBiEEIwZBQGskBiAAIANBEGoiCBC9BCAAIANBDGoiCRC9BCAEQSBqIgcgACgCBCAAEHsgABCeAhDWCSAEIANBBGoiBRBVIAQQWwNAIAQQWUUEQCAEEFMiBigCBBC7B7dEAAAAAAAA0D+iIQogBhDpFkUgCiAKIAYoAhgQ0Re3o6JEAAAAAAAA+D9jcgRAIABBAUEBIAYQkwgFIAdBAUEBIAYQkwgLIAQQVgwBCwsgAEEkaiIGIAAgASACIAcQkCs2AgAgBxCwAyAGKAIAIAAoAiAQjyshAiABBEBBq98aIAJBAxDuBiAAIANBFGoiAUEDIAIQuwQgACAFQQwgAhC7BCAAELADIAAgBRC9BCAAIAFBDCACELsEIAAQsAMgACAJQX8gAhC7BCAAIAhBfyACELsEIAAgBUF/IAIQuwRBvd8aIAJBAxDuBgUgACADQRRqIgFBAyACELsEIAAgBUEMIAIQuwQgABCwAyAAIAUQvQQgACABQQwgAhC7BCAAELADIAAgCUF/IAIQuwQgACAIQX8gAhC7BCAAIAVBfyACELsECyAHEPsFIAQkBiACC0wBAX8jBiECIwZBIGokBiAAIAFBBGoiARC9BCACIAEQVSACEFsDQCACEFlFBEAgAEEAQQAgAhBTEK0PIAIQVgwBCwsgABCwAyACJAYL1AIBCX8jBiEDIwZB0ABqJAYgA0FAayIEQQA2AgAgA0E8aiIFQQA2AgAgA0E4aiIGEFcgA0E0aiIHEFcgA0EwaiIIEFcgAUEEaiAEIAUgBiAHIAgQvRYgAUEUaiAEIAUgBiAHIAgQvRZBzLz5ACgCAARAIAUoAgAhBSAEKAIAIQEgBxC5AiEEIAYQuQIhCSAIELkCIQogAyAFNgIAIAMgATYCBCADIAQ2AgggAyAJNgIMIAMgCjYCEEH23hogAxBLBSAEKAIAIQEgBSgCACEFCyADQRRqIQQCfyACQQBHIgkgBSABckVxBH8gBCACEJIBIAQgCBC1BkEABSABIAUgAWq3IACiEFpIBH9BACAJRQ0CGiAEIAIQkgEgBCAHELUGQQAFQQEgCUUNAhogBCACEJIBIAQgBhC1BkEBCwsLIQsgCBDvASAHEO8BIAYQ7wEgAyQGIAsLLgEBfwNAIAAEQCACIAFBAXFyIABBAUp0IQIgAEF/aiEAIAFBAXUhAQwBCwsgAgv6BgIXfwJ9IwYhGCMGQaABaiQGIBgiCkH4AGohByAAQShqIQsgAEEkaiEPIABBHGohEiAAQQxqIRMgAEEgaiEUIABBCGohDCAAQRBqIRUgAEEYaiEWIABBBGohECAAQRRqIRcDQCADQQRHBEBBACECA0AgAkH4AEcEQCAKIAJqQQA6AAAgAkEBaiECDAELCyAHEFcgByABIANBAnRqEJYBIAcQW0HT1fkAIRFBfyECQX8hBEEAIQVDAACAvyEZAkACQANAAkAgBxBZDQIgBxBTIg0oAighDgJAAkAgCygCACIGRQ0AIAYoAgAiCUUNAEEAIQgCQAJAA0AgCCAJSARAIAYgCBBNKAIAIA5GDQIgCEEBaiEIIAsoAgAiBigCACEJDAELCwwBCyALKAIAKAIAIQkLIAggCUcNAAwBCyAKIA5qIgYsAABFBEAgBkEBOgAAIA8oAgBBFGogDSgCBBDMASEGIA0qAiSMIRogGUMAAAAAXQRAIAYhESANLgEcIQIgDiEEQQEhBSAaIRkFIBlDAACAP5IgGl4EQCAFQQFqIQULCyAREGNBAUYEQCAGLAAAQVBqQRh0QRh1Qf8BcUEKSA0FCyAFQQFKDQILCyAHEFYMAQsLDAELIAVBAUYEQCAAKAIAQRBqIANB4ANsaiAEQQJ0aiIFIAUqAgBDAACAP5I4AgAgAkF/SiAEIBIoAgBGcQRAIA8oAgAQ9AYgAhCtAygCBEEQcQRAIAAoAgAiAkEQaiADQeADbGogBEECdGoiBSAFKgIAQwAAgL+SOAIAIAJBEGogA0HgA2xqIBQoAgBBAnRqIgIgAioCAEMAAIA/kjgCAAsLIAQgEygCAEYEQCAAKAIAQRBqIANB4ANsaiAMKAIAQQJ0aiICIAIqAgBDAACAP5I4AgALIAQgFSgCAEYEQCAAKAIAQRBqIANB4ANsaiAMKAIAQQJ0aiICIAIqAgBDAACAP5I4AgALIAQgFigCAEYEQCAAKAIAQRBqIANB4ANsaiAQKAIAQQJ0aiICIAIqAgBDAACAP5I4AgALIAQgFygCAEYEQCAAKAIAIgJBEGogA0HgA2xqIBAoAgBBAnRqIgQgBCoCAEMzMzM/kjgCACACQRBqIANB4ANsaiAMKAIAQQJ0aiICIAIqAgBDmpmZPpI4AgALCwsgA0EBaiEDDAELCyAKJAYLoAQCB38DfSMGIQIjBkEwaiQGIAJBEGohAyACIgVCADcDACACQgA3AwggAEEEaiEIA0AgBkEERwRAIAMgASAGQQJ0ahBVIAMQtQFFBEACQAJAIAgoAgAiAkUNACACKAIARQ0AIAMQW0EAIQIDQCACRSADEFlBAXNxBEAgAxBTKAIoIQRBACEHAkACQANAAkAgByAIKAIAIgIoAgBOBEBBACECDAELIAIgBxBNKAIAIARGDQIgB0EBaiEHDAELCwwBCyADEFMhAgsgAxBWDAELCwwBCyADEFMhAgsgAgRAIAUgBkECdGogAioCJLtEmpmZmZmZqT+iRAAAAAAAAPA/oLYiCTgCACAKIAmSIQoLCyAGQQFqIQYMAQsLAkAgCkMAAAAAXARAQQAhAkEAIQFDAAAAACEJA0AgAkEERwRAIAUgAkECdGoqAgAiC0MAAAAAXgRAIAFBAWohASALIAkgCUMAAAAAWyALIAldchshCQsgAkEBaiECDAELCyAJQwAAAD+UIAkgAUEBRhshCUEAIQIDQCACQQRHBEAgBSACQQJ0aiIBKgIAQwAAAABbBEAgASAJOAIAIAkgCpIhCgsgAkEBaiECDAELCyAKQwAAAABcIQJBACEEA0AgAiAEQQRJcUUNAiAFIARBAnRqKgIAIAqVEIUTIQkgACgCACAEQQJ0aiIBIAEqAgAgCZI4AgAgBEEBaiEEDAAACwALCyAFJAYLiQECA38DfSAAQZQPaiIDIAAqAgAiBSAAKgIEIgRdIgI2AgBBAiEBIAUgBCACGyEGIAQgBSACGyEEA0AgAUEERwRAIAAgAUECdGoqAgAiBSAEXgRAIAMgATYCACAEIQYgBSEEBSAFIAZeBEAgBSEGCwsgAUEBaiEBDAELCyAAQaAPaiAEIAaTOAIAC9EDAgp/BH0jBiEFIwZBMGokBiADQegFakEBEIsDIANB+AVqQQAQiwMgBUEgaiIGIANBosgIai0AAEEARyAAKAIEEPAOIgkoAgAQzQEgBUEYaiIKQwAAgD9DAAAAABCkASAFQRBqIgRDAAAAAEMAAIA/EKQBIAUiB0EQaiELIAUhAANAIAAQVyAAQQRqIgAgC0cNAAsgBCoCACEQIAQqAgQhEUEAIQADQCAAQQRJBEAgBi4BACEEIAYuAQQhCCAGLgECIQwgBi4BBiENIABBAnJBAkYEfyANIAwgABtBEHRBEHWyIQ4gCEEQdEEQdSAEQRB0QRB1arJDAAAAP5QhDyAGEGsFIA0gDGqyQwAAAD+UIQ4gBCAIIABBAUYbQRB0QRB1siEPIAYQbgshCEE4EE8iBCAJEIEIIARBACAKQQAgDyAOQwAAAEMgCEEQdEEQdbKVIg4gDkMAAIBCQQBBABDeCyADIAQgByAAQQJ0ahDKCSAKIBAgERC1BCAEEJEFIAQQTCAAQQFqIQAMAQsLIAkQkQUgCRBMIAEgBxCXKyACIAcQlisgARDAFiEAIAIoAgAgABC/FiALIQADQCAAQXxqIgAQnwYgACAHRw0ACyAFJAYLZwEGfyAAQQRqIgUoAgAiAkEBIAAoAggiBnQiA0gEfyACIQEDQCABIANIBEAgBSABQQFqIgQ2AgAgBiABEJUrIgIgACgCAEgEfyAEBSAEIQEMAgshAQsLQX8gAiABIANKGwVBfwsiAAsoACAAIAE2AgAgAEEANgIEIAAgAbcQjgtE7zn6/kIu5j+jmxBaNgIIC7sBAQF/IAAgAjYCACAAQSRqIgQgAzYCACAAIAE2AiggACADQRRqQYr7GhDjBDYCDCAAIAQoAgBBFGpBgfsaEOMENgIQIAAgBCgCAEEUakH9+hoQ4wQ2AhQgACAEKAIAQRRqQZj7GhDjBDYCGCAAIAQoAgBBFGpBzNsaEOMENgIIIAAgBCgCAEEUakHV2xoQ4wQ2AgQgACAEKAIAQRRqQej6GhDjBDYCHCAAIAQoAgBBFGpBrdkXEOMENgIgCzYBAn8jBiEBIwZBIGokBiAAQTBqIgAoAgAQqAIEfyABIAAQkgEgARCBAQVBAAshAiABJAYgAguuAgIHfwJ8IwYhAiMGQeAAaiQGIAJBOGoiBCABEH0gAkEoaiIBQQAgACgCJEEBdCIAELEBIAJBGGoiBkEAIAAQsQEgBBCUAUF/IQADQCAEEI4BRQRAIAQQcCIDEJ0rIQUgAygCKCIHEO8DBEAgBUEARyAHEOYEQQFzcQRAIAYgBRBiIgUuAQAgAxBiIgMuAQBrQQEQiAEgAEEASgRAIAAgAy4BACIDSARAIAEgAyAAa0EBEIgBCwsgBS4BACEACwsgBBB4DAELCyABKAIIIQBBzLz5ACgCAARAIAEQ4wEhCSAGEOMBIQogAiAANgIAIAIgCTkDCCACIAo5AxBBwd0aIAIQSwsgAEEKSAR/QQAFIAEQ4wEQWgshCCAGKAIMEIQBIAEoAgwQhAEgAiQGIAgLdgEBfyMGIQMjBkEQaiQGIAAgAigCBCACEHsgAhCeAhDOAyADIAAQeygBACICQf//A3EgAkEQdiAAEJ4CKAEAIgJB//8DcSACQRB2EIQDIAAgAykDADcBLCAAQTRqIgAgASoCABCXBCAAIAEqAgSMEJYDIAMkBgurAgEHfyMGIQQjBkHwAGokBiAEQdgAaiIHEFcgBEE8aiIJIAcQfSAEQThqIggQVyAEQRxqIgogCBB9IABBMGohBQNAIAUQ+QFFBEAgBRCHAiIGKAIoEOYEBEAgBiABEIcMIAkgBhCpAgUgCiAGEKkCCyAFEHgMAQsLIAAgCBCeKyIGIAMoAgBKBEAgAyAGNgIACyAEQeAAaiEDIAQgAhB9IAQQlAEDQCAEEI4BRQRAIAQQcCABEIcMIAQQeAwBCwsgBSACEMUEIAUQnQMgBCACEK8DIAQgBxDFBCADIAAQeygBACICQf//A3EgAkEQdiAAEJ4CKAEAIgJB//8DcSACQRB2EIQDIAMgARC7DyAAIAAoAgQgAyADEJEBEM4DIAgQqAQgBxCoBCAEJAYLwwUECH8BfgJ9BHwjBiEHIwZB4ABqJAYgB0EgaiIFQwAAAABDAACAPxCkASAHQRhqIghDAAAAAEMAAIC/EKQBIAdBEGoiCkMAAIC/QwAAAAAQpAEgB0EIaiIEQwAAgD9DAAAAABCkASAAQbgBaiILIAQpAwAiDDcCACAAQagBaiIGIAw3AgAgDKchCSAMQiCIpyEEAkACQAJAAkACQAJAIANBAWsOAwABAgMLIAUhBAwDCyAKIQQMAgsgCCEEDAELDAELIAYgBCkDACIMNwIAIAynIQkgDEIgiKchBAsgA0EBcUEARyACcyIKBH8gBiAFKgIAIAUqAgQQtQQgCyAIKgIAIAgqAgQQtQQgBioCACENIABBrAFqIgQhCCAEKgIAIQ4gBgUgCb4hDSAAQawBaiEIIAS+IQ4gBgshAiAHQShqIQUgByANIA6MEKQBIABBsAFqIgkgBykDADcCAAJAAkAgAioCAEMAAIA/XA0AIAgqAgBDAAAAAFwNAAwBCyAGIAFBFGoQpwYgBiABQQRqEKcGIAYgAUEQahCnBiAGIAFBDGoQpwYgACAGIABBjAJqIABBhAFqEKArIABB3AFqIgQgACgCBCAAEHsgABCeAhDOAyABEMIWIAAgARDsCSAAKALYASAJIAQQnysLQcy8+QAoAgAEQCACKgIAuyEPIAgqAgC7IRAgCyoCALshESAAKgK8AbshEiAFIApBAXE2AgAgBSADNgIEIAUgDzkDCCAFIBA5AxAgBSAROQMYIAUgEjkDIEHw3BogBRBLCyAHQdAAaiEBIABBpAJqIgAoAgAEQCABQeiOGjYCACABQYACNgIEQby6+QBBrt0aQQJBx+scIAEQUQtBNBBPIgEQqwQgACABNgIAIAFBACAGQQBDAAAAAEMAAAAAQwAAgD9DAACAP0MAAAAAQwAAAAAQ1gYgByQGC/MBAQZ/IwYhBSMGQTBqJAYgAEHcAWogAEEEaiIHKAIAIAAQeyIIIAAQngIiCRDOAyAAQdgBaiIGKAIAIgQEQCAEIAQoAgAoAgRB/wNxQaIHahEAAAtB2AAQTyIEIAcoAgAgCCAJEIQrIAYgBDYCACAAIAcoAgC3RAAAAAAAAOA/ohBaNgKEASADEMIWIAAgAxDsCSAAQZACaiIEEF4gBigCACADEJMrIAUgBygCACAIIAkQhSsgBCAFQcy8+QAoAgBBAEcgAiADEJIrNgIAIAYoAgAgASAALACAAUEARyADEJErIAYoAgAQsAMgBRCuESAFJAYL+wICCn8BfiMGIQcjBkEQaiQGIAIgAEogASAATiACQQBKcXEEfyAAQQBMBEAgB0Hc2ho2AgAgB0EjNgIEQYSuFkHP2hpBAkHH6xwgBxBRCyAAQQF0IQkDQCAFIAJIBEAgAyAFQQV0akEEaiEIIAMgBUEFdGoiCiELIAMgBUEFdGpBDGohDCAAIQQCQAJAA0ACQCAEIAFKDQIgC0EAIApBACAEa0EFdGogBCAFShtBjQcRGgAhDiAEIAlKIAwoAgBBAEdxBEAgDiAIKAIAIgasVQRAIAYhBAwCCwsgBEEBaiEEDAELCwwBCyAIKAIAIQQLIAggBCADIAVBBXRqKAIAajYCACAFQQFqIQUMAQsLIAIgAGshBSACQX5qIQEgAkF/aiIGIQAgAyAGQQV0aigCBCEGA0AgASAFTgRAIAEgACADIAFBBXRqKAIEIgIgBkgiBBshACABQX9qIQEgAiAGIAQbIQYMAQsLIAMgAEEFdGoFQQALIQ0gByQGIA0LfQICfwJ+IAFFIAEgAEZyBEAgAEIAQQFBAEEAQQBCABDHFgUgASgCFCAAIAFrQQV1IgNqIQIgACABKQMYIAMgA2ytfCIFIAIgAmwgASgCEEEBaiIAEE6sfSAArBCqDyABKAIErHwiBCABKAIIQQFqIAEgACACIAUQxxYLIAQLNwEBfyAAQQA2AgAgAEH/////BzYCBCAAQQE2AgggAEEMaiIBQgA3AgAgAUIANwIIIAFBADYCEAvEBwIRfwV8IwYhBCMGQfAAaiQGIARB4ABqIgtBACAAQRBqIgUQbkEQdEEQdSIHELEBIARB0ABqIgxBACAHELEBIARBMGoiASAAQcwAahCSASABEIEBIgNBAhDBBCAMIAMQYhBuQRB0QRB1QQEQiAEgARCrARpBASEIA0AgARCpBkUEQCABEIEBIgYQYiICLgEAIQkgAi4BBCECIAsgCSADEGIuAQRrQQEQiAEgDCACIAlrQQEQiAEgBkECEMEEIAEQqwEaIAYhAyAIQQFqIQgMAQsLIAsQ4wEhEiAMEOMBIhMgEiATIBJjGyEVIAtEAAAAAAAA6D8QzgEgC0QAAAAAAADQPxDOAaEhFCATIBIgEiATYxtEAAAAAAAA0D+iIRZBzLz5ACgCAEEDSgRAIAQgFDkDACAEIAg2AgggBCAWOQMQIAQgFUQAAAAAAADgP6I5AxhB/NkaIAQQSwsgBEEoaiENIARBIGohECAUIBZjBEAgCEEESyAUIBVEAAAAAAAA4D+iY3EEQCAURAAAAAAAAABAopsQWiEKIBIgE6BEAAAAAAAA4D+gEFoiDiAKayEPIAUuAQAhCSAPQQIQTiERQX8gDyAHaiIHQQV0IAdB////P0sbEE8hBiAHBEAgBiAHQQV0aiECIAYhAwNAIAMQpSsgA0EgaiIDIAJHDQALCyAKIA5qIQogARCeASARIAlrIQ4DQCABEI0BRQRAIAEQgQEQYiICLgEAIQMgAi4BBCEJIAIQa0EQdEEQdSEFIAYgDiADakEFdGohAgNAIAMgCUgEQCACIAIoAgAgBWo2AgAgA0EBaiEDDAELCyABEKsBGgwBCwsCfwJAIA8gCiAHIAYQoysiAkUiAw0AIAIoAgQgCE4NACABEJ4BQQAhAwJAAkACQAJAA0AgARCNAQ0CIAEQgQEhBQJAAkAgARCpBkUNACABQQEQyBYQYi4BACAFEGIiAi4BBGsgAhBuQRB0QRB1aiAKTA0AIAEQkAIaQQEhAwwBCyABEJ8FBEAgBRBiIgIuAQAgAUF/EMgWEGIuAQRrIAIQbkEQdEEQdWogCkoNAwsgBUEHEOgEIAVBBhDBBAsgARCrARoMAAALAAsgARCQAhoMAQsgAw0ADAELIAAQzwMLIABBBzYCMCAAQQY2AjRBAQwBC0HMvPkAKAIABEAgAwRAQafaGiAQEEsFIA0gAigCBDYCACANIAg2AgRBsNoaIA0QSwsLQQALIQAgBhBMBUEAIQALBUEAIQALIAwoAgwQhAEgCygCDBCEASAEJAYgAAvyAwEIfyMGIQQjBkHgAWokBiAEQdQAaiEIIARBOGohByAAIAFBEGoiCRC9BCAAIAFBDGoiChC9BCAEQfAAaiIGIAAQgAEgBhC4AQNAIAYQ7gMiAwRAIABBAUEAIAMQrQ8MAQsLIAggAhB9IAYQuAEDQCAGEO4DIgIEQCACKAIsRQRAIAJBAhDFAkUEQCACQQAQxQJFDQMLQcABEE8hBSAHQQBBARChASAFQQUgBxDqBSACIQMDQAJAIANFDQAgAygCLA0AIAUgAxCaAyADQQIQxQIhAwwBCwsDQAJAIAJBABDFAiICRQ0AIAIoAiwNACAFIAIQmgMMAQsLIAUQpisEQCAIIAUQqQIFIAUQnAMgBRBMCwsMAQsLQYys+QAoAgAEQCAAQQA2AjwLIAcgAUEEahBVIARBHGoiAyAJEFUgAxBbA0AgAxBZRQRAAkACQAJAAkAgAxBTIgEoAixBAmsOBQECAgIAAgsMAgsgAUEAEMEECyABEIsHIAcgAxCfARC7AQsgAxBWDAELCyAEIAoQVSAEEFsDQCAEEFlFBEACQAJAIAQQUyICKAIsIgFBBkYNACACKAIYEMgCDQAgAUECRgRAIAJBABDBBCACEIsHCwwBCyADIAQQnwEQuwELIAQQVgwBCwsgABCwAyAGEH8gBCQGC0UBAn8jBiEDIwZBEGokBiADIAEQYiIBKQEANwMAIAMgAy4BBBCPAiADIAMuAQQgAmoQjgIgACADIAEQyhYhBCADJAYgBAtFAQJ/IwYhAyMGQRBqJAYgAyABEGIiASkBADcDACADIAMuAQAQjgIgAyADLgEAIAJrEI8CIAAgAyABEMoWIQQgAyQGIAQLWAEBfyAAKAIAIQAgASgCABBiIgEuAQQgABBiIgIuAQRrIgBFBEAgAS4BACACLgEAayIARQRAIAIuAQIgAS4BAmsiAEUEQCACLgEGIAEuAQZrIQALCwsgAAvfCwEqfyMGIQQjBkHwAWokBiAEQRBqIQUgBEGAAWoiGCAAEIABIARBCGoiDyABEGIpAQA3AwAgAS4BMBC3ASEeIAEuATIQtwEhHyAPLgEAIhkhECAPLgEEIhohEiAPLgEGIQsgDy4BAiEOIA8QayEGQQMgECALEOYBIgwEQCAFIBA2AgAgBSALNgIEIAUgEjYCCCAFIA42AgwgBSAeNgIQIAUgHzYCFEGo1xogBRBLCyAEQfgAaiEbIARB8ABqISMgBEHoAGohJCAEQeAAaiElIARB2ABqISYgBEHQAGohJyAEQcgAaiEoIARBQGshKSAEQThqISogBEEoaiETIAZBEHRBEHVBBWxBf2ogAEEEaiIRKAIAIgVqIAUQTiEFIBggEiAQakECEE4gDiALakECEE4gBRCLCCACIAZBEHRBEHW3IAOiEFoiBSAFIAJIGyEGIAIgESgCAEEFbCIFIAUgAkgbISAgECAGayErIAYgEmohLCABLAByEIkBIgZBAXMhAiABLABzEIkBIgVBAXMhESAAKAIkt0QAAAAAAACgP6IQWiEhIAxBAXMhIkGBgICAeEEAIAUbIgghCUGBgICAeEEAIAYbIgYhCiACIRYgESEFAkACQANAAkADQCAYEKwRIgdFDQEgByABRg0ACyAEIAcQYikBADcDACAELgEAIhwhFCAELgEEIh0hFSAMBEAgBC4BAiEXIAQuAQYhDSATIBQ2AgAgEyAXNgIEIBMgFTYCCCATIA02AgxB4NcaIBMQSwsgHiAUSiAfIBVIckUEQCAHLgEwELcBIBBMBEAgBy4BMhC3ASASTgRAIBUgFGpBAhBOIRcgBC4BAiAELgEGakECEE4hBwJAICsgFUoiDSAXIBBKcgRAIBAgFCAhEJcCBEAgDARAQY/YGiApEEsLIAogCkGBgICAeEogByAOSHFqIQogBiAGQYGAgIB4SiAHIAtKcWohBgwCCyAcIBlOIB0gGUhyRQRAIAwEQEGh2BogKBBLCyAKIApBgYCAgHhKIAcgDkhxQR90QR91aiEKIAYgBkGBgICAeEogByALSnFBH3RBH3VqIQYLBSAMBEBB/9caICoQSwtBACECQYGAgIB4IAogByALSBshCkGBgICAeCAGIAcgDkobIQYLCyAcIBlIBEAgFiANIAQgDxDjBUEBc3IiDXEhFiANICJyRQRAQbfYGiAnEEtBACEWCwsCQCAsIBRIIg0gFyASSHIEQCASIBUgIRCXAgRAIAwEQEHb2BogJRBLCyAJIAlBgYCAgHhKIAcgDkhxaiEJIAggCEGBgICAeEogByALSnFqIQgMAgsgHCAaSiAdIBpMckUEQCAMBEBB7tgaICQQSwsgCSAJQYGAgIB4SiAHIA5IcUEfdEEfdWohCSAIIAhBgYCAgHhKIAcgC0pxQR90QR91aiEICwUgDARAQcrYGiAmEEsLQQAhBUGBgICAeCAJIAcgC0gbIQlBgYCAgHggCCAHIA5KGyEICwsgHSAaSgRAIBEgDSAEIA8Q4wVBAXNyIg1xIREgDSAickUEQEGF2RogIxBLQQAhEQsLIAhBgYCAgHhGIAZBgYCAgHhGIApBgYCAgHhGcSAJQYGAgIB4RnFxDQULCwsMAQsLDAELQYGAgIB4IQlBgYCAgHghCkGBgICAeCEIQYGAgIB4IQYLAkAgCkEBSiAGQQFKIAJycgRAIAFBAxD+BgUgFgRAIAAgASAgEKkrBEAgAUECEP4GDAMLCyABQQAQ/gYLCwJAIAUgCEEBSnIgCUEBSnIEQCABQQMQ7AQFIBEEQCAAIAEgIBCoKwRAIAFBAhDsBAwDCwsgAUEAEOwECwsgAUEgaiEFIAwEQCABKAIkIQAgG0Gg2RpBmdkaQfSpHSAFKAIAIgJBAkYbIAJBA0YbNgIAIBtBoNkaQZnZGkH0qR0gAEECRhsgAEEDRhs2AgRBqNkaIBsQSwsgBSgCAAR/QQEFIAEoAiRBAEcLIS0gGBB/IAQkBiAtC8gCAgJ/AXwgACAHQX1qQQJJOgAIIABBCWoiCCAHQQFGIAdBBEZyOgAAIABBDGoiCSAHNgIAIABBBDYCECAAQQA2AiggAEEsahCYASAAIAQgA2w2AhQgCCwAAAR/IABEAAAAAAAA8D85AwBEAAAAAAAAoD9EAAAAAAAABEAgCSgCAEEERiIEGyAGtyIKokQAAAAAAADgP6AQWiEGRAAAAAAAAARARAAAAAAAAKA/IAQbIAqiRAAAAAAAAOA/oBBaIQREAAAAAAAA8D8hCkEFBSAARAAAAAAAAOg/OQMAIAa3RAAAAAAAAKA/okQAAAAAAADgP6AQWiIEIQZEAAAAAAAA6D8hCkEECyEHIAAgBDYCHCAAIAY2AiAgACAHNgIkIAAgBSAKIAO3okQAAAAAAADgP6AQWiIDIAMgBUgbNgIYIAAgASACEMsWC8cNASR/IwYhCyMGQaACaiQGIAtBEGoiESADEGIpAQA3AwAgAy4BMBC3ASEGIAMuATIQtwEhDSALQRhqIQ9BAiAEIAIEfyARLgECBSARLgEGC0EQdEEQdSIMEOYBBEAgES4BBiEJIBEuAQQhByARLgECIQggDyARLgEANgIAIA8gCTYCBCAPIAc2AgggDyAINgIMIA8gBjYCECAPIA02AhRBqNcaIA8QSwsgC0EwaiEGIAFBFGoiGygCACIHQQ8QTiEJQQAgByABQSxqIiMuAQBsIAFBLmoiJC4BACIIQQIQTkEQdEEQdWogCEEQdEEQdRBOIghrIAggAhsgBGohCiAFQQAgB2sgByACGyAMajYCACAKIAQgCiAESBsgCWsgAUEYaiIZKAIAIgcgAUEcaiIcKAIAIAFBCGoiFSwAAEUiCBtrIQ0gCiAEIAogBEobIAlqIAFBIGoiHSgCACAHIAgbaiEKIAtBsAFqIhogABCAASABQQlqIRJBAiAEIAwQ5gEEQEHG1RpBwdUaIBUsAAAbIQkgGygCACEHIBkoAgAhCCAGQZnZGkGg2RogEiwAABs2AgAgBiAJNgIEIAYgDTYCCCAGIAo2AgwgBiAMNgIQIAYgBzYCFCAGIAg2AhhBzNUaIAYQSwsgC0GoAWohJSALQaABaiEmIAtBkAFqIRYgC0GIAWohJyALQYABaiEoIAtB4ABqIRAgC0HQAGohEyALQQhqIQYgGiANIAogDBDwAyAAQQRqIR5BACEIQQAhAAJAAkACQAJAAkADQCAIRSEXIABFIR8DQAJAIBogAhD6FiIHRQ0GIAcgA0cEQCAGIAcQYikBADcDACAGLgECIAYuAQZqQQIQTiEUIBsoAgAhCSACBEAgFCAMIAlrSA0FBSAUIAkgDGpKDQULIBQgDEggAnNFBEAgBiAREOMFRQRAIBdFBEAgCBBiIAYQtQIgHigCAEoEQCAIIQAMDAsLIB9FBEAgFyASLAAAQQBHcQRAIAAQYiAGELUCIB4oAgBKDQwLCyAUIAxrIiAgIy4BAGwgJC4BABBOIARqIg4gBy4BNE4EQCAOIAcuATZMBEAgBi4BBCIPIiEgBi4BACIpIiIgFSwAACIJGyEYQQIgBCAMEOYBBEAgBi4BAiENIAYuAQQhCiAGLgEGIQkgECAGLgEANgIAIBAgDTYCBCAQIApBEHRBEHU2AgggECAJNgIMIBAgGDYCECAQIBQ2AhQgECAONgIYQbHWGiAQEEsgFSwAACEJCyAJQf8BcQRAAkAgGSgCACAOaiAiSgRAIB0oAgAgDmogIU4NASASLAAADQwgBhBrIQogASsDACAKQRB0QRB1t6IgDregICm3ZA0MCwsgBywAcxCJAUUNBgUCQCAOIBwoAgBrICJKBEAgDiAZKAIAayAhTg0BIBIsAAANDSAGEGshCiAOtyABKwMAIApBEHRBEHW3oqEgD0EQdEEQdbdjDQ0LCyAHLAByEIkBRQ0GCwsLCwsLDAELCwJAIBggHSgCACAOakwEQCAYIA4gHCgCAGtOBEBBAiAEIAwQ5gEEQCAHKAIgIQ0gBygCJCEKIBYgCUH/AXE2AgAgFiANNgIEIBYgCjYCCEHx1hogFhBLIBUsAAAhCQsgCUH/AXFFIgkEfyAHKAIgBSAHKAIkCyIKBEAgCkECRyASLAAAcgRAIBcEQCAHIQgMBQsgCBBiIQ0gCQR/IA0uAQAFIA0uAQQLIQogByAIIBggDmsiCCAIbCAgICBsaiANLgECIA0uAQZqQQIQTiAMayIIIAhsIApBEHRBEHUgDmsiCCAIbGpJGyEIDAQLCyAfBEBBAiAEIAwQ5gFFBEAgByEADAQLQZHXGiAmEEsgByEADAMLIAsgABBiKQEANwMAAkACQCAJBEAgCy4BACAGLgEASg0BBSALLgEEIAYuAQRIDQELDAELQQIgBCAMEOYBBEBBmdcaICUQSwsgByEACwsLCwwAAAsAC0ECIAQgDBDmAUUNAiAGLgECIQMgBi4BBCECIAYuAQYhASATIAYuAQA2AgAgEyADNgIEIBMgAkEQdEEQdTYCCCATIAE2AgxBitYaIBMQSwwCCyADKAIkQQJKBEAgA0EBEOwECyAFIAIEfyAGLgEGBSAGLgECC0EQdEEQdTYCAEECIAQgDBDmAQRAQenWGiAoEEsLQQAhAAwCCyADKAIgQQJKBEAgA0EBEP4GCyAFIAIEfyAGLgEGBSAGLgECC0EQdEEQdTYCAEECIAQgDBDmAQRAQenWGiAnEEsLQQAhAAwBCyAAIAggFxshAAsgGhB/IAskBiAAC4wBAQF/IwYhBSMGQSBqJAYgABCrByAAQQhqEJgBIABBDGoQmAEgACABNgIQIAAgAjYCFCAAQQA2AhggAEEANgIcIABBADYCICAAQQE6ACQgAEEBOgAlIAAgAzYCKCAAQSxqIgEQVyAAQTBqEFcgAEEANgI0IABBADYCOCAFIAEQkgEgBSAEELUGIAUkBguhAQEDfyMGIQojBkEQaiQGIAohCUE8EE8iCCADIAQgACAFEK4rIAggASACQQAQhgwEQCAIKAIoEKYGRQRAIAkgCEEMaiAIQQhqEI8KIAkoAgAhACAGIAgQzhYiASAAQf//A3FBEHRBEHVsIAYoAgBqNgIAIAcgASAAQRB2QRB0QRB1bCAHKAIAajYCAAsFIAgQswogCBBMQQAhCAsgCSQGIAgLTAEBfyMGIQEjBkEgaiQGIAEgABCSASABEJ4BQQAhAANAIAEQjQFFBEAgARCBAUFAaygCACAAaiEAIAEQqwEaDAELCyABJAYgAEEBSgudAQEEfyMGIQcjBkHgAGokBiAEEGIQa0EQdEEQdSEIIAcgBSgCACAGKAIAIAAoAgQiCSAIIAkgCEobIAEgAiAAKAIkIAMQrCsgB0EwaiIBIAcpAwA3AwAgASAHKQMINwMIIAEgBykDEDcDECABIAcpAxg3AxggASAHKQMgNwMgIAEgBykDKDcDKCAAIAEgBCAFIAYQzRYhCiAHJAYgCgtlAQJ/IwYhASMGQfAAaiQGQcy8+QAoAgAEQEGu0hogARBLCyABQQhqIgIgABCAASACELgBA0AgAhDuAyIABEAgACgCKEEFTgRAIAAQ/wYEQCAAQQYQ6AQLCwwBCwsgAhB/IAEkBgu8AQEGfyMGIQEjBkEgaiQGIAEgAEEsaiIEEH0gARCUASAAQSBqIQUgAEEwaiEGA0AgARCOAUUEQAJAIAEQcCICKAIoEOYERQRAIAIgBSAAEP8WIAIQzhZBA04EQEEDIAIQYiIDLgEAIAMuAQIQ5gFFDQIgAkHZ0hoQmQMMAgtBzLz5ACgCAEECSgRAIAJBy9IaEJkDCyABEIcCIgMEQCADELMKIAMQTAsgBiAEEK8DCwsgARB4DAELCyABJAYLmgMBB38jBiEFIwZBMGokBiAFQSxqIgQQVyAFQShqIgZBADYCACAFQSRqIgdBATYCAEEDIQIDQCACQQxJBEAgACACQQAgASAEIAYgBxCOCCEDIAJBA2ohCCAAIAJBAyABIAQgBiAHEI4IIANqQQFIBEAgCCECDAILCwsgBBCoBCAAQdgAaiECQQAhAwNAIAMgAigCAEgEQCACIAMQTSgCACIIKAIgQQRGBEAgCEEDEP4GCyADQQFqIQMMAQsLIABB7ABqIQJBACEDA0AgAyACKAIASARAIAIgAxBNKAIAIggoAiRBBEYEQCAIQQMQ7AQLIANBAWohAwwBCwtBzLz5ACgCAARAIAcoAgAhCCAFIAYoAgA2AgAgBSAINgIEQefSGiAFEEsLIABBDEEAIAEgBCAGIAcQjggaIABBDEEDIAEgBCAGIAcQjggaIABBGUEBIAEgBCAGIAcQjggaIABBGUEEIAEgBCAGIAcQjggaIAVBCGoiASAAQSxqEH0gASAEEMUEIAAgBigCACAHKAIAELoPIAQQqAQgBSQGC4MBAQR/IwYhAyMGQfAAaiQGIABB2ABqIgUQaCAAQewAaiIGEGggAyAAEIABIAMQuAEDQCADEO4DIgQEQCAAIAQgASACEKsrBEAgBCgCIARAIAUgBBC5AQsgBCgCJARAIAYgBBC5AQsLDAELCyAFQcEAEJkHIAZB3AAQmQcgAxB/IAMkBgs+AQF/IwYhAiMGQSBqJAYgAUEEaiIBKAIABEAgAiAAKAIEEJEBEFUgAiABKAIAEJEBEIYCCyAAEKQMIAIkBgurBQEQfyMGIQcjBkGwAWokBiAHQTBqIREgB0EoaiESIAdBIGohEyAHQRhqIRQgB0FAayEMIAdBEGohCSAHQThqIQ0gB0E0aiEOA0AgCEEERwRAIAcgCEECdGpBADYCACAIQQFqIQgMAQsLIAUuAQQgBS4BAGpBAhBOIQ8gBS4BBiAFLgECakECEE4hCCAMIAAQgAEgDCAPIAhBAhCLCCAHQQhqIRUgB0EMaiEWIAdBBGohDwNAAkAgDBCsESILRQ0AIAsgAUcEQCAJIAsQYikBADcDAAJAIAUgCSACIAMgBCANIA4QzxYEQCAFIAkQvAEaIAZBwQAgCxDNAyACBEBB1tEaIBQQSyAJEJ0BC0EAIQADQCAAQQRODQIgByAAQQJ0aiIIKAIAIgoEQCAJIAoQYikBADcDACAFIAkgAiADIAQgDSAOEM8WBEAgBSAJELwBGiAGQcEAIAoQzQMgAgRAQdbRGiATEEsgCRCdAQsgCEEANgIAQX8hAAsLIABBAWohAAwAAAsABSANKAIAIhBBf0ogECAOKAIAIgpKckUEQCAHQQNBASAJLgEGIAUuAQZKG0ECdGoiCCgCACIABEAgCiAFIAAQYhC1Ak4NAwsgCCALNgIADAILIApBf0ogCiAQSnJFBEAgB0ECQQAgCS4BACAFLgEAShtBAnRqIggoAgAiAARAIBAgBSAAEGIQpgJODQMLIAggCzYCAAsLCyAHKAIARSAVKAIARXIgFigCAEVyIA8oAgBFckUNAQsMAQsLQQAhAQJAAkADQCABQQRJBEAgByABQQJ0aigCACIABEAgABBiIQAgAgRAQd3RGiASEEsgABCdAQsgBSAAEI4DDQMLIAFBAWohAQwBCwsMAQsgBhDvASACBEBB99EaIBEQSwsLIAwQfyAHJAYLtgECA38CfCMGIQIjBkEwaiQGIAJBIGoiA0EAIABBBWwQsQEgAiABEFUgAhBbA0AgAhBZRQRAIAIQUxBiIgAQbkEQdEEQdbciBUQAAAAAAAD0P6IgABBrIgBBEHRBEHW3IgZkIAZEAAAAAAAA9D+iIAVmcQRAIAMgAEEQdEEQdUEBEIgBCyACEFYMAQsLIANEAAAAAAAA6D8QzgFEAAAAAAAA4D+gEFohBCADKAIMEIQBIAIkBiAEC5QKAyh/AX4CfCMGIQUjBkHgAWokBiAFQRhqIQQgBUEQaiIGIAMQYikBACIsNwMAQQIgBi4BACAGLgECEOYBIgwEQCAEIAE2AgBBts8aIAQQSyAGEJ0BCyAFQdAAaiEPIAVByABqIRogBUFAayEbIAVBOGohHCAFQTBqIR0gBUEoaiEeIAVBIGohHyAFQfAAaiEQIAYuAQYiFCAGLgECIhVrIg0gBi4BBCIWIAYuAQAiF2siDiAOIA1IGyIYQQQQTiEgIA0gDiANIA5IG0EBdCEhIAFFISIgDSAOIAFBAnIiCEECRiIZGyIGQQIQTiEEQQEgBkEDEE4gAhshI0EBIAQgAhshJCAOIA1st59EAAAAAAAABECiEFohBCAAKAIEIgIgBCACIARKGyECIAUiB0EIaiIFICw3AwACQAJAAkACQAJAAkACQCABDgUAAgEDBAULIAUgBS4BACACaxCPAgwECyAFIAIgBS4BBGoQjgIMAwsgBSAFLgECIAJrELcCDAILIAUgAiAFLgEGahCnAgwBC0EAIQAMAQsgECAAEIABIBAgBRDzASAIQQNGISUgAUEBRiEmIANBMGohJyADQTJqISggA0HIAGohKSADQcwAaiEqIANB0ABqIStBACEAQQAhBUEAIQIDQCAQEIQHIhEEQCAHIBEQYikBADcDAAJAIBEgA0cEQCAHLgEEIAcuAQBqQQIQTiIEICcuAQAQtwFOBEAgBCAoLgEAELcBTARAIAwEQEHOzxogHxBLIAcQnQELIAcQbiISQRB0QRB1IQogBxBrIhNBEHRBEHUiCyAKIAsgCkgbICFKBEAgACALIAogCiALSBsgIEhqIQALAkACQAJAIAsgCiAKIAtIGyIJQQVsIBhIIBhBBWwgCUhyBEAgGQRAIAsgDRDfCUUNAgUgJUUNAyAKIA4Q3wlFDQMLIAxFDQdB3M8aIB4QSwwHBSAZRQ0CCwsgBy4BBiEEIAcuAQIhBiAiBH8gFyEJIAcuAQAFIAcuAQQhCSAWCyEIIBIgEyASQRB0QRB1IBNBEHRBEHVKG0EQdEEQdSAUIARBEHRBEHUiBCAUIARIGyAVIAZBEHRBEHUiBCAEIBVIG2siBiAGIAtGGyEEIAkgCGsiCEEBTgRAIAggCmshCQwCCyAMRQ0FQebPGiAdEEsMBQsgBy4BBCEEIAcuAQAhBiAmBH8gFSEJIAcuAQIFIAcuAQYhCSAUCyEIIBMgEiATQRB0QRB1IBJBEHRBEHVKG0EQdEEQdSAWIARBEHRBEHUiBCAWIARIGyAXIAZBEHRBEHUiBCAEIBdIG2siBiAGIApGGyEEIAkgCGsiCEEBTgRAIAggC2shCQwBCyAMRQ0EQebPGiAcEEsMBAsgBkEAIAlrSARAIAxFDQRB9c8aIBsQSwwECyAEICNIBEAgDEUNBEGJ0BogGhBLDAQLIAYgJEggDSALEN8JBH8gDiAKEN8JBUEAC3IEf0EABSApKgIAICoqAgAgKyoCACARRAAAAAAAAMA/RAAAAAAAAPg/EMoPCyIIQQFxt0QAAAAAAADwP6AgBreiIAlBASAJQQFKGyIEt6MhLSAMBEAgDyAtOQMAIA8gLjkDCCAPIAhBAXE2AhAgDyAGNgIUIA8gBDYCGEGh0BogDxBLCyAIIAUgLSAuZCIEGyEFIC0gLiAEGyEuIBEgAiAEGyECCwsLCwwBCwsgAyABIAIgBRDmBSAQEH8LIAckBiAAC9oCAQx/IwYhBCMGQdAAaiQGIARBIGohDCAEQRhqIQ0gBEEQaiEOIARBNGohBSAEQTBqIQYgBEEsaiEHIARBKGohCCAEQSRqIQkgARC5AkEETgRAIAUgARCSASAFEJ4BA0AgBRCNAUUEQCAFEIEBIgogBiAHIAggCRDQFiAABEAgBygCACEBIAgoAgAhCyAJKAIAIQ8gBCAGKAIANgIAIAQgATYCBCAEIAs2AgggBCAPNgIMQfrOGiAEEEsFIAcoAgAhASAIKAIAIQsLAkACQAJAIAEgC0gNACAKLAByEIkBDQAgCiwAcxCJAQ0AIAkoAgAgBigCAEgEQCADIAMoAgBBAWo2AgAgAEUNA0GhzxogDRBLBSAARQ0DQarPGiAMEEsLDAELIAIgAigCAEEBajYCACAABEBBmM8aIA4QSwwBCwwBCyAKEGIQnQELIAUQqwEaDAELCwsgBCQGCzIBAn8gACABEKsPA0AgAkEERwRAIAAgAhDFAiIDBEAgAyABEKsPCyACQQFqIQIMAQsLC80CAgZ/AX0CfyAAQQRqIgMoAgAiBQR/IABBCGoiAhBrQRB0QRB1IQEgAhBuQRB0QRB1IgYgAWpBAXQhBCABQQF0IAZIBEAgBLdEAAAAAAAA+D+iIAUQuwciAUEBSCAAKgJMIgdDAAAAAF5yBH8gAbIgB0MAAABAlJMQZQUgASADKAIAELwHQQJ0IAEQTmsLIAIQbkEQdEEQdUEBdGu3YwRAIABBABDoBSAAQQEQ5wVBAQwDCwsgAhBrQRB0QRB1IQEgAhBuQRB0QRB1QQF0IAFIBH8gBLdEAAAAAAAA+D+iIAMoAgAQuwciAUEBSCAAKgJIIgdDAAAAAF5yBH8gAbIgB0MAAABAlJMQZQUgASADKAIAELwHQQJ0IAEQTmsLIAIQa0EQdEEQdUEBdGu3YwR/IABBARDoBSAAQQAQ5wVBAQVBAAsFQQALBUEACwsLYgEBfyMGIQMjBkEgaiQGIAMgABCSASADEJ4BA0AgAxCNAUUEQCADEIEBIgAQ1QkEQCABIAEoAgBBAWo2AgALIAAQ/wYEQCACIAIoAgBBAWo2AgALIAMQqwEaDAELCyADJAYLwAIBCH8jBiECIwZBIGokBiACQQhqIQcgAkEYaiEDIAJBFGohBCACQRBqIQUgARC8K0UEQEECIAEQYiIGLgEAIAYuAQIQ5gEiCQRAIAEoAighCCACIAEoAiw2AgAgAiAINgIEQafOGiACEEsgBhCdAQsgAxBXIAEgAxC7KyAEQQA2AgAgBUEANgIAIAkgAyAEIAUQuisgCQRAIAAgBi4BAEEBaiAGLgECQQFqIAAoAgAoAghB/wBxQawMahENACAFKAIAIQAgByAEKAIANgIAIAcgADYCBEHYzhogBxBLCwJAIAMoAgAEQCABQQEQ6AUgAUEBEOcFIAQoAgAiCCAFKAIAIgBBAXRKBEAgAUEAEOgFDAILIAAgCEEBdEoEQCABQQAQ5wULBSABQQAQ6AUgAUEAEOcFCwsgAxDvAQsgAiQGC9sCAgd/An0jBiEDIwZBEGokBiADQQxqIQYgA0EIaiEHIANBBGohCCABEGIiBBBuQRB0QRB1siEJAkACQCABKgJQQwAAQECUIgogCV1FDQAgCiAEEGsiAkEQdEEQdbJdRQ0AIAJBEHRBEHUiBUECdCAEEG5BEHRBEHUiAkgEQCABQQNBAEEAEOYFIAFBAUEAQQAQ5gUMAgsgAkECdCAFTg0AIAFBAEEAQQAQ5gUgAUECQQBBABDmBQwBCyAAKAIEIgVBAhBOIQQgASAGIAcgCCADENAWIAcoAgAiAiAEaiAIKAIASCEAAkACQCACIAVBBBBOIgJIIABxDQAgASwAchCJAQ0AIAEsAHMQiQENACADKAIAIgAgAkggACAEaiAGKAIASHEEQCABQQBBAEEAEOYFIAFBAkEAQQAQ5gULDAELIAFBA0EAQQAQ5gUgAUEBQQBBABDmBQsLIAMkBgvvAQEHfyAAKAIAIABBBGoiAygCACAAQQxqIgIoAgAgAS4BABCXCCEGIAAoAgAgAEEIaiIFKAIAIAIoAgAgAS4BBhCWCCEEIAAoAgAgAygCACACKAIAIAEuAQQQlwghByAAKAIAIAUoAgAgAigCACABLgECEJYIIQUgAigCABB3IQMgAigCABB1IAMgBGxBAnRqIQIgBCEBA0AgASAFTARAIAYhAANAIAAgB0wEQCACIABqQQNzIgQsAAAiCEF/RwRAIAQgCEH/AXFBAWo6AAALIABBAWohAAwBCwsgAiADQQJ0aiECIAFBAWohAQwBCwsL2gECA38BfiMGIQUjBkEgaiQGIAVBEGoiBiAEKQEAIgg3AwAgBUEIaiIHIAg3AwAgBRB5IAIEQCAGIAAQjgIgBSADIAYQ/AsgBRC6A0UEQCAGIAUuAQQQjwILIAcgABCPAiAFIAMgBxD8CyAFELoDRQRAIAcgBS4BABCOAgsFIAYgARC3AiAFIAMgBhD8CyAFELoDRQRAIAYgBS4BAhCnAgsgByABEKcCIAUgAyAHEPwLIAUQugNFBEAgByAFLgEGELcCCwsgBiAHELwBGiAEIAYpAwA3AQAgBSQGC9cDAQV/IAAoAgAiBkECdCEFAn8gARDVCQRAIAIQa0EQdEEQdUEDdCEDIAFBAxDFAiIEBEAgAiAEEGIQtQIgBUwEQEEAIQRBAQwDCwsgAUEBEMUCIgQEQCACIAQQYhC1AiAFTARAQQAhBEEBDAMLCyAGIQQFIAEQ/wYEQCACEG5BEHRBEHVBA3QhBCABQQAQxQIiAwRAIAIgAxBiEKYCIAVMBEBBACEDQQAMBAsLIAFBAhDFAiIDBEAgAiADEGIQpgIgBUwEQEEAIQNBAAwECwsgBiEDQQAMAgsCfwJAIAFBAxDFAiIEBEAgBEEBEMUCIAFGDQELIAFBARDFAiIEBEAgBEEDEMUCIAFGDQELQQAMAQsgAhBuQRB0QRB1QQF0CyEEAkACQCABQQIQxQIiA0UNACADQQAQxQIgAUcNAAwBCyABQQAQxQIiA0UEQEEAIQNBAAwDCyADQQIQxQIgAUcEQEEAIQNBAAwDCwsgAhBrQRB0QRB1QQF0IQMLQQELIQcgAiADIAQQrQQgACgCAEEGbCEAIAIuAQAhBCABLgEwELcBIABrIgMgBEoEQCACIAMQjwILIAIuAQQhBCABLgEyELcBIABqIgAgBEgEQCACIAAQjgILIAcLXwEDfyMGIQMjBkEQaiQGIANBBGoiBEEANgIAIANBADYCACAAIAFBACACIAQgAxDoFhogBCgCACIAIAMoAgAiAWpBBUoEf0EABSABIAAgASAASBtBAEgLIQUgAyQGIAULVAEBfyMGIQIjBkEgaiQGIAIgAEHMAGoQkgEgAhCeAQJAAkADQCACEI0BRQRAIAIQgQEgAUYNAiACEKsBGgwBCwsMAQsgAhCQAhogABDPAwsgAiQGCykAIABB+K0WNgIAIABB5K0WNgIAIAAgATYCBCAAIAI2AgggACADNgIMCykAIABB0K0WNgIAIABBvK0WNgIAIAAgATYCBCAAIAI2AgggACADNgIMC9UDAQ5/IwYhBSMGQZACaiQGIAVBMGohDyAFQShqIRAgBUEgaiERIAVBGGohEiAFQRBqIQ4gBUEIaiEMIAVBOGohCCAAKAIEt0QAAAAAAADQP6JEAAAAAAAA4D+gEFohDSABEHEhCSAFQaABaiIKIAAQgAEgChCFAiAKIAIQ8wEDQCAKEJ0CIgcEQCABIAcgAxCbCARAAkAgCSAHEHEiCxC7A0UEQCALIAkQuwNFBEAgDCAJKQEANwMAIAwgCxC8ARogCCAAEIABIAgQhQIgCCAMEPMBAkACQANAAkAgCBCdAiIGRQ0CIAYgAUYgBiAHRnJFBEAgBiABIAcgDUEAEOQJRQRAIAUgBhBxIgIpAQA3AwAgBSAJEI4DRQRAIAUgCxCOA0UEQCABIAZBABCbCEUEQCAHIAZBABCbCEUNBQsLCwsLDAELCwwBCyAIEH8MAwsgAwRAIA4gDTYCAEHzyRogDhBLIAIQnQFBucoaIBIQSyABIAZBARCbCBpBwcoaIBEQSyAHIAZBARCbCBpBycoaIBAQSyAGIAEgByANQQEQ5AkaCyAIEH8MBQsLCyADBEBB0soaIA8QSyALEJ0BCyAEQcIAIAcQzQMLDAELCyAKEH8gBSQGC40DARB/IwYhBCMGQUBrJAYgBEEoaiEOIARBIGohCyAEQRBqIQggBEEIaiEPIARBMGohCSAEQSxqIQwgAxCaCEUEQCADEHEhECADQSRqIREgA0EoaiESA0ACQCAEIBApAQA3AwBBAiAELgEAIAQuAQIQ5gEiBgRAQe3IGiAPEEsgBBCdAQsgASADIAQgASgCACgCCEH/AHFBkARqEQIARQ0AIAkQVyAAIAMgBCAGIAkQxysCfyAAIAMgCSAGIAIgDBC3FyIFQQBHIgcgDCgCACINQQFIcQR/IAYEQCARKAIAIBIoAgAgBSgCJCAFKAIoEJsMIQcgAyAFEJwIIQogCCAHNgIAIAggCjYCBCAIIA02AghB/sgaIAgQSwsgACAFENEDIAAgAxDRAyADIAVBABCWByAAIAMQsQJBASEKQQEFIAcEf0EAIAZFDQIaIAsgDTYCAEGoyRogCxBLIAUQcRCdAUEABUEAIAZFDQIaQdLJGiAOEEtBAAsLCyETIAkQ7wEgEw0BCwsLIAQkBiAKC3oBAn8jBiEDIwZB8ABqJAYgAyAAEIABIAMQuAEDQCADEOkBIgQEQCAAIAEgAiAEEMgrBEAgAxD2AgsMAQsLIAEEQCABIAEoAgAoAgRB/wNxQaIHahEAAAsgAgRAIAIgAigCACgCBEH/A3FBogdqEQAACyADEH8gAyQGC7oDAQR/IwYhAyMGQRBqJAYgAUEARyACQQBHcUUEQCADQZPMGjYCACADQeMONgIEQcis+QBB9MsaQQJBx+scIAMQUQsgA0EIaiEEAkACQCABEJgIDQAgAhCYCA0ADAELIARBk8waNgIAIARB5A42AgRByKz5AEG0zBpBAkHH6xwgBBBRCwJ/AkAgAUE0aiIEKAIAIgVBAUYEQCACKAI0QQJMDQEFIAVBAkwNASACKAI0QQFHDQELQQAMAQsCQAJAIAEoAjAiBRDQAw0AIAIoAjAQ0AMNAAwBCyABKAIkIAEoAiggAigCJCACKAIoEJsMQQFIBEAgARDpBUUEQEEAIAIQ6QVFDQMaC0EAIAEQcSACEHEQtANFDQIaCwsCQAJAIAUQmQgNACACKAIwEJkIDQAMAQsgASACEJwIQQFIBEAgARDpBUUEQEEAIAIQ6QVFDQMaCyABEHEgAhBxELQDRQRAIAEgAkEAEOYJRQRAQQAgAiABQQAQ5glFDQQaCwsLCyABIAIQ4BYEfyAEKAIAQQJIBEBBASACKAI0QQJIDQIaCyAAIAEQcSACEHEQsQ8FQQALCyEGIAMkBiAGC2wAIAEoAjAQ0AMEQCACLgEGIQAgAiACEG5BEHRBEHUgAGoQpwIgAiACLgECIAIQbkEQdEEQdWsQtwIFIAIgAi4BACACEGtBEHRBEHVrEI8CIAIuAQQhACACIAIQa0EQdEEQdSAAahCOAgtBAQuvBAEQfyMGIQkjBkGgAWokBiAJQShqIREgCUEgaiESIAlBGGohDyAJQQhqIQ0gARBxIRAgCUEwaiIOIAAQgAEgDhCFAiAOIAMQ8wEgCEEUaiEUIAhBKGohFSAIQTxqIRYgCEHQAGohAyACQQJqIRcDQCAOEJ0CIgwEQCAMEJoIRQRAIAwgAUYgASAMEOAWQQFzckUEQCAJIAwQcSkBADcDACAMKAIwIgBBAXJBB0YiGARAIBAgCSAFIAYgBBDjFkUNBAsgABDlCQ0DIBAgCRCmAiIKQQAgCkEAShshCiAQIAkQtQIiC0EAIAtBAEobIgsgFy4BAGwgCiACLgEAbGohEyAHBEAgDSAKNgIAIA0gCzYCBCANIBM2AghBosgaIA0QSyAJEJ0BCyAAQQdGIQAgDBCWBSIKQQQgCkEESBshCgJAAkAgDCgCNCILQQRGBEAgBwRAIA9Bx8gaQc3IGiAAGzYCACAPIAo2AgRB08gaIA8QSwsgCCAUIAAbIgANAQUgGCALQQFyQQNGcQRAIBUgFiAAGyEAIAdFDQIgEiAKNgIAQdrIGiASEEsMAgUgB0UEQCADIQAMAwsgESAKNgIAQePIGiAREEsgAyEADAILAAsMAQtBACELA0AgCyAKTg0BIAAgExCwASALQQFqIQsMAAALAAsgBwRAIAwQ2AELCwsMAQsLQQAhAANAIABBBUcEQCAIIABBFGxqEIkEIABBAWohAAwBCwsgDhB/IAkkBgubAgEEfyMGIQYjBkEQaiQGIAZBCGohBSADIAEpAQA3AQAgARBrIQcgAyACIAEQbiIIIAcgCEEQdEEQdSAHQRB0QRB1SBtBEHRBEHUiByAHIAJIG0EGbCICIAIQrQQCQAJAAkACQAJAAkAgAA4EAAECAwQLIAMgAS4BABCPAiAFQQJBARChASAEIAUoAgA2AQAMBAsgAyABLgECELcCIAVBAUECEKEBIAQgBSgCADYBAAwDCyADIAEuAQQQjgIgBUECQQEQoQEgBCAFKAIANgEADAILIAMgAS4BBhCnAiAFQQFBAhChASAEIAUoAgA2AQAMAQsgBkH8nBo2AgAgBkHeCzYCBEGgufkAQYDfIEECQcfrHCAGEFELIAYkBguJBwENfyMGIQgjBkHAAWokBiAIQZgBaiEKIAYQcSEOIAhBkAFqIgsQeSAIQbQBaiIMEJgBIAEgDiAAKAIEIAsgDBDNKyAIQYgBaiIBIAspAwA3AwAgCEEgaiIJIAEpAQA3AQAgCSADIAQgAhCBByENQQAhAQNAIAkgAUEUbGoQqgEgAUEBaiIBQQVHDQALIAlB5ABqIRQgACAGIAwgCyACIAMgBCAFIAkQzCsgCEIANwMAIAhCADcDCCAIQQA2AhBBAkEAIA1BAEobIQsgCEEIaiEMIAhBBGohDSAIQQxqIQ8gCEEQaiEQIAYoAjAiAEEGRyAGKAI0QQNHIgFyIREgAEEHRyABciESQQAhAUH/////ByEAAkACQAJAAkADQAJAIAFBBUkEQCAIIAFBAnRqKAIAIgIgCSABQRRsaiIDKAIASARAIAMgAhBNKAIAIABIBEAgAyACEE0oAgAhAAsLIAFBAWohAQVBACECA0AgAkEFSQRAIAkgAkEUbGohAyAIIAJBAnRqIgQoAgAhAQNAAkAgASADKAIATg0AIAMgARBNKAIAIABKDQAgBCABQQFqIgE2AgAMAQsLIAJBAWohAgwBCwsgByAANgIAIAUEQCAMKAIAIQMgDSgCACEGIA8oAgAhBCAQKAIAIQEgCiAIKAIAIgI2AgAgCiADNgIEIAogBjYCCCAKIAQ2AgwgCiABNgIQIAogCzYCFCAKIAA2AhhB58caIAoQSwUgECgCACEBIAgoAgAhAiAMKAIAIQMgDygCACEEIA0oAgAhBgsgAUEASiALIAIgAWsgA2ogBGsiE2tBA0pxIAsgBCADIAFqayAGaiIBa0EDSnENAwJAAkAgEUUNACACQQBKIBNBA0pxDQYgEg0ADAELIAZBAEogAUEDSnENBgsgAEH/////B0YEf0EFIQEMAgVBACEBQf////8HCyEACwwBCwsMAwsgByAJQdAAakEAEE0oAgAiATYCACAJQTxqIgAoAgAEQCABIABBABBNKAIASgRAIAcgAEEAEE0oAgA2AgALCyAJQShqIgAoAgAEQCAHKAIAIABBABBNKAIASgRAIAcgAEEAEE0oAgA2AgALC0EEIQEMAgsgByAJQQAQTSgCADYCAEEHIQEMAQsgByAJQRRqQQAQTSgCADYCAEEGIQELIBQhAANAIABBbGoiABBoIAAgCUcNAAsgCCQGIAELsgMBD38jBiEIIwZBIGokBiAFEHEhBiAEBEBBoscaIAgQSyAGEJ0BCyAIQRhqIREgCEEIaiEKIAhBHGohDSAGEG4hByAGEGsiBiAHIAZBEHRBEHUgB0EQdEEQdUgbQRB0QRB1IRIgACgCBEEBdCEQQQUhB0EBIQ5B/////wchBgNAIAtBBEcEQCAAIAsgASACIAMgBCAFIA0QzishDCAEBEAgDSgCACEJIAogCzYCACAKIAw2AgQgCiAJNgIIQbbHGiAKEEsLIAxBBUcEQCAMIAcgDSgCACITIAZIIgkbIQcgEyAGIAkbIQYLIAtBAWohCyAOIAxBBEYiCXEhDiAPIAlyIQ8MAQsLIAYgECASQQJ0IgAgACAQSBtKBH9BAAUgDiAFKAI0IgNBBEdyBH8gBSgCMCECIA8gB0EHR3IEf0EBIAMgB0EERiIBG0EEIA8gB0EGR3IiABshBkEFIAIgARtBBiAAGwVBBCEGQQcLIgAgAkYgBiADRnEEf0EABSAFIAYQ7QMgBSAAEIAHIAUQ7QQgBARAQdjHGiAREEsgBRDYAQtBAQsFQQALCyEUIAgkBiAUC4UCAgh/AX0jBiEHIwZBMGokBiAHQSBqIggQmAEgB0EcaiIJEJgBIAcgABCRARBVIAVDAAAATzgCACAGQwAAAM84AgAgBxBbIAlBAmohCyAIQQJqIQwDQCAHEFlFBEAgCCAHEFMiABDDASgBADYCACAIIAMgBBD2AyAAQRBqIQ0gAEEUaiEOQQAhCgNAIA0uAQAQtwEgCkEQdEEQdSIASgRAIAguAQCyIg8gAWBFIA8gAl9FckUEQCAMLgEAIAUgBhCHEAsgCSAOKAIAIAAQ2gEgCSADIAQQ9gMgCCAJLgEAIAsuAQAQ6AEaIApBAWpBEHRBEHUhCgwBCwsgBxBWDAELCyAHJAYLkAEBA38CfwJAIABBCGoiAy4BACICIAFBCGoiBC4BAE4NACACIAEuATBODQBBAAwBCyAELgEAIgIgAy4BAEgEQEEAIAIgAC4BMEgNARoLIAMuAQQiAiAELgEESgRAQQAgAiABLgEySg0BGgsgBC4BBCIBIAMuAQRKBEBBACABQRB0QRB1IAAuATJKDQEaC0EBCwvpAQIFfwJ9IwYhBCMGQTBqJAYgBEEQaiIIQwAAgD9DAAAAABCkASAEQRxqIgUgAUEIaiIGLgEGsiIJOAIAIARBGGoiByAGLgECsiIKOAIAIAEoAgQiAQRAIAEgArIgA7IgCCoCACAIKgIEIAcgBRDQKyAHKgIAIQogBSoCACEJCyAJIApdBEAgBSAGLgEGsiIJOAIAIAcgBi4BArIiCjgCAAsgBEEIaiIBIAKyIAoQpAEgBCADsiAJEKQBIAAgASoCACABKgIEEOIWIARBIGoiASAEKgIAIAQqAgQQ4hYgACABELwBGiAEJAYLfAEDfyMGIQEjBkEgaiQGIAEgAEHMAGoQkgEgARCeAQNAIAEQjQFFBEAgARCBASICKAIsQQZHBEAgAigCVCAARgRAIAJBABDGBAsgARCQAhoLIAEQqwEaDAELCyABENQCBH9BAAUgAEEGNgI0IAAQzwNBAQshAyABJAYgAwthAQJ/IwYhASMGQfAAaiQGIAEgABCAASABELgBA0AgARDpASICBEAgAigCNEEGRwRAIAEQrgMgAhDTKwRAIAAgAhCxAiABEPYCBSACEJwDIAIQTAsLDAELCyABEH8gASQGCzEBA38DQCABQQRHBEAgACABEMUCIgMEQCACIAMoAihFaiECCyABQQFqIQEMAQsLIAILiwQBCn8jBiEGIwZBQGskBiAGQRBqIQggBkEcaiIDIABBzABqEJIBIAMQngEDQCADEI0BRQRAIAMQgQEiBBDVKyAHaiEHIAQQ6RYgCWohCSAEKAIoIQQgAxCrARogCkEBaiEKIAIgBEECRmohAiAFIARBAUZqIQUMAQsLIABBNGoiA0ECNgIAIABBMGoiBEEFNgIAAkAgBSACSwRAIANBADYCACAEQQE2AgAFIAIgBUsEQCADQQA2AgAgBEECNgIADAILIAFBAWpBAksEQCAAQRBqIQIgAUEASgR/IAIQbkEQdEEQdSEFQQchCyACEGsFIAIQa0EQdEEQdSEFQQYhCyACEG4LIQIgBCALNgIAQQJBASAKQQdLIgsbIAsgAkEQdEEQdUEKShsgAkEQdEEQdUEFbCAFSGohAiABQQAgAWsgAUF/ShsiBUEFSgRAIANBA0EEIAJBAkkgAUEASHEbNgIADAMLIAVBAkoEQCADQQRBAyACQQNGGzYCAAwDBSADQQI2AgALCyAHIApOBEAgA0EBNgIAIARBADYCAAsLC0ECIABBEGoiAi4BACACLgECEOYBBEAgBiAKNgIAIAYgBzYCBCAGIAk2AghBvcEaIAYQSyADKAIAIQcgBCgCACEJIAggATYCACAIIAc2AgQgCCAJNgIIQf7BGiAIEEsgABDYAQsgABDtBCAGJAYLwAEBBX8jBiEEIwZBEGokBiAEQQhqIQUgARDpBQR/IAAgARBxIAIgAxCzDwUgBCABEHEiBykBADcDACAEIAEoAiQQjwIgBCABKAIoEI4CIAAgBCACIAMQsw8hBiAEIAcpAQA3AwAgBCABKAIcEKcCIAQgASgCGBC3AiAAIAQgAiADELMPIQAgAwRAIAUgADYCACAFIAY2AgRBq8IaIAUQSyAHEJ0BIAEQ2AELIAYgACAAQQAgBmtIGwshCCAEJAYgCAvMAQELfyMGIQMjBkGQAWokBiADQSBqIgQgABCAASADQRxqIgUQVyADIAUQkgEgBBC4ASAEQSRqIQogBEEoaiELQX8hCEF/IQlBASEGA0AgBBDuAyIHBEAgCigCACIMIAhGIAsoAgAiDSAJRnFFBEAgACABIAYgAiAFEOoWIAMgBRCFECAMIQggDSEJQQEhBgsgBygCVAR/QQAFIAMgBxC2BiAGIAcoAixBAUZxCyEGDAELCyAAIAEgBiACIAUQ6hYgBRDvASAEEH8gAyQGC/ICAgd/AXwjBiEGIwZBsAFqJAYgBkHwAGohByAGQQhqIQkgBkGoAWoiCEEANgIAIAQgCBDrFiEKIAZBjAFqIgsgBRBVAn8gCCgCACIFBEAgAbdEAAAAAAAAEECiRAAAAAAAABBAIAEbIAq3Ig1jBEAgAhD2AbdEAAAAAAAAYD+iIA1jBEAgBBDUKyAHIANBDGoQVSAJIAgoAgAQgAEgBxBbIABBBGohAQNAIAcQWUUEQCAHEFMiAhCLByACEJ4IBEAgAigCVEUEQCAGIAIQYikBADcDACAGIAEoAgAiACAAEK0EIAkgBhDzASAJEJ0CBEAgAkEBOgB0IAIQpAwgCyAHEJ8BEKABCwsLIAcQVgwBCwsgCCgCABDcDyAIKAIAIgAEQCAAIAAoAgAoAgRB/wNxQaIHahEAAAsgCRB/QQEMAwsLIAUQ3A8gCCgCACIABEAgACAAKAIAKAIEQf8DcUGiB2oRAAALC0EACyEMIAYkBiAMC58BAQN/IwYhAiMGQSBqJAYgAiAAQQxqEFUgAhBbA0AgAhBZRQRAIAIQUyIAKAJEIgMEQCADKAJUIgQiAwRAIAQsAGEQiQFFBEAgACgCVEUEQCAAEJ4IBEAgASADENEDIAMgABCaAyAAIAQoAjAQ6AQgACAEKAI0EMEEIAAgAxDGBCABIAMQsQILCwsLIABBABCkDQsgAhBWDAELCyACJAYL+QMBCn8jBiEEIwZBkAFqJAYgBEEIaiEKIAQiC0EsaiEGIARBEGohBSAEQegAaiIIIAAoAgQgABB7IAAQngIQ1gkgCCACQQxqIgQQvQQgCCACQQRqIgMQvQQgC0HIAGoiByAEEFUgBxBbQQAhBANAIAcQWUUEQCAHEFMiAigCVEUEQCACEJ4IRQRAIAQgACAIIAIQsg9BAXFqIQQLCyAHEFYMAQsLIAYgAxBVIAYQW0EAIQIDQCAGEFlFBEACQCAGEFMiAxCeCARAIAcgBhCfARC7AQUgAygCVCIMIgkEQCAMLABhEIkBRQRAIAkQlgVBA0gEQCAFIAkQ6AIQkgEgBRCeAQNAAkAgBRCNAQ0AIAAgCCAFEIEBELIPRQ0AIAUQqwEaDAELCyAFEI0BBEADQCAFENQCRQRAIAUQkAIiA0EAEMYEIAUQqwEaIAAgAxD+CyACQQFqIQIMAQsLIAcgBhCfARC7ASABIAkQ0QMgCRCcAyAMEEwLDAQLCwUgACAIIAMQsg8EQCAAIAMQ/gsgByAGEJ8BELsBIAJBAWohAgwDCwtBAiADEGIiAy4BACADLgECEOYBBEBBkcMaIAsQSyADEJ0BCwsLIAYQVgwBCwtBjKz5ACgCAARAIAogBDYCACAKIAI2AgRBusMaIAoQSwsgCBD7BSALJAYLRQEBfyMGIQIjBkEgaiQGIAIgAEEUahBVIAIQWwNAIAIQWUUEQCACEFMiACgCVEUEQCAAIAEQsA8LIAIQVgwBCwsgAiQGC9IBAQZ/IwYhAyMGQfAAaiQGIANB6ABqIQZBBEEFIAAqAjhDAAAAAFsbIQcgAyAAEIABIAMQuAEDQCADEO4DIgQEQCAEKAJURQRAIAQQ1QkEQCAEQQIQrw8iAgRAQcABEE8hBSAGQQBBARChASAFQQcgBhDqBSAFIAQQmgMDQCACBEAgBSACEJoDIAJBAhCvDyECDAELCyAEQQAQrw8hAgNAIAIEQCAFIAIQmgMgAkEAEP0LIQIMAQsLIAAgByAFIAEQ/wsLCwsMAQsLIAMQfyADJAYLyQEBBn8jBiECIwZB8ABqJAYgAkHoAGohBkEFQQQgACoCOEMAAAAAWxshByACIgUgABCAASACELgBA0AgBRDuAyICBEAgAigCVEUEQCACEP8GBEAgAkEDEP0LIgQEQEHAARBPIQMgBkEAQQEQoQEgA0EGIAYQ6gUgAyACEJoDA0AgBARAIAMgBBCaAyAEQQMQ/QshBAwBCwsDQCACQQEQ/QsiAgRAIAMgAhCaAwwBCwsgACAHIAMgARD/CwsLCwwBCwsgBRB/IAUkBgu7AQEDfyMGIQQjBkEQaiQGIABBDGoiBRBeIARBAEEAIAMQvgFB//8DcSADEKUBQf//A3EQlQIgAEEANgIEIAAgBBBrQRB0QRB1NgIIIAUgBBBuQRB0QRB1QX9qIAAoAgAiBmogBhBOIAQQa0EQdEEQdUF/aiAGaiAGEE5BCBDHATYCACAAIAFBBGogAiAEIAMQ0hYgACABQRRqIAIgBCADENIWIAUoAgAQvyIhACAFEF4gBSAANgIAIAQkBgv9AwIPfwF8IwYhByMGQRBqJAYgAEUEQCAHQezAGjYCACAHQZACNgIEQZi0+QBBl+gcQQJBx+scIAcQUQsgAUEANgIAIAMgABC+ATYCACACQQA2AgAgBCAAEKUBNgIAIAAQdSEJIAAQdyEKIAMoAgAhAANAIAAgASgCACIGa7ciFEQAAAAAAADAP6IQWiEIIBREAAAAAAAA6D+iEFohBSAOIAkgCiAGIAAgCCAURJqZmZmZmbk/ohBaIgAgBSAEKAIAQQEgAhDyFiIRciEQIAQgBCgCAEF/ajYCACANIAkgCiABKAIAIAMoAgAgCCAAIAUgAigCAEF/IAQQ8hYiEnIhCCAEIAQoAgBBAWoiBTYCACAFIAIoAgAiAGu3IhREAAAAAAAAwD+iEFohCyAURAAAAAAAAOg/ohBaIQYgDCAJIAogACAFIAsgFESamZmZmZm5P6IQWiIAIAYgAygCAEEBIAEQ8RYiE3IhBSADIAMoAgBBf2o2AgAgDyAJIAogAigCACAEKAIAIAsgACAGIAEoAgBBfyADEPEWIgtyIQYgAyADKAIAQQFqIgA2AgAgESAOQQFzcSASIA1BAXNxciATIAxBAXNxciALIA9BAXNxcgRAIAUhDCAIIQ0gECEOIAYhDwwBCwsgBSAGcQR/IAckBiAQIAhxBSAHJAZBAAsLjwUCCX8BfiMGIQgjBkHgAGokBiAIQTBqIQYgBSgCAEUEQCAGQezAGjYCACAGQZ0FNgIEQZi0+QBB2MAaQQJBx+scIAYQUQsgCEHYAGohCiAIQRhqIQkgCEEIaiEGIAhBKGohDCAIQSBqIQ0gCEEQaiEOIAhBOGoiCyAFEH0DQCAJIAsQcCIFEHEpAQAiDzcDACAJIAAQjgMEQCAALgEGIgcgCS4BBkgEQCAGIA83AwAgBiAHELcCIAwgBikDADcDACAKIAwpAQA3AQAgCiABIAMgBBCBB0EASgRAIAIgAyABIAQgBhCEDCALIAZBBBCRCBCpBwsLIAAuAQAiByAJLgEASgRAIAYgDzcDACAGIAcQjgIgAC4BBiIHIAkuAQZIBEAgBiAHEKcCCyAALgECIgcgCS4BAkoEQCAGIAcQtwILIA0gBikDADcDACAKIA0pAQA3AQAgCiABIAMgBBCBB0EASgRAIAIgAyABIAQgBhCEDCALIAZBBBCRCBCpBwsLIAAuAQQiByAJLgEESARAIAYgDzcDACAGIAcQjwIgAC4BBiIHIAkuAQZIBEAgBiAHEKcCCyAALgECIgcgCS4BAkoEQCAGIAcQtwILIA4gBikDADcDACAKIA4pAQA3AQAgCiABIAMgBBCBB0EASgRAIAIgAyABIAQgBhCEDCALIAZBBBCRCBCpBwsLIAAuAQIiByAJLgECSgRAIAYgDzcDACAGIAcQpwIgCCAGKQMANwMAIAogCCkBADcBACAKIAEgAyAEEIEHQQBKBEAgAiADIAEgBCAGEIQMIAsgBkEEEJEIEKkHCwsgBRC/ByALEIcCIgUEQCAFEJwDIAUQTAsLIAsQeCALEPcCRQ0ACyAIJAYLigIBA38jBiEDIwZB8ABqJAYgA0HoAGohBSADIAIQgAEgAyAALgEAIAAuAQQgAC4BAhDwAwJAAkADQCADQQEQwAQiAgRAIAIoAjRBfWpBAkkEQCACEHEiAiAAEKYCQQBIDQMLDAELCwwBCyACLgEGIgQiAiABSgRAIAIgASAEIAAuAQJIGyEBCyAFIAAuAQAgAUH//wNxIAAuAQQgAC4BAhCVAiADIAUQ8wEDQAJAA0ACQCADEJ0CIgJFDQIgAigCNEF9akECSQRAIAIQcSICIAAQpgJBAEgEQCABIAIuAQYiBCICSARAIAQgAC4BAkgNAwsLCwwBCwsgAiEBDAELCwsgAxB/IAMkBiABC4oCAQN/IwYhAyMGQfAAaiQGIANB6ABqIQUgAyACEIABIAMgAC4BACAALgEEIAAuAQYQ8AMCQAJAA0AgA0EAEMAEIgIEQCACKAI0QX1qQQJJBEAgAhBxIgIgABCmAkEASA0DCwwBCwsMAQsgAi4BAiIEIgIgAUgEQCACIAEgBCAALgEGShshAQsgBSAALgEAIAAuAQYgAC4BBCABQf//A3EQlQIgAyAFEPMBA0ACQANAAkAgAxCdAiICRQ0CIAIoAjRBfWpBAkkEQCACEHEiAiAAEKYCQQBIBEAgASACLgECIgQiAkoEQCAEIAAuAQZKDQMLCwsMAQsLIAIhAQwBCwsLIAMQfyADJAYgAQuKAgEDfyMGIQMjBkHwAGokBiADQegAaiEFIAMgAhCAASADIAAuAQQgAC4BAiAALgEGEIoEAkACQANAIANBABCUBSICBEAgAigCNEF9akECSQRAIAIQcSICIAAQtQJBAEgNAwsMAQsLDAELIAIuAQAiBCICIAFIBEAgAiABIAQgAC4BBEobIQELIAUgAC4BACAALgECIAFB//8DcSAALgEGEJUCIAMgBRDzAQNAAkADQAJAIAMQnQIiAkUNAiACKAI0QX1qQQJJBEAgAhBxIgIgABC1AkEASARAIAEgAi4BACIEIgJKBEAgBCAALgEESg0DCwsLDAELCyACIQEMAQsLCyADEH8gAyQGIAELigIBA38jBiEDIwZB8ABqJAYgA0HoAGohBSADIAIQgAEgAyAALgEAIAAuAQIgAC4BBhCKBAJAAkADQCADQQEQlAUiAgRAIAIoAjRBfWpBAkkEQCACEHEiAiAAELUCQQBIDQMLDAELCwwBCyACLgEEIgQiAiABSgRAIAIgASAEIAAuAQBIGyEBCyAFIAFB//8DcSAALgECIAAuAQAgAC4BBhCVAiADIAUQ8wEDQAJAA0ACQCADEJ0CIgJFDQIgAigCNEF9akECSQRAIAIQcSICIAAQtQJBAEgEQCABIAIuAQQiBCICSARAIAQgAC4BAEgNAwsLCwwBCwsgAiEBDAELCwsgAxB/IAMkBiABC4UBACAEIAEpAQA3AQACfwJAAkACQAJAAkACQCAADgQAAwECBAsgBCABIAIuAQAgAxDlKxCPAgwECyAEIAEgAi4BBCADEOQrEI4CDAMLIAQgASACLgEGIAMQ4ysQpwIMAgsgBCABIAIuAQIgAxDiKxC3AgwBC0EADAELIAQQ9gEgARD2AWsLC1QBAn8jBiECIwZBMGokBiACQSBqIQMgAiABEH0gAhCUAUEAIQEDQCACEI4BRQRAIAMgACACEHAQcRDwBCADEPYBIAFqIQEgAhB4DAELCyACJAYgAQulAQECfyMGIQQjBkGQAWokBiAEQSBqIgUgARCAASAFIAAQ8wEDQCAFEJ0CIgEEQCAAIAMgARD1FgRAIAEoAjBBfWpBAkkEQCAFEK4DIAEQggcFIAFBARDtAyABQQAQgAcgARDtBAsLDAELCyAEIAIQfSAEEJQBA0AgBBCOAUUEQCAAIAMgBBBwEPUWBEAgBBCHAhCCBwsgBBB4DAELCyAFEH8gBCQGC8QEARB/IwYhBCMGQeAAaiQGIARBGGohBiAEQRBqIQogBEEIaiIHIAMoAgAiCxBxKQEANwMAQdyz+QAoAgBBAUoEQEGYvxogChBLIAcQnQFBvb8aIAYQSyAAEJ0BCyAEQdAAaiEMIARByABqIQ0gBEFAayEOIARBOGohDyAEQTBqIRAgBEEoaiERIARBIGohEiABIAAQ8wFBACEGQQAhCgNAAkACQANAAkAgARCdAiIIRQ0DAkBB3LP5ACgCAEEBSgRAQce/GiASEEsgCBDYASAHIAgQcSIFELsDBEBB5L8aIBEQSwwCCyAAIAUQuwNFBEBB9b8aIBAQSwwCCyAIKAI0QQRGBEBBisAaIA8QSwVBm8AaIA4QSwsLCyAIKAI0QX5xQQRHBEAgCEEwaiIFKAIAQQRHBEAgBCAIEHEpAQA3AwAgACAEELsDRQ0CIAUoAgBFDQIgByAEELsDBEAgARCuAyAIEIIHBSAEIAcQpgIiBUEAIAVBAEobIQkgBCAHELUCIgVBACAFQQBKGyIFIAVsIAkgCWxqIgkgBBD2AUwEQCAJIAcQ9gFMDQYLCwsLDAELCwwCCyAIIAYgBkUgCSAKSHIiBRshBiAJIAogBRshCgwBCwsgBgR/IAQgBhBxKQEANwMAQdyz+QAoAgBBAUoEQEGrwBogDRBLIAcQnQFBv8AaIAwQSyAEEJ0BCyAHIAQQvAEaIAMgB0EDEJEINgIAIAsQggcgAiAGENEDIAYQggcgARD2AkEBBUEACyETIAQkBiATC5cCAg1/AX4jBiEEIwZBQGskBiAEQTBqIQogBEEoaiIHQQA2AgAgBEE4aiILIAAQeyICLgEAIAIuAQIgABCeAiICLgEAIAIuAQIQlQIgBEEgaiIIIAEpAQAiDzcDACAEIgZBIGohDANAIAlBBEcEQCAGIQIDQCACEHkgAkEIaiICIAxHDQALQQAhA0EAIQJBfyEFA0AgA0EERwRAIAcgA2osAABFBEAgChB5IAMgAiAFQQBIIAMgCCALIAAgBiADQQN0ahDmKyINIAVIciIOGyECIA0gBSAOGyEFCyADQQFqIQMMAQsLIAcgAmpBAToAACAIIAYgAkEDdGopAwAiDzcDACAJQQFqIQkMAQsLIAEgDzcBACAEJAYL2AIBB38jBiEIIwZBQGskBiAIQThqIQogCEEQaiEHIAhBCGohCyAAQQMQkQghBiAIQRhqIgkgBRB9IAkgBhCpAiAEIAAQ8wEDQCAEEJ0CIgYEQCAHIAYQcSkBADcDAAJAIAcgABC7A0UgBigCNCIMQQJMckUEQCAJEJ0DA0AgCRD5AQ0CIAkQhwIiBhC/ByAGBEAgBhCcAyAGEEwLIAkQeAwAAAsACyAMQQRGBEAgCyAHIAAQ8AQgCCALKQMANwMAIAogCCkBADcBAAJAAkAgCiAAIAIgAxCBB0EBdCAHEPYBSA0AIAAgBxC7A0UNACAGQQUQ7QMMAQsgBigCMEEGRgR/IAcQbgUgBxBrCyEGIAcgBy4BBiAGQRB0QRB1QQIQTkEQdEEQdSIGahCnAiAHIAcuAQIgBmsQtwIgByAAIAEgAiADIAUQ4SsLCwsgBSgCAA0BCwsgCCQGC3MBAn8jBiEBIwZB8ABqJAYgAEUEQCABQQAQgAEgARC4AQNAIAEQ6QEiAgRAIAIoAjBBA0YEQCACEHEiABBuQRB0QRB1QeQATgRAIAAQa0EQdEEQdUHkAE4NAwsgARCuAyACEIIHCwwBCwsgARB/CyABJAYL/gIBEH8jBiEEIwZBMGokBiACQQA2AgAgA0EANgIAIAFBAEciDUHcs/kAKAIAQQBHcQRAIAEgAEGLwRoQiwQLIAIgACADEJ0GIgA2AgAgAAR/IAMoAgAiAAR/IAAQgAQFQQALBUEACyEOIARBIGohByAEQRxqIQggBEEYaiEJIARBFGohCiAEQRBqIQYgBEEMaiELIARBCGohDCAEQQRqIQ8DQCAFIA5IBEAgBiADKAIAIAUQ6AMiADYCACANQdyz+QAoAgBBAEdxBEAgASAAQZnBGhCLBCAGKAIAIQALIAAgByAJIAggChDgKwRAIAgoAgAgBygCACIAayIQIAooAgAgCSgCACIRayISQQEQxwEiExCpCyAGEF4gAygCACAFIBMQnA4gBiADKAIAIAUQ6AM2AgAgAigCACAFIAsgDCAPIAQQ+wcgCygCACAAaiAMKAIAIBFqIBAgEhDBAiEAIAIoAgAgBSAAEJEhCyAGEF4gBUEBaiEFDAELCyAEJAYLlAEBA38jBiECIwZB8ABqJAYgAkEIaiIDIAAQgAEgAiABKQEANwMAIAJBBEEEEK0EIAMgAhDzAUEAIQACQAJAA0ADQCADEJ0CIgRFDQIgBCgCNEF9akECTw0ACyABIAQQcRCOAwR/QQEFQQEhAAwBCyEACwwBCyAARQRAIAEgAikDADcBAAtBACEACyADEH8gAiQGIAALogEBA38jBiEEIwZBMGokBiAEQQhqIQUgAwRAIAMQpQEhBiAFIAIQfQNAIAUQ+QFFBEAgBCAFEIcCIgIQcSkBADcDACACKAIwQX1qQQJJIAEgBBDuK0EBc3IEQCAEIAAQ3wIgAyAELgEAIAYgBC4BBmsgBBBuQRB0QRB1IAQQa0EQdEEQdUEPQQBBAEEAEMsBCyACEIIHIAUQeAwBCwsLIAQkBguMAQEBfyAAQQhqIgFBACABLwEAa0H//wNxEOIBIABBDGoiAUEAIAEvAQBrQf//A3EQ4gEgAEEYaiIBQQAgASgCAGs2AgACQAJAAkACQAJAAkACQCAAQShqIgEoAgAOBQACBAEDBAtBAyEADAQLQQAhAAwDC0EEIQAMAgtBASEADAELDAELIAEgADYCAAsLJwEBf0EAIABBCGoiAC4BBGshASAAQQAgAC4BAGsQjgIgACABEI8CC84BAQR/IwYhASMGQdAAaiQGIAFBQGsiBBBXIAFBJGoiAyAEEJIBIAFBCGoiAiAAQcwAahCSASACEJ4BA0AgAhCNAUUEQCADIAIQkAIQogggAhCrARoMAQsLIAIgBBC1BgJAAkAgACwAPg0AIAAsAD8NAAwBCyABQZGrFzYCACABQdMCNgIEQbiVFkGPvhpBAkHH6xwgARBRCyAAQQhqIgMoAgAhAiADQQAgAEEMaiIDKAIAazYCACADQQAgAms2AgAgABDPAyAEEO8BIAEkBgurAwEEfyMGIQgjBkEQaiQGIAEQYiEHIAIQYiEGAkAgAygCKBDmBARAIAAgB0EBQQEQ3QkiBUUgBSADRnJFBEAgBSgCKBDvAwRAIAUgBy4BBiIHEIMDIAMgBxCDA0oEQCAFIAEQ+BYgBSEDDAQLCwtBPBBPIgUgA0EBIABBIGogARD2FiAAQSxqIAUQ9xYgAEEwahCdAyAFIQMLCwJAIAQoAigQ5gQEQEEDIAYuAQQiASAGLgECIgUQ5gEEQCAGLgEGIQcgCCABNgIAIAggBTYCBCAIIAc2AghBnb0aIAgQSyAEQbG9GhCZAwsgACAGQQFBARDeCSIBRSABIARGckUEQCABKAIoEJoFBEAgASAGLgEGIgUQgwMgBCAFEIMDSARAIAEgAhD4FkEDIAYuAQQgBi4BAhDmAUUEQCABIQQMBQsgAUHOvRoQmQMgASEEDAQLCwtBPBBPIgEgBEEEIABBIGogAhD2FiAAQSxqIAEQ9xYgAEEwahCdA0EDIAYuAQQgBi4BAhDmAQRAIAFB3r0aEJkDCyABIQQLCyADIAQQtg8gBCADELYPIAgkBgvDAgIGfwN8IwYhBCMGQTBqJAYgBEEQaiIHIABB0ABqEFUgAkEIaiIIKAIAIgC3IglEAAAAAAAAwD+iIQoDQCAAQQBKBEAgAiACEK8HIgUQrgEhAyACIAVBACADaxCIASAFIQADQAJAIABBAUwNACACIABBf2oiABCuASIGQQBMDQAgAiAAQQAgBmsQiAEgBiADaiEDDAELCyAFIQADQAJAIABBAWoiACABTg0AIAIgABCuASIGQQBMDQAgAiAAQQAgBmsQiAEgBiADaiEDDAELCyADQQpKBEAgCiADtyILYwRAQQgQTyIAQQAgBUH//wNxEPgCIAcgABCgAUHMvPkAKAIABEAgBCAFQRRsNgIAIAQgAzYCBCAEIAtEAAAAAAAAWUCiIAmjOQMIQfO8GiAEEEsLCwsgCCgCACEADAELCyAEJAYLywEBBX8jBiECIwZBQGskBiACQRxqIgMgAEEwahCSASADEJ4BA0AgAxCNAUUEQCACIAMQgQEiBkEwahCSASACEJ4BA38CfyABIAIQjQENABogAhCBASABRgR/QQAFIAIQ9QEMAgsLCyEEIAIQngEgBEUhBQNAIAIQjQFFBEAgAhCBASAARgRAIAIQkAIaIAVFBEAgAiAEEOIJCwsgAhD1AQwBCwsgBUUEQCAEIAYQtg8LIAMQ9QEMAQsLIAAEQCAAELMKIAAQTAsgAiQGC7UCAQZ/IwYhBSMGQdAAaiQGIABBEGoiBCgCACEDIAQgAigCECIEIAMgBCADSBs2AgAgAEEUaiIEKAIAIQMgBCACKAIUIgQgAyADIARIGzYCACACKAIoIgMQpgYEQCAAIAM2AigLIAVBCGohBiAFQSxqIgMgAEEsahCSASAFQRBqIgcgAkEsahCSAQNAIAcQ1AJFBEAgBxCQAiEEIAcQqwEaIAYgBBBiKQEANwMAIAMQgQEhCANAAkAgBSAIEGIpAQA3AwAgBS4BAiAGLgECTg0AIAMQnwUNACADEKsBGiADEIEBIQgMAQsLIAUuAQIgBi4BAkgEQCADIAQQtgYFIAggBEcEQCADIAQQ4gkLCwwBCwsgACABKAEAIgFB//8DcSABQRB2QQEQhgwaIAIgABD1KyAFJAYLxgQBCX8jBiEHIwZB8ABqJAYCQAJAIABBKGoiCygCACIGEJoFIggEQCACKAIoIgQQmgUNAQsgBhDvAwR/IAIoAigiBBDvAwR/DAIFQQALBUEACyEBDAELIAAoAhAgACgCFCACKAIUIAIoAhAQww9BAEgEQEEAIQEFIAFBEHRBEHUiAUEAIAFrIAFBf0obIgFBASABGyIKQQpsIgkgACgCGCIBaiACKAIYIgVIIAEgCWsgBUpyBEAgBhCmBgRAIAQQpgYEQCABIApBMmwiBGogBUggASAEayAFSnIEQEEAIQEFIAMEQCAAIAIgCCABIAVIcRsiBC4BDiIMIQYgBC4BCiEJIAQgBhCDAyECIAQgCUEQdEEQdRCDAyEEIAEgBWsiAUEAIAFrIAFBf0obIAoQTiEFIAcgAxCAASAHIAQgAiAEIAJIG0EAIAUgCBtrIAVBACAIGyAEIAIgAiAESBtqIAYQ8ANBACEBA0ACQCAHQQEQ+hYiAkUEQEEBIQEMAQsgAhBiIgIuAQYgCUEQdEEQdUoEQEEBIQEMAQsgAi4BAiIDIAxIBEBBAiECBSAAIANBEHRBEHUQgwMhAyAFQQAgCygCABCaBSIIGyADaiEEIAIuAQQiBiAEIAQgBkobIAIuAQAiAiADQQAgBSAIG2siAyADIAJIG0oiAyECIAEgA0EBc3EhAQsCQAJAAkAgAkEDcQ4DAAEAAQsMAQsMAQsMAQsLIAcQfwVBASEBCwsFQQAhAQsFQQAhAQsFQQEhAQsLCyAHJAYgAQuoAwEGfyMGIQkjBkHwAGokBiADKAIoEO8DIQsgCUHsAGoiByADIAEQgwMiCDYCACAJQegAaiIKIAMgAhCDAyIMNgIAIAcgCiAMIAhIGyAHIAogCCAMSBsgCxsoAgAhByAJIAAQgAEgCSAHIAEgAhCKBCAGQQA2AgAgAEEEaiEKA0ACQANAAkAgCSALELgPIgBFDQICQCAAEGIiBy4BAiACSARAIAcuAQYgAUoEQCAHEGtBEHRBEHUhCCAKKAIAQQF0IAhMBEAgBxBrIQggBxBuQRB0QRB1QQpsIAhBEHRBEHVIDQMLIARFDQMgACgCKBCYDEUNAwsLCwwBCwsgAyAHLgEGIAcuAQJqQQIQThCDAyEIIAsEQCAIIAcuAQRrIgBBAEgEQCAHLgEAIAhrIAYoAgBIBEAgBiAHLgEAIAhrNgIACwsFIAcuAQAgCGsiAEEASARAIAcuAQQgCGsgBigCAEoEQCAGIAcuAQQgCGs2AgALCwsgACAFIABBAEogACAFSHEbIQUMAQsLIAYoAgAhACAJEH8gCSQGIAUgAEEAIABrIABBf0obawsnAQF/IAAgAC4BAEECEE47AQAgAEECaiIBIAEuAQBBAhBOOwEAIAALXAIDfwF8IABBIGoiAy4BACIEIABBImoiAC4BACIFIAQgBRDnF7efIQYgASAALgEAtyAGo7YQlwQgASADLgEAtyAGo7YQlgMgAiABKgIAEJcEIAIgASoCBIwQlgMLTgEBfyAAEFcgACABNgIEIAAgAkEBcToACCACBEAgARDDAS4BAiEDIAEoAhQhAgUgARBiLgECIQIgASgCECEDCyAAIAI2AhAgACADNgIMC1IBAn8gAEE4aiICKAIAIAFBOGoiAygCABDcCQRAIAIoAgAgAygCABDbCQsgAEE0aiIAKAIAIAFBNGoiASgCABDcCQRAIAAoAgAgASgCABDbCQsLRQECfyAALgEOIgIgAS4BDiIDIAIgA0gbQRB0QRB1IAAuAQoiACABLgEKIgEgAUEQdEEQdSAAQRB0QRB1SBtBEHRBEHVrC+oBAQh/IwYhASMGQSBqJAYgASAAQTBqEJIBIAEQngEgAEE4aiEEIABBNGohBQNAIAEQjQFFBEACQAJAIAEQgQEiA0E0aiIGKAIARQ0AIANBOGoiBygCACIIRQ0AIAIEQCACQTRqIgIoAgAgCBDcCQRAIAIoAgAgBygCABDbCQsFIAQoAgAgCBDcCQRAIAQoAgAgBygCABDbCQsLIAEQnwUEQCAFKAIAIAYoAgAQ3AkEQCAFKAIAIAYoAgAQ2wkLCwwBCyADQaC2GhCZAyAAQb+2GhCZAyACIQMLIAEQ9QEgAyECDAELCyABJAYLsQIBA38jBiECIwZBQGskBiACQRxqIgEgAEEsahB9IAEQlAEDQCABEI4BRQRAIAEQcCIAQQAQgRcgAEEBEIEXIAEQeAwBCwsgARCUAQNAIAEQjgFFBEAgARBwEP4rIAEQeAwBCwsgARCUAQNAIAEQjgFFBEAgARBwIgAoAigQmgUEQCACIAEpAgA3AgAgAiABKQIINwIIIAIgASkCEDcCECACIAEoAhg2AhggAhB4A0AgAhD3AkUEQCACEHAiAygCKBDvAwRAIAAgAxD9KwRAIAAgAxD8KwsLIAIQeAwBCwsLIAEQeAwBCwsgARCUAQNAIAEQjgFFBEAgARBwIgAoAigQ5gRFBEAgACgCNCIDBEAgAxCEFwsgACgCOCIABEAgABCEFwsLIAEQeAwBCwsgAiQGC8QBAQV/IwYhAiMGQZABaiQGIAJBiAFqIQUgAkGEAWoiBhBXIAJB6ABqIgMgBhB9IAIgABCAASACELgBA0AgAhDpASIEBEAgAyAEEKkCDAELCyAFIAAoARQiBEH//wNxIARBEHYgACgBGCIEQf//A3EgBEEQdhCEAyAFIAEQuw8gACAAKAIEIAUgBRCRARDOAyADEJ0DA0AgAxD5AUUEQCADEIcCIgEQzwMgACABELECIAMQeAwBCwsgAhB/IAYQtQMgAiQGC58CAQR/IwYhBiMGQUBrJAYgBkEcaiEHIAZBOGohCCAAIAQgBRD6KyAEKgIAu0S8lpAPerbrP2MEf0EABSAEIAIQpwYgBCADQQRqIgUQpwYgBCADQRBqEKcGIAQgA0EMahCnBiAHIAEQfSAHEJQBA0AgBxCOAUUEQCAHEHAgBBCHDCAHEHgMAQsLIAYgAEHMAGoQfSAGEJQBA0AgBhCOAUUEQCAGEHAgBBCHDCAGEHgMAQsLIABBAEEBELoPIAggACgBFCIBQf//A3EgAUEQdiAAKAEYIgFB//8DcSABQRB2EIQDIAggBBC7DyAAIAAoAgQgCCAIEJEBEM4DIABBAEEAIAIgABCrBiAAQQFBACAFIAAQqwZBAQshCSAGJAYgCQuKAQEGfyMGIQIjBkFAayQGIAJBHGoiASAAQSxqIgQQfSACIABBzABqEH0gARCUASAAQTBqIQUgAEEgaiEGA0AgARCOAUUEQAJAAkAgARBwIgMoAigQ5gQNACADKAIwRQ0AIAMgBiAAEIAXDAELIAIgARCHAhCpAiAFIAQQrwMLIAEQeAwBCwsgAiQGC2QBAn8jBiECIwZBEGokBiACQQAgAC4BGCAALgEUa0EUEE4iA0EBahCxASAAIAEgAhD5FkHMvPkAKAIAQQFKBEAgAhDgCAsgACADIAIQ9CsgACABQQAQ+RYgAigCDBCEASACJAYLUwEBfwJAAkAgAQRAIABBxABqIgIgASgCGCIBNgIAIAAgASAAEOoETiIBOgA/IAFFDQEFIABBADoAPyAAQcQAaiECDAELDAELIAIgABDqBDYCAAsLUQEBfwJAAkAgAQRAIABBQGsiAiABKAIYIgE2AgAgACABIAAQ6wRMIgE6AD4gAUUNAQUgAEEAOgA+IABBQGshAgwBCwwBCyACIAAQ6wQ2AgALC4QCAQd/IwYhAyMGQSBqJAYgA0EQaiECIANBCGohBAJ/IABBEGoiAS4BACABLgEESgRAQbS8+QAoAgAEQEGYtBogAxBLIAAQ2AELBSAAKAIIIAEuAQBMBEAgACgCDCABLgEETgRAIABBQGsiASgCACAAEOsETARAQQEgACgCRCAAEOoETg0EGgtBAEG0vPkAKAIARQ0DGiABKAIAIQEgABDrBCEEIAAoAkQhBSAAEOoEIQYgAiABNgIAIAIgBDYCBCACIAU2AgggAiAGNgIMQb+0GiACEEsgABDYAUEADAMLC0G0vPkAKAIABEBBrrQaIAQQSyAAENgBCwtBAAshByADJAYgBwsxAQF/IAAgARCGFyABKAJEIQMgAhBwQUBrKAIAIANIBEAgAiABEMcYBSACIAEQqQcLC5oFARN/IwYhCiMGQUBrJAYgCkEkaiEGIApBCGohCyACKAIAIRIgAEEEaiETA0AgDyASSARAIAIgDxCHAygCACIMBEAgBiATEH0gBhD5AQRAIApB4LQXNgIAIApB5gA2AgRB5JUWQZSzGkECQcfrHCAKEFELIAYQlAEgCyAMQQRqEH0gCxCUAUGAgICAeCEMA0AgCxCOAUUEQAJAIAsQcCIHKAIwQQVOBEAgB0FAaygCACEIIAcoAkQhDQNAIAYQcCEDIAYQpAIhBSADKAJEIgkgCEggBUEBc3EEQCAGEHggCSEMDAELCyANIANBQGsiDigCACIFSCAJIAhIcgRAIAAgBxCcBSAGEIcsDAILIAEoAgAoAgghBCABIAMgBSAJEIMHIARB/wFxQZACahEBACEQIAggDEogCCAFSHEEQCAHEOsEIREgASgCACgCCCEEAn8gASADIAggCRCDByAEQf8BcUGQAmoRAQAhFCABKAIAKAIIIQQgASADIBEgCRCDByAEQf8BcUGQAmoRAQAhBCAUIBBBAXNyCwRAIAMgB0EAEIsMIAMgARCRBwUgESAFSCAEcQRAIAMgB0EBEIsMIAMgARCRBwsLIA4oAgAhBQsgDSAJSgRAIAYQpAJFBEAgBkEBEMwDQUBrKAIAIA1MDQMLIAcQ6gQhDiABKAIAKAIIIQQCfyABIAMgBSANEIMHIARB/wFxQZACahEBACEVIAEoAgAoAgghBCABIAMgBSAOEIMHIARB/wFxQZACahEBACEFIBUgEEEBc3ILBEAgAyAHQQAQigwgAyABEJEHDAMLIA4gCUogBXEEQCADIAdBARCKDCADIAEQkQcLCwsLIAsQeAwBCwsLIA9BAWohDwwBCwsgABDADyAKJAYLOQECfyMGIQIjBkEgaiQGIAAQVyAAQQRqIgMQVyAAQRRqEHkgAiADEH0gAiABEKkCIAAQwA8gAiQGC0sBAX8jBiEBIwZBIGokBiABIABBBGoQfSABEJQBQQAhAANAIAEQjgFFBEAgACABEHAsADwQiQFBAXFqIQAgARB4DAELCyABJAYgAAv9AQEHfyAEKAIAIQcgBSgCACIJIQggCSEGA0ACQCAEIAY2AgAgBSAINgIAA0ACQCAHIAlODQIgByEGAn8CfwJAA38CfyAGIAlODQJBASAAIAZBAnRqKAIAIANBAnRqKAIAIAEgBkECdGoiCCgCAEgNABogAiAGaiwAAAR/IAZBAWohBgwCBUEBCwsLDAELIAEgBkECdGohCEEACyEMIAYhBwNAAkAgB0EBaiIHIAlODQAgACAHQQJ0aigCACADQQJ0aigCACAIKAIATgRAIAIgB2osAAANAQsMAQsLIAwLBEAgByAGayIIIApKDQELDAELCyAIIQogByEIDAELCwvHAQEGfyMGIQUjBkEgaiQGIAVBCGoiBkEAIAAoAsABIgcQsQEDQCADIARIBEAgASADQQJ0aiEIIAIgA0ECdGohCUEAIQADQCAAIAdIBEAgCCgCACAAQQJ0aigCACAJKAIASARAIAYgAEEBEIgBCyAAQQFqIQAMAQsLIANBAWohAwwBCwsgBigCCEEATARAIAVB6I4aNgIAIAVBqAY2AgRBvLr5AEH/rxpBAkHH6xwgBRBRCyAGEK8HIQogBigCDBCEASAFJAYgCgvoAQEIfyADIAE2AgAgBCABNgIAIABBDGohCyAAQdQBaiEHQQAhACABIQkDQAJAIAsoAgAhDANAIAAgDE4NASAAIQUDQAJAIAUgAU4EQEEAIQoMAQsgBygCACAFQQJ0aigCAEUEQCACIAVqLAAABEBBASEKDAILCyAFQQFqIQUMAQsLQQEhBiAFIQADQAJAIABBAWoiACABTg0AIAcoAgAgAEECdGooAgANACAGIAIgAGotAABqIQYMAQsLIAogBiAISnFFDQALIAMgBTYCACAEIAA2AgAgBiEIIAAhCQwBCwsgAygCACAJSAuqAQEFfyMGIQIjBkFAayQGIAJBHGoiAyABQQRqEH0gAxCUAUEAIQEDQCADEI4BRQRAIAMQcCIEKAIwEOgJBEAgBBDrAiEFIAIgBBDoAhCSASACEJ4BA0AgAhCNAUUEQCADEHAQcSIELgEAIQYgACAELgEEIAZqQQIQTiAFEJ0FRQRAIAEgBBBuQRB0QRB1aiEBCyACEKsBGgwBCwsLIAMQeAwBCwsgAiQGIAELmAEBAn8jBiEFIwZBIGokBiAFIABBBGoQfSAFEJQBA0AgBRCOAUUEQCAFEHAiBhCKFyEAIAEgASgCACAAajYCACACIAIoAgBBAWo2AgAgBRCkAkUEQCAFQQEQzAMhACAGIAYoAkQgAEFAaygCABCDByEAIAMgAygCACAAajYCACAEIAQoAgBBAWo2AgALIAUQeAwBCwsgBSQGCzQBAX8jBiEBIwZBIGokBiABIABBBGoQfQNAIAEQ+QFFBEAgARCHAhogARB4DAELCyABJAYL+QEBCX8jBiECIwZBIGokBiACQRRqIgVBADYCACACQRBqIgZBADYCACACQQxqIgdBADYCACACQQhqIghBADYCACAAQQxqIQogAEHUAWohCQNAIAMgCigCAEgEQCAJKAIAIANBAnRqKAIAIgRFBEAgAkHojho2AgAgAkGaBzYCBEG8uvkAQfusGkECQcfrHCACEFEgCSgCACADQQJ0aigCACEECyAEIAYgCCAFIAcQjywgA0EBaiEDDAELCyAAIAcoAgAiBEEASiABcQR/IAUoAgAgBBBOBSAIKAIAIgFBAEoEfyAGKAIAIAEQTgVBAAsLIgE2AogBIAIkBgu+BwEafyMGIQMjBkHQAGokBiABKAIAIgYgAEEMaiIaKAIARwRAIANB6I4aNgIAIANBlgU2AgRBvLr5AEGXrRpBAkHH6xwgAxBRCyADQTBqIQ8gA0EoaiETIANBIGohFiADQRhqIRQgA0EIaiEQIANBQGshDCADQTxqIQcgAEHUAWoiF0F/IAZBAnQgBkH/////A0sbIgIQTzYCAANAIAQgBkgEQCAXKAIAIARBAnRqQQA2AgAgBEEBaiEEDAELCyAAQcABaiIRKAIAIRUgBkF/IAZBf0obEE8hDSACEE8hCSACEE8hCEF/IBVBAnQgFUH/////A0sbIRsgAEHUAGohBQNAIAsgBkgEQCABIAsQhwMoAgAiEkEARyIOBH9BAiASQRRqIgIuAQAgAi4BAhDmAQVBAAshGCAIIAtBAnRqIhkgGxBPNgIAIA0gC2oiBEEAOgAAIAkgC0ECdGpB/////wc2AgBBACEKA0AgCiAVSARAAkACQCAORQ0AIBEgChCHAygCACAYIBIgBSgCABCJF0UNACARIAoQhwMoAgAgEhCOLCECIBkoAgAgCkECdGogAjYCACAEQQE6AAAMAQsgGSgCACAKQQJ0akH/////BzYCACAYBEAgECAKNgIAIBAgCzYCBCAQIBI2AghBsa0aIBAQSwsLIApBAWohCgwBCwsgC0EBaiELDAELC0EAIQ4DQCAAIAYgDSAMIAcQjSwEQCAMKAIAIQQgBygCACECQcy8+QAoAgBBAUoEQCAUIAQ2AgAgFCACNgIEQd+tGiAUEEsLIAAgCCAJIAQgAhCMLCEFQcy8+QAoAgBBAUoEQCAWIAU2AgBBgq4aIBYQSyARIAUQhwMoAgAQkggLIAggCSANIAUgDCAHEIssQcy8+QAoAgBBAUoEQCAHKAIAIQEgEyAMKAIANgIAIBMgATYCBEGerhogExBLBSAHKAIAIQELIAggCSANIAVBf0F/IAwQiBcgByABQX9qNgIAIAggCSANIAVBASAGIAcQiBcgByAHKAIAQQFqIgQ2AgAgDCgCACECQcy8+QAoAgAEQCAPIAU2AgAgDyACNgIEIA8gBDYCCEG1rhogDxBLCyAAIAUgAiAEIAggCRCHFyAOIBEgBRCHAygCABCKLEEBSnIhDgwBCwsgFygCACgCAEUEQCAAQQBBACAaKAIAIAggCRCHFwtBACEBA0AgASAGSARAIAggAUECdGooAgAiAARAIAAQTAsgAUEBaiEBDAELCyAJEEwgDRBMIAgQTCADJAYgDgvqAQEDfyMGIQMjBkHwAGokBiADIAAQgAEgAxC4AUEAIQADQCADEOkBIgIEQAJAAkACQAJAIAIoAjAiBA4IAAICAgIAAgECCwwECyACKAI0QX1qQQRJDQEMAwsgBEF9akECSQ0ADAILIABFBEAgAhCcBSIAQQcQgAcgACAAQQAQiwwgACAAQQAQigwMAgsgAkFAaygCACAAQUBrKAIASARAIAAgAkEAEIsMCyACKAJEIAAoAkRKBEAgACACQQAQigwLDAELCyAABEAgACABEJEHQRwQTyIBIAAQiSwFQQAhAQsgAxB/IAMkBiABC44DAQl/IwYhBCMGQZABaiQGQX8gAEEMaiIJKAIAIgJBAnQiA0EEaiACQf////8DSyADQXtLchsQTyIIIAI2AgAgCEEEaiEDIAIEQCADIAJBAnRqIQUgAyECA0AgAhBXIAJBBGoiAiAFRw0ACwsgBEEgaiEKIARBHGohBiABIAkoAgAQ7QIgBEEoaiIFIAAQgAEgBRC4AQNAAkADQAJAIAUQ6QEiAkUNAgJAAkACQAJAIAIoAjAOBgACAgICAQILDAILIAIQ6AIoAgAQqAJFDQIMAQsMAQsMAQsLIAAgAhBxIgcuAQAgBy4BAiAKIAYQtgIgBCADIAYoAgBBAnRqEH0gBCACEIwEQQEhBwwBCwsCQCAHBEBBACECA0AgAiAJKAIATg0CIAMgAkECdGoiBigCAARAQRwQTyIAIAYQhRcFQQAhAAsgASAAEI0EIAJBAWohAgwAAAsACwsgAyAIKAIAQQJ0aiIAIANHBEADQCAAQXxqIgAQtQMgACADRw0ACwsgCBBMIAUQfyAEJAYgBwt2AQJ/IwYhBSMGQRBqJAYgBSADEGIpAQA3AwAgAyAAIAVBABCVCBDHDyADIAAgBUEAEJQIEMYPIAMgACAFQQEQlQgQxQ8gAyAAIAVBARCUCBDEDyADKAIYEMgCBH9BAAUgBCABIAIgAxCTCEEBCyEGIAUkBiAGC9IBAQZ/IwYhCCMGQRBqJAYgCCIDIAIQcSkBADcDACACEOsCIQUgABB7LgEAIQQgABCeAi4BACEGIAEEQCABIAMuAQAgBRCdBSIHBEAgByAFEMMEIQQLIAEgAy4BBCAFEJ0FIgEEQCABIAUQxAQhBgsLIAMuAQAhASACIAAgAxBrQRB0QRB1IAFqQQEgBEFsaiADLgECIAMuAQYgAhCQFxC0CiACIAAgAy4BBCADEGtBEHRBEHVrQQAgBkEUaiADLgECIAMuAQYgAhCQFxDtASADJAYLhAEBBX8jBiEFIwZBEGokBiAFQX82AgAgAEEQaiIGLgEAIQggBi4BBCEJIAYQayEHIAIgASAIIAkgBhBuIgEgByABQRB0QRB1IAdBEHRBEHVIG0EQdEEQdSAAEOsCIAAoAgggACgCDCADIAQgBRDcFiEBIAAgACgCMCABENgWNgJIIAUkBgvBAgEIfyMGIQYjBkEQaiQGIAAoAgAgAEEEaiIHKAIAIABBDGoiBSgCACACEJcIIQIgACgCACAHKAIAIAUoAgAgAxCXCCEIIAAoAgAgACgCCCAFKAIAIAQQlgghCSACIAhGBH9BAAUgBSgCABB3IQNBAUF/IAIgCEgbIQpBACEEQQAhByAFKAIAEHUgAyAJbEECdGoiCyACakEDcy0AACEDA0ACQCADIQUCfwJAAkADQCACIAhGDQQgCyACIApqIgJqQQNzLQAAIQMgAQRAIAYgAjYCACAGIAk2AgQgBiADNgIIIAYgBTYCDEG/qBogBhBLCyAFIANLDQEgBSADTw0CIARBAWohBCADIQUMAAALAAsgB0EEagwBCyAHQQFqCyEHDAELCyAAKAIAIgAgBGxBBBBOIAAgB2xqCyEMIAYkBiAMC78CAQl/IwYhBiMGQRBqJAYgACgCACAAKAIEIABBDGoiBSgCACACEJcIIQggACgCACAAQQhqIgIoAgAgBSgCACADEJYIIgcgACgCACACKAIAIAUoAgAgBBCWCCIJRgR/QQAFIAUoAgAQdyIEQQFBfyAHIAlIGyIKbCELQQAhAkEAIQMgBSgCABB1IAQgB2xBAnRqIgQgCGpBA3MtAAAhBQNAIAcgCUcEQCAEIAtBAnRqIgwgCGpBA3MtAAAhBCABBEAgBiAINgIAIAYgByAKajYCBCAGIAQ2AgggBiAFNgIMQb+oGiAGEEsLIAUgBEsEQCADQQRqIQMFIAUgBEkEQCACQQFqIQIFIANBAWohAwsLIAcgCmohByAEIQUgDCEEDAELCyAAKAIAIgAgAmxBBBBOIAAgA2xqCyENIAYkBiANC3EBA38jBiEFIwZBEGokBiAFIAIQcSkBADcDACACQTBqIgYoAgAQmQgEQCAFIAIoAhwQpwIgBSACKAIYELcCBSAFIAIoAiQQjwIgBSACKAIoEI4CCyAAIAEgBSAGKAIAEJkIIAMgBBCSFyEHIAUkBiAHC0MAIABCADcCACAAQgA3AgggAEEQahDIDyAAQTBqEMgPIABB0ABqEMgPIABB8ABqEJQXIABBkAFqEJQXIABBAToAsAELhAEBAn8jBiECIwZBEGokBgJAAkACQCABRSIDBEAgAkHOpRo2AgAgAkGcAzYCBEGYq/kAQaCmGkECQcfrHCACEFFBABCYCEUNAQUgARCYCA0CDAELDAILIAEQcRD2AUEASgRAIABBMGogARCxAgUgA0UNAQsMAQsgARCcAyABEEwLIAIkBgvcAgIGfwF+IwYhBCMGQTBqJAYgBEEIaiEDIARBEGohBSABRSICBH8gBEHOpRo2AgAgBEG2AzYCBEGYq/kAQaCmGkECQcfrHCAEEFFBABDoAgUgARDoAgsoAgAEQCABQSxqIgYoAgAiAkEATARAIANBzqUaNgIAIANBvgM2AgRBmKv5AEGwphpBAkHH6xwgAxBRIAYoAgAhAgsgAqxCAYYhCEEBIQIDQCACBEAgBSABEOgCEJIBIAUQngFBgICAgHghAwJAAkADQAJAIAUQjQEEQEEAIQIMAQsgBRCBARBiIQYgA0GAgICAeEcEQCAIIAYuAQAiAiADa6xTDQMLIAYuAQQhAiAFEKsBGiACIAMgAyACSBshAwwBCwsMAQsgASADIAJqQQIQThCXFyEHIAAgARCWFyAHIQFBASECCwwBCwsgACABEJYXBSACRQRAIAEQnAMgARBMCwsgBCQGC3wBAX8jBiECIwZBEGokBgJAAkAgAQRAIAAoAgQgACgCCCABEIwMRQ0BBSACQc6lGjYCACACQYwDNgIEQZir+QBBoKYaQQJBx+scIAIQUSAAKAIEIAAoAghBABCMDEUNAQsgAEEQaiABELECDAELIAEQnAMgARBMCyACJAYLXQEDfyMGIQEjBkFAayQGIAAQnAUiAkEAEMkPIAFBHGoiAyACEOgCEJIBIAEgABDoAhCSASABEJ4BA0AgARCNAUUEQCADIAEQgQEQ6QQgARCrARoMAQsLIAEkBiACC2MBAXwgASAAbLdEmpmZmZmZqT+iIQMgALdEMzMzMzMz0z+iIAIQYiIAEGtBEHRBEHW3YwR/IAG3RJqZmZmZmdk/oiAAEG5BEHRBEHW3YwR/IAMgABD2AbdjBUEACwVBAAsiAAulBAEKfyMGIQMjBkHgAWokBiADQQhqIQcgA0HwAGoiCCAAEIABIAgQuAEgCEEoaiELA0AgCBDpASIEBEAgASALKAIAQQJ0aigCACEFIAMgBBBxIgopAQA3AwAgBBDrAiEGIAUgAy4BACAGEJ0FIQIgBSADLgEEIAYQnQUhBSACBEAgBCADLgEAIAIgBhDDBGsiAkEAIAJBAEobEJsXCyAFBEAgBCAFIAYQxAQgAy4BBGsiAkEAIAJBAEobEJoXCyAHIAAQgAEgByADLgEAIAMuAQIgAy4BBhCKBCAEQZQBaiEJA0AgB0EBEJQFIgIEQCACKAJIQXdqQQNJBEAgAhBxLgEEIgYgAy4BACICSARAIAQgCSgCACIFIAJBEHRBEHUgBkEQdEEQdWsiAiAFIAJIGxCbFwsLDAELCyAHIAMuAQAgAy4BAiADLgEGEIoEIARBmAFqIQkDQCAHQQAQlAUiAgRAIAIoAkhBd2pBA0kEQCACEHEuAQAiBiADLgEEIgJKBEAgBCAJKAIAIgUgBkEQdEEQdSACQRB0QRB1ayICIAUgAkgbEJoXCwsMAQsLIARBARDeAiICBEAgBCACEHEuAQIgCi4BAmsiAkEAIAJBAEobEJkXBSAEQf////8HEJkXCyAEQQAQ3gIiAgRAIAQgCi4BAiACEHEuAQJrIgJBACACQQBKGxCYFwUgBEH/////BxCYFwsgBxB/DAELCyAIEH8gAyQGC14BAn8jBiEBIwZB8ABqJAYgASAAQRBqEIABIAEQuAEDQCABEOkBIgAEQCAAQQEQ3gIiAgRAIAAgAjYChAELIABBABDeAiICBEAgACACNgKIAQsMAQsLIAEQfyABJAYLpQIBCX8jBiEDIwZB8ABqJAYgA0EIaiEEIAEoAjRBBkYEQEEBIQAFIAEQcSEFIAAoAgRBAXQiAiAFLgEGaiEGIAUuAQIgAmshByAEIABBMGoQgAEgAUHkAGohCCABQegAaiEJQQAhAANAAkAgAEECTwRAQQAhAAwBCyAEIABFIgoEfyAFLgEEBSAFLgEAC0EQdEEQdSAHIAYQigQDQAJAIAQgChCUBSICRQ0AIAIoAjRBBkYEQCACIAFGBEAgA0HOpRo2AgAgA0HKBzYCBEGYq/kAQf2lGkECQcfrHCADEFELIAIoAmggCCgCAE4gAigCZCAJKAIATHFFDQEgAiABEJkMBEBBASEADAQLCwwBCwsgAEEBaiEADAELCyAEEH8LIAMkBiAAC/cCAwl/AX4BfCMGIQMjBkEwaiQGIAAoAkgQ7gFFBEAgA0HOpRo2AgAgA0HcBjYCBEGYq/kAQY2mGkECQcfrHCADEFELIANBCGoiBSAAEOgCIgcQkgEgABBxIggQbkEQdEEQdSEBAn8CQCAAQSBqIgYoAgAiAEEKbCABSgR/IAcQuQJBCkgEf0EBBSAGKAIAIQAMAgsFDAELDAELIACsQgKGIQogALdEAAAAAAAA4D+iIQsgBRCeAUF/IQRBfyEAA0AgBRCNAUUEQCAFEIEBEGIiAi4BBCEBAkAgBEF/RwRAIAIuAQAgBGsiAkEASARAIAYoAgCsQgKGQQAgAmusVQRAIAEgBCAEIAFIGyEBDAMLCyACIAAgAiAAShshAEEBIAogAqxTDQQaCwsgBRCrARogASEEDAELCyAIEG5BEHRBEHUhASAGKAIAQRRsIAFIBH9BAAUgBxC5AkEUSgR/QQAFIABBf0YgCyAAt2RyCwsLIQkgAyQGIAkLrAEBBH8jBiECIwZBQGskBiACQRxqIgMgAEHMAGoQkgEgAiABQcwAahCSASADEJ4BIAIQngEDQAJAIAMQjQENACACEI0BDQAgAxCBASEBIAIQgQEhACABKgJIIAEqAkwgASoCUCAARAAAAAAAANA/RAAAAAAAAABAEMoPIQAgAxCrARogAhCrARogBCAAQQFzQQFxaiEEIAUgAEEBcWohBQwBCwsgAiQGIAUgBEsLRgACfwJAIAAoAjBBBkYNACABKAIwQQZGDQAgAUEgaiEBIABBIGoMAQsgAUEsaiEBIABBLGoLIgAoAgAgASgCABDfCUEBcwurAQEIfyMGIQIjBkHwAGokBiACIABBEGoQgAEgAhC4AUEAIQBB/////wchA0GAgICAeCEEA0ACQANAIAIQ6QEiAUUNASABKAJIEO4BRQ0ACyABIAAgBCABEHEiBS4BBiIHSCIIGyEAIAEgBiADIAUuAQIiAUoiBRshBiABIAMgBRshAyAHIAQgCBshBAwBCwsgAARAIAAQ4wkLIAYEQCAGEOMJCyACEH8gAiQGC5cDAgp/AX4jBiEEIwZB8ABqJAYgBCAAQRBqEIABIAQQuAEgAEGwAWohCSAAQQxqIQoDQCAEEOkBIgAEQCAAKAJIQQZGBEAgACgChAEiCCIGBEAgCCgCSEEBRgRAIAYQcSICEG4hBSAAEHEiARBuQRB0QRB1QQF0IAVBEHRBEHVMBEAgAS4BBCABLgEAakECEE4hBSACLgEEIAIuAQBqQQIQTiEDIAksAAAEfyADIAIuAQAiAyABLgEAIgEgA0EQdEEQdSABQRB0QRB1SBtBEHRBEHUiA2shASAFIANrBSACLgEEIgcgAS4BBCIBIAFBEHRBEHUgB0gbQRB0QRB1IgcgA2shASAHIAVrC7dEzczMzMzM9D+iIAG3ZEUEQCAAIAYQpiwEQCAAIAYQpSwEQCAAKAIgrEIDfiAAKAKUAaxZBEAgAhBuQRB0QRB1rCELIAgoApgBrEIDfiALVwRAIAAoAowBIgIgACgCkAFIBEAgAiAKKAIAQQF0TARAIAAQ4wkLCwsLCwsLCwsLCwwBCwsgBBB/IAQkBgvSAQEEfyMGIQIjBkHwAGokBiACIABBEGoQgAEgAhC4AQNAIAIQ6QEiAQRAIAEoAkgiAEEFSiAARXJFBEAgASgChAEiA0EARyABKAKIASIAQQBHcQRAIAMoAkhBBkYEQCAAKAJIQQZGBEAgARDRDwsLCwsMAQsLIAIQuAEDQCACEOkBIgEEQCABKAJIQQZGBEAgASgCiAEiAyEAIAEoAoQBIgQEQCAAQQBHIAQoAkhBBkdxBEAgAygCSEEGRwRAIAEQ4wkLCwsLDAELCyACEH8gAiQGC3MBA38jBiEBIwZB8ABqJAYgASAAQRBqEIABIAEQuAEgAEEEaiEDA0AgARDpASICBEAgAigCSBDuAQRAIAMoAgCsQgGGIAIoAiCsWQRAIAIQpCxFBEAgACACEKMsRQ0ECyACENEPCwsMAQsLIAEQfyABJAYLggEBAX8gAC4BACABLgEAayICQQAgAmsgAkF/ShtBFEgEfyAALgEEIAEuAQRrIgJBACACayACQX9KG0EUSAR/IAAuAQYgAS4BAmsiAkEAIAJrIAJBf0obQQVIBH9BAQUgAS4BBiAALgECayIAQQAgAGsgAEF/ShtBBUgLBUEACwVBAAsLoAEBA38jBiEDIwZBQGskBiADQSRqIgIgABBVIANBCGoiACABEFUgAhBbA0AgAhBZRQRAIAIQUxCRASEBIAAQWwJAAkACQANAIAAQWQ0CIAMgABBTIgQQkQEpAQA3AwAgASADEKssDQEgABBWDAAACwALIAQgARCeBSACEJ8BIgEEQCABEEwLDAELIAAgAhCfARCgAQsgAhBWDAELCyADJAYL0gEBB38jBiEEIwZB0ABqJAYgBEEEaiEGIARBQGshByAEQSRqIgUgAEEEahB9IARBCGoiCCADEFUgCBDrBxogBRCUASABQf//A3EhCiACQf//A3EhAwNAIAUQjgFFBEAgBiAFEHAiACACEMMEQf//A3EgChChASAEIAAgARDEBEH//wNxIAMQoQFBGBBPIgkQjQwgByAGKAIAIgBB//8DcSAAQRB2IAQoAgAiAEH//wNxIABBEHYQhAMgCSAHEJ4FIAggCRCgASAFEHgMAQsLIAQkBgtBAQJ/IAAoAhAiAaxCA34gACgCDCICrFMEQCAAQQI2AhQFIABBFGohACABIAJKBEAgAEEBNgIABSAAQQM2AgALCwu7AQEGfyABEJ8XIQQCQCAAKAIEIgIEfyACQX9qIgUgAnFFIgcEfyAFIARxBSAEIAJJBH8gBAUgBCACEIcBCwshBiAAKAIAIAZBAnRqKAIAIgAEfwNAIAAoAgAiAEUEQEEAIQAMBAsgACgCBCIDIARGBEAgACgCCCABRg0EBSAHBEAgAyAFcSEDBSADIAJPBEAgAyACEIcBIQMLCyADIAZHBEBBACEADAULCwwAAAsABUEACwVBAAshAAsgAAuOAQECfyMGIQMjBkHwAGokBiADQegAaiEEIAEgAhCOAwRAQQEhAAUgBCABIAIQogUgAyAAQRBqEIABIAMgBBDzAQNAAkAgAxCdAiIERQRAQQAhAAwBCyAEEHEiACABEI4DBEAgACACEI4DBEAgBCgCSBDsBUUEQEEBIQAMAwsLCwwBCwsgAxB/CyADJAYgAAuyAgEKfyMGIQMjBkHwAGokBiADQegAaiEIIAEQhQcEfyABEHEiBSACEOUEBH8gCCAFIAIQogUgAEEQaiEJIABBMGohCiABQSBqIQtBACEAQQAhAUEAIQUDQCAHQQJJBEAgAyAKIAkgBxsQgAEgAxCFAiADIAgQ8wEDQAJAA0ACQCADEJ0CIgZFDQIgBhBxIAIQlAdEMzMzMzMz4z9kRQRAIAYoAkgiBBDsBUUNAQsMAQsLIABBAWohACABIARBBkYEf0EBIQRBAQUgBBDkBAR/QQEhBEEBBSAGKAKYASALKAIAQQpsIgFKIQQgBigClAEgAUoLC2ohASAFIARqIQUMAQsLIAMQfyAHQQFqIQcMAQsLIAUgAEECEE4iAEogASAASnIFQQALBUEACyEMIAMkBiAMC7wBAQZ/IwYhAiMGQfAAaiQGIAIgAEEQahCAASACIAEuAQAgAS4BBCABLgEGEPADQQAhAANAAkAgAEUhBgJAAkADQAJAIAJBABDABCIDRQ0EIAMoAiBBAnQhBCABLgEGIQcgAxBxIgUuAQIgB2sgBEoNBCADKAJIIgRBBkYNAiAEEOQEDQIgBgRAIAMhAAwBCyAFIAAQcRCJCA0BDAQLCwwBCyABIAUuAQYQpwJBACEACwwBCwsgAhB/IAIkBgt7AQN/IwYhBCMGQfAAaiQGIARBCGoiBSAAQTBqEIABIAUQhQIgBSACEPMBA0AgBRCdAiICBEAgAigCSBDkBARAIAMgAhBxIgYQuwNFBEAgACACIAEQsSwEQCAEIAMgBhCiBSADIAQpAwA3AQALCwsMAQsLIAUQfyAEJAYLnwEBBX8jBiEEIwZB8ABqJAYgBEEIaiEFIABB0ABqIQcgAEEwaiEIQQAhAANAIABBAkkEQCAFIAggByAAGxCAASAFIAIQ8wEDQCAFEJ0CIgYEQCAGKAJIEOwFRQRAIAYQcSIGIAEQlAdEMzMzMzMz4z9kBEAgBCADIAYQogUgAyAEKQMANwEACwsMAQsLIAUQfyAAQQFqIQAMAQsLIAQkBgs6AQF/IwYhAyMGQRBqJAYgAyABKQEANwMAIAAgASADIAIQtCwgACABIAMgAhCzLCAAIAIQsiwgAyQGC5kCAgV/AXwDQCAEIAJIBEAgASAEQQJ0aigCACEGIARBAWohBCAGIAMgBiADShshAwwBCwsgA0EDSAR/QQAFRM3MzMzMzNw/RGZmZmZmZtY/IANBBUobIAO3oiEIQQAhAwNAIAMgAkgEQCABIANBAnRqIgQgCCAEKAIAt2U2AgAgA0EBaiEDDAELC0EBIQVBfyEEQQAhAwNAIAUgAkgEQCABIAVBf2pBAnRqKAIABEAgBCAFIAEgBUECdGooAgAbIQYFIARBf0YEQEF/IQYFIARBfyABIAVBAnRqKAIARSIHGyEGIAMgBSAEayIEIAMgBCADShsgBxshAwsLIAVBAWohBSAGIQQMAQsLIAAoAgSsQgGGIAOsUwsiAAuHAgEJfyMGIQIjBkFAayQGIAJBCGohBCACIAEQkQEpAQA3AwAgACACLgEAIAIuAQIgAkEwaiIGIAJBLGoiBRC2AiAAIAIuAQQgAi4BBiACQShqIgMgAkEkaiIHELYCIABBHGohCCAHKAIAIQcgBigCACEGIAMoAgAhCSAFKAIAIgMhBSAAQQhqIgooAgAgA2whAwNAIAUgB0wEQCAGIQADQCAAIAlMBEAgBCAIKAIAIAAgA2pBAnRqEJIBIAQQngEDQCAEEI0BRQRAIAQQgQEgAUYEQCAEEJACGgsgBBD1AQwBCwsgAEEBaiEADAELCyAFQQFqIQUgCigCACADaiEDDAELCyACJAYLnwEBA38jBiEDIwZB8ABqJAYgACgCACgCBCECIAMgACkBCDcDACADIAEgAmsQjwIgAyACIAFqEI4CIANBCGoiAiAAKAIAEIABIAIQhQIgAiADEPMBQQAhAANAAkADQANAIAIQnQIiBEUNAiAEKAJIEO4BRQ0ACyAEEHEiBC4BACABTg0ACyAAIAQuAQQgAUpqIQAMAQsLIAIQfyADJAYgAAufAQEDfyMGIQMjBkHwAGokBiAAKAIAKAIEIQIgAyAAKQEINwMAIAMgASACaxC3AiADIAIgAWoQpwIgA0EIaiICIAAoAgAQgAEgAhCFAiACIAMQ8wFBACEAA0ACQANAA0AgAhCdAiIERQ0CIAQoAkgQ7gFFDQALIAQQcSIELgECIAFODQALIAAgBC4BBiABSmohAAwBCwsgAhB/IAMkBiAAC9kBAQR/IwYhAyMGQRBqJAYCQAJAIABBJGoiAigCAEEBTA0AIAAoAhBBAUwNAAwBCyADQYqhGjYCACADQcQCNgIEQbCtFkHppBpBAkHH6xwgAxBRCwJAAkADQCABIAIoAgBODQEgAUEBaiEEIAAgAiABEE0oAgAQuSxBAEoEf0EABSAEIQEMAQshAAsMAQsgAEEQaiECQQAhAQNAIAEgAigCAE4EQEEBIQAMAgsgAUEBaiEEIAAgAiABEE0oAgAQuCxBAEoEf0EABSAEIQEMAQshAAsLIAMkBiAAC9gCAQd/IwYhBCMGQfAAaiQGIAAQqRcgBCAAKAIEEIABIAQQhQIgBCAAQQhqIgUQ8wEgAEEkaiECIABBEGohAwNAIAQQnQIiAQRAIAEQhQcEQCACIAEQ6wIQsAELIAEQzA8EQAJ/IAMhByABQRBqIgEuAQAhBiAHCyABLgEEIAZqQQIQThCwAQsMAQsLIAMoAgBBA0gEQEEAIQAFIAIoAgBBA0gEQEEAIQAFIAMQiQQgAhCJBCADEJAMIAIQkAwgBS4BACEBIANBABBNIAFBEHRBEHU2AgAgBS4BBCEBIAMgAygCAEF/ahBNIAFBEHRBEHU2AgAgBS4BAiEBIAJBABBNIAFBEHRBEHU2AgAgBS4BBiEFIAIgAigCAEF/ahBNIAVBEHRBEHU2AgAgAxCQDCACEJAMIAAQqBcgABCnFyAAIAAQuiwiAEEBcToAOAsLIAQQfyAEJAYgAAufAQEDfyMGIQIjBkEQaiQGIAJBCGohAyAAIAEQohcEQANAIAEQ9gEhBCAAIAEQohdFBEAgAkGKoRo2AgAgAkG8BjYCBEGwrRZBmKUaQQJBx+scIAIQUQsgARD2ASAESARAIANBiqEaNgIAIANBvQY2AgRBsK0WQZ6lGkECQcfrHCADEFELIAEQ9gEgBEoNAEEBIQALBUEAIQALIAIkBiAAC7YCAQh/IwYhBCMGQfAAaiQGIAJFBEAgBEGYsxc2AgAgBEGHCzYCBEGExPkAQbuzF0ECQcfrHCAEEFELIABB9N8IaigCALdEAAAAAAAA4D+itrsQwwO2EGUhCiAEQQhqIgUgAEHU3whqKAIAEIABIAUQhQIgBSACEHEiAC4BACAALgEEIAEEfyAALgECBSAALgEGC0EQdEEQdRDwA0H/////ByEGA0ACQANAAkADQAJAIAUgARDABCIDRQ0EIAMgAkcEQCADKAJIEJsFDQELDAELCyADEHEiByAAELUCIgggCkoNAiAHIAAQ5QQEQCABBEAgBy4BAiAALgECTA0CBSAHLgEGIAAuAQZODQILCwwBCwsgAyAJIAggBkgiAxshCSAIIAYgAxshBgwBCwsgBRB/IAQkBiAJC2YBAn8jBiECIwZB8ABqJAYgAiAAKAIEEIABIAIQhQIgAiABEPMBQQAhAQNAIAIQnQIiAARAIAMgABCFB0EBcWohAyABIAAQzA9BAXFqIQEMAQsLIAIQfyACJAYgAUECSyADQQJLcQtuAQJ/IwYhAiMGQRBqJAYCQAJAIAFBf0wNACAAEOcEIAFMDQAMAQsgAkGKoRo2AgAgAkH7ADYCBEGwrRZBuaIaQQJBx+scIAIQUQsgAEEQaiIAIAFBAWoQTSgCACAAIAEQTSgCAGshAyACJAYgAwvWAgEHfyMGIQIjBkHwAGokBiACQegAaiEEIAIgACgCBBCAASACEIUCIAIgAEEIaiIBLgEAIAEuAQQgAS4BBhDwAyAAQcwAaiEGAkADQAJAIAJBABDABCIDRQ0AIAMQhQdFDQAgAS4BACEFIAMQ6wIhByAEIAUgAS8BBkEBakH//wNxIAEuAQQgB0H//wNxEJUCIAQQa0EQdEEQdSEFIAYoAgBBAXQgBUgNAiAAIAQQzg9BAEoNAiABIAMQ6wIQpwIMAQsLCyACIAEuAQAgAS4BBCABLgECEPADAkADQAJAIAJBARDABCIDRQ0AIAMQhQdFDQAgBCABLgEAIAMQ6wJB//8DcSABLgEEIAEvAQJB//8DakH//wNxEJUCIAQQa0EQdEEQdSEFIAYoAgBBAXQgBUgNAiAAIAQQzg9BAEoNAiABIAMQ6wIQtwIMAQsLCyACEH8gAiQGCzIBAX8gABCGB0EBSgR/IAAQ5wRBAUoEfyAAEIYHIQEgABDnBCABbEEFSgVBAAsFQQALC5wDAQ1/IwYhAiMGQaABaiQGIAJBhAFqIgMQ+QMgAkHwAGoiBBD5AyACQQhqIgUgACgCABCAASAFEIUCIAUgAEEIahDzASAAQdQAaiEJQf////8HIQZBgICAgHghBwNAAkADQCAFEJ0CIgFFDQEgASgCSBDuAUUNAAsgARBxIgEuAQIgAS4BBk4EQCACQYqhGjYCACACQaQDNgIEQbCtFkHgohpBAkHH6xwgAhBRCwJ/IAEuAQIhDSABLgEGIQsgARBrQRB0QRB1IQggCSgCACAITgRAIAEQa0EQdEEQdbdEmpmZmZmZyb+iRAAAAAAAAOA/okQAAAAAAADgP6AQWiEIIAEuAQIgCGsiDCABLgEGIAhqIgFIBEAgAyAMELABIAQgARCwAQsLIA0iAQsgBiAGIAFKGyEGIAsiASAHIAcgAUgbIQcMAQsLIAMoAgAEQCAEKAIABEAgAxCJBCAEEIkEIAMgBCAAQSRqIgAQoxcgAEEAEE0gBjYCACAAIAAoAgBBf2oQTSAHNgIACwsgBRB/IAQQaCADEGggAiQGC4sCAQZ/IwYhASMGQaABaiQGIAFBhAFqIgMQ+QMgAUHwAGoiBBD5AyABQQhqIgUgACgCABCAASAFEIUCIAUgAEEIahDzAQNAIAUQnQIiAgRAIAIoAkgQ7gEEQCACEHEiBi4BACAGLgEETgRAIAFBiqEaNgIAIAFB8gI2AgRBsK0WQa6kGkECQcfrHCABEFELIAIoAiy3RDMzMzMzM9M/okQAAAAAAADgP6JEAAAAAAAA4D+gEFohAiADIAYuAQAgAmsQsAEgBCAGLgEEIAJqELABCwwBCwsgAygCAARAIAQoAgAEQCADEIkEIAQQiQQgAyAEIABBEGoQoxcLCyAFEH8gBBBoIAMQaCABJAYLrAIBBn8jBiEEIwZBIGokBiAEQQhqIQYgBCIHQRBqIQUCQAJAIAFBAEggASACSnINACAAEIYHIAJMDQAMAQsgB0GKoRo2AgAgB0HqATYCBEGwrRZBqqEaQQJBx+scIAcQUQsCQAJAIANBAEgNACAAEOcEIANMDQAMAQsgBkGKoRo2AgAgBkHsATYCBEGwrRZB6qEaQQJBx+scIAYQUQsgBRB5IABBJGohCCAAQRBqIQlBACEEA0AgASACTARAIAUgCCABEE0oAgAQtwIgBSAIIAFBAWoiBhBNKAIAEKcCQQAhAQNAIAEgA0wEQCAFIAkgARBNKAIAEI8CIAUgCSABQQFqIgEQTSgCABCOAiAEIAAgBRDOD0EASmohBAwBCwsgBiEBDAELCyAHJAYgBAucBgMOfwF+AXwjBiEEIwZBEGokBiAEQQhqIgsgASkBACIRNwMAIAQgETcDACABLgEGIAEuAQJqQQIQTiEIIAAgAS4BACABLgEEIAggAEEIaiIMKAIAQQIQTmtBARDgCSEFIAQgACABLgEAIAEuAQQgDCgCAEECEE4gCGpBABDgCRCnAiACQcwAaiEPIAJBQGshDkEKIQZB/////wchAwNAAkAgBSADRg0AIAQgBRC3AiAEEGtBEHRBEHUhAwJAIAwoAgAgA0wEQCACIAQQkQwgAhDQDwRAIAe3RGZmZmZmZuY/oiACEOcEt2UEQCAPKAIAt0QAAAAAAAAEQKIhEgJAAkAgDigCACIDIAlIIAO3RJqZmZmZmfE/oiAKt2ZFckUNACACQQAQqhdBAUoEQCASIAJBABDPD7dkDQELDAELIAsgBRC3AiAOKAIAIQpBASENIAcgAhDnBCIJIAkgB0gbIQcLQQohBiAOKAIAIQkMAwsLIAZBAkgNAiAGQX9qIQYLCyAAIAEuAQAgAS4BBCAFIgNBARDgCSEFDAELCyANBH8gACABLgEAIAEuAQQgDCgCAEECEE4gCGpBABDgCSEFIAQgCy4BAhC3AiACQTxqIQhBgICAgHghA0EAIQ1BACEJQQohBkEAIQoDQAJAIAMgBUYNACAEIAUQpwIgBBBrQRB0QRB1IQMCQCAMKAIAIANMBEAgAiAEEJEMIAIQ0A8EQCAHt0RmZmZmZmbmP6IgAhDnBLdlBEAgAhCGB0F/aiEDIA8oAgC3RAAAAAAAAARAoiESAkACQCAIKAIAIgYgCUggBrdEmpmZmZmZ8T+iIA23ZkVyRQ0AIAIgAxCqF0EBSgRAIBIgAiADEM8Pt2QNAQsMAQsgCyAFEKcCIAgoAgAhDSAHIAIQ5wQiCiAKIAdIGyEHQQEhCgsgCCgCACEJQQohBgwDCwsgBkECSA0CIAZBf2ohBgsLIAAgAS4BACABLgEEIAUiA0EAEOAJIQUMAQsLIAoEfyALELoDBH9BAAUgAiALEJEMIAIQ0A8LBUEACwVBAAshECAEJAYgEAtHAQJ/IwYhAyMGQRBqJAYgACABEL4sBH8gAyABKQEANwMAIAAgAxC8LAR/IAIgAxCRDCACELssBUEACwVBAAshBCADJAYgBAtVAQF/IABBADYCACAAQQA2AgQgAEEIahB5IABBEGoQ+QMgAEEkahD5AyAAQQA6ADggAEE8aiIBQgA3AgAgAUIANwIIIAFCADcCECAAQf////8HNgJUC1UBAX9B2AAQTyICEMcsIAIgACgCADYCACACIAAoAgQ2AgQgAiAAKAIQNgJUIAAgASACEMYsRQRAIAAgASACEMUsRQRAIAIQqxcgAhBMQQAhAgsLIAILygIBCH8jBiEFIwZB0AJqJAYgBUH4AGohCCAFQRBqIQcgBUEIaiEKIAVB4AFqIgkgARCAASAJELgBA0AgCRDpASIEBEAgBCgCSEEGRgRAIAQQ4wkLDAELCyAIIABBkAFqEIABIAgQuAEDQCAIEKoGIgQEQCAEEJEBIQsgByABEIABIAcgCxDzAUEAIQQDQAJAA0AgBxCdAiIGRQ0BIAYoAkgQ7gFFDQALIAUgBhBxKQEANwMAIAUgCxCUB0QzMzMzMzPjP2QEQCAHEK4DIAQEQCAEIAYgAxCWBwUgBiEECwsMAQsLIAQEQCABIAQQcSIGLgEAIAYuAQIgBSAKELYCIAQgACgCACACIAooAgBBAnRqKAIAELQPIAQQ0Q8gBEEHEIAHIARBAxDtAyAEEO0EIAEgBBCxAgsgBxB/DAELCyAIEH8gCRB/IAUkBgvWAwENfyMGIQIjBkGQAmokBiACQRBqIQEgABCPDC4BACAAEI4MIgwuAQBrIgdBAEwEQCABQc6lGjYCACABQaoNNgIEQZir+QBBv6UaQQJBx+scIAEQUQsgAkEIaiEKIAJBOGohBCACQRhqIQVBfyAHQQJ0IAdB/////wNLGxBPIQggAkGgAWoiCSAAQZABahCAASAJELgBIABBEGohDQNAIAkQqgYiCwRAIAogCxCRASkBADcDAEEAIQEDQCABIAdIBEAgCCABQQJ0akEANgIAIAFBAWohAQwBCwsgBCANEIABIAQQhQIgBCAKEPMBA0AgBBCdAiIBBEAgASgCSBDuAQRAIAEoAjRBBkcEQCACIAEQcSkBADcDACACIAoQlAdEMzMzMzMz4z9jDQMgBSABEOgCEJIBIAUQngFBACEGA0AgBRCNAUUEQCAFEIEBEGIiAS4BACEDIAEuAQQhASAGIAMgBiADShshAwNAIAMgAUgEQCAIIAMgDC4BAGtBAnRqIgYgBigCAEEBajYCACADQQFqIQMMAQsLIAUQqwEaIAEhBgwBCwsLCwwBCwsgACAIIAcQtixFBEAgCRDrBSALEEwLIAQQfwwBCwsgCBBMIAkQfyACJAYLxwEBB38jBiEBIwZBkAFqJAYgAUGMAWoiBRBXIAFB8ABqIgIgBRCSASABQQhqIgMgAEGQAWoiBhCAASADELgBA0AgAxCqBiIHBEAgASAHEJEBIgQpAQA3AwAgACAEIAEQtSwgARC6A0UEQEEYEE8iBBCNDCAEIAEQngUgAiAEEOkECyADEOsFIAcQTAwBCwsgBhCwAyACEKgIIAIQngEDQCACEI0BRQRAIAYgAhCQAhDhCSACEPUBDAELCyADEH8gBRDvASABJAYL4QMBCH8jBiEDIwZBwAFqJAYgA0EIaiEEIANBlAFqIgYgARBVIANB+ABqIgEgAhBVIANBEGoiCSAAQfAAahCAASAJELgBIAAQjwwuAQIgABCODEECaiIKLgEAayIIQQBMBEAgBEHOpRo2AgAgBEG2CjYCBEGYq/kAQe2lGkECQcfrHCAEEFELIANBsAFqIQQgCEF/IAhBf0obEE8hBwNAIAkQqgYiAARAQQAhAgNAIAIgCEgEQCAHIAJqQQA6AAAgAkEBaiECDAELCyAAEJEBIQAgBhDVCBogBhBbA0AgBhBZRQRAIAMgBhBTEJEBKQEANwMAIAQgAyAAEPAEIAQuAQIhAgNAIAIgBC4BBkgEQCAHIAIgCi4BAGtqQQE6AAAgAkEBaiECDAELCyAGEFYMAQsLIAMQeSADIAAuAQAQjwIgAyAALgEEEI4CQQEhBQNAIAUgCEgEQCAHIAVqIQICQAJAIAcgBUF/amoiACwAAA0AIAIsAAAEQCADIAUgCi4BAGoQtwIgACwAAA0BCwwBCyACLAAARQRAIAMgBSAKLgEAahCnAiADELoDRQRAQRgQTyIAEI0MIAAgAxCeBSABIAAQoAELCwsgBUEBaiEFDAELCwwBCwsgBxBMIAkQfyADJAYLiQIBBn8jBiECIwZB8AFqJAYgAkHQAWoiByABEFUgAkHoAGoiBiAAQRBqIgAQgAEgBhC4AQNAIAYQ6QEiAwRAIAMsAIABEIkBRQRAIAMoAkhBBkYEQCADEHEhAUEYEE8iBRCNDCAFIAEQngUgA0EBEMsPIAIgABCAASACIAEuAQAgAS4BBCABLgECEPADQQAhAQNAAkADQAJAIAJBARDABCIERQ0CIAQsAIABEIkBRQRAIAQQhQdFDQELDAELCyAEKAJIQQZHDQAgBSAEEHEQngUgBEEBEMsPQQEhAQwBCwsgAQRAIAcgBRCgAQUgA0EAEMsPIAUQTAsgAhB/CwsMAQsLIAYQfyACJAYLggMBC38jBiEBIwZB4AFqJAYgAUEIaiEFIAAoAhQhCSABQfAAaiIDIABB8ABqIgoQgAEgAxC4AQNAIAMQqgYiBgRAIAYoAhRBAUYEQEEAIQgDQCABIAYQkQEpAQA3AwAgCSABLgEGaiECIAAQjwwuAQIhBCABLgECIAlrIQcgABCODC4BAiELIAEgBCACIAIgBEobEKcCIAEgCyAHIAcgC0gbELcCIAUgChCAASAFIAEQ8wFBACEHA0ACQANAAkADQAJAA0ACQANAIAUQoRciAkUNByACIAZGDQALIAIQkQEiBCABEJQHRM3MzMzMzOw/Zg0AIAIoAhRBAkcNAQwCCwsgBiAEEJ4FIAUQ6wUgAxD2AiACEExBASEIDAELCyAEIAEQ5QQEQCABIAQQuwNFDQELDAELCyAGIAQQngUgBRDrBSADEPYCIAIQTEEBIQdBASEIDAELCyAFEH8gBw0ACyAIBEAgAxDrBSAKIAYQ4QkgAxD2AgsLDAELCyADEH8gASQGC9IBAQZ/IwYhAiMGQZABaiQGIAJBCGohAyACQfAAaiIEIAEQVSAEEFsgAEEQaiEHA0AgBBBZRQRAIAIgBBBTIgUQkQEpAQA3AwAgAyAHEIABIAMQhQIgAyACEPMBQQAhAEEAIQEDQAJAA0AgAxCdAiIGRQ0BIAYoAkgiBkEGRwRAIAAgBkEBRmohAAwBCwsgAUEBaiEBDAELCyAAIAFyBEAgBSABNgIMIAUgADYCECAFEK4sBSAEEJ8BIgAEQCAAEEwLCyADEH8gBBBWDAELCyACJAYLZgEDfyMGIQQjBkEQaiQGA0AgAyAAKAIcSARAIAEgA0ECdGooAgAiBQRAIAQQVyAFIAAoAhQiBSADbCAFIANBAWoiA2wgBBCtLCAEIAIQrCwgBBCSDAUgA0EBaiEDCwwBCwsgBCQGCwsAIAAQkwwgABBMC1IBBH8gAEEQaiIBENMPIABBMGoiAhDTDyAAQdAAaiIDENMPIABB8ABqIgQQrxcgAEGQAWoiABCvFyAAEJMMIAQQkwwgAxDdCCACEN0IIAEQ3QgLSwEDfwNAIAFBBEcEQCAAQdwAaiABQQJ0aiICKAIAIgMEQCADELIXBEAgAkEANgIAIABB7ABqIAFqQQA6AAALCyABQQFqIQEMAQsLCywAIAFBBUYgAEEFRiAAIAFGcnIEfyAAEOUJBH9BAAUgARDlCUEBcwsFQQALC/kBAQZ/IwYhBSMGQdAAaiQGIAVBCGohBiAFQQxqIQMgBUEoaiIEIAIQkgEgBBCeASABQQFzIQcCQAJAAkADQAJAIAQQjQEEQEEBIQAMAQsgBBCBASIBIABBABDmCUUEQCADIAQpAgA3AgAgAyAEKQIINwIIIAMgBCkCEDcCECADIAQoAhg2AhggAxCeAQNAIAMQjQFFBEAgAxCBASICIAFHBEAgASACQQAQmwgiCCAHckUNBiAIRQ0HCyADEPUBDAELCwsgBBD1AQwBCwsMAgtBzJoaIAUQSyACEHEQnQFB6ZoaIAYQSyABEHEQnQELQQAhAAsgBSQGIAALtwEBBH8jBiEDIwZBQGskBiADQQRqIQYgABDvASADQSRqIgQgARCsBiADQQhqIgUgAhCsBiAEEJ4BA0AgBBCNAUUEQCAGIAQQgQEiAjYCACADQQA2AgACQAJAIAUQ1AINAANAAkAgAyAFEIEBIgE2AgAgBRCfBQ0AIAMgBhD+D0EATg0AIAUQqwEaDAELCyABRQ0AIAMgBhD+Dw0ADAELIABBwgAgAhDNAwsgBBCrARoMAQsLIAMkBgvyAQEGfyMGIQMjBkHgAGokBiADQThqIQQgA0EcaiEFIAFBAXMhBwJAA0ACQCAEIAIQkgEgBBCeAQJAAkACQANAIAQQjQENBiAFIAQQgQEiBkHUAGogBkHYAGogARsQkgEgBRCeAQNAIAUQjQFFBEAgBRCBASIIIABGDQMgAyACEJIBIAMQngEDQCADEI0BRQRAIAggAxCBAUYNBiADEPUBDAELCyAFEPUBDAELCyAEEPUBDAAACwALIAQQkAIaIAYgByAAEKYFDAELIAMQkAIaIAggByAAEKYFCyACKAIAIgZFDQAgBhCoAkUNAQsLCyADJAYLhAEAIAAoAkggARCfDARAIABBASACIAMQuRcgAEEAIAIgAxC5FwUgAUEPRgRAIABBASAAQdQAaiIBENUPIABBACAAQdgAaiICENUPIAEoAgAiAwRAIAMQqAJFBEAgAEEBIAEQ1A8LCyACKAIAIgEEQCABEKgCRQRAIABBACACENQPCwsLCwvOAQEGfyMGIQMjBkEgaiQGIANBEGoiBEEAIAEQsQEgA0EAIAEQsQEgAEHIAGoiBigCACEBIABB7ABqIQcgAEEAEN4CIQIDQCACBEAgAigCSCEFIAcoAgAgAigCbEYEQCAEIAIoAmRBARCIASADIAIoAmhBARCIAQsgAkEAEN4CIQIgBSABIAUgAUobIQEMAQsLIAYgATYCACAAQQAQ3gIhAANAIAAEQCAAIAE2AkggAEEAEN4CIQAMAQsLIAMoAgwQhAEgBCgCDBCEASADJAYLnwECBH8BfSMGIQEjBkEgaiQGIAEgAEHMAGoQkgEgAEEsaiAAQSBqIAAoAjAQ0AMbKAIAsiEFQQAhAANAIAEQ1AJFBEAgARCQAiIDEGIiAi4BBiEEIAIuAQIhAiAABEAgACADIASyIAJBEHRBEHWyIAUQ5w8FQagBEE8iACADIASyIAJBEHRBEHWyIAUQqQwLIAEQqwEaDAELCyABJAYgAAvtAwEIfyMGIQcjBkHQAGokBiAHQRhqIQkgB0EQaiEKIAdBCGohDSAHQShqIQYgB0EkaiELIAdBIGohDCAAQeEAaiIILAAARQRAIAhBAToAACAGIAUQVQJAAkAgAEEBEN4CIgVFDQAgBSgCXCIIBEAgACAINgJcIAggABC8FwwCC0G0vPkAKAIARQ0AQfiVGiAHEEsgABDYASAFENgBCyAGEI0DIAYQWyAAQeQAaiEIQQAhBQNAAkAgBhBZDQAgBSAIKAIARg0AIAYQViAFQQFqIQUMAQsLQcy8+QAoAgBBAUoEQCANQayWGkGklhogBUEBcRs2AgBBsZYaIA0QSyAAENgBCyAGEFkEQEG0vPkAKAIABEAgCiAIKAIANgIAIAogBTYCBEHClhogChBLCwsgBhBZBEAgCUGRqxc2AgAgCUHwCjYCBEG4lRZB4ZYaQQJBx+scIAkQUQsgBhBTIQkgBhBZRQRAIABB6ABqIgooAgAgCCgCAEcEQCAAKAJIQQhyQQtHBEAgCxBXIAwQVwNAAkAgBhBZDQAgBSAKKAIASg0AIAYQUyABIAIgAyAEIAsgDBChDCAGEFYgBUEBaiEFDAELCyAJIAsgDBDWDyAMEJIHIAsQyAYLCwsgACAJNgJcIAkgABC8FwsLIAckBgtVAQF/IAAQ6wIhAiABIAEQ6wIgAmpBAhBOIgIQwwRBFBBOIAAgAhDDBEEUEE5BARCXAgR/IAEgAhDEBEEUEE4gACACEMQEQRQQTkEBEJcCBUEACyIAC0wBAn8gACgCCCABQRBqIgIuAQBKBH9BAAUgASgCCCAAQRBqIgMuAQBKBH9BAAUgASgCDCADLgEESAR/QQAFIAAoAgwgAi4BBE4LCwsL6QQBCn8jBiEFIwZB0ABqJAYgABBwIgtBEGouAQIiBCEHIAAQpAJFBEAgAEEBEMwDQRBqLgEGIgYhAyAGQRB0QRB1IARBEHRBEHVKBEAgAyEHBSAGQRB0QRB1IARBEHRBEHVIBEAgAyAHakECEE4hBwsLCyAFQThqIQQgBUE0aiEGIAVBGGohAyAFQUBrIgpB/////wc2AgAgBUE8aiIIQYGAgIB4NgIAIAsgCCAKEOoJGgNAAkAgABDxAyAAEHAhCSAAEKQCDQAgCSAIIAoQ6gkNAQsLIARB/////wc2AgAgBkGBgICAeDYCACAJIAYgBBDqCRogBCgCACAIKAIAIghIBEAgAyAAKQIANwIAIAMgACkCCDcCCCADIAApAhA3AhAgAyAAKAIYNgIYA0ACQCADEPEDAn8gAxBwIQwgAxCkAg0BIAwLIAYgBBDqCQ0BCwsDQAJAIAAQeCAAEHAiAyALRg0AIAMgBiAEEOoJDQELCyAAEPEDCyAAQQEQzAMiBBBxLgEGIgYhAyAAEKQCRQRAIAAQcEEQai4BAiAGQRB0QRB1SgRAIAAQcEEQai4BAiADakECEE4hAwsLIAEgB0H//wNxEPQBIAEgBCAIIAcQpAVB//8DcRDiASACIANB//8DcRD0ASACIAQgCCADEKQFQf//A3EQ4gFBzLz5ACgCAARAIAAQpAJFBEAgAi4BACEAIAQgCigCACADEKQFIQEgBEEQai4BBCECIAQoAgwhBCAFIAc2AgAgBSADNgIEIAUgADYCCCAFIAE2AgwgBSACNgIQIAUgBDYCFEHolBogBRBLCwsgBSQGC+cEAQp/IwYhBSMGQdAAaiQGIAAQcCIJQRBqLgEGIgQhByAAEPcCRQRAIABBfxDMA0EQai4BAiIGIQMgBkEQdEEQdSAEQRB0QRB1SARAIAMhBwUgBkEQdEEQdSAEQRB0QRB1SgRAIAMgB2pBAhBOIQcLCwsgBUE4aiEGIAVBNGohBCAFQRhqIQMgBUFAayIIQf////8HNgIAIAVBPGoiC0GBgICAeDYCACAJIAsgCBDpCRoDQAJAIAAQeCAAEHAhCiAAEPcCDQAgCiALIAgQ6QkNAQsLIAZB/////wc2AgAgBEGBgICAeDYCACAKIAQgBhDpCRogBCgCACAIKAIAIghKBEAgAyAAKQIANwIAIAMgACkCCDcCCCADIAApAhA3AhAgAyAAKAIYNgIYA0ACQCADEHgCfyADEHAhDCADEPcCDQEgDAsgBCAGEOkJDQELCwNAAkAgABDxAyAAEHAiAyAJRg0AIAMgBCAGEOkJDQELCyAAEHgLIABBfxDMAyIEQRBqIgYuAQIiCSEDIAAQ9wJFBEAgABBwQRBqLgEGIAlBEHRBEHVIBEAgABBwQRBqLgEGIANqQQIQTiEDCwsgASAHQf//A3EQ9AEgASAEIAggBxCkBUH//wNxEOIBIAIgA0H//wNxEPQBIAIgBCAIIAMQpAVB//8DcRDiAUHMvPkAKAIABEAgABD3AkUEQCAEIAsoAgAgAxCkBSEAIAIuAQAhASAEKAIIIQIgBi4BACEEIAUgBzYCACAFIAM2AgQgBSAANgIIIAUgATYCDCAFIAI2AhAgBSAENgIUQaiVGiAFEEsLCyAFJAYL3gEBB38jBiECIwZBMGokBiACQQhqIQQgAkEMaiEDIAAoAgAEfyADIAAQfSACIAMQcBBxKQEANwMAIAIQbiEGIAMQcCgCSCEHIAMQlAEDQCADEI4BRQRAIAIgAxBwEHEQvAEaIAMQeAwBCwsgByEDQcy8+QAoAgAEQEHnlRogBBBLIAIQnQELQeAAEE8iBEHT1fkAIAIuAQAgAi4BAiACLgEEIAIuAQYQkwdBEBBPIgUgAiADEKMMIARBBGogBRBQQQEgBkEQdEEQdSAEIAAgARC+FwVBAAshCCACJAYgCAtrAQN/An8gASgCACEEIAAoAgBBEGoiABC5DCEBIARBEGoiAgsQuQwhAwJ/AkAgASACLgECTgRAIAEgAi4BBkwNAQsgAyAALgECTgRAIAMgAC4BBkwNAQsgAyABawwBCyAAEMIGIAIQwgZrCwupAQEEfyAAKAJwIgQgAxCdCCEFIAEoAnAiBiADEJ0IIgcgBSAFIAdIGyEFIAAoAiAgBCADEOsJIQQgASgCICAGIAMQ6wkiAyAEIAQgA0gbIQMgASgCdCAAKAJ0aiEEAn8CQCACIAEoAnggACgCeGoiACAFEJcCRQ0AIAIgBCADEJcCRQ0AQQEMAQsgAkEBdCIBIAAgBRCXAgR/IAEgBCADEJcCBUEACwsiAAurCQIafwJ8IwYhAyMGQfABaiQGIANB4ABqIRAgA0HYAGohDCADQdAAaiENIANByABqIREgA0FAayESIANBOGohEyADQTBqIRQgA0EoaiEVIANBIGohFiADQRhqIRcgA0HkAGohCCADQbgBaiIEIAIQfSAEEJQBIANB1AFqIgkgBCkAADcAACAJIAQpAAg3AAggCSAEKQAQNwAQIAkgBCgAGDYAGCABIAkQwBchAiADQZwBaiIHIAQpAgA3AgAgByAEKQIINwIIIAcgBCkCEDcCECAHIAQoAhg2AhggA0GAAWoiBiAEKQIANwIAIAYgBCkCCDcCCCAGIAQpAhA3AhAgBiAEKAIYNgIYA0AgBUEGRwRAAkACQCAFQQJJDQAgBBCOAQ0AIAVBA0YEQCAGIAQpAgA3AgAgBiAEKQIINwIIIAYgBCkCEDcCECAGIAQsABg6ABgLIAMgBUECdGogBBBwNgIAIAQQeAwBCyADIAVBAnRqQQA2AgALIAVBAWohBQwBCwsgA0EIaiEYIANBDGohGSADQXxqIRogA0EUaiEOIANBBGohGwNAIBgoAgAiBQRAAkACQCAZKAIAIgtFIgoNACAFIAsgABDCF0UEQCAAIAIgAxDYD0UEQCAAIAIgGhDYDwRAIAsgAiAAEJ0MDQQLIAAgAiAbENgPRQ0CIAUgAiAAEJ0MRQ0CCwsMAQsgCCAHKQIANwIAIAggBykCCDcCCCAIIAcpAhA3AhAgCCAHKAIYNgIYQQAhAkQAAAAAAAAAACEdRAAAAAAAAAAAIR4DQCAIEHAiCyAFRwRAIB4gCygCeLegIR4gHSALKAJ0t6AhHSAIEHggAkEBaiECDAELCwJAIAIEQCAdIAK3Ih2jRAAAAAAAAOA/oBBaIQsgHiAdo0QAAAAAAADgP6AQWiEPQcy8+QAoAgAEQEHqkRogFxBLAkAgCgRAQYSSGiAWEEsFQZOSGiAVEEtBACECA0AgAkEGRg0CAkAgAyACQQJ0aigCACIKBEAgCigCdCEcIAooAnghCiANIBw2AgAgDSAKNgIEQdeSGiANEEsFQdfnHCAUEEsgAgRAIAMgAkF/akECdGooAgAiCgRAIApBABDeAgRAQa6SGiATEEsgCkEAEN4CENgBBUG+khogEhBLCwwDCwtBwpMfIBEQSwsLIAJBAWohAgwAAAsACwsgDCALNgIAIAwgDzYCBEHukhogDBBLCyAIIAcpAgA3AgAgCCAHKQIINwIIIAggBykCEDcCECAIIAcsABg6ABgDQCAIEHAiAiAFRg0CIAIgCxDZDyACIA8Q2g9BzLz5ACgCAARAQYSTGiAQEEsgAhDYAQsgCBB4DAAACwALCyAHIAYpAgA3AgAgByAGKQIINwIIIAcgBikCEDcCECAHIAYsABg6ABggCSAGKQAANwAAIAkgBikACDcACCAJIAYpABA3ABAgCSAGKAAYNgAYIAEgCRDAFyECC0EBIQUDQCAFQQZHBEAgAyAFQX9qQQJ0aiADIAVBAnRqKAIANgIAIAVBAWohBQwBCwsgBBCOAQRAIA5BADYCAAUgDiAEEHA2AgAgBBB4CyAGEHgMAQsLIAMkBgvtCAMWfwF+AXwjBiEKIwZB0AFqJAYgCkFAayEPIApBOGohGiAKQRhqIQ0gCkEIaiEQIApB+ABqIQ4gCkH0AGohFSAKQdgAaiEXIAEuAQIgAC4BAmshFiAKQbABaiIHIAMQfSAHEJQBIApBlAFqIhJBDGohEQNAIAcQjgFFBEAgBxBwIggQ6AIiCygCAEUEQCAKQZGrFzYCACAKQZwLNgIEQbiVFkGJkBpBAkHH6xwgChBRCyASQQAgCBBxIgkQa0EQdEEQdRCxAQJ/IAkQayEcIA4gCxCSASAOEIEBEGIuAQIhGyAOEKsBGiAbQRB0QRB1IQsDQCAOEKkGRQRAIBJBACAOEIEBEGIuAQIiCSALayILayALIAtBAEgbQQEQiAEgDhCrARogCSELDAELCyAIIBIQ4wFEAAAAAAAA4D+gEFo2AnAgBxCkAgRAIAggFhDaDyAIIBYQ2Q8FIAdBARDMAyEJIAggCCgCGCAJKAIYaxDaDyAIIAgoAhwgCSgCHGsQ2Q8LQcy8+QAoAgAEQCAIENgBIBIQ4wEhHiAIKAJ0IQsgCCgCeCEJIBAgHjkDACAQIAs2AgggECAJNgIMQaGQGiAQEEsLIBEoAgAQhAEgBxB4IBhBAWohGCAcQRB0QRB1IgkLIBMgEyAJSBshEwwBCwsgGARAIAIgFiADEOMsIBIgBRBVIA4gBhBVIBUQVyAXIBUQfSATQQNsIRAgBxCUAQNAIAcQ+QFFBEAgFyAHEIcCIgwQjAQgBxB4AkACQCAHEPkBDQAgDEH4AGoiAygCACAQSg0AIAwgBxBwIAIQwhdFDQBBzLz5ACgCAARAIAcQ+QFFBEAgBxBwIREgAygCACELIBEoAnQhCSARKAJ4IQYgDCgCICEFIBEoAiAhAyAPIAwoAnQ2AgAgDyALNgIEIA8gCTYCCCAPIAY2AgwgDyAFNgIQIA8gAzYCFEGykRogDxBLCwsMAQsCQCAHEPkBRQRAIAxB+ABqIhMoAgAgEEwEQCAHEHAhFCAHEKQCBH9BAAUgB0EBEMwDCyEIQcy8+QAoAgAEQCAMKAJ0IRggEygCACERIBQoAnQhGSAUKAJ4IQsgDEEgaiIFKAIAIQkgFEEgaiIDKAIAIQYgCAR/IAgoAiAFQQALIRYgDSAYNgIAIA0gETYCBCANIBk2AgggDSALNgIMIA0gCTYCECANIAY2AhQgDSAWNgIYQdiQGiANEEsFIAxBIGohBSAUQSBqIQMLIAUoAgAiBiADKAIAIgMQwRcEQCADrEIDfiIdIBMoAgAiBaxVBEAgBqxCA34gDCgCdKxVBEAgCARAIAMgCCgCICIDEMEXBEAgA6xCA34gFCgCeCIDrFUEQCAdIBQoAnSsVyADIAVKckUNCAsLCyAXIAcQhwIQjAQgBxB4Qcy8+QAoAgAEQEGUkRogGhBLCwsLCwsLCyAAIAEgFSAEEMMXIgMEQCAOIAMQuwEgEiADKAIYELsBCyAXIBUQrwMLDAELCyAVELUDCyAKJAYL7AMBDn8jBiEHIwZB4ABqJAYgB0HcAGohCiAHQUBrIQsgB0EkaiEMIAdBCGohDSAAQRBqIgYQnQMgAEEsaiEOIABBMGohDwNAIAYQ+QFFBEAgChBXIAsgChB9QQAhCQNAAkACQCAGEIcCIggoAjBBBUYNACAIKAJIIgUQ7gEEQCAFQQZHDQELDAELQQEhCQsgCEEANgJcIAYQeCALIAgQqQIgCEEAEN4CIQUCQAJAIAYQ+QENACAFRSAFIAYQcEdyDQAMAQsgBhD5AQRAQQAhBQUgBhBwIQUgCBBxIRAgBRBxIREgCCgCSCISIAUoAkgiCBCfDARAIBIQ5AQEQEEAIQUFIAgQ5AQEQEEAIQUFIBEuAQIgEC4BBkoEQEEAIQUFIAlFBEAgEC4BAiARLgEGSgRAQQAhBQsLCwsLBUEAIQULCwsgBUEARyAGEPkBQQFzcQ0ACyAJBEAgASACIAMgCiAEIA4gDxDkLAUgASACIAogBBDDFyIJBEAgDCAPEFUgDCAJELsBIA0gDhBVIA0gCSgCGBC7AQsLIAoQtQMMAQsLIAYgAEEMahCvAyAAQQA2AgggAEEsahCaAiAAQTBqEJoCRwRAIAdB5Y8aNgIAIAdBjQE2AgRBmK0WQbOPGkECQcfrHCAHEFELIAckBgsQACAABEAgABCgDCAAEEwLC5YBAQN/IwYhAiMGQSBqJAYgABDrAiEDIAIgARCSASACEJ4BIABByABqIQQDQAJAIAIQjQENACACEIEBIQEgBCgCAEEORwRAIAEoAkhBDkcEQCABIABBABDeAkYNAiABKAIcIAEoAhhqQQIQTiADSA0CCwsgAhD1AQwBCwsgAhCNAQRAIAIgABC2BgUgAiAAEOIJCyACJAYLrQMBCX8jBiEIIwZB4ABqJAYgCEHcAGoiDBBXIAhBQGsiByAMEFUgByAFEIYCIAcQjQMgCEEkaiIKIAUQVSAIQSBqIgUQVyAIQRxqIgkQVyAIIABBBGoQfSAIEJQBQQAhAANAIAgQjgFFBEAgCBBwIgtBQGshDQNAAkAgBxC1AQ0AIAcQUyIGKAIEIg4EQCAOKAJEIA0oAgBKDQELIAcQnwEaIAYgASACIAMgBCAFIAkQoQwgBgRAIAYQoAwgBhBMCyAHEFYMAQsLQTQQTyIGQQAQ1w8gCiAGEKABIAAgBiAAGyEAAkACQCAHELUBDQAgBxBTIgZFDQAgBigCBCALENwsRQ0AIAYgCzYCBCAKIAcQnwEQoAEgBxBWIAAgBSAJENYPQQAhAAwBC0E0EE8iBiALENcPIAogBhCgAQsgCBB4DAELCwNAIAcQtQFFBEAgBxCfASIGIAEgAiADIAQgBSAJEKEMIAYEQCAGEKAMIAYQTAsgBxBWDAELC0E0EE8iAUEAENcPIAogARCgASAAIAEgABsgBSAJENYPIAkQkgcgBRDIBiAMEMQXIAgkBgtGAQJ/IwYhASMGQSBqJAYgASAAEFUDQCABEFNBBGoiAkEAIAIvAQBrQf//A3EQ4gEgARBWIAEQ/wFFDQALIAAQpgwgASQGC/kCAwh/AX4CfCMGIQMjBkHQAGokBiADQRBqIgggASkCuAEiCzcDACADQQhqIgRDAACAP0MAAAAAEKQBIAunIQkgC0IgiKchBiACQQRqIgooAgAiBygCDEEHRgRAIAFBsAFqIgYqAgBDAAAAAFsEQCAEIAYpAgA3AwAFIARDAAAAAEMAAIC/EKQBCyACIAQQ5A8gA0MAAIA/QwAAAAAQpAEgCCADKQMAIgs3AwAgC6chCSALQiCIpyEGCyADQRhqIQUgA0FAayEHIAQgASoCqAEgASoCrAEQtQQgACAEKQMANwIAIAQgBCoCBIwQlgMgAiAEELEYIAIgCBCwGEHMvPkAKAIABEAgAigCGCEBIAooAgAiACgCDCEAIAMgAhDmAiADKgIAuyEMIAcgAhDmAiAHKgIEuyENIAUgATYCACAFIAA2AgQgBSAMOQMIIAUgDTkDECAFIAm+uzkDGCAFIAa+uzkDIEGUjhogBRBLIAoQwwEQnQELIAMkBgvTAwMMfwF+AnwjBiEDIwZB8ABqJAYgAQRAIABBmAFqIgQpAgAhDyAEIABBoAFqIgQpAgA3AgAgBCAPNwIABSAAQaABaiEECyADQcgAaiELIANBCGohBSADQdAAaiIHIAIQVSAHEFsgA0EoaiIIQQxqIQ0gA0E4aiIJQQxqIQ5BASEMA0AgBxBZRQRAIAcQUyIKKAIYIQIgAQRAIAJBBGoiBigCABDpLCACIAYoAgAQkQEpAQA3ARALIAIgBBDkDyACIAEQtBggAiAEKQIANwJUIAJBBGoiBiAMNgIUIAsgACACEOosIAlBACAGEMMBIgYQbkEQdEEQdRCxASAIQQAgBhBrQRB0QRB1ELEBIAsgCkEEaiAJIAgQxhcgBSAKEOwBEH0gBRCUAQNAIAUQjgFFBEAgCyAFEHAQ1AEgCSAIEMYXIAUQeAwBCwsgCRDjASEQIAgQ4wEhESACIBBEAAAAAAAA4D+gEFogEUQAAAAAAADgP6AQWhDTF0HMvPkAKAIAQQFKBEAgAkHcAGoiAi4BACEKIAIuAQIhAiADIAo2AgAgAyACNgIEQfaNGiADEEsLIA0oAgAQhAEgDigCABCEASAHEFYgDEEBaiEMDAELCyADJAYLsQMBE38jBiEDIwZBwAFqJAYgA0EIaiEJIANBEGohBiADQbgBaiIFEFcgA0GcAWoiEiAAQYQCahB9IANBmAFqIgcQVyADQTBqIgggAEHcAWoQgAEgCBC4ASAAQdQBaiETIABBFGohDCAAQRhqIQ0gAEEkaiEOIABB/AFqIQ8gCEEoaiEQIABBBGohFEF/IREDQCAIEOkBIgoEQCAQKAIAIgQgEUcEQCAAIAcgBRDFFyAEIRELIBMoAgAgBEECdGooAgAiBCALRwRAIARFBEAgA0Hojho2AgAgA0GYCzYCBEG8uvkAQdKOGkECQcfrHCADEFELIAQgDCANIA4oAgAgDyAFEOgsQcy8+QAoAgAEQCAUKAIAIBAoAgAiFWwhCyAJIBU2AgAgCSALNgIEQYWPGiAJEEsLIAQhCwsgCigCSEEORgRAIBIgChCMBAUgCiAHEOcsCwwBCwsgACAHIAUQxRcgBiAFEFUDQCAGELUBRQRAIAYQnwEiACAMIA0gDigCACAPIAEgAhChDCAABEAgABCgDCAAEEwLIAYQVgwBCwsgCBB/IAcQ7wEgBRDEFyADJAYLtAMCDH8BfSMGIQMjBkHwAWokBiADQQhqIQYgA0HMAWoiCCACEFUgA0GwAWoiCSABEFUgA0GsAWoiBxBXIANBkAFqIgogBxB9IANBKGoiBCAAEIABIAQQuAEDQCAEEOkBIgEEQCAKIAEQqQICQAJAIAEoAjAiAhDoCQ0AIAJBBUYEQCABEJYFQQFKDQELIAEQvwcMAQsgAyABEHEpAQA3AwAgASgCLCELIAEoAiAhDCABENosIg1FBEAgARC/BwwBC0HgABBPIgVB09X5ACADLgEAIAMuAQIgAy4BBCADLgEGEJMHQRAQTyIBIANBB0EBIAJBBkYiDhsQowwgBUEEaiABEFBB4AAQTyICIAUQ3Q8gBiACEOwBEH0gBiANEKkCIAIgDgR/IAJBJGoiASALsiIPOAIAIAIgAxBuQRB0QRB1sjgCICADEG4FIAJBJGoiASAMsiIPOAIAIAIgAxBrQRB0QRB1sjgCICADEGsLQRB0QRB1QQFqsjgCKCAPQwAAAABbBEAgAUMAAIA/OAIACyAJIAUQuwEgCCACELsBCwwBCwsgABCwAyAEEH8gBxC1AyADJAYL5gEBBX8jBiEDIwZBQGskBiADQSRqIQEgA0EIaiECIABBHGohBSAAKAIMIAAoAghsIQQDQCAEQX9qIQAgBEEASgRAIAEgBSgCACAAQQJ0ahCSAQNAIAEQnwVFBEAgARCBASEEIAIgASkCADcCACACIAEpAgg3AgggAiABKQIQNwIQIAIgASgCGDYCGCACEPUBA0AgAhCpBkUEQCACEIEBIARGBEAgA0Gm4Bo2AgAgA0GJBTYCBEG8uvkAQfOWGkECQcfrHCADEFELIAIQ9QEMAQsLIAEQ9QEMAQsLIAAhBAwBCwsgAyQGC7cCAQl/IwYhASMGQZABaiQGIAFBIGohBSABQRhqIQcgAUEQaiEIIAFBCGohBiABQShqIgQgAEHcAWoQgAEgBBC4ASAAQdQBaiEJIARBKGohAANAIAQQ6QEiAgRAIAJBARDeAiIDBEAgA0EAEN4CIAJHBEAgASACELsXELkCNgIAQYWXGiABEEsgAhDYASAGIAMQuhcQuQI2AgBBpJcaIAYQSyADENgBQceXGiAIEEsgA0EAEN4CBEAgA0EAEN4CENgBBUHllxogBxBLCwsgA0EAEN4CIAJHBEAgBUHojho2AgAgBUHQCjYCBEG8uvkAQeuXGkECQcfrHCAFEFELBSACQQAQ3gIEQCACIAkoAgAgACgCAEECdGooAgBBBGoQjwdBAXRBAXIQ2SwLCwwBCwsgBBB/IAEkBgutBgITfwF8IwYhASMGQcABaiQGIAFBMGohECABQShqIREgAUEYaiEKIAFBEGohEiABQQhqIRMgASIOQTRqIQUgAUHQAGoiDCAAEIABIAwQuAEDQCAMEOkBIgYEQCAGKAJIEOwFBEBBAiAGEHEiBy4BACAHLgECEOYBIQtBACEAQQAhAUEAIQRBACEIA0AgCEECSQRAIAUgCAR/IAYQuxcFIAYQuhcLEJIBIAUQngEDQAJAIAUQjQENACAFEIEBKAJIEOwFDQAgBRD1AQwBCwsCQCAFEI0BBEAgBRCeAQNAIAUQjQENAiAFEIEBIgIoAkgiAxDuAQRAIANBBkcEQCACEHEhAyALBEBBl54aIA4QSyAHEJ0BQb+eGiATEEsgAxCdAQsgAy4BACAHLgEATgRAIAMuAQQgBy4BBEwEQCACIAAgAEUgAyAHELUCIgIgAUhyIgMbIQAgAiABIAMbIQEgCCAEIAMbIQQLCwsLIAUQ9QEMAAALAAsLIAhBAWohCAwBCwsgAARAIAsEQEHUnhogEhBLIAAQcRCdAQsgBEEARyEPIAAhAUEAIQJBACEGQQAhCEEAIQ1B//8BIQRBACEHQQAhAwNAAkAgASEJIAMhAQNAIAFBCEkgCUEAR3FFDQEgCSgCSBDuAUUEQCAJIQYMAgsgAUEBaiEDIA0gCRBxIgIQa0EQdEEQdWohDSAJIA8Q3gIiAUUEQEEAIQlBACECIAMhAQwBCwsgAiABEHEQtQIiAiAHSgRAIAEhBiANIAMQTiEIIAIhBwUgAiAEIAIgBEgbIQQLIAi3RAAAAAAAAOA/oiAHtyIUYwRAIAS3RAAAAAAAAABAoiAUYwRAIAEhAiADIQEMAgsLIAEhAgwBCwsgCwRAIAogATYCACAKIAc2AgQgCiAENgIIIAogCDYCDEHsnhogChBLIAYEQEGnnxogERBLIAYQcRCdAQsLQQAgBiABQQhIIgEgAkVxGyEEIAEEQANAIABFIAAgBEZyDQUgAEEIEMcEIAAQ7QQgCwRAQbSfGiAQEEsgABBxEJ0BCyAAIA8Q3gIhAAwAAAsACwsLDAELCyAMEH8gDiQGC2kBAX8jBiECIwZB8ABqJAYgAiAAEIABIAIQuAEDQCACEOkBIgAEQCAAKAIwQQVGBEAgAhCuAyAAQQEQ7QMgAEEAEIAHIAAQ7QQgABCXDCAAEJwDIAAQTAsMAQsLIAEQlgwgAhB/IAIkBguxAgEIfyMGIQEjBkGgAWokBiABQQhqIQMgAUEQaiEEIAFB+ABqIgUgAEGMAmoQfSAFEJQBIABB3AFqIQcDQCAFEI4BRQRAIAUQcCIALQAmRQRAIAMgABCxFyABIAMpAwA3AwAgAUEAIAMQa0EQdEEQdRCtBCAEIAcQgAEgBBCFAiAEIAEQ8wFBACEAQQAhBgJAAkADQAJAA0ACQANAAkAgBBCdAiICRQ0GIAIoAkgiCEEGRg0EIAgQ7gEEQCACKAIYIgIgAy4BAk4NAwUgAigCMEEBRg0BCwwBCwsgAiAAIAMgAhBxELsDGyEADAELCyAGIAIgAS4BBkxyIQYMAQsLDAELIABFIAZBAXNyRQRAIAcgABDRAyAAEJwDIAAQTAsLIAQQfwsgBRB4DAELCyABJAYL4QEBBX8jBiEEIwZBEGokBiAAEKIsIABBEGoiBSACEKEsIAAgBRCcFyAAEKosIAAQnhcgABCpLCAAEJ4XIARBCGoiBRBXIAAgAiAFENAsIAAgBRDPLCAFIABB8ABqEK4XIAAQziwgBEEEaiIGEFcgACAGEM0sIAQQVyAAIAYgBBDMLCAEIABBkAFqEK4XIAAQ0g8gABDLLCAAENIPAn9Bsqr5AC0AAEUhCCAAEMosIAhFCwRAIAAQrBcgABDSDyAAEKwXCyAAIAEgAiADEMksIAQQkgwgBhCSDCAFEJIMIAQkBgvQAgEHfyMGIQMjBkGQAWokBiAAIAEQnBcgA0EgaiIGIAEQgAEgBhCFAiAGELgBIABBBGohByAAQQhqIQgDQCAGEOkBIgIEQCACKAIwBEAgAhBxEPYBQQFOBEAgAhCcBSEEIAIoAkgiARDkBARAIABBMGogBBCxAgwECyABEO4BRQRAIABBEGogBBCxAgwECyADIAIQ6AIQkgEgAxCeAUEAIQEDQCADEI0BRQRAIAMQgQEhBQJAIAcoAgAgCCgCACAFEKAsBEAgBSgCLEEGRwRAIAUoAihFDQIgBCAFEJoDDAILIAFFBEAgAhCcBSIBQQYQ7QMLIAEgBRCaAwsLIAMQqwEaDAELCyAEEM8DIAQQnywhAiAAIAQQniwgACACEJ0sIAEEQCABEM8DIAAgARCcLAsLCwwBCwsgAEEQaiIAEMoXIABBABDJFyAGEH8gAyQGC0sAIABBEGogASACIAMQzgMgAEEwaiABIAIgAxDOAyAAQdAAaiABIAIgAxDOAyAAQfAAaiABIAIgAxDOAyAAQZABaiABIAIgAxDOAwtoAQR/IwYhASMGQfAAaiQGIAEgAEHcAWoQgAEgARC4ASAAQSRqIQIgAEHUAWohAyABQShqIQQDQCABEOkBIgAEQCAAIAIoAgAgAygCACAEKAIAQQJ0aigCABC0DwwBCwsgARB/IAEkBgu+AgEKfyMGIQIjBkGQAWokBiACQegAaiIEIABBzABqEH0gBBCUASAAQSBqIQcgAEHcAWohBgNAIAQQjgFFBEAgBBBwIgMoAigQ5gQEQCADEGIiCC4BACEBIAMQwwEiCS4BACIFIAEgBSABQRB0QRB1SBsiCkEQdEEQdSEAIAMoAiAgBSABIAFBEHRBEHUgBUgbQRB0QRB1aiIDIABGBEAgCkEQdEEQdUEASgRAIABBf2ohAQUgACIBQQFqIQALBSAAIQEgAyEAC0ECIAcgASAILgECIAAgCS4BAhCTFyIAQQ0QxwQgAiAGEIABIAIQhQIgAiAAEHEQ8wECQAJAAkADQCACEJ0CIgFFDQEgASgCSBDsBUUNAAsMAQsgBiAAELECDAELIAAQnAMgABBMCyACEH8LIAQQeAwBCwsgAiQGC8kBAQZ/IwYhASMGQZABaiQGIAFBiAFqIQIgAUHoAGoiAyAAQYwCahB9IAMQlAEgAEEgaiEFIABB3AFqIQQDQCADEI4BRQRAIAIgAxBwELEXQQEgBSACLgEAIAIuAQIgAi4BBCACLgEGEJMXIgBBDBDHBCABIAQQgAEgARCFAiABIAIQ8wECQAJAAkADQCABEJ0CIgZFDQEgBigCSBDsBUUNAAsMAQsgBCAAELECDAELIAAQnAMgABBMCyABEH8gAxB4DAELCyABJAYLnwMCEH8BfCMGIQIjBkGwAWokBiACQRhqIQ0gAkEIaiEHIAJBIGohBCACQYgBaiIGIAFBDGoQVSAGEFsgAEHcAWohCCAAQZQCaiEOIABBpAJqIQ8gAEEEaiEQA0AgBhBZRQRAIAYQUyIDKAJURQRAIAIgAxBiIgopAQA3AwBBAiACLgEAIAIuAQIQ5gEhCyACIBAoAgAiACAAEK0EIAQgCBCAASAEEIUCIAQgAhDzAUEAIQVBACEAA0ACQANAIAQQnQIiCUUNASAJEJoIDQALIABFIA4gCiAJIA8oAgAgCxCaLCIRIAVIciEMIBEgBSAMGyEFIAkgACAMGyEADAELCwJAAkAgAEUNACAAKAIgt0QAAAAAAAD4P6IiEiAFt2RFDQAgCwRAIAcgBTYCACAHIBI5AwhBgagaIAcQSyAKEJ0BQbGoGiANEEsgABDYAQsgCCAAENEDIAAgAxCaAyAIIAAQsQIgAyAAEMYEIAMgACgCNBDBBCADIAAoAjAQ6AQMAQsgA0EAEOgECyAEEH8LIAYQVgwBCwsgARCWDCACJAYL7QUBGX8jBiEBIwZBkAJqJAYgAUEwaiENIAFBKGohDiABQSBqIQ8gAUEYaiEQIAFBEGohESABQQhqIRIgAUE4aiEEIAFBoAFqIgUgAEHcAWoiCxCAASAFELgBIABB1AFqIRMgAEGIAWohFCAFQShqIRUgAEHUAGohFgNAIAUQ6QEiAARAIAAQmghFBEAgEygCACAVKAIAQQJ0aigCACEGIAEgABBxIgcpAQA3AwBBASABLgEAIAEuAQIQ5gEiCARAQd6oGiASEEsgABDYAQsgABDrAiECIAYgAS4BACACEJ0FIgNBAEcgBiABLgEEIAIQnQUgA0ZxRQRAIAgEQEH9qBogERBLCwwDCyABIAMgAhDDBBCPAiABIAMgAhDEBBCOAiAEIAsQgAEgBBCFAiAEIAEQ8wEgAEEwaiEXIABBDGohGCAAQQhqIRlBACEGA0ACQANAAkACQAJAA0AgBBCdAiICRQ0FAkAgAiAARwRAIAIQmghFBEAgAhBxIQMgCARAQZOpGiAQEEsgAhDYAQsgAy4BBCABLgEATgRAIAMuAQAgAS4BBEwEQCAAIAIQmQxFDQcgFygCACACKAIwEJoMRQ0HIBgoAgAgAy4BAEgEQCACKAIIIAcuAQRKDQULIBkoAgAgAy4BBEwNBiACKAIMIAcuAQBODQYLCwsLCwwAAAsACyAUKAIAIgy3RAAAAAAAAOA/oiADLgEAIgkgBy4BACIKIAogCUgbQRB0QRB1IAMuAQQiCiAHLgEEIgkgCiAJSBtBEHRBEHVrt2QNASAMIAcQbkEQdEEQdUoNASAMIAMQbkEQdEEQdUoNASAIBEBB26kaIA4QSwsMAgsgCARAQfepGiANEEsLDAELCyAIBEBBuKkaIA8QSyAAENgBIAIQ2AELIAQQrgMgBkUEQCAFEK4DIAQQ9gILIAAgAiAWKAIAEJYHQQEhBgwBCwsgBgRAIAsgABCxAiAFEPYCCyAEEH8LDAELCyAFEH8gASQGC90FARZ/IwYhASMGQaACaiQGIAFBOGohByABQTBqIRAgAUEoaiERIAFBIGohDiABQRBqIQggAUEIaiESIAFBtAFqIQkgAUGwAWohCiABQcgAaiELIAFBuAFqIgYgAEHcAWoiDxCAASAGELgBIABB1AFqIRMgAEEkaiEUIAZBKGohFQNAAkADQCAGEOkBIgNFDQEgAyAWRiADKAIwQQVIcg0ACyATKAIAIBUoAgBBAnRqKAIAIQIgCUF/NgIAIApBfzYCACADIBQoAgAgAiAJIAoQlywgCSgCACIEQQBKBEAgCSAEQX9qIgQ2AgALIAkgBEECEE4iBTYCACAKIAooAgBBAhBOIgw2AgAgDCAFQQFqRgRAIAMQ6wIhDSABIAMQcSkBADcDAEECIAEuAQAgAS4BAhDmASIEBEBBpKoaIBIQSyADENgBCyACIAUQkRciBQRAIAEgBSANEMQEQQJqEI8CIAIgDBCRFyICBEAgASACIA0QwwRBfmoQjgIgCyAAEIABIAQEQCABLgECIQUgAS4BBiEMIAEuAQQhDSAIIAEuAQA2AgAgCCAFQRB0QRB1NgIEIAggDTYCCCAIIAxBEHRBEHU2AgxByaoaIAgQSyADENgBCyALIAEQ8wECQAJAAkADQCALEIQHIgJFDQEgAhBiIgIgARCOA0UNAAsMAQsgBhCuAyABLgEEIAEuAQBqQQIQTiECIAQEQCAOIAI2AgBB6aoaIA4QSyADENgBCyADIAIQlxciAgRAIAQEQEH/qhogERBLIAMQ2AEgAhDYAQsgDyACELECBSAEBEBBjasaIBAQSwsgAyEWCyAPIAMQsQIgBhD2AgwBCyAEBEAgAi4BACEDIAIuAQIhBCACLgEGIQUgAi4BBCECIAcgAzYCACAHIARBEHRBEHU2AgQgByACNgIIIAcgBUEQdEEQdTYCDEGiqxogBxBLCwsgCxB/CwsLDAELCyAGEH8gASQGC6gDAQl/IwYhBCMGQSBqJAYgBEEIaiIDELIBAkAgAEHcAWoiCCADEJQsBH8gACgC6AEgAEEMaiIJKAIARwRAIARB6I4aNgIAIARBrQQ2AgRBvLr5AEGjrBpBAkHH6xwgBBBRCyAAQcABaiEBIABB1ABqIQZBASEHA0BBACECA0AgAiAJKAIASARAIAMgAhCHAygCACIFBEAgBRCNFwRAIAUgBxCMFyIFBEAgBSABIAYoAgAQwg8LCwsgAkEBaiECDAELCyAHIAEoAgBFcQRAQQAhBwwBCwtBzLz5ACgCAARAIABByqwaEMEPCyAAIAEgARCLF0HMvPkAKAIABEAgAEHcrBoQwQ8LIAAgAyABEIsXIAggBigCABCTLCICBEAgAiABIAYoAgAQwg8LQcy8+QAoAgAEQCAAQe2sGhDBDwsgACgCwAFFIgFFBEAgACAAIAMQkiwQkSwLIAFBAXMhAEEAIQEDQCABIAMoAgBODQIgAyABEIcDKAIAIgIEQCACEJAsIAIQnQ0gAhBMCyABQQFqIQEMAAALAAVBAAshAAsgAxBoIAQkBiAAC9cBAQV/IwYhAiMGQfAAaiQGIAIgABCAASACELgBIAFB1ABqIQYDQCACEOkBIgQEQAJAIAEgBBBxIgVBAUEAEN0JIgAEQCAAKAIoIgMQ7wNFBEAgASAFQQBBABDdCSIARQ0CIAAoAighAwsgAxDvAwRAIAQgABCFLAsLCwJAIAEgBUEBQQAQ3gkiAARAIAAoAigiAxCaBUUEQCABIAVBAEEAEN4JIgBFDQIgACgCKCEDCyADEJoFBEAgBCAAEIQsCwsLIAQgBigCABCRBwwBCwsgAhB/IAIkBgtNACAAIAIgBCAFIAMQzBcgACAGEIMsIABBIGogAEEsaiAAEIkMIAAQvw8gABCCLCAAIAEgAiADIAcgCBCBLARAIAYgBxCALCAAEP8rCwtHACAAQQBBACABIAAQqwYgAEEBQQAgAkEEaiAAEKsGIANDAACAPxCXBCADQwAAAAAQlgMgBEMAAIA/EJcEIARDAAAAABCWAwvSAQEHfyMGIQEjBkGQAWokBiABQYwBaiEEIAFBiAFqIQUgAUGEAWoiBhBXIAFB6ABqIgIgBhB9IAEgABCAASABELgBA0AgARDpASIDBEAgAiADEKkCDAELCyAEQQAgABCeAiIHLwEAa0H//wNxIAAQeyIDLgECEKEBIAVBACADLwEAa0H//wNxIAcuAQIQoQEgACAAKAIEIAQgBRDOAyACEJ0DA0AgAhD5AUUEQCACEIcCIgMQ8isgACADELECIAIQeAwBCwsgARB/IAYQtQMgASQGC2kAIAIQ2QkgAUEEahDZCSABQRBqENkJIAFBDGoQ2QkgAUEUahDZCUE0EE8iARCrBCABQQBBACAAQaQCaiIAKAIAQwAAAABDAAAAAEMAAIC/QwAAgD9DAAAAAEMAAAAAENYGIAAgATYCAAvEAQEFfyMGIQMjBkEwaiQGIANBIGohAiADQRxqIgQQVyADIAQQfSAAQTBqIgEQnQMDQCABEPkBRQRAIAEQhwIhBSABEHggBRDwKyADIAUQ7gkMAQsLIAEgBBDFBCABEJ0DIAIgABB7KAEAIgFB//8DcSABQRB2IAAQngIoAQAiAUH//wNxIAFBEHYQhAMgAi4BACEBIAJBACACLgEEaxCPAiACQQAgAWsQjgIgACAAKAIEIAIgAhCRARDOAyAEEKgEIAMkBgtOAQJ/IwYhASMGQSBqJAYgASAAQcwAahCSASABEJ4BA0AgARCNAUUEQCABEIEBIgIoAlQgAEYEQCACQQAQxgQLIAEQqwEaDAELCyABJAYLSwECfyAAQTBqIgEQnQMgARCUAQNAIAEQjgFFBEAgARBwKAIoEOYERQRAIAEQhwIiAgRAIAIQswogAhBMCwsgARB4DAELCyAAELADC34BBH8jBiEBIwZBQGskBiABQSBqIgIgAEEUahBVIAFBBGoiBCAAQQRqEFUgAhBbA0AgAhBZRQRAIAIQUygCVARAIAQgAhCfARC7ASADQQFqIQMLIAIQVgwBCwtBzLz5ACgCAARAIAEgAzYCAEGxvhogARBLCyAAEJYMIAEkBgvpAwELfyMGIQQjBkHQAWokBiAEQQhqIQIgBEGwAWoiCSABEFUgBEGsAWoiCBBXIARBkAFqIgogCBB9IARBKGoiBiAAEIABIAYQuAEDQCAGEOkBIgMEQCADKAI0IQsCQAJAAn8gAygCMCIHQX1qQQJJBH8gAiADEOgCEJIBIAIQngEDQCACEI0BRQRAIAkgAhCBARCgASACEKsBGgwBCwtBAAUgB0UNAiACIAMQ6AIQkgEgAhCeAUEAIQEDQCACEI0BRQRAIAIQgQEiBSgCKARAIAUgBxDoBCAFKAIsQQZHBEAgBSALEMEECwUgBSgCBBC8B0UEQCAEQfycGjYCACAEQYcHNgIEQaC5+QBB1r4aQQJBx+scIAQQUQsgBUEAEMYEIAIQkAIaQQEhAQsgAhCrARoMAQsLIAFBAXFBAEcLIQwgB0UNASADEOgCKAIARQ0BIAwLBEAgBhCuAyADEM8DIAAgAxCxAiAGEPYCCwwBCyACIAMQ6AIQkgEgAxCXDCAKIAMQjAQgBhCuAyACEJ4BA0AgAhCNAUUEQCACEIEBIgFBBGoiAygCABC8B0UEQCADKAIAIgMiBQRAIAUQ1wIgAxBMCyABEMoEIAEQTAsgAhCrARoMAQsLCwwBCwsgBhB/IAgQtQMgBCQGC3gBBH8jBiEDIwZBkAFqJAYgA0GEAWoiBBBXIANB6ABqIgYgBBB9IAMgARCAASADELgBA0AgAxDpASIFBEACQAJAIAUoAjAOBQABAQAAAQsgBiAFEKkCIAMQrgMLDAELCyAAIAEgBCACEO8rIAMQfyAEELUDIAMkBguLAgECfyMGIQsjBkEQaiQGIABBIGoiDCAENgIAIABBJGoiBCAHNgIAIABBKGoiByAFNgIAIAAQsAMgACADEIMMIAYEQCAAIAMQ8BYaCyAAIAFBABCCDCAEKAIAIAMgAiAMKAIAEN8rIAQoAgAgA0EEaiADQQxqIgUQ7xYgBCgCACADQRBqIAUQ7xYgABCwAyAAIAMQgwwgACABQQEQggwgACABIAJBASADIAggCSAKEO4WQQJGBEAgCyAIEJoCNgIAQaXBGiALEEsgABCwAyAAIAMQgwwgACABQQEQggwgACABIAJBACADIAggCSAKEO4WGgsgDEEANgIAIARBADYCACAHQQA2AgAgCyQGC70CAgt/AX4jBiEDIwZB8AFqJAYgA0EYaiEKIANBEGohBCADQQhqIQcgA0EgaiEGIANBiAFqIgggABCAASAIELgBA0AgCBDuAyIJBEAgBCAJEGIpAQAiDTcDACAEEGtBEHRBEHUhAiAEEG5BEHRBEHVBA3QgAkwEQCAHIA03AwAgByACQQNsIgIgAhCtBAJ/QQIgBC4BACAELgECEOYBIQwgBiAAEIABIAYgBxDzAUEAIQUDQAJAA0AgBhCEByICRQ0BIAIgCUYNAAsgAyACEGIpAQA3AwAgAxBrQRB0QRB1IgIgBSAFIAJIGyEFDAELCyAMCwRAIAogBTYCAEHL2RogChBLIAQQnQELIAW3RAAAAAAAAPw/oiAEEGtBEHRBEHW3YwRAIAkgARCwDwsgBhB/CwwBCwsgCBB/IAMkBgt0AQJ/IwYhAyMGQSBqJAYgABCwAyADQRxqIgQQVyAAIAEgBBCnKyAAIAFBBGoQvQQgAyAEEH0DQCADEPkBRQRAIAMQhwIiARCFDCAAIAFBABDJFiAAIAFBARDJFiACIAEQsQIgAxB4DAELCyAEELUDIAMkBgstAQF+IAIgAEGgAWoiACkCADcCACABIAApAgAiAzcCACABIANCIIinvowQlgMLuQcBCX8jBiEMIwZB4AFqJAYgAyADIABBkAJqIg0oAgAQ5AcgAEHYAWoiDigCACACIABB3AFqIgoQii0gDigCACAAQYACaiILEIktIABBACAAQYQBaiIQKAIAIABBkAFqIhErAwAgAhDMFyAAIAIQ7AkgDigCACABIABBsAFqIg8gAiANKAIAIABBpAJqIg0oAgAgACwAgAFBAEcgAEGUAmogCCAKIAsQiC0gARCqCiIIRQRAIAMgAEGoAWoiEiAPIAYgCiALEMsXIA8gCiADEIctIAMgEiAPIAYgCiALEMsXCyAKIABBiAJqIgYQhi0gAhCFLSAAEIQtIAxBxAFqIgMgCxB9IAMQlAEDQCADEI4BRQRAIAMQcBCDLSADEHgMAQsLIAsQtQMgDigCACIDBEAgAyADKAIAKAIEQf8DcUGiB2oRAAALIA5BADYCACACIAQgBRCyGCACQRhqIgUoAgAsAB0QiQEiCwRAIAAQgi0gACACIAYQgS0gChCALQsgDEEIaiEEIAxBEGohAwJAIAgEQCAAIAIQxxcgCiAHIAkQ7SwFIAEQkhAEQCAAIAIQ7AkgACAAQYwCaiAGIAIgECgCACARKwMAIAogAEGYAWoiCCAAQaABahD+LEE0EE8iARCrBCABQQAgCCANKAIAQwAAAABDAAAAAEMAAIA/QwAAgD9DAAAAAEMAAAAAENYGIA0gATYCAAUgACAGIAIgAEGYAWogAEGgAWoQ/ywLIAAgAhDsCSAKIAAQ/SwgABD8LEUEQEHJjRogDBBLIAoQ3A8MAgsgABCwAyAAQQBBACAGIAAQqwYgAEEBQQEgAkEEaiAAEKsGIAogAEHUAWoiASgCABDbDyAAEPssIAogASgCABDbDyAAEPosIAAgAhD5LCAAEPgsIAAQ9ywgCiABKAIAENsPIAAQ9iwgACgCrAIiAQRAIAEgCiAAKALUASABKAIAKAIMQf8AcUGQBGoRAgAaC0GuufkALQAABEAgAxCbLCADIAAoAgQgABB7IAAQngIQ9SwgAyAAKAIkNgIAIAMgBSgCACwAHRCJAUEBc0EBcToAsAEgAyAKEPQsIAMgCiAAKALUASAAKAJUEPMsIAMQ0iwLIAAQ8iwgCiACEPEsIAoQyhcgChDwLCAKQQEQyRcgABDvLCAKEO4sIAAgAhDHFyAAIAcgCRDsLAtBzLz5ACgCAARAIAcQmgIhASAJEJoCIQIgBCABNgIAIAQgAjYCBEHXjRogBBBLCyAAIAsgCRDrLAsgDCQGC/IJAwt/AX0EfCMGIQgjBkGAAWokBiAIQQhqIQogCEH4AGoiDEEANgIAIAhB9ABqIhBBATYCACAIQfAAaiINEFcgCEHsAGoiDxBXIAhB/ABqQQBBABChASAAQZjKCGoiCSgCAEUEQCAKQarLGTYCACAKQZkCNgIEQdysFkGTyxlBAkHH6xwgChBRCyAAQYqnCGoiCi0AAARAIABBqMoIaiAJKAIAQfraGhCLBAsgAEGwyghqIhIoAgAgAEGCyAhqLQAAQQBHIAkoAgAgDCAQIAcgDSAPEMYWIABBqMoIaiEHIAotAAAEQCAHIAkoAgBBh9saEIsECyAGIAkoAgAgBxDFFjYCACAKLQAABEAgByAJKAIAQY/bGhCLBAsgARCSEEUEQCANEKgECyAIQRBqIQcgAEHYyghqIAkoAgAgAiAFELoMIAhB0ABqIgIgBRBVIAUoAgAQqAJFBEAgB0Gqyxk2AgAgB0GyAjYCBEHcrBZBmNsaQQJBx+scIAcQUQsgCEEoaiEOIAhBIGohESAIQRhqIQUgCEHMAGohByAIQThqIQkgCCACEFMiCigCGEEEahDDASkBADcDACAKQSRqIQsCfwJAIBIoAgAiAkHGAEYEfyALKgIAIhNDAAAgQZQQjAIiAkG5f2pBmRJJBH8gBSACNgIAQa/bGiAFEEsMAgVBxgALBQwBCwwBCyALKgIAIRMgAgshBQJAIBNDAAAAQGAEQEGwAhBPIgIgCyoCABBlIAggCBCRASAFIABBksgIai0AAEEARyAAQaDJCGorAwAgDSAPIAwoAgAgECgCABCDKyACIAEgBigCACAKEKIrIABBuN8IaigCACIFBEAgBSAKIAUoAgAoAghB/wFxQZACahEBABoLIAcQVyABQQVGIABB4sgIai0AAHIEf0EBBSAAQdLICGotAAAEfyABEK4PBH8gAEH4yAhqKwMAIAogBxCUKwVBAAsFQQALCyEFIARBAEcgA0EARyABEJcQcXEEQCAJEKoBAkAgAyAARwRAIABBFGogA0EUaiIMIAkQxBYgAEGc3whqIQtBACEGA0AgBiALKAIATg0CIAsgBhBNKAIAQRRqIAwgCRDEFiAGQQFqIQYMAAALAAsLIAkgByAEIAMQwxYaIAFFBEAgAiACKAIAKAIEQf8DcUGiB2oRAAAgCRBoIAcQ7wFBACECDAMLIAQgBEGUD2ooAgAiAUECdGoqAgC7IRZBACEGIABB4McIaiILKwMAIhVEAAAAAAAAAECiIRQDQCAGQQRHBEAgBiABRwRAIBYgBCAGQQJ0aioCALuhIhcgFGMEQCAXIRQLCyAGQQFqIQYMAQsLIANBFGogBEGYD2ooAgAiABDUBiEEAn8CQCAAIAMoAkhGDQAgACADKAJMRg0AIAAgAygCUEYNAEHM2xogBBDFAUUNAEHV2xogBBDFAUUNAEGY+xogBBDFAUUNAEEADAELIAJBAToAgAEgCysDACEVQQELIQACfyAUIBVjBEACQCAARQRAIAFBAkYgBUEBc3FFDQEgESAUOQMAQdzbGiAREEtBAAwDCwsgBxC5AiEAIA4gFDkDACAOIAA2AgggDiABNgIMQZ7cGiAOEEsLIAELIQAgCRBoBUEAIQALIAcQ7wEgAiAKIAUgABChKyAHEO8BBUEAIQILCyAPEKgEIA0QqAQgCCQGIAILSwEBfyAAQRhqIgFCADcCACABQgA3AgggAUIANwIQIAFCADcCGCABQgA3AiAgAUIANwIoIAFCADcCMCABQgA3AjggAUFAa0EANgIAC/oBAQZ/IwYhAyMGQfAAaiQGIANB1ABqIgQgARBVIANBOGoiARBXIANBHGoiBRBXIAMgAhBVIAQQWwNAIAQQWUUEQCAEEFMhAkHgABBPIgcgAhDdDyAFIAdBBGoQlgEgASACEMAMEJYBIAEQWwNAIAEQWUUEQCABEJ8BIQhB+AAQTyIGIAgQoQUgACAGEM0XIAUgBhCgASABEFYMAQsLIAUgB0EMahCWASABIAIQuxgQlgEgARBbA0AgARBZRQRAIAEQnwEhBkH4ABBPIgIgBhChBSAAIAIQzRcgBSACEKABIAEQVgwBCwsgAyAHEKABIAQQVgwBCwsgAyQGC8QFARN/IwYhAiMGQUBrJAYgAEEYaiILKAIAIgEEQCABEEwLIAJBNGohCSACQSBqIQUgC0F/IABBEGoiCi4BACIBQQNsIAFB1arVqgVLGxBPNgIAIAJBEGoiBkIANwMAIAZCADcDCCACQgA3AwAgAkIANwMIIAJBMGoiDCAAKAEMIgM2AgAgAkEsaiIHIAM2AgAgAkEoaiIDIABBFGoiCCgCACABQX9qENoBIAcgAy4BACADLgECEM0EGiADIAgoAgAgCi4BAEF+ahDaASAHIAMuAQAgAy4BAhDNBBogAyAHKAIANgIAQX4hAANAIABBAkcEQCAKLgEAIAgoAgAgAEEBIAMgBiACEOEPIABBAWohAAwBCwsgA0ECaiENIAdBAmohDiAFQQRqIQ8gCUECaiEQIAxBAmohEUEAIQEDQCABIAouAQAiAEgEQCAAIAgoAgAgAUECakEBIAMgBiACEOEPIAgoAgAiACABENUNIQQgCSAAIAEQ2gECfwJ/AkAgBiAEQQJ0aigCACIAQQFKDQAgAEEBRgRAIAYgBEF/akEEEP4EQQJ0aigCAEECRgRAIAYgBEEBakEEEP4EQQJ0aigCAEECRg0CCwtBACEAQQAMAQsgAiAEQQJ0aigCACAAIAkvAQAEfyARLgEABSAMLgEAC0EQdEEQdWxrCyETIAVB/wA2AgAgEwtBgX8gBRDVAUH/AXEhBCALKAIAIhIgAUEDbGogBDoAACAFQf8BNgIAIBIgAUEDbGogAEEAIAUQ1QE6AAEgBSADLgEAIAcuAQBrsiANLgEAIA4uAQBrshCkASAFKgIAIA8qAgAQ6Q0hACALKAIAIAFBA2xqIAA6AAIgCi4BACAIKAIAIAFBfmpBfyAHIAYgAhDhDyAJIAgoAgAgARDaASAMIAkuAQAgEC4BABDoARogAUEBaiEBDAELCyACJAYLyggBHX8jBiEDIwZBMGokBiADQRhqIQsgA0EUaiEQIANBJGohFCADQSBqIREgA0EcaiESIANBEGohEyADQQxqIQogA0EIaiEIIANBBGohBSADIQcgAhB8QQhGBEAgAhB1IQ4gAhB3IQwgAhC+ASEPIAIQpQEhCSAAENcMIRUgAEEYaiIWKAIAIgMEQCADEEwLIBZBfyAAQRBqIhkuAQAiA0EDbCADQdWq1aoFSxsQTzYCACALIAAoAQwiAzYCACAQEJgBIAtBAmohFyAOIAwgA0H//wNxQRB0QRB1IAkgA0EQdkEQdEEQdWsgDyAJIBAQzxcgEUECaiEaIBJBAmohGyAAQRRqIRwgFEECaiEdIApBAmohGANAIA0gGS4BAEgEQCAUIBwoAgAgDRDaASARIAsuAQAgFy4BABChASALIBQuAQAgHS4BABDoARogEiALLgEAIBcuAQAQoQEgExCYASAOIAwgCy4BACAJIBcuAQBrIA8gCSATEM8XIAogECATEM4XIAhBADYCAAJ/An8CQCAaLgEAIgMgGy4BACIERw0AIBguAQAiAEEAIABrIABBf0obQQF0IAouAQAiAEEAIABrIABBf0obSA0AQX9BASAVIBEuAQAiACASLgEAIgZKIh5zGyEEIAVBADYCACAHIAkgA2siAzYCACAOIAwgBCAGIAAgHhtBEHRBEHUiBiADIAkgCCAFIAcQ4A8aIAMhAANAIA4gDCAEIAYgAEEBaiIAIAkgCCAFIAcQ4A8NAAsgAyEAA0AgDiAMIAQgBiAAQX9qIgAgCSAIIAUgBxDgDw0ACyAFKAIAQQIQTiABayAEbCADIAcoAgBrIAgoAgAiAGxqDAELIBEuAQAiACASLgEARgR/IAouAQAiBkEAIAZrIAZBf0obQQF0IBguAQAiBkEAIAZrIAZBf0obSAR/QQAhAEEABSACEHUgCSAEIAMgAyAESBtBEHRBEHVrIAxsQQJ0aiEGIAVBADYCACAHIAA2AgAgBkF/QQEgFSADIARKcxsiBCAAIA8gCCAFIAcQ3w8aIAAhAwNAIAYgBCADQQFqIgMgDyAIIAUgBxDfDw0ACyAAIQMDQCAGIAQgA0F/aiIDIA8gCCAFIAcQ3w8NAAsgASAFKAIAQQIQTmsgBGwgBygCACAAayAIKAIAIgBsagsFQQAhAEEACwshHyAFQf8ANgIAIB8LQYF/IAUQ1QFB/wFxIQQgFigCACIDIA1BA2xqIAQ6AAAgBUH/ATYCACADIA1BA2xqIABBACAFENUBOgABIBUEfyAFIAoQzhggCiAFKAIAIgA2AgAgFigCACEDIABB//8DcSEEIABBEHYFIAouAQAhBCAYLgEACyEAIAMgDUEDbGogAEEQdEEQdbcgBEEQdEEQdbcQ4ga2uxCdEkH/AXFBQGtBgAIQ/gQ6AAIgECATKAIANgIAIA1BAWohDQwBCwsLIAckBgvMBAMGfwV9A3wjBiEGIwZBgAFqJAYgBkHkAGoiBSABEFUgBkHIAGoiByACEFUgBkEsaiIBIAMQVSAGQRBqIgIgBBBVIAZBAEHYBBCxASAFEFsgAEHkDmohBCAAQcAPaiEJA0AgBRBZRQRAIAUQUyIIEGIiAxBrQRB0QRB1IQogBCgCACAKSgRAIAcgBRCfARCgAQUgCCgCGBDRF7chECADEGshCCADEG5BEHRBEHUgCEEQdEEQdWy3IREgCSsDACARoiAQZQRAIAEgBRCfARCgAQsLIAUQVgwBCwsgBRBbA0AgBRBZRQRAIAYgBRBTEGIQa0EQdEEQdUEBEIgBIAUQVgwBCwsgBiAAQZAQaisDABDOAbYiDLsiEEQAAAAAAAD0P6JEAAAAAAAAAECim7YhCyAMQwAAAD+UjiEOQZCV+QArAwAgEKKbIRIgARCNAyABEFsDQCABEFlFBEAgARBTEGIQa0EQdEEQdbIiDSALXgRAIAIgARCfARCgAQUgDiANXwRAIAUgARCfARCgAQsLIAEQVgwBCwsgErYhDSAGEO0FIAUQWwNAIAUQWUUEQCAFEFMQYhBrIQMgBRBTIQQgA0EQdEEQdSEHIA4gA0EQdEEQdbIiD14EQCABIAUQnwEQoAEFIA8gC14gBBBiEG5BEHRBEHWyIA1ecgRAIAIgBRCfARCgAQUgBiAHQQEQiAELCyAFEFYMAQsLIAYgAEG4EGorAwAQzgG2u0RVVVVVVVXlP6K2IQsgBigCDBCEASAGJAYgCyAMIAsgDF4bCzkBAX8jBiEDIwZBEGokBiADIAE4AgAgAyACOAIEIAAoAgQgAxC4DCAAIAEgAhDjDyAAEKQMIAMkBgsjAQJ9QX8gACgCACoClAEiAiABKAIAKgKUASIDXSACIANeGwuHAgMJfwJ9AXwjBiECIwZB4ABqJAYgAkHQAGohBCACQdQAaiEFIAJBzABqIgYgADgCACACEKAIIAJBMGoiAyABENQBEFUgAxBbA0AgAxBZRQRAIAMQUygCGBDIAkUEQCADEFMQYiIHLgEAIQkgBy4BAiEKIAUgBy4BBCAJakECEE5B//8DcSAKEKEBIAIgBRCKByAIQQFqIQgLIAMQVgwBCwsgAiAAuyAEEPMXIQ0gASAAIAQqAgAiCyANtiIMEOIXQZay+QAtAAAEQCAIQbiv+QAoAgBKBEAgAiAGIAQQrQy2IQwgBioCACEAIAQqAgAhCwsLIAEgACALIAwQ8A8gAhCnCCACJAYL1AMDDX8CfQF8IwYhByMGQdAAaiQGIAUEQCAAKgKUAbshFSAHIAAqApwBuzkDACAHIBU5AwggByABNgIQQYKLGiAHEEsLIAdByABqIQ0gB0EwaiEIIAdBIGohCSAHQRhqIQYgAUEfdUECcUF/aiEKAn9BACABayABIAFBAEgiDBuyIAJeBH8gBQRAQaKLGiAGEEsLQQEFIAwEf0EAIAQQpAINAgVBACAEEPcCDQILGiABQQF0IANqIQsgAUF/SiEOIABBoAFqIQ8gCiEAAkACQAJAA0AgDCAEIABB/wFxEMwDIhAqApwBIhOOEGUiBiADSHEEQCALIAZIDQIFIA4gBiADSnEgCyAGSnENAgsCQAJAIAYgA0YiESALIAZGIgZyBEAgDyoCACIUIBAqAqABIgJfDQUgACAKaiEAIBFFDQEFIAAgCmohAAwBCwwBCyAGRQ0ECyAAIAQQkAdIDQALDAILQQEgBUUNAxogCSADIAFqIAZrNgIAIAkgE7s5AwhBt4saIAkQS0EBDAMLQQEgBUUNAhogCCATuzkDACAIIBS7OQMIIAggArs5AxBB1YsaIAgQS0EBDAILQQAgBUUNARpB/4saIA0QS0EACwshEiAHJAYgEgu8AQEFf0EAIAJrIQUDQAJAIAEgBiIDQQJ0aigCACEEA0ACQCABIANBAnRqIAVBf2oiBTYCACADQQFqIgYgAk4NAiAAIAZBAnRqKAIAIAEgBkECdGooAgAiB04EQCAAIANBAnRqKAIAIARIDQELIAYhAyAHIQQMAQsLQQEhBANAIARBACAFa0ggA0F/SnEEQCABIANBAnRqIAQ2AgAgA0F/aiEDIARBAWohBCAFQQFqIQUMAQsLQQEhBQwBCwsLyAQBCH8gASAAaiIFt0H4kvkAKwMAo5sQWiEMAn8gBSACSAR/A0AgByAASARAIAMgB0ECdGooAgAgCmohCiAHQQFqIQcMAQsLQQAhBQNAIAUgAUgEQCAFQQFqIQUgAyAHQQJ0aigCACAKaiEKIAdBAWohBwwBCwtBASEJIAMoAgAhAUEAIQUDQCAJIAdJBEAgBSAJIAMgCUECdGooAgAiCCABSiIGGyEFIAlBAWohCSABIAggBhshAQwBCwsgCiABayEIQQAhBgNAIAYgAEgEQCAEIAZBAnRqIAggDBBOIAFqNgIAIAZBAWohBgwBCwtBACEIIAohAANAIAYgByACTg0CGiAAIAMgCEECdGooAgBrIAMgB0ECdGooAgAiCWohCiAFIAcgCSABSiIFGyIAIAhKBEAgASAJIAUbIQUgCEEBaiEBBSAIQQJqIQsgAyAIQQFqIgFBAnRqKAIAIQUgASEAA0AgCyAHTARAIAAgCyADIAtBAnRqKAIAIgkgBUoiCBshACALQQFqIQsgBSAJIAgbIQUMAQsLCyAEIAZBAnRqIAogBWsgDBBOIAVqNgIAIAZBAWohBiABIQggBSEBIAAhBSAKIQAgB0EBaiEHDAAACwAFQQAhACADKAIAIQEDfyAGIAJIBH8gAyAGQQJ0aigCACEFIAZBAWohBiAFIABqIQAgBSABIAUgAUgbIQEMAQVBAAsLCwshAyAAIAFrIQADQCADIAJIBEAgBCADQQJ0aiAAIAwQTiABajYCACADQQFqIQMMAQsLC84DAgh/AX0jBiEHIwZB4ABqJAYgB0EYaiEKIAdBEGohCyAHQTxqIgkgABDsARB9IAdBIGoiCBBXIAdBCGoiABB5IAMgAmshAyAHQwAAgD8gASABlEMAAIA/kpEiDpUgAYwgDpUQpAEDQCAGIANMBEAgBSAGQQJ0akEANgIAIAZBAWohBgwBCwsgCRCUAQNAIAkQjgFFBEAgCCAJEHAQ1AEQlgEgCBBbA0AgCBBZRQRAIAAgCBBTEGIpAQA3AwAgACAHEN8CIAAuAQQhDCAALgEAIQ0gAC4BAiACayIGQQBIIAYgA0pyBEAgC0HG+xk2AgAgC0GkBjYCBEHMs/kAQYmMGkECQcfrHCALEFELIAUgBkECdGoiBiAGKAIAIAxBEHRBEHUgDWsiDGo2AgAgAC4BBiACayIGQQBIIAYgA0pyBEAgCkHG+xk2AgAgCkGoBjYCBEHMs/kAQYmMGkECQcfrHCAKEFELIAUgBkECdGoiBiAGKAIAIAxrNgIAIAgQVgwBCwsgCRB4DAELCyAEIAUoAgAiADYCAEEBIQIDQCACIANMBEAgBCACQQJ0aiAFIAJBAnRqKAIAIABqIgA2AgAgAkEBaiECDAELCyAHJAYLrgECA38BfSMGIQMjBkHQAGokBiAAEHkgA0EIaiIFEHkgA0EsaiIEIAEQ7AEQfSADQRBqIgEQVyADQwAAgD8gAiAClEMAAIA/kpEiBpUgAowgBpUQpAEgBBCUAQNAIAQQjgFFBEAgASAEEHAQ1AEQlgEgARBbA0AgARBZRQRAIAUgARBTEGIpAQA3AwAgBSADEN8CIAAgBRC8ARogARBWDAELCyAEEHgMAQsLIAMkBgtoAQN/IwYhAyMGQRBqJAYgACgCACICRQRAQcyVFkGPiRpBAkEAIAMQUSAAKAIAIQILIAAgAigCACIBNgIIIAAgAQR/IAAgASgCADYCBCABKAIEBSAAQQA2AgRBAAsiAjYCDCADJAYgAQuKAgMEfwN9AXwjBiECIwZB0ABqJAYgAkEoaiIEIAAQ7AEQfUHmsvkALQAABEAgACgCGEEEahDDASIALgEAIQEgAC4BBiEAIAIgATYCACACIAA2AgRBtIoaIAIQSwsgAkEIaiEBIAQQlAEDQCAEEI4BRQRAIAQQcCIDKgKAASIGIAMqAnwiB5MhBUHmsvkALQAABEAgASADQZwBaiIAKgIAuzkDACABIAe7OQMIIAEgBrs5AxAgASAFuyIIOQMYQduKGiABEEsFIANBnAFqIQAgBbshCAsgAyAAKgIAIgUgCLYiBkMAAIC+lJIgBSAGQwAAQD+UkhDmDyADQQA6AAggBBB4DAELCyACJAYL7gEBBX8jBiECIwZBIGokBiAAKAIAIgFFBEBB6JUWQduGGkECQQAgAhBRIAAoAgAhAQsgAkEQaiEDIAJBCGohBCABKAIABEAgAEEIaiIFKAIAIgEEQCAAIAE2AgwgAEEBOgAYIAEoAgAhAQUgACgCBCEBIAAsABEEQCAAIAE2AhQLCyAFIAE2AgAgAUUEQEHslRZB24YaQQJBACAEEFELIABBBGoiBCgCAEUEQCAFKAIAIQEgAyAANgIAIAMgATYCBEGQrRZB24YaQQJB7bsXIAMQUQsgBCAFKAIAIgAoAgA2AgAFQQAhAAsgAiQGIAAL3AUDCn8JfQN8IwYhBiMGQbABaiQGIAZBpAFqEJgBIAZBiAFqIg0QVyACIAOTIhMgAiAAEHAiByoCgAEiEpOTIBMgEiACXRsiECAHKgJ8IhEgA5OTIBAgESADXhshECAFBEBBlq/5AC0AAARAIAYgA7s5AwAgBiACuzkDCCAGIBG7OQMQIAYgErs5AxggBiAEuzkDICAGIBC7OQMoQceFGiAGEEsLCyAGQdAAaiEJIAZBMGohCiAEQwAAgL+SIRUgA7shGiACuyEbIAS7IRkgByEIA0ACQCAAEKQCRQRAIAAQeCAAEHAiB0H8AGoiDioCACIRIAJfBEAgB0GAAWoiDyoCACISIANgBEAgByAIIBIgCCoCgAEiFF4bKgKAASIWIAcgCCARIAgqAnwiF10bKgJ8IhiTIARfBEAgBQRAQZav+QAtAAAEQCAKIBe7OQMAIAogFLs5AwggCiARuzkDECAKIBK7OQMYQf6FGiAKEEsLCyAHIBggFhDmDyANIAcQ1AEQlgEgDSAIENQBEIYCIA1B1wAQygggABDxAyAAEIcCIgwEQCAMELQGIAwQTAsgABB4QwAAgL8hECAPKgIAIRILIAtBASAQIBVgRSATIAIgEpOTIBMgEiACXRsiESAOKgIAIhQgA5OTIBEgFCADXhsiESAVYEVyGyELIBEgECARIBBeIgwbIRAgByAIIAwbIQggBQRAQZav+QAtAAAEQCAJIBo5AwAgCSAbOQMIIAkgFLs5AxAgCSASuzkDGCAJIBk5AyAgCSARuzkDKCAJIBC7OQMwQaCGGiAJEEsLCwsLCyAAEKQCDQAgByoCfCACX0UNACAHKgKAASADYA0BCwsDQCAAEHAgCEcEQCAAEPEDDAELCwJAQZiU+QArAwAgGaIiGSATIBCTu2MEQEHWsfkALQAABEAgC0UgGSAQu2RxRQ0CBSALDQILQQIhCwsLIAEgCDYCACAGJAYgCwuRCAMOfwR9AnwjBiEDIwZBwAFqJAYgA0HwAGohCSADQeAAaiEKIANB2ABqIQ0gA0FAayEHIANBMGohCyADQSBqIQwgA0EYaiEOIANBnAFqIgUgATgCACADQaABaiIIIABBBGoQVSADQYABaiIEIAAQ7AEiBhB9IAAQnC0CQAJAQaav+QAtAABFDQAgBhCPBwRAIABB5rL5AC0AAEEARyACcRDVFwwBCwwBCyAAIAVBBEEBQQAQ7QkgBhCPBwRAIAAgBSoCABDWF0Gmr/kALQAARQRAIABB5rL5AC0AAEEARyACcRDVFwsgBBCoDCAAQSRqIQ8gAkEBcyECA0AgBBBwIgUqAoABIRMgBUGcAWoiECoCALsiFkHAlPkAKwMAIA8qAgC7oiIVRAAAAAAAANA/oqG2IQEgFUQAAAAAAADoP6IgFqC2IRQCQCAFKgJ8IhEgAV4EQEHmsvkALQAARSACcgRAIBG7IRYFIAMgFjkDACADIBG7IhY5AwggAyABuzkDEEGdhxogAxBLC0EBIQADQANAAkAgAEUEQCABIREMBQsgBBCkAgRAIAEhEQwFCyAEQQEQzAMiACoCgAEiEiABXgR/IAAqAnwgAV5FDQFB5rL5AC0AAEUgAnJFBEAgDiAAKgKcAbs5AwBByocaIA4QSwsgBBB4IAggBRDUARCWASAIIAAQ1AEQhgIgBBCHAiIABEAgABC0BiAAEEwLIAQQ8QNBAQVBAAshAAwBCwtB5rL5AC0AAEUgAnIhBiASIBFdBH0gBkUEQCAAKgKcAbshFSAMIBK7OQMAIAwgFTkDCEHihxogDBBLCyASBSAGRQRAIAAqApwBuyEVIAsgFjkDACALIBU5AwhBlIgaIAsQSwsgEQshAUEAIQAMAAALAAsLAkAgEyAUXQR9Qeay+QAtAABFIAJyBEAgE7shFgUgByAQKgIAuzkDACAHIBO7IhY5AwggByAUuzkDEEHNiBogBxBLCyAUIQFBASEAA0ADQAJAIABFDQQgBBD3Ag0EIARBfxDMAyIAKgJ8IhIgAV0EfyAAKgKAASABXUUNAUHmsvkALQAARSACckUEQCANIAAqApwBuzkDAEH3iBogDRBLCyAEEPEDIAggBRDUARCWASAIIAAQ1AEQhgIgBBCHAiIABEAgABC0BiAAEEwLIAQQeEEBBUEACyEADAELC0HmsvkALQAARSACciEGIBIgE10EfSAGRQRAIAAqApwBuyEVIAogErs5AwAgCiAVOQMIQeKHGiAKEEsLIBIFIAZFBEAgACoCnAG7IRUgCSAWOQMAIAkgFTkDCEGUiBogCRBLCyATCyEBQQAhAAwAAAsABSATCyEBCyAFIBEgARDmDyAEEPEDIAQQpAJFDQALCwsgAyQGC7oDAgp/AXwjBiEFIwZB4ABqJAYgBUEUaiEJIAVBCGohCiAFEHkgBUE8aiIDIAAQ7AEQfSAFQSBqIgwgAEEEahBVIAMQkAcEQCAFIAAgARCaLSAFLgECQX9qIQcgBS4BBkEBaiEGIAMQlAEDQCADEI4BRQRAIAMQcCoCnAGOEGUhBCADEHggBiAEQQFqIAYgBEobIQYgByAEQX9qIAcgBEgbIQcMAQsLIAYgB2siBEEBaiEIIARBAE4EQCAJIAgQsgYgCiAIELIGIAAgASAHIAYgCigCACIEIAkoAgAiCxCZLSAAQSBqIgYqAgC7Ig1EAAAAAAAA4D+imxBaIA1EAAAAAAAA6D+imxBaIAggBCALEJgtIAQgCyAIEJctIAMQlAEDQCADEI4BRQRAIAMQcCIAKgKcAY4QZSEEIAAgCyAEIAdrQQJ0aigCACAGKgIAQwAAAD+UIAQgAyACEJYtBEAgDCADEHAQ1AEQhgIgAxCHAiIABEAgABC0BiAAEEwLCyADEHgMAQsLIAMQlAEDQCADEI4BRQRAIAwgAxBwENQBEIYCIAMQeAwBCwsgChC6AiAJELoCCwsgBSQGC+MBAQV/IwYhBSMGQUBrJAYgBUEcaiIHIAE4AgAgBUEgaiIGIABBBGoiCBBVIAUgABDsASIJEH0gACABENYXIAAgAUH2svkALQAAQQBHIARxEKAtIAAgASAEEJ8tIAYgCBCWASAFIAkQrwMgBRCUAQNAIAUQjgFFBEAgBiAFEHAQ1AEQhgIgBRB4DAELCyAAIAdBAUEAQQAQ7QkgBiAIEJYBIAYgAEEUahCGAiAAIAdBAkEBQQEQ7QkgBiAIEJYBIAYgAEEMahCGAiAGIABBEGoQhgIgACAHQQNBAEEAEO0JIAUkBgtMAQF/IwYhASMGQSBqJAYgASAAEOwBEH0gAEEAQQBBAUEBEO0JIAEQnQMgARCUAQNAIAEQjgFFBEAgARBwENgXIAEQeAwBCwsgASQGC4oBAQF/IABBADoACSAAQQA6AAogAEEMaiIBQgA3AgAgAUIANwIIIAFCADcCECABQgA3AhggAUIANwIgIAFCADcCKCABQgA3AjAgAUIANwI4IAFBQGtCADcCACAAQfwAaiIBQgA3AgAgAUIANwIIIAFCADcCECABQgA3AhggAUIANwIgIABBfzYCpAELkwECA38CfSMGIQMjBkFAayQGIANBHGoiBCAAQRBqEFUgAyABEJEBEFUgAyADEFMQpQMQlgEgAxC1AQR9QwAAAAAFIAMQWwNAIAMQWUUEQEEIEE8iBSADEFMQ0RoQnwcgBRDFEEH4ABBPIgEgBRChBSAEIAEQoAEgAxBWDAELCyAAKgIkIAQgAhDZFwshByADJAYgBwtQAQJ/IwYhASMGQTBqJAYgAUEIaiICIAAoAgAQVSABEHkgAhBbA0AgAhBZRQRAIAEgAhBTEGIQvAEaIAIQVgwBCwsgACABKQMANwEEIAEkBguSAQEBfCAAIAIQ1AE2AgAgAEEEahB5IABBEGoQoAggAEFAa0MAAAAAQwAAAAAQpAEgAEHIAGpDAAAAAEMAAAAAEKQBIABB0ABqEL4DIABEAAAAAAAAAAA5A4ABIABBADoAiAEgABClLSAAIAFEAAAAAAAAqD+iIgM5A2ggACABRAAAAAAAALg/ojkDcCAAIAM5A3gLMwAgASgCACEBQX8gACgCABBiLgEAIgAgARBiLgEAIgFKIABBEHRBEHUgAUEQdEEQdUgbC7gBAQJ/IwYhBCMGQSBqJAYgACADNgIAIABBBGoiBRCyASAAIAE2AhggACACQQFxOgAcIABBADoAHSAARAAAAAAAAAAAOQMgIAAgA0EgaiICKgIAuzkDKCAAQTBqIgFCADcDACABQgA3AwggBCAAKAIAEOwBEH0gBBCUAQNAIAQQjgFFBEAgBBBwENQBQdcAEPgMQZABEE8iACACKgIAuyAEEHAQpi0gBSAAELkBIAQQeAwBCwsgBCQGC4kBAQJ/IwYhBCMGQSBqJAYgACACKQIANwIAIABBCGoiBSABNgIAIABBDGoiAhCyASAEIAMQVSAEEFsDQCAEEFlFBEAgBBBTIgEoAhgoAgQiAAR/IAAoAgwQ7gFBAXMFQQALIQNBwAAQTyIAIAUoAgAgAyABEKgtIAIgABC5ASAEEFYMAQsLIAQkBgvLBQERfyMGIQEjBkFAayQGIAFBIGohAyABQQRqIQIgASIJQTRqIQYgAUE4aiIKIAAQ0gEgCi4BACEHIAoQbiIEQRB0QRB1IQsgCi4BAiIBIQ8gAEEEaiIIKAIABEAgBEEQdEEQdaxCA4YgABC7B6xTBEAgASEABSADEKoBIAIgCi4BBjYCACADIAtBAWogAhDIByACIAgQVSACEFsgCUECaiEBIAZBAmohBANAIAIQWUUEQCAJIAIQUyIAEMMBKAEANgIAIABBEGohCCAAQRRqIQxBACEAA0AgACAILgEAELcBSARAIAEuAQAhBSADIAkuAQAgB2sQTSgCACAFQRB0QRB1SgRAIAEuAQAhBSADIAkuAQAgB2sQTSAFQRB0QRB1NgIACyAGIAwoAgAgABDaASAJIAYuAQAgBC4BABDoARogAEEBaiEADAELCyACEFYMAQsLIA9BAWohEUEAIQBBACEIA0AgACALTARAAkACQCADIAAQTSgCACAPRg0AIAMgABBNKAIAIBFGDQAMAQsgCEEBaiEICyAAQQFqIQAMAQsLQQAhBiAKLgEGIgAhB0EAIQEgACEFA0ACQCAGIQQgASEMA0ACQCAEIAtODQIgAyAEEE0oAgAhAkEBIQEDQAJAIAEgBGoiBiALSg0AIAMgBhBNKAIAIAJHDQAgAUEBaiEBDAELCyACIBFKBEAgAkEBaiENIAEhDgNAAkAgDiAEaiIQIAtKDQMgAyAQEE0oAgAgAkcEQCADIBAQTSgCACANRw0BCyAOQQFqIQ4MAQsLIAcgDUoNASADIBAQTSgCACANSg0BCyAAIQcgBiEEIAIhACABIQwMAQsLIAAhByACIgAgBSAAIAVIIAxBACAMQQBHIAcgDUZxGyAOaiAISnEbIQUMAQsLIA8gBSAFIAouAQZGG0H//wNxIQAgAxBoCwUgASEACyAJJAYgAAsyAQF/IwYhAyMGQRBqJAYgAyABIAIQ7BcgA0EIaiIBIAMpAgA3AgAgACABEOsXIAMkBgsqAQF/IABBPGoiASAAQQhqLgECOwEAIAAoAgQiAARAIAEgABCqLTsBAAsL4gUCDH8EfCMGIQIjBkHwAGokBiACQcwAaiEEIAJByABqIQsgAkEIaiEDIABBEGoiBxDyDyACQRBqIggQrgQgAkHQAGoiBSAAKAIAEFUgBRBbA0AgBRBZRQRAIAUQUyEJIAFFBEAgCRCsLQsgCRBiIgwuAQAhCiAEIAwuAQQgCmpBAhBOIgZB//8DcSAJQTxqIgouAQAQtwFB//8DcRChASAHIAQgDBBuQRB0QRB1QQIQTkEQdEEQdRCrLSAIIAa3IAouAQAQtwG3EN8KIAUQVgwBCwsgBBCYASALEJgBIABBgAFqIgUgByAEIAsQ8Q85AwAgAyAEKAIAIgFB//8DcSIKIAFBEHYiARDBAyAAQUBrIgkgAykDADcCACADIAsoAgAiBkH//wNxIAZBEHYQwQMgAEHIAGoiDCADKQMANwIAIAUrAwAgACsDeGQEQCAHEN8XBEAgB0EDQQMgBCALEOgXIg4gBSsDAEQAAAAAAADgP6JjBEAgBSAOOQMAIAMgBCgCACIBQf//A3EiCiABQRB2IgEQwQMgCSADKQMANwIAIAMgCygCACIGQf//A3EgBkEQdhDBAyAMIAMpAwA3AgAFIAQoAgAiAUH//wNxIQogAUEQdiEBCwsLIAJBQGshBiACQewAaiIHIAsgBBCPCiADIAcuAQAgBy4BAhDBAyACIAogARDBAyADKgIAIAMqAgQgAioCACACKgIEELMGuyEOIABBiAFqIgFBADoAACAAQQAgA0QAAAAAAAAAACAOEO4PIAAQiAeZRBgtRFT7Iek/ZAR/IAIgCCsDACIPIAgrAwgiECAIKwMQIhEQ+wogCSACKQMANwIAIAZDAACAPyAIEOwPthCkASACIAkqAgAgACoCRCAGKgIAIAYqAgQQ6AogDCACKQMANwIAIAUgCCAIEOwPIg4gDyAQIBEgDhDrDxDeFzkDACABQQA6AABBAAUgASwAAEEARwshDSACJAYgDQuwAgIHfwJ8IABBCGohCSACIQgCQAJAA0ACQCAEQQFqIQcDQCAIIARrIgJBAkgEQCAEIQUMAgsgAkECRg0DIAMoAgAQgQ4gABDeAyACEMgBIARqIAQQ6Q8gByEGIAghAiAEIQUDQAJAA0ACQANAIAYgAk4NAyAJKAIAIgogBkEDdGorAwAiCyAKIAVBA3RqKwMAIgxjDQEgCyAMYQRAIAZBAWohBgwBCwsgACACQX9qIgIgBhDpDwwBCwsgACAFIAYQ6Q8gBkEBaiEGIAVBAWohBQwBCwsgBSABSgRAIAUhCAwBCwsgAiABTARAIAIhBAwCCwsLDAELIAQgAUghASAJKAIAIgAgBEEDdGorAwAgACAHQQN0aisDAGMEfyAHIAQgARsFIAQgByABGwshBQsgBQuVAQEDfyACQX9KBEAgACgCACIDIAJOBEAgACgCBCADRgRAIAAQmRkgACgCACEDCyAAQQhqIQUDQCAFKAIAIQQgAyACSgRAIAQgA0EDdGogBCADQX9qIgNBA3RqKQIANwIADAELCyAEIAJBA3RqIAEpAgA3AgAgACAAKAIAQQFqNgIADwsLQcD4GkHQhB1B8QVB4vgaEAEL5AMBDn8jBiEDIwZBMGokBiADQRhqIQQgAyIGQRRqIQggA0EQaiEJIANBCGohCyAAKAIEIgMgACgCACICayEMIAQgAiADELEBIAFBABDyASAAQQxqIQogBCgCDCEHQQEhAwNAQQAhBUEAIQRBACECA0AgBSAMSARAIAUgBCAKKAIAIAVBAnRqKAIAIAcgBUECdGooAgBrIg0gAkoiDhshBCAFQQFqIQUgDSACIA4bIQIMAQsLIAJBAEoEQCAHIARBAnRqIAI2AgAgBiAEIAJstzkDACAIIAI2AgAgCSACNgIAQQEhAgNAIAIgBGoiBSAMSARAIAJBAWohAiAFIAooAgAgByAJIAggBhDcFw0BCwsgCSAKKAIAIARBAnRqKAIANgIAQQEhAgNAIAQgAmsiBUF/SgRAIAJBAWohAiAFIAooAgAgByAJIAggBhDcFw0BCwsgCCgCACIEIANKIAEoAgAiAkEDSHIEQCACQQNGBEAgAUECEPIBC0EAIQMDQAJAIAMgASgCAE4NACABIAMQZCgCACAESA0AIANBAWohAwwBCwsgCyAGKwMAIAS3oyAAKAIAt6C2IAQQ4AwgASALIAMQry0gARClBygCACEDCwwBCwsgASgCACEPIAcQhAEgBiQGIA8LNAEBfCAAKwMAIgMgASsDAGMEQCABIAM5AwAgACsDACEDCyADIAIrAwBkBEAgAiADOQMACwuXAwIMfwF8IwYhAiMGQfAAaiQGIAJB1ABqIgUQvgMgAEHQAGoiCRDFAyACQSBqIgdEAAAA4P//70c5AwAgAkEYaiIIRAAAAOD//+/HOQMAIAJBOGoiBiAAKAIAEFUgBhBbIAFBBGohCiACQShqIgRBBGohCwNAIAYQWUUEQCAGEFMiDBBiIg0uAQAhAyAEIA0uAQQgA2qyQwAAAD+UIAwuATwQtwGyEKQBIAIgASoCACAKKgIAIAQqAgAgCyoCABCzBrsiDjkDACAFIA4QiQcgAiAHIAgQsS0gBhBWDAELCyAEIAcrAwAgAEHoAGoiASsDACIOoxCcAiAIKwMAIA6jEJwCQQFqELEBIAUoAgAhAEEAIQMDQCADIABIBEAgBCAFIAMQZCsDACABKwMAoxCcAkEBEIgBIANBAWohAwwBCwsgAhC+AyAEIAIQsC0aIAIoAgAhAEEAIQMDQCADIABIBEAgCSABKwMAIAIgAxBkKgIEu6IQiQcgA0EBaiEDDAELCyACELcDIAQoAgwQhAEgBRC8BSACJAYLsAICB38CfSAAQQhqIQkgAiEIAkACQANAAkAgBEEBaiEHA0AgCCAEayICQQJIBEAgBCEFDAILIAJBAkYNAyADKAIAEIEOIAAQ3gMgAhDIASAEaiAEEOoPIAchBiAIIQIgBCEFA0ACQANAAkADQCAGIAJODQMgCSgCACIKIAZBAnRqKgIAIgsgCiAFQQJ0aioCACIMXQ0BIAsgDFsEQCAGQQFqIQYMAQsLIAAgAkF/aiICIAYQ6g8MAQsLIAAgBSAGEOoPIAZBAWohBiAFQQFqIQUMAQsLIAUgAUoEQCAFIQgMAQsLIAIgAUwEQCACIQQMAgsLCwwBCyAEIAFIIQEgCSgCACIAIARBAnRqKgIAIAAgB0ECdGoqAgBdBH8gByAEIAEbBSAEIAcgARsLIQULIAULRQEDfyMGIQIjBkEQaiQGIAAoAgAhAyACQQE2AgAgAEEAIAEgA0F/aiADIAFKGyABQQBIGyIBIAMgAhCzLSEEIAIkBiAEC6gBAwV/AX0DfCMGIQIjBkEQaiQGIABBBGoiAy4BACEFIAFBBGoiBC4BACEGIAAgBC4BBCIEIAMuAQQiAyAEQRB0QRB1IANBEHRBEHVIG0EQdEEQdSAGIAUgBSAGSBtBEHRBEHVqskMAAAA/lCIHuyIIEJ8IIQkgAiAHIAkgASAIEJ8IoEQAAAAAAADgP6K2EKQBIAAgAhDdFyABIAIQ3RegIQogAiQGIAoL9gICB38DfCMGIQIjBkGAAWokBiACQdgAaiEFIAIgACABIABBKGoiBisDACACQUBrIgMgAkEgaiIEIAJB8ABqIgcQ7Q8iCjkDAAJAIAcoAgAiCEEBSgRAIAIgACABIAYrAwBEAAAAAAAA8D8gCLejRAAAAAAAAPA/oKMgA0EIaiAEQQhqQQAQ7Q85AwggAiAAIAEgBisDAEQAAAAAAADwP0QAAAAAAADwPyAHKAIAt6OhoyADQRBqIARBEGpBABDtDzkDEEEBIQEDQCABQQNGDQIgAiABQQN0aisDACIJIApjBEAgAyADIAFBA3RqKwMAOQMAIAQgBCABQQN0aisDADkDACACIAk5AwAgCSEKCyABQQFqIQEMAAALAAsLIAMrAwAiCUQAAAAAAAAAAGQEQCAGIAk5AwAgACAEKwMAIgs5AzAgACAKOQM4IAAoAhhBAEoEQCAFIAk5AwAgBSALOQMIIAUgCjkDEEGVgRogBRBLCwsgAiQGC5QCAgh/AXwjBiEEIwZBIGokBiAEQQhqIgMQqgEgAEEEaiECA0AgBSACKAIASARAIAIgBRBNKAIAIgYQiAeZRBgtRFT7Iek/ZEUEQCAGEJEBIQggBSEBAkACQANAIAFBAWoiASACKAIAIgdIBEAgCCACIAEQTSgCABCRARDlBEUNAQwCCwsMAQsgAigCACEHCyABIAdIBEAgAiABEE0oAgAiARCIB5lEGC1EVPsh6T9kRQRAIAMgBiABELUtthD4BgsLCyAFQQFqIQUMAQsLIAMoAgAiAQRAIAAgAyADIAFBAhBOELQtEE0qAgC7Igk5AyggACgCGEEBSgRAIAQgCTkDAEG4ghogBBBLCwsgAxCHBCAEJAYLmwECB38BfSMGIQMjBkEQaiQGIAIQvAUgAEEEaiEEIAFBBGohBSADQQRqIQZBACEAA0AgACAEKAIASARAIAQgABBNKAIAIgcQkQEiCC4BACEJIAMgCC4BBCAJarJDAAAAP5QiCiAHIAq7EJ8IthCkASACIAEqAgAgBSoCACADKgIAIAYqAgAQswa7EIkHIABBAWohAAwBCwsgAyQGC5kCAgh/AnwjBiEBIwZBQGskBiABQTBqIgIgACsDICIJENwHtiAJENsHthCkASABQRhqIgMQvgMgACACIAMQuC0gAygCACIGQQJIBH9BAAUgABC3LSAAIAMQti0gAEEoaiIHKwMARAAAAAAAAKg/oiEJQQEhBEEAIQIDQCAEIAZIBEAgAyAEQX9qEGQrAwAgAyAEEGQrAwChmSIKIAlkBEAgAkEBaiECIAogBysDAKGZIAllBEAgBUEBaiEFCwsgBEEBaiEEDAELCyAAKAIYQQBKBEAgASAHKwMAOQMAIAEgBjYCCCABIAU2AgwgASACNgIQQdeAGiABEEsLIAK3RAAAAAAAANA/oiAFt2MLIQggAxC8BSABJAYgCAs0AQF/IAAgAhCyLSAAQdAAaiIDKAIABEAgACABIAJEAAAAAAAAAAAgA0EAEGQrAwAQ7g8LC0ABAn0gASAAEIgHEI8LtiICIABEAAAAAAAAAAAQnwi2IgMgAEGAAWoiACsDALYQ8A8gASACIAMgACsDALYQ4hcLwwEDBH8CfQF8IwYhAiMGQSBqJAYgACgCACEBIAArAygiB0QAAAAAAAAAAGQEQCAHtiIGIAFBIGoiAyoCACIFIAUgBl4bIgUgAUEkaiIEKgIAXQRAIAQgBTgCAAsgAyAGOAIAIAEgACsDMLY4AiwgASAHRM3MzMzMzPQ/orY4AigLIAIgARDsARB9IABBBGohAUEAIQADQCAAIAEoAgBIBEAgASAAEE0oAgAgAhBwELstIAIQeCAAQQFqIQAMAQsLIAIkBgu5AwIJfwJ8IwYhByMGQRBqJAYgB0EIaiEEIAAsABxFBEAgAEEgaiECIAAsAB1FBEAgAiABOQMACyAAQRhqIggoAgBBAEoEQCAHIAIrAwA5AwBBuv0ZIAcQSwsgBCACKwMAIgEQ3Ae2IAEQ2we2EKQBIABBBGohAwNAIAUgAygCACICSARAIAMgBRBNKAIAIgIgCCgCACAEELotIAgoAgBBAUoEQCACEOEXCyAFQQFqIQUMAQsLAkAgAkEDTgRAIAAQuS0EQEEBIQYgA0EAEE0oAgAgBBCqDCAAQShqIgkrAwAgAEEwaiIKKwMAIgEQ7w8hC0EAIQADQCAGIAMoAgAiBUgEQCAGIAAgAyAGEE0oAgAgBBCqDCAJKwMAIAorAwAiARDvDyIMIAtjIgIbIQAgBkEBaiEGIAwgCyACGyELDAELCyAAIQIDQCACQQFqIgIgBUgEQCADIAIQTSgCACAIKAIAIAQgCSsDACABEOAXIQEgAygCACEFDAELCyAKKwMAIQEDQCAAQQBMDQMgAyAAQX9qIgAQTSgCACAIKAIAIAQgCSsDACABEOAXIQEMAAALAAsLCwsgByQGC+oBAgd/AXwjBiECIwZBMGokBiACQRBqIQMgACwAHAR/QQAFIAMQvgMgAEEEaiEFIABBGGohBgNAIAQgBSgCAEgEQCAFIAQQTSgCACIHIAEQrS0EQCADIAcQiAcQiQcLIAYoAgBBAUoEQCAHEOEXCyAEQQFqIQQMAQsLIAMoAgAEf0QYLURU+yEJQCADEKsMIQlBAQVBAAshASAAIAk5AyAgAEEdaiIAIAE6AAAgBigCAEEASgRAIAIgCTkDACACIAE2AghBsoMaIAIQSyAALAAAIQELIAMQvAUgAUH/AXFBAEcLIQggAiQGIAgLOgEBfyMGIQIjBkEgaiQGIAIgABCRARBVIAIQWwNAIAIQWUUEQCACEFMgARDkFyACEFYMAQsLIAIkBgvTBQEKfyMGIQQjBkHwAGokBiAEQQhqIQUgBEHgAGohBiAEQdgAaiEJIARB0ABqIQcgBBB5IARBQGsiChCOByAEIAEQ0gEgBEHoAGoiCCABENIBIAgQbiEMIAogBC4BAiAELgEGQQFqELAGGiAABEAgCCABENIBIAguAQAhCCAGIAEQ0gEgBi4BAiEGIAkgARDSASAJLgEEIQkgByABENIBIAcuAQYhByAFIAg2AgAgBSAGNgIEIAUgCUEQdEEQdTYCCCAFIAc2AgwgBSACQRB0QRB1Igg2AhBBnfwZIAUQSwUgAkEQdEEQdSEICyAEQSBqIQYgASAKEL8tQQAhBSAELgECIQEDQCABIAhIBEAgASAELgEGTARAIAogARCuASIJIAUgCSAFShshBQsgAUEBaiEBDAELCyAIIANBEHRBEHUiCWohA0EAIQEDQCADIAJBEHRBEHUiB04EQCACQRB0QRB1IAQuAQJOBEAgAkEQdEEQdSAELgEGTARAIAogBxCuASIHIAEgByABShshAQsLIAJBAWpBEHRBEHUhAgwBCwsgBC4BBiEHQQAhAiADQQFqQf//A3EhAwNAIANBEHRBEHUgB0EQdEEQdUwEQCADQRB0QRB1IQsgA0EQdEEQdSAELgECTgRAIAogCxCuASILIAIgCyACShshAgsgA0EBakEQdEEQdSEDDAELCyAABEAgBiAFNgIAIAYgATYCBCAGIAI2AghB2vwZIAYQSwsgBEEwaiEAIAEgBXIgAnJFBEAgBC4BBiEGIAAgBC4BAjYCACAAIAY2AgQgACAINgIIIAAgCTYCDEHk/BkgABBLIAoQ4AgLAn8CQCAFIAFBAXQiAEwNAEGgmPkAKwMAIAxBEHRBEHW3oiAFt2NFDQBBAQwBCyACIABKBH9BoJj5ACsDACAMQRB0QRB1t6IgArdjBUEACwshDSAKKAIMEIQBIAQkBiANC28BA38jBiEDIwZBQGskBiADQThqIgUQVyADQRxqIgQgABCRARBVIAMgBRBVIAQQWwNAIAQQWUUEQEEgEE8iACAEEFMgASACEKsYIAMgABCgASAEEFYMAQsLQQgQTyIAIAUQtAggBRCPAyADJAYgAAstAQF9IAIqAgAgAF4EQCACIAA4AgALIAEqAgAiBCADKgIAXgRAIAMgBDgCAAsL/wECCH8BfSMGIQUjBkEwaiQGIAVBJGoiBhCYASAFQSBqIgkQmAEgBUEEaiIHIAAQkQEQVSADQwAAAE84AgAgBEMAAADPOAIAIAcQWyAGQQJqIQoDQCAHEFlFBEAgBiAHEFMiABDDASgBADYCACAAQRBqIQsgAEEUaiEMQQAhCANAIAsuAQAQtwEgCEEQdEEQdSIASgRAIAYuAQCyIg0gAWBFIA0gAl9FckUEQCAKLgEAIAMgBBCHEAsgBSAMKAIAIAAQ2gEgCSAFKAIAIgA2AgAgBiAAQf//A3EgAEEQdhDoARogCEEBakEQdEEQdSEIDAELCyAHEFYMAQsLIAUkBgvDBAIPfwR9IwYhBCMGQUBrJAYgBEE4aiEJIARBNGohCiAEQTBqIQ8gBEEsaiEQIARBKGoiERCYASAEQSRqIhIQmAEgBEEIaiIHEFcgAEEIaiIIEG5BEHRBEHWyIAOVjhBlIgVB//8DcSEGAkAgBUEQdEEQdUEBSgRAIAAoAgQEQCAIEG5BEHRBEHVBAWqyIAVBEHRBEHWylSEUIAZB//8DakH//wNxIQAgCC4BBLIhAwNAIABBEHRBEHVBf0wNAyAJQwAAAE84AgAgCkMAAADPOAIAIAcgASkCADcCACAHIAEpAgg3AgggByABKQIQNwIQIAcgASwAGDoAGCADIBSTIRMDQCAHEFMiBSgCBCATIAMgDyAQEMMtIAcQViAPKgIAIBAgCSAKEMItIAUgAhBTRw0ACyAJKgIAIhUgCioCACIWXQRAIBOOEGUhBSAEIAguAQAiBiAFIAZBEHRBEHUgBUEQdEEQdUobIBWOEGUQoQEgESAEKAIAIgY2AgAgBCADjRBlIBaNEGUQoQEgEiAEKAIAIgs2AgAgC0EQdiEMIAZBEHYhDSAAQf//A3EEQEH4ABBPIgUiDhBXIA5BCGoQeSAOQRBqEHkgDhCBGCAEIAZB//8DcSANIAtB//8DcSAMEIQDIAUgBCkDADcBCCAFIAw7ATggBSANOwE6IAIgBRDtBwUgBCAGQf//A3EgDSALQf//A3EgDBCEAyAIIAQpAwA3AQALCyAAQX9qQRB0QRB1IQAgEyEDDAAACwALCwsgBCQGCzEBAX8gAEEIaiICIAFBCGoQvAEaIAAgAhCsDCABQRhqIgAgACgCAEGAgICABHI2AgALmwIBCH8jBiEEIwZB8ABqJAYgBEEIaiIHEHkgBEHIAGoiAxBXIARBLGoiBRBXIARBEGoiBiAAEOwBEH0gBCABIAKMEKQBIAYQlAEgAEEkaiEIA0AgBhCOAUUEQCADIAYQcBDUARCWASADEFsDQCADEFlFBEAgByADEFMiABBiIgkpAQA3AwAgBSADKQIANwIAIAUgAykCCDcCCCAFIAMpAhA3AhAgBSADLAAYOgAYA0ACQCADEJcDDQAgByADQQEQjAMiChBiEOUERQ0AIAAgChDFLSAHIAkpAQA3AwAgAxBWDAELCyAAIAUgAyAIKgIAu0QAAAAAAADgP6JB6JT5ACsDAKK2EMQtIAMQVgwBCwsgBhB4DAELCyAEJAYL1wQDEH8BfQF8IwYhBCMGQbABaiQGIARBMGohCiAEQShqIQ4gBEEgaiEIIARBGGohCSAEQRBqIgYQeSAEQYgBaiIFEFcgBEHsAGoiDyAAQQhqEFUgBEHQAGoiECAAQRRqEFUgBEE0aiIHIAAQ7AEQfUGokvkAKwMAIABBJGoiCyoCALuiRAAAAAAAAOA/oBBaIQwgBEMAAIA/IAEgAZRDAACAP5KRIhSVIAGMIBSVEKQBIAQqAgAhASAEKgIEIRQgBEEIaiIAIAIgA4wQpAEgACABIBQQtQQgBxCUASAAKgIAIQEgACoCBCECA0AgBxCOAUUEQCAFIAcQcCIAENQBIg0QlgEgBRBbIABBnAFqIREDQCAFEFlFBEAgBiAFEFMiABBiIhIpAQA3AwAgBhBuQRB0QRB1tyEVQdCS+QArAwAgCyoCALuiIBVjBEAgAEEEaiITKAIAIgBFBEAgCUHG+xk2AgAgCUGPDjYCBEHMs/kAQa37GUECQcfrHCAJEFEgEygCACEACyAAIAEgAhDBLSEAQday+QAtAABBAEcgACARKgIAEGUgCyoCALtEAAAAAAAA5D+iEFoQwC0EQCAPIAUQnwEQoAFB1rL5AC0AAARAQeP7GSAIEEsgCCAAENIBIAgQnQFB9/sZIA4QSyAGEJ0BCwUgEiAMIA0Q5RdB6K/5ACgCAEoEQCAQIAUQnwEQoAFB1rL5AC0AAARAIAogBiAMIA0Q5Rc2AgBB/PsZIAoQSyAGEJ0BCwsLIAAQ1wIgABBMCyAFEFYMAQsLIAcQeAwBCwsgBCQGC/kCAgd/AnwjBiEDIwZB0ABqJAYgA0EQaiEBIANBLGoiBCAAEOwBEH0gBBCUASADQQxqIQYDQCAEEI4BRQRAIAEgBBBwIgUQ1AEQVSABEFtBACECA0AgARBZRQRAIAEQUxBiEGtBEHRBEHUhACABEFYgACACIAIgAEgbIQIMAQsLIANBACACQQFqELEBIAEQWwNAIAEQWUUEQCABEFMQYhBrIgBBEHRBEHVBB0oEQCADIABBEHRBEHVBARCIAQsgARBWDAELCyADEOMBIQkgARBbIAm2u0QAAAAAAADgP6IhCEEAIQADQCABEFlFBEACQCAIIAEQUyICEGIQa0EQdEEQdbdkBEAgAARAIAIgACAFEOMXDQILIAEQlwNFBEAgAiABQQEQjAMgBRDjFw0CCyACKAIEIgciAgRAIAIQ1wIgBxBMCyABEJ8BIgIEQCACEMoEIAIQTAsFIAIhAAsLIAEQVgwBCwsgBigCABCEASAEEHgMAQsLIAMkBgtAAAJAIAAoAgAEQCAAQQRqIgAQWwNAIAAQWQ0CIAAQUygCCCABRwRAIAAQVgwBCwsgABCfASIABEAgABBMCwsLC/4CAhB/AXwjBiEFIwZBMGokBiAFQRBqIQkgAEEUaiIOEMUDIAUiBkEkaiIIIAIoAQA2AgAgCCABLgEAIAFBAmoiDy4BABDNBBogACAILgEAIAhBAmoiEC4BABD5GbsiEzkDKCATnxCcAiEMIAZBIGoiCkECaiERQQAhAkEAIQUDQCADIAAoAgBIBEAgCiAAIAMQZCgBADYCACAKIAEuAQAgDy4BABDNBBogCC4BACILIBAuAQAiByAKLgEAIgQgES4BACISEOcXIQ0CQAJAIANBAEdBACALIAcgBCASEJ4MIgdrIAcgB0EASBsiCyACSnFFDQAgDSAFayIEQQAgBGsgBEF/ShsiBCAAIAMQZCgCBCAMbE4EQCAEIAAgA0F/ahBkKAIEIAxsTg0BCwwBCyAGIAe3IAAgAxBkKAEAIgJB//8DcSACQRB2EO8XIAkgBikDADcDACAJIAYpAwg3AwggDiAJEO4XIAshAiANIQULIANBAWohAwwBCwsgBiQGC4MHAhR/AX4jBiEDIwZBoAFqJAYgA0HIAGohBSADQUBrIgcQeSADQThqIgwQeSADQYABaiIIIAAQ1AEQVSADQeQAaiINIAgpAgA3AgAgDSAIKQIINwIIIA0gCCkCEDcCECANIAgoAhg2AhggA0EIaiIKEKAIIAMgCBCbAyAHIAMpAwAiFzcDACACIAcuAQA2AgBBASEJA0AgCBD/AUUEQCADIAgQmwMgCUEBaiEJIAMpAwAhFwwBCwsgByAXNwMAIAEgCUGAsPkAKAIAEE4iAEEBIABBAUobIgA2AgAgCSAAEGYhDkF/IABBA2wiAEEDdCAAQf////8BSxsQTyELQcKu+QAtAAAEQCAHLgEAIQYgBy4BAiEEIAEoAgAhACAFIAk2AgAgBSAGQRB0QRB1NgIEIAUgBDYCCCAFIAA2AgwgBSAONgIQQY76GSAFEEsLIANB4ABqIQ8gA0HcAGohECAOQQF2IRNBACEEA0AgBCATRwRAIAMgDRCbAyAEQQFqIQQMAQsLIAlBf2ohFUEAIQZBASEFIAQhAANAAkAgChDyDyAEIA5qIhEgE2shFCACIAVBAnRqIRIgBiEEA0ACQCAEIBFOBEAgBCAJSCAFIAEoAgBGcUUNAQsgByAIEJsDIAcuAQIhBiADIAcuAQQgBy4BAGpBAhBOQf//A3EgBhChASAKIAMQigcgBEEBaiIEIBRGIAQgFUZyBEAgEiAHLgEANgIACwwBCwsgCiAPIBAQrQwaIAsgBUEDbCIGQX1qQQN0akQAAAAAAAAAADkDACALIAZBfmpBA3RqIA8qAgC7OQMAIAsgBkF/akEDdGogECoCALs5AwAgBSABKAIATg0AIAoQ8g8gESAOaiISIBNrIREgAiAFQQFqIhZBAnRqIRQDQAJAIAAgEk4EQCAAIAlIIBYgASgCAEZxRQ0BCyAMIA0QmwMgDC4BAiEGIAMgDC4BBCAMLgEAakECEE5B//8DcSAGEKEBIAogAxCKByAAQQFqIgAgEUYgACAVRnIEQCAUIAwuAQA2AgALDAELCyAKIA8gEBCtDBogCyAWQQNsIgZBfWpBA3RqRAAAAAAAAAAAOQMAIAsgBkF+akEDdGogDyoCALs5AwAgCyAGQX9qQQN0aiAQKgIAuzkDACAFQQJqIgUgASgCAEwEQCAEIQYgEiEEDAILCwsgChCnCCADJAYgCwu6BwQOfwF+AX0BfCMGIQQjBkGQAWokBiAEQRhqIQUgBEEQaiIGEHkgBEEIaiIHEHkgBEH0AGoiCCAAENQBIgkQVSAEQdgAaiIKIAgpAgA3AgAgCiAIKQIINwIIIAogCCkCEDcCECAKIAgoAhg2AhggBEE4aiINIgsQVyALQQRqIgwQVyAMIAsQlgEgBCIMIAgQmwMgBiAEKQMAIhI3AwAgAyAGLgEANgIAIAJBATYCACAJEJoCIQRBwq75AC0AAARAIAYuAQAhCSAGLgECIQsgBSAENgIAIAUgCUEQdEEQdTYCBCAFIAs2AghB3foZIAUQSwsgDEEoaiEOAkACQCAEQYCw+QAoAgBMDQAgBEGYsPkAKAIASA0AIAoQWyAAQYgBaiEPIABBjAFqIRBBACEEAkACQANAIARBgLD5ACgCACIFSARAIAcgChCbAyANIAcuAQKyIA8qAgAgBy4BBCAHLgEAardEAAAAAAAA4D+itpSTIBAqAgCTIAQQ5hcgChBZDQIgBEEBaiEEDAELCwwBCyADIAcuAQQ2AgRBACEBDAILQQAhAANAIAAgBUECEE5IBEAgDCAIEJsDIABBAWohACAMKQMAIRJBgLD5ACgCACEFDAELCyAGIBI3AwAgAUEkaiERQQAhCUEAIQEDQCAHIAoQmwNBgLD5ACgCAEECEE4hBSANQQRqIgsQjQMgCyAFQf8BcRCCCioCBCETAkACQEHYlvkAKwMAIBEqAgC7oiIUIBO7YwR/QQEhBQwBBSAUIBOMu2MEf0F/IQUMAgVBAAsLIQUMAQtBASEBCyAFIAlHBEAgAEGYsPkAKAIASgRAIAYuAQAhACACIAIoAgAiCUEBajYCACADIAlBAnRqIAA2AgBBACEACwsgDSAEQYCw+QAoAgBrEMktIAYgCBCbAyANIAcuAQKyIA8qAgAgBy4BBCAHLgEAardEAAAAAAAA4D+itpSTIBAqAgCTIAQQ5hcgAEEBaiELIARBAWohBCAKEFlFBEAgBSEJIAshAAwBCwsgBy4BBCEFIABBmLD5ACgCAE4gAigCACIAQQFGckUEQCACIABBf2oiADYCAAsgAyAAQQJ0aiAFQRB0QRB1NgIAQcKu+QAtAAAEQCAGLgECIQAgBi4BBCEDIA4gAigCADYCACAOIANBEHRBEHU2AgQgDiAAQRB0QRB1NgIIQYn7GSAOEEsLDAELIAgQ9QMgBiAIEFMQYikBADcDACADIAYuAQQ2AgRBACEBCyANQbUCEIIDIAwkBiABCy8BAX8gAEEEaiICKAIAIQADQCAAEHkgAiACKAIAQQhqIgA2AgAgAUF/aiIBDQALC0oBA38gAEEANgIAQSAQTyICQSBqIQMgAiEBA0AgARDpFyABQQhqIgEgA0cNAAsgACACNgIIIABBBDYCBCAAQQA2AgwgAEEANgIQC0sBA38gAEEANgIAQcAAEE8iAkFAayEDIAIhAQNAIAEQmAEgAUEQaiIBIANHDQALIAAgAjYCCCAAQQQ2AgQgAEEANgIMIABBADYCEAu0AgIHfwJ8IABBCGohCSACIQgCQAJAA0ACQCAEQQFqIQcDQCAIIARrIgJBAkgEQCAEIQUMAgsgAkECRg0DIAMoAgAQgQ4gABDeAyACEMgBIARqIAQQ8w8gByEGIAghAiAEIQUDQAJAA0ACQANAIAYgAk4NAyAJKAIAIgogBkEEdGorAwgiCyAKIAVBBHRqKwMIIgwQhgoNASALIAxhBEAgBkEBaiEGDAELCyAAIAJBf2oiAiAGEPMPDAELCyAAIAUgBhDzDyAGQQFqIQYgBUEBaiEFDAELCyAFIAFKBEAgBSEIDAELCyACIAFMBEAgAiEEDAILCwsMAQsgBCABSCEBIAkoAgAiACAEQQR0aisDCCAAIAdBBHRqKwMIEIYKBH8gByAEIAEbBSAEIAcgARsLIQULIAULPAEDfyAAQRRqIgMoAgAhBEEAIQADQCACIARIBEAgACADIAIQ1QMrAwggAWRqIQAgAkEBaiECDAELCyAAC6EBAgN/AnwgAEEUaiIBKAIAIgMEfANAIAIgA0gEQCABIAIQ1QMrAwhEAAAAAAAAAABjBEAgASACENUDKwMImiEEIAEgAhDVAyAEOQMICyACQQFqIQIMAQsLIAEgASADQQNsQQQQThDxFxDVAysDCCEEIAArAygiBUQAAAAAAAAAAGQEfCAEIASiIAWjBUQAAAAAAAAAAAsFRAAAAAAAAAAACwvbAQIIfwF8IwYhBCMGQTBqJAYgBEEQaiEGIABBFGoiCRDFAyAAIAEqAgAgAUEEaiIKKgIAEJ8JuzkDKCAEQSBqIghBBGohCwNAIAUgACgCAEgEQCAIIAAgBRBkKAEAIgdB//8DcSAHQRB2EMEDIAEqAgAgCioCACAIKgIAIAsqAgAQswa7IgwgAmZFIAwgA2VFckUEQCAEIAwgACAFEGQoAQAiB0H//wNxIAdBEHYQ7xcgBiAEKQMANwMAIAYgBCkDCDcDCCAJIAYQ7hcLIAVBAWohBQwBCwsgBCQGC2oDAX8BfQJ8IABBDGoiAyAAKwMAIgYgAUEQdEEQdbciBaIgBaIgAyoCACAAQQhqIgAqAgAiBCABQRB0QRB1spSTu6AgAkEQdEEQdbegtjgCACAAIAS7IAZEAAAAAAAAAECiIAWiobY4AgALzQYCF38FfSMGIQgjBkHAAWokBiAIQagBaiELIAhBkAFqIRAgCEH4AGohESAIQegAaiETIAhBCGoiDRCvDCAEQf8BcSEVIAhBBGohFiANQRBqIRcgDUEYaiEYIAhBBGohGSAIQQRqIRogBCEOA0AgCSABSARAIA4gAiAJaiIbLAAARgR/IBJBAWoFAkAgDiAERyASQQJKcQRAIA0QrwwgCiEHA0AgByAJSARAIAAgB0EDdGoiBi4BACEMIAggBi4BBCAMardEAAAAAAAA4D+itiAGLgECshCkASANIAgqAgC7IBYqAgC7EK4MIAdBAWohBwwBCwsgDUEBEPYXIBcrAwC2IR4gGCsDALYhH0HCrvkALQAABEAgEyAeuzkDACATIB+7OQMIQYP4GSATEEsLQQAhBkEAIQdBASEMA0ACQCAGDQAgDCAJaiIPIAFKIhwgCiAMayIGQX9KIhRBAXNxDQAgFAR/IAIgBmosAAAgBEYEfyAAIAZBA3RqIgYuAQAhFCAIIAYuAQQgFGq3RAAAAAAAAOA/orYgBi4BArIQpAEgCCoCACIgIB6UIB+SIBkqAgAiIZMhHUHCrvkALQAABEAgESAduzkDACARICC7OQMIIBEgIbs5AxBBnPgZIBEQSwsgByAdIAVdIB2MIAVdcXIhB0EBBUEACwVBAAshBiAcRQRAIAIgD0F/aiIPaiwAACAERgRAIAAgD0EDdGoiBi4BACEPIAggBi4BBCAPardEAAAAAAAA4D+itiAGLgECshCkASAIKgIAIiAgHpQgH5IgGioCACIhkyEdQcKu+QAtAAAEQCAQIB27OQMAIBAgILs5AwggECAhuzkDEEGc+BkgEBBLC0EBIQYgByAdIAVdIB2MIAVdcXIhBwsLIAxBAWohDAwBCwsgBwRAQcKu+QAtAAAEQCAAIApBA3RqIgcuAQAhBiAHLgECIQcgCyASNgIAIAsgBDYCBCALIA42AgggCyAGNgIMIAsgBzYCEEHP+BkgCxBLCyADIA5BAnRqIgcgBygCACASazYCAANAIAogCU4NAyACIApqIBU6AAAgCkEBaiEKDAAACwALCwsgCSEKIBssAAAhDkEBCyESIAlBAWohCQwBCwsgCCQGC9IBAwV/BH0BfEMAAABPIQogAC4BACEGA0AgBCABSARAIAAgBEEDdGoiBS4BACEIIAMgBEECdGogAiAGtyAFLgEEIAhqQQF1Iga3Ig0Q9Q8gDLugtiIMIAUuAQKyuyACIA0QqgKhtpIiCzgCACAEQQJLBEAgCSADIARBfWpBAnRqKgIAIgmMIAkgCUMAAAAAXRuTIQkLIARBf2ogByAEQQFLIAuMIAsgC0MAAAAAXRsgCZIiCSAKXXEiBRshByAJIAogBRshCiAEQQFqIQQMAQsLIAcLYgEBfyAEKAIAIQUDQCAFIAFKBEAgACAFQQFqQQJ0aiAAIAVBAnRqKAIANgIAIAVBf2ohBQwBCwsgBCAEKAIAQQFqNgIAIAAgAUECdGogAjYCACAAIAFBAWpBAnRqIAM2AgALwQYDCX8BfQJ8QdKt+QAsAAAhCQJAAkACQANAIAdBCk8NAiABIAdBAnRqIQpBACEGA0AgBkEKSQRAAkAgCigCACIIBEAgASAGQQJ0aigCACILBEAgBCAIEK4BIAVKBEAgCUH/AXFFIg5FBEAgAyALQQJ0aigCACIMIAMgCEECdGooAgAiDSAMIA1IGyACIAtBAnRqKAIAIgwgAiAIQQJ0aigCACINIA0gDEgbTA0ECyALsiIPIAiylbsiEEQzMzMzMzPzP2QgEETNzMzMzMz8P2NxDQcLCwsLIAZBAWohBgwBCwsgB0EBaiEHDAAACwALIAQgCBCuAbdEAAAAAAAA4D+iIRAgCCEFA0AgBUEBaiEHQQAhBgNAAkAgBkEKTwRAQQAhBgwBCwJAIAEgBkECdGooAgAgB0YEQCAORQRAIAMgC0ECdGooAgAiCSADIAhBAnRqKAIAIgogCSAKSBsgAiALQQJ0aigCACIJIAIgCEECdGooAgAiCiAKIAlIG0wNAgsgDyAHspW7IhFEMzMzMzMz8z9kIBFEzczMzMzM/D9jcQRAIBAgBCAHEK4Bt2MEQEEBIQYgByEFDAQLCwsLIAZBAWohBgwBCwsgBg0ACyAFsiEPIAQgCxCuAbdEAAAAAAAA4D+iIRAgCyEFA0ACQEEAIQYDQAJAIAZBCk8NAgJAIAEgBkECdGooAgAiByAFSgRAIA5FBEAgAyALQQJ0aigCACIJIAMgCEECdGooAgAiCiAJIApIGyACIAtBAnRqKAIAIgkgAiAIQQJ0aigCACIKIAogCUgbTA0CCyAHsiAPlbsiEUQzMzMzMzPzP2QgEUTNzMzMzMz8P2NxBEAgECAEIAcQrgG3Yw0DCwsLIAZBAWohBgwBCwsgByEFDAELCyAAIA84AiwgACAFsiAPkzgCNAwBCyAEIAEoAgAiAhCuAbdEAAAAAAAA4D+iIRADQCACQQFqIQNBASEFA0ACQCAFQQpPBEBBACEFDAELIAEgBUECdGooAgAgA0YEQCAQIAQgAxCuAbdjBEBBASEFIAMhAgwCCwsgBUEBaiEFDAELCyAFDQALIABDAAAAADgCNCAAIAKyQwAAgL8gAhs4AiwLC6gBAQh/QSBBDEHSrfkALQAAGyEIQf////8HIQQDQCAFQQpHBEBBACEDQQAhAgNAIAJByAFHBEACQCAAIAIQrgEiBiAAIAMQrgFKBEAgBiAETgRAIAIgCUogBiAERnFFDQILIAIhAwsLIAJBAWohAgwBCwsgACADEK4BIgQgB2ohByABIAVBAnRqIANBACAEIAcgCBBOShs2AgAgBUEBaiEFIAMhCQwBCwsLwgUDC38EfQF8IwYhBiMGQbANaiQGIAZB8AxqIQggBkGgDWoiCUEAQcgBELEBAn8gAEEsaiIKKgIAIRQgBkHQBmoiDUEAQaAGEIwBGiAGQTBqIg5BAEGgBhCMARogA7JDAACAPpQhESACtyEVQQAhAgNAIAwgBEgEQCABIAxBA3RqIgcuAQAhA0EIQQEgBSAHLgEEIANqIhBBAhBOIgu3EKoCtiITIAcuAQKyk4tDAAAAQF9B0q35AC0AAEEAR3EbIQ8gBy4BBrIgE5O7RAAAAAAAAOA/oBBaIQMgESAHEGtBEHRBEHWyXQRAQcCP+QArAwAgFaIgA7djBEBB0K/5ACgCACADSARAIAkgAyAPEIgBIANByAFIBEAgCyAOIANBAnRqIgcoAgBKBEAgByALNgIACyAQQQFKBEAgDSADQQJ0aiIDKAIAIgdFIAsgB0hyBEAgAyALNgIACwsLCwsgDyACaiECCyAMQQFqIQwMAQsLAn8CQEGYj/kAKwMARAAAAAAAAPA/ZA0AQeKt+QAtAAANACAEDAELIAILt0SamZmZmZm5P6IQWiEDQcKu+QAtAAAEQCAIIAQ2AgAgCCACNgIEIAggAzYCCEGh9RkgCBBLCyAGQYgNaiEEIAZBgA1qIQIgCSAGENktQcKu+QAtAAAEQEEAIQEDQCABQQpJBEAgBiABQQJ0aigCACEFIAIgATYCACACIAU2AgRByfUZIAIQSyABQQFqIQEMAQsLQcKTHyAEEEsLIAZBkA1qIQEgACAGIA0gDiAJIAMQ2C1Bwq75AC0AAARAIAEgCioCALs5AwBB1vUZIAEQSwsgBkGYDWohACAKKgIAIhFDAAAAAF0EQEHCrvkALQAABEAgACARuzkDAEHp9RkgABBLCwsgFEMAAAAAXkULBEAgCiAKKgIAjDgCAAsgCSgCDBCEASAGJAYL6QMDBH8FfQJ8IwYhCCMGQRBqJAYgCEEAQawCELEBIANBAUoEQCACtyEPA0AgByADRwRAIAQgASAHQQN0aiIGLgEEIAYuAQBqQQIQTrcQqgIhECAGLgEGtyAQoUQAAAAAAADgP6AQWiEGQcCP+QArAwAgD6IgBrdjBEBB0K/5ACgCACAGSARAIAggBkEBEIgBCwsgB0EBaiEHDAELCyAIKAIIQQNKBEAgCEQAAAAAAADQPxDOARBaIgJBAUgEQCAIRAAAAAAAAOA/EM4BEFohAgsLBSABLgEGtyAEIAEuAQQgAS4BAGpBAhBOtxCqAqFEAAAAAAAA4D+gEFohAgsgArIiCiAFkiENIAogBZMhDkEAIQJDAAAAACEFQQAhB0EAIQYDQCAGIANIBEAgBCABIAZBA3RqIgkuAQQgCS4BAGpBAhBOtxCqAiEPIA0gCS4BBrcgD6G2IgtdBEAgB0EBaiEHIAwgC5IhDAUgDiALXQRAIAJBAWohAiAFIAuSIQULCyAGQQFqIQYMAQsLIAUgArKVIAogAkEAShsiBSAAQSxqIgEqAgCUIQogASAKOAIAIAAgDCAHspUgBZNDAAAAACAHQQBKGzgCNCAKQwAAAABbBEAgAUMAAIC/OAIACyAIKAIMEIQBIAgkBgvyAwIJfwF9QQJBASAAQQRqIgooAgAiBCgCACACSiIFGyAFIAQgACgCACIIQQJ0aigCACADSBsiBQRAQX8gBSAIaiIFQQFqIgZBAnQgBkH/////A0sbEE8hCUF/IAVBBHQgBUH/////AEsbEE8hByAEKAIAIgYgAkoEfyAJIAI2AgAgB0QAAAAAAAAAADkDACAHIAG2Ig04AgggByAAIAQoAgC3EKoCIA0gCigCACICKAIAIgSylLuhtjgCDCAAKAIAIQhBAQUgBCECIAYhBEEACyEFIABBCGohC0EAIQYDQCAJIAVBAnRqIAQ2AgAgBiAISARAIAcgBUEEdGoiBCALKAIAIAZBBHRqIgwpAwA3AwAgBCAMKQMINwMIIAZBAWoiBCEGIAVBAWohBSACIARBAnRqKAIAIQQMAQsLAkACQCACIAhBAnRqKAIAIgQgA0gEQCAHIAVBBHRqRAAAAAAAAAAAOQMAIAcgBUEEdGogAbYiDTgCCCAHIAVBBHRqIAAgBLcQqgIgDSAKKAIAIgIgACgCAEECdGooAgCylLuhtjgCDCAJIAVBAWoiBEECdGogA0EBajYCACAAIAQ2AgAgAg0BBSAAIAU2AgAMAQsMAQsgAhBMCyALKAIAIgAEQCAAEEwLIAogCTYCACALIAc2AgALC+UCAgd/An0jBiEJIwZBIGokBgNAIAcgBUgEQCAJIAdBAnRqQwAAAAA4AgAgB0EBaiEHDAELCyAAQdwAaiENQQAhBwNAIAsgAkgEQCABIAtBA3RqIQggAyALai0AACIKIAZGBEBBACEIBSAJIApBAnRqIgogCC4BArcgDSAILgEEIAguAQBqQQF1txCqAqEgCioCALugtjgCACAMQQFqIgohCCAHIAogDCAHSBshBwsgC0EBaiELIAghDAwBCwsgAEMAAIC/QwAAgD8gB0ECShs4AixBACEBQQAhAgNAIAIgBUgEQAJAIAIgBkcEQCAEIAJBAnRqKAIAIgNFBEAgCSACQQJ0akMAAAAAOAIADAILIAkgAkECdGoiByoCACADspUhDiAHIA44AgAgAyABSiEHIA5DAAAAwF8EQCAOIA8gBxshDyADIAEgBxshAQsLCyACQQFqIQIMAQsLIAAgDzgCOCAJJAYLhggDEX8DfQJ8IwYhESMGQTBqJAYgEUEgaiEOIBFBCGohD0EBIRIDQAJAA0ACQCAEKAIAIgxBf2ohBSASIQ0DQCANIAVODQMgACADIA1BAnRqKAIAIhMgAyANQX9qQQJ0aigCACIHardEAAAAAAAA4D+iIhogAyANQQFqIhJBAnRqKAIAIgogE2q3RAAAAAAAAOA/oiIZEPUPtiIWjCAWIBZDAAAAAF0bIAFeRQRAIBIhDQwBCwsDQCAIQQFqIQUgAiAIQQJ0aigCACIJIAdIBEAgBSEIDAELCyAIIQUgCSEGA0AgBUEBaiEHIAYgE0gEQCACIAciBUECdGooAgAhBgwBCwsgBSEHIAYhCwNAIAdBAWohBiALIApIBEAgAiAGIgdBAnRqKAIAIQsMAQsLIAxBFkoEQEGyrvkALQAABEBBjvYZIBEQSwsFIAcgCGtBgLD5ACgCACIQQQNsIgZODQFBsq75AC0AAARAIA4gCDYCACAOIAU2AgQgDiAHNgIIIA4gEDYCDEHn9hkgDhBLCwsMAQsLIAcgCCAGQQIQTiIGIAUgCGsiBSAGIAVKG2prIQUgByAGIAUgBiAFShtrIgwgCEEBdGpBAxBOIQUgDCAHQQF0akEDEE4hFSAJQQF0IAIgDEECdGooAgAiBmq3RAAAAAAAAAhAo7YhFyACIAdBAnRqKAIAQQF0IAZqt0QAAAAAAAAIQKO2IRgDQCACIAVBAnRqKAIAIgayIBdeIAUgCGsgEEpxBEAgBUF/aiEFDAELCwNAAkAgBrIiFiAXXUUNACAMIAVrIBBBAhBOTA0AIAVBAWoiBiEFIAIgBkECdGooAgAhBgwBCwsgBUF/aiIGIAUgFiAXkyAXIAIgBkECdGooAgCyk14bIQogFSEFA0ACQCACIAVBAnRqKAIAIgayIBheRQ0AIAUgDGsgEEECEE5MDQAgBUF/aiEFDAELCwNAIAayIhYgGF0gByAFayAQSnEEQCAFQQFqIgYhBSACIAZBAnRqKAIAIQYMAQsLIAVBf2oiByAFIBYgGJMgGCACIAdBAnRqKAIAspNeGyEJQbKu+QAtAAAEQCAAIBogGRD1DyEZIAIgCkECdGoiCygCACACIApBf2pBAnRqIgYoAgBqQQIQTiEKIAIgCUECdGoiBygCACACIAlBf2pBAnRqIgUoAgBqQQIQTiEJIA8gEzYCACAPIBk5AwggDyAKNgIQIA8gCTYCFEG39hkgDxBLBSACIApBf2pBAnRqIQYgAiAKQQJ0aiELIAIgCUF/akECdGohBSACIAlBAnRqIQcLIAMgDSALKAIAIAYoAgBqQQIQTiAHKAIAIAUoAgBqQQIQTiAEENctQQEhFAwBCwsgESQGIBQLxAkBDX8jBiEHIwZBkAFqJAYgB0HgAGohCyAEIAAoAgBBf2o2AgAgACADQX9qQQJ0aigCACERAkBBACADIAJBAkgbIgJBA0oEQCACQX9qIQxBACECQQAhA0EBIQYDQAJAIAEgCEECdGohCiAGIQUDQAJAIAUgDEggAkEWSCIGcUUNAiAFQQFqIQYCQCABIAVBf2pBAnRqKAIAIg0gASAFQQJ0aigCACIJSgRAIAkgASAGQQJ0aigCAEwEQCAJIAooAgBBf2pOBEAgBSADIAkgASADQQJ0aigCAEgbIQMMAwsgAgRAIAcgAkF/akECdGooAgAgCEYEQCAFIQMMBAsLIAcgAkECdGogCDYCACAFIQMgAkEBaiECCwsLIA0gCUgEQCAJIAEgBkECdGooAgBODQELIAYhBQwBCwsCQCAJIAEgA0ECdGooAgBBAWpKBEAgAgRAIAcgAkF/akECdGooAgAgA0YNAgsgByACQQJ0aiADNgIAIAJBAWohAgUgBSAIIAkgCigCAEobIQULCyAFIQgMAQsLAkAgASAFQQJ0aigCACIJIAooAgAiCkF/akgEQCACBEAgByACQX9qQQJ0aigCACAIRg0CCyAGRQ0DIAcgAkECdGogCDYCACACQRVGBEBBFiECDAQLIAcgAkEBakECdGogBTYCACACQQJqIQIMAwsLAkAgCSABIANBAnRqKAIAIgxBAWpKBEAgAgRAIAcgAkF/akECdGooAgAgA0YNAgsgBkUNAyAHIAJBAnRqIAM2AgAgAkEVRgRAQRYhAgwECyAHIAJBAWpBAnRqIAU2AgAgAkECaiECDAMLCyACQQBKBEAgBiAHIAJBf2pBAnRqKAIAIg0gA0ZxBEAgAkEBaiEPIAcgAkECdGohAiAJIApKBEAgAiAFNgIABSACIAg2AgALIA8hAgwDCyAGIA0gCEZxBEAgAkEBaiEQIAcgAkECdGohAiAJIAxIBEAgAiAFNgIABSACIAM2AgALIBAhAgsLBUEAIQILCyACQQBKQcKu+QAtAABBAEdxBEAgACAHKAIAIgNBAnRqKAIAIQUgASADQQJ0aigCACEGIAsgAzYCACALIAU2AgQgCyAGNgIIQaT3GSALEEsLIAdB8ABqIQggEUEBaiEOQQEhBgNAIAYgAkgEQCABIAcgBkECdGooAgAiCUECdGoiDCgCACIFIAEgByAGQX9qQQJ0aigCACILQQJ0aigCACINakECEE4hCiALQQFqIQMCQCANIAVIBEADQCADIAlODQIgASADQQFqIgVBAnRqKAIAIApMBEAgBSEDDAELCwUDQCADIAlODQIgASADQQFqIgVBAnRqKAIAIApOBEAgBSEDDAELCwsLIAQgBkECdGogACADQX9qIgVBAnRqIgooAgBBAmogACADQQJ0aigCAGogACALQQJ0aigCAGogACAJQQJ0aiIDKAIAakEEEE4iCzYCAEHCrvkALQAABEAgAygCACEDIAwoAgAhDCAKKAIAIQogCCAGNgIAIAggCTYCBCAIIAM2AgggCCAMNgIMIAggBTYCECAIIAo2AhQgCCALNgIYQcH3GSAIEEsLIAZBAWohBgwBCwsgBCAGQQJ0aiAONgIAIAckBiAGC2QBBH8DQCAGIAFIBEAgAiAGaiwAACADRgRAIAAgBkEDdGoiCC4BACEJIAQgB0ECdGogCC4BBCAJakEBdTYCACAFIAdBAnRqIAguAQI2AgAgB0EBaiEHCyAGQQFqIQYMAQsLIAcLrAQCCX8BfSMGIQgjBkFAayQGIAhBKGohDCAIQRhqIQogCCIPQThqIQ0gCEE0aiEOQQAhCANAIAhBBkcEQCAEIAhBAnRqQQA2AgAgCEEBaiEIDAELCyAAIAEgBSAHENYtIQUgAkEBNgIAIA1DAAAAADgCACAOQwAAAAA4AgAgBSEJQX8hCANAIAkgAUgEQCAHIAlBAnRqKgIAIRFBwq75AC0AAARAIAAgCUEDdGoiCy4BACEQIAsuAQIhCyAKIAk2AgAgCiAQNgIEIAogCzYCCEH39xkgChBLCyADIAlqIBEgDyAIIAYgDSAOIAIQ9RciCDoAACAEIAhBAnRqIgsgCygCAEEBajYCACAJQQFqIQkMAQsLIA1DAAAAADgCACAOQwAAAAA4AgAgBCAEKAIAQX9qNgIAIAUhCEF/IQUDQCAIQX9KBEAgByAIQQJ0aioCACERQcKu+QAtAAAEQCAAIAhBA3RqIgkuAQAhCiAJLgECIQkgDCAINgIAIAwgCjYCBCAMIAk2AghB9/cZIAwQSwsgAyAIaiARIA8gBSAGIA0gDiACEPUXIgU6AAAgBCAFQQJ0aiIJIAkoAgBBAWo2AgAgCEF/aiEIDAELCyACKAIAIQdBACECQQEhBQNAIAUgB0gEQCACIAUgBCAFQQJ0aigCACAEIAJBAnRqKAIASBshAiAFQQFqIQUMAQsLQYKu+QAtAAAEQCAAIAEgAyAEIAIgBhDVLQsgDyQGIAILiggDDH8KfQF8IwYhByMGQbACaiQGIAdBwAFqIQ4gB0HgAGohDCAHIglBnAJqIQogB0GoAmoiEBCYASAALgEAIhEhCyAAIAFBf2pBA3RqIg8uAQQiDSEHAkACQCAERQ0AIAQoAgAiCEEDSA0AIAcgC2u3RJqZmZmZmbk/oiIdIBG3oCAEKAIEIgcoAgS3Yw0AIA1BEHRBEHW3IB2hIAcgCEF/akECdGooAgC3ZA0AIAUgBBClBRogCkEAIAAuAQK3IAQgAC4BBLcQqgKhEFoQoQEgECAKKAIAIgA2AgAgBSAAQf//A3EgAEEQdhD0FwwBC0GirvkALQAARQRAIAkgAC4BAEF/ajYCAEEAIQgDQCAIIAFIBEAgACAIQQN0aiIHLgEAIQQgAiAIQQJ0aiAHLgEEIARqQQIQTjYCACADIAhBAnRqIAcuAQI2AgAgCEEBaiEIDAELCyAJIA8uAQRBAWo2AgQgCiAJQQEgAiADIAFBARD0DyAFIAoQpQUaIAoQ+gUgAUECSgRAIAMoAgC3IAUgAigCALcQqgKhtiEaQQAhB0EAIQggAygCBLcgBSACKAIEtxCqAqG2IRNBACEEQQIhCwNAIAsgAUcEQCADIAtBAnRqKAIAtyAFIAIgC0ECdGooAgC3EKoCobYhGyATIBqTIhWMIBUgFUMAAAAAXRsgBl0EfSATIBuTIhWMIBUgFUMAAAAAXRsgBl0EfSAHQQFqIRICQAJAIAdBAUoEfSAXIBZdRSAWIBNgRXIEQCAXIBZeRSAEQRVIIBYgE19xRXINAgUgBEEVTg0CCyAMIARBAnRqIAg2AgAgDiAEQQJ0aiAWOAIAIARBAWohBAwBBSAHBH0MAgUgEyIUCwshGQwBCyATIBQgEyAUXhshGSATIBggEyAYXRshFAsgEiEHIAAgC0F/akEDdGouAQQhCCAWIRcgFCEYIBkhFCATBSAWCwUgFgshHCATIRkgHCEWIBshEyALQQFqIQsgGiEVIBkhGgwBCwsgFCAYkyAGu0QzMzMzMzPzP6K2IhdeBEAgGCAXkiEYIBQgF5MhFCAVIQZBACEHQQEhAANAIAcgBEgEQAJAIA4gB0ECdGoqAgAiEyAYXiATIBRdcgRAIABBAUcEQCATIAYgF5JeIBMgBiAXk11yRQRAIAYgGF4gEyAGXnFFBEAgBiAUXSATIAZdcUUNBAsgCSAAQX9qQQJ0aiAMIAdBAnRqKAIANgIAIBMhBgwDCwsgCSAAQQJ0aiAMIAdBAnRqKAIANgIAIBMhBiAAQQFqIQALCyAHQQFqIQcMAQsLIAkgAEECdGogDy4BBEEBajYCACAKIAkgACACIAMgAUEBEPQPIAUgChClBRogChD6BQsLCwsgCSQGC6QDAwx/An0BfCMGIQUjBkHwAGokBiAFQdgAaiEJIAVB1ABqIQwgBUHIAGohBiAFQeAAaiIOEJgBIAVBGGoiChCgCCAALgEAIQ8gACABQX9qQQN0ai4BBCEQA0AgCyABSARAIAAgC0EDdGoiDS4BACEHIA0uAQIhCCAGIA0uAQQgB2pBAhBOQf//A3EgCBChASAKIAYQigcgC0EBaiELDAELCyAKIAS7IhMgDBDzFxogCSAPIgc2AgAgCSAQIgg2AgQgBUQAAAAAAAAAADkDACAFIBM5AwggBSAMKgIAIhG7OQMQIAZBASAJIAUQ+QkgAyAGEKUFGiAGEPoFIAIEQCACKAIAIgFBAkoEQCAIIAdrt0SamZmZmZm5P6IiEyAHt6AgAigCBCIAKAIEt2YEQCAItyAToSAAIAFBf2pBAnRqKAIAt2UEQCADIAIQpQUaIAZBACAIIAdqt0QAAAAAAADgP6K2IhIgBJQgEZK7IAIgErsQqgKhEFoQoQEgDiAGKAIAIgA2AgAgAyAAQf//A3EgAEEQdhD0FwsLCwsgChCnCCAFJAYLgAMCB38DfCMGIQgjBkFAayQGIAhBGGoiCSAAENQBEFUgCEEIaiIKQQBBrAIQsQEgCRC1AQR/QQAFIAkQWyABt0QAAAAAAADQP6IhDEEAIQBBACEBA0AgCCAJEJsDIAIgBkEDdGoiByAIKQMANwEAIAwgBxBrIgVBEHRBEHW3YwRAIAogBUEQdEEQdUEBEIgBCwJ/AkAgBkUNACAMIAcQa0EQdEEQdbdjDQAgCRBZDQAgBxBrIQUgBxBuQRB0QRB1tyENQZiP+QArAwAiDiANoiAFQRB0QRB1t2QEQCAHEG4hBSAOIAcQa0EQdEEQdbeiIAVBEHRBEHW3ZARAIAZBAWohBkEADAMLCyAAIAFBAWoiBSABIABIGyEAIAUMAQsgBkEBaiEGQQALIQEgCRBZRQ0ACyADIABBvK35ACgCAEo6AAAgBCAGNgIAIAooAghBAUoEfyAKRAAAAAAAANA/EM4BEFoFIAIQa0EQdEEQdQsLIQsgCigCDBCEASAIJAYgCwsqACAAQQA2AgAgAEEANgIEIABBADYCCCABBEAgACABEKUNIAAgARDNLQsLMgEBfyAAQQRqIgIoAgAhAANAIABBADYCACACIAIoAgBBBGoiADYCACABQX9qIgENAAsLwQUDBX8IfQV8A0AgBSABSARAIAAgBUECdGooAgAiBCoCNCELIAQqAiwhDCALQwAAAABeBEAgA0EBaiEDIAggC5IhCCAJIAySIQkFIAZBAWohBiAKIAySIQoLIAcgBCoCOCIMQwAAAABdIgRqIQcgDSAMkiANIAQbIQ0gBUEBaiEFDAELCwJ9AkAgA0EATA0AIAMgBkhB8q35AC0AAEEAR3ENACAJIAOyIgqVIgkgCCAKlZIhCCAJu0QzMzMzMzPzP6IiECAIu2QEfSAQtgUgCAshCyAJDAELIAogBrKVIgkhCyAJu0RmZmZmZmbmP6K2CyEIAn0CQCAHRQ0AQfKt+QAtAABBAEchAyAHIAFBAhBOSCADcQ0AIA0gB7KVDAELIAhDAAAAv5QLIQ4gCEMAAAAAXgRAIAIoAhggCyAOkyAIlTgCLAsgCLsiEESamZmZmZnJP6K2IQ8gCEMAAIC+lCENIBBEMzMzMzMz6z+iIREgEERmZmZmZmbyP6IhEiALuyIQRDMzMzMzM+s/oiETIBBEZmZmZmZm8j+iIRQgCyAIkyEMQQAhBQNAIAUgAUgEQCAAIAVBAnRqKAIAIgZBCWoiAkEAOgAAIAZBNGoiBCoCACAGQSxqIgMqAgAiCZW7RJqZmZmZmck/YwRAIBEgCbsiEGVFIBIgEGZFcgRAIBMgEGVFIBQgEGZFcgRAIAQgDCAJlCALlSIKOAIAIAMgCSAKkyIJOAIAIAJBAToAAAUgBCAJIAiTIgo4AgAgAyAIOAIAIAJBAToAACAIIQkLBSAEIAw4AgAgAyAIOAIAIAwhCiAIIQkLIAogD10EQCAEIAm7RN22bdu2bds/orY4AgALCyAGQThqIgIqAgAgDV4EQCACIAlDAAAAv5QgDiARIAm7IhBlRSASIBBmRXIbOAIACyAFQQFqIQUMAQsLIAgQZQvfAwIJfwF9A0AgBSADSARAAkAgAiAFQQJ0aigCACIGQSxqIgoqAgAiDUMAAAAAXQRAIAZB3ABqIQcgBkHgAGohCyAFQX5qIQgDQAJAIAhBf0wEQEEAIQkMAQsgAiAIQQJ0aigCACIEKgIsQwAAAABdRQRAIAcoAgAgCygCACAEQdwAahD4FwRAQQEhCQwCCwsgCEF/aiEIDAELCyAFIQQDQAJAIARBAWoiBCADTgRAQQAhBwwBCyACIARBAnRqKAIAIgwqAixDAAAAAF1FBEAgBygCACALKAIAIAxB3ABqEPgXBEBBASEHDAILCwwBCwsgCQRAIAAgASAGQQIgAiAIQQJ0aigCAEHcAGoQoQggCioCACENCyANQwAAAABdRSAHQQFzckUEQCAAIAEgBkECIAIgBEECdGooAgBB3ABqEKEIIAoqAgAhDQsgDUMAAAAAXQRAIAkEQCAAIAEgBkEBIAIgCEECdGooAgBB3ABqEKEIDAMLIAcEQCAAIAEgBkEBIAIgBEECdGooAgBB3ABqEKEICwsLCyAFQQFqIQUMAQsLQQAhAANAIAAgA0gEQCACIABBAnRqKAIAQSxqIgEqAgAiDUMAAAAAXQRAIAEgDYw4AgALIABBAWohAAwBCwsL8AEBBX8jBiEEIwZBMGokBiAEQQxqIgMgARDsARB9IAMQkAciBQRAIAQgBRD5FyADEJQBIAQoAgAhBgNAIAMQjgFFBEAgBiAHQQJ0aiADEHA2AgAgAxB4IAdBAWohBwwBCwsgACABIAYgBRDoLQJAAkBB0q75AC0AAA0AQfax+QAtAAANACAAIAEgAhCCGAwBCyABQTBqIgAgBiAFIAEQ5y0iA7IiAjgCACADQQFIBEAgACABKgIkQwAAAD+UIgI4AgALIAJB0K/5ACgCALIiAl0EQCAAIAI4AgALCyAEELoCBSABIAEoAiQ2AjALIAQkBgvyAQIGfwF9IwYhAyMGQUBrJAYgA0EkaiIEIAEQ7AEQfSADQQhqIgcQVyAEEJQBA0AgBBCOAUUEQCAAIAEgBBBwIgVBAkEAEKEIIAZBAEcgBUEsaiIIKgIAIglDAAAAAF9xBEAgACABIAVBAiAGEKEIIAgqAgAhCQsgCUMAAAAAXgR/IAVB3ABqBSAHIAUQ1AEQlgFBsq75AC0AAARAIAcQUxBiLgEAIQggBxBTEGIuAQIhBiADIAg2AgAgAyAGNgIEQbD0GSADEEsLQQALIQYgBBB4DAELCyAAIAEgAhDpLSABKAIYIAEqAjAQZRDoBCADJAYL2AEBA38jBiECIwZBEGokBiACAn8CQCAAIAEgAkEMaiIEQX8gABDUARCaAkEBaiIBQQJ0IAFB/////wNLGxBPIgMQzC1FDQBBlrL5AC0AAA0AQaay+QAtAAANACAAIAQgAxDLLSEBIAQoAgAMAQsgAyADIAQoAgBBAnRqKAIANgIEIARBATYCAEEYEE8iAUQAAAAAAAAAADkDACABIAAqAogBuzkDCCABIAAqAowBuzkDEEEBCyADIAEQ+QkgAEHcAGogAhClBRogAhD6BSABEEwgAxBMIAIkBgvpAwMGfwN9AXwjBiEFIwZBQGskBiADEKYNIQRBiJH5ACsDACINIASyIAAqAiwiCpW7ZARAIA0gCruiRAAAAAAAAOA/oJwQWiEECyADEL0RIQZB4JD5ACsDACINIAayIAqVu2MEQCANIAq7opwQWiEGCyAFQSBqIQggBUEQaiEHA0AgBCAGTARAIAMgBBCuASAJaiEJIARBAWohBAwBCwtBuJD5ACsDACAKuyINokQAAAAAAADgP6CcEFohBEGQkPkAKwMAIA2inBBaIQMgCCAAENQBEFUgByAEIANBAWoQsQEgCBBbIASyIQwgA7IhCiAAQZQBaiEEA0AgCBBZRQRAIAgQUyIAKAIYEMgCRQRAIAAQYiIGLgEAIQMgBCoCACAGLgEEIANBEHRBEHVqskMAAAA/lCABlJIgBi4BArKTIgsgDGBFIAsgCl9FckUEQCAHIAu7RAAAAAAAAOA/oJwQWkEBEIgBCwsgCBBWDAELCyAHIAcQrwciABCuASEDQQAgAGtBAEEAIAMgArJBsJH5ACsDAEHYkfkAKwMAoLaUIAMgCWqyXhsiAEEAShshAkHGsfkALQAABEAgBSACNgIAIAUgCTYCBCAFIAA2AghB+vMZIAUQSyAHEOAICyAHKAIMEIQBIAUkBiACC6ICAQh/QQEgAWsgAmohCiADQSxqIQtBfyEFQf////8HIQIDQCAIIApIBEACfyAAIAggAWoiBhCuASIHQQBKBH8gByACSCEJIARBDEgEQCADIARBAnRqIAY2AgAgByACIAkbIQIgBCAFIAkbIQUgBEEBagwCCyAJBH8gBAUDQCAFQQtIBEAgAyAFQQJ0aiADIAVBAWoiBUECdGooAgA2AgAMAQsLIAsgBjYCACAHIAJGBH9BCyEFIAQFQQEhBCAAIAMoAgAQrgEhAkEAIQUDfyAEQQxGBH9BDAUgBCAFIAAgAyAEQQJ0aigCABCuASIGIAJIIgcbIQUgBEEBaiEEIAYgAiAHGyECDAELCwsLBSAECwsiBiEEIAhBAWohCAwBCwsgBAu/BAMMfwN9AnwjBiEEIwZB4ABqJAYgABD9FyEGIABBLGohBUHGsfkALQAABEAgACoCNLshEyAAKgI4uyEUIAQgBSoCALs5AwAgBCATOQMIIAQgFDkDEEGP8BkgBBBLCyAEQUBrIQcgBEE4aiEKIARBMGohCyAEQShqIQwgBEEgaiENIARBGGohDiAFKgIAIhAgAUHoj/kAKwMAtiISEPoXIQggECABIAKSIhEgEhD6FyEJAkACQAJAAkACQCAGDgQAAgIBAgsgAEE4aiIFKgIAQwAAAABgBEAgBSADIAGVIBCUOAIACyAQIQEMAwsMAQsgBkEBRiIPIAggCXJxDQAgBkECRiIGIAhxDQAgDwRAQcax+QAtAAAEQEH28BkgDRBLIAUqAgAhEAsgACACIAGVIBCUOAI0IBAhAQwCCyAGBH0gAEEBOgAJQcax+QAtAABBAEchBiAJBEAgBgRAQZTxGSAMEEsLIAUgATgCACAAIAI4AjQgACADOAI4DAMLIAYEQCAQIBFdIBAgAV5xBEBBnvEZIAsQSwVBqvEZIAoQSwsLIAAgAiARlSAFKgIAIgKUIhA4AjQgBSACIBCTIgI4AgAgACADIAGVIAKUOAI4IAIFIBALIQEMAQtBxrH5AC0AAARAQd/wGSAOEEsLIAUgATgCACAAIAI4AjQgACADOAI4C0HGsfkALQAABEAgACoCNLshEyAAKgI4uyEUIAcgAbs5AwAgByATOQMIIAcgFDkDEEHL8RkgBxBLCyAEJAYLbAEBfyMGIQIjBkEgaiQGIAIgAEH4AGoQVSACELUBBEAgAiABEK8FBSACEFsDQAJAIAIQWQ0AIAIQUxBiLgEAIAEQYi4BAEoNACACEFYMAQsLIAIQWQRAIAIgARC7AQUgAiABEIcFCwsgAiQGC84DAQd/IwYhBSMGQYABaiQGIAVBCGohBiAFQfwAahCYASAFIAAQYikBADcDACAFQeAAaiILIAQQVSAFQdAAaiIJIAUuAQAgBS4BBEEBahCxASAFQUBrIgggBS4BACAFLgEEQQFqELEBIAVBMGoiCiAFLgEAIAUuAQRBAWoQsQEgBUEUaiIHEFcgAEEEaiIEKAIAIgBFBEAgBkG47xk2AgAgBkG5ATYCBEHMpvkAQZzvGUECQcfrHCAGEFEgBCgCACEACyAFQRBqIQYgByAAEJEBEJYBIAcQWwNAIAcQWUUEQCAHEFMgASACIAMgCiAIIAkQ/xcgBxBWDAELCyAFLgEAIQADQCAAQRB0QRB1IAUuAQQiBEgEQCAIIABBEHRBEHUiARCuAUEASgRAIAFBAWpB//8DcSEBA0ACQCABQRB0QRB1IARBEHRBEHVODQAgCCABQRB0QRB1EK4BQQBMDQAgAUEBakEQdEEQdSEBDAELCyAGIAAgARChASAGKAIAIQRBCBBPIgAgBEH//wNxIARBEHYQ9w8gCyAAEKABIAEhAAsgAEEBakEQdEEQdSEADAELCyAKKAIMEIQBIAgoAgwQhAEgCSgCDBCEASAFJAYLxwMDBn8DfQN8IwYhAiMGQSBqJAYgARBiIgMuAQAhBCADLgEEIQEgAiAAEH0gAhD5AQRAQQAhAQUgAUEQdEEQdSAEQRB0QRB1akECEE5B//8DcSEHIAIQcCEAIAIQlAEgB0EQdEEQdbchC0MAAADPIQlBACEBA0ACQCAAQdwAaiIFIAsQqgIgAEE4aiIEKgIAu6AgAy4BBrdkRQ0AIAIQjgENACADLgEGtyAFIAsQqgKhIAQqAgC7oLYhCSACEHggACEBIAIQcCEADAELCwNAAkAgAEHcAGoiBiALEKoCIABBLGoiBSoCALugIABBNGoiBCoCALugIAMuAQK3ZkUNACACEI4BDQAgBiALEKoCIAUqAgC7oCAEKgIAu6C2IQogAy4BBrIiCCAKIAggCl0bIQggAy4BArchDCAGIAsQqgIgACoCOLsiDaAgDGMEfSAIIAMuAQKykwUgCLsgBiALEKoCIA2gobYLIQggAhB4IAggCSAIIAleIgQbIQkgACABIAQbIQEgAhBwIQAMAQsLIAlDAAAAAF0EQCAGIAsQqgIgBSoCALugIAQqAgC7oCADLgECt6EgCbtkBEAgACEBCwsLIAIkBiABC+QEAgx/AX0jBiECIwZB8ABqJAYgAhB5IAJB6ABqIgkQVyACQeQAaiIKEFcgAkHgAGoiAxBXIAJB3ABqIgcQVyACQUBrIgQgCRBVIAJBJGoiCCAAQQhqEFUgAkEIaiIFIAoQVQJAIAAQ7AEiCygCAARAIAgQWwNAIAgQWUUEQCACIAgQnwEiABBiKQEANwMAIAsgABDxLSIGRQ0DIAAgBkHcAGogBioCLCINQciE+QArAwAgDbuitiAJEPAtIAQgCRCWASAEEFsDQCAEEFlFBEAgBBBTLgEEIQEgBBBTLgEGIAFBEHRBEHVrQYy1+QAoAgAiDEEBakoEQCAAIAEgDLdEAAAAAAAA4D+gtiADIAcQ9gkgAygCAARAQfgAEE8hAEEIEE8iASADELQIIAAgARChBSAFIAAQoAELQQAgBBBTLgEGQYy1+QAoAgC3RAAAAAAAAOA/oLYgAyAHEPYJIAMoAgAEQEH4ABBPIQBBCBBPIgEgAxC0CCAAIAEQoQUgBiAAEO8tC0EAIQALIAQQnwEiAQRAIAEQTAsgBBBWDAELCyAHKAIABEBBACACLgEEQYy1+QAoAgC3RAAAAAAAAOA/oLYgAyAHEPYJIAMoAgAEQEH4ABBPIQZBCBBPIgEgAxC0CCAGIAEQoQUgBSAGEKABCwsgAARAIAAoAgQiBiIBBEAgARDXAiAGEEwLIAAQygQgABBMCyAIEFYMAQsLIAUQtQFFBEAgBRCNAyAFEFsDQCAFEFkNAyAIIAUQnwEQoAEgBRBWDAAACwALCwsgBxCPAyADEI8DIAoQ2gMgCRDuAiACJAYLdgECfyMGIQMjBkEgaiQGIAMgARDsARB9IAMQnQMgAxCUAQNAIAMQjgFFBEAgAxBwENQBKAIABEAgAxBwIAEQ6y0FIAMQhwIiBARAIAQQtAYgBBBMCwsgAxB4DAELC0GGsvkALQAABEAgACABIAIQ6i0LIAMkBgvxAgMJfwF9AXwjBiEDIwZB4ABqJAYgA0EYaiEGIANBOGohBCADQTBqIQcgA0EgaiEFIAArAyAQjwshDSADQdgAakMAAIA/QwAAAAAQpAEgAQRAIAIgACgCACANtiIMEPMtBSAGIAAoAgAiASgCGEEEahDDASkBADcDACAEIAEQ7AEQfSAEEJQBIAdBBGohCCADQQhqIQkgA0EQaiEKA0AgBBCOAUUEQCAEEHAhASAHIAYuAQA2AgAgCCAGLgEENgIAIANEAAAAAAAAAAA5AwAgCSABQYgBaiILKgIAuzkDACAKIAEqAowBuzkDACAFQQEgByADEPkJIAFB3ABqIAUQpQUaIAUQ+gUgBSAAKAIAKAIYEL4FIAIgASAFIAsqAgAgACgCACoCJBBlEPgPIAQQeAwBCwsgDbYhDAsgAiAAKAIAIAwQghggACgCACIBKAIYIAEqAjAQZRDoBEGWpvkALQAABEAgACgCABDyLQsgAyQGC2kCAn0BfCMGIQEjBkEQaiQGIAAsABxFBEAgAgRAIAAoAgAQyC0LIAFDAACAP0MAAAAAEKQBIAArAyAQjwshBSAAKAIAIAW2IAEqAgAiAyABKgIEIgQQxy0gACgCACADIAQQxi0LIAEkBgsuAQF+IAAgARBiKQEAIgI3AQAgACACNwEIIAAgATYCFCAAIAE2AhAgAEEBNgIYC1YBAX8jBiECIwZBMGokBiACIAEpAgA3AgAgAiABKQIINwIIIAIgASkCEDcCECACIAEpAhg3AhggAiABKQIgNwIgIAIgASkCKDcCKCAAIAIQhBggAiQGC0IBAn8gACABKAIAIAAoAgBqEPoPIAFBCGohAwNAIAIgASgCAEgEQCAAIAMoAgAgAkEwbGoQ9y0gAkEBaiECDAELCwtEAQN/IAAoAgQhAyAAQQhqIQIDQCACKAIAIgEgA0cEQCACIAFB4H5qIgE2AgAgARCAEAwBCwsgACgCACIABEAgABBMCwuuAQEEfyAAKAIAIQUgAUEEaiEDIABBBGoiBCgCACECA0AgAiAFRwRAIAMoAgBB4H5qIAJB4H5qIgIQ+w8gAyADKAIAQeB+ajYCAAwBCwsgACgCACECIAAgAygCADYCACADIAI2AgAgBCgCACECIAQgAUEIaiIEKAIANgIAIAQgAjYCACAAQQhqIgAoAgAhAiAAIAFBDGoiACgCADYCACAAIAI2AgAgASADKAIANgIAC3sBAn8gAEEMaiIFQQA2AgAgACADNgIQIAEEQCABQZmz5gxLBEBBCBAOIgMQ1wcgA0HI1BY2AgAgA0GolBZBlgIQDQUgAUGgAWwQTyEECwsgACAENgIAIAAgBCACQaABbGoiAjYCCCAAIAI2AgQgBSAEIAFBoAFsajYCAAuWAQEFfyMGIQIjBkEgaiQGIAAoAgQgACgCACIDa0GgARBOIgZBAWoiBUGZs+YMSwRAEAQFIAIgBSAAKAIIIANrQaABEE4iBEEBdCIDIAMgBUkbQZmz5gwgBEHMmbMGSRsgBiAAQQhqEPstIAJBCGoiBCgCACIDIAEQ+w8gBCADQaABajYCACAAIAIQ+i0gAhD5LSACJAYLC68DAQZ/IwYhBCMGQZABaiQGIAFFBEAgBEG97hk2AgAgBEHlAzYCBEGAu/kAQfzuGUECQcfrHCAEEFELIARBCGohAiABKgIsQwAAAABeRQRAIAJBve4ZNgIAIAJB5gM2AgRBgLv5AEGL7xlBAkHH6xwgAhBRCyAEQRBqIQIgBEFAayEDIAAgATYCnAEgAUEGNgIQIARB8ABqIgUgARDUARBVIAUQWyAAQYgBaiEBIABB8ABqIQYDQCAFEFlFBEAgBRBTIgcoAhgQyAIEf0EABSAHKAIsQQZHCwRAIAMQ+Q8gAyAFEFMQ9i0CQAJAIAEoAgBFDQAgAyABEL8QEP0PRQ0AIAEQvxAgAxCIGAwBCyACIAMpAgA3AgAgAiADKQIINwIIIAIgAykCEDcCECACIAMpAhg3AhggAiADKQIgNwIgIAIgAykCKDcCKCABIAIQhBgLIAIgBRBTEGIpAQA3AwAgAhBrIgdBEHRBEHVBA2wgAhBuQRB0QRB1SgRAIAYgB0EQdEEQdbIQjAcLCyAFEFYMAQsLIAYQrQYgACAGRAAAAAAAAOw/EI0HOAIIIAQkBgtTACAAQwAAAAA4AgAgAEMAAAAAOAIEIABBEGoQ7wkgAEEoahDvCSAAQUBrEO8JIABB2ABqEO8JIABB8ABqEO8JIABBiAFqQQQQhRggAEEANgKcAQuTAgEDfyAAKAKIAUECTwRAAkAgAEEEaiICKgIAQwAAAABeBEBBAiEBA0AgASAAKAKIAU8NAiACKgIAIAAgAUF+ahDCASAAIAFBf2oiAxDCARDyCQRAIAIqAgAgACADEMIBIAAgARDCARDyCQRAIAAgAxD0CQsLIAFBAWohAQwAAAsABUECIQEDQCABIAAoAogBTw0CIAAgAUF+ahDCASAAIAFBf2oiAhDCARCJGCAAIAIQwgEgACABEMIBEPIJBEAgACACEPQJCyABQQFqIQEMAAALAAsACyAAQQAQwgEgAEEBEMIBEM0CKAIAEOwEIAAgACgCiAFBf2oQwgEgACAAKAKIAUF+ahDCARDNAigCABDsBAsLJwAgAEEANgIAIABBMBBPNgIIIABBBDYCBCAAQQA2AgwgAEEANgIQC20BAX8gACgCACIEIAAoAgRGBEAgACgCBCIEBEAgACAEQQF0EIcYBSAAQQQQhxgLIAAoAgAhBAsgACAEQQFqNgIAIAAoAggiACAEQQxsaiABOAIAIAAgBEEMbGogAjgCBCAAIARBDGxqIAM2AggLugIDBX8BfQJ8IwYhBiMGQRBqJAYgBiEFIAAsAABFBEAgBUG97hk2AgAgBUGKATYCBEGAu/kAQbLuGUECQcfrHCAFEFELIABBBGoiBCgCACIDIQAgAbsiCUQAAADMzMzsP6IhCANAAkAgAiADTg0AIAggBCACEKICKgIAu2RFDQAgAkEBaiECIAQoAgAhAwwBCwsgCUQAAACamZnxP6IhCANAIABBAEoEQCAIIAQgAEF/aiIDEKICKgIAu2MEQCADIQAMAgsLCyACIABIBH8gACEDIAIFIAQoAgAhA0EACyECQQAhAANAIAIgA0gEQCAHIAQgAhCiAigCCLIgAZQgBCACEKICKgIElCAEIAIQogIqAgCVkiEHIAQgAhCiAigCCCAAaiEAIAJBAWohAgwBCwsgBSQGIAcgALKVC/EEAg9/A30jBiEDIwZBEGokBiADQQhqIQkgAEFAayIEEPEJIABBEGoiBRDxCSAAQdgAaiIKEPEJIABBKGoiCxDxCSAAQfAAaiIGEPEJIAAoAogBBEAgAEEAEP8PIQcgAEEAEKMIEGUhCCAGIABBABDCARBrQRB0QRB1shCMByAAQQhqIQwgAEEEaiEPQQEhAgNAIAIgACgCiAFJBEAgACACEKMIEGUiECAIayENIAAgAkF/aiIIEK4GIAAgAhCuBhCmAiEOIAYgACACEMIBEGtBEHRBEHWyEIwHAkAgDCoCALtEAAAAAAAA4D+iIA23YwRAIAUgDbIiEhCMByALIA5BACAOQQBKG7IiExCMByAAIAIQ/w8EfyABRQRAIAdFBEBBASEHDAQLIA8qAgAiESASk4sgEUPNzMw9lF1FBEBBASEHDAQLCyAEIBIQjAcgACAIEIYYRQRAIAAgAhCGGEUEQCAKIBMQjAcLC0EBBUEACyEHCwsgECEIIAJBAWohAgwBCwsgBBCtBiAFEK0GIAoQrQYgCxCtBiAGEK0GIAwgBkQAAAAAAADsPxCNBzgCACAAIAUoAgQEfSAEKAIEQQJIBH0gACAFELIMIhE4AgAgEUMAAAAAXkUEQCADQb3uGTYCACADQZsFNgIEQYC7+QBB2+4ZQQJBx+scIAMQUQsgC0QAAAAAAADAPxCNBwUgACAEELIMIhE4AgAgEUMAAAAAXkUEQCAJQb3uGTYCACAJQZ8FNgIEQYC7+QBB2+4ZQQJBx+scIAkQUQsgCkQAAAAAAADAPxCNBwsFIABDAAAAADgCAEMAAAAACzgCDAsgAyQGC6IBAQR/IABBiAFqIQFBACEAA0AgAyABKAIASARAIAEgAxCRAigCLEUEQCAAIANHBEAgASADEJECIQIgASAAEJECIgQgAikCADcCACAEIAIpAgg3AgggBCACKQIQNwIQIAQgAikCGDcCGCAEIAIpAiA3AiAgBCACKQIoNwIoCyAAQQFqIQALIANBAWohAwwBCwsgASgCACAASgRAIAEgADYCAAsLcgECfwNAIAEgACgCiAFJBEAgACABEMIBLAAoEIkBBEAgACACEMIBIAAgARDCARCIGCAAIAEQwgFBATYCLCAAQYgBaiACEJECQQAQ7AQgACABQX9qEMIBQQAQ8wkFIAEhAgsgAUEBaiEBDAELCyAAEIQuC+UEAwV/AX0CfCMGIQQjBkEQaiQGIARBCGohAyAAKgIEIga7RAAAAAAAAOA/oiEHA0AgASAAKAKIAUkEQAJAIAAgARCxA0UEQAJAAkAgAQRAIAAgAUF/aiICELEDBEAgASAAKAKIAUF/akkEQCAAIAFBAWoQsQMEQCAAIAEQsQwMBwsLCyADIAAgARCjCLsiCCAHoRBaQQAgByAIoBBaQQEQlQIgAyAAIAIQwgEQsAy7RJqZmZmZmbk/ZEUEQCAAIAIQsQMNAiAEIAAgARDCASkBADcDACAEIAAgAhDCARC8ARogBiAEEG5BEHRBEHWyXkUNAgsFIAMgAEEAEKMIuyIIIAehEFpBACAHIAigEFpBARCVAgwBCwwBCyABIAAoAogBQX9qSQRAIAMgACABQQFqIgIQwgEQsAy7RJqZmZmZmbk/ZA0BIAAgAhCxA0UEQCAEIAAgARDCASkBADcDACAEIAAgAhDCARC8ARogBiAEEG5BEHRBEHWyXg0CCwsgACABELEMCwsLIAFBAWohAQwBCwtBACECA0AgAiAAKAKIAUkEQAJAIAAgAhCxAwRAIAIEfyAAIAJBf2oiARCxAwR/IAYgACABEMIBIAAgAhDCARDyCSIBQQFzBUEAIQFBAAsFQQAhAUEACyEDIAIgACgCiAFBf2pJBEAgACACQQFqIgUQsQMEQCADIAYgACACEMIBIAAgBRDCARDyCSIFQQFzciEDIAEgBXIhAQsLIAMgAUEBc3JFBEAgACACEPQJDAILIAEgA0EBc3JFBEAgACACEIoYCwsLIAJBAWohAgwBCwsgBCQGC5UJAwt/AX0BfCMGIQIjBkEgaiQGIAJBEGohBSACQQhqIQcgAiEIAkAgACgCiAFBAkkEf0EABSAAQQRqIgYqAgBDAAAAAFsEf0EABQNAIAEgACgCiAFPDQMCQCAAIAEQsQNFBEAgACABEMIBEM0CKAIAIQsgASAAKAKIAUF/akkEfyAAIAFBAWoiAhCxAwR/IAAgAhCjCLsgBioCALtEAAAAAAAA+D+iobYhDEEAIQMDQCAMIAAgARDCAS4BBLJeBEAgDCAGKgIAkyEMQQEhAwwBCwsgBSAMEGUgACABEMIBLgECIAwgBioCAJIQZSAAIAEQwgEuAQYQlQIgBxB5IAEhAgJ/AkACQANAIAJBf0wNAiAAIAIQsQMNASAFIAAgAhDCARCMGEUNASAIIAcgACACEMIBEKIFIAgQa0EQdEEQdbIhDCAGKgIAQ83MjD+UIAxeRQ0BIAcgACACEMIBELwBGiACQX9qIQIMAAALAAsgBSAAIAIQwgEQ/Q9FDQBBACEDIAAgAhCxA0EBcwwBCwJAAkACQAJAIAEgAmsOAgABAgtBASEDQQAMAwsMAQsgAkEBaiEDIAEhAgNAIAIgA0oEQCAAIAIQwgFBARDzCSACQX9qIQIMAQVBASEDQQAMAwsAAAsACyADRQRAIAAgARD0CQsgACABEMIBEG5BEHRBEHW3IQ0gBioCALtEAAAAAAAA4D+iIA1mBEAgBSAAIAEQwgEQvAEaIAAgARDCASAFEIsYCyAAIAEQwgFBABDzCSAAIAEQsQxBASEDQQALBUEAIQNBAAsFQQAhA0EACyECIAEEQCAAIAFBf2oiBBCxAwRAIAAgBBCjCCEMIAYqAgC7RAAAAAAAAPg/oiAMu6C2IQxBACEJIAAgARDCASEEA0AgDCAELgEAsl0EQCAMIAYqAgCSIQxBASEJIAAgARDCASEEDAELCyAFIAwgBioCAJMQZSAAIAEQwgEuAQIgDBBlIAAgARDCAS4BBhCVAiAHEHkgASEEA0ACQCAEIAAoAogBTw0AIAAgBBCxAw0AIAUgACAEEMIBEIwYRQ0AIAggByAAIAQQwgEQogUgCBBrQRB0QRB1siEMIAYqAgBDzcyMP5QgDF5FDQAgByAAIAQQwgEQvAEaIARBAWohBAwBCwsCQAJAIAQgACgCiAFPDQAgBSAAIAQQwgEQ/Q9FDQAgAiAAIAQQsQNBAXNyIQIMAQsCQAJAAkACQCAEIAFrDgIAAQILQQEhAwwDCwwBCyABIQMDQCADQQFqIgMgBEkEQCAAIAMQwgFBARDzCQwBBUEBIQMMAwsAAAsACyAJRQRAIAAgARD0CQsgACABEMIBEG5BEHRBEHW3IQ0gBioCALtEAAAAAAAA4D+iIA1mBEAgBSAAIAEQwgEQvAEaIAAgARDCASAFEIsYCyAAIAEQwgFBABDzCSAAIAEQsQxBASEDCwsLIAMgAkEBc3JFBEAgACABEIoYCyAAIAEQwgEQzQIoAgAgC0YEQCAAIAEQwgEsACgQiQFFDQILQQEhCgsLIAFBAWohAQwAAAsACwshCgsgCCQGIAoL/AYDCX8DfQJ8IwYhBiMGQTBqJAYgBkEIaiEEIAZBBGohAQJAIABBQGsiAygCBARAIAAgAxCyDCIKOAIAIABBnAFqIgcoAgAgCjgCFCAEIABB2ABqIgVEAAAAAAAAwD8QjQciDDgCACABIAAqAgAiCyAAKgIIkyIKOAIAIAZDAAAAADgCACAHKAIAIgIgBiABIApDAAAAAF0bIgEgBCABKgIAIAxdGygCACIBNgIkIAIgATYCTCACIAsgAb6TOAI8IABBEGooAgQiAbJDMzOzPpQgAygCBCIDsl4EQCACQQY2AhAMAgsgAkEBQQUgAbdEAAAAAAAA6D+iIAO3Yxs2AhAgAiALOAIgIAIgCzgCUCAFEI4YIAuSu0QAAAAAAADgP6IQWiEBIAcoAgBBQGsgATYCACAAKgIAu0QAAAAAAADQP6IgBRCOGLugIQ0gBUQAAAAAAADsPxCNB7siDiANIA0gDmMbEFohAyAHKAIAIgEgAzYCRCABQUBrKAIAIANqIQUgASoCLBBlIQkgAEGIAWohAgNAIAggACgCiAFJBEAgAiAIEJECKAIcIAcoAgAiASgCREoEQCACIAgQkQIoAhwhAyAHKAIAIgEgAzYCRAsgCEEBaiEIDAELCyAJIAVBAhBOIgMgAyAJShshBSABQUBrKAIAIAEoAkRqQQIQTiECIAEgASoCLBBlIgMgAiACIANKGzYCSCABQQA6AAogBCABQdgAahBVQQgQTyIBIABBABCuBi4BAEEAEPgCIAQgARCgAUEBIQIgAEEAEK4GLgEEIQEDQCACIAAoAogBSQRAAkACQCAAIAJBf2oiAxCxAw0AIAAgAhCxAw0ADAELIAAgAxCuBiAAIAIQrgYQpgIgBUoEQEEIEE8iAyABQQFqQf//A3FBABD4AiAEIAMQoAEDQCAAKgIAIAGyIgqSIAAgAhDCAS4BALJdBEAgACoCACAKkhBlIQFBCBBPIgMgAUEBakH//wNxQQAQ+AIgBCADEKABDAELCyAAIAIQwgEuAQAhAQsLQQgQTyIDIAEgACACEK4GLgEAakECEE5B//8DcUEAEPgCIAQgAxCgASAAIAIQrgYuAQQhASACQQFqIQIMAQsLQQgQTyIAIAFBAWpB//8DcUEAEPgCIAQgABCgAQUgAEMAAAAAOAIAIAAoApwBQQY2AhALCyAGJAYLFgAgACABQQFxOgAgIAAgAkEBcToAIQuDAgIGfwN8IwYhAiMGQUBrJAYgAkEwaiEEAkAgACgCiAEEQCAAKAKcASIFKAIQIQMgBSoCFLshCCAFKAJEIQYgBSoCULshCSAFKAJIIQcgBSoCLLshCiACIAE2AgAgAiADNgIEIAIgCDkDCCACIAY2AhAgAiAJOQMYIAIgBzYCICACIAo5AyhBmO0ZIAIQS0EAIQMDQCADIAAoAogBTw0CIAAgAxCxA0EBcSEGIAAgAxD/D0EBcSEHIAAgAxDCASgCGCEBIAQgAzYCACAEIAY2AgQgBCAHNgIIIAQgATYCDEGD7hkgBBBLIAAgAxDCARCdASADQQFqIQMMAAALAAsLIAIkBgu3AgEIfyMGIQEjBkEwaiQGAkAgAEEEaiIGKAIAQQBKBEAgAEEMaiIHKAIABEAgAEEIaiEIA0AgBSAAKAIATg0DIAcoAgAiAygCACgCCCECIAEgCCgCACAFQTBsaiIEKQIANwIAIAEgBCkCCDcCCCABIAQpAhA3AhAgASAEKQIYNwIYIAEgBCkCIDcCICABIAQpAig3AiggAyABIAJB/wBxQawLahEDACAFQQFqIQUMAAALAAsLCyAAQQhqIgMoAgAiAgRAIAIQTAsgA0EANgIAIABBADYCACAGQQA2AgAgAEEMaiICKAIAIgMEQCADIAMoAgAoAgRB/wNxQaIHahEAAAsgAkEANgIAIABBEGoiACgCACICBEAgAiACKAIAKAIEQf8DcUGiB2oRAAALIABBADYCACABJAYLQAEDfyAAKAIAIgIEQCAAQQRqIgMoAgAhAQNAIAEgAkcEQCABQeB+aiIBEIAQDAELCyADIAI2AgAgACgCABBMCwtfAQR/IwYhASMGQRBqJAZB/uwZIAEQSyAAQQRqIQIgAEEIaiEDQQAhAANAIAAgAygCACACKAIAIgRrQaABEE5JBEAgBCAAQaABbGogABCKLiAAQQFqIQAMAQsLIAEkBgtGAQN/IABBBGohASAAQQhqIQJBACEAA0AgACACKAIAIAEoAgAiA2tBoAEQTkkEQCADIABBoAFsahCILiAAQQFqIQAMAQsLC00BBH8gAEEEaiECIABBCGohA0EAIQADQCABIAMoAgAgAigCACIEa0GgARBOSQRAIAAgBCABQaABbGoQhy5yIQAgAUEBaiEBDAELCyAAC0YBA38gAEEEaiEBIABBCGohAkEAIQADQCAAIAIoAgAgASgCACIDa0GgARBOSQRAIAMgAEGgAWxqEIYuIABBAWohAAwBCwsLRgEDfyAAQQRqIQEgAEEIaiECQQAhAANAIAAgAigCACABKAIAIgNrQaABEE5JBEAgAyAAQaABbGoQhS4gAEEBaiEADAELCwsyAQJ/IAAoAgQiASAAKAIIIgJGBH9BAAUgAiABa0GgARBOIAAoAhRBAWogACgCEGpLCwuQAwEHfyMGIQQjBkHgAWokBiAEQagBaiEFIARBCGohBiAAIAJB//8DcUEQdCABQf//A3FyNgEAIABBCGohAiAAQQxqIQogAEEYaiEIIABBHGohCSAAQQRqIgdCADcCACAHQgA3AgggB0IANwIQIAdBADYCGCAEQcQBaiIBIAMQVSABEFsDQCABEFlFBEAgARBTIgAQ7AEoAgAEQCAAKgIwQwAAAABeRQRAIARBve4ZNgIAIARB5gc2AgRBgLv5AEHp7hlBAkHH6xwgBBBRCyAAEJMYCyABEFYMAQsLIAEQWwNAIAEQWUUEQCAFIAEQUxDsARB9IAUQlAEDQCAFEI4BRQRAIAYQ/i0gBiAFEHAQ/S0gAigCACIAIAooAgBGBEAgByAGEPwtIAIoAgAhAAUgACAGEPsPIAIgAigCAEGgAWoiADYCAAsgAEHgfmooAogBIgBBAkkEQCAIIAgoAgBBAWo2AgALIAAgCSgCAEsEQCAJIAA2AgALIAYQgBAgBRB4DAELCyABEFYMAQsLIAQkBgv5AQEJfyMGIQMjBkFAayQGIANBIGoiBRBXIANBHGoiBhBXIAMgBhBVA0AgCSABSARAIAAQnwEiBCgCGBDIAiEHIARBBGoiCigCACIIQQBHIQsCQAJAIAcEQCALBEAgBSADEFMQkQEQlgEgBRD1AyAFIAooAgAQkQEQhgIgCigCACIHIghFDQIgCBDXAiAHEEwMAgsFIAsEQCADIAgQoAEMAgsLIAQNAAwBCyAEEMoEIAQQTAsgABBWIAlBAWohCQwBCwtBHBBPIgEgBkEBEL8GIAIEQCABQQNBARDWAQsgABD/AQRAIAFBBEEBENYBCyAGEOECIAMkBiABCzoBAX8jBiECIwZBIGokBiACIAAQkQEQVSACEFsDQCACEFlFBEAgAhBTIAEQkhggAhBWDAELCyACJAYLKAEBfUEBIAAqAgAgASoCAJMiAkMAAAAAXUEfdEEfdSACQwAAAABeGwvmBwIQfwN9AkAgAEEMaiITKAIABEBBLBBPIQ0gAEEEaiEQQQEhCAJAAkACQANAIAhBCksNASAEIAhBBHRqKAIMRQ0CIAQgCEEEdGooAghBAEwNAiANIAhBAnRqIgcgBCAIQQR0aiIJRAAAAAAAAOA/EM4BtiIVOAIAIAkQrwciCyEFA0ACQCAVIAVBf2oiBrKTIAFdRQ0AIAUgACgCAEwNACAAIAYQrgEiCiAAIAUQrgFKDQAgCiAEIAYQrgFrIgVBAEoEQCAJIAYgBRCIASAEIAYgBRCIASAHKgIAIRULIAYhBQwBCwsgCyEFA0ACQCAFQQFqIgayIBWTIAFdRQ0AIAYgECgCAE4NACAAIAYQrgEiCiAAIAUQrgFKDQAgCiAEIAYQrgFrIgVBAEoEQCAJIAYgBRCIASAEIAYgBRCIASAHKgIAIRULIAYhBQwBCwsgCEEBaiEIDAAACwALIAhBf2ohBgwBCyAIQX9qIgZFBEAgBCAAKAIAIBAoAgAQsAYaQQAhBgsLIARBDGohFAJAAkADQCAQKAIAIgggACgCACISayEJQQAhBUEAIQ4DQCAOIAlIBEACQCATKAIAIA5BAnRqKAIAIBQoAgAgDkECdGooAgBrIgdBAEoEQCASIA5qIgqyIRdDAAAATyEWQQAhEUEBIQ8DQCAPIAZMBEAgFyANIA9BAnRqKgIAkyIVjCAVIBVDAAAAAF0bIhUgFl0hDCAVIBYgDBshFiAPIBEgDBshESAPQQFqIQ8MAQsLIBYgAl4EQCARBEAgByAFSiANIBFBAnRqKgIAIhUgA5QgF10gFSADlSAXXnJxRQ0DBSAHIAVMDQMLIAchBSAKIQsLCwsgDkEBaiEODAELCyAGQQpIIAVBAEpxRQ0CIAQgBkEBaiIKQQR0aiIMIBIgCBCwBkUNASANIApBAnRqIgggC7I4AgAgDCALIAUQiAEgBCALIAUQiAEgCyEFA0ACQCAIKgIAIhUgBUF/aiIHspMgAV1FDQAgBSAAKAIATA0AIAAgBxCuASIJIAAgBRCuAUoNACAJIAQgBxCuAWsiBUEASgRAIAwgByAFEIgBIAQgByAFEIgBCyAHIQUMAQsLIAshBQNAAkAgBUEBaiIHsiAVkyABXUUNACAHIBAoAgBODQAgACAHEK4BIgkgACAFEK4BSg0AIAkgBCAHEK4BayIFQQBKBEAgDCAHIAUQiAEgBCAHIAUQiAEgCCoCACEVCyAHIQUMAQsLIAggDEQAAAAAAADgPxDOAbY4AgAgBkEJSARAIAohBgwBBSAKIQYMAwsAAAsACyANEExBACEGDAILIA0QTAsLIAYLggIBCH8jBiEFIwZBEGokBiABQQJIIABBDGoiCCgCAEVyRQRAIAUgACgCACAAQQRqIgIoAgAQsQEgAigCACAAKAIAayEGA0AgAyAGSARAQQEhBCAIKAIAIgkgA0ECdGooAgAgAWwhAgNAIAQgAUcEQCADIARrIgdBf0oEQCAJIAdBAnRqKAIAIAEgBGtsIAJqIQILIAQgA2oiByAGSARAIAkgB0ECdGooAgAgASAEa2wgAmohAgsgBEEBaiEEDAELCyAFIAAoAgAgA2ogAhCIASADQQFqIQMMAQsLIAAgBSgCCDYCCCAIKAIAIAUoAgwiACAGQQJ0EG0aIAAQhAELIAUkBgvlCgMGfwh9BXwjBiEIIwZBkAJqJAYgCEGAAmoiCUEAIAEQsQEgCEHwAWoiB0EAIAEQsQEgAEEUaiIKQwAAAAA4AgAgACAJIAcgACoCLCINIAAqAhgiEEHghvkAKwMARAAAAAAAAPA/oCANu6IgELtjGyIOIA4gDiAAKgIcIg0gDSAOXhsiFJJDAAAAP5QiEyACEIMQBH0gCUQAAAAAAADoPxDOASAJRAAAAAAAANA/EM4BobYhECAHRAAAAAAAAOg/EM4BIAdEAAAAAAAA0D8QzgGhtiEPIAdEAAAAAAAA4D8QzgG2BSABskMAAABAlCEPQxe30TghECAOCyESIAhBIGohAiAJEO0FIAcQ7QUgACAJIAcgDiATQQAQgxAEQCAJRAAAAAAAAOg/EM4BIAlEAAAAAAAA0D8QzgGhtiERIAdEAAAAAAAA6D8QzgEgB0QAAAAAAADQPxDOAaG2IQ0gBgRAIAdEAAAAAAAA4D8QzgEhFSAIIA67OQMAIAggEbs5AwggCCANuzkDECAIIBU5AxhB+uUZIAgQSwsgEyAHRAAAAAAAAOA/EM4BtiIOXgRAIAAgCSAHIA4gDkEAEIMQBEAgCUQAAAAAAADoPxDOASAJRAAAAAAAANA/EM4BobYhESAHRAAAAAAAAOg/EM4BIAdEAAAAAAAA0D8QzgGhtiENIAYEQCAHRAAAAAAAAOA/EM4BIRUgAiAOuzkDACACIBG7OQMIIAIgDbs5AxAgAiAVOQMYQcPmGSACEEsLIAdEAAAAAAAA4D8QzgEaCwsFIAGyQwAAQECUIQ1DF7fROCERCyAIQUBrIQJB+qj5AC0AAARAIAIgBDYCACACIAU2AgQgAkHYADYCCCACIA27OQMQIAIgEbs5AxggAiAPuzkDICACIBC7OQMoIAJBxABB0wBBzQAgECANlCAPIBGUXxsgDyABsiIOXiANIA5ecRs2AjBBjucZIAIQSwUgAbIhDgsgCEHYAWohBCAIQcABaiEFIAhBoAFqIQEgCEGAAWohAiAIQfgAaiELIA8gDl4gDSAOXnEEfyAAQQA2AhBB+qj5AC0AAARAQcKTHyALEEsLQQAFIBAgDZQgDyARlF8EfyAGBEAgAiANuzkDACACIBG7OQMIIAIgD7s5AxAgAiAQuzkDGEHN5xkgAhBLCyAJRAAAAAAAAOg/EM4BIAlEAAAAAAAA0D8QzgGhtiEQIAdEAAAAAAAA6D8QzgECfCAHRAAAAAAAANA/EM4BIRkgB0QAAAAAAADgPxDOAbYhEiAZC6G2IQ9BAAUgBgRAIAEgDbs5AwAgASARuzkDCCABIA+7OQMQIAEgELs5AxhBn+gZIAEQSwtBAQshASAPuyEVIBC7IRZB+qj5AC0AAARAIAUgFTkDACAFIBY5AwggBSASuyIXOQMQQe3oGSAFEEsgAyoCMCENQcCF+QArAwAgFqIgFWQEf0GYhfkAKwMAIA27IhiiIBVkBH9BxgBB0ABBuIv5ACsDACAYoiAXZBsFQdAACwVB0AALIQIgBCAPIBCVuzkDACAEIA8gDZW7OQMIIAQgAjYCEEGR6RkgBBBLCyAAAn8CQEHAhfkAKwMAIBaiIBVkRQ0AQZiF+QArAwAgAyoCMLsiFqIgFWRFDQBBuIv5ACsDACAWoiASu2RFDQBBAgwBC0EECzYCECAKIBI4AgAgACAJRAAAAAAAAOA/EM4BtjgCTCAUIAoqAgAiDZIQZUECEE4hAiAAQUBrIA0QZSACIA0gArJdGyICNgIAIAAgAjYCRCAAIA04AlAgACACNgJIIAAgAToACkEBCyEMIAcoAgwQhAEgCSgCDBCEASAIJAYgDAvZCAMUfwJ9AnwjBiEEIwZB8AJqJAYgBEGgAmohByAEQZgCaiEOIARBkAJqIQ8gBEGIAmohECAEQYACaiERIARB+AFqIRIgBEHoAWohCiAEQeABaiENIARBsAFqIQUgBEHYAWoiCxB5IARB0AJqIgYgABDUARBVIARBwAJqIghBACABELEBA0AgBCADQQR0ahCOByADQQFqIgNBC0cNAAsgBEGwAWohFkHYjPkAKwMAIABBLGoiCSoCALuiRAAAAAAAAPg/oBBaIRQCQCAGELUBRQRAIAYQUxBiLgEEIRUgBhBWIBVBEHRBEHUhAwNAIAYQ/wENAiAGEFMiDCgCGBDIAkUEQCALIAwQYikBADcDACALLgEAIANrIgMgAUgEQCAIIANBARCIAQsgCy4BBCEDCyAGEFYMAAALAAsLIAgoAggEf0GAiPkAKwMAIAkqAgC7IhmitiEYQdiH+QArAwAgGaK2IRcgCCAUEJguQQAhAQNAIAggGCAXQeiF+QArAwC2IAQQly4iAyABSiADQQpIcQRAIAMhAQwBCwsgA0EBSAR/QQAFQQAhAQNAIAEgA0cEQCAFIAFBAnRqIAQgAUEBaiIBQQR0akQAAAAAAADgPxDOAbY4AgAMAQsLIAIEQCANIAM2AgBBs+kZIA0QS0EAIQEDQCABIANIBEAgBSABQQJ0aioCALshGSAEIAFBAWoiAUEEdGooAgghDCAKIBk5AwAgCiAMNgIIQcXpGSAKEEsMAQsLQcKTHyASEEsLIAUgA0EEQdQAEIUFQbCH+QArAwAgCSoCALsiGaK2IRhB6Ir5ACsDACAZorYhF0EAIQEDQAJAIAEgA04NACAFIAFBAnRqKgIAIBhdRQ0AIAFBAWohAQwBCwsCQCABBEAgACAFIAFBf2pBAnRqKAIANgIkA0ACQCABIANODQAgBSABQQJ0aioCACAXXUUNACABQQFqIQEMAQsLIAEgA0cEQCAAIAUgAUECdGooAgA2AiAMAgsgAgRAQfXpGSAQEEsLIABB6IX5ACsDACAYu6K2OAIgBSACBEBBzekZIBEQSwsgA0EBSgRAIAAgBSgCADYCJCAAIAUoAgQ2AiAFIAAgGDgCJCAAIAUoAgA2AiALCwtBiIf5ACsDACAJKgIAu6K2IRdBACEBA0ACQCABIANODQAgBSABQQJ0aioCACAXXUUNACABQQFqIQEMAQsLIAACfyABBH8gACAFIAFBf2pBAnRqKAIANgIcIAUgAUECdGogASADRw0BGiACBEBBwuoZIA4QSwsgCQUgAgRAQZ3qGSAPEEsLIAAgFzgCHCAFCwsoAgAiATYCGCACBEAgACoCILshGiAAKgIcuyEZIAcgACoCJLs5AwAgByAaOQMIIAcgGTkDECAHIAG+uzkDGEHn6hkgBxBLC0EBCwVBAAshASAWIQADQCAAQXxqKAIAEIQBIABBcGoiACAERw0ACyAIKAIMEIQBIAQkBiABC8cBAQN/IwYhASMGQTBqJAYgARB5IAFBKGoQeSABQQhqIgIgABDUARBVAkAgAhC1AUUEQCABIAIQUxBiKQEANwMAIAIQWwNAIAIQWUUEQCABIAIQUxBiELwBGiACEFYMAQsLIABB6ABqIgMgAS4BAEF2aiABLgEEQQpqELAGGiAAIAEvAQBB9v8DajsBDCAAIAEvAQRBCmo7AQ4gAhBbA0AgAhBZDQIgAhBTKAIEIgAEQCAAIAMQlS4LIAIQVgwAAAsACwsgASQGC/4BAQV/IwYhBCMGQTBqJAYgBEEIaiIGIAAQ7AEQfSAGEJQBQQEhBwNAIAYQjgFFBEAgBhBwIgNBLGoiBSoCAEMAAAAAXkUEQCAEQefjGTYCACAEQfcCNgIEQfCp+QBBi+8ZQQJBx+scIAQQUQsgAxCbLgJAAkAgA0Hgi/kAKwMAIAUqAgC7opsQWiIFIAIQmi5FDQAgAyAFQbSn+QAoAgBBAWogACABIAcgAhCZLkUNACADKgIUQwAAAABbBEAgAygCJCEFIAMgAygCIDYCUCADIAU2AkwLDAELIANDAAAAADgCFCADQQA2AhALIAYQeCAHQQFqIQcMAQsLIAQkBgvNAgEJfyMGIQIjBkHQAGokBiACQRBqIQogAkHMAGoiA0EANgIAIAJByABqIgVBADYCACACQcQAaiIEQQA2AgAgAkFAayIGQQA2AgAgAkE8aiIHQQA2AgAgAkE4aiIIQQA2AgAgAkE0aiIJQQA2AgAgACADIAUgBCAGIAggCSAHEJQYIAMoAgAhACAEKAIAIQMgCCgCACEEIAIgATYCACACIAA2AgQgAiADNgIIIAIgBDYCDEGP5BkgAhBLQeqn+QAtAAAEQCADIAByIARyBEBBp+QZIAoQSwsLIAJBKGohBCAGKAIAIQEgCSgCACEDIAJBGGoiACAFKAIAIgU2AgAgACABNgIEIAAgAzYCCEGy5BkgABBLQfqn+QAtAAAEQCABIAVyIANyBEBBp+QZIAQQSwsLIAJBMGoiACAHKAIANgIAQcXkGSAAEEsgAiQGC8sEAwR/A30DfCMGIQMjBkEgaiQGIANBGGoiBEMAAAAAOAIAIAAqAhwhByAAQRRqIgYqAgAhCCABBEAgASgCBCEFCyADIgFBHGohAyAIIAcgByAIXhshBwJ/AkBBuqn5AC0AAA0AIAUEQCAFKAIMEO4BRQ0BCyAAIABB6ABqIAAuAQwgAC4BDiAHQwAAQECUIAiSQwAAgD6UIAYgBCADIABB2ABqQZyn+QAoAgAgAkYQhhAiB7shCkHwrPkAKAIAIQICQEGgifkAKwMAIAYqAgAiCLsiC6IiDCAKZARAIAJBA3EiBUEDRgRAIAAsAApBAEcgBCoCACIJQwAAoEFeckUEQCAHQwAAAABbIAlDAAAgQV5xRQ0DCwtB+Ij5ACsDACALoiAKZARAIAAsAAlFBEAgBUEDRyAEKgIAQwAAoEFecgRAIABBATYCEEEBDAYLCwsgAEECNgIQQQIMAwsLIAwgCmVFIAJBA3FBA0cgBCoCAEMAAKBBXnIgAy4BAEEASnJBAXNxBEAgAEEANgIQQQAMAgsgAEEQaiEAQdCI+QArAwAgC6IgCmQEfyAAQQQ2AgBBBAUgAEEDNgIAQQMLDAELQdCI+QArAwAgCLuitiEHIABBAzYCEEEDCyEAQfqo+QAtAAAEQCAEKgIAuyEKIAEgByAIlbs5AwAgASAKOQMIIAECfwJAAkACQAJAAkAgAEEBaw4EAgMAAQQLQbjfGQwEC0G13xkMAwtBvt8ZDAILQbvfGQwBC0HW5BkLNgIQQdnkGSABEEsLIAEkBgtYAQR/AkAgACgCACIBBEAgASgCACEDIAFBADYCACAAQQA2AgAgAyEAA0AgAEUNAiAAKAIAIQQgACgCBCIBBEAgARCvBiABEEwLIAAQTCAEIQAMAAALAAsLC8sDAwh/AX0CfCMGIQkjBkHQAGokBiAJQRBqIQ0gCUEIaiEMIAlBMGoiDiAGEFUgCUEUaiIHIAAQVSAHEFtD//9/fyEPQQAhBgNAIAcQWUUEQCAHEFMiCysDKCIQIA+7IhFjBEAgCygCDEH//wNxIgYhCCAQtiEPBSAQIBFhBEAgCygCDEH//wNxIQYLCyAHEFYMAQsLIAVBEHRBEHUiCiAEQRB0QRB1IgdqIAZB//8DcWpBEHRBEHUhCyAHIAprIAhB//8DcWpB//8DcSEKA0AgCyAKQRB0QRB1IgdOBEADQCAKQRB0QRB1IAEuAQQiBkoEQCAJIAIQuAIgASAJKQMANwEADAELCyAGQRB0QRB1IAdrIgggByABLwEAayIGIAggBkEQdEEQdUgbIQZBMBBPIgggCkEAIAZB//8DcSADIAQgBSAAEIQQIAgoAhAEQCAGQYCAAnEEQCAMQc3hGTYCACAMQZgDNgIEQayt+QBBu+IZQQJBx+scIAwQUQsgDSAHNgIAQcS0FkHH4hkgDRBcIA4gCBCgASAIQQE6AAQgCEEGaiIGIAYuAQBBAWo7AQAFIAgQTAsgCkEBakEQdEEQdSEKDAELCyAJJAYLRwAgABBXIAAgAUEQdEEQdTYCDCAAQQA2AhAgAEEEaiIBQQA2AgAgAUEAOwEEIABBGGoiAEIANwMAIABCADcDCCAAQgA3AxAL2g8DJX8CfgR8IwYhCyMGQZACaiQGIAtBgAJqISAgC0EoaiEdIAtBIGohHiALIglBGGoiFBB5IAlBEGoiDxB5IAlBCGoiGBB5IAlB4AFqIgYQVyAJQcQBaiIVEFcgCUGoAWoiBxBXIAlBjAFqIhAgBBBVIAlBiAFqIh8QVyAJQewAaiINIB8QrAYgAkEDIAJBEHRBEHVBA0obIhdB//8DcSIRQX1qQQIQTkH//wNxQQIgF0H//wNxQQdIGyEZIAYgACkCADcCACAGIAApAgg3AgggBiAAKQIQNwIQIAYgACwAGDoAGCAJQdAAaiIIIAYQuAIgFCAIKQMAIio3AwAgFC4BACEEIBlBEHRBEHUhDkEBIQIDQCACQRB0QRB1IAFBEHRBEHVIBEAgCCAGELgCIAJBAWpBEHRBEHUhAiAIKQMAISoMAQsLIBQgKjcDACAULgEEIRogESAOayEhQQQQTyIFEFcgByAFEJYBQQEgEWsgDkEBdGogBEH//wNxIA5qIgRBEHRBEHUiEmoiC0H//wNxIQIDQCASIAJBEHRBEHVOBEBBMBBPIhsgAhChLiAHIBsQoAEgAkEBakEQdEEQdSECDAELCyANIAUQogggBiAAKQIANwIAIAYgACkCCDcCCCAGIAApAhA3AhAgBiAALAAYOgAYIAggBhC4AiAUIAgpAwAiKjcDACAOIBFqISQgISAaakEQdEGAgHxqQRB1ISUgAUEQdEEQdUF/aiEiIBogDmshJiAXQRB0QRB1tyEuQQAhAEQAAADg///vRyEsQQAhAkEBIRZBACERAkACQANAAkBBBBBPIhwQVyAHIBwQlgEgBEEQdEEQdSEEIAtBEHRBEHUgIWoiG0EQdEEQdSEjA0AgEUEQdEEQdSABQRB0QRB1SCAjIBQuAQRKcQRAIAggBhC4AiAUIAgpAwAiKjcDACARQQFqQRB0QRB1IREMAQsLIBUgBikCADcCACAVIAYpAgg3AgggFSAGKQIQNwIQIBUgBiwAGDoAGCAPICo3AwAgCCAVELgCIBggCCkDACIrNwMAICQgBGoiJ0EQdEEQdSEoQX8hBEF/IQsgESEFIBtB//8DcSEKA0AgKCAKQRB0QRB1IgxIICUgDEhyRQRAIApBEHRBEHUgGkghEyAFIRIDQAJAIBMgEkEQdEEQdSABQRB0QRB1SHFFDQAgCkEQdEEQdSAPLgEETA0AIA8gKzcDACAIIBUQuAIgEkEBakEQdEEQdSESIAgpAwAhKwwBCwsgGCArNwMAAn8CQCAPLgEAIgUgDmogDE4NACATIA8uAQQgDmsgDEpxRQ0AICIgEkEQdEEQdUoEQCAKQRB0QRB1IBguAQBODQELQciO+QArAwAgLqIiLSAMIAVrt2MEQCAtIA8uAQQgDGu3Yw0BCyADIAwQrgFB//8DcSETQTAQTyIFIApBASATIBYgFyAZIA0QgQEQhBAgBQwBCwJ/IApBEHRBEHUgDy4BACIFTCAMIAVBEHRBEHVrIA5KckUEQCAMIAVB//8DcWtB//8DcQwBCyAPLgEEIgUgCkEQdEEQdUoEfyAFQRB0QRB1IAxrIA5KBH9BAAUgIiASQRB0QRB1SgRAQQAgCkEQdEEQdSAYLgEATg0DGgsgBUH//wNxIAxrQf//A3ELBUEACwshE0EwEE8iBSAKQQAgEyAWIBcgGSANEIEBEIQQIAULIRMgBSgCEARAIAcgBRCgASAmIAxMBEAgBUEBOgAFIAUrAygiLSAsYwRAIAoiBCELIAUhACAtISwgFiECBSAtICxhBEAgCiAEIAxBf2ogBEEQdEEQdUYbIQQLCwsFIBMQTAsgEiEFIApBAWpBEHRBEHUhCgwBCwsgHCgCAARAIAtBEHRBEHVBAWoiCyAEQRB0QRB1IgRIBEAgBxBbIAsgBGpBAhBOQRB0QRB1IQQDQAJAIAcQWQ0AIAcQUygCDCAERg0AIAcQVgwBCwsgBxBTKAIMIARGBEAgBxBTIQALCwUgAA0BAn8gDRCBASEpIAkgKjcDACAgIAkpAgA3AgAgCCAGKQAANwAAIAggBikACDcACCAIIAYpABA3ABAgCCAGKAAYNgAYICkLICAgCCAWIBcgGSAcEKAuQQAhAAsgDSAcEKIIICMgGk4NAiAWQQFqQRB0QRB1IRYgJyEEIBshCwwBCwsMAQsgAEUEQCAeQc3hGTYCACAeQbwCNgIEQayt+QBBueEZQQJBx+scIB4QUUEAIQALCyANEJ4BA0AgDRCNAUUEQCAHIA0QgQEQlgEgBxBbA0ACQCAHEFkNACAHEFMgAEYNACAHEFYMAQsLIAcQUyAARgRAIBAgBxCfASIAEK8FIAAoAhAhAAsgDRCrARoMAQsLIAAEQCAdQc3hGTYCACAdQdYCNgIEQayt+QBB6+EZQQJBx+scIB0QUQsgCUEwaiEAIBAQtQEEQCAAQc3hGTYCACAAQdcCNgIEQayt+QBB/+EZQQJBx+scIAAQUQsgCUE4aiEAIBAQ9QMgEBBTKwMYIiwgLKIgAkEQdEEQdbejISwgEBBTKwMgICyhRAAAAAAAAAAAYwRAIBAQUysDICEtIBAQUysDGCEuIAAgLTkDACAAIC45AwggACACQRB0QRB1NgIQQZPiGSAAEEsLIB8Qny4gEBBTKwMgICyhIS8gHxDvASAJJAYgLwu1BAQLfwF+AX0BfCMGIQsjBkGwAWokBiALQThqIRMgC0EwaiESIAtBKGohFCALQRBqIQ8gC0GUAWoiDCAAENQBEFUgC0H4AGoiEBBXIAtBCGoiERB5IAtB9ABqIg4QVyALQdgAaiINEFcgC0E8aiIVIAcQVSAGQQA7AQAgDBC1AQR9IAVBADsBACAEQwAAIEGUBSAMEFtBACEHA0AgCyAMELgCIAspAwAhFiAHQQFqQRB0QRB1IQcgDBBZRQ0ACyARIBY3AwAgECAMKQIANwIAIBAgDCkCCDcCCCAQIAwpAhA3AhAgECAMLAAYOgAYIAwgByAEEGUgASACIANBqI35ACsDACAAKgIsu6K2IAUgDiAJIAoQtQwhGCAIBEAgES4BBCECIBEuAQYhASAOEJoCQX9qIQAgDyACQRB0QRB1NgIAIA8gAUEQdEEQdTYCBCAPIAA2AgggDyAYOQMQQdjiGSAPEEsgDSAOEJYBIA0QWwNAIA0QWUUEQCANEFMsAAQEQEGw4RkgFBBLCyASIA0QUygCDDYCAEG04RkgEhBLIA0QVgwBCwtBwpMfIBMQSwsgDSIBIA4QlgEgARBbA0AgARBZRQRAIAEQUygCDCECQQgQTyIAIAJB//8DcUEAEPgCIBUgABCgASABEJcDBEAgBiABEFMuAQg7AQALIAEQVgwBCwsgDhCvBiAFLgEAIgBBAEoEfCAYIAC3o58FIARDAAAgQZS7C7YLIRcgDhCvBiALJAYgFwuSBQIIfwR8QQFBH0EAIAlBEHRBEHUiD0ECEE5BEHRBgIB8akEQdSAJQRB0QRB1QQJIGyAJQRB0QRB1QcEAShsiDnQhDCAAQQxqIgsgASACQRB0QRB1Ig1Bf3MgA0EQdEEQdSIKaiIDQTBsaigCDEEBdCAMQQF0QX9qcSICNgIAIAcgChCuAUEASgRAIAsgAkEBciICNgIACyAAQRBqIgsgASADQTBsaigCEEEBdiIDNgIAIAcgDiAKahCuAUEASgRAIAsgAyAMcjYCAAsgACAKNgIIIABBKGoiDEQAAADg///vRzkDACAAQRRqIg5BADYCACAAIARB/wFxQQBHIgs6AAAgAEEAOgABIABBBGoiEEEAOwEAIABBAmoiEUH//wE7AQAgCiAPayIDIA1OBEAgASADIA1rIgNBMGxqIQ0gCiABIANBMGxqKAIIayEEIAEgA0EwbGosAAFFBEAgASADQTBsai4BAiIKQf//AUcEQEGAjfkAKwMAIhJEAAAAAAAAAABkBH8gASADQTBsaigCECACcyECQQAhBwNAIAIEQCACQX9qIAJxIQIgB0EBakEQdEEQdSEHDAELCyASIAdBEHRBEHW3oiAIu6MQWgVBAAshAiAMIAEgA0EwbGorAxggBLegIhQgASADQTBsai8BBEEBaiIHQRB0QRB1tyIVoyISIAlBEHRBEHW3oSITIBOiIAEgA0EwbGorAyAgBCAEbLegIAJB//8DcSAGQf//A3FqQRB0QRB1IgIgAmy3oCITIBWjIBIgEqKhoDkDACAOIA02AgAgACAUOQMYIAAgEzkDICARIAsgCkH//wNxajsBACAAIAEgA0EwbGovAQYgBUH/AXFqOwEGIBAgBzsBAAsLCwtVAQF/IABBBGoiAigCACEAA0AgAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAiACKAIAQTBqIgA2AgAgAUF/aiIBDQALCzQBAX8gAUHVqtUqSwRAEAQFIAAgAUEwbBBPIgI2AgQgACACNgIAIAAgAiABQTBsajYCCAsLyhACGH8FfCMGIQwjBkHgAGokBiAMIhZBLGohGSAMQSBqIRcgDEE4aiISIAcQVSAIQRB0QRB1IQsgAkEDIAJBEHRBEHVBA0obIhNB//8DcSIYQX1qQQIQTiIMQf//A3EhCgJ8QciO+QArAwAhJSABQRB0QRB1IQcgAEEQdEEQdSIQIQADQCAAQQFqIQEgACAHSCAEIAAQrgFFcQRAIAEhAAwBCwsgAkEQdEEQdSECIAlBEHRBEHUgC2shESAMIANBEHRBEHVIIQwgJSATQRB0QRB1t6ILEFohDSAAQRB0QRB1IQ8gByEJA0AgCUF/aiEBIAkgD0ogBCAJEK4BRXEEQCABIQkMAQsLIBEgAhDIASEOIABB//8DcSEBIAAgGGsiAkH//wNxIREgGSATQQF0Qf//A3FBAXIgAGsgCWoQlxggFyAKIAMgDBsiD0EQdEEQdSIUQQF0IhpBAXIiGxCPECACQRB0QRB1IRUgGSgCACEKIBEhBwNAIAdBEHRBEHUgAUEQdEEQdUgEQCAKIAdBEHRBEHUgFWtBMGxqIAogESAEIBMgB0EAELQMIAdBAWpBEHRBEHUhBwwBCwsgCUH//wNxIRxBACEBA0AgAUEQdEEQdSAPQRB0QRB1TARAIAogB0EQdEEQdSAVa0EwbGogCiARIAQgEyAHIAEQtAwgAUEBakEQdEEQdSEBIAdBAWpBEHRBEHUhBwwBCwsgAEH//wNqISEgB0EQdEEQdSEDIBcoAgAhDEEAIQJBACAUQRB0a0EQdSEAA0AgACAUSARAIAwgAmogBCAAIANqEJUYQQFxOgAAIAJBAWohAiAAQQFqIQAMAQsLICFB//8DcSEBIAMgDUEQdEEQdSINaiIAQQFqQf//A3EhAyAAQf//A3EhAANAAkAgAEEQdEEQdSAHQRB0QRB1SARAIAMhAAwBCyAEIABBEHRBEHUQrgFBAEoEQCAAQX9qQRB0QRB1IQAMAgsLCyAJIBRrIR0gCEH//wNxIA5B//8DcXJFIR4gCyAQaiEfIA5BEHRBEHUhICAAIQMDQCAdIAdBEHRBEHUiCEoEQCAMIAJqIAQgCCAUahCVGEEBcToAACACQQFqQQAgAiAaSBshAgJAIAQgCBCuAUEASgRAQQEhAANAIABBEHRBEHUgD0EQdEEQdUoNAiAEIABBEHRBEHUiCyAIahCuAUEATA0CIAQgCCALaxCuAUEASgRAIABBAWpBEHRBEHUhAAwBCwsFIAchAUEAIQALCyAAQRB0QRB1IA9BEHRBEHVKBEACQCAIIAFBEHRBEHVrIA1KBEAgA0EQdEEQdSAIayANSgRAIAIgFGohC0EAIQADQCAAQRB0QRB1IA9BEHRBEHVKDQMgDCALIABBEHRBEHUiDmoiECAbQQAgECAaShtraiwAAA0DIAwgCyAOayIOIBtBACAOIBpKG2tqLAAARQRAIABBAWpBEHRBEHUhAAwBCwsLCwsgBCAIEK4BIRAgAEEQdEEQdSAPQRB0QRB1SgR/QQEhC0EAIQ4gEEH//wNxBUEAIQtBASEOIBCyIAWVEGUiECAAIABBEHRBEHUgEEEQdEEQdUgbCyEABUEAIQtBACEOCwJAAkAgHg0AQYqp+QAtAABFDQAgCCAfayAYEMgBICBMDQAgCiAIIBVrQTBsaiAKIBEgByALIA4gACAEIAUgExCkLgwBCyAKIAggFWtBMGxqIAogESAHIAsgDiAAIAQgBSATIA8QswwLIAdBAWpBEHRBEHUiByEAAkACQCADQRB0QRB1IAdIBEAgACANaiEADAEFIAAgDWoiACADQRB0QRB1IghGBEAgCCEADAILCwwBCyAAQQFqQf//A3EhAwsgAyAAQf//A3EgBCAAEK4BQQBKGyEDDAELCyAJIBhqIQ5B//8BIQFB//8BIQJEAADA////30EhIkEAIQBBACEDA0AgDiAHQRB0QRB1IgtKBEAgCiALIBVrIg1BMGxqIAogESAHQQBBACAJIAtrQf//A3FBACAHQRB0QRB1IBxBEHRBEHVIGyAEIAUgEyAPELMMIAogDUEwbGpBAToAAQJAIAogDUEwbGouAQIiCCAKIA1BMGxqLgEEIgxqIAFBEHRBEHUgAkEQdEEQdWpMBEAgCCACQRB0QRB1SARAIAwhASAIIQIgCiANQTBsaisDKCEiIAciACEDDAILIAggAkEQdEEQdUYEQCAKIA1BMGxqKwMoIiMgImMEQCAMIQEgCCECICMhIiAHIgAhAwUgAEEQdEEQdUEBaiALRgRAIAogDUEwbGorAyggImEEQCAHIQALCwsLCwsgB0EBakEQdEEQdSEHDAELCyACQf//A3FB//8BRgRAIBZBqeAZNgIAIBZBkwU2AgRBhK0WQcfgGUECQcfrHCAWEFELIBZBCGohAiAKIABBEHRBEHUgA0EQdEEQdWpBAhBOIBVrQTBsaiEAIAZBfzsBACAUIBhrIQcDQCAAKAIIIgMgFGshCCAHIANqQf//A3EhAwJAAkADQCAIIANBEHRBEHUiCUoEQCAEIAkQrgENAiADQQFqQRB0QRB1IQMMAQsLDAELIAYgBi4BAEEBajsBAAtBMBBPIgMgABCWGCASIAMQrwUgACgCFCIADQALIBIQ9QMgEhBTKwMYIiIgIqIgAUEQdEEQdbejISIgEhBTKwMgICKhRAAAAAAAAAAAYwRAIBIQUysDICEjIBIQUysDGCEkIAIgIzkDACACICQ5AwggAiABQRB0QRB1NgIQQZPiGSACEEsLIBIQUysDICAioSEmIBcoAgAiAARAIBcgADYCBCAAEEwLIBkQugIgFiQGICYLtAcCD38BfSMGIRMjBkEgaiQGIBNBEGohFCAGIAUoAgA2AgAgBSoCACEZQZqp+QAtAABFBEAgGRBlQRB0QRB1IhBBhKf5ACgCACIKSgRAQX8gCkEBdEEBciIKQQR0IgtBBGogCkH/////AEsgC0F7S3IbEE8iFSAKNgIAIBVBBGoiESAKQQR0aiELIBEhCgNAIAoQjgcgCkEQaiIKIAtHDQALQQBBhKf5ACgCACIKayELA0AgCyAKTARAIBEgCiALakEEdGpBACALQQFqIgsgEGoQsAYaQYSn+QAoAgAhCgwBCwsgAkEQdEEQdSENIAIhCwNAIAtBEHRBEHUhDiALQRB0QRB1IANBEHRBEHVMBEAgDiANayEPQQAgCmshDANAIAwgCkwEQCARIAogDGpBBHRqIA8gDCAQahDIASABIA4QrgEQiAEgDEEBaiEMQYSn+QAoAgAhCgwBCwsgC0EBakEQdEEQdSELDAELCyARIApBBHRqQQAQrgEhC0EAIQxBACEOQQAgCmshDQNAIA0gCkwEQCANIBBqIRYgDUH//wNxIRdBACEPA0AgFiAPQRB0QRB1IhJKBEAgESAKIA1qQQR0aiASEK4BIhggC0ghEiAYIAsgEhshCyAXIAwgEhshDCAPIA4gEhshDiAPQQFqQRB0QRB1IQ8MAQsLIA1BAWohDQwBCwsgCQRAIBMgBSoCALs5AwAgEyAMQRB0QRB1Igo2AgggEyALNgIMQYjjGSATEEsFIAxBEHRBEHUhCgsgBSAQIApqIhBB//8DcUEQdEEQdbIiGTgCACALQQF0QQJqIQ0gDkEQdEEQdSIMIBBBEHRBEHUiDmshD0GEp/kAKAIAIRAgDEH+/wNqQf//A3EhCwNAAkAgDyALQRB0QRB1IhJODQAgESAQIApqQQR0aiASIA4QyAEQrgEgDUoNACALQX9qQRB0QRB1IQsMAQsLIA4gDGohDyAMQQJqQf//A3EhDANAAkAgDyAMQRB0QRB1IhJMDQAgESAQIApqQQR0aiASIA4QyAEQrgEgDUoNACAMQQFqQRB0QRB1IQwMAQsLIAAgASACIAMgBCAZIAYgByAIIAkgCyAMELYMIRkgCQRAIBQgBSoCALs5AwAgFCAZuzkDCEHA4xkgFBBLC0H6qPkALQAABEAgACABIAIgAyAEIAUqAgAQmBgLIBUoAgAiAARAIBEgAEEEdGohAANAIABBfGooAgAQhAEgAEFwaiIAIBFHDQALCyAVEEwLCyATJAYgGQvgCgMSfwJ9A3wjBiEFIwZBoAFqJAYgBUEYaiESIAVBCGohDiAFQTBqIQsgBUH0AGoiDyABEFUgBUHgAGoiCRCOByAFQdAAaiIKEI4HQeCL+QArAwAgAEEsaiIQKgIAu6KbEFohAQJAAkACQCAAQRBqIhEoAgBBAWsOAwABAAELQQAhAQwBCyAJQQAgARCwBhogCkEAIAEQsAYaIA8QWyAAQQlqIRQgAEE0aiEVQQAhAUEBIQwDQCAPEFlFBEACQAJAIA8QUyIEKAIYKAIEIg1FDQAgDSgCDBDuAQ0ADAELIAsgBBDsARB9IAsQlAEgDCADRiENA0AgCxCOAUUEQCALEHAiCCoCLCEXAkACQCAULAAABEBBqIj5ACsDACIYRAAAAAAAAPA/oCAQKgIAIBUqAgCSuyIZoiAXIAgqAjSSuyIaZEVEAAAAAAAA8D8gGKEgGaIgGmNFcg0BBUGoiPkAKwMAIhpEAAAAAAAA8D+gIBAqAgC7IhmiIBe7IhhkRUQAAAAAAADwPyAaoSAZoiAYY0VyDQELIAgoAhAiE0EBRiEEIA0EQCAEBEBB7Kb5ACgCACEEIAkgCCoCFBBlIAQQiAEgBCAGaiEGDAMLAkACQAJAAkAgE0ECaw4FAAECAAIDCyAJIAgqAhQQZUEBEIgBIAZBAWohBgwFCyAGQeym+QAoAgBrIQYMBAsgBkF/aiEGDAMLBSAEBEBB7Kb5ACgCACEEIAogCCoCFBBlIAQQiAEgBCAHaiEHDAMLAkACQAJAAkAgE0ECaw4FAAECAAIDCyAKIAgqAhQQZUEBEIgBIAdBAWohBwwFCyAHQeym+QAoAgBrIQcMBAsgB0F/aiEHDAMLCwwBCwJAAkACQAJAAkAgCCgCEEEBaw4GAAECAwEDBAtB7Kb5ACgCACABaiEBDAQLIAFBAWohAQwDCyABQeym+QAoAgBrIQEMAgsgAUF/aiEBCwsgCxB4DAELCyAMQQFqIQwLIA8QVgwBCwsgBkHspvkAKAIASgRAIAAgCUQAAAAAAADgPxDOAbY4AhQgEUEFNgIADAELIAdBAEoEQCAAIApEAAAAAAAA4D8QzgG2OAIUIBFBBTYCAAwBCyARQQY2AgAgAUEASiAGIAdyRXEEQEGqqfkALQAARQRAQfqo+QAtAABFDQILIAUgAjYCACAFIAM2AgRBod0ZIAUQSwsLQfqo+QAtAAAEQCAOIAY2AgAgDiAHNgIEIA4gATYCCEHm3RkgDhBLIAAqAjS7IRggEiAQKgIAuzkDACASIBg5AwhBiN4ZIBIQSwsgBUEoaiEBIAVBkAFqIQ0gBUHwAGohDAJAAkACQCARKAIAQQNrDgQBAgABAgsCQCAAQRRqIgQqAgAiFkHQr/kAKAIAsl0EQCAGQQBKBEAgBCAJRAAAAAAAAOA/EM4BtiIWOAIADAILIAdBAEogBkVxBEAgBCAKRAAAAAAAAOA/EM4BtiIWOAIABSABIAI2AgAgASADNgIEQZXeGSABEEsgBCAQKAIAIgE2AgAgAb4hFgsLCyAWQdCv+QAoAgCyIhddBEAgBCAXOAIAIBchFgsgACAWQwAAgD6UOAJMIABBQGsgFrsiGEQzMzMzMzPjP6IQWiIBNgIAIAAgGESamZmZmZnZP6IQWiICNgJEIAAgASACakECEE42AkggACAWOAJQIABB2ABqIgEoAgBFBEAgABDUASgCAARAIAAgAEHoAGogAC4BDCAALgEOIBYgAkEDbLKSQwAAgD6UIAQgDCANIAFBABCGEBoLCwwBCyAAQwAAAAA4AhQgAEHYAGoQ7gILIAooAgwQhAEgCSgCDBCEASAFJAYL9gMBDX8jBiEDIwZB0ABqJAYgA0EIaiELIANBQGsiB0EANgIAIANBPGoiCEEANgIAIANBOGoiCUEANgIAIANBNGoiCkEANgIAIANBMGoiDEEANgIAIANBLGoiDUEANgIAIANBKGoiDkEANgIAIANBDGoiBiAAEOwBEH0gBhCUASAAQRhqIQ8DQCAGEI4BRQRAIAYQcCIFKgIsQwAAAABeRQRAIANB5+MZNgIAIANBwwQ2AgRB8Kn5AEGL7xlBAkHH6xwgAxBRCyAFQRRqIgQqAgBDAAAAAF4EQCAFIA8oAgAgARCeLiAEKgIAQwAAAABbBEAgBSgCJCEEIAUgBSgCIDYCUCAFIAQ2AkwLCyAGEHgMAQsLIAAgByAIIAkgCiANIA4gDBCUGAJAIAIEQEGqqfkALQAARQRAQeqn+QAtAABFBEBB+qf5AC0AAEUNAwsLQYTkGSALEEsgACABEJ0uCwsCQCAHKAIAIgFB7Kb5ACgCACIEIAgoAgAiAmxKBEAgAEEBNgIcBSACIAQgAWxKBEAgAEEDNgIcDAILIAFBAEogAkEASnIEQCAAQQA2AhwMAgsgCSgCACICIAQgCigCACIBbEoEQCAAQQI2AhwMAgsgAEEcaiEAIAEgBCACbEoEQCAAQQQ2AgAFIABBADYCAAsLCyADJAYLqQYDD38CfQJ8IwYhAyMGQbABaiQGIANBgAFqIQogA0HcAGohCyADQaABaiENIANBQGshBCADQYQBaiIFIAAQVSADQfAAaiIIEI4HIANB4ABqIglBAEHkABCxASAFELUBRQRAQbqo+QAtAAAEQCABIAEgAZRDAACAP5KVIQEgBCAFEFMQ7AEQfSAEEHAuAQy3IRMgBBBwQdwAaiATEKoCtiESIAUQW0H//wEhAEGBgH4hBwNAIAUQWUUEQCAEIAUQUxDsARCvAyAEEJQBA0AgBBCOAUUEQCAEEHAiAioCFCIRQwAAAABeBEAgCSAREGVBARCIAQsgASASIAJB3ABqIBMQqgK2k5QhESACLgEMsiARkxBlIQYgAi4BDrIgEZMQZSECIAQQeCAMQQFqIQwgBiAAIABBEHRBEHUgBkEQdEEQdUobIQAgAiAHIAdBEHRBEHUgAkEQdEEQdUgbIQcMAQsLIAUQVgwBCwsgCSgCCARAIAggAEEQdEEQdSAHQRB0QRB1ELAGGiAFEFsDQAJ/IAUQWSEQIAQgBRBTEOwBEK8DIBBFCwRAIAQQlAEDQCAEEI4BRQRAIAQQcCICQdwAaiATEKoCtiERIAJBDmohDiACQegAaiEPIAIuAQwiBiECIAayIAEgEiARk5STEGUhBgNAIAIgDi4BAEgEQCAIIAZBEHRBEHUgDyACEK4BEIgBIAJBAWohAiAGQQFqQRB0QRB1IQYMAQsLIAQQeAwBCwsgBRBWDAELCyAEEHAhBCAKIAlEAAAAAAAA4D8QzgG2IgE4AgAgARBlIgVBEHRBEHUhAiAEIAggACAHIAVBEHRBEHW3RAAAAAAAAOg/orYgCiALIA0gBEHYAGoiAEEAEIYQIQFB+qj5AC0AAARAIAoqAgC7IRMgCyoCALshFCADQQA2AgAgA0EANgIEIAMgAjYCCCADIBM5AxAgAyABuzkDGCADIBQ5AyAgAyABIAyylSISuzkDKCADIAEgBUEQdEEQdbIiAZW7OQMwIAMgEiABlbs5AzhB9uQZIAMQSwsgABDuAgsLCyAJKAIMEIQBIAgoAgwQhAEgAyQGC9wCAwZ/An0BfCMGIQQjBkEwaiQGIARBCGohAyAEEHkgBCAAKAIYQQRqEMMBKQEANwMAIAIEQEGqqfkALQAABEAgBC4BACEFIAQuAQIhBiAELgEEIQcgBC4BBiEIIAMgATYCACADIAU2AgQgAyAGNgIIIAMgBzYCDCADIAg2AhBB3OUZIAMQSwsLIARBIGohAyAAQUBrQZCL+QArAwAgACoCMCIJuyILopwQWiIFNgIAIABBwIr5ACsDACALopsQWiIGNgJEIABDAAAAADgCNCAAIAWyOAI8IAAgBrI4AjggAEGwh/kAKwMAIAuitiIKOAJUIABB6IX5ACsDACAKu6K2OAJQIAAQ7AEoAgAEQCAJQwAAAABeRQRAIANB5+MZNgIAIANB1QI2AgRB8Kn5AEHp7hlBAkHH6xwgAxBRCyAAEJMYIAAgAUGqqfkALQAAQQBHIAJxEJwuCyAEJAYL+AsCEn8BfiMGIQYjBkHwAGokBiAGQRhqIREgBkHIAGoiBBBXIAZBEGoiCBB5IAZBCGoiCRB5IAZBOGoiDkEAQYABELEBIABBCGoiC0EANgIAIABBAmoiB0H//wE7AQAgAEEEaiIMQYGAfjsBACAAQQA7AQAgAEEOaiIQQQA6AAAgBkEcaiIFIAEQ7AEQfSAFEJQBA0AgBRCOAUUEQCAFEHAiARDUASICKAIABEAgACAALgEAQQFqOwEAIA4gASoCLLtEAAAAAAAA4D+gnBBaQRB0QRB1QQEQiAEgBCACEJYBIAQQUxBiLgEAIQEgBEF/EIwDEGIuAQQhAiAHLgEAIAFBEHRBEHVKBEAgByABOwEACyAMLgEAIAJBEHRBEHVIBEAgDCACOwEACwsgBRB4DAELCwJAAkAgAC4BAEEDSA0AIAcuAQAgDC4BAE4NACAAQQZqIg8gDhDjAUQAAAAAAADgP6CcEFpBEHRBEHVBAhBOIgE7AQAgAEEMaiINIAwuAQAgBy4BAGsgAUEQdEEQdRBOIgFB//8DcSICOwEAIAtBfyABQRB0QRB1QQFqIgFBAXQgAUH/////B0sbEE8iAzYCAEEAIQEDQCABQRB0QRB1IAJBEHRBEHVMBEAgAyABQRB0QRB1QQF0akEAOwEAIAFBAWpBEHRBEHUhAQwBCwsgBRCUAQNAIAUQjgFFBEACQCAFEHAiARDUASICKAIABEAgBCACEJYBIAQQWyAGIAQQuAIgCCAGKQMAIhQ3AwAgCSAUNwMAQba0+QAtAAAEQCAILwEAIAcuAQAiAkH//wNxa0EQdCIDQYCACEpBgJf5ACsDACABQSxqIgEqAgC7oiADQRB1t2NxBEAgCC4BACACayAPLgEAEE4hAiANLgEAIgMgAkH//wNxIAJBEHRBEHUgA0obIQNBACECA0AgAkEQdEEQdSADQRB0QRB1TARAIAsoAgAgAkEQdEEQdUEBdGoiCiAKLgEAQQFqOwEAIAJBAWpBEHRBEHUhAgwBCwsLBSABQSxqIQELA0AgBBBZRQRAIAYgBBC4AiAIIAYpAwAiFDcDAAJAIAgvAQAgCS8BBGtBEHQiAkGAgAhKQYCX+QArAwAgASoCALuiIAJBEHW3Y3EEQAJ/IAguAQAhEyAJLgEEIAcuAQAiA2sgDy4BACIKEE5B//8DcSECIBMgA2sLIAoQTiEDIA0uAQAiCiADQf//A3EgA0EQdEEQdSAKShshAwNAIAJBEHRBEHUgA0EQdEEQdUoNAiALKAIAIAJBEHRBEHVBAXRqIgogCi4BAEEBajsBACACQQFqQRB0QRB1IQIMAAALAAsLIAkgFDcDAAwBCwtBtrT5AC0AAARAIAwvAQAgCS8BBGtBEHQiAkGAgAhKQYCX+QArAwAgASoCALuiIAJBEHW3Y3EEQEEAIAkuAQQgBy4BAGsgDy4BABBOIgFB//8DcSABQYCAAnEbIQEDQCABQRB0QRB1IA0uAQBKDQQgCygCACABQRB0QRB1QQF0aiICIAIuAQBBAWo7AQAgAUEBakEQdEEQdSEBDAAACwALCwsLIAUQeAwBCwtBprT5ACwAACEIQQAhAQNAIAFBEHRBEHUhAiABQRB0QRB1IA0uAQAiB0wEQAJAIAsoAgAiBCACQQF0aiIJLgEAIAAuAQBBAhBOIgVBEHRBEHVKBEACQCAIQf8BcQRAAkACQCABQf//A3ENACAEIAJBAWpBAXRqLgEAIAVBEHRBEHVKDQAMAQsgAUEQdEEQdSAHRgRAIAQgAkF/akEBdGouAQAgBUEQdEEQdUwNAQsgAUEQdEEQdUEASiABQRB0QRB1IAdIcUUNAiAEIAJBf2pBAXRqLgEAIAVBEHRBEHVKDQIgBCACQQFqQQF0ai4BACAFQRB0QRB1Sg0CCyAJQQA7AQAMAwsLIBBBAToAAAsLIAFBAWpBEHRBEHUhAQwBCwtBxrT5AC0AAARAIBAsAAAEQEGU3RkgERBLCwsMAQsgAEEAOwEMIABCADcCAAsgDigCDBCEASAGJAYLswUCDH8DfSMGIQUjBkHwAGokBiABKgJQIQ8gASoCTCEQIABB+AJqIgkoAgBBCkoEQEHu2hkgBRBLCyAFQcgAaiEGIAVBKGohByAFQSBqIQwgBUEQaiEKIAVBCGohAyAPIBBDAABAQJRfRSAPQwAAIEFfRSACKAIIIgBBGUpxcQRAIAC3RAAAAAAAAOg/oiACIBAgDyAQk0MAAEBAlSIRkrtEAAAAAAAA4D+gmxBaEJoYQRB0QRB1t2RFBEAgCSgCAEEKSgRAQYbbGSADEEsLIBG7RAAAAAAAAOA/oJwQWiEAIBCNEGUhDiAAQQMgAEEQdEEQdUEDShtB//8DcSELIA+OEGVBEHRBEHUhDUEAIQAgDkEQdEEQdSEIA0ACQCAIIA1ODQAgCEH//wNxIQMgAiAIEK4BBH8gBEEQdEEQdSALTg0BQQAFIAAgAyAEQf//A3EbIQAgBEEBakEQdEEQdQshBCAIQQFqIQgMAQsLIAkoAgBBCkoEQCABKAJIIQMgCiALNgIAIAogBEEQdEEQdSICNgIEIAogAEEQdEEQdTYCCCAKIAM2AgxBidsZIAoQSwUgBEEQdEEQdSECCyACIAtOBEAgAUHIAGoiAygCACIBIABBEHRBEHUiAkggASAIQRB0QYCAfGpBEHUiBEpyBEAgCSgCAEEKSgR/QcPbGSAMEEsgAygCAAUgAQsiACACSARAIAkoAgBBBUoEQCAHIBC7OQMAIAcgD7s5AwggByACNgIQIAcgBDYCFCAHIAA2AhggByACNgIcQcbbGSAHEEsLIAMgAjYCACACIQALIAAgBEoEQCAJKAIAQQVKBEAgBiAQuzkDACAGIA+7OQMIIAYgAjYCECAGIAQ2AhQgBiAANgIYIAYgBDYCHEHG2xkgBhBLCyADIAQ2AgALCwsLCyAFJAYL3AkEGX8CfgN9AnwjBiEIIwZB0AFqJAYgCEH4AGohByAIQdgAaiEKIAhBOGohCyAIQTBqIQ0gCEEoaiEWIAhBIGohFyAIQRBqIRggCEGwAWoiCSABENQBIhQQVSAIQaABaiIOQQBBgAEQsQEgCEGQAWoiD0EAQYABELEBIAhBgAFqIhVBAEGAARCxASAIQRhqIhAQeSAIQQhqIhkQeSADEOMBtiEiIAMgAEH4C2orAwAgAUEsaiIaKgIAu6IiJSAAQdALaisDACAiu6IiJiAmICVjG7YiI40QZRCaGCESAn8CQCADKAIIIhFBEHRBEHUiDCAAKAKoA0wNACAMIBJBEHRBEHVKIABBuAlqKwMAIBJBEHRBEHWyIBFB//8DcUEQdEEQdbKVu2RFcUUNACAJIBQQlgEgCRBbIAlBfxCMAxBiLgEEIR4gAEHmAGoiGy0AAARAIAcgCRCbAyAQIAcpAwAiIDcDACAAQYYCaiEMBSAAQYYCaiIMLQAABEAgByAAIAEgCRCjBQUgByAJELgCCyAQIAcpAwAiIDcDAAsgHiAQLgEAayEcIABB+AZqIQ0gAEHQBmohEiAAQaYBaiEUICAhIQNAAkAgGSAhNwMAIAkQWQ0AIBstAAAEQCAHIAkQmwMFIAwtAAAEQCAHIAAgASAJEKMFBSAHIAkQuAILCyAQIAcpAwAiIDcDACAQLgEAIhFB//8DcSAZLgEEIh1B//8DcWtBEHRBEHUiE7IiIiAjXiAAIAEgHCACIB0gERC3DEEBc3EEQAJAAkAgDSsDACAaKgIAIiS7IiaiIBO3IiVjDQAgEisDACAmoiAlYwRAIBQtAABFDQEgFiAhNwMAIAcgFikBADcBACAAICQgBxDyA0UEQCAXICA3AwAgByAXKQEANwEAIAAgJCAHEPIDRQ0CCwsgGCAhNwMAIAcgGCkBADcBACAAIAEgBxCxBgRAIAggIDcDACAHIAgpAQA3AQAgACABIAcQsQYNAQsMAQsgDiATQQEQiAELIA8gE0EBEIgBCyAiICNdBEAgFSATQQEQiAELICAhIQwBCwsCfCAOKAIIIgwgACgCkAMiAkgEfCAMQQBKIARxBEAgDhC1CgwCCyAPKAIIIAJIBHwgDxC1CgUgDxDjAQsFIA4Q4wELCyElIAFB0ABqIgQgJbY4AgAgAC0A1gEEQCABQcwAaiICIBUQ4wG2IiI4AgAFIAFBzABqIgIgAxDjAbYiIjgCAAsgAUHIAGoiASAEKgIAIiMgIpJDAAAAP5SOEGUiAzYCACAiIAOyIiRgRQRAIANBAUggIyAkX3JFBEBBASAAKAL4AkEFTA0DGiAKIAVBEHRBEHU2AgAgCiAGQRB0QRB1NgIEIAogIrs5AwggCiADNgIQIAogI7s5AxhB6dwZIAoQS0EBDAMLCyAAKAL4AkEFSgRAIAsgBUEQdEEQdTYCACALIAZBEHRBEHU2AgQgCyAiuzkDCCALIAM2AhAgCyAjuzkDGEGv3BkgCxBLCyACQwAAAAA4AgAgAUEANgIAIARDAAAAADgCAEEADAELIAAoAvgCQQVKBEAgDSAFQRB0QRB1NgIAIA0gBkEQdEEQdTYCBEGE3BkgDRBLC0EACyEfIBUoAgwQhAEgDygCDBCEASAOKAIMEIQBIAgkBiAfC5QXBBt/An4EfQN8IwYhByMGQYADaiQGIAdB4AJqIgwgARDUASIQEFUgB0HQAmoiDkEAQYABELEBIAdBwAJqIhNBAEGAARCxASAHQbACaiIWQQBBgAEQsQEgB0GgAmoiFEEAQYABELEBIAdBGGoiCRB5IAdBCGoiDRB5IAVBEHRBEHVBAEoiFQR/IAUFIAEqAixDAAAAP5SOEGULIREgB0GYAmohCCAHQShqIRIgB0EgaiEXIAdBEGohGCAHIQ8gECgCAAR/IAArA7gEIihEAAAAAAAAAABkBH8gKCARQRB0QRB1IAZBEHRBEHUiBWu3okQAAAAAAADgP6CcEFpBEHRBEHUgBWoFIBFBEHRBEHUgBkEQdEEQdWpBAhBOCyEFIAwgEBCWASAMEFsgDEF/EIwDEGIuAQQhISAAQeYAaiIZLQAABEAgCCAMEJsDIAkgCCkDACIiNwMAIABBhgJqIQcFIABBhgJqIgctAAAEQCAIIAAgASAMEKMFBSAIIAwQuAILIAkgCCkDACIiNwMACyAhIAkuAQBrIRAgBUEQdEEQdSEaIAFBLGohGyAAQZYBaiEcIABB+AZqIR0gAEHQBmohHiAAQaYBaiEfA0ACQCAiISMDQAJAIA0gIzcDACAMEFkNAiAZLQAABEAgCCAMEJsDBSAHLQAABEAgCCAAIAEgDBCjBQUgCCAMELgCCwsgCSAIKQMAIiI3AwAgACABIBAgAiANLgEEIgsgCS4BACIgELcMDQAgIEH//wNxIAtB//8DcWtBEHRBEHUiCyAaSARAIBQgC0EBEIgBBQJAAkAgHC0AAEUNACAdKwMAIBsqAgAiJLsiKKIgC7ciKWMNACAeKwMAICiiICljBEAgHy0AAEUNASASICM3AwAgCCASKQEANwEAIAAgJCAIEPIDRQRAIBcgIjcDACAIIBcpAQA3AQAgACAkIAgQ8gNFDQILCyAYICM3AwAgCCAYKQEANwEAIAAgASAIELEGBEAgDyAiNwMAIAggDykBADcBACAAIAEgCBCxBg0BCwwBCyATIAtBARCIAQsgFiALQQEQiAELIA4gC0EBEIgBICIhIwwBCwsgCkEBakEQdEEQdSEKDAELCyAKQRB0QRB1QQFKBH9BAQUgCkH//wNxQQFGBH8gDigCCCAAKALAA0wFQQALCyELIAUFQQAhEEEACyEMIA9BMGohBQJAAkAgEygCCCIHIAAoApADTg0AIAsEQCAHQQBKDQEFIA4oAgggACgC2ANMIAdBAEpxDQELIAAtAMYBBEAgACABIAIgDiALIAMgBBCvLg0CCyAALQCWAQRAIAAoAvgCQQVKBEAgBSADQRB0QRB1NgIAIAUgBEEQdEEQdTYCBEHa1xkgBRBLCwsgAC0AtgFFIBVBAXNyBEAgACABIA4gFiAUIBEgBhCbGAwCCyABQdAAaiICIBFBEHRBEHWyIiQ4AgAgDigCCCAAKAKoA0oEQCAOEOMBtiElIAIqAgAhJAUgBkEQdEEQdbIhJQsgASAlOAJMIAEgJCAlkrsgACsDkASjnBBaNgJIDAELIAAgASAOIBMgFCARIAYQmxgLIAsgAC0A5gJFckUEQCAAIAEgDhCuLgsgD0GoAWohCiAPQYABaiEJIA9B2ABqIQUgD0E4aiEHAkACQAJAIAAoAvADDgIAAQILIAsEQCAAQeAJaiIJKwMAIAFBzABqIgoqAgC7IiqiIiggAUHQAGoiBSoCALsiKWQEQCAAKAL4AkEFSgRAIAFByABqIgIoAgAhDSAHIANBEHRBEHU2AgAgByAEQRB0QRB1NgIEIAcgKjkDCCAHIA02AhAgByApOQMYQYPYGSAHEEsgCSsDACAKKgIAu6IhKAUgAUHIAGohAgsgAiAoEFoiAjYCACAIIAKyQwAAgD+SIiQ4AgAgBSABQSxqIgIgCCAkIAIqAgBdGygCADYCAAsLDAELAn0CQCAAQagLaisDACIoQwAAIEAgAUHMAGoiEioCACIkICRDAAAgQF0bIiW7oiABQdAAaiINKgIAIia7IilkDQAgAEHoDWorAwAgASoCLLuiICYgJJO7ZA0AIAFByABqIgIhByAkISUgAigCACEFICYMAQsCfSARQRB0QRB1siAVRSAoICS7oiARQRB0QRB1t2VFckUNABogASoCLEMAAAA/lCImICUgKLaUIiUgJSAmXRsLISYgACgC+AJBBUoEQCABQcgAaiICKAIAIQcgBSADQRB0QRB1NgIAIAUgBEEQdEEQdTYCBCAFICS7OQMIIAUgBzYCECAFICk5AxggBSAmuzkDIEG12BkgBRBLIBIqAgAhJAUgAUHIAGohAgsgDSAmOAIAIAIgJiAkkrsgACsDkASjnBBaIgU2AgAgAiEHICQhJSAmCyEkIAUgAEGgDGorAwBDAAAgQCAlICVDAAAgQF0bu6KcEFoiAkoEQCAAKAL4AkEFSgRAIAkgA0EQdEEQdTYCACAJIARBEHRBEHU2AgQgCSAluzkDCCAJIAU2AhAgCSAkuzkDGCAJIAI2AiBB8NgZIAkQSyANKgIAISQLIAcgAjYCACAkIAKyIiVfBEAgDSAlQwAAgD+SIiQ4AgALBSAFIQILIAsEQCAkIABBiApqKwMAIAFBLGoiBSoCACIlu6IiKiAAQeAJaisDACASKgIAIie7IimiIiggKCAqYxu2IiZdRQRAIAIgJyAmkkMAAAA/lI4QZU4NAgsgACgC+AJBBUoEfSAKIANBEHRBEHU2AgAgCiAEQRB0QRB1NgIEIAogKTkDCCAKIAI2AhAgCiAkuzkDGEGn2RkgChBLIAUqAgAFICULISQgByAmEGUiAjYCACAIIAKyQwAAgD+SIiU4AgAgDSAFIAggJSAkXRsoAgA2AgALCwJ/IAAtACYEfyABIAEoAkgiBTYCRCABQUBrIAVBAWoiAjYCACAFBSAAKwOoBiABKgIsu6KbEFohAiABQUBrIgcgASoCUBBlIgUgAiAFIAJIGyICNgIAIAIgASgCSCIFTARAIAcgBUEBaiICNgIACyABQcQAaiIVIAEqAkwiJCAFspJDAAAAP5QQZSIJNgIAQQAhB0EAIQoDQAJAIAkgCkEQdEEQdSIIIAlKDQMaIA4gCBCuASINQf//A3EgByANIAdBEHRBEHVKGyEHICQgCkEQdEEQdbJdBEAgB0EQdEEQdbdEmpmZmZmZuT+iIA23ZA0BCyAKQQFqQRB0QRB1IQoMAQsLIBUgCDYCACAICwshByAAQYALaisDACIoRAAAAAAAAAAAZARAIAEqAlAiJCAFsiIlXgRAIAFBQGsgKCAkICWTu6IgBbegmxBaIgggAiACIAhIGyICNgIACwsCQCAAQbAKaisDACIoRAAAAAAAAAAAZARAIAtFBEAgAC0A9gFFDQILIAFBQGsgKCABKgJMu6KbEFoiCCACIAIgCEgbIgI2AgALCyAAQdgKaisDACIoRAAAAAAAAAAAZARAIAFByABqIQggASoCTCIkIAWyIiVdBEAgASAku0QAAAAAAADgP6AgKCAlICSTu6KgnBBaIgc2AkQLBSABQcgAaiEICyAHIAVKBEAgASAFNgJEBSAHIQULIA9BgAJqIQkgD0HIAWohByAAQfgCaiIAKAIAQQVKBEAgASoCTLshKCAIKAIAIQsgASoCULshKSAHIANBEHRBEHU2AgAgByAEQRB0QRB1NgIEIAcgEDYCCCAHIAZBEHRBEHU2AgwgByARQRB0QRB1NgIQIAcgDEEQdEEQdTYCFCAHICg5AxggByAFNgIgIAcgCzYCJCAHIAI2AiggByApOQMwQdfZGSAHEEsgACgCAEEKSgRAIAEqAlC7ISggCCgCACEAIAkgASoCTLs5AwAgCSAoOQMIIAkgADYCEEGi2hkgCRBLCwsgFCgCDBCEASAWKAIMEIQBIBMoAgwQhAEgDigCDBCEASAPJAYL1woEGn8CfgJ9AnwjBiEIIwZBsAFqJAYgCEEwaiEGIAhBKGohGCAIQRhqIRkgCEEIaiEaIAhBiAFqIgcQVyAIQfgAaiIPQQBBgAEQsQEgCEHoAGoiDUEAQYABELEBIAhB2ABqIhBBAEGAARCxASAIQSBqIgkQeSAIQRBqIg4QeSAIQThqIgsgARDsASIUEH0gCxCUASAAQcYAaiEbIABB5gBqIREgAEGGAmohEkGAASEBA0AgCxCOAUUEQAJAIAsQcCIMENQBIgooAgAEQCAbLQAABEACQAJAAkAgDCgCEEEDaw4EAAEBAAELDAELDAMLCyAHIAoQlgEgBxBbIAdBfxCMAxBiLgEEIR8gES0AAARAIAYgBxCbAwUgEi0AAARAIAYgACAMIAcQowUFIAYgBxC4AgsLIAkgBikDACIgNwMAIB8gCS4BAGshFSAJEG4iCiABIApBEHRBEHUgAUEQdEEQdUgbIQEDQCAOICA3AwAgBxBZDQIgES0AAARAIAYgBxCbAwUgEi0AAARAIAYgACAMIAcQowUFIAYgBxC4AgsLIAkgBikDACIgNwMAIAkQbiEKIAkuAQAiFiAOLgEEIhdrIRMgACAMIBUgAiAXIBYQtwxFBEAgDSATQRB0QRB1QQEQiAEgDyATIAkuAQRqIA4uAQBrQQIQTkEQdEEQdUEBEIgBCyAKIAEgCkEQdEEQdSABQRB0QRB1SBshAQwAAAsACwsgCxB4DAELCyANKAIIQQJIBEAgBSABOwEAIARBfzsBACADQQE6AAAFIAMgD0QAAAAAAADoPxDOASAPRAAAAAAAANA/EM4BobZDAAAAQJQgDUQAAAAAAADoPxDOASANRAAAAAAAANA/EM4BobZeOgAAIAUgDRDjAZwQWjsBACALIBQQrwMgCxCUASAAQdALaiEKIABB+AtqIRcgAEGGAWohEyAAQfgGaiEUIABB0AZqIRUgAEGmAWohFgNAIAsQjgFFBEACQCALEHAiARDUASIDKAIABEAgGy0AAARAAkACQAJAIAEoAhBBA2sOBAABAQABCwwBCwwDCwsgFysDACABQSxqIhwqAgC7oiIkIAorAwAgBS4BALeiIiUgJSAkYxu2ISMgByADEJYBIAcQWyAHQX8QjAMQYi4BBCEDIBEtAAAEQCAGIAcQmwMFIBItAAAEQCAGIAAgASAHEKMFBSAGIAcQuAILCyAJIAYpAwAiIDcDACAJLgEAIANrIR0gICEhA0AgDiAhNwMAIAcQWQ0CIBEtAAAEQCAGIAcQmwMFIBItAAAEQCAGIAAgASAHEKMFBSAGIAcQuAILCyAJIAYpAwAiIDcDAAJAIAkuAQAiHkH//wNxIA4uAQQiA0H//wNxa0EQdEEQdSIMsiAjXgRAIAAgASAdIAIgAyAeELcMRQRAAkAgEy0AAARAIBQrAwAgHCoCACIiuyIloiAMtyIkY0UEQAJAIBUrAwAgJaIgJGMEQCAWLQAARQ0EIBggITcDACAGIBgpAQA3AQAgACAiIAYQ8gMNASAZICA3AwAgBiAZKQEANwEAIAAgIiAGEPIDRQ0ECwsgGiAhNwMAIAYgGikBADcBACAAIAEgBhCxBkUNBSAIICA3AwAgBiAIKQEANwEAIAAgASAGELEGRQ0FCwsLIBAgDEEBEIgBCwsLICAhIQwAAAsACwsgCxB4DAELCyAQKAIIQQNIBEAgBEF/OwEABSAQEOMBnBBaIQAgBCAFLgEAQQNsQf//A3EiASAAIABBEHRBEHUgAUEQdEEQdUgbOwEACwsgECgCDBCEASANKAIMEIQBIA8oAgwQhAEgCCQGC4gTBBx/AX4CfQJ8IwYhDyMGQaABaiQGIA9BkAFqIQ4gD0EIaiETIA9BiAFqIRYgD0GAAWohFyAPQfgAaiEYIA9B8ABqIRkgD0HoAGohGiAPQeAAaiEbIA9B2ABqIRwgD0HQAGohHSAPQcgAaiEeIA9BQGshHyAPQThqISAgD0EwaiEhIA9BKGohIiAPQSBqISMgD0EYaiEkAkAgDSwAAARAIA1BADoAAEEBIQEFAn8CQCAAQfAMaisDACABQSxqIhEqAgC7oiABQcwAaiIlKgIAuyIuYw0AIABBmA1qKwMAIi1EAAAAAAAAAABmBEAgLSAuoiAFQRB0QRB1t2QNAQsgBgwBCyAFCyEUAn8CQCAAQZYCaiInLQAARQ0AIAAtAKYCRQ0AIBQMAQsgBQshECAALQAmBEAgEEH//wNxQf//AUYgASgCRCAQQRB0QRB1IgJIIgBBAXNyBEAgACEBDAMLIAFBQGsoAgAgAkwEQCAJIBBBEHRBEHWyIAEqAlCVEGVB/wFxIgFBASABQf8BcRs6AAAgCkEAOgAAIAtBADoAACAAIQEMAwsgASgCSCACSARAIAlBAToAACAKQQE6AAAgC0EAOgAABSAJQQA6AAAgCkEAOgAAIAtBAToAAAsgACEBDAILIAQQugMEQCAMQQE6AAALIBBBEHRBEHUhEiABQcgAaiIVKAIAISkgAUHQAGoiJioCACIrQwAAgD9eBH8gEEEQdEEQdbIgK5UQjAIFIBILISggKSASSCEGIA5B/wE2AgAgCSAoQQEgDhDVAToAACAKQQA6AAAgC0EAOgAAAn8CQCAnLQAARQ0AIAEoAkQiCSAFQRB0QRB1TiAJIBRBEHRBEHVIcQRAIAtBAToAAEEBDAILIBUoAgAiCSAFQRB0QRB1TiAJIBRBEHRBEHVIcUUEQCABQUBrKAIAIgkgBUEQdEEQdUwgCSAUQRB0QRB1SnINAUEBDAILIAAtAMYCBEAgCkEBOgAABSALQQE6AAALQQEMAQsgAC0AVgRAIBYgBCkBADcDACAOIBYpAQA3AQAgASAOEKQIRQRAIBcgAikBADcDACAOIBcpAQA3AQAgASAOEKQIBEAgDUEBOgAAIAYMAwsLCyABQUBrKAIAIBJKBEAgFSgCACICIBJIBEAgAEGQDmorAwAiLUQAAAAAAAAAAGQEfSAtICYqAgAgJSoCACIrk7uiICu7oLYFQ4BPw0cLISwgBBBuQRB0QRB1QQBKBEAgGCAEKQEANwMAIBEqAgAhKyAOIBgpAQA3AQAgACArIA4Q8gNBAXMhASAMLAAARSABckUEQCAAKwOgByADQRB0QRB1t6IgEEEQdEEQdbdmBEBBACAsIBBBEHRBEHWyXSAALQDmAUEAR3JFDQUaIAAtANYCBEAgC0EBOgAABSAKQQE6AAALIAYMBQsLCyAEEG5BEHRBEHVBAEoEQCAZIAQpAQA3AwAgESoCACErIA4gGSkBADcBACAAICsgDhDyAyAMLAAARXEEQCAAKwOgByAQQRB0QRB1t6IgA0EQdEEQdbdlBEBBACAsIBBBEHRBEHWyXSAALQDmAUEAR3JFDQUaIAAtANYCBEAgC0EBOgAABSAKQQE6AAALIAYMBQsLCyAHEG5BEHRBEHVBAEoEQCAaIAcpAQA3AwAgESoCACErIA4gGikBADcBACAAICsgDhDyAyACIAhBEHRBEHVIcQRAIAArA6AHIAhBEHRBEHW3oiAQQRB0QRB1t2YEQEEAICwgEEEQdEEQdbJdIAAtAOYBQQBHckUNBRogAC0A1gIEQCALQQE6AAAFIApBAToAAAsgBgwFCwsLAkAgBxBuQRB0QRB1QQBKBEAgGyAHKQEANwMAIBEqAgAhKyAOIBspAQA3AQAgAiAIQRB0QRB1SCAAICsgDhDyA0EBc3JFBEAgACsDoAcgEEEQdEEQdbeiIAhBEHRBEHW3ZUUNAkEAICwgEEEQdEEQdbJdIAAtAOYBQQBHckUNBRogAC0A1gIEQCALQQE6AAAFIApBAToAAAsgBgwFCwsLAkACQCAHEG5BEHRBEHVBAEwNACAcIAcpAQA3AwAgESoCACErIA4gHCkBADcBACAAICsgDhDyA0UNAAwBCyAGIAQQbkEQdEEQdUEATA0DGiAdIAQpAQA3AwAgESoCACErIA4gHSkBADcBACAGIAAgKyAOEPIDRQ0DGgsgCkEBOgAAIAYMAgsLIAEoAkQgEkgEfyAVKAIAIBJIBH8gBgUgBBBuQRB0QRB1QQBKBEAgBxBuQRB0QRB1QQBKBEAgACsDyAcgCCADIANBEHRBEHUgCEEQdEEQdUgbQRB0QRB1t6IgEEEQdEEQdbdlBEAgHiAEKQEANwMAIA4gHikBADcBACAAIAEgDhCxBgRAIB8gBykBADcDACAOIB8pAQA3AQAgACABIA4QsQYEQAJAIAAtAMYCBEAgAEHIDGorAwAiLUQAAAAAAAAAAGVFBEAgLSAlKgIAu6IgJioCALtkRQ0CCyAKQQE6AABBAQwJCwsgC0EBOgAAQQEMBwsLCwsLAkAgBBBuQRB0QRB1QQBKBEAgEEEQdEEQdUEFSiAHEG5BEHRBEHVBAEpxBEAgACsD8AcgCCADIANBEHRBEHUgCEEQdEEQdUgbQRB0QRB1t6IgEEEQdEEQdbdlBEAgICAEKQEAIio3AwAgESoCACErIA4gICkBADcBACAAICsgDhDyA0UEQCAhICo3AwAgDiAhKQEANwEAIAEgDhCkCEUEQCAiIAcpAQAiKjcDACAOICIpAQA3AQAgACArIA4Q8gMNBSAjICo3AwAgDiAjKQEANwEAIAEgDhCkCA0FIAtBAToAAEEBDAgLCwsLCwsgAEGYCGorAwAiLUQAAAAAAAAAAGQEfyAEEG5BEHRBEHVBAEoEfyAHEG5BEHRBEHVBAEoEfyAtIAggAyADQRB0QRB1IAhBEHRBEHVIG0EQdEEQdbeiIBBBEHRBEHW3ZQR/IAAtALYCBEAgJCAEKQEANwMAIA4gJCkBADcBACAGIAEgDhCkCA0HGiAPIAcpAQA3AwAgDiAPKQEANwEAIAYgASAOEKQIDQcaCyALQQE6AABBAQUgBgsFIAYLBSAGCwUgBgsLBSAGCwshASAAKAL4AkEKSgRAIBMgAUEBcTYCACATIBI2AgQgEyADQRB0QRB1NgIIIBMgCEEQdEEQdTYCDEGT1hkgExBLCyAMIAssAABBAXNBACABGzoAAAsLIA8kBiABC0wBAn8gABBXIABBBGoiAxCYASAAQQhqIgQQmAEgACACOwEYIAAgATYCFCADIAEoAQQ2AQAgBCABKAEINgEAIABBADYCDCAAQQA2AhAL4AMBA38jBiEJIwZBEGokBiAAEFcgAEEEaiIIEJgBIABBCGoiChCYASAIIAJB//8DcUEQdCABQf//A3FyNgEAIAogBEH//wNxQRB0IANB//8DcXI2AQAgACACOwEYIABBEGoiAyAHQRB0QRB1IgogBkEQdEEQdSICayIBNgIAIAFBAEgEQCADIAEgBS4BEBC3AWoiATYCAAsgAUEATARAIAlBqtEZNgIAIAlBtgQ2AgRByLX5AEGV1BlBAkHH6xwgCRBRIAMoAgAhAQsgAEEMaiIIIAFBfyABQX9KGxBPNgIAAkAgB0EQdEEQdSAGQRB0QRB1SgRAIAVBFGohBCACIQEDQCABIApODQIgBCgCACABEPACIQMgCCgCACABIAJraiADOgAAIAFBAWohAQwAAAsABSAFLgEQELcBIQYgBUEUaiEFIAIhAQNAIAEgBkgEQCAFKAIAIAEQ8AIhAyAIKAIAIAEgAmtqIAM6AAAgAUEBaiEBDAELCyAHQRB0QRB1QQBKBEAgBiAKaiEEA0AgASAETg0DIAUoAgAgASAGaxDwAiEDIAgoAgAgASACa2ogAzoAACABQQFqIQEMAAALAAsLCyAAQQA2AhQgABCMECIABEAgABC+ByAAEEwLIAkkBgvHBgEPfyMGIQUjBkEwaiQGIAVBCGohByAAEFcgAEEEaiIQEHkgAEEMaiIRIAJB//8DcUEQdCABQf//A3FyIgY2AQAgAEESahCuBSAAQQA2AhggAEEcahBXIAUiChB5IAVBIGoiCBCYASAIIAY2AgAgAEEQaiIPIAQ7AQAgBUEYaiELIAVBEGohDCAAQRRqIgYgBEEQdEEQdUF/SgR/IAQFIAdB1YMZNgIAIAdB4wA2AgRBoKsWQfTSGUECQcfrHCAHEFEgDy4BAAsQngpBARCDATYCACAKQSRqIglBAmohEkEAIQUgAyAEQRB0QRB1IhNBf2pqLAAAIgchBANAIA0gE0gEQCAKIAgoAgAiAEH//wNxIg4gAEEQdiIAIA4gABCEAyAQIAoQvAEaIAYoAgAgBSADIA1qLAAAIgAQ8gUgACAEEPsEIQQgCSAGKAIAIAVBEHRBEHUiDhDaASAIIAkuAQAgEi4BABDoARoCQAJAIARBGHRBGHVBQGsiBARAIARBgAFHDQELIAVBEHRBEHVBAEoEQCAOQf7/A2oiAEH//wNxIQQgAEEQdCIAQYCAfEoEfyAGKAIAIABBEHUQ8AIFIAcLIQAFIAUhBAsMAQsgBSEECyAEQQFqQRB0QRB1IQUgACEEIA1BAWohDQwBCwsCQAJAIAgvAQAgAUH//wNxRw0AIAgvAQIgAkH//wNxRw0ADAELIAxB1YMZNgIAIAxB+AA2AgRBoKsWQYDTGUECQcfrHCAMEFELIAlBAmohAiAFIQADQAJAIAYoAgAgAEEQdEEQdSIBQX9qEPACIAYoAgBBABDwAhD7BCIDQRh0QRh1QUBrIgQEQCAEQYABRw0BCyAJIAYoAgBBABDaASARIAkuAQAgAi4BABDoARogAUH+/wNqIgRBEHRBEHUhBUEAIQADQCAAIAVIBEAgBigCACAAQQFqIgEQ8AIhByAGKAIAIABB//8DcSAHEPIFIAEhAAwBCwsgBEH//wNxIQALIANBgH9yQf8BcUHAAUYgAEEQdEEQdUEBSnENAAsgDyAAOwEAIABBEHRBEHVBA0wEQCALQdWDGTYCACALQYQBNgIEQaCrFkG10xlBAkHH6xwgCxBRCyAKJAYLqwIBCH8jBiEDIwZBEGokBiADQQhqIQQgAEEMaiIGKAIARSEHIABBFGoiBSgCACICIAFGBEAgBwR/IAEQjBAFIAAQjBALIQIgAQRAIAEoAgwQhAEgARBMCyAGKAIAEIQBIAAQTAUgAUEMaiIJKAIARSEIIAcEQCAIBEAgA0Gq0Rk2AgAgA0HHBTYCBEHItfkAQY3SGUECQcfrHCADEFEgBSgCACECCyACIAEQnxggAUEUaiECBSAIRQRAIARBqtEZNgIAIARBywU2AgRByLX5AEGj0hlBAkHH6xwgBBBRCyABQRRqIgIoAgAgABCfGAsgAigCACAFKAIANgIUIAUoAgAgAigCADYCFCAGKAIAEIQBIAAQTCAJKAIAEIQBIAEQTEEAIQILIAMkBiACCxMAIAAEQCAAKAIMEIQBIAAQTAsLvwEBBX8jBiEFIwZBgAFqJAYgBUHwAGoiBhBXIAVB1ABqIgcgAxBVIAVBOGoiAyAEEFUgBUEcaiIEIAYQVSAFEFcgAxC1AUUEQANAIAMQtQFFBEACfyADEJ8BIQkgAxBWIAkLIAEgAiAHIAQQoxgMAQsLIAMgBhCtBQsgAARAIAUgABCRARCWASAFEFsDQCAFEFlFBEAgBRCfASABIAIgByADEKMYIAUQVgwBCwsgABDXAiAAEEwLIAYQjwMgBSQGC40KARZ/IwYhAiMGQdABaiQGIAJByAFqIQwgAkHAAWohASACQbgBaiIOEFcgAkG0AWoiEhBXIAJBsAFqIhAQVyACQZQBaiITIBAQVSACQZABaiIUEFcgAkH0AGoiCiAUEH0gAkHYAGoiDyAAQdQAahB9IAJBPGoiBCAAENQBEFUgAkEgaiIGIABB2ABqIgcQVSACQcwBaiILQQA6AAAgDxD5AQRAIAxB//8BOwEAQf//ASEBBSABIA8QcBDXASAMIAEuAQAiATsBAAsgAkEYaiEVIAJBEGohAyACQQhqIQUgAkHKAWohDQJAIAQQtQFFBEAgBBBTGiAGELUBRQRAIAcoAgAQqAJFBEACQAJAIAYQtQENACAHKAIAEKgCDQAMAQsgA0Gq0Rk2AgAgA0HkADYCBEHItfkAQffQGUECQcfrHCADEFELIA0gBhBTLgEEOwEAIABBFGohEUEAIQUgASEHA0AgB0EQdEEQdSAGEFMuAQRIBEAgDyAMIA0gCyARKgIAIAoQjRAhBSAMLgEAIQcMAQsLIAYQWyANLgEAIgMgBhBTLgEETgRAIAYQVgtBgYB+IQFBASEWA0AgBhBZRQRAIAYQUy4BBCEIA0ACQCAEELUBDQAgBBBTEGIuAQAgCEoNACABIAQQUxBiLgEESARAIAQQUxBiLgEEIQELIAQQnwEgCEGMtfkAKAIAskMAAAA/kiAOIBIQ9gkgBBBWA0ACQCAEELUBDQAgBBBTKAIEDQAgBBCfASIJBEAgCRDKBCAJEEwLIAQQVgwBCwsMAQsLIBIoAgAEQCAOKAIARQRAQQAgCEGMtfkAKAIAskMAAAA/kiAOIBIQ9gkLCyAOKAIABEBBCBBPIgkgDhC0CCATIAkQoAEFIAdBEHRBEHUhCSAHQRB0QRB1IAhIBH8gB0EQdEEQdSADQRB0QRB1SgR/IAkgA0EQdEEQdWuyIBEqAgCVu0QAAAAAAADgP6CcEFpB/wFxBUEACwUgCCADQRB0QRB1SgR/IAggA0EQdEEQdWuyIBEqAgCVu0QAAAAAAADgP6CcEFpB/wFxBUEACwshAyATELUBBEAgCy0AACADQf8BcWpB/wFxIQMFIAVBAEcgCywAACIJRXEEQCAFQQkQvwEEf0EABSALQQE6AABBAQshCQtBHBBPIgUgECAJEL8GIBMgEBCWASAFQQhBARDWASAKIAUQqQIgFgRAIAVBA0EBENYBC0EAIRYLIAsgAzoAAANAIAdBEHRBEHUgCEgEQCAPIAwgDSALIBEqAgAgChCNECEFIAwuAQAhBwwBCwsgDS4BACEDCyADQRB0QRB1IAhIBEAgDSAIOwEAIAghAwsgBhBWDAELCyATELUBBEAgBUUEQCAVQarRGTYCACAVQbIBNgIEQci1+QBBxtEZQQJBx+scIBUQUQsFQRwQTyIBIBAgCywAABC/BiABQQhBARDWASAKIAEQqQIgFgRAIAFBA0EBENYBCwsDQCAPEPkBRQRAIA8gDCANIAsgESoCACAKEI0QGgwBCwsgChBwQQRBARDWAUHAABBPIgEgACAAKgJMEGUgACoCUBBlEPcJIAogARDNAhCvAyAKIBQQxQQgARD4CQwDCwtButAZIAIQSyAEEFMQYi4BACEBIAQQUxBiLgECIQAgBSABNgIAIAUgADYCBEHa0BkgBRBLC0EAIQELIBQQugcgEBDhAiASEI8DIA4QjwMgAiQGIAELBgAgACQGC8wRBC9/An4BfQF8IwYhAyMGQfACaiQGIANByAJqIQQgA0HoAmoiIkEAOgAAIANB5wJqIiNBADoAACADQeYCaiIQQQA6AAAgA0HlAmoiLEEAOgAAIANB5AJqIi1BADoAACADQYwCaiIkEFcgA0GIAmoiGhBXIANB7AFqIiUgGhBVIANB6AFqIiYQVyADQShqIhEQeSADQcwBaiIIEFcgA0EgaiIoEHkgA0EYaiIbEHkgA0GyAmoiHEH//wE7AQAgA0GwAmoiHUH//wE7AQAgA0GwAWoiCiABQdQAahB9IAoQ+QEEf0H/////BwUgBCAKEHAQ1wEgBC4BBAshAiADQcACaiEOIANBuAJqIR4gA0GAAWohEiADQegAaiETIANB4ABqIScgA0HIAGohFCADQTBqIQsgA0EQaiEpIANBCGohKiADQagCaiErICUgGhCWASAIIAEQ1AEQlgEgA0GUAWoiByAmEH0gCBC1AQRAQQAhAAUgAiAIEFMQYi4BAEgEQCAHIAoQhwIiBRCpAiAFQQNBARDWASAFQQAQywggBUEKQQAQ1gEgBUELQQAQ1gEgBCAFENcBIAUQihAhMyAIEFMQYi8BACACayIfQRB0QRB1IRUgAEGQCWoiBisDACAzuyI0oiAVt2MEfyAVsiABKgJQlY4QZUH/AXEiBUEBIAVB/wFxGwVBAAshBSAAQfgCaiIWKAIAQQVKBEAgCBBTEGIuAQAhAiAIEFMQYi4BAiEJIAsgAjYCACALIAk2AgQgCyA0OQMIIAsgFTYCEEGj1BkgCxBLCyAfQf//A3EhCSAKEPkBBH9BACELIBYhFyAGIRggByEPQf////8HBSAKEHggBCAKEHAQ1wFBACELIBYhFyAGIRggByEPIAQuAQQLIQIFQf//ASEJQQEhCyAAQfgCaiEXIABBkAlqIRggByEPCyAEIAgpAAA3AAAgBCAIKQAINwAIIAQgCCkAEDcAECAEIAgoABg2ABggACABIAQgGyAcIB0QnRggAUHQAGohICAAQaYCaiEuQQAhFkGBgH4hISAJIQdBACEVQQAhHyACIQYgKCkDACExA0AgESAIEFMiAhBiKQEANwMAAn8gAigCGBDIAiEvIAJBBGoiGSgCACICQQBHIQ0gLwsEQCANBEAgJCAlEFMQkQEQlgEgJBD1AyAkIBkoAgAQkQEQhgIgGSgCACIMIgIEQCACENcCIAwQTAsLBSANBEAgJSACEKABCyARLgEEISELIAgQViARIAgQUyICEGIpAQAiMjcDAAJ/IAIoAhgQyAIEfyAFBSACKAIEBH8gGykDACExIBwuAQAhDSAdLgEAIQwgBCAIKQAANwAAIAQgCCkACDcACCAEIAgpABA3ABAgBCAIKAAYNgAYIAAgASAEIBsgHCAdEJ0YIC4tAABFIRkgBiARLgEATgRAIBwuAQAgHS4BACAZGyECICkgMjcDACAqIDE3AwAgAyAbKQMANwMAIB4gKSkBADcBACAOICopAQA3AQAgBCADKQEANwEAIAAgASAeIAcgCSAZGyAOIA0gDCAEIAIgECAiICMgLCAtELIuRQRAIAgQ/wFFBEAgDCEJIA0hByAFIQIgBgwFCwsLQRwQTyICIBogBRC/BiAPIAIQqQIgCwRAIAJBA0EBENYBCyAfBEAgAkEKQQEQ1gEFIBUEQCACQQtBARDWAQsLIAYgES4BAEgEQCAPIAoQhwIiAhCpAiACEIoQITMgBCACENcBIBAgGCsDACAzuyI0oiAELwEAICFrIgtBEHRBEHUiDLdjBH8gDLIgICoCAJWOEGVB/wFxIgdBASAHQf8BcRsFQQALIg06AAAgFygCAEEFSgRAIAQgAhDXASAELgEAIQkgDiACENcBIA4uAQIhByAUIAk2AgAgFCAHNgIEIBQgNDkDCCAUIAw2AhAgFCANQf8BcTYCFEHa1BkgFBBLCyACIA0QywggAkEKQQAQ1gEgAkELQQAQ1gEgECAYKwMAIDSiIBEvAQAgBmsiBkEQdEEQdSIJt2MEfyAJsiAgKgIAlRBlQf8BcSIHQQEgB0H/AXEbBUEACyIHOgAAIBcoAgBBBUoEQCAnIAk2AgAgJyAHQf8BcTYCBEGQ1RkgJxBLCyALQf//A3EhCSAGQf//A3EhByAiQQA6AAAgI0EAOgAAIAoQ+QEEf0H/////BwUgChB4IAQgChBwENcBIAQuAQQLIQYFIAwhCSANIQcLIBZBAWpBEHRBEHUhFiAIEP8BBEAgChD5AQRAIAJBBEEBENYBIAUhAkEAIQsgBgwECwsgIywAAEEARyEVICIsAABBAEchH0EAIQsgECwAAAUgBQsLIQIgBgshBSAIEP8BRQRAIAUhBiACIQUMAQsLICggMTcDACAQLAAAIQADQCAKEPkBRQRAIA8gChCHAiIGEKkCIAYQihAhMyAEIAYQ1wEgGCsDACAzuyI0oiAELwEAICFrQRB0QRB1Igm3YwR/IAmyICAqAgCVjhBlQf8BcSIAQQEgAEH/AXEbBUEACyEAIBcoAgBBBUoEQCAEIAYQ1wEgBC4BACEHIA4gBhDXASAOLgECIQUgEyAHNgIAIBMgBTYCBCATIDQ5AwggEyAJNgIQIBMgAEH/AXE2AhRBptUZIBMQSwsgBiAAEMsIIAZBCkEAENYBIAZBC0EAENYBIAQgBhDXASAELgEEITAgChD5AQRAIAZBBEEBENYBBSAKEHgLIDBBEHRBEHUhIQwBCwsgECAAOgAAQcAAEE8iACABIAEqAkwQZSAgKgIAEGUQ9wkgDyAAEM0CEK8DIA8gJhDFBCAAEPgJIBcoAgBBBEoEQCAEIAAQngMgBC4BACEJIA4gABCeAyAOLgECIQcgHiAAEJ4DIB4uAQQhBSArIAAQngMgKy4BBiEBIBIgFkEQdEEQdTYCACASIAk2AgQgEiAHQRB0QRB1NgIIIBIgBTYCDCASIAE2AhBB59UZIBIQSwsLICYQugcgGhDhAiADJAYgAAvBBAITfwF+IwYhAiMGQcABaiQGIAJBCGohBiACQbABaiENIAJBqAFqIQ4gAkGgAWohDyACQZgBaiEQIAJB+ABqIgcQVyACQfQAaiIIEFcgAkHYAGoiCiAIEFUgAkHUAGoiCxBXIAIiERB5IAJBOGoiBRBXIAogCBCWASAFIAEQ1AEQlgEgAkEcaiIMIAsQfSAFELUBRQRAQQAhAkEBIQQDQAJ/IAUQUyIDKAIYEMgCIRQgA0EEaiIDKAIAIhNBAEchCSAUCwRAIAkEQCAHIAoQUxCRARCWASAHEPUDIAcgAygCABCRARCGAiADKAIAIgMiCQRAIAkQ1wIgAxBMCwsFIAkEQCAKIBMQoAELCyAFEFYgBRBTIgMQYikBACEVIAMoAhgQyAJFBEAgCCgCAARAQRwQTyIDIAhBARC/BiAMIAMQqQIgBARAIANBA0EBENYBCyACQQFqQRB0QRB1IQIgBRD/AQRAIANBBEEBENYBC0EAIQQLCyAFEP8BRQ0ACyARIBU3AwBBwAAQTyIEIAEgASoCTBBlIAEqAlAQZRD3CSAMIAQQzQIQrwMgDCALEMUEIAQQ+AkgACgC+AJBBEoEQCANIAQQngMgDS4BACEAIA4gBBCeAyAOLgECIQEgDyAEEJ4DIA8uAQQhBSAQIAQQngMgEC4BBiEHIAYgAkEQdEEQdTYCACAGIAA2AgQgBiABQRB0QRB1NgIIIAYgBTYCDCAGIAc2AhBB09YZIAYQSwsLIAsQugcgCBDhAiARJAYgBAurAQEFfyMGIQIjBkEwaiQGIAJBKGohBSACIgQQeSACQQhqIgMgAEHUAGoiBhB9IAMQ+QEEQEEAIQIFIAQgAxBwENcBIAMQlAEDQCADEI4BRQRAIAUgAxBwENcBIAQgBRC8ARogAxB4DAELCyAAIAEoAjA2AixBwAAQTyICIAAgASoCOBBlIAEqAjwQZRD3CSADIAIQzQIQrwMgAyAGEMUEIAIQ+AkLIAQkBiACC/ACAQh/IwYhByMGQUBrJAYgB0EkaiIFIAEQ7AEQfSAHQQhqIgkgAUEYaiIIKAIAEMcCEFUgBRD5AUUEQCAFEJQBA0AgBRCOAUUEQAJAIAUQcCIEENQBKAIABEAgCCgCACgCBCIKIQtBsqX5AC0AAARAIAAgBBC8LiEGDAILAkBBwqX5AC0AAEUEQCALBEAgCigCDBDuAUUNAgsCQAJAAkAgBCgCEEEBaw4GAQIAAgEAAgsMAwsgBBC5LiEGDAQLIAdBndAZNgIAIAdBkQQ2AgRBiKb5AEGX0BlBAkHH6xwgBxBRDAMLCyAAIAQQuy4hBgUgBCgCVARAIAQgARC9LiEGCwsLIAYEQCAJIAYQoAELIAUQeAwBCwsgCCgCACEAIAEqAjQiAkMAAAAAWyEEIAEqAjgQZSEFIAEqAjwQZSEBIAIQZSEGIAAgBDoAHCAAIAU6AB4gACABOwEgIAAgBjsBIiAIKAIAQX87ASILIAckBgvQAwISfwF8IwYhAiMGQeAAaiQGIAJBCGohAyACQdoAaiELIAJB2ABqIQkgAkHcAGohDCACQSBqIQQgAkE8aiIFEFcgBSABEJYBIAUQWyAAQSZqIRAgAEH4AmohDSAAQTZqIRFBASEGA0AgBRBZRQRAIAUQUyEHQRAQTyIKIAcQrS4gACAHIAogDCALIAkQsS4gEC0AAARAIBEtAAAEQCALLgEAIgGyIAkuAQCylUMAAEBAXQRAIAkgAbdEAAAAAAAACECjnBBaOwEACwsLIAQgBxDsARB9IAQQlAEgDCwAAEUhDiAGQf//A3EhEiALLgEAIRMgCS4BACEHQQEhCANAIAQQjgFFBEACQAJAAkAgBBBwIg8oAhAiAUEDaw4EAAEBAAELIA0oAgBBAEogDnEEQCACIAY2AgAgAiAINgIEQf7WGSACEEsLIAAgDyAKIBIgCEH//wNxIBMgBxCwLgwBCyANKAIAQQFIIA5yRQRAIA8qAhS7IRQgAyAGNgIAIAMgCDYCBCADIAE2AgggAyAUOQMQQaHXGSADEEsLCyAEEHggCEEBaiEIDAELCyAKKAIIIgEEQCABEEwLIAoQTCAFEFYgBkEBaiEGDAELCyACJAYL+wEBBH8jBiEHIwZBQGskBiAHQRxqIgUQVyAFIAAQlgEgBRBbQQEhBgNAIAUQWUUEQCAFEFMgBiAEEKwuIAUQViAGQQFqIQYMAQsLIAAgARCrLiAFEFtBASEGA0AgBRBZRQRAIAUQUyAGIAQQqi4gBRBWIAZBAWohBgwBCwsgBRBbQQEhBgNAIAUQWUUEQAJAAkAgBRBTIgQoAhgoAgQiCEUNACAIKAIMEO4BDQAMAQsgByAEEOwBEH0gBxCUAUEBIQQDQCAHEI4BRQRAIAcQcCAAIAQgBhCpLiAHEHggBEEBaiEEDAELCyAGQQFqIQYLIAUQVgwBCwsgByQGC/wBAQN/IwYhBCMGQTBqJAYgBEEIaiEFIARBEGoiAyAAIAEgAhCTLgJAIAMoAgggAygCBGtBoAEQTgRAIAMQjxggA0EBEIEQIAMQjxggA0EBEIEQIAMQki5FBEBBqqn5AC0AAEUNAkGP7BkgBBBLDAILIANBHGohAUEAIQADQAJAIAMQkS4gAxCQLiADQQAQgRAgAEEBaiEAIAMQjy5FDQAgACABKAIAEJUNSQ0BCwtBqqn5AC0AAARAIAEoAgAQlQ0hASAFIAA2AgAgBSABNgIEQb7sGSAFEEsLIAMQji5Bqqn5AC0AAARAIAMQjS4LCwsgA0EEahCMLiAEJAYLawAgABBXIABBDGoQeSAAQSRqEFcgAEEoakEBIAEgAhD5CSAAQQA2AjwgAEEANgIEIABBATYCCCAAIAM4AhQgACAEOAIYIABDAAAAADgCICAAIAU4AhwgAEEAOgA0IABBADsBNiAAQQA7ATgLQwEEfyMGIQIjBkEQaiQGIAEoAgAhASACQQhqIgMgACgCABDXASADLgEAIQQgAiABENcBIAQgAi4BAGshBSACJAYgBQsyAQF/IABBBGoiAigCACEAA0AgAEEAOgAAIAIgAigCAEEBaiIANgIAIAFBf2oiAQ0ACwsrAQF/IAFBAEgEQBAEBSAAIAEQTyICNgIEIAAgAjYCACAAIAIgAWo2AggLC8gGARZ/IwYhECMGQRBqJAYgEEEIaiIMEJgBIBBBBGoiFRCYASAMIAAQwwEoAQAiCTYCACAALgEQELcBIRYgDEECaiETIABBFGohF0EBIQVBASEKQQEhBkEBIQcgCUEQdkEQdEEQdSILIQ4gCyENIAlB//8DcUEQdEEQdSIPIgkhAANAIBQgFkgEQCAQIBcoAgAgFBDaASAVIBAoAgAiBDYCACAMIARB//8DcSICIARBEHYiBBDoARoCQCACQRB0QRB1QQBIBEAgBwRAIAwuAQAiAiAJIAkgAkobIQkLIAYEfyAAIAwuAQAiBmsgAUoEfyADQQFqIQMgBSEIQQAhBCAGIQkgESAHQQFzcSERIAAgDyAHGyEPQQEFIAUhCEEBIQQgBwsFIAUhCEEAIQQgBwshAgUgAkH//wNxBEAgBgRAIAwuAQAiAiAAIAAgAkgbIQALIAdFBEAgBSEIIAYhBEEAIQIMAwsgDC4BACIHIAlrIAFMBEAgBSEIIAYhBEEBIQIMAwsgA0EBaiEDIAUhCEEBIQRBACECIAchACAGIBFyIREgCSAPIAYbIQ8MAgsgBEEQdEEQdUEASAR/IAoEQCATLgEAIgIgCyALIAJKGyELCyAFRQRAQQAhCCAGIQQgByECDAMLIA0gEy4BACIFayABTARAQQEhCCAGIQQgByECDAMLIANBAWohA0EAIQggBiEEIAchAiAFIQsgEiAKQQFzcSESIA0gDiAKGyEOQQEFIAUEQCATLgEAIgIgDSANIAJIGyENCyAKRQRAIAUhCEEAIQogBiEEIAchAgwDCyATLgEAIgogC2sgAUwEQCAFIQhBASEKIAYhBCAHIQIMAwsgA0EBaiEDQQEhCCAGIQQgByECIAohDSASIAVyIRIgCyAOIAUbIQ5BAAshCgsLIBRBAWohFCAIIQUgBCEGIAIhBwwBCwsgBiARcQRAIANBAWogA0F/aiAAIA9rIAFKGyEDBSARIAdBAXNyRQRAIANBAWogA0F/aiAPIAlrIAFKGyEDCwsgEiAFcQRAIANBAWogA0F/aiANIA5rIAFKGyEDBSASIApBAXNyRQRAIANBAWogA0F/aiAOIAtrIAFKGyEDCwsgECQGIAML2QEBBn8jBiECIwZB4ABqJAYgAkEIaiEDIAJBQGsiBCAAQRRqEFUgAkEkaiIGIABBGGoQVSAEEFsDQCAEEFlFBEAgAyAEEFMQkQEiABBVIAMQWwNAIAMQWUUEQCACIAMQUxCRASkBADcDACACEG4iBSACEGsiByAFQRB0QRB1IAdBEHRBEHVKG0EQdEEQdbIgAV0EQEEIEE8iBSADEJ8BEJ8HIAYgBRCgAQsgAxBWDAELCyAAKAIARQRAIAQQnwEiAARAIAAQ1wIgABBMCwsgBBBWDAELCyACJAYLKAEBfyAAQQRqIgAoAgAiAkEAIAFBAnQQjAEaIAAgAiABQQJ0ajYCAAsoAQF/IABBBGoiACgCACICQQAgAUEDdBCMARogACACIAFBA3RqNgIACyoAIABBADYCACAAQQA2AgQgAEEANgIIIAEEQCAAIAEQpQ0gACABEMkuCwv8BwITfwJ9IwYhAyMGQfAAaiQGIANBIGohDiADQRRqIQ8gA0EIaiEQIAMiCBB5IANByABqIgkgABDNAhB9IANBLGoiCxBXIAkQlAFBACEDA0AgCRCOAUUEQCAJEHAQexCaAiADaiEDIAkQeAwBCwsgAwRAIA4gA0EBaiAAQShqIgwoAgBqELIGIA8gDCgCACADakEDbBDKLiAOKAIAIgogAEEsaiIRKAIAKAIANgIAIAkQlAEgAEEwaiESIABBFGohFCAPKAIAIQVBACEDA0AgCRCOAUUEQCALIAkQcBB7EJYBIAsQWwNAIAsQWUUEQCAIIAsQUxDSASAAIAguAQQgCC4BAGq3RAAAAAAAAOA/orYiFxCjBCEWAkACQCAILgECsiAWkyIWjCAWIBZDAAAAAF0bIBQqAgAiFpW7IAFjBEAgCBBrQRB0QRB1siAWlbsgAmQEQCAKIAZBAnRqIgQoAgCyIBdgBEAgBCAILgEANgIACyAFIAZBA2wiBEEDdGpEAAAAAAAAAAA5AwAgBSAEQQFqQQN0akQAAAAAAAAAADkDACAFIARBAmpBA3RqIAguAQK3OQMAIAguAQRBAWohDQwCCwsgCiAGQQJ0aigCACIHsiAXXwRAIBEoAgAhFQNAAkADQCAVIANBAWoiBEECdGooAgAiDbIgF19FDQEgAyAMKAIAQX9qTg0BIA0gB0wEQCAEIQMMAQsLIAUgBkEDbCITQQN0aiASKAIAIgcgA0EEdGorAwA5AwAgBSATQQFqQQN0aiAHIANBBHRqKgIIuzkDACAFIBNBAmpBA3RqIAcgA0EEdGoqAgy7OQMAIAogBkEBaiIGQQJ0aiANNgIAIAQhAyANIQcMAQsLIAUgBkEDbCIHQQN0aiASKAIAIgQgA0EEdGorAwA5AwAgBSAHQQFqQQN0aiAEIANBBHRqKgIIuzkDACAFIAdBAmpBA3RqIAQgA0EEdGoqAgy7OQMADAELDAELIAogBkEBaiIGQQJ0aiANNgIACyALEFYMAQsLIAkQeAwBCwsgDCgCACEEIAogBkECdGohBwNAIAMgBEgEQCARKAIAIANBAWoiAEECdGooAgAgBygCAEwEQCAAIQMMAgsLCyAEIQADQCADIABIBEAgBSAGQQNsIgRBA3RqIBIoAgAiACADQQR0aisDADkDACAFIARBAWpBA3RqIAAgA0EEdGoqAgi7OQMAIAUgBEECakEDdGogACADQQR0aioCDLs5AwAgCiAGQQFqIgZBAnRqIBEoAgAgA0EBaiIDQQJ0aigCADYCACAMKAIAIQAMAQsLIBAgBiAKIAUQ+QkgDCAQEKUFGiAQEPoFIA8QugIgDhC6AgsgCCQGC8EHAxV/AX0EfCMGIQIjBkHwAGokBiACQQhqIQogAhB5IAJBzABqIgQgARDNAhB9IAJBMGoiBRBXIAJBFGoiBxBXIAQQkAciAwRAIABBsg5qLQAARQRAIAogAxCPECAEEJQBIABB+BBqIQsgAUEUaiEMIABBgBJqIREgAEGoEmohEiAAQdwQaiETIABBnBFqIRQgCigCACEIIABBuBFqIRUDQCAEEI4BRQRAIAUgBBBwIg4QexCWASAFEFtBACEBQQAhAwNAIAUQWUUEQCAFEFMhDQJ/IA5BCBC/AQR/IAFBAWohASADBSAHIA0QkQEQlgEgBxBbIAEhAANAIAcQWQRAIAAhASADDAMLIAIgBxBTIhYQkQEpAQA3AwAgAhBuIQEgAhBrIQYgCysDACEZIAwqAgC7IRggFhClAygCAARAIAIQa0EQdEEQdbchGiARKwMAIhtEAAAAAAAA8D+gIBiiIBpkBEBEAAAAAAAA8D8gG6EgGKIgAhBrQRB0QRB1t2MEQCACEG5BEHRBEHW3IRogEisDACIbRAAAAAAAAPA/oCAYoiAaZARARAAAAAAAAPA/IBuhIBiiIAIQbkEQdEEQdbdjBEAgAEEBaiEACwsLCwsgBxBWIAMgGSAYoiABIAYgAUEQdEEQdSAGQRB0QRB1ShtBEHRBEHW3ZGohAwwAAAsACwshACACIA0Q0gEgAhBuIgMgAhBrIgYgA0EQdEEQdSAGQRB0QRB1ShsiA0EQdEEQdSEGAkACQCALKwMAIAwqAgAiF7uiIANBEHRBEHW3ZQR/IBdDAAAAQJQiFyADQRB0QRB1sl4EfyABIA0gBiATKAIAEE4QpxggFCgCAEhqBQwCCwUgF0MAAABAlCEXDAELIQEMAQsgFyACEGtBEHRBEHWyXQRAIAQQ9wIEQCAFEP8BDQILIABBAmohAAsLIAUQViAAIQMMAQsLAn8CQCADQQJMDQAgDkEJEL8BDQAgFSsDACABt6IiGEQAAAAAAAAAQKIgA7ciGWMEQCAIIAlqQQI6AABBAQwCCyAIIAlqIQAgGCAZYwRAIABBAToAAAUgAEEAOgAAC0EADAELIAggCWpBADoAAEEACyEAIAQQeCAJQQFqIQkgDyAAQQFzQQFxaiEPIBAgAGohEAwBCwsgBBCUASAQIA9LIQFBACEAA0AgBBCOAUUEQCAIIABqLAAAIgNBAkYgASADQQFGcXIEQCAEEHAgCysDACAMKgIAu6K2EMcuCyAEEHggAEEBaiEADAELCyAKELoCCwsgAiQGC6QIAxl/An0EfCMGIQIjBkGwAWokBiACEHkgAkGIAWoiCiABEM0CEH0gAkHsAGoiBxBXIAJB0ABqIgsQV0HIsPkAKAIAsiEbIAFB4LD5ACgCALIiHBCjBCAbXQR/IABBwg5qLQAABH8gASAcEKMEIAEqAhSSIBteBUEACwVBAAshEiACQThqIQwgAkEoaiEOIAJBCGohBSAKEJQBIABB+BBqIRAgAUEUaiERIABBgBJqIRMgAEGoEmohFCAAQdwQaiEVIABBnBFqIRYDQCAKEI4BRQRAIAcgChBwIhcQexCWASAHEFsDQCAHEFlFBEAgBxBTIQgCQCAXQQgQvwEEfyANQQFqBSALIAgQkQEQlgEgCxBbA0AgCxBZDQIgAiALEFMiDxCRASkBADcDACACEG4hAyACEGshBiAQKwMAISAgESoCALshHSAPEKUDKAIABEAgAhBrQRB0QRB1tyEeIBMrAwAiH0QAAAAAAADwP6AgHaIgHmQEQEQAAAAAAADwPyAfoSAdoiACEGtBEHRBEHW3YwRAIAIQbkEQdEEQdbchHiAUKwMAIh9EAAAAAAAA8D+gIB2iIB5kBEBEAAAAAAAA8D8gH6EgHaIgAhBuQRB0QRB1t2MEQCANQQFqIQ0LCwsLCyALEFYgBCAgIB2iIAMgBiADQRB0QRB1IAZBEHRBEHVKG0EQdEEQdbdkaiEEDAAACwALIQ0LIAIgCBDSASACEG4iAyACEGsiBiADQRB0QRB1IAZBEHRBEHVKGyIDQRB0QRB1IQYCQAJAIBArAwAgESoCACIbu6IgA0EQdEEQdbdlBH8gG0MAAABAlCIbIANBEHRBEHWyXgR/IAkgCCAGIBUoAgAQThCnGCIYIBYoAgBIagUMAgsFIBtDAAAAQJQhGwwBCyEJDAELIBsgAhBrQRB0QRB1sl0EQCAKEPcCBEAgBxD/AQ0CCyAEQQJqIQQLCyASBEAgAi4BACEDIAIuAQIhBiACLgEEIQ8gAi4BBiEZIAgQkQEQmgIhCCACLgECsiABIAIuAQCyEKMEk7shHSAFIAM2AgAgBSAGNgIEIAUgDzYCCCAFIBk2AgwgBSAINgIQIAUgGDYCFCAFIB05AxhBoM4ZIAUQSwsgBxBWDAELCyAKEHgMAQsLIABBshNqLQAABEAgASACLgEEIgGyEKMEuyEdIA4gAUEQdEEQdTYCACAOIB05AwhB1s4ZIA4QS0HtzhlB9s4ZIARBAkogAEG4EWorAwAgCbeiIAS3Y3EbIQEgDCAEsiAJspW7RAAAAACAh8NAIAlBAEobOQMAIAwgBDYCCCAMIAk2AgwgDCABNgIQQf/OGSAMEEsLIA0gAEH0EmooAgBIBH8gAEGQE2orAwAgCbeiIAS3YwR/IARBAkoFQQALBUEACyEaIAIkBiAaC6ICAgV/AnwjBiECIwZB4ABqJAYgAkEcaiEDIAJBOGoiBCABEM0CEH0gBBCUASAAQdASaiEBA0AgBBCOAUUEQCAEEHAhAAJ8IAErAwAhCCADIAAQ1wEgCCADEGtBEHRBEHW3okQAAAAAAADgP6ALEFohBSADIAAQeyIGEFUgAxBbA0AgAxBZRQRAIAIgAxBTEJEBIgAQVSACEFsDQCACEFlFBEAgAhBTIAUgAhCmGCACEFYMAQsLIAAoAgBFBEAgAxCfASIABEAgABDXAiAAEEwLCyADEFYMAQsLIAYoAgBFBEAgBBCkAkUEQCAEEMEMIgBBCxC/AQRAIABBC0EAENYBCwsgBBCHAiIABEAgABC5ByAAEEwLCyAEEHgMAQsLIAIkBguBAwIJfwF9IwYhASMGQYABaiQGIAFBQGshAiABQdwAaiIDIAAQxwIiCRBVIABBBGohBiADELUBBEAgBhDDASIAEGtBEHRBEHWyIQogAiAALgEANgIAIAIgAC4BBDYCBCABQgA3AwAgAUIANwMIIAEgAC4BArc5AxBBwAAQTyIAIAIgASAKQwAAAD+UIApDAACAPpQiCiAKEMIuIAMgABCgAQsgAUEYaiEEIAFBPGohACABQSBqIQcgAxBbA0AgAxBZRQRAIAIgAxBTIggQzQIQfSACEPkBBEAgCSgCABCoAgRAIAEgBhDDASkBADcDAAUgASAIEJ4DCyABENgMIQUgABBXIAcgABBVIAcgBRCgAUEcEE8iBSAAQQAQvwYgAiAFEKkCIAAQ4QILIAIQlAEDQCACEI4BRQRAIAIQcBB7KAIARQRAIARByM8ZNgIAIARBlgM2AgRB/KwWQavPGUECQcfrHCAEEFELIAIQeAwBCwsgCBD4CSADEFYMAQsLIAEkBgtAAQN/IABBCGohAwNAIAEgACgCAEgEQCADKAIAIAFBAnRqKAIAIgIEQCACQRhqEGggAhBMCyABQQFqIQEMAQsLC18AIAAoAgAgASACIABBBGoiASAAQQhqIgIQtgIgACABKAIANgIkIAAgAigCADYCKCAAEKoYIABBADYCMCAAIABBOGoiARDUAgR/QQAFIAEQgQELNgI0IABB1ABqEJAIC7sBAQZ/IAEQqRghBAJAIAAoAgQiAgR/IAJBf2oiBSACcUUiBwR/IAUgBHEFIAQgAkkEfyAEBSAEIAIQhwELCyEGIAAoAgAgBkECdGooAgAiAAR/A0AgACgCACIARQRAQQAhAAwECyAAKAIEIgMgBEYEQCAAKAIIIAFGDQQFIAcEQCADIAVxIQMFIAMgAk8EQCADIAIQhwEhAwsLIAMgBkcEQEEAIQAMBQsLDAAACwAFQQALBUEACyEACyAAC6ABAQZ/IwYhAyMGQRBqJAYgAkMAAAAAWwRAIABBAEHAACABQwAAAABgGzoAAAUgA0EEaiEIQYABIQUDQCADIAUgBGpBAhBOIgdBAnRB8BBqKAIAIgZB//8DcSAGQRB2EMEDIAQgByADKgIAIAgqAgAgASACELMGQwAAAABgRSIGGyEEIAcgBSAGGyIFIARrQQFKDQALIAAgBDoAAAsgAyQGCzcAIAAgASkBADcBHCAAIAEuAQAgAS4BBhDRLiAAKAIAIAEuAQQgAS4BAiAAQQxqIABBCGoQtgILCwAgABCQECAAEEwL2gEBCH8jBiECIwZBIGokBiACIAEQkQEpAQA3AwAgACACLgEAIAIuAQIgAkEUaiIFIAJBEGoiBBC2AiAAIAIuAQQgAi4BBiACQQxqIgMgAkEIaiIGELYCIABBHGohByAGKAIAIQYgBSgCACEFIAMoAgAhCCAEKAIAIgMhBCAAQQhqIgkoAgAgA2whAwNAIAQgBkwEQCAFIQADQCAAIAhMBEAgBygCACAAIANqQQJ0akHSACABEM0DIABBAWohAAwBCwsgBEEBaiEEIAkoAgAgA2ohAwwBCwsgAiQGCygAIAAgATYCACAAQQRqIgAgARDXASAAIAAQa0EQdEEQdSIAIAAQrQQL8wMBC38jBiEDIwZBsAFqJAYgA0EIaiEFIANBQGsiCiACEIABIANBJGoiCyAAEFUgCxBbA0AgCxBZRQRAIAMgCxBTIgwQYikBADcDACADIAEQ3wIgCiADENQuQQAhAkEAIQAgChCtGCEHQQAhBkEAIQkDQCAHBEAgBygCACIEQQkQvwFFBEAgBSAEEPgaIAMgBRCmAiEEIAMgBRC1AiEIIAcgAiACRSAEQQBKBH8gBSADEIkIBEAgBCADLgEAIAUuAQRKdiEECyAEIAhqBSAICyIEIAlIciAFELkMIAMQuQxKIghxIg0bIQIgACAHIAAgAEUgBCAGSHIiBxsgCBshACAGIAQgBiAHGyAIGyEGIAQgCSANGyEJCyAKEK0YIQcMAQsLAkACQCACRSIIBH9BAAUgAEUNASAJIAYgAxBrQRB0QRB1akgLIQQCQCAARSAAIAJGckUEQCAIRQRAIAYgCSADEGtBEHRBEHVqTg0CCyAMKAIEEP8MIgYgARC4DCAFIAAoAgAQngIQVSAFIAYQuwEgBA0CDAMLCyAEDQAMAQsgDCgCBBD/DCIAIAEQuAwgBSACKAIAEJ4CEFUgBSAAELsBCyALEFYMAQsLIApB1ABqIgAoAggQ/AkgACgCACEBIABBADYCACABBEAgARBMCyADJAYLYgEBfyMGIQIjBkEQaiQGIAAgAUEEahDDASkBADcBACAAQQhqIAEQ5gIgAiABEOYCIAAgAioCACACKgIEENgGOAIQIAAgASgCKLI4AhQgAEEYaiIAELIBIAAgARC5ASACJAYLhwEBAn8jBiEDIwZBIGokBiACQQA2AgAgACgCAARAIAMgABBVIAMQW0EAIQADQCADEFlFBEACQCADEFMuAQQgAWsgAxBTLgEGaiIEQX9KBEAgAEUEQCACIAQ2AgBBASEADAILIAQgAigCAEgEQCACIAQ2AgALQQEhAAsLIAMQVgwBCwsLIAMkBgt/AQJ/IwYhAyMGQSBqJAYgAkEANgIAIAAoAgAEQCADIAAQVSADEFtBACEAA0AgAxBZRQRAAkAgASADEFMuAQRrIgRBf0oEQCAARQRAIAIgBDYCAEEBIQAMAgsgBCACKAIASARAIAIgBDYCAAtBASEACwsgAxBWDAELCwsgAyQGC0oBA38gAEEIaiEDA0AgASAAKAIASARAIAMoAgAgAUECdGooAgAiAgRAIAJB0ABqELwFIAJBEGoQpwggAhBMCyABQQFqIQEMAQsLC0sBBH8gAEEIaiEEA0AgASAAKAIASARAIAQoAgAgAUECdGooAgAiAgRAIAJBBGoiAxDcLiADEGggAxBoIAIQTAsgAUEBaiEBDAELCwvVBAEOfyMGIQUjBkGAAWokBiAFQeAAaiENIAVBQGshBiAFQSRqIQEgBUEIaiECIAVB8ABqIQMgBUEEaiELIAAQxwIiBygCACIJBEAgCRCoAkUEQCANIABBBGoiABDDAUEBEKMMIAAoAgAhCiAGIAcQVSAGEFMhDCAGQQEQggohBCABIAwQngMgAS4BBiEAIAIgDBCeAyACEGtBEHRBEHUgAEEQdEEQdWohCSABIAwQngMgAS4BACEAIAEgBBCeAyABLgEGIQ4gAiAEEJ4DIA5BEHRBEHUgAhBrQRB0QRB1QQIQTkEQdEEQdWshBCABIAYQUxDNAhB9IAEQ+QFFBEAgAiABEHAQexBVIAIQWwNAIAIQWUUEQCADIAIQUxDSASAEIAMuAQJOBEAgDEEBOgA0IAMuAQQiCCAAIAAgCEgbIQAgAy4BAiIBIAkgCSABShshCQsgAhBWDAELCwsgAiAKIA0gChsQUCAGIAcQlgEgBhBbA0AgBhBZRQRAIAMgBhBTIgcQngMgAiAHIAMuAQCyEKMEIAdBFGoiASoCAJIQZUH//wNxELwMIgogAy4BACALENsuIAkgAy4BBkoEQCALKAIAIQgFIAMuAQAgBygCCGsgAGsiCEEAIAhBAEobIgQgCygCACIISARAIAsgBDYCACAEIQgLCyACIAcgAy4BBLIQowQgASoCAJIQZUH//wNxELwMIgQgAy4BBCAFENouIAcgCDsBNiAHIAUoAgA7ATggBBDuAiAEEEwgChDuAiAKEEwgBhBWDAELCyANEO4CCwsgBSQGC+AFBBB/AX4CfQF8IwYhAiMGQaABaiQGIAJBOGohBiACQRxqIQsgAkGIAWoiBxCyASACQewAaiIDIAEQVSADEFsgAkHYAGoiCEEEaiEPIAdBCGohDANAIAMQWUUEQAJAAkAgAxBTIglBBGoiECgCACIBRQ0AIAEoAgwQ7gENAAwBCyAIIAkQ5gIgCCoCACAPKgIAENgGIRMgBygCACINIQ4gDCgCACEEQQAhCkP//39/IRRBACEFA0AgBSAOSARAIAUgCiATIA0gBCAFELMBKAIAKgIQk4u7IhVEGC1EVPshGcCgmSAVIBVEGC1EVPshCUBkGyIVIBS7YyIBGyEKIBW2IBQgARshFCAFQQFqIQUMAQsLIBS7RHsUrkfheoQ/ZARAQSwQTyIBIAkQ2S4gByABELkBDAELIA0gBCAKELMBKAIAQRhqIAkQuQECfyANIAQgChCzASERIBAQwwEhASARKAIACyABELwBGiAJKAIosiETIA0gBCAKELMBKAIAKgIUIBNeBEAgDSAEIAoQswEoAgAgEzgCFAsLIAMQVgwBCwsgCBCyASAHKAIAIg8hECAMKAIAIQ5BACEFA0AgBSAQSARAIA8gDiAFELMBKAIAIgQQugNFBEAgBCoCFBBlIQEgBBCRASEDIAYQpQggBkHsrBY2AgAgBkEANgIcIAYgASAEIAMQzgMgBEEYaiEJQQAhAwNAIAMgCSgCAEgEQCACIAkgAxBNKAIAEMcCEFUgAhBbA0AgAhBZRQRAIAsgAhBTEM0CEH0gCxCUAQNAIAsQjgFFBEAgCxBwIQFBDBBPIgwgARDXLiAGIAwQ1i4gCCAMELkBIAsQeAwBCwsgAhBWDAELCyADQQFqIQMMAQsLIAIgBCkCCCISNwMAIAIgEkIgiKe+jBCWAyAAIAIgBhDYLiAGEJAQCyAFQQFqIQUMAQsLIAgQrgogCBBoIAgQaCAHENAuIAcQaCAHEGggAiQGC9UDAhB/AXwjBiEDIwZB0ABqJAYgA0EIaiEJIAMiCEEsaiIHIAIQVSADQRBqIgUQVyAHEFsgAEHqEWohDiAAQdoRaiEPIABByBNqIRAgAEHwE2ohESAAQbITaiELQQAhAgNAIAcQWUUEQAJAAkAgBxBTIgMoAgQiBkUNACAGKAIMEO4BDQAgAxDPLiAKIQMMAQsgAxDHAiEMIAEEfyAFIAwQlgEgBRBbQQAhA0EAIQYDfyAFEFkEfyADBSAGQQFqIQYgACAFEFMiBBDOLiAOLQAARSESIAQQzQIhDQJAAkAgEkUEQCANKAIABEAgACAEEM0uDQILCyANKAIARQ0AIA8tAAAEQCAAIAUQUxDMLgsgECsDACITRAAAAAAAAAAAZgRAIAQgEyARKwMAEMsuCyADQQFqIQMMAQsgBRCfASIEBEAgBBClGyAEEEwLCyAFEFYMAQsLBUEAIQZBAAshBCAMKAIABEAgAkEBaiECBSAHEJ8BIgMEQCADEK0KIAMQTAsLIApBAWohAyALLQAABEAgCCAENgIAIAggBjYCBEHCzRkgCBBLCwsgBxBWIAMhCgwBCwsgCy0AAARAIAkgAjYCACAJIAo2AgRB5M0ZIAkQSwsgCCQGC98CAQh/IwYhAyMGQZABaiQGIANB1ABqIQQgA0E4aiEFIANBHGohBiADQfQAaiIHIAEQfSADQdgAaiIKIAIQVSAHEJQBA0AgBxCOAUUEQCAHEHAhCCAEEFcgBSAEEFUgBiAIENQBEFUDQCAGELUBRQRAAkACQCAGEJ8BIgkoAhgQyAINACAABEAgBRC1AUUNAQsgCSgCBCIBBEAgBSABEKABCwwBCyAJQQRqIgEoAgAEQCADIAUQUxCRARBVIAMQ9QMgAyABKAIAEJEBEIYCIAEoAgAiAiIBBEAgARDXAiACEEwLCwsgCRDKBCAJEEwgBhBWDAELC0HAABBPIgEgCCAIKgJMEGUgCCoCUBBlEPcJIAMgARDNAhB9QRwQTyICIARBABC/BiACQQNBARDWASACQQRBARDWASACQQggABDWASADIAIQqQIgCiABEKABIAQQ4QIgBxB4DAELCyADJAYLrgEBA38jBiEFIwZBMGokBiAFQQhqIQcgBUEQaiIGEFcgAC0ACARAIAEgAiAEEMEuBSAHQwAAAABDAACAvxCkASAEIAMgByoCACAHKgIEQbay+QAtAABFEMAuCyAAIAQQvy4gBiAEEJYBIAYQWyAFQQRqIQEDQCAGEFlFBEAgBhBTIQIgBUMAAIA/QwAAAAAQpAEgACACIAUqAgAgASoCABC+LiAGEFYMAQsLIAUkBgskAQF/IABBf2oiAUEMSQR/Qf8YIAFB/x9xdkEBcUEARwVBAAsLUAECfyAAQQxqIQVBACEAA0AgACAFKAIASARAIAUgABBNKAIAIQYgAgRAIAYgASgBAEH//wNxIAMQ9S0LIAYgAiAEEPQtIABBAWohAAwBCwsL9AECBn8BfCMGIQIjBkEwaiQGIAJBEGoiAxC+AyAAQQxqIQQgAEEIaiEGA0AgBSAEKAIASARAIAQgBRBNKAIAIQcgBigCAEEASgRAQYb9GSACEEsLIAcgARC+LQRAIAMgBysDIBCJBwsgBUEBaiEFDAELCyAAKgIAIAAqAgQQ2Aa7IQggAygCAARARBgtRFT7IQlAIAMQqwwhCAsgAkEIaiEAIAYoAgBBAEoEQCAAIAg5AwBBpP0ZIAAQSwtBACEAA0AgACAEKAIASARAIAQgABBNKAIAIgEgCBC9LSABELwtIABBAWohAAwBCwsgAxC8BSACJAYL+QECBH8CfSMGIQUjBkFAayQGIAVBJGoiAyABQQRqIgYQVSAFQQhqIgQgARDsARB9IAMgAUEQahCGAiADIAFBDGoQhgIgAyABQRRqEIYCIAYoAgAiBhCoAiAAcQRAIAMQjQMgASADEFMoAgQgBBCkLSIHIAFBJGoiACoCAF4EQCAAIAc4AgALBSAGRQRAIAEoAhhBBGoQwwEQ2AwhAEH4ABBPIgYgABChBSADIAYQoAELCyAFQQRqIQAgASoCJCADIAQQ2RcaIAQQlAEDQCAEEI4BRQRAIAQQcBDYFyAEEHgMAQsLIAIgACAFENcXIAAqAgAhCCAFJAYgCAvYAQIGfwF9IwYhASMGQUBrJAYgAUEwaiEDIAFBLGohBCABQQhqIQUgAUEQaiIAEFcgACACEJYBIAAQWwNAIAAQWUUEQAJ/IAAQUyEHIAVDAACAP0MAAAAAEKQBIAcLEKItIAAQVgwBCwsgAiADIAQQ1xcgACACEJYBIAAQWyADKgIAIQkgAUEEaiECA0AgABBZRQRAAn8gABBTIQggAUMAAIA/QwAAAAAQpAEgABBTGiAICyAJIAEqAgAgAioCAEG2svkALQAARRChLSAAEFYMAQsLIAEkBiAJC8EDAgd/A3wjBiECIwZB8ABqJAYgAkEYaiEGIAJB0ABqIQMgAiAAQQRqIgc2AgAgAiAAQQhqNgIEIAIgAEEMajYCCCACIABBEGo2AgwgAiAAQRRqNgIQIAJBADYCFCABQQRqIQggAiEEIAchBQNAIAUEQCADIAUQVSADEFsDQCADEFlFBEAgAxBTIAEqAgAgCCoCABCTLSADEFYMAQsLIARBBGoiBSEEIAUoAgAhBQwBCwsgAEEYaiIEKAIAIgAoAgRFBEAgBkHPjBo2AgAgBkHdBTYCBEHgrBZBqowaQQJBx+scIAYQUSAEKAIAIQALIAAgARDkDyADQQAgBCgCAEEEahDDARBuQRB0QRB1ELEBIAJBQGsiAUEAIAQoAgBBBGoQwwEQa0EQdEEQdRCxASACQSBqIgAgBxBVIAAQWwNAIAAQWUUEQCADIAAQUxBiEG5BEHRBEHVBARCIASABIAAQUxBiEGtBEHRBEHVBARCIASAAEFYMAQsLIAQoAgACfCADEOMBIQsgARDjASEKIAtEAAAAAAAA4D+gCxBaIApEAAAAAAAA4D+gEFoQ0xcgASgCDBCEASADKAIMEIQBIAIkBgsQACAABEAgABC0BiAAEEwLCxAAIAAEQCAAELMYIAAQTAsLtgQCBH8BfSMGIQ0jBkHwAGokBiANQcgAaiEMIABBBGoiDiADQf//A3EQ4gEgDiAEQf//A3EQ9AEgCygCAARAIAEQqgpFBEAgACALEJEQCwUgACAFIAogCxC6DCAMIAsQVSAMEFsDQCAMEFlFBEAgDBBTIAYgBxCyGCAMEFYMAQsLCyALKAIARQRAIA1B6ssZNgIAIA1B/gE2AgRB4KwWQdbLGUECQcfrHCANEFELIA1BKGohBCANQQhqIQMgAUEFRgRAIAxDAAAAAEMAAIA/EKQBIARDAAAAAEMAAIC/EKQBIAMgCxBVIAMQWwNAIAMQWUUEQCADEFMiBygCGCIFQQRqIQZBEBBPIg8gBhDDAUEHEKMMIAYgDxBQIAcgDBDoLiAFIAQQsRggBSAEELAYIAMQVgwBCwsLIAwgCxBVIAwQUyEFIAEQjBsEfSAOKAEAIgVB//8DcSAFQRB2IAsQ5y4FIAEQqgoEfUMAAAAABSABQQ1HIAUgCxDmLgsLIRAgBCAAQfwOaigCACACIAsQqS0gBCAIEOUuIAQgDiABQQ1HQZaz+QAtAABBAEcgABDkLiABEOMuIgIEQCAAIA4oAQAiAUH//wNxIAFBEHYgECALEOIuBSABQQpGIAwQUyIBEOwBIAEoAhgQxwIQ4S4LIAAgAiAKEOAuIAkgChDfLiADIAoQVSADEFsDQCADEFlFBEAgAxBTEN4uIAMQVgwBCwsgBEEMaiIAEN0uIAAQaCAAEGggDSQGC7MCAQp/IwYhAiMGQSBqJAYgAkEUaiIBQQAgABCNBSIENgIAIAJBEGoiByAAENwFIgM2AgAgAxC+IiADIAMgBEEEEJEGGiADIAMQjQUaIAEQXiACQQxqIgZBACAAIAMQkwYiBDYCACAEIAJBCGoiCRDZEyACQQRqIghBADYCAEEBIQVB/////wchBAJAA0AgBUEISQRAIAYQXiAHKAIAIgEgAUEDQQMQzA4aIAZBACAAIAcoAgAQkwYiATYCACABIAIQ2RMgBUEBRiACKAIAIgEgCSgCAEpyBEAgCSABNgIAIAEhBAUgBUEBSyABIARIIgNxBEAgCBBeIAhBACAGKAIAEOQBNgIAIAEhBAUgA0UNBAsLIAVBAWohBQwBCwsLIAYQXiAHEF4gCCgCACEKIAIkBiAKC4sCAQd/IwYhByMGQTBqJAYgB0EoaiIJQQA2AgAgB0EkaiIKQQA2AgAgB0EgaiILEFcgB0EcaiIMEFcgACABIAIgBSAGIAwgCSAKEI0tIggEQCAHIAwQVSAHEFMhDSAKKAIAIgYEQCAJKAIAIgUgBSAGEOQHCyAAQbjfCGooAgAiBQRAIAggBTYCrAILIAggASANIAkoAgAgAEGkyghqKAIAIABBnMoIaigCACAAQajKCGogCyAEIAMQjC0gCCAAQezeCGogAEH03ghqEIstIAggCCgCACgCBEH/A3FBogdqEQAACyAJEF4gChBeIAIQyAYgByACEFUgByALEIYCIAwQkgcgCxDIBiAHJAYLTQECfwNAIAMgAUgEQCADIAQgACADQQJ0aigCACAAIARBAnRqKAIAShshBCADQQFqIQMMAQsLIAIEQCACIAAgBEECdGooAgA2AgALIAQLmgEBBH8jBiECIwZBEGokBiAAELsMIAJBBGoiBCABQQAQqA4iATYCACAAQQRqIgUgARDqAyIBNgIAIABBfyABQQJ0IAFB/////wNLGxBPNgIAA0AgAyABSARAIAJBADYCACAEKAIAIAMgAhCDBCAAKAIAIANBAnRqIAIoAgA2AgAgA0EBaiEDIAUoAgAhAQwBCwsgBBCrAyACJAYL2AEBB38gABC7DCABEL4BIQIgARClASEEIABBfyACQQJ0IAJB/////wNLGxBPNgIAIAAgAjYCBCABEHchBSABEHUhBkEAIQEDQCABIAJIBEAgACgCACABQQJ0akEANgIAIAFBAWohAQwBCwsDQCADIARIBEAgBiADIAVsQQJ0aiEHQQAhAQNAIAEgAkgEQCAHIAFBBXZBAnRqKAIAQQEgAUEfcUEfc3RxBEAgACgCACABQQJ0aiIIIAgoAgBBAWo2AgALIAFBAWohAQwBCwsgA0EBaiEDDAELCwvOAQEHfyMGIQQjBkEQaiQGIARBCGoiBxDqAiAHIAAQ7y4gBEEANgIAIAcoAgAiCSAHKAIEIAQQ7i4hCCAEKAIAQcYAbEHkABBOIQogCCEFA0ACQCAFQQBMDQAgCSAFQQJ0aigCACAKSA0AIAVBf2ohBQwBCwsgCCEGA0ACQCAGIAAQpQFODQAgCSAGQQJ0aigCACAKSA0AIAZBAWohBgwBCwsgAQRAIAEgBTYCAAsgAgRAIAIgBjYCAAsgAwRAIAMgCDYCAAsgBxC7DCAEJAYLxwUBDn8jBiEHIwZBQGskBiAHQQhqIQkgB0EwaiESIAdBLGohEyAHQShqIQ8gB0EkaiEMIAdBIGohECAHQRhqIREgB0EQaiEUIAEEQCACEL4BIQ0gAhClASEKIAIgEiATIA8Q8S4gEygCACASKAIAIghrIg5BAWohCwJAIA8oAgAgCkECEE5KBEBBoLj5ACgCAEEASgRAIAcgBDYCACAHIAU2AgRBmMoZIAcQSwsFIA4gCkEDEE5OBEBBoLj5ACgCAEEATA0CIAkgBDYCACAJIAU2AgRB18oZIAkQSwwCCyAMQQAgCCALQQMQTiIOayANIAtBBWxBAxBOIg8QwQIiCTYCACAQQQAgAhDkASIINgIAIAggCRDlByAJIBMoAgAgC0EDbCADIAtrIANBf0YbaiICNgIEIAkgCiACazYCDCAIIAkQ5QcgDBD3ASAREOoCIBEgCBDwLiAQEF4gC0EEEE4hAyARKAIAIQpBACEIA0AgCCANSARAIAogCEECdGoiAiACKAIAIANKNgIAIAhBAWohCAwBCwsgC0ECEE4hDCABQQFGIRAgBSAOayEIIABBFGohDkEAIQFBACEAA0ACQCABIAxIIQMCfwJAAkACQANAIAAgDU4NBSAKIABBAnRqKAIADQJBACEFA0ACQCAFIABqIgIgDU4NACAKIAJBAnRqKAIADQAgBUEBaiEFDAELCyADIAUgDEhyRQRAIBBFBEAgBSEDDAULIABFIAIgDUZyRQ0CCyACIQAMAAALAAtBASEDIAVBAXYgAGohAAwBCyABQQFqIQEgAEEBagwBCyAUIAAgBGogCCASKAIAaiADIA8QwQIiADYCACAABEAgBiAAQQIQ1AVBjrj5AC0AAARAIA4oAgAgFCgCAEEBQYB/QX9BgH8QswQLIBQQ9wFBACEBCyACCyEADAELCyARELsMCwsLIAckBgv8AgIGfwN9IwYhAiMGQdAAaiQGIAJBQGshAyACQRxqIQQgAkE4aiEFIABBGGoiBigCAARAIAMgASgCAEH//wNxIABBBGoiACgCABClAUH//wNqIAFBBGoiBygCAGsgASgCDGtB//8DcSABKAIIIAEoAgBqQf//A3EgACgCABClAUH//wNqIAcoAgBrQf//A3EQlQIgBCAGKAIAEFUgBBBbAkACQANAAkAgBBBZBEBBfyEADAELIAIgBBBTEMcCEFUgAhBbA0AgAhBZRQRAIAUgAhBTIgAQngMgBSADELQDBEAgACADLgEEIAMuAQBqt0QAAAAAAADgP6K2IggQowS7RAAAAAAAAOA/oBBaIQEgBSAIIABBFGoiACoCACIJQwAAAD+UIgqTEGUgAUH//wNxIAogCJIQZSAJIAGykhBlQf//A3EQlQIgAyAFELQDDQULIAIQVgwBCwsgBBBWDAELCwwBCyAAKgIAEGUhAAsFIAAoAhwhAAsgAiQGIAAL2gEBBX8jBiEFIwZBQGskBiAAQQRqIgYQVyAAQQhqIggQVyAFQTxqIgcgASACEKEBIAVBOGoiCSADIAQQoQEgAEEMaiAHLgEAIAcuAQIgCS4BACAJLgECEIQDIAVBHGoiByAGEFUgBSAIEFUgAEEANgIAIAcgBhCWASAFIAgQlgFBCBBPIgYgASACEPgCIAcgBhC7AUEIEE8iBiABIAQQ+AIgByAGELsBQQgQTyIBIAMgAhD4AiAFIAEQuwFBCBBPIgEgAyAEEPgCIAUgARC7ASAAQQA2AhQgBSQGCzIBAX8gAEEIaiABQQRqIgIQVSAAQSRqIAFBCGoQVSAAIAE2AgQgAigCAARAIAAQtxgLCysAQX8gACgCAC4BBCIAIAEoAgAuAQQiAUogAEEQdEEQdSABQRB0QRB1SBsLrAEBA38gAEEIaiIBELUBRQRAIAFBARCMAy8BBiAAQQJqIgIvAQBGBEAgARBWCyAAQSRqIgNBARCMAy8BBiACLwEARgRAIAMQVgsgAAJ/AkAgARCXAw0AIAMQlwMNACACLgEADAELIAEQjQMgAxCNAyABEFMuAQYLOwEAIAIgAUEBEIwDLgEGOwEAIANBARCMAy4BBiACLgEASARAIAIgA0EBEIwDLgEGOwEACwsL7QIBB38jBiEEIwZBIGokBiAEQQhqIQYgBEEQaiIFEJgBIARBDGoiAxCYASAAKAIAIAUgAxCVECABQRB0QRB1IQcCQAJAIAVBAmoiCC4BACABQRB0QRB1Sg0AIAMuAQIgAUEQdEEQdUwNAAwBCyAEIAc2AgBB1KwWQZLHGUECQarHGSAEEFELIABBBGoiACAFIAMQuBggA0ECaiEJAkACQCAILgEAIAFBEHRBEHVKDQAgCS4BACABQRB0QRB1TA0AIAIgAy8BACAFLgEAIgBB//8DcWs7AQAMAQsgABC3GAJAAkADQCAAQQhqEFkEfyAAQSRqEFkFQQALDQIgACAFIAMQuBggCC4BACABQRB0QRB1TARAIAkuAQAgAUEQdEEQdUoNAgsgABD3LgwAAAsACyACIAMvAQAgBS4BACIAQf//A3FrOwEADAELIAYgBzYCAEHYrBZBkscZQQJBqscZIAYQUUEAIQALIAQkBiAAC7UCAQl/IwYhCCMGQRBqJAYgCCAAKAIAIgUuAQAgBS4BAhChASACIAgoAgAiAzYBACABIAM2AQAgAUECaiEKIAJBAmohCyAFIgQuAQAhByADQf//A3EhBgNAIAQoAgwiBC4BACIDIAZBEHRBEHVIBEAgASADEOIBBSADQRB0QRB1IAIuAQBKBEAgAiADEOIBCwsCQCAELgECIgMgCi4BAEgEQCABIAMQ9AEFIANBEHRBEHUgCy4BACIGSgRAIAQuAQAhByACIAMQ9AEgBCEFDAILIANB//8DcSAGQf//A3FGBEAgBCAFIAQuAQAiAyAHQRB0QRB1SCIGGyEFIAMgByAGGyEHCwsLIAlBAWpBEHRBEHUhCSAEIAAoAgBHBEAgAS4BACEGDAELCyAAIAU2AgAgCCQGIAkL5wEBCH8jBiEFIwZBEGokBiAFQQRqIgdB2sYZEFAgACEGIAAoAggsAAYhAQNAIANBAWohAyABIAYsAAYiBEcEQCAEIAFrIgFBAkoEfyABQXxqBSABQQRqIAEgAUF+SBsLIgEgAmohAiAEIQELIANBgP0ASSAGKAIMIgYgAEciBHENAAsCfwJAAkAgAkF8aw4JAAEBAQEBAQEAAQsgA0EISSAEcg0AIAJBH3VBBHFBA3IMAQsgBAR/QQQFIANBCEkEf0EIBSAFIAI2AgAgB0H1xhlBAEGGxxkgBRBRQQULCwshCCAFJAYgCAuAAQEFfyMGIQIjBkEQaiQGIAJBBGoiAyAANgIAIAJBCGoiBBCYASACEJgBIAAQ+i5BBHJBB0YEQCADIAQgAhD5LiEFQSAQTyIGIAMoAgAgBCgCACIAQf//A3EgAEEQdiACKAIAIgBB//8DcSAAQRB2IAUQwRAgASAGEKABCyACJAYLoAQBC38jBiEHIwZBEGokBiAHIAU2AgAgB0EEaiINIABBEHRBEHUiADYCACAHIAFBEHRBEHU2AgggAkEQdEEQdSAAaiEOQQEhCEEAIQJBASEBIAQhCSAAIQQDQCAEIA5IBEAgA0EBaiERIAMsAAAiDEH/AXEhAwJAIAkoAgAiCgRAQQEgCEH/AXFrQf8BcSEAQQEgCGtBGHRBGHUiC0H/AXEhCCALIAxGIQsgASADRgRAIAsEfyACIAogBSAGEJMQQQAFIAggAWsgCiAHEL0MCyECIAlBADYCAAwCCyALBEAgCSADIAFrIAogBxCpCDYCACADIQEMAgsgDEEBRgR/IAIgCiAFIAYQkxAgCSADIAFrIAggA2tBACAHEL0MIgIgBxCpCDYCAEEBBSAIIANrIAogBxC9DCEQIAkgAyABayACIAcQqQg2AgAgECECIAMLIQEFIAEgA0cEQCAJIAMgAWsgAiAHEKkIIgI2AgAgAyEBCyAIQRh0QRh1IAxGBH8gCCEAQQAFIAgiAEH/AXEgA2sgAiAHEL0MCyECCwsgDSAEQQFqIgQ2AgAgACEIIBEhAyAJQQRqIQkMAQsLIAkoAgAiAEEARyEDAkACQCACBEAgAwRAIAIgACAFIAYQkxBBACEABSABQX5sQQFyIAIgBxCpCCEACwwBBSADBEAgAUF+bEEBciAAIAcQqQghAAwCCwsMAQsgCSAANgIACyAHJAYLqAMBBX8jBiEGIwZBIGokBiAGQRxqIQcgBhBXAkAgACgCAARAQQQQTyIJIAAoAgAQUAJAIAkgBRC8DCIIKAIABEAgBiAIEJYBIAYQWyAGEFMuAQQhCiAHIAYQUy4BBiIAOwEAIARBEHRBEHUhBSADQRB0QRB1IgQhAyAKQRB0QRB1IQEDQCADIAVIBEACQAJAIAMgAUgNACAGEFkNACAGEFYgAUF/aiAAQRB0QRB1aiEDIAYQUy4BBCEBIAYQUy4BBiEADAELIAIgAyAEa2pBAToAAAsgA0EBaiEDDAELCyAHIAA7AQAFIARBEHRBEHUhASADQRB0QRB1IgAhAwNAIAMgAU4NAiACIAMgAGtqQQE6AAAgA0EBaiEDDAAACwALCyAIEO4CIAgQTCAJEEwFIAEgBSAHEPguQRB0QRB1IQUgA0EQdEEQdSIBIQADQCAAIAVIBEAgAiAAIAFrakEBOgAAIABBAWohAAwBCwsgBEEQdEEQdSEAIAcuAQAgBWohAwNAIAMgAE4NAiACIAMgAWtqQQE6AAAgA0EBaiEDDAAACwALCyAGJAYLWAEBfyABKAIAIQIgACgCABBiIgEuAQAgAhBiIgIuAQBrIgBFBEAgAS4BBCACLgEEayIARQRAIAEuAQIgAi4BAmsiAEUEQCABLgEGIAIuAQZrIQALCwsgAAs+ACACQRB0QRB1IAAuAQprQRAQTiAALgEEbCECIAFBEHRBEHUgAC4BCGtBEBBOIAJqIQEgACgCACABQQJ0aguMAgEKfyMGIQMjBkEwaiQGIAMQeSADQQhqIgQQVyADIAEQkQEpAQA3AwAgAy4BACAALgEIIgVrQRAQTkH//wNxIQcgAy4BBCAFa0EQEE4hCCADLgECIAAuAQoiBmtBEBBOQf//A3EhBSADLgEGIAZrQRAQTiEJIABBBGohCgNAIAkgBUEQdEEQdSILTgRAIAchBgNAIAggBkEQdEEQdSIMTgRAIAQgACgCACAKLgEAIAtsIAxqQQJ0ahCWASAEEFsDQCAEEFlFBEAgBBBTIAEQvgYEQCACIAQQnwEQoAELIAQQVgwBCwsgBkEBakEQdEEQdSEGDAELCyAFQQFqQRB0QRB1IQUMAQsLIAMkBgthAQR/IABBBGohAiAAQQZqIQMgACgCACEBIABBEGoiBCgCACEAA0ACQCABIABBAnRqKAIADQAgACADLgEAIAIuAQBsQX9qTg0AIAQgAEEBaiIANgIADAELCyABIABBAnRqC6oBAQV/IwYhBCMGQSBqJAYgBEEcaiIFEFcgBCABEFUDQCAEELUBRQRAIAQQnwEgBRDEECAEEFYMAQsLIAQgBRBVIANBAEchCANAIAQQtQFFBEAgBBCfASIHELoYBH8gAAUgBCAHEKUDEIYCQQALIQFBCBBPIgYgBxCfByAGEMUQIAggAUEBc3EEQCADIAYQoAEFIAIgBhCgAQsgBBBWDAELCyAFEI8DIAQkBgtYAQJ/IAEQUyEDQZi2+QAoAgAhAkGGt/kALQAABH8gACADIAJBABC5GAUgACADIAIQlBALIgJBmLb5ACgCAEoEf0EABSACQQBKBEAgACADIAEQgC8LQQELC2YBBn8gAEEQaiEGIABBBGohAyAAQQZqIQQgACgCACEBQQAhAANAIAEgAEECdGooAgBFBEAgAEEBaiEFIAAgBC4BACADLgEAbEF/akgEQCAFIQAMAgsLCyAGIAA2AgAgASAAQQJ0agtIAQJ/IAAoAgAhASAAQQA2AgAgAQRAIAFBfGoiAigCACIABEAgASAAQQJ0aiEAA0AgAEF8aiIAEI8DIAAgAUcNAAsLIAIQTAsL6QEBBn8jBiEDIwZBkAFqJAYgA0GMAWoiBRBXIANB8ABqIgYgBRBVIANB1ABqIgIgARCELxBVIANBOGoiBBBXIANBHGoiByAAEMAMEFUgAyAAELsYEFUDQCACELUBRQRAIAYgBRCWAQNAIAQgAikCADcCACAEIAIpAgg3AgggBCACKQIQNwIQIAQgAiwAGDoAGANAAkAgAhBWIAIQ/wENACAEEFMgAhBTEL4GRQ0BCwsgAhD/AUUNAAsgBiAEEJ8BEKABIAEgBhCDLyAFIAcgAxCCLyACIAEQgS8QlgEMAQsLIAUQjwMgAyQGC20BA38jBiECIwZBQGskBiACEHkgAkEkaiIDIAAQVSACQQhqIgQQVyADEFsDQCADEFlFBEAgAiADEJ8BIgAQkQEpAQA3AwAgBCABIAIuAQAgAi4BAhD/LhCWASAEIAAQuwEgAxBWDAELCyACJAYLlwIAIABBADYCACAAIAJB//8DcUEQdCABQf//A3FyNgEIIAAgBEH//wNxQRB0IANB//8DcXI2AQwgACADQRB0QRB1IAFBEHRBEHVrQRAQTkEBaiIBOwEEIAAgBEEQdEEQdSACQRB0QRB1a0EQEE5BAWoiAjsBBkF/IAIgAWwiAUECdCICQQRqIAFB/////wNLIAJBe0tyGxBPIgIgATYCACACQQRqIQIgAQRAIAIgAUECdGohAyACIQEDQCABEFcgAUEEaiIBIANHDQALCyAAKAIAIQMgACACNgIAIAMEQCADQXxqIgIoAgAiAQRAIAMgAUECdGohAQNAIAFBfGoiARCPAyABIANHDQALCyACEEwLIABBADYCEAusBAESfyMGIQQjBkHgAGokBiAEQdwAaiIFEJgBIARB2ABqIgYQmAEgBEEUaiIQIgNBBGogARD1LiADIAE2AgAgABC+ASEHIAAQpQEhCCAAEHchEUF/IAdBAWoiA0ECdCADQf////8DSxsQTyEMIARBEGoiD0EANgIAIAEgBSAGEJUQIAcgBi4BACISIgNIBEAgBEGoxhk2AgAgBEE0NgIEQdCsFkGUxhlBAkHH6xwgBBBRCyAEQQhqIQogCCAGLgECIgZIBEAgCkGoxhk2AgAgCkE1NgIEQdCsFkHFxhlBAkHH6xwgChBRCyADIAUuAQAiDSITayIOIQMDQCADQX9KBEAgDCADQQJ0akEANgIAIANBf2ohAwwBCwsgB0F/IAdBf0obEE8hCyAOQf//A3EhByAIQX9qIQogBS4BAiEFIAYhAwNAIAMgBU4EQCADQX9qIQggAyAFTCADIAZKcgRAIAtBASAOEIwBGiAIQf//A3EhAwUgABB1IApBASADa2ogEWxBAnRqIQNBACEJA0AgCSAOSARAIAsgCWogAyAJIBNqQQV1QQJ0aigCACAJIA1B//8DcWpBH3FBH3N2QQFxQQFzOgAAIAlBAWohCQwBCwsgASAQIAsgDSASIAhB//8DcSIDEP0uCyANIAMgByALIAwgDyACEPwuIAghAwwBCwsgDygCACEAA0AgAARAIAAoAgwhFCAAEEwgFCEADAELCyALEEwgDBBMIAQkBgtYAQF/IAEoAgAhAiAAKAIAEGIiAS4BAiACEGIiAi4BAmsiAEUEQCABLgEGIAIuAQZrIgBFBEAgAS4BACACLgEAayIARQRAIAEuAQQgAi4BBGshAAsLCyAAC6EEAQ5/IwYhBSMGQbABaiQGIAVBIGohBCAFQQRqIQMgBUGgAWohBiAFQZgBaiINEFcgBUH8AGoiCCANEFUgCCAAEHsiDxCGAiAFQfgAaiIKEFcgBUHcAGoiCSAKEFUgBUHYAGoiCxBXIAVBPGoiByALEFUgBxD1AyAIEI0DIAgQWwNAIAgQWUUEQCAEIAgQnwEiDBDSASADIAEQVSADEFtBACEOA0AgAxBZRQRAIAYgAxBTIhAQ0gEgBhC6AwRAQanCGSAFEEsLAkACQCAEIAYQuwMNACAEIAYQtAMNAAwBCyADEJ8BGiAJIBAQoAFBASEOCyADEFYMAQsLIA4EQCAMBEAgDBDXAiAMEEwLBSAHIAwQoAELIAgQVgwBCwsgBxCNAyAHEFsDQCAHEFlFBEAgBCAHEFMQ0gEgAyAJKQIANwIAIAMgCSkCCDcCCCADIAkpAhA3AhAgAyAJKAIYNgIYIAMQWwJAAkADQCADEFlFBEAgBiADEFMQ0gECQAJAIAQgBhC0Aw0AIAYgBBC0Aw0ADAELIAQgBhDxC0SamZmZmZnpP2QNAwsgAxBWDAELCwwBCyAHEJ8BIgEEQCABENcCIAEQTAsLIAcQVgwBCwsgAgRAIAQgAhBVIAQQ9QMgBCALEIYCCyAKKAIABEBBHBBPIgEgCiAAELcQBSAEIA8QVSAEIAsQhgJBACEBCyALEOECIAoQ4QIgDRDhAiAFJAYgAQv8AQEHfyMGIQMjBkGAAWokBiADQTxqIQUgA0EgaiEEIANBHGohBiADQdgAaiIHIAAQVSAHEFsDQCAHEFlFBEACQAJAIAcQUyIAKAIEIghFDQAgCCgCDBDuAQ0ADAELIAUgABDHAhBVIAUQWwNAIAUQWUUEQCAEIAUQUxDNAiIIEH0gBhBXIAMgBhB9IAQQlAEDQCAEEI4BRQRAIAQQhwIiACABIAIQiy8iCQRAIAMgCRCpAiAABEAgABC5ByAAEEwLBSADIAAQqQILIAQQeAwBCwsgCBC6ByAEEJ0DIAQgBhDFBCAGELoHIAUQVgwBCwsLIAcQVgwBCwsgAyQGC7YDAQh/IwYhAiMGQfAAaiQGIABBGGoiAygCAEUEQCACQbvAGTYCACACQecCNgIEQdy4+QBBosAZQQJBx+scIAIQUQsgAkEQaiEFIAJBCGohBEGguPkAKAIAQQBKBEBB5sAZIAQQSyADKAIAEL8YIAUgARCaAjYCAEGAwRkgBRBLCyACQRhqIQYgAkHYAGoiBRBXIAMoAgAgAQJ/AkBBjrj5AC0AAEUNACAAKAIURQ0AIAUMAQtBAAsQjC9BoLj5ACgCAEEASgRAQZXBGSAGEEsgAygCABC/GAsgAkE8aiEDIAJBIGohBCACQRxqIQYgAkHgAGohB0GOuPkALQAABEAgAEEUaiIIKAIABEAgAyAFEFUgAxBbIABBBGohAANAIAMQWUUEQCAEIAMQUxDSASAGIAAoAgAgBBC+GCIJNgIAIAgoAgAgCUEBQX9BAEF/ELMEIAYQ9wEgAxBWDAELCyAEIAEQVSAEEFsDQCAEEFlFBEAgByAEEFMQ0gEgBiAAKAIAIAcQvhgiATYCACAIKAIAIAFBA0EAQf8AQQAQswQgBhD3ASAEEFYMAQsLCwsgBRDhAiACJAYLyAIBBn8jBiEEIwZB8ABqJAYgAEGc3whqIQUgAEG8qAhqKAIAIQMDQCACIAUoAgBIBEAgBSACEE0oAgBBvKgIaigCACIGIAMgBiADShshAyACQQFqIQIMAQsLIABBtMoIaiICIAE2AhggAiADNgIQIAJBACAAQajKCGoQwRghBiAAQbjKCGoiAygCAEUEQCAEQf+/GTYCACAEQaIFNgIEQbysFkHqvxlBAkHH6xwgBBBRCyAEQQhqIQEgAEGYyghqIgUQXiAFIAMoAgAQ3QEiBzYCACAAQcDKCGooAgAgAEHEyghqKAIARwRAIAFB09X5AEEAQQAgBxC+AUH//wNxIAUoAgAQpQFB//8DcRCTByAGBH8gAEG8yghqKAIAIgAFIAMoAgAiAAsaIAAgARDAGCACIAEQwAwQjS8gARCtCgsgAhC+DSAEJAYL2QQBB38jBiEGIwZBQGskBiAGQQhqIQUgAEGYyghqIggoAgAiB0UEQCAFQarLGTYCACAFQeYANgIEQdysFkGTyxlBAkHH6xwgBRBRIAgoAgAhBwsgBkEcaiEFIAZBGGohCSAHEL4BIQsgCCgCABClASEKIAFBAEcgAEGcpwhqKAIAIgcQkhBBAXNxBEAgARDfAUEASgRAIAUgARDJASAFEF1BLhCOBiIBBEAgBSABIAUQXWsQ3gFBADoAAAsgCSAFEMkBIAkgCiACELUYGiAJEFggBRBYCwsgAigCAAR/QQYFIAUgAhBVQeAAEE8iAUHT1fkAQQBBACALQf//A3EgCkH//wNxEJMHIAEgAEHg3ghqLAAAEIkBELQYIAUgARC7ASAHCyEBIAZBEGohCSAFEFcgBkEUaiIHEFcCQAJAIAEQlxBFBEAgAUF/akEETwRAIAEQqgpFBEAgBkMAAIA/QwAAAAAQpAEgAEHs3ghqIAYpAwA3AgAgBkMAAIA/QwAAAAAQpAEgAEH03ghqIAYpAwA3AgAgAUEJRw0DIAgoAgAQ7C4iA0UNAyAIEF4gCCADNgIADAMLCwsgACABIAIgByAFQQAgAEHSqwhqLQAAGyADIAQQ7S4gAQ0ADAELIAIoAgAEQCAAQdjKCGogASAAQfTeCGogCyAKIAgoAgAgAEGkyghqKAIAIABBnMoIaigCACAAQaSoCGooAgBBAEcgAEGSyAhqLQAAQQBHciAFIAIgBxDrLgwBC0HMvPkAKAIABEBByssZIAkQSwsLIAcQkgcgBRDaAyAGJAYLsAIBB38jBiEDIwZBEGokBiAAQdjKCGogAEGSyAhqLQAAQQBHOgAIIABBnN8IaiECIABBmMoIaiEEIABBpKgIaigCACEFA0AgASACKAIASARAIAIgARBNKAIAQaSoCGooAgAhBiACIAEQTSgCAEGYyghqEF4gBCgCABDdASEHIAIgARBNKAIAQZjKCGogBzYCACAGIAUgBiAFShshBSABQQFqIQEMAQsLIAQoAgAhBiAAQbTKCGoiAUEEaiICKAIABEAgAhBeCyACIAYQ3QE2AgAgASAFNgIMIAFBASAAQajKCGoQwRgEQCAAQbzKCGoiACgCAEUEQCADQf+/GTYCACADQYQFNgIEQbysFkHmmBtBAkHH6xwgAxBRCyAEEF4gBCAAKAIAEN0BNgIACyADJAYLlgUDCH8EfQJ8IwYhAyMGQdAAaiQGIANBEGohCCAAEFcgAEEUaiIGEFcgA0E0aiIEIAIQzQIQfSADQRhqIgkgBhBVIABBADYCCCAAQQA2AgwgAEEANgIQIAAgAjYCBCADQQhqIgcQeSACQRRqIgoqAgACfSACKgIYIQ4gAioCHCENIAQQlAEgDguSIA2TuyIPRAAAAAAAAPQ/oiEQIA9EAAAAAAAAAECiIQ9BACEAQQAhAgNAIAQQjgFFBEBBlAIQTyIFIAQQcBCsByAFIAoqAgA4AoACAkACQAJAAkAgAgR/IABFBEAgCEGa1Rc2AgAgCEGPATYCBEGomRZBmL0ZQQJBx+scIAgQUQsgBUEBOgCRAiAAIAUQ0hogBBDBDCECIAENAQwCBSABRQRAIAQQwQwhAgwDCyADIAVBBGoiAigCABDXASAHIAMpAwA3AwAgBSACKAIAQQkQvwEEf0EABSAQIAcQa0EQdEEQdbdmCyIGQQFzQQFxOgDtASAEEMEMIQIgBgR/DAIFIAJBC0EAENYBQQAhAkEACwshAAwDCyACQQkQvwEEQCACQQtBARDWAQwCCyADIAIQ1wEgBy4BBCEGIAcgAxC8ARogECADEGtBEHRBEHW3Y0UEQCAQIAcQa0EQdEEQdbdjRQRAIA8gBkEQdEEQdbegIAMuAQC3Y0UEQCACQQtBARDWAQwECwsLIAJBC0EAENYBQQAhAEEAIQIMAgsgAkELEL8BDQBBACEAQQAhAgwBCyAARQRAQRwQTyICEIANIAIgBBBwEIYRGkGUAhBPIgAgAhCsByAAIAoqAgA4AoACIABBAToAkAIgCSAAELsBCyAFQQE6AJECQQEhAgsgCSAFELsBIAQQeAwBCwsgAyQGC6EBAQN/IwYhAyMGQUBrJAYgABBXIABBHGoiBRBXIANBHGoiBCACEMcCEFUgAyAFEFUgAEEANgIIIABBADYCDCAAQX87ARAgAEMAAIC/OAIUIABBADoAGCAAQQA6ABkgAEEAOgAaIABBADsBEiAAIAI2AgQgBBBbA0AgBBBZRQRAQRgQTyIAIAEgBBBTEJEvIAMgABC7ASAEEFYMAQsLIAMkBgtCAQF/IwYhASMGQRBqJAYgAEEANgIAIABBADYCBCAAQQA6AAwgAEEANgIQIAFBADYCACAAQRRqQQwgARDIByABJAYLlgECAn8CfCMGIQEjBkHQAGokBiABQTBqIgIgABBVIAFBIGoiAEEAIAIQU0EEahDDARBrQRB0QRB1ELEBIAIQWwNAIAIQWUUEQCABIAIQUxDHAhBVIAEQWwNAIAEQWUUEQCAAIAEQUyoCFBCMAkEBEIgBIAEQVgwBCwsgAhBWDAELCyAAEOMBIQQgACgCDBCEASABJAYgBAvZAwESfyMGIQYjBkEwaiQGIAZBCGohCiACKAJIIQsgBkEkaiINQQJqIRAgBkEgaiIOQQJqIREgAkEQaiEPIAZBEGoiDEECaiESIAZBGGoiBEECaiETIAJBzABqIRRBACECAkACQANAIAMgBTYCACAFIAsoAgBODQEgCyAFEE0oAgAhCCANEPEBIA4Q8QEgBCAIKAIAEM0BIA0gBC4BACIVOwEAIAQgCCgCABDNASAQIAQuAQYiBzsBACAEIAgoAgAQzQEgDiAELgEEIgk7AQAgBCAIKAIAEM0BIBEgBC4BAiIFOwEAIAQQ8QEgDBDxASAPIBUgByAEEIsGIA8gCSAFIAwQiwYgCiAELgEAIBIuAQAgDC4BACATLgEAEJUCQQAhB0EAIQlBACEFA0AgByABKAIASARAIAkgCiABIAcQZBCUB0QAAAAAAADAP2RqIQkgBSAKIAEgBxBkEMYYciEFIAdBAWohBwwBCwsgBhDxAQJ/AkAgCCgCAEEBIAYQ4hBFBEAgCUEBSyAFQQFzcUUNAQsgACALIAggAygCAEEBIBQQhBoiBUUNACAFIQJBAAwBC0EBCwRAIAMoAgBBAWohBQwBCwsMAQsgA0F/NgIAQQAhAgsgBiQGIAILuwEDA38BfQN8IwYhAiMGQdAAaiQGIAJBEGohAyABEJQvIgZEAAAAAAAAwD+iIQcgAkEsaiIEIAEQVSAEEFsgBrYhBSAAQZSpCGohAANAIAQQWUUEQCADIAQQUxDHAhBVIAMQWwNAIAMQWUUEQCADEFMiASoCFLsiCCAGoZkgB2QEQCAAKAIABEAgAiAIOQMAIAIgBjkDCEHvvBkgAhBLCyABIAU4AhQLIAMQVgwBCwsgBBBWDAELCyACJAYLcAECfyABQX9KBEAgACgCACICIAFKBEAgAEEIaiEDA0AgASACQX9qIgJIBEAgAygCACICIAFBAnRqIAIgAUEBaiIBQQJ0ahCYAhogACgCACECDAELCyAAIAI2AgAPCwtBr4QdQdCEHUH/BUHwhB0QAQs7AQF/QRwQTyIBEIANIAEgACwACDoACCABIAAuAQo7AQogASAALAAJOgAJIAFBEGogAEEQahCYAhogAQueBQERfyMGIQYjBkEwaiQGQX8gAigCrAEoAggiBUEUbCIDQQRqIAVBzJmz5gBLIANBe0tyGxBPIgkgBTYCACAJQQRqIQQgBQRAIAQgBUEUbGohByAEIQMDQCADELIBIANBFGoiAyAHRw0ACwsgBkEQaiEKIAZBDGohDCACQcwAaiELIAJByABqIQ4gAkGkAWohDyAAQRRqIQ0gAEGUqQhqIRBBACEDA0AgAyAFSARAIANB//8DcSERIAQgA0EUbGohEkEBIQcDQAJAIAdBBU8NACAHIANqIgggBUoNACAAIAsgESAIQf//A2pB//8DcUGdtxkgDigCACAPKAIAIAAoAgAoAgxBD3FB3AZqERUAIQggECgCAEECSgRAIAYgAzYCACAGIAc2AgRBprcZIAYQS0GttxkgCCANEJMKCyASIAgQuQEgB0EBaiEHDAELCyADQQFqIQMMAQsLIAJBsAFqIgMQaCAKEKoBIAxDAAAAADgCACAAIARBACAFIAFBAEMAAAAAIAogDCADEMgYQQAhAANAIAAgBUgEQCAEIABBFGxqEJgaIABBAWohAAwBCwsgBCAJKAIAQRRsaiIAIARHBEADQCAAQWxqIgAQaCAAIARHDQALCyAGQQhqIQUgCRBMAn8CQCADKAIADQBBACEEQQEhAANAIAQgCygCAEgEQCALIAQQTSgCACwAChCJAQR/IABBAWoFIAMgABCwAUEBCyEAIARBAWohBAwBCwsgAyAAELABIAMoAgAgASgCAEYNACADEGhBAAwBCyACQcQBaiICEM4CQQAhAAN/IAAgASgCAEgEfyAFIA0gASAAEE0oAgAQzAEQhQEgAiAFEKsCIAUQWCAAQQFqIQAMAQVBAQsLCyETIAoQaCAGJAYgEwt6AQN/IABBFGohAwN/An9BASABLAAARQ0AGiABQSAQ2gIiAEUEQCABIAEQY2ohAAsgAyABIAAgAWsiABD3AyIEQX9GBH9BAAUDQCAAQQFqIQUgASAAaiIALAAAQSBGBEAgBSEADAELCyACIAQQsAEgACEBDAILCwsiAAttAQR/IwYhAyMGQSBqJAYgAS4BACEEIAEuAQIhBSABLgEEIQYgAS4BBiEBIAMgAEEBajYCACADIAI2AgQgAyAENgIIIAMgBTYCDCADIAY2AhAgAyABNgIUIANBpbQZNgIYQcq4GSADEEsgAyQGC/YEAhB/AnwjBiEFIwZB4AFqJAYgAEGUqQhqIgooAgBBAUoEQCAFIAQ2AgBBgbkZIAUQSwsgBUFAayEQIAVBOGohESAFQTBqIRIgBUEoaiETIAVBGGohDCAFQRBqIRQgBUEIaiENIAVBmAFqIQkgBUH8AGohBiAFQeAAaiEHIAVB0AFqIQggBUHEAGohDiAFQbQBaiILIAEQVSALEFsgA0EARyEPQQAhAANAIAsQWUUEQCACIAsQUyIBQQRqEMMBELQDBEAgCSABEMcCEFUgCRBbA0AgCRBZRQRAIAYgCRBTIgEQngMgAiAGELQDBEAgBiABEM0CEH0gBhCUAQNAIAYQjgFFBEAgBhBwIQEgCigCAEECSgRAQau5GSANEEsgDSABENcBIA0QnQELAkACQCABEJUHRQ0AIAEQlQcsAABFDQAMAQsgByABENcBIAIgBxC0AwRAIAcgARB7EFUgBxBbA0AgBxBZRQRAIAggBxBTENIBAkAgCCACELQDBEAgDwRAIAggAhDCDCEVIAggAxDCDCEWIAooAgBBAkoEQEG6uRkgFBBLIAgQnQEgDCAVOQMAIAwgFjkDCEHJuRkgDBBLCyAVIBZkDQILAkAgCigCAEECSgRAQe65GSATEEsgCBCdAUGAuhkgEhBLIAIQnQEgD0UNAUGNuhkgERBLIAMQnQELCyAARQRAIAEQmC8iACAEEJoQIAYgABCMBAsgDiAAEHsQVSAOIAcQnwEQuwELCyAHEFYMAQsLCwsgBhB4DAELCwsgCRBWDAELCwsgCxBWDAELCyAARQRAIAooAgBBAEoEQEGcuhkgEBBLCwsgBSQGIABBAEcLjgcCGX8CfCMGIQYjBkGQAmokBiAGQQhqIQcgAEGUqQhqIggoAgBBAUoEQCAHIAU2AgBBkbsZIAcQSwsgBkGAAWohFSAGQfgAaiEQIAZB8ABqIRYgBkHoAGohESAGQeAAaiEXIAZB2ABqIRggBkHQAGohGSAGQcgAaiEaIAZBQGshGyAGQThqIRIgBkEwaiEMIAZBIGohDSAGQRhqIRwgBkEQaiEdIAZBgAJqIQ4gBkGEAWoiEyABENgCIBMoAhAhACAERSEPAn8CQAJAA0AgAEUNAgJAIABBrAFqIgkoAgAiASADELQDBEAgCCgCAEEBSgRAQbu7GSAdEEsgCSgCABCdASAJKAIAIQELIAEoAgghFCAAQcQBaiEKQQAhAQNAIAEgFE4NAiAOEHlBACEHAkADQCAHIAFqIgsgFEgEQCAGIAkoAgAgCxCjAykBADcDACAGIAMQtANFDQIgCiALEE0Q3wFBAEoNAiAPRQRAIAYgAxDCDCEfIAYgBBDCDCEgIAgoAgBBAkoEQEG6uRkgHBBLIAYQnQEgDSAfOQMAIA0gIDkDCEHJuRkgDRBLCyAfICBkDQMLIA4gBhC8ARogB0EBaiEHDAELCwsgBw0EIAFBAWohAQwAAAsACwsgExDPASEADAAACwALIAgoAgBBAUoEQCAMIAE2AgAgDCALNgIEQc67GSAMEEsLAn8CQCAOIAMQxhgNACAPRQRAQQAgAyAEEKYCQX1IDQIaCyACRQ0AIAIgAxCmAkF9Tg0AQQAMAQsgCSgCACABIAsQ+xogAEGwAWoiAiABEE0gBzYCACAKIAEQTSAFEOABGiAIKAIAQQJKBEAgEiAHNgIAQem7GSASEEsgCSgCACABEKMDEJ0BQYC6GSAbEEsgAxCdASAPRQRAQY26GSAaEEsgBBCdAQsLIAFBAWohAUEBIQADQCAAIAdJBEAgAiABEPoaIAogARCXLyAAQQFqIQAMAQsLIAgoAgBBAUoEQEGDvBkgGRBLQQAhAANAIAAgAigCAEgEQCARIAIgABBNKAIANgIAQeDyGSAREEsgAEEBaiEADAELC0HCkx8gGBBLQZG8GSAXEEtBACEAA0AgACAKKAIASARAIBAgCiAAEE0QXTYCAEGovBkgEBBLIABBAWohAAwBCwtBpLwZIBYQSwtBAQsMAQsgCCgCAEEASgRAQZy6GSAVEEsLQQALIR4gBiQGIB4LiQEBA38jBiEBIwZB4ABqJAYgAUEcaiECIAFBOGoiAyAAEFUgAxBbA0AgAxBZRQRAIAIgAxBTEMcCEFUgAhBbA0AgAhBZRQRAIAEgAhBTEM0CEH0gARCUAQNAIAEQjgFFBEAgARBwQdPV+QAQmhAgARB4DAELCyACEFYMAQsLIAMQVgwBCwsgASQGC0wBAX8gACABEMkBIABBBGoQsgEgAEF/NgIYIABBfzYCHCAAQSBqIgJCADcDACACQgA3AwggAkEANgIQIABBNGoQvQYgAEHQAGoQvQYLVAECfyMGIQEjBkEQaiQGAkAgACABQQRBARDwAUEBRgRAA0AgAiABKAIATgRAQQEhAAwDCyACQQFqIQIgABDDDA0AC0EAIQAFQQAhAAsLIAEkBiAACz8BAn8jBiEBIwZBEGokBiAAIAFBBEEBEPABQQFGBH8gAEEAQQggASgCABDGAiABKAIARgVBAAshAiABJAYgAgs/AQJ/IwYhASMGQRBqJAYgACABQQRBARDwAUEBRgR/IABBAEEBIAEoAgAQxgIgASgCAEYFQQALIQIgASQGIAILfwEDfyMGIQEjBkEQaiQGIAFBBGohAiAAEMMMBH8gACABQQEQggIEfyAAEKIvBH8gABDDDAR/IAAQwwwEfyAAEKEvBH8gABCgLwR/IAJBADoAACAAIAJBARD5BAVBAAsFQQALBUEACwVBAAsFQQALBUEACwVBAAshAyABJAYgAwtCAQF/IAAgARCcCiAAIAE2AgAgAEEIaiEDQQAhAANAIAAgAUgEQCADKAIAIABBAnRqIAIQmAIaIABBAWohAAwBCwsLiAEBBH8jBiECIwZBEGokBiABIAJBBGoiA0EEQQEQ8AFBAUYEQCACEJkBIAAgAygCACACEKQvIABBCGohBEEAIQADfwJ/QQEgACADKAIATg0AGiAAQQFqIQUgBCgCACAAQQJ0aiABEMQHBH8gBSEADAIFQQALCwshACACEFgFQQAhAAsgAiQGIAALcQEDfyMGIQIjBkEQaiQGIAEgAkEEQQEQ8AFBAUYEQCACKAIAIgNBgeHrF0kEQCAAIAMQzAkgACACKAIAIgM2AgAgASAAKAIIQQggAxDwASAAKAIARiEEBUG6oRtB0IQdQdAHQcyhGxABCwsgAiQGIAQLcQEDfyMGIQIjBkEQaiQGIAEgAkEEQQEQ8AFBAUYEQCACKAIAIgNBgeHrF0kEQCAAIAMQtgUgACACKAIAIgM2AgAgASAAKAIIQQEgAxDwASAAKAIARiEEBUG6oRtB0IQdQdAHQcyhGxABCwsgAiQGIAQLqwEBAn8jBiECIwZBEGokBiAAIAEQxAcEfyABIABBBGpBARCCAgR/IABBCGogARCnLwR/IABBHGogARDEBwR/IABBIGogARDEBwR/IABBJGogARCmLwR/IABBOGogARClLwR/IAJBADoAACABIAJBARD5BAR/IAAgAiwAAEEARzoATEEBBUEACwVBAAsFQQALBUEACwVBAAsFQQALBUEACwVBAAshAyACJAYgAws9ACAAEJkBIABBfzYCBCAAQQhqEKQEIABBHGoQmQEgAEEgahCZASAAQSRqEJIFIABBOGoQ1gIgAEEAOgBMC2sBA38jBiEDIwZBEGokBgJ/IAEgA0EBQQEQxgJBAUYEfyADLAAARQRAIABBABC5AUEBDAILQdAAEE8iAhCpLyACIAEQqC8EfyAAIAIQuQFBAQUgAhCfDSACEExBAAsFQQALCyEEIAMkBiAEC0MBAn8jBiEBIwZBEGokBgJ/IAAgAUEBQQEQxgJBAUYEfyABLAAABEBBACAAEKMvRQ0CGgtBAQVBAAsLIQIgASQGIAILlwQBDX8jBiEDIwZB0ABqJAYgA0EgaiEEIANBEGohBSADQQhqIQsgA0HEAGoiDCAAQTRqEFAgAEEAEM0YIABCABCcECADQUBrIgZBADYCACAAQQRqIggQzBggA0E0aiIHEPEEAn8CQCAHIAAgACgCMBCOEUUNACAHIAZBBEEBEPABQQFGQQFzIQEgBigCACICQQFIIAFyDQAgAEEYaiIKIAooAgAgAhDIATYCACAAQShqIQlBACEBAkACQANAAkAgASACTg0AAkACQCABIAooAgBIDQAgCSkDAEIAVQRAIAAQnRAgCSkDAFUNAQsgCCAHEKovRQ0CIAgQoAMoAgAiAhDfAUUEQCACIAAQmAIaIAIgARD3BAsgACAAEJ0QIAIoAgisfBCcEAwBCyAHEKsvRQ0DCyABQQFqIQEgBigCACECDAELCwwBC0G5sxkgCxBLCyABIAYoAgAiCUgEQCAAEF0hAiAGKAIAIQQgBSACNgIAIAUgATYCBCAFIAQ2AghB0bMZIAUQSyAIEMwYBSAIKAIAIQIgCigCACEBIAAQXSEFIAQgAjYCACAEIAk2AgQgBCABQQFqNgIIIAQgAiABajYCDCAEIAU2AhBB+rMZIAQQSwsgACAGKAIAEM0YIAgoAgBFQQFzDAELIAMgABBdNgIAQZqzGSADEEtBAAshDSAHKAIEIAcsAAgQ8wQgDCgCABogAyQGIA0LVAECfyMGIQIjBkEQaiQGIAJBBGoiAyAAQTRqEFAgAiAAQdAAahBQIAAgARDgARogAEF/NgIYIABCADcDKCAAQQA2AjAgAigCABogAygCABogAiQGC00AIAMgABDgARogA0Hw1SAgAS4BABCGASADQfDVICABLgECEIYBIANB8NUgIAEuAQQQhgEgA0Hw1SAgAS4BBhCGASADQfDVICACEIYBC5UDARN/IwYhBiMGQdAAaiQGIAZBQGshByAGQSBqIQsgBkEcaiEIIAZBCGohCSAGQRhqIQwgBkEUaiENIAZBEGohDiAGQThqIhAgAhCFASAGQSRqIgoQ1gIgEEEKIAoQiQogCigCACIRBH8gAEEASCESIANFIRMgBEUhFCAFRSEVQQAhAgNAIA8gEUgEQCALQQA2AgAgCBCZASAJEHkCQCAKIA8QTRBdIAsgCCAJENIYBEAgAQRAIAdB8NUgEIUBIAggBxD0BARAIAcQWAwDBSAMQbLmHBCFASAIIAwQ9AQhFyAMEFggBxBYIBcNAwsLIBIgCygCACAARnIEQCATRQRAIAYgCSkDADcDACAHIAYpAQA3AQAgAyAHEKAGCyAURQRAIA0gCBDJASAEIA0QqwIgDRBYCyAVRQRAIAcQmQEgCBBdIAkgACAHEK4vIA4gBxDJASAFIA4QqwIgDhBYIAcQWAsgAkEBaiECCwsLIAgQWCAPQQFqIQ8MAQsLIAJBAEoFQQALIRggChDOAiAQEFggBiQGIBgLLgEBfyAAIAEQyQEgABBdQS4QjgYiAgRAIAAgAiAAEF1rEMAKCyAAQZWzGRBsGgu8AQEHfyMGIQQjBkEgaiQGIARBEGohBiAEQQhqIQUgAEEEaiEHIABBIGohCCAAQSRqIQkgAEE4aiEKQQAhAANAIAAgAygCAEgEQAJAAkAgBygCAEF/TA0AIAMgABBNKAIAIAcoAgBGDQAMAQsgCCACIAAQTRCjAhogBCABIAAQZCkBADcDACAGIAQpAQA3AQAgCSAGEKAGIAUgAiAAEE0QyQEgCiAFEKsCIAUQWAsgAEEBaiEADAELCyAEJAYLPQEBfyMGIQIjBkEQaiQGIAIgAEE0ahBQIABBBGogARC5ASAAIAAQnRAgASgCCKx8EJwQIAIoAgAaIAIkBgveAgIJfwF9IwYhByMGQfAAaiQGIAdB0ABqIQggB0HIAGohDSAHQUBrIQkgB0EoaiEKIAdBFGohCyAHQQhqIQ4gB0EQaiEMIAdB6ABqIg8QeSAAIAEgBiAPEL0ZIgEEQCABIABBrKkIaiIAKAIAEPcEIAggBhDmAiAIKgIAIRAgCSAGEOYCIA0gECAJKgIEjBCkASAJIA8QzhggChCSBSALENYCIAkoAgAiBkH//wNxIQkgBkEQdiEGA0AgBCAFSARAIAcgAiAEEGQpAQA3AwAgByANEN8CIAcgCSAGENINIA4gBykDADcDACAIIA4pAQA3AQAgCiAIEKAGIAwgAyAEEE0QyQEgCyAMEKsCIAwQWCAEQQFqIQQMAQsLIAgQqgEgCigCACECIAcgACgCADYCACAIIAIgBxDIByABIAogCyAIELEvIAgQaCALEM4CIAoQ3wQFQQAhAQsgByQGIAEL4AEBBX8gAUF/cyICQXwgAkF8SxsgAWpBBGpBfHEhBSAAIQMgASIEIQIDQCAEQQNLBEAgAygAAEGV08feBWwhBiAEQXxqIQQgA0EEaiEDIAZBGHYgBnNBldPH3gVsIAJBldPH3gVscyECDAELCyAAIAVqIQACQAJAAkACQAJAAkACQCABIAVrQQFrDgMCAQADCyAALQACQRB0IAJzIQIMAwsMAgsMAgsMAgsgAC0AAUEIdCACcyECCyACIAAtAABzQZXTx94FbCECCyACQQ12IAJzQZXTx94FbCIAQQ92IABzCykBAn8gACgCACAAIAAsAAsiAUEASCICGyAAKAIEIAFB/wFxIAIbELQvC08BA38gASAAQQRBARCQBBogAEEIaiEDA38Cf0EBIAIgACgCAE4NABogAkEBaiEEIAMoAgAgAkECdGogARDmCAR/IAQhAgwCBUEACwsLIgALJQAgASAAQQRBARCQBBogASAAKAIIQQEgACgCABCQBCAAKAIARguXAQECfyMGIQIjBkEQaiQGIAAgARDmCAR/IAEgAEEEahCGAwR/IABBCGogARC3LwR/IABBHGogARDmCAR/IABBIGogARDmCAR/IABBJGogARDRGwR/IABBOGogARC2LwR/IAIgACwATDoAACABIAJBARDnCAVBAAsFQQALBUEACwVBAAsFQQALBUEACwVBAAshAyACJAYgAws6ACABEF1B/oQdEOUCIgEEQCAAQQAQ2QFBASAAKAIAIAEQrAEgACgCAEYhACABEP0BGgVBACEACyAAC00BAn8jBiECIwZBEGokBiAALAAJRQRAIAJBo+MXNgIAIAJBtwI2AgRBwJ4WQdTjF0ECQcfrHCACEFELIAAoAgQgARC5LyEDIAIkBiADC6cBAQV/IwYhAiMGQRBqJAYgAkEEaiEDIAIgACgCACIFNgIAIAEgAkEEQQEQkAQaIABBCGohBEEAIQACQAJAA0ACQCAAIAVOBEBBASEADAELIAMgBCgCACAAQQJ0aigCAEEARyIGOgAAIAEgA0EBQQEQkAQaIAYEQCAEKAIAIABBAnRqKAIAIAEQuC9FDQMLIABBAWohAAwBCwsMAQtBACEACyACJAYgAAtM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QCAAQbABaw4IAAEBAQEBAQABC0EBIQAMBAsFAkACQCAAQaLAAGsOgAsAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAQtBASEADAQLCwUCQAJAIABBqssAaw70CgABAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQABAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB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IQogBSQGIAoLqgIBB38jBiEKIwZBEGokBiAAQdADaiEHIANBABBNKAIAQQBKBEAgACABQY6MGSAHKAIAQQAgA0EAEE0oAgAQ0QwLIAoiCEEEaiIGQQE2AgBBACEEA0AgBCACKAIASARAIAIgBBBNKAIAIgkgBygCAEYEfyAGIARBAWoiBTYCACAAIAFBjowZIAkgAyAEEE0oAgAgAyAFEE0oAgAQ0QwgBQUgACABIAAgAiAEIAYgCBCzMCACIAQQTSgCACADIAQQTSgCACADIARBAWoiBBBNKAIAENEMIAYoAgAhBQNAIAQgBUgEQCAAIAEgACACIAQQTSgCABCUGSACIAQQTSgCACADIAQQTSgCACADIARBAWoiBBBNKAIAENEMDAELCyAFCyEEDAELCyAIJAYLjgEBA38jBiEEIwZBIGokBiAEQQhqIQUgBEEUaiIGIAAgASADIARBHGoiAyAEQRhqIgEQpTAiADYCACAABEAgAygCACIDIAJMIAEoAgAiASACSHIEQCAFIAM2AgAgBSABNgIEIAUgAjYCCEGUjRkgBRBLIAYQXkEAIQALBUH7jBkgBBBLQQAhAAsgBCQGIAALbwEDfyMGIQEjBkEwaiQGIAFBFGohAiAAKAIABH8gAhDMBCABIAAoAgAiACACIAAoAgAoAgxB/wBxQawMahENACACIAEpAgA3AgAgAiABKQIINwIIIAIgASgCEDYCECACKAIQBUEACyEDIAEkBiADCy0AIAAQeyIAKAI0QQBKBH9BAAUgACgCPEEASgR/QQAFIABBQGsoAgBBAUgLCws9AQF/IAAoAgAiAiAAKAIERgRAIAAQmRkgACgCACECCyAAIAJBAWo2AgAgACgCCCACQQN0aiABKQIANwIAC1wBA38jBiECIwZBEGokBiAAKAIAIQMgAiABKQIANwMAIAJBCGoiBCACKQIANwIAIAAgBBC4MCABIAAQpQcpAgA3AgAgACAAIAMgARDhGRBkIAEpAgA3AgAgAiQGC1gBA38gAEEANgIAQcgBEE8iAUEENgIEIAFByAFqIQIgAUEIaiIDIQEDQCABENUMIAFBMGoiASACRw0ACyAAIAM2AgggAEEENgIEIABBADYCDCAAQQA2AhALUQAgACwAACABLAAARgR/IAApAwggASkDCFEEfyAALAAQIAEsABBGBH8gACkD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IQIgACAEKAIANgIAIAQgAjYCACAGKAIAIQIgBiABQQhqIgMoAgA2AgAgAyACNgIAIABBCGoiACgCACECIAAgAUEMaiIAKAIANgIAIAAgAjYCACABIAQoAgA2AgALeQECfyAAQQxqIgVBADYCACAAIAM2AhAgAQRAIAFB1arVqgFLBEBBCBAOIgMQ1wcgA0HI1BY2AgAgA0GolBZBlgIQDQUgAUEMbBBPIQQLCyAAIAQ2AgAgACAEIAJBDGxqIgI2AgggACACNgIEIAUgBCABQQxsajYCAAuMAgEGfyABIAEgAEY6AAwgASEDAkACQAJAA0ACQCADIABGDQAgAygCCCIEQQxqIgUsAAANACAEQQhqIgYoAgAiASgCACICIARGBH8gASgCBCICRQ0DIAJBDGoiAiwAAA0DIAIFIAJFDQQgAkEMaiICLAAADQQgAgshByAFQQE6AAAgASABIABGOgAMIAdBAToAACABIQMMAQsLDAILIAQoAgAgA0cEQCAEELQZIAYoAgAiAEEMaiEFIAAoAgghAQsgBUEBOgAAIAFBADoADCABELMZDAELIAQoAgAgA0YEQCAEELMZIAYoAgAiAEEMaiEFIAAoAgghAQsgBUEBOgAAIAFBADoADCABELQZCwtVACADQQA2AgAgA0EANgIEIAMgATYCCCACIAM2AgAgACgCACgCACIBBEAgACABNgIAIAIoAgAhAwsgACgCBCADENkwIABBCGoiACAAKAIAQQFqNgIACzcBAX8gAEEYEE8iAzYCACAAIAFBBGo2AgQgAyACKAIAKAIANgIQIANDAAAAADgCFCAAQQE6AAgLlAEBAn8CQCAAQQRqIgQoAgAiAwRAIABBBGohBCADIQACQAJAAkADQCAAKAIQIgMgAksEfyAAKAIAIgNFDQIgACEEIAMFIAMgAk8NBCAAQQRqIgQoAgAiA0UNAyADCyEADAAACwALIAEgADYCAAwDCyABIAA2AgAgBCEADAILIAEgADYCAAUgASAENgIACyAEIQALIAALYAEDfyMGIQQjBkEQaiQGIAEgBEEMaiIFIAIQ3DAiBigCACICBH8gAiEBQQAFIAQgASADENswIAEgBSgCACAGIAQoAgAiARDaMEEBCyECIAAgATYCACAAIAI6AAQgBCQGCzcAIABBCGohAANAIAEgAkcEQCAAKAIAIAEpAgA3AgAgACAAKAIAQQhqNgIAIAFBCGohAQwBCwsL2QEBBX8gAUEEaiIFKAIAIgdBACACIAAoAgAiBmsiA0EDdWtBA3RqIQQgBSAENgIAIANBAEoEQCAEIAYgAxBtGgsgAUEIaiEDIABBBGoiBCgCACACayIGQQBKBEAgAygCACACIAYQbRogAyADKAIAIAZBA3ZBA3RqNgIACyAAKAIAIQIgACAFKAIANgIAIAUgAjYCACAEKAIAIQIgBCADKAIANgIAIAMgAjYCACAAQQhqIgAoAgAhAiAAIAFBDGoiACgCADYCACAAIAI2AgAgASAFKAIANgIAIAcL/wIBCX8jBiEDIwZBIGokBiAAQQxqIgQoAgAiAiEJAkAgAEEIaiIFKAIAIgggAkYEQCAAKAIAIgohBiAAQQRqIgcoAgAiAiAKTQRAIAMgCSAGayICQQJ1QQEgAhsiAiACQQJ2IAAoAhAQ2gwgAyAHKAIAIAUoAgAQ3jAgACgCACECIAAgAygCADYCACADIAI2AgAgBygCACEAIAcgA0EEaiICKAIANgIAIAIgADYCACAFKAIAIQAgBSADQQhqIgIoAgA2AgAgAiAANgIAIAQoAgAhACAEIANBDGoiAigCADYCACACIAA2AgAgAxDZDCAFKAIAIQAMAgsgAiACIgAgBmtBA3VBAWpBfhBOQQN0aiIGIQQDQCACIAhHBEAgBCACKAIANgIAIAQgAigCBDYCBCAEQQhqIQQgAkEIaiECDAELCyAFIAYgCCAAa0EDdkEDdGoiADYCACAHIAY2AgAFIAghAAsLIAAgASkCADcCACAFIAUoAgBBCGo2AgAgAyQGC5IBAQN/IAEgAEEEaiIGKAIAIgQgA2tBA3VBA3RqIgMhBSAEIQADQCAFIAJJBEAgACAFKQIANwIAIAYgBigCAEEIaiIANgIAIAVBCGohBQwBCwsgBCECIAMhAANAIAAgAUcEQCACQXhqIgMgAEF4aiIEKAIANgIAIAJBfGogAEF8aigCADYCACADIQIgBCEADAELCws5AQN/IwYhAiMGQRBqJAYgAiABNgIAIAJBCGoiAyAAIAEoAgAgAhDdMCADKAIAQRRqIQQgAiQGIAQL8QIBC38jBiEIIwZBMGokBiAIQShqIQkgAEEBcSEOIAhBHGoiCxBXIAggCxBVIAhBIGoiDUECaiEPIAIhAANAIAAgA0gEQCAGIABBAWoiEBBNKAIAIAYgABBNKAIAayEKIABBAEoEQCAGIAAQTSgCACAGIABBf2oiDBBNKAIAayAKSARAIAYgABBNKAIAIAYgDBBNKAIAayEKCwsgBiAAEE0oAgAhESAGIAAQTSESIAEQayEMIAkgESAKQQEgCkEBShsiAGtB//8DcUEAIBIoAgAgAGpB//8DcSAMEJUCIAkgBxDUMCANIAEuAQAgAS4BAhChASAJIA0uAQAgDy4BABDSDSAJIAEuAQYQpwIgCCAJENgMEKABIBAhAAwBCwtBHBBPIgAgCyAOEL8GQZQCEE8iASAAEKwHIAEgBTYCRCABQQE6AJACIAEgBDgCjAJBGBBPIgAgAyACa0EBEMwIIAEgADYClAEgCxDhAiAIJAYgAQs3AQJ/IAAQ0TAgACgCCCECIAAoAgQhAQNAIAEgAkcEQCABKAIAEEwgAUEEaiEBDAELCyAAEKoFC3ABBX8jBiEDIwZBEGokBiAAQeAAaiEFIAJBCGohBkEAIQADQCAAIAIoAgAiBEgEQAJ/IAQgBigCACAAELMBKAIAIQcgAyAANgIAQeDyGSADEEsgBwsgBSgCACABQQEQrBkgAEEBaiEADAELCyADJAYL6w4DKX8BfgN9IwYhCCMGQeABaiQGIAhBKGohCyAFEMkQIAhBxAFqIgwQqgEgCEGwAWoiEhCqASAIQZwBaiIYEKoBIAhBiAFqIg0QqgEgCEH0AGoiExCyASAIQeAAaiIdELIBIAhByABqIg9CADcCACAPQgA3AgggD0IANwIQIAAgEyAdELsZIAMEQCAAIAQgExDlMCAdIAwgEiAYIA1BABDIEEGPgxkgCxBLIAQgHSAMIBIgGCANELoZCyAGQQJGIigEQCATIAwgEiAYIA0gDxDIECAPKAIUBEAgDygCBCAPKAIQIgtBCXZBAnRqKAIAIgcgC0H/A3EiC0EDdGooAgAhFCAHIAtBA3RqKAIEIQcgDxC4GQsFIBMgDCASIBggDUEAEMgQCyAMKAIAISIgAwRAIAQgEyAMIBIgGCANELoZCyAGQQFGISkgCEE4aiIVQQRqIRkgFUEIaiEjIA9BFGohJCAPQQRqISUgD0EQaiEmIAhBLGoiFkEEaiEaIBZBCGohJyAIQQRqISogCEEIaiIQQQRqISsgCEEEaiEsIBNBCGohLUEAIQsgFCEGIAchAwNAIAsgIkgEQCATKAIAIR4gLSgCACEfIAshFAJAAkADQAJAIBRBAWoiCSAiTgRAQQAhCkEAISBDAAAAACEzDAELIAwgCRBNKAIARQ0CIB4gHyANIAkQTSgCACIHELMBKAIALAANDQIgHiAfIAcQswEoAgAoAghBAkYEQCAEIAwgCRBNKAIAELYIRQ0DIAQgDCAUEE0oAgAQtghFDQMLIAkhFAwBCwsMAQsgDCAJEE0oAgAEfUEAIQpBASEgQwAAAAAFIBIgCRBNKAIAIgchCkEBISAgB74LITMLIAtBAEoEfyAMIAtBf2oQTSgCAEUFQQALIAEgCyAJIDEgCr4iMiAxIDJdGyAEIA0gAhDjMCERICkEQCARQYwBaiEbIBFBkAFqIQ4gEUGIAWohCgNAIAMgDSAJEE0oAgBJBEAgACgCACADQQxsaiEXIBsoAgAiByAOKAIARgRAIAogFxDHEAUgByAXELUIIBsgGygCAEEMajYCAAsgA0EBaiEDDAELCyANIAkQTSgCACEDBSAoBEAgFUEANgIAIBlBADYCACAjQQA2AgAgEUGMAWohISARQZABaiEuIBFBiAFqIS8gAyEKQwAAAAAhMQNAIAogDSAJEE0oAgBJBEAgACgCACIDIApBDGxqKAIEIQcgAyAKQQxsaigCACEOA0AgDiAHRwRAIBAgDikCACIwNwMAIDCnLAAABEAgMSAwQiCIp76SITEgGSgCACIDICMoAgBGBEAgFSAQELcZBSADIDA3AgAgGSAZKAIAQQhqNgIACwsgDkEIaiEODAELCwJAAkAgJCgCAARAIAogJSgCACAmKAIAIgNBCXZBAnRqKAIAIANB/wNxQQN0aigCBEF/akYNAQsgCiANIAkQTSgCAEF/akYNAAwBCyAQQQA2AgQgEEEANgIIIBAgEEEEajYCACAVKAIAIQcDQCAHIBkoAgBHBEAgByoCBCEyIBAgBxDiMCIDIDIgAyoCAJI4AgAgB0EIaiEHDAELCyAWQQA2AgAgGkEANgIAICdBADYCACAIIAQgBhDNBzYCACAqQwAAAEA4AgAgGigCACIDICcoAgBJBEAgAyAIKQMANwIAIBogGigCAEEIajYCAAUgFiAIELcZCyAxQwAAAABbIRsgECgCACEDA0AgGyADICtGckUEQCADQRBqIRcgA0EUaiIHKgIAIDGVITIgByAyOAIAIBooAgAgFigCACIHa0EDdSEOQQAhHANAAkAgDiAcTQ0AIAcgHEEDdGoqAgQgMl5FDQAgHEEBaiEcDAELCyAIIBcoAgA2AgAgLCAyOAIAIBYgByAcQQN0aiAIELYZIAMoAgQiBwRAIAchAwNAIAMoAgAiBwRAIAchAwwBCwsFIAMhBwNAIAcoAggiAygCACAHRwRAIAMhBwwBCwsLDAELCyAkKAIABEAgJSgCACAmKAIAIgNBCXZBAnRqKAIAIANB/wNxQQN0aigCACEGIA8QuBkLIBkgFSgCADYCACAhKAIAIgMgLigCAEYEQCAvIBYQxxAFIAMgFhC1CCAhICEoAgBBDGo2AgALIBYQugIgECgCBBDGEEMAAAAAITELIApBAWohCgwBCwsgDSAJEE0oAgAhAyAVELoCCwsgEUGUAWohCiALIQcDQCAHIBRMBEBBBBBPIg4QVyAVIA42AgAgECAOEFVByAAQTyIOIAwgBxBNKAIAIBggBxBNKgIAIBIgBxBNKgIAQX9DAACAP0MA/v9GQwAAAABBABDqBiAOIAcgC2siFyAXEPcIIBAgDhCgASAKKAIAIBcgFyAVEPQFIAdBAWohBwwBCwsgESAeIB8gDSAUEE0oAgAQswEoAgAoAggQ9xAgBSARELkBICAEfyAJIBRBAmogDCAJEE0oAgAbBSAJCyELIDMhMQwBCwsgDxDkMCAdEGggExBoIA0QaCAYEIcEIBIQhwQgDBBoIAgkBgvxBQIQfwZ9IwYhByMGQdACaiQGIAdBEGohCiAHQQhqIRAgB0GsAmohDSAHQagCaiERIAdBpAJqIRIgB0HAAWohCCAHQdwAaiEJIAdByABqIQ4gB0HEAGohEyAHQUBrIRQgABC7ECAAKAIAIgsgCygCACgCNEH/AXFBBmoRBQAhCyAAQeADaiEVIAdBwAJqIgwgASAAKAIAKAIUIAsgBBC1MCIPNgIAAn8gDwR/IAAoAgAoAggQ/AIEQCAPEL4BQYAUSgRAIA8QvgEhASAPEKUBIQAgECABNgIAIBAgADYCBEGqixkgEBBLIAwQXkEADAMLCyAEIAuyIAQqAgCVOAIAIAUgAEHEA2oiCygCABDeBRCXGSAAELsQIA0gACgCACIBIAEoAgAoAghB/wBxQawLahEDACANIAwoAgAgFSAFEJYZIAAoAgAiASADIAVBACAAQegDaiIEIAYgASgCACgCUEEPcUGsDmoRDAAgACAGIA0gESASEJUZIA0qAgAiF0MAAAA/XSACcQRAIAgQ/AUgCRD8BSAIIAsoAgAQ3gUQlxkgABC7ECAMKAIAIgEgARCNBRogDiAAKAIAIgEgASgCACgCCEH/AHFBrAtqEQMAIA4gDCgCACAVIAgQlhkgACgCACIBIAMgCEEAIAQgCSABKAIAKAJQQQ9xQawOahEMACAAIAkgDiATIBQQlRkgDioCACIYIBdeBEAgEyoCACIZIBEqAgAiGl4EQCAUKgIAIhsgEioCACIcXQRAIAMEQCAKIBe7OQMAIAogGrs5AwggCiAcuzkDECAKIBi7OQMYIAogGbs5AyAgCiAbuzkDKEHTixkgChBLCyAGIAkQvBEaIAUgCBC8ERoLCwsgCRC9BSAIEL0FCyAMEF4gAwRAIAgQqgEgCRCqASAAEMoQBEAgACAGIAggCRCyMAUgACAGIAggCRCxMAsgACAGIAggCRC0MCAJEGggCBBoC0EBBUGNixkgBxBLQQALCyEWIAckBiAWC1sBBH8gAEEcaiEBIABBBGohAiAAQQhqIQNBACEAA38Cf0EAIAAgASgCAE4NABogAEEBaiEEIAIoAgAgAygCACAAQQJ0aigCABC2CAR/IAQhAAwCBUEBCwsLIgAL0gMCCn8DfSMGIQQjBkEgaiQGIABBvN8IaiIJKAIAKAKMBiIIRQRAIAAgACgCACgCCEH/AXFBBmoRBQAhCAsDQAJAIAMgASgCAE4NACABIAMQTSgCACgCmAEiAgRAIAIQ6DANAQsgA0EBaiEDDAELCwNAIAcgASgCAEgEQCABIAcQTSgCACICQZgBaiIGKAIAIgMEQCACQbABaiEKQQAhBQNAIAUgAygCHCILSARAIAogAygCECAFEOICELABIAVBAWohBSAGKAIAIQMMAQsLIAJB4AFqIAtB//8DcRDFBiACQQA6AOgBIAJB6QFqIgNBAToAACACQQA6AOoBIAJBAToA6wEgAiAANgLYASAGKAIAKgIoIg0gAkGMAmoiBSoCACIMIA0gDF0bQwAA4ECUIQ4gACAAKAIAKAIIQf8BcUEGahEFACgC/AdBAEoEQCAFKgIAIQwgBCAGKAIAKgIoIg27OQMAIAQgDLs5AwggBCANIAwgDSAMXRtDAADgQJS7OQMQIAQgDrs5AxhB1oIZIAQQSyAGKAIAELsaCyAGKAIAIA4Q6xAgAyAIIAIQ2hlBAXE6AAAFIAIgCSgCABCeAhDJCAsgB0EBaiEHDAELCyAEJAYLwwEBBH8jBiEGIwZB0AFqJAYgBkHoAGoiBxD8BSAGEPwFIAAgAUEBIAIgBkHkAGoiCSAGIAcQ5zAEQCAAQZAGaiIIKAIAIgFFBEBB5AAQTyIBIABB2AJqIAAoAtADIAAQyhAgACgCjAYQmBkgCCABNgIACyABIAdEAAAAAAAAAkBEw/UoXI/Ctb9EAAAAIEmSDMAgABCeAiIAIAUQvBkgCCgCACADIAkqAgAgAiAAIAQgBRDmMAsgBhC9BSAHEL0FIAYkBgtLAQJ/IwYhAiMGQSBqJAYgAiAAQaABahBVIAIQVgN/An9BASACEP8BDQAaIAIQUyoCICABXwR/QQAFIAIQVgwCCwsLIQMgAiQGIAMLqwECA38EfSAABH8gACgCACIABUEAIQBBAAshAyABBH8gASgCACIBBUEAIQFBAAshBEEYEOwCIgIgACoCACIFIAQqAgAiBpJDAAAAP5Q4AgAgAiAAKgIEIgcgBCoCBCIIkkMAAAA/lDgCBCACIAMqAgAgAyoCBCABKgIAIAEqAgQQzBA4AgggAiAFIAcgBiAIEM0QOAIMIAJDAAAAADgCECACQwAAAAA4AhQgAgtcAQJ/IAAEQCAAKAIEIABHBEAgABDAGSIDIQADQCAAEMAZIgIoAgAoAgxBgIDAAHFFBEAgACACEOwwIgAEQCABIAAQowchAQsLIAIgA0cEQCACIQAMAQsLCwsgAQtEAQJ/IAAEQCAAKAIEIABHBEAgABC/GSIBIQADQCAAEL8ZIgAoAgBBDGoiAiACKAIAQYCAgAFyNgIAIAAgAUcNAAsLCwtXAQJ/IAAEQCAAKAIEIgQgAEcEQCAEIQMgACgCACEAA0AgAwR/IAAgAygCACIAIAEgAhC+GSADKAIEBSAAQQAgASACEL4ZQQAhAEEACyIDIARHDQALCwsLnQEBBn8jBiECIwZBEGokBiAABEAgAkEEaiEEIAAhAwNAIAIgA0EARyIGBH8gAygCAAVBAAsiBSoCACAFQQRqIgcqAgAQpAEgASACKgIAIAQqAgAgAhDVByAFIAIqAgBDAAD+wpJDAACAO5Q4AgAgByAEKgIAQwAA/sKSQwAAgDuUOAIAIAYEfyADKAIEBUEACyIDIABHDQALCyACJAYLfAECfyAABEAgABDPECICIQADQCAABEAgACgCACABEPAwIAAoAgQhAAwBCwtBACEBIAIhAANAIAAEQCAAKAIAIgNB6Jn5ACsDALZBwJn5ACsDALYQ7zAgAxDuMCADIAEQ7TAhASAAKAIEIQAMAQsLIAIQzhAFQQAhAQsgAQtvAgF/AX0CQAJAA0AgAiAAKAIALwEATw0BIABBBGogAkECdGoqAgAiA7xB/////wdxQYCAgPwHSw0CIAFB8NUgIAO7EJ8DIAJBAWohAgwAAAsACyABQcKTHxBsGg8LQauAGUH8/xhBqQFBnoAZEAELTwEBfwJAIAAEQCABQdPV+QAgAC8BABCGASABQcKTHxBsGgNAIAIgAC8BAE8NAiAAQQRqIAJBAnRqKAIAIAEQ8jAgAkEBaiECDAAACwALCws2AQF/IAAEQANAIAEgACgCAEkEQCAAQQRqIAFBAnRqKAIAELoIIAFBAWohAQwBCwsgABD6AwsLoAEBA38gASgCACEFA0AgBCAFRwRAIAMgAUEEaiAEQQJ0aigCAEEAR2ohAyAEQQFqIQQMAQsLIAJB8NUgIAMQhgEgAkHCkx8QbBpBACEDA0AgAyABKAIASQRAIAFBBGogA0ECdGoiBCgCAARAIAIgAEEEaiADQQJ0aigCACgCBBBsGiACQfDVIBBsGiAEKAIAIAIQ8zALIANBAWohAwwBCwsLxwEBC38gACgCACEIQQEhAwJAAkADQCAEIAhPDQEgAEEEaiAEQQJ0aigCACIFBH8gBS8BACEJQQAhAQNAIAEgCUcEQCAFQQRqIAFBAnRqKAIAIgooAgAvAQAhC0EAIQIDQCACIAtHBEAgCkEEaiACQQJ0aioCALxBgICA/AdxQYCAgPwHRyEGIAJBAWohAiAGIANxIQMgByAGciEHDAELCyABQQFqIQEMAQsLIARBAWohBAwBBUEACyEACwwBCyAHIANxIQALIAALnAEBAn8jBiEDIwZBMGokBiADQRRqIgIgASkCADcCACACIAEpAgg3AgggAiABKAIQNgIQIAMQ/AggAEEAIAIgAxCfCyIBBEBBARC4CCEAQZybFhCPBiICIAFBABDHCrI4AgQgAiABQQEQxwqyOAIIIAIgAUECEMcKsjgCDCAAIAIQtwggARCFCSABEEwFQQAhAAsgAxCECSADJAYgAAvMAQEFfyMGIQMjBkEwaiQGIANBFGoiAiABKQIANwIAIAIgASkCCDcCCCACIAEoAhA2AhAgAxD8CCAAQQAgAiADEJ8LIgIEQCACKAIkIQQgAigCGCIGELgIIQBBACEBA0AgASAGRwRAQZybFhCPBiIFIAQgAUECdGotAACyOAIEIAUgBCABQQJ0ai0AAbI4AgggBSAEIAFBAnRqLQACsjgCDCAAIAUQtwggAUEBaiEBDAELCyACEIUJIAIQTAVBACEACyADEIQJIAMkBiAAC4ABAQJ/QQEQuAghAkG4lhYQjwYiASAALgEGQUBqt0QAAAAAAABwP6K2OAIEIAEgACgCALdEAAAAAAAAcD+iRAAAAAAAACRAo7Y4AgggASAALgEIt0QAAAAAAABwP6K2OAIMIAEgAC4BCrdEAAAAAAAAcD+itjgCECACIAEQtwggAgv/AQEEfyMGIQQjBkEQaiQGIAAgARDxMCIBBEAgARDFDRC4CCEAIAEhBQNAIAUEQCAFKAIAIQJBkJsWEI8GIgMgAigCDDYCECADIAIoAgA2AgQgAyACKAIENgIIIAMgAigCCDYCDCADQwAAAAA4AhQgA0MAAAAAOAIYQQAhAgNAIAIgAygCAC8BAEkEQCADQQRqIAJBAnRqKgIAvEH/////B3FBgICA/AdLBEAgBEHLgBk2AgAgBEHJADYCBEGcqxZBq4AZQQJBx+scIAQQUQsgAkEBaiECDAELCyAAIAMQtwggBSgCBCEFDAELCyABQbACENIKBUEAIQALIAQkBiAAC0MBA39BFBDsAiIBIAAoAgAiAjYCACABQQRqIQNBACEAA0AgACACRwRAIAMgAEECdGpBADYCACAAQQFqIQAMAQsLIAELgAEBBH8gAEEQaiEEIABBCGohBQJAAkACQANAIAIgACgCAE4EQEF/IQIMAwsgBCgCACIDRQ0BIAMgASAFKAIAIAJBBHRqIAMoAgAoAghB/wBxQZAEahECAA0CIAJBAWohAgwAAAsAC0HenBlB0IQdQZAGQfWcGRABDAELIAIPC0EAC2gCAX8EfUHAmxYQjwYiAyAAKgIAIgQgACoCBCIFIAEqAgAiBiABKgIEIgcQzRA4AhAgAyAEIAaSQwAAAD+UOAIEIAMgBSAHkkMAAAA/lDgCCCADIAQgBSAGIAcQzBA4AgwgAiADELcIC5sBAgN/A30CQCAALgEAIgEEQCABQf//A3EhA0EAIQEDQCABIANHBEAgAEEEaiABQQJ0aigCACICKgIMIQYgAUEBaiEBIAQgBpIhBCAFIAYgAioCBJSSIQUMAQsLIAUgBJUhBEEAIQEDQCABIANGDQIgAEEEaiABQQJ0aigCAEEEaiICIAIqAgAgBJM4AgAgAUEBaiEBDAAACwALCwt5AQR/IwYhAyMGQRBqJAYgA0EIaiEEIAAEQCAAKAIEIABHBEAgACECA0AgBCACKAIAKQIANwMAIAIEfyACKAIEBUEACyICKAIAIgUoAgxBgIDAAHFFBEAgAyAFKQIANwMAIAQgAyABEP0wCyACIABHDQALCwsgAyQGC2wBA38jBiEDIwZBEGokBiADQQRqIQJB5AAQuAghBCABBEAgACABEM8QIgEgAiADEMMZIAEhAgNAIAIEQCACKAIAIAQQ/zAgAigCBCECDAELCyAAKALAA0UEQCAEEP4wCyABEM4QCyADJAYgBAvSAQEHfyAABEAgACgCECIEBEBBACEAIAQhAQNAIAFBAmohBQJAAkAgAS4BACABKAIMIgIuAQBHDQAgBS4BACACLgECRw0ADAELQRAQciIDQQxqIgYoAgAhByAGIAdB////fnE2AgAgBiAHQf//v35xIAEsAAgQiQFBAXFBFHRyNgIAIAMgAS4BALI4AgAgAyAFLgEAsjgCBCAAIAMQowchAAsgAiAERwRAIAIhAQwBCwsgAARAIAAQwhkgADYCBAVBACEACwVBACEACwVBACEACyAACzIBAn8gACEBQQAhAANAIAEEQCABEIExIgIEQCAAIAIQowchAAsgASgCFCEBDAELCyAAC24BA38CQCAABEAgACEBA0AgAQRAIAEoAgAiAkEEaiIDIAMqAgBDAACAwpJDAACAO5Q4AgAgAiACKgIAQwAAgDuUOAIAIAEoAgQiASAARg0DDAELC0EEQQQqAgBDAACAwpJDAACAO5Q4AgAQEwsLC9cBAgF/Bn0gACoCACIEIAAqAgQiBSABKgIAIgYgASoCBCIHEM0QIQhBACEAIAYgBJMgBCAFIAYgBxDMELtByJj5ACsDAKNEAAAAAAAA4D+gnBBaIgFBASABQQFKGyIDsiIGlSIJu0QAAAAAAADgP6IgBLugtiEEIAcgBZMgBpUiBrtEAAAAAAAA4D+iIAW7oLYhBQNAIAAgA0kEQEG0mxYQjwYiASAIOAIIIAEgBDgCDCABIAU4AgQgAiABELcIIABBAWohACAJIASSIQQgBiAFkiEFDAELCws5AQF/IABBBGohASAABH8gASgCAAVBAAshACABQQA2AgADQCAABEAgACgCABBMIAAQxg0hAAwBCwsLfAIDfwF9IAAvAQAiAiEDA0AgASADRwRAIAQgAEEEaiABQQJ0aigCACoCDJIhBCABQQFqIQEMAQsLIAQgAkH//wNxspUhBEEAIQEDQCABIANHBEAgAEEEaiABQQJ0aigCAEEMaiICIAIqAgAgBJM4AgAgAUEBaiEBDAELCwt9AQR/IAAEQCAAKAIEIgIgAEcEQCAAIQMgAiEFA0AgBSgCACgCDEGAgMAAcUUEQCADBH8gAygCAAVBAAsiBCACBH8gAigCAAVBAAsiAyABEIQxCyACBH8gAigCBCIEBUEAIQRBAAshBSACIABHBEAgAiEDIAQhAgwBCwsLCwucAQICfwF9QwAAAD9DAACAPiAAKALAAxshBSABLwEAIQRBACEAA0AgACAERwRAIAIgAEECdGogAUEEaiAAQQJ0aigCACIDKgIMQwAAAD9BgAIQswM6AAAgAiAAQQJ0aiADKgIEIAVBgAIQswM6AAEgAiAAQQJ0aiADKgIIQYACENAQOgACIAIgAEECdGpBADoAAyAAQQFqIQAMAQsLC2MBA38jBiECIwZBEGokBkHoBxC4CCEDIAAgARDPECIEIAJBBGogAhDDGSAEIQEDQCABBEAgASgCACADEIcxIAEoAgQhAQwBCwsgACgCwANFBEAgAxCGMQsgBBDOECACJAYgAwv7AQEJfyAALAAAIQYgAEEBaiIHLAAAIgVBAEgEQCAHQQA6AABBACEFCyAAQQJqIggsAAAiB0EXSgRAIAhBFzoAAEEXIQcLIAZBACAGQQBKGyIGQRcgBkEXSBshBiAHQRh0QRh1IQcgAEEDaiEIIAJBf3MhCSAAQQRqIQogBUEYdEEYdSEFA0AgBSAHTARAIAotAAAhCyAILQAAIQADQCABIAZBgCRsaiAFQcABbGogAEEDdGogBEECdGoiDCgCACINIAJxIANJBEAgDCANIAlxIANyNgIACyAAIAtHBEAgAEEBakEAIABBF0gbIQAMAQsLIAVBAWohBQwBCwsLhwMBDX8gASAALAABOgADIAEgACwAAjoABCABIABBA2oiBiwAACIDOgAAIAFBAWoiDSAAQQRqIgcuAQAiCEH//wNxQQh2OgAAIAFBAmoiDiAAQQZqIgkuAQAiCkH//wNxQQh2OgAAIABBCGohCyAAQQpqIQwgACwAACIFQf8BcSECA0ACQCADQRh0QRh1IAAgAkEMbGosABAiBEgNACAGIAQ6AAAgASAEOgAAAkACQAJAAkAgAEEMaiACQQxsaigCAA4CAAECCyANIAAgAkEMbGosABE6AAAgCyAAIAJBDGxqLgEUOwEAIAcgACACQQxsai4BEiIIOwEADAILIA4gACACQQxsaiwAEToAACAMIAAgAkEMbGouARQ7AQAgCSAAIAJBDGxqLgESIgo7AQAMAQsgBCEDDAELIAAgBUEBakEYdEEYdSIFOgAAIAVB/wFxIQIgBCEDDAELCyAGIANBAWo6AAAgByAIQf//A3EgCy8BAGo7AQAgCSAKQf//A3EgDC8BAGo7AQALMwEBfyAALAADIAAgAC0AACIBQQxsaiwAEEoEfyAAQQxqIAFBDGxqKAIAQQJGBUEACyIAC98LAwV/CH0BfCMGIQcjBkEQaiQGIAMqAgwhCiADKgIQIQwgAyoCGEMAAAA/lCENIAQgAyoCFCILIAKTQRgQ0BA6AAEgBCALIAKSQRgQ0BA6AAIgBEEAOgAAAkAgC7siEplEexSuR+F6ZD9jIBJEAAAAAAAA4L+gmUR7FK5H4XpkP2NyRQRAIBJEAAAAAAAA0L+gmUR7FK5H4XpkP2NFBEAgEkQAAAAAAADov6CZRHsUrkfhemQ/Y0UEQCALQwAAAABeIAtDAACAPl1xRQRAIAtDAAAAP14gC0MAAEA/XXFFBEAgCiANIACSIgsgEkQYLURU+yEZQKK2IgIQ/g2LIgCUkyIOIAIQ/Q2LIgIgAZQiD5MhDSAMIAsgApSSIhAgACABlCIRkyELIAq7RAAAAAAAAABAoiISIA8gDpIiAbuhtiEKIAy7RAAAAAAAAABAoiARIBCSIgy7obYhDiAEIA1DAAAAP0EYELMDIgM6AANBACACIACVQwAAgEOUEIwCayEFIAdB//8BNgIAIAQgBUGAgH4gBxDVAUH//wNxIgU7AQggACAClUMAAIBDlBCMAiEGIAdB//8BNgIAIAQgBkGAgH4gBxDVAUH//wNxIgY7AQogBCALIAIgA0EYdEEYdRDEGSANkyIPlCAAlZMQyQQ7AQQgBCALIAAgD5QgApWSEMkEOwEGIARBDGogASAKXiIIIgNBDGxqQQE2AgAgBCADQQxsaiABQwAAAD9BGBCzAyIJOgAQIAQgA0EMbGogDEMAAAA/QRgQswM6ABEgBCADQQxsaiAMIAIgASAJQRh0QRh1ENwMk5QgAJWSEMkEOwESIAQgA0EMbGogBTsBFCAEQQxqIAhBAXMiA0EMbGpBADYCACAEIANBDGxqIApDAAAAP0EYELMDIgU6ABAgBCADQQxsaiAOQwAAAD9BGBCzAzoAESAEIANBDGxqIA4gACAKIAVBGHRBGHUQ3AyTlCAClZMQyQQ7ARIgBCADQQxsaiAGOwEUIARBAjYCJCAEIBIgDbuhtkMAAAA/QRgQswM6ACgMBQsLIAogDSAAkiILIBJEGC1EVPshGUCitiICEP4NiyIAlJMiDiACEP0NiyICIAGUIg+TIQ0gACABlCIQIAwgCyAClJMiEZIhCyAKu0QAAAAAAAAAQKIiEiAPIA6SIgG7obYhCiAMu0QAAAAAAAAAQKIgESAQkyIMu6G2IQ4gBCANQwAAAD9BGBCzAyIDOgADIARBACAAIAKVQwAAgEOUEGVB//8DcWtB//8DcSIFOwEIIAQgAiAAlUMAAIBDlBBlIgY7AQogBCALIAAgA0EYdEEYdRDEGSANkyIPlCAClZMQyQQ7AQQgBCALIAIgD5QgAJWSEMkEOwEGIARBDGogASAKXiIIIgNBDGxqQQA2AgAgBCADQQxsaiABQwAAAD9BGBCzAyIJOgAQIAQgA0EMbGogDEMAAAA/QRgQswM6ABEgBCADQQxsaiAMIAIgASAJQRh0QRh1ENwMk5QgAJWTEMkEOwESIAQgA0EMbGogBjsBFCAEQQxqIAhBAXMiA0EMbGpBATYCACAEIANBDGxqIApDAAAAP0EYELMDIgY6ABAgBCADQQxsaiAOQwAAAD9BGBCzAzoAESAEIANBDGxqIAAgCiAGQRh0QRh1ENwMk5QgApUgDpIQyQQ7ARIgBCADQQxsaiAFOwEUIARBAjYCJCAEIBIgDbuhtkMAAAA/QRgQswM6ACgMAwsLIAQgCiABk0MAAAA/QRgQswM6AAMgBCAMIA2TIACTEMkEOwEEIAQgDCANkiAAkhDJBDsBBiAEQQA7AQggBEEAOwEKIARBAjYCDCAEIAogAZJDAAAAP0EYELMDOgAQDAELIAQgCiANkyAAk0MAAAA/QRgQswM6AAMgBCAMIAGTEMkEOwEEIAQgDCABkhDJBDsBBiAEQQA7AQggBEEAOwEKIARBAjYCDCAEIAogDZIgAJJDAAAAP0EYELMDOgAQCyAHJAYLwAECAn8BfQJ/AkACQAJAAkAgAA4DAAECAwtBwJz5ACEEQcib+QAhBUG4nfkADAMLQZic+QAhBEGgm/kAIQVBkJ35AAwCC0Hwm/kAIQRB+Jr5ACEFQeic+QAMAQtB8Jv5ACEEQfia+QAhBUHonPkACyEAIAEgBCsDEEQAAACgmZmpP6K2OAIAIAIgBSsDEEQAAACgmZmpP6K2OAIAIANDAAAAPyAAKwMQRAAAAAAAgHZAo7YiBiAGQwAAAD9eGzgCAAvWAQEJfyMGIQMjBkHQAGokBiADQThqIQQgA0E0aiEFIANBMGohBiADQTxqIQcgAkGEgAhqIAFBIBBOIgJBAnRqKAIAIQkgASACQQV0ayIBQRAQTiEIQQMgASAIQQR0a0EBdCIKdCELQYC/+QAoAgAhAgNAIAJBf2ohASACQQBKBEAgASAEIAUgBhCOMSACIAp0IQIgBCoCACAFKgIAIAYqAgAgACADEI0xA0AgAxCMMUUEQCADIAcQizEgByAJIAsgAiAIEIoxDAELCyABIQIMAQsLIAMkBgt3AQV/A0ACQCADIQIDQANAIABFDQIgACgCACABEJExBEAgABDGDSEADAELCyACBEAgAiAANgIEIABBBGoiAigCACEFIAJBADYCACAAIQIgBSEADAELCyAAQQRqIgMoAgAhBiADQQA2AgAgACEDIAYhAAwBCwsgAwuXAQEEfyAALwEAIgIgASgCACIDQQxqIAFBBGoiBCgCAEECdGooAgAiBUEQaiABKAIIQQJ0aigCACIBLgECSgR/QQAFIAEoAgQgAkEFdiIBQQJ0aigCAEEBIAJBH3F0IgJxBH8gBSgCBCABQQJ0aiIBIAEoAgAgAnI2AgAgAEEEaiAEKAIAIAMoAgAQjzEgABBMQQEFQQALCwvCAgEDfyMGIQUjBkEwaiQGQTwQTyIDQgA3AwAgA0IANwMIIANCADcDECADQgA3AxggA0IANwMgIANCADcDKCADQgA3AzAgA0EANgI4IAMQ3A4gAxDbDiAFEPwIIAEgAC0A0gZBAEcgBUEUaiAFEJ8LIgQEQCAAIAEgBCADEKIOIAQQhQkgBBBMIAAgAxD0FCADQRRqIgQQ1A5BfyAEKAIAQQFqIgBBAnQgAEH/////A0sbEE8hAAJ/AkAgBCgCACIBQQFKDQAgAUEBRgRAIARBABCAAigCACACRw0BCyAADAELQQAhAQNAIAEgBCgCAEgEQCAAIAFBAnRqIAQgARCAAigCADYCACABQQFqIQEMAQsLIAAgAUECdGoLQX82AgAgAxDECyADEEwFIAMQxAsgAxBMQQAhAAsgBRCECSAFJAYgAAuJAQECfyMGIQIjBkEQaiQGIAFBAEwEQCAAQQBHIAFFcUUEQCACQczJFzYCACACQSc2AgRBtJcWQdP5GEECQcfrHCACEFELCyACQQhqIQMgAUUgACABEI0GIgBBAEdyRQRAIANBzMkXNgIAIANBKTYCBEG0lxZB/fkYQQJBx+scIAMQUQsgAiQGIAALxQEBBX8jBiEJIwZBEGokBiAJIQYgAkMAAAA/IAMgA0MAAAA/XhsiA5NDAACAQpSOEGUiBUFAayAFIAVBAEgbIQUgAyACkkMAAIBClI4QZSIHQUBqIAcgB0E/ShshCCAEBEAgBiAFNgIAIAYgCDYCBEGB+RggBhBLC0EBIAFBH3F0IQcgAUEgEE4hBANAIAAgBUEDdGogBEECdGoiASABKAIAIAdyNgIAIAUgCEcEQCAFQQFqQQAgBUE/SBshBQwBCwsgBiQGC9EDAgZ/Bn0gAyACaiEJIAVBDGohCiAAQegJaiELIABBlAdqIQwCQAJAA0AgAyAJTw0BIAFBBGogAy0AAEECdGooAgAiAioCDCEQIAIqAgQhESACKgIIIRIgAyECQ83MTD0hDQNAAkAgAkEBaiIDIAlPDQAgAUEEaiADLQAAQQJ0aigCACIFKgIEIQ8gCysDAEMAAIA/IBIgBSoCCJOLIg6TIA4gDkMAAAA/Xhu7Yw0AIBAgBSoCDJOLIA1eIBEgD5OLIA1ecg0AIAMhAiANQ83MTD2SIQ0MAQsLIAFBBGogAi0AAEECdGooAgAiAioCDCEOIAIqAgQhDyAEEMkZIgdBEHQiAkEQdSEFIAJBgIB8RgR/QX8FQSAQciICQQRqIQggAiANOAIcIAIgEjgCGCACIBAgDpJDAAAAP5Q4AhAgAiARIA+Su0QAAAAAAADgP6JEAAAAAAAA0L+gtjgCFCAIEMgZIAIgBzsBACAGIAVBIBBOQQJ0aiIHIAcoAgBBASAFQR9xdHI2AgAgACAIIAUgBBDHGSAIIAUgBCAMKAIAQQFKEMYZIAogCigCACACEKMHNgIADAELIQALDAELIAQvAQBB//8DakH//wNxIQALIAAL8wEBC38jBiENIwZBEGokBkHA4gAQTyIKQQBBwOIAEIwBGiAIQQBHIg8EQEG3+hggDRDbAgsgDUEIaiEQIAogARCNDiAEQRB0QRB1IREgAUEDaiESQQAhBANAIAkgEUgEQCAAIAEgAiADIAkgBSAJQQJ0aiAKIAgQiQ4aIBItAAAhE0EAIQtBACEMA0AgCyATRwRAIAogC2otAAAhDiALQQFqIQsgDiAMIAwgDkgbIQwMAQsLIAwgB0gEQCAGIAk6AAAgBEEBaiEEIAZBAWohBgsgCUEBaiEJDAELCyAPBEBB9voYIBAQ2wILIAoQTCANJAYgBAuhAgEFfyMGIQojBkEQaiQGQcDiABBPIglBAEHA4gAQjAEaIAhBAEciDARAQbP7GCAKENsCCyAKQQhqIQ0gCSABEI0OIARBEHRBEHUhC0EAIQQDQCAEIAtIBEAgACABIAIgAyAEIAUgBEECdGogCSAIEIkOGiAEQQFqIQQMAQsLIAFBJGohCCAJQcACaiELQQAhA0EAIQADQCADIAEvAQBJBEAgCCgCACADai0AACEFQQAhBEEAIQIDQCAEIAVHBEAgAiALIANBGGxqIARqLQAAaiECIARBAWohBAwBCwsgAiAFEGYgB04EQCAGIAM7AQAgAEEBaiEAIAZBAmohBgsgA0EBaiEDDAELCyAMBEBB9voYIA0Q2wILIAkQTCAKJAYgAAuKBQEOfyMGIQcjBkGgDGokBiAHQZAMaiEKIAdBiAxqIRMgB0GADGohCyAHQYAEaiEOQRlBACAAQZQHaiIPKAIAIgxBAkobIRAgAUEMaiACQQJ0aigCACERAkAgASgCAEEIaiACQQJ0aigCACIILQADQT9KBEAgAEGEHmoiACAAKAIAQQFqNgIAIAxBAEoEQEGI9hggCxDbAgtBfyEABSAILwEAIRQgAEHAD2oiDCAIIABB/A1qKAIAIABBhA5qKAIAIARB//8DcSIEIAUgDiAAQfwLaigCACAQEJcxIRIgAEGIDmohCUEAIQEDQCABQRBHBEAgCSgCACABQQJ0akEANgIAIAFBAWohAQwBCwsDQCANIBJIBEAgCSgCACAOIA1BAXRqLgEAIgJBIBBOQQJ0aiIBQQEgAkEfcXQgASgCAHI2AgAgDUEBaiENDAELCyAAIAYgDCAIIAkoAgAgAEGADmooAgAgBCAFIAcgAEGUDGooAgAgEBCWMSAHIAggESAJKAIAEJUxIgFB//8DcUH//wNGBEAgAEGEHmoiACAAKAIAQQFqNgIAIA8oAgBBAEwEQEF/IQAMAwtBxPYYIBMQ2wJBfyEADAILIBRB//8DcSEFIAgQzBkhACAJKAIAIAAgCBDLGSARQRBqIABBAnRqIAFBEHRBEHUiBCADEMoZIgM2AgAgAy0AASECIANBBGohAUEAIQYDQCAGIAJHBEAgASgCACAGQQJ0aiAJKAIAIAZBAnRqKAIANgIAIAZBAWohBgwBCwsgDygCAEEASgRAIAMoAgghASAKIAA2AgAgCiABNgIEIAogEjYCCCAKQQEgBWsgBGo2AgxB+/YYIAoQ2wILCwsgByQGIAALawECfyMGIQIjBkEQaiQGIAArA7AHIAG7YSEDQeUBQwAAgD8gAZNDAAB/Q5QQZSADGyEDIAJB/wE2AgAgAEHwC2ogA0EAIAIQ1QEQ7QEgAkH/ATYCACAAQYgMaiADQQAgAhDVARDtASACJAYLUwEBfyAAQbQDakEAEO0BIAAgARCJMSIBLgEAIgRBf2pBEHRBEHVB//8DcUHHAUoEfyABELoIQQAFIAAgASACEIgxIAMgATYCACAEQf//A3ELIgALhQQBCn8jBiEHIwZBEGokBiAAQbQDakEAEO0BIAAgARCAMSIJLgEAIgFB//8DcSENIAFBf2pBEHRBEHVB//8DcUHHAUoEQCAJELoIBSAEIA1Bf2ogAxDKGSIBNgIQIABB9A1qKAIAIAVGBEAgAEGKngRqIAJBAXRqIABBjB5qIAJBAXRqLgEAOwEACyAFKAIAQQhqIAJBAnRqKAIAIQMgAUEEaiEPIARBDGohCiAAQZQHaiEOAkACQANAIAsgCS8BAEkEQCADEMkZIghBf0YNAiAJQQRqIAtBAnRqKAIAIQZBIBByIgFBBGohDCABIAYoAhA2AhggASAGKAIENgIQIAEgBioCCEMAAIC+kjgCFCABIAYoAgw2AhwgDBDIGSABIAg7AQAgDygCACAIQSAQTkECdGoiBiAGKAIAQQEgCEEfcXRyNgIAIAAgDCAIIAMQxxkgDCAIIAMgDigCAEEBShDGGSAKIAooAgAgARCjBzYCACALQQFqIQsMAQsLDAELQYr/GEGqvRdB1wVBmv8YEAELIAkQugggAxDMGRogAEH8DWooAgBBACADEMsZIA4oAgBBAEoEQCAHIABBFGogAhDMATYCACAHIAI2AgQgByANNgIIQav/GCAHEEsLIAQsAABFBEAgCigCAEUEQCAFQQRqIgAgACgCAEEBajYCAAsLCyAHJAYLmwEBA38jBiEHIwZBEGokBiAAQdQTaiIIEPswIgYgAiADEPowNgIEIAYgBBD5MDYCCCAGIAIgBBD4MDYCDCAGIAIgBBD3MDYCECAGEPYwBEAgAEGIHmoiAEHCkx8QbBogACABEKMCGiAAQfDVIBBsGiAAIAUQbBogAEHCkx8QbBogCCAGIAAQ9TAFQeH/GCAHEEsLIAYQ9DAgByQGC2cBAX8gAUF/aiACaiECIABBzABqIQADQAJAIAEgAk4EQEEBIQAMAQsgAUF/SgRAIAEgACgCAEgEQCAAIAEQTSgCACIDBEAgAywAChCJAQRAQQAhAAwECwsLCyABQQFqIQEMAQsLIAALuwECA38BfSMGIQIjBkEgaiQGQQQQTyIDEFcgACABIAMQygkgAiADEFUgACAAKAIAKAIIQf8BcUEGahEFACgCIBB7IQEgAEHiDGotAAAEQEHt8xggAyABEJMKCyACEFsCfwJAAkADQCACEFkNAiABIAIQUygCBBC3BEUNASACEFYMAAALAAsgAhBTKgIkIQUgAxCfBiADEEwgAEHADGorAwAgBbtkDAELIAMQnwYgAxBMQQELIQQgAiQGIAQLnwIDCH8BfQF8IABBmAFqIgwoAgAiBigCEEEAEOICIQ0gAYwhDkQAAAAAAADwPyAEu6EhDyAAQZwBaiIHKAIAKAIQQQAQ4gIhACAFIQggBiEFA0AgCSAFKAIcSARAQQAhBkMAAAAAIQEgCiEFA0AgCyANSARAIAVBAWohCiALIABOBEAgBygCACgCECAKIgUQ4gIgAGohAAsgDCgCACAJEIsBIAcoAgAgBRCLAUcEQCAGQQFqIQYgASAHKAIAKAIUIAUQ9AOSIQELIAtBAWohCwwBCwsgCCACIAMgDyABIAaylSAOlbuitiADIAZBAEobIgEgASADXhsiASABIAJdGzgCACAJQQFqIQkgBSEKIAhBBGohCCAMKAIAIQUMAQsLC1EBAX8gACgCACICIAAoAgRGBEAgACgCBCICBEAgACACQQF0EIoKBSAAQQQQigoLIAAoAgAhAgsgACACQQFqNgIAIAAoAgggAkEDdGogATcDAAs6AQF/IAAoAgAiAiAAKAIERgRAIAAQ1BkgACgCACECCyAAIAJBAWo2AgAgACgCCCACQQN0aiABNwMAC5cBAQR/IAJBf0oEQCAAKAIAIgMgAk4EQCAAKAIEIANGBEAgABDUGSAAKAIAIQMLIABBCGohBSADIQQDQCAEIAJKBEAgBSgCACIGIARBA3RqIAYgBEF/aiIEQQN0aikDADcDAAwBCwsgBSgCACACQQN0aiABKQMANwMAIAAgA0EBajYCAA8LC0HA+BpB0IQdQfEFQeL4GhABC0QBA38gACgCACIBQQBKBEAgACgCCCEDIAAgAUF/aiIANgIAIAMgAEEDdGopAwAPBUH+7BxB0IQdQeEFQbPyGBABC0IACzMAIAIgAyABrYYgB6yEIARBAXGtIgNCBIQgAyAGGyIDQgKEIAMgBUEBRhsgAK2GhDcDAAu6AQICfwF+IwYhBiMGQSBqJAYgBkEIaiEFIAAgAkJ/QQFBACAEIAZBEGoiBCAGEMUKRQRAIAVBruAXNgIAIAVBpAE2AgRBlKsWQa/xGEECQcfrHCAFEFELIAAoAhQhBSADBEAgBCgCACIAIAApAwBCASAFrSIChiIHhDcDACABIAEpAwAgB4Q3AwAFIAWtIQIgBCgCACEACyAAIAApAwBCBCAChiIChDcDACABIAEpAwAgAoQ3AwAgBiQGC9sDAgp/AXwjBiEDIwZBIGokBiADQRBqIQkgA0EIaiEHIANBGGohBCADQRRqIQgCQCAAKAJERQRAIAFBHGoiCigCACILQQJIIAAgARC0B0EAR3JFBEACQCAKKAIAQQNKBEBBASEFIAFBABCLASEGQQEhAgNAIAUgCigCAE4NAiABIAUQiwEgBkYEQCACQQFqIgJBBEYNBgUgASAFEIsBIQZBASECCyAFQQFqIQUMAAALAAsLIAtBAkYiBiAAQdAJaisDACABKgIouyIMZHIEQCAAQagJaisDACAMZA0DIABBpAFqIgIoAgAgARDEBkUEQCALQQJMBEAgBkUNBSAAQSBqIgAoAgAQeyABQQAQiwEQyQNFDQUgACgCABB7IAFBARCLARDJA0UNBQsgAigCACABENYQDAQLCyAAQZIJai0AAARAIAQgACgCICICQcQBahDJASAEQePvGBBsGiAEEF1B4YkfEOUCIgJFBEAgAyAEEF02AgBB+a0ZIAMQSyAHQfbvGDYCACAHQZgFNgIEQZCrFkHo7xhBAkHH6xwgBxBRCyAIIAEQ2AMgCSAIEF02AgAgAkGw5h0gCRBcIAgQWCACEP0BGiAEEFgLIAAoArgBIAEQ1hALCwsgAyQGC4UBAQN/IwYhAyMGQRBqJAYgA0EEaiEFIAAoAlxBCkcEQCAAIAEQ0whFBEAgAEHkAGoiBEGv8xgQ4AEaIAQgASwANBDuEBBsGiAEQcLzGBBsGiAFQdPV+QAQhQEgACAFIAEgBBDxESAFEFggAgRAIAMgBBBdNgIAQbDmHSADEEsLCwsgAyQGC7gEAgx/AnwjBiEDIwZB4ABqJAYgAEHqqAhqIgUtAAAEQCABQZgBaiIEKAIAEJcBEF0hBiAEKAIAIgQqAiS7IQ8gBCoCKLshECADIAY2AgAgAyAPOQMIIAMgEDkDEEHkgBkgAxBLCyADQdAAaiEGIANByABqIQcgA0FAayEIIANBOGohCSADQTBqIQogA0EoaiELIANBIGohDCADQRhqIQQgA0HUAGoiDSACEOIBAn8gAkH//wNxBH8gDS4BACIEQQAQ+gIEQCABLADqASICQQBHIAUtAABFckUEQEGzgRkgDBBLQQAhAgsFQQAhAgsgBEEBEPoCBEAgBS0AAEUgASwA6QEgAnIiAkH/AXFBAEdyRQRAQdKBGSALEEtBAAwDCwsgAkH/AXEEfwJAIARBAhD6AgRAAkACQCABKAKYASwANEEGaw4GAAEAAQAAAQsMAgtBACAFLQAARQ0EGkHugRkgChBLQQAMBAsLIARBBBD6AgRAIAAgAUEAENsQBEBBACAFLQAARQ0EGkGBghkgCRBLQQAMBAsLIARBAxD6AgRAIAEoApgBEJcBEF1BIBDaAgRAQQAgBS0AAEUNBBpBmIIZIAgQS0EADAQLCyAEQQUQ+gIEQCABKAKYASwANhCJAQRAQQAgBS0AAEUNBBpBroIZIAcQS0EADAQLCyAFLQAABEAgBiACQf8BcTYCAEHBghkgBhBLC0EBBUEACwUgBS0AAARAQaCBGSAEEEsLQQALCyEOIAMkBiAOC4ABAgJ/AX0gAUGYAWoiAygCACICBH8gAigCHCECIAAgACgCACgCCEH/AXFBBmoRBQArA5AERJqZmZmZmak/oLYhBCACQQBKBH8gAkEpSCACIAEoAqgBKAIARnEEfyADKAIAKgIgIARfBH8gASAEEOswBUEACwVBAAsFQQALBUEACwuRAgICfwJ9IwYhBiMGQRBqJAYgBkEIaiIFIAMQ1wECQAJAAkAgAEGcpwhqKAIAQQhrDgYAAQEBAQABCyAGQQBBACAAQZjKCGoiAigCABC+AUH//wNxIAIoAgAQpQFB//8DcRCVAiAFIAYpAwA3AwAMAQsgAiAFLgEEIAUuAQBqQQIQTrIQowQiByACKgIckiIIIAUuAQKyXQRAIAUgCBBlELcCCyAHIAIqAhSSIAIqAhiSIgcgBS4BBrJeBEAgBSAHEGUQpwILCyAAIAUgASAFEL0ZIgEEQCAAQbzfCGooAgAgASAAKAKoA0EASiAFIAQgAEGEyghqKAIAEOowIAEQnw0gARBMIAAgBBDpMAsgBiQGCzAAIABBjA5qIAAtAJYDQQBHOgAAIAAgACgCACgCCEH/AXFBBmoRBQBDAAAAADgCLAsvAQF/IABBjA5qQQA6AAAgACAAKAIAKAIIQf8BcUEGahEFACIBIAErA/AGtjgCLAswAQJ/IABBBGohAgNAIAEgAi4BAEgEQCAAKAIAIAFBAnRqENgQIAFBAWohAQwBCwsLngYBDX8jBiECIwZB0ABqJAYgAkFAayEGIAJBOGohByACQTBqIQggAkEoaiEOIAJBIGohCSACQRBqIQUgAkEIaiEDIAIiDUHIAGohCgJAAkAgAEHipAhqLQAARQ0AIAEoAqQBIgIEQCACKAJcQQpHDQELIAAoAqgDBEBB9+wYIA0QSwsgAUEBOgDoAQwBCyABKAJIKAIARQRAIANB3akYNgIAIANBLzYCBEGQqhZBle0YQQJBx+scIAMQUQsgACABEMcIIAEQoAogAUGYAWoiBCgCACILKAIcIgIgAUGsAWoiDCgCACgCCCIDRwRAIAogCxDYAyAKEF0hAiAEKAIAKAIcIQMgDCgCACgCCCELIAUgAjYCACAFIAM2AgQgBSALNgIIQbjtGCAFEEsgChBYIAQoAgAoAhwhAiAMKAIAKAIIIQMLIAIgA0cEQCAJQd2pGDYCACAJQTg2AgRBkKoWQfLtGEECQcfrHCAJEFELIAEQ9gxFBEBBqu4YIA4QSyABQQFBABC0GiABEPYMRQRAIAhB3akYNgIAIAhBPjYCBEGQqhZB5+4YQQJBx+scIAgQUQsLIABBoscIai0AAARAIAQoAgAiAywANCICQf8BcSEFAkACQAJAIAJBGHRBGHVBCGsOBAABAAABCwwBCwJAAkACQCAAIAMQqQpB/wFxIgNBGHRBGHVBCGsOBAABAAABCwwBCwwBCyAAIAQoAgAQlwEQXSAEKAIAEPkCEF0Q2xlBEHRBEHVBAEoEQCAEKAIAIAMQ7wQLCyAAQcrDCGotAAAEQCACQf8BcSAEKAIALAA0IgBB/wFxRwRAIAcgBTYCACAHIABB/wFxNgIEQf7uGCAHEEsLCwsgBCgCACIARSABKAKcAUVzBEAgBkHdqRg2AgAgBkHVADYCBEGQqhZBo+8YQQJBx+scIAYQUSAEKAIAIQALIAAEQCAAKAIcBEAgABCXARBdQfDVIBCCDiAEKAIAKAIcRwRAIAFBADoA6AEMAwsLCyABQQE6AOgBIAFB4AFqIgAgDCgCACgCCEH//wNxEMUGIAAQrTELIA0kBgsuACAAQZijCGogAEGMpghqKgIAuxCNESAAQYimCGooAgAQwAZBARD3BCAAEKwxC0wAIABBxABqIgAoAgAgARDMASEBIAAoAgAgAhDMASECIAEgARBjENkZBH8gAiACEGMQ2RkEfyAAKAIAQfXsGBD4AQVBfwsFQX8LIgALKQAgAEGEqxY2AgAgAEHwqhY2AgAgACABNgIEIAAgAjYCCCAAIAM2AgwLDQAgAS4BBCACLgEATguNAQAgAEHEAGoiACgCACABEMwBIQEgACgCACACEMwBIQICfyABEGNBAUYEfyACEGNBAUYEfwJAAkAgASwAAEEtayIBBEAgAUHRAEcNAQsMAQtBfwwDCwJAAkAgAiwAAEEtayIBBEAgAUHRAEcNAQsMAQtBfwwDCyAAKAIAQcrWIBD4AQVBfwsFQX8LCyIAC4MCAgN/An0jBiEBIwZBIGokBiAAKAIcIQIgARCqASABIAIQ7QIgASACNgIAIABBFGohA0EAIQADQCAAIAJIBEAgAygCACAAEPQDIQQgASAAEE0gBDgCACAAQQFqIQAMAQsLIAEQyRUgAUEAEE0qAgBDAACAv5IhBAJAIAJBAkoEfSACQX9qIQNBACEAA0AgACECA0AgAiADTg0DIAEgAkEBaiIAEE0qAgAgASACEE0qAgCTIAVeRQRAIAAhAgwBCwsgASAAEE0qAgAgASACEE0qAgCTIQUgASACEE0qAgAhBAwAAAsABUMAAAAACyEFCyABEIcEIAEkBiAEIAVDAAAAP5SSC5UBAQZ/IABBFGohBUEAIQADQAJAIAEgAEEQdEEQdSIGaiIELAAARQRAQQAhAAwBCwJ/IAUgBCACIANqIgAsAAAQsAchCCAALAAAIQAgCAsEQCAAQQFHBEBBASEADAILIAQsAABBMUYEf0EBBUEBIQAMAgshAAsgBiAAQRh0QRh1aiEAIANBAWpBEHRBEHUhAwwBCwsgAAu8BAMOfwF9AXwjBiECIwZBEGokBiACQQhqIQcgASgCmAEhBSACEHkCQCAAQfDDCGoiCCsDAEQAAAAAAADwP2VFBEAgAUGoAWoiCSgCACgCACEKIAFBxABqIgsoAgBBytYgEPgBIQYgAUHgAWohAyAFQRxqIQ0gAUE0aiEOIABBmMQIaiEMQQAhAEHxsX8hBANAIAAgCkggACANKAIASHFFDQIgAiAJKAIAIAAQTSgCACgCABDNASAAQQFqIgEgCkYEf0GPzgAFIAcgCSgCACABEE0oAgAoAgAQzQEgBy4BAAshDyACEG5BEHRBEHWyIRACQCAOKgIAQwAAAEGUIBBdBEAgBCACLgEASARAIA8gAi4BBEoEQCACEG5BEHRBEHWyIAIQa0EQdEEQdbKVIRAgCygCACAFIAAQiwFB8dcgEIYFRQRAIAUgABCLASAGRw0EIAwrAwAgELsiEWUEQCADIABB//8DcSIEEMABEPgDBEAgAyAEEMABEN4ZCwsgCCsDACARZkUNBCADIABB//8DcSIAEMABENYDRQ0EIAMgABDAARDdGQwECyAMKwMAIBC7IhFlBEAgCygCACIEIAYQ6wMEQCAEKAIAIAYQkAYEQCAFIAYgABC8AyADIABB//8DcSIEEMABEPgDBEAgAyAEEMABEN4ZCwsLCyAIKwMAIBFjBEAgAyAAQf//A3EiABDAARDWAwRAIAMgABDAARDdGQsLCwsLCyABIQAgAi4BBCEEDAAACwALCyACJAYL2gIBB38jBiEDIwZBIGokBiADQQhqIQIgA0EQaiIFIAEoAgQQ1wEgAUGsAWoiCCgCACgCCCEHAkACQCAAQeTFCGoiBigCACIEIAUuAQBKDQAgBCAFLgECSg0AIAQgBS4BBGogAEGYyghqIgQoAgAQvgFODQAgBigCACAFLgEGaiAEKAIAEKUBTg0ADAELIAEuAeQBELcBIAdHBEAgAkHk6Rg2AgAgAkGVAjYCBEHgqhZBvekYQQJBx+scIAIQUQsgAUHgAWohASAAQZjKCGohBEEAIQIDQCACIAdODQEgAyAIKAIAIAIQowMpAQA3AwACQAJAIAYoAgAiACADLgEASg0AIAAgAy4BAkoNACAAIAMuAQRqIAQoAgAQvgFODQAgBigCACADLgEGaiAEKAIAEKUBTg0ADAELIAEgAkH//wNxEMABQQIQvQMLIAJBAWohAgwAAAsACyADJAYLNgEBfyMGIQAjBkEQaiQGIABBpeoYNgIAIABBzAA2AgRB5KoWQf/pGEECQcfrHCAAEFEgACQGCzoBA38gAEEEaiECA0AgASACLgEASARAIAAoAgAgAUECdGoiAxDWAwRAIAMQ3xkLIAFBAWohAQwBCwsLPAEDfyAAQQRqIQIDQCABIAIuAQBIBEAgACgCACABQQJ0aiIDENYDBEAgA0EKEL0DCyABQQFqIQEMAQsLCzwBA38gAEEEaiECA0AgASACLgEASARAIAAoAgAgAUECdGoiAxDWAwRAIANBCRC9AwsgAUEBaiEBDAELCwsyAQJ/IABBBGohAgNAIAEgAi4BAEgEQCAAKAIAIAFBAnRqQQEQvQMgAUEBaiEBDAELCwt8AgN/AX0gAEGYAWoiASgCABC0MSEEIABB4AFqIQJBACEAA0AgACABKAIAIgMoAhxIBEAgAyAAEIsBBEAgASgCACgCFCAAEPQDIARdBEAgAiAAQf//A3EQwAFBCBC9AwsFIAIgAEH//wNxEMABENgQCyAAQQFqIQAMAQsLC4EBAQN/IABBmAFqIQIgAEHgAWohA0EAIQADQCACKAIAEJcBIAFBEHRBEHUiARDeASwAAARAIAIoAgAQlwEgARDeASwAAEEgRgRAIAMgABDAARDYEAsgASACKAIAEPkCIABBEHRBEHUiABDeASwAAGohASAAQQFqQf//A3EhAAwBCwsL1AIBCH8jBiEDIwZBIGokBiABQZgBaiEEIANBEGohByADQQhqIQogAUHrAWoiBSABLADpAQR/IAQoAgAQlwEQXUEgENoCRQVBAAsiCDoAAAJAAkAgBCgCACIGLAA2EIkBIgkCfwJAAkAgBiwANEEIaw4EAAEAAAELQQEMAQtBAAsiBkEBc3IgAkH//wNxQQFGIAhB/wFxQQBHcXEEfyAAIAFBABDbEEUEQCAFLAAAIQEMAgsgAEHKwwhqLQAABEBBwuoYIAMQSwsgBUEAOgAAQQAFIAghAQwBCyEBDAELIAFB/wFxBEAgBgRAIAlFDQIFIAkgBCgCAC0ANEEGR3JFDQILIABBysMIai0AAARAQd3qGCAKEEsLIAVBADoAAAtBACEBCyAAQcrDCGotAAAEQCAHIAFB/wFxNgIAQf7qGCAHEEsgBCgCAEHT1fkAEKUECyADJAYL0QkBCH8jBiEJIwZBEGokBiABKAKYASECIAkQeQJAIABB2sMIai0AAARAIAFBqAFqIgUoAgAoAgAhCCABQcQAaiEDIAJBHGohB0EAIQADQCAAIAhIIAAgBygCAEhxBEAgBSgCACAAEE0oAgAhAQJAAkAgAygCACACIAAQiwEQyQMNACADKAIAIAIgABCLARDCAg0ADAELIAkgASgCABDNASAJLgEGQcABSA0EIAkuAQJB4ABKDQQLIABBAWohAAwBCwsgAygCAEGPhB0Q+AEhBCADKAIAQZPrGBD4ASEGIARBf0cEQCAGQX9GIAMoAgAoAgAiACAEEJAGQQFzckUEQCAAIAYQkAYEQEEBIQADQCAAIAcoAgBODQUCQAJAIAIgABCLASAERg0AIAIgABCLASAGRg0AIAAhAQwBCyAAQQFqIgUgBygCAEgEQCADKAIAIAIgAEF/aiIBEIsBELsIBEAgAygCACACIAUQiwEQuwgEQCACIAYgABC8AwsLBSAAQX9qIQELAkAgAygCACACIAEQiwEQuwgEQCAFIAcoAgBIBEAgAiAFEIsBIARHBEAgAiAFEIsBIAZHDQMLIABBAmoiASAHKAIASARAIAMoAgAgAiABEIsBELsIBEAgAiAGIAAQvAMgBSEACwsLCwsCQCAAQQFKBEAgAygCACACIABBfmoQiwEQuwgEQCADKAIAIAIgAEF/ahCLARC7CARAAkACQCAAQQFqIgEgBygCAE4NACADKAIAIAIgARCLARDCAg0AIAMoAgAgAiABEIsBQcHfIBCGBQ0AIAMoAgAgAiABEIsBQZXrGBCGBQ0ADAELIAAgBygCAEF/akcNBAsgAiAGIAAQvAMLCwsLIAMoAgAgAiAAQX9qIgUQiwEQiwoEQCAAQQFqIgEgBygCAEgEQCADKAIAIAIgARCLARCLCgRAIAIgBCAAELwDCwsLAkAgAygCACACIAUQiwEQiwoEQCAAQQJqIgEgBygCAEgEQCACIABBAWoiCBCLASAERwRAIAIgCBCLASAGRw0DCyACIAEQiwEgBEcEQCACIAEQiwEgBkcNAwsgAiAEIAAQvAMgAiAEIAgQvAMgAiAEIAEQvAMgASEAIAghBQsLCwJAIAMoAgAgAiAFEIsBEIsKBEAgAEECaiIIIAcoAgBIBEAgAiAAQQFqIgEQiwEgBEcEQCACIAEQiwEgBkcEQCAAIQEMBAsLIAMoAgAgAiAIEIsBEMkDBEAgACEBBSACIAQgABC8AyACIAQgARC8AyAAIQULBSAAIQELBSAAIQELCyADKAIAIAIgBRCLARCLCgRAIAFBAWoiACAHKAIASARAIAMoAgAgAiAAEIsBEMkDRQRAIAIgBCABELwDCwsLIAFBAUoEQCADKAIAIAIgBRCLAUHx1yAQhgVFBEAgAygCACACIAUQiwFBlNYgEIYFRQ0CCyADKAIAIAIgAUF+aiIAEIsBEMICRQRAIAIgABCLASAGRw0CCyACIAAQiwEgBkYEQCACIAQgABC8AwsDQAJAIAEgBygCAE4NACACIAEQiwEgBkcEQCACIAEQiwEgBEcNAQsgAiAEIAEQvAMgAUEBaiEBDAELCyABQX9qIQELCyABQQFqIQAMAAALAAsLCwsLIAkkBguLBwESfyMGIQIjBkHQAGokBiACQShqIQ0gAkEYaiEKIAJBEGohCyACQQhqIQQgAiIMQTRqIQcgAkEwaiEIIAEoAkgEQCABQZgBaiIGKAIARQRAIAxBpI4YNgIAIAxB0Q82AgRBoJYWQbbnGEECQcfrHCAMEFELIAAQ9AYoAgAiDgRAIAcQqgEgCEEANgIAIAcgDiAIEMgHIAFB7gFqIhFBADoAACABQe8BaiISQQA6AAAgAEH6qghqIhAtAAAEQCAIIAYoAgAQ2AMgBCAIEF02AgBB0+cYIAQQSyAIEFgLQQAhBANAIAQgBigCACgCHEgEQAJAIAEgBBC1GiICBEAgAkEIaiEFQQAhAgNAIAIgBSgCAE4NAiAFIAIQZCgCACIDQX9KIAMgDkhxBEAgBSACEGQvAQQhCSAHIAMQTSIDIAMoAgAgCUH//wNxajYCAAsgAkEBaiECDAAACwALCyAEQQFqIQQMAQsLIABBlA5qIQlBACEDQQAhBUEAIQBBfyEEQX8hAgNAIAMgDkgEQCAQLQAABEAgByADEE0oAgBBAEoEQCAJIAMQrQMoAgAhBiAHIAMQTSgCACEPIAsgBjYCACALIA82AgRB6ucYIAsQSwsLAn8gByADEE0oAgAgAEohEyAHIAMQTSgCACEGIBMLBEAgAiEEIANB//8DcSECIAAhBSAGIQAFIAYgBUoEQCADQf//A3EhBCAHIAMQTSgCACEFCwsgA0EBaiEDDAELCyACQRB0QRB1IQYgASACQRB0QRB1QX9KBH8gCSAGEK0DBUEACzYC8AEgBEEQdEEQdSECIAEgBEEQdEEQdUF/SiIDBH8gCSACEK0DBUEACzYC9AEgAEH//wMQTiELIAhB/wA2AgAgAUH4AWoiBCALQQEgCBDVAToAACAFQf//AxBOIQUgCEH/ADYCACABQfkBaiIBIAVBACAIENUBOgAAIABBAEoEQCAJIAYQrQMiBSgCACEAIAUoAgQhBSAQLQAABEAgBCwAACEGIAEsAABBAUggA0EBc3IEQCANIAA2AgAgDSAGNgIEQbXoGCANEEsFIAkgAhCtAygCACECIAEsAAAhASAKIAA2AgAgCiAGNgIEIAogAjYCCCAKIAE2AgxBhegYIAoQSwsLIBFBAUF/IAUQ3gUbIAQsAAAiAGw6AAAgEkEBQX8gBRCXERsgAGw6AAALIAcQaAsLIAwkBgumBQIKfwJ8IwYhBiMGQTBqJAYgBkEgaiEJIAZBEGohCCAGQQhqIQogACABEMAxIAAgAUF/ENkDGiAAIAEgAhC/MSABQeABaiIFIAFBmAFqIgcoAgAQ+QIQ3wFB//8DcRDFBiABEL4xAkACQAJAAkAgAEG0wwhqKAIADgYAAgICAgECCyABLADrAUUEQCABEL0xCwwCC0MAAABDIAEqAjiVIABBrMYIaigCALJfBEAgBRC8MQwCCyAAIAFBARDbEBogAEHqxAhqLQAABEAgASwA6QFFBEAgBRC7MQsLIABB+sQIai0AAARAIAcoAgAQlwEQXUEgENoCBEAgBRC6MQsLIAcoAgAhAyAAQYrFCGotAAAEQAJAAkAgA0E0aiIELAAAIgJBCGsOBAABAAABCyAAQZrFCGotAABFDQMgACABKAJEIAMQlwEQXSADEPkCEF0Q9QUNAyAELAAAIQILIAJB/wFxQQZHBEAgBRC5MQwDCyAAQarFCGotAAAEQCABQcQAaiELQQAhBEEAIQIDQCADEJcBIAIQ3gEsAABFDQQgBSAEQf//A3EiDBDAARDWAwRAIAsoAgAgAxCXARBdIAJqIAMQ+QIgBBDeASwAABCNCgRAIAUgDBDAARDfGQsLIAIgAxD5AiAEEN4BLAAAaiECIARBAWohBAwAAAsACwsMAQtB4ugYIAYQSxC4MQsgAEHkxQhqKAIAQX9KBEAgACABELcxCyAAIAFBChDZAxogAEHKwwhqLQAABEAgCiAHKAIALQA0NgIAQfzoGCAKEEsgBygCACICKgIouyENIAIqAiS7IQ4gCCANOQMAIAggDjkDCEGQ6RggCBBLIAkgACAHKAIAEKkKNgIAQa7pGCAJEEsLIAAgARC2MSAAIAFBFBDZAxogBiQGC1sBA38gAEHEAGoiASgCAEHK1iAQtAQEQCABKAIAIgFBytYgEPgBIQIgASgCACACEJAGBEAgAAJ/IABBPBCUESEDQRAQTyIBIABBPUEAELExIAMLIAEQkxEaCwsLRQECfyAAQcQAaiIBKAIAQfXsGBC0BARAIAEoAgAiAUH17BgQ+AEhAiABKAIAIAIQkAYEQCAAIABBOxCUEUEAEJMRGgsLC7wBAQV/IABByJ4IaiEDIABB+J8IaiEEIAJBBGoiBSgCAEEIEL8BBEAgAEHSnghqLAAAIQYgAEGCoAhqLAAAIQcgA0EAEIsDIARBABCLAwsgAUEBRgRAIABBmKMIakQAAAAAAIBRQBCNESAAQYimCGooAgAQwAZBABD3BCAAEKsxBSAAEK8xCyAAIAIQrjEgAigCmAFFBEAgAiACKAJEEMkICyAFKAIAQQgQvwEEQCADIAYQiwMgBCAHEIsDCwuNBAEIfyMGIQgjBkEQaiQGIAhBBGoiBhCZAQJAAkAgAEHcAGoiDSgCAEEKRg0AAkAgACwAAARAIAZB4OUYEOABGiAGQfvlGCABEIYBIAZBhOYYIAIQhgEgBkGP5hgQbBogAEEkaiEJIABBLGoiDCgCAEEBSgRAIAlBABCjAyAGEJAKIABBxABqIQtBASEHAkACQANAAkAgByAMKAIATg0CIAkgBxCjAyAGEJAKIAEgCSAHQX9qEKMDLgEEayIKQQAgCmsgCkF/ShsgCygCAEgEQCACIAkgBxCjAy4BAGsiCkEAIAprIApBf0obIAsoAgBIDQELIAdBAWohBwwBCwsMAQsgBkEKEMgDGgwDCyAGQajmGBBsGiAGQQoQyAMaIARBAToAACAEIAsoAgA2AkQgBUEBOgAAIAUgCygCADYCRCAAQQRqIQEgAEHIAGohAkEAIQADQCAAIAwoAgBODQUgBSAEIAAgB0YbIgRBJGogACAJIAAQowMQmgogBEEEaiAAIAEgABCjAxCaCiAIIAIgABBNEMkBIARByABqIAgQqwIgCBBYIABBAWohAAwAAAsACwsLIA0oAgBBCkYNACAGQbTmGBBsGiAGQcKTH0HK5hggACwAABsQbBogBEEJIAZBACADEN0DIAVBCSAGQQAgAxDdAwwBCyAEQQo2AlwgBUEKNgJcCyAGEFggCCQGC0sBA38gAEEANgIAQcAAEE8iAkFAayEDIAIhAQNAIAEQkxogAUEQaiIBIANHDQALIAAgAjYCCCAAQQQ2AgQgAEEANgIMIABBADYCEAtWAQN/IABBADYCAEE0EE8iAUEENgIAIAFBNGohAiABQQRqIgMhAQNAIAEQ6gIgAUEMaiIBIAJHDQALIAAgAzYCCCAAQQQ2AgQgAEEANgIMIABBADYCEAtKAQN/IABBADYCAEEgEE8iAkEgaiEDIAIhAQNAIAEQwwggAUEIaiIBIANHDQALIAAgAjYCCCAAQQQ2AgQgAEEANgIMIABBADYCEAtQAQJ/IAAgARDlECAAIAE2AgAgAEEIaiEDQQAhAANAIAAgAUgEQCADKAIAIABBA3RqIgQgAigCADYCACAEIAIuAQQ7AQQgAEEBaiEADAELCwuSBAERfyMGIQMjBkEQaiQGIANBCGohByAAQaQBahCgGiAAKAJcRQRAIAAsAAAEQCADEJkBIANBrOMYEGwaAkAgASgCACIKBEAgByABQQAQTSgCACgCABDNASAAQSRqIRIgAEHEAGohCyAAQfAAaiEFIABBhAFqIRAgAEEsaiEMIAcuAQQhCAJ/AkACQAJAA0AgCCEEIA0hBgNAAkAgBiAKTg0EIA4gDCgCAE4NAyAGQQFqIgkgCkgEfyAHIAEgCRBNKAIAKAIAEM0BIAcuAQQFIAQLIQggEiAOEKMDLgEEIQ8gA0HY4xggBEEQdEEQdSIREIYBIANB8NUgIA8QhgEgA0HCkx8QbBogCygCACIEIA9qIhMgEUgNBSAPIARrIBFMBEAgCSAKTiATIAhBEHRBEHVIcg0BCyAIIQQgCSEGDAELCyAFIA0QsAEgECAGELABIANBwLQYIA0QhgEgA0HFtBggBhCGASADQcKTHxBsGiAOQQFqIQ4gCSENDAAACwALIAsoAgAhBAwBCyAFKAIAIAwoAgBGDQMgA0Hw4xggCygCABCGASADQafkGBBsGiAFDAELIANB8OMYIAQQhgEgBQshASADQbjkGBBsGiADQbvkGCABKAIAEIYBIANByeQYIAwoAgAQhgEgA0HCkx8QbBogAEELIANBACACEN0DIAUQaCAQEGgLCyADEFgLCyADJAYLsgIBA38jBiEFIwZBEGokBiAAIAJBAXE6APQFIAAgAzgC+AUgACAEOALoBSAAQQA6AKwGIABBADoArQYgAEGEBmoiAhBXIABB8AVqIgYoAgAgAkEAEJ8RIABBmAZqIgIQVyAGKAIAIAJBABCPDQJAIAAtACIEQAJAAkAgAUUNACABEJcBQQAQgAhFDQAgAEH8BWoiAiABEJcBEJgCGiAALQCqAgRAIAJBIBDIAxoLIAIhAQwBCyAAQfwFaiIBQfDVIBDgARoLIAEQXSICIAEQ3wFqIQYgAEGABmohAQNAIAEgBzYCACACIAZGDQIgAiwAABC2BCIABEAgAiAAaiECIAdBAWohBwwBCwsgBUHjwRg2AgAgBUGsATYCBEHUqhZB1eQYQQJBx+scIAUQUQsLIAUkBgv2AQEKfyMGIQUjBkEwaiQGIAEoApQBIQMgBUEIahD0DCAAQdQAaiEJIANBDGohCCADQRBqIQogBUEEaiELA0AgBCAIKAIAIgZIBEAgBEEBaiIHIAooAgBqIgIgBiACIAZIGyEGIAchAgNAIAIgBkgEQCAFIAQgAhDXAwJAAkAgBSgCACALKAIAIAMQsAVFDQAgAyAEIAIQ4AJFDQAMAQsgAyAEIAJBf2oQxghFBEAgByAIKAIATg0BIAMgByACEMYIRQ0BCyAAIAQgAkEDQwAAAABBASAJKgIAIAEQxQgaCyACQQFqIQIMAQsLIAchBAwBCwsgBSQGCyoBAX8gAARAIAAhAQNAIAFBAToACSABKAIMIgEgAEcNAAsgAEECOgAJCwtUAQF/IAAoAgAiAiAAKAIERgRAIAAoAgQiAgRAIAAgAkEBdBDzBQUgAEEEEPMFCyAAKAIAIQILIAAgAkEBajYCACAAKAIIIAJBA3RqIAEpAgA3AgALXAEDfyMGIQIjBkEQaiQGIAAoAgAhAyACIAEpAgA3AwAgAkEIaiIEIAIpAgA3AgAgACAEEM8xIAEgABClBykCADcCACAAIAAgAyABEOEZEGQgASkCADcCACACJAYL0wMBDX8gAUECaiEMIAFBEGohCyABQQxqIQ0gAEG8oAhqIQ4gAEGSoAhqIQ9BACEAIAMoAgAhBANAAkAgAi4BAiIHIAwuAQAiBWsiCSAJbCACLgEAIgggAS4BACIGayIJIAlsaiIJIARKDQAgBiAIayIEQQAgBGsgBEF/ShsgDigCACIESARAIAUgB2siCkEAIAprIApBf0obIARIDQELIAYgAkEMaiIKKAIAIhAuAQBrIgZBACAGayAGQX9KGyAESARAIAUgEC4BAmsiBUEAIAVrIAVBf0obIARIDQELIAAEQCAALgEAIAhrIgVBACAFayAFQX9KGyAESARAIAAuAQIgB2siBUEAIAVrIAVBf0obIARIDQILCyALKAIAIgUuAQAgCGsiBkEAIAZrIAZBf0obIARIBEAgBS4BAiAHayIGQQAgBmsgBkF/ShsgBEgNAQsgDSgCACIGLgEAIAhrIghBACAIayAIQX9KGyAESARAIAYuAQIgB2siB0EAIAdrIAdBf0obIARIDQELIAUgASAGEMEGIAsoAgAgASACEMEGa0EUSg0AIAMgCTYCACAKKAIAIQQgDy0AAAR/IAIhACAEIQIgCSEEDAIFIAILIQALCyAAC40EAgt/A30CfyMGIQ4jBkEQaiQGIA4iDAsQ8QEgAkECaiEHIAMuAQIiCrIhECACLgEAIgmyIhIgAy4BACILsiIRWwR/IAkhCCABLgECIg0FIBAgBy4BALIgEJMgEiARk5UiECARlJMhESAQIAEuAQIiDbIgEZOUIAEuAQCykiAQIBCUQwAAgD+SlRBlIgUhCCARIBAgBUEQdEEQdbKUkhBlCyEFIAwgCDsBACAMIAU7AQICfwJAIAkgCEEQdEEQdUogCEEQdEEQdSALSnIEQCALIAhBEHRBEHVKIAhBEHRBEHUgCUpyBEAgBy4BACEHDAILCyAHLgEAIgcgBUEQdEEQdUogBUEQdEEQdSAKSnIEQCAKIAVBEHRBEHVKIAVBEHRBEHUgB0pyDQELIAhBEHRBEHUiCCAJayIGQQAgBmsgBkF/ShsgAEG8oAhqKAIAIgBIBEAgBUEQdEEQdSAHayIGQQAgBmsgBkF/ShsgAEgNAQsgBUEQdEEQdSEFIAggC2siBkEAIAZrIAZBf0obIABIBEAgBSAKayIGQQAgBmsgBkF/ShsgAEgNAQsgCCAFIAMgAhDgECEBQQEMAQsgAiADIAdBEHRBEHUgDSICayIDIANsIAkgAS4BACIBayIDIANsaiAKIAJrIgIgAmwgCyABayIBIAFsakkbIQFBAAshDyAEIAE2AgAgDCQGIA8L8QMBDX8jBiEIIwZBMGokBiAIQQRqIg4gBBCSASABLgEAIQkgCCIKQaCNBjYCACADKAIAIgQEQCAKIAQuAQIgAUECaiIILgEAayIFIAVsIAQuAQAgCWsiBCAEbGo2AgAFIAFBAmohCAsgCkEgaiELIABBvKAIaiEPIAIhBANAAkAgBC4BACIFIAlKIAkgBEEMaiIQKAIAIgwuAQAiBkpyRSAJIAVKIAYgCUpyRXJFDQAgAS4BACIRIAVrIgdBACAHayAHQX9KGyAPKAIAIgdIBEAgCC4BACAELgECayINQQAgDWsgDUF/ShsgB0gNAQsgESAGayIGQQAgBmsgBkF/ShsgB0gEQCAILgEAIAwuAQJrIgZBACAGayAGQX9KGyAHSA0BCyAELQAKRQRAIAMoAgAiBgRAIAYuAQAgBWsiBUEAIAVrIAVBf0obIAdIBEAgBi4BAiAELgECayIFQQAgBWsgBUF/ShsgB0gNAwsLIAAgASAEIAwgCxDSMQRAIA4gCygCACIEEKIIBSALKAIAIQQLIAMoAgBFBEAgCiAELgECIAguAQBrIgUgBWwgBC4BACABLgEAayIFIAVsajYCAAsgCyAAIAEgBCAKENExIgQ2AgAgBARAIAMgBDYCAAsLCyAQKAIAIgQgAkcNAAsgCiQGC1IBA38gACgCACIBBEAgAUF/aiICEOwZIQMgAUF+aiEBA0AgASADSgRAIAEgAiAAIAIQZCAAIAEQZBDeDBshAiABQX9qIQEMAQsLBUF/IQILIAILdgEEfyMGIQIjBkEQaiQGIAAQ1DEiA0EASAR/QQAFIAEEQCABIAAgAxBkENQDCyAAKAIAIgFBf2ohBCABQQFKBEAgAiAAIAQQZBC+CCAAIAAgAyACEO0ZEGQgAhDUAyACEPMDCyAAIAQQ8gFBAQshBSACJAYgBQtsAQR/IAAoAgAhBQNAAkAgBEEBdEEBciICIAVODQAgAkEBaiIDIAVIBEAgAyACIAAgAxBkIAAgAhBkEN4MGyECCyAAIAIQZCABEN4MRQ0AIAAgAhBkIQMgACAEEGQgAxDUAyACIQQMAQsLIAQL9wICBX8CfSMGIQcjBkEQaiQGIAdBCGoiCCAAKAIAIABBBGoiCSgCABDwGSAHIAkoAgAgACgCABDwGSAHLgEAIgkgCC4BACIAIAlBEHRBEHUgAEEQdEEQdUgbQRB0QRB1IgkgAUogBy4BBCIBIAguAQQiACAAQRB0QRB1IAFBEHRBEHVIG0EQdEEQdSIKIAJIcQR9QwDAeUQFIAgQbkEQdEEQdSEAIAcQbkEQdEEQdSIBIAAgACABShsiAkEAIAggBxCmAiILayIIRgR9QwAAyEIFIAtBfWwgAmsgCCAIQQF0IAJKGyICtyADokQAAAAAAAAAAKC2QwAAAAAgAkEAShsLIQwgACAESiABIARKcUUEQCAAIAFrIgJBACACayACQX9KG7cgBaIiA0QAAAAAAAA5QCADRAAAAAAAADlAYxsgDLugtiEMCyABIAAgACABSBsgCSAKa2oiAEEUarK7IAaiIAy7oLYgDCAAQWxKGwshDSAHJAYgDQuKAwEMfyMGIQQjBkEgaiQGIARBEGoiBRDxASAEQQxqIggQ8QEgBEEIaiIGEPEBIARBBGoiCRDxASAEEPEBIAUgAS8BACIKIAIvAQAiB2siCzsBACAIIAAvAQAiDCAHayINOwEAIAYgAy8BACIOIAprIg87AQAgCSAOIAdrIgc7AQAgBCAMIAprIgo7AQAgBSABLwECIgEgAi8BAiICayIFOwECIAggAC8BAiIAIAJrIgg7AQIgBiADLwECIgMgAWsiBjsBAiAJIAMgAmsiAjsBAiAEIAAgAWsiATsBAiACQRB0QRB1IgMgC0EQdEEQdSICbCAFQRB0QRB1IgUgB0EQdEEQdSIJbGshACABQRB0QRB1IgcgD0EQdEEQdWwgBkEQdEEQdSAKQRB0QRB1IgZsayEBIAcgAmwgBSAGbGshAiAEJAYgAEEASiAIQRB0QRB1IAlsIAMgDUEQdEEQdWxrIgNBAEpxIAAgA3FBAEhyBH8gAkEASiABQQBKcSABIAJxQQBIcgVBAAsiAAt1AQF/AkAgACABLgEAIAEuAQIQ4xAEQCAAIAIuAQAgAi4BAhDjEARAIABBEGoiAygCACEAA0AgASACIAAgAEEMaiIAKAIAENgxBEBBASEADAQLIAAoAgAiACADKAIARw0AC0EAIQAFQQAhAAsFQQAhAAsLIAALMQEBfwN/An9BACAAKAIAIgNFDQAaIANBFGohACADIAEgAhDZMQR/QQEFDAILCwsiAAtpAQN/An8CQCAAKAIAIgMgASAAQQRqIgUoAgAiBBDyGQR/IAMgBBDxGSACSAR/QQEFIAAoAgAhAyAFKAIAIQQMAgsFDAELDAELIAQgASADEPIZBEBBASAEIAMQ8RkgAkgNARoLQQALIgAL3gEBB38jBiEEIwZBEGokBiAEQQhqIQYgAEEKaiEHIAFBCmohCAJAAkADQAJAIAMgBy0AAE8EQEEAIQAMAQsgBiAAQQxqIANBA3RqKAIAIgIuAQAgAi4BAiAAIANBA3RqKAIQIgIuAQAgAi4BAhDzGUEAIQIDQCACIAgtAABJBEAgBCABQQxqIAJBA3RqKAIAIgUuAQAgBS4BAiABIAJBA3RqKAIQIgUuAQAgBS4BAhDzGSAGIAQQ4wUNBCACQQFqIQIMAQsLIANBAWohAwwBCwsMAQtBASEACyAEJAYgAAuSAQEEfyAAIAEqAgAgACoCAJI4AgAgAEEEaiICIAEuAQQgAS4BBhDfECACEN4QIABBCmohAyABQQpqIQVBACECA0ACQCACIAUtAABPDQAgAywAACIEQf8BcUEDTg0AIAMgBEEBajoAACAAQQxqIARB/wFxQQN0aiABQQxqIAJBA3RqKQIANwIAIAJBAWohAgwBCwsLVAACfwJAIAAuAQQgAS4BBGtBE2pBJ08NACABLQAKIAAtAApqQQRPDQAgACoCACABKgIAkiACXUUNACAAIAEQ3DENACAAIAEQ/BkNAEEBDAELQQALC0YBAn8DQAJAIAFBAEwNACACIAAgAUEBakECEE5Bf2oiAxBkEN0QRQ0AIAAgAxBkIQQgACABEGQgBBDUAyADIQEMAQsLIAELLQEBfyAAKAIAIgIEQCACEEwLIAAgASgCADYCACABQQA2AgAgACABKAIENgIEC2wBBH8gACgCACEFA0ACQCAEQQF0QQFyIgIgBU4NACACQQFqIgMgBUgEQCADIAIgACADEGQgACACEGQQ3RAbIQILIAAgAhBkIAEQ3RBFDQAgACACEGQhAyAAIAQQZCADENQDIAIhBAwBCwsgBAtuAQN/IwYhAiMGQRBqJAYgACgCACIEQX9qIQMgBEEBTgRAIAEEQCABIABBABBkENQDCyAEQQFKBEAgAiAAIAMQZBC+CCAAIAMQ8gEgACAAIAIQ4TEQZCACENQDIAIQ8wMFIAAgAxDyAQsLIAIkBgucAQIDfwN9IABBCmoiCCwAACIJBH1BASEHA0AgByAJQf8BcUkEQCAAQQxqIAdBA3RqEPsZIAdBAWohByAILAAAIQkMAQsLIAAqAgACfSAAQQxqIAEgAiADIAQgBSAGENcxIQwgCC0AACEBA0AgAUF/aiECIAFBAUoEQCAAQQxqIAJBA3RqEP0ZIAIhAQwBCwsgDAuSBUMAAAAACyIKC24BA38jBiECIwZBEGokBiAAKAIAIgRBf2ohAyAEQQFOBEAgAQRAIAEgAEEAEGQQ1AMLIARBAUoEQCACIAAgAxBkEL4IIAAgAxDyASAAIAAgAhDWMRBkIAIQ1AMgAhDzAwUgACADEPIBCwsgAiQGC1gBAX8gACABOAIAIAAgAigBADYBBCAAQQA6AAggAEEAOgAJIABBAToACiAAQSRqIQIgAEEMaiIEIQADQCAAEOoCIABBCGoiACACRw0ACyAEIAMpAgA3AgALHQAgACABKAIANgIAIAAgASgCBDYCBCABQQA2AgALTwEDfyAALQAKIQMDfwJ/QQAgAiADTw0AGiACQQFqIQQgAEEMaiACQQN0aiICKAIAIAFGBH9BAQUgAigCBCABRgsEf0EBBSAEIQIMAgsLCwuhAgEIfyMGIQgjBkEQaiQGIAhBCGoiCkEANgIAIAJBEHRBEHUhDCAAQfSjCGohDSAAQaSgCGohDiAIQQRqIQ8DQCALIAxIBEAgCkEANgIAIAEgC0ECdGohCSAHIQIDQCACKAIAIgIEQCAAIAkoAgAgAigCECAKIAMQ0zEgAkEUaiECDAELCyAKKAIAIgIEQCAJKAIAIgkgAigCDEcEQCACIAkoAgxHBEAgCS4BACAJLgECIAIuAQAgAi4BAiANKAIAENwQIA4oAgBIBEAgCCAJIAIQ1wMgACAEIAggACAIKAIAIgIuAQAgAi4BAiAPKAIAIgIuAQAgAi4BAhDqGSAAIAgQ6RmSIAYgByAFEOMMCwsLCyALQQFqIQsMAQsLIAgkBgv6BAERfyMGIQojBkEQaiQGIAJBEHRBEHUhEyAAQfSjCGohFSAAQaSgCGohFiAAQbygCGohFCAKQQRqIRdBASERA0AgEiATSARAIAEgEkECdGohDCARQRB0QRB1IQ8DQCAPIBNHBEACQCABIA9BAnRqIhAoAgAiCARAIAwoAgAiDS4BACANLgECIAguAQAiAiAILgECIg4gFSgCABDcECAWKAIASARAIA0gCCgCDEcEQCAIIA0oAgwiCUcEQCANKAIQIgguAQAgAmsiB0EAIAdrIAdBf0obIBQoAgAiC0gEQCAILgECIA5rIgdBACAHayAHQX9KGyALSA0FCyAJLgEAIAJrIgJBACACayACQX9KGyALSARAIAkuAQIgDmsiAkEAIAJrIAJBf0obIAtIDQULIAggDSAJEMEGIAwoAgAiAigCECACIBAoAgAQwQZrQRRMBEAgECgCACILKAIQIg4uAQAgDCgCACIILgEAIgJrIgdBACAHayAHQX9KGyAUKAIAIglIBEAgDi4BAiAILgECayIHQQAgB2sgB0F/ShsgCUgNBgsgCygCDCIHLgEAIAJrIgJBACACayACQX9KGyAJSARAIAcuAQIgCC4BAmsiAkEAIAJrIAJBf0obIAlIDQYLIA4gCyAHEMEGIBAoAgAiAigCECACIAwoAgAQwQZrQRRMBEAgCiAMKAIAIBAoAgAQ1wMgACADIAogACAKKAIAIgIuAQAgAi4BAiAXKAIAIgIuAQAgAi4BAhDqGSAAIAoQ6RmSIAUgBiAEEOMMCwsLCwsLCyAPQQFqIQ8MAQsLIBFBAWpBEHRBEHUhESASQQFqIRIMAQsLIAokBgtgAgN/AX4jBiEBIwZBEGokBiAAKAIAIgNBf2ohAiADQQFOBEAgA0EBRgRAIAAgAhDyAQUgASAAIAIQZCkCACIENwMAIAAgAhDyASAAIAAgARDnGRBkIAQ3AgALCyABJAYLzwEBBH8gAUEQaiIFKAIAIgQhAyAEIQEDQAJ/IAEuAQYiBkEASAR/IAMEQCADIAIQ5RkFIAAgARDkGQRAIAIgARC8CAsLQQAhAyABKAIMIgEFIAYEQCAEBEAgBCACEOMZBSAAIAEQ5BkEQCACIAEQvAgLCyABKAIMIgEhA0EADAILIAMEfyADKAIQLgEGBEAgAyACEOUZCyABKAIMIgEhA0EABSAEKAIQLgEGBEAgBCACEOMZC0EAIQMgASgCDCIBCwsLIQQgASAFKAIARw0ACwtuAQJ/IAAQ+xkDQCABQRRqIgIoAgAiAQ0AC0EYEE8iARD7CCACIAE2AgAgASAAKAIANgIQIAEQ2gogAigCACEDQRgQTyIBEPsIIANBFGoiAiABNgIAIAEgACgCBDYCECABENoKIAIoAgBBADYCFAtSAQJ/IwYhAiMGQRBqJAYgAkEIaiIDIAAoAgAQzQEgAiABKAIAEM0BIAMQwgYgAhDCBkoEQCABKAIAIQMgASAAKAIANgIAIAAgAzYCAAsgAiQGC/0BAQh/IwYhByMGQRBqJAZBkNUWQZTVFiACGyIILgEAIQIgCC4BAiEIIAAoAgAhDCAAQQA2AgAgA0EQdEEQdSAIbCAEQRB0QRB1IAIiA2xrIQogB0ECaiELQQAhBCAMIQIDQCACBEAgByACLgEEIAIuAQBqQQIQTkH//wNxIAIuAQYgAi4BAmpBAhBOQf//A3EQoQEgBCAGIAcuAQAgCGwgCy4BACADbGsgCkgiBRshCSAJQRRqIAAgASAFGyAJGyACNgIAIAIgBCAFGyEEIAYgAiAFGyEGIAIoAhQhAgwBCwsgBARAIARBADYCFAsgBgRAIAZBADYCFAsgByQGC0gBAn8gACgCACICIAEoAgAiAxCCBgR/QQEFIAIgASgCBCIBEIIGBH9BAQUgACgCBCIAIAMQggYEf0EBBSAAIAEQggYLCwsiAAtRAQF/IAAQ/RlBGBBPIgIQ+wggAiABKAIANgIUIAEgAjYCACACIAAoAgA2AhBBGBBPIgIQ+wggAiABKAIANgIUIAEgAjYCACACIAAoAgQ2AhALkwEBAn8gASgCACIDRQRAIAEgAigCADYCACACQQA2AgAgASgCACEDCwNAIANBFGoiBCgCACIDDQALIAQgAigCADYCACACQQA2AgAgAgRAIAIQkQUgAhBMCyAAQQpqIQNBACECA0AgAiADLQAASQRAIABBDGogAkEDdGogARDwMSACQQFqIQIMAQsLIAEQiREgARDhEAs8AQN/IAAoAgAhAwN/An9BACACIANODQAaIAJBAWohBCABIAAgAhBNKAIAEPwZBH9BAQUgBCECDAILCwsLUwEDfwN/An9BACAAKAIAIgFFDQAaQQEgASgCECICRQ0AGiACIQADQCAAKAIMIgBFIQMgACACRiADckUNAAsgAUEUaiEAIAMEf0EBBQwCCwsLIgALRAEDfyMGIQIjBkEQaiQGIAJBCGoiAyAAEM0BIAIgASgCABDNASADIAIQuwMEf0EBBSACIAMQuwNBAXELIQQgAiQGIAQLXQECfyAABEAgACEBA0ACQCABLAAJQQJGBEAgASEADAELIAEoAgwiASAARw0BCwsgACEBA0AgASgCDCIBKAIQIgIsAAlFBEAgAhD/GQsgASAARw0ACwVBACEACyAAC0EBAn8gAEEKaiECA0AgASACLQAASQRAIABBDGogAUEDdGooAgAQgBogACABQQN0aigCEBCAGiABQQFqIQEMAQsLCzUBAn8DQCAABEAgAEEQaiICKAIAEPUxIQEgAiABNgIAIAAgASgBADYBCCAAKAIUIQAMAQsLC64EAg5/AX0jBiEPIwZBsAJqJAYgDyIDQeQBaiEEIABB7KAIaigCACECIANBlAJqIgciBRDoGSAFIAIQ4QwgA0GQAmoiCxBXIANBjAJqIgZBADYCACADQfgBaiIIIgIQvgMgAkEyEPMFIAEhAgNAIAIoAgAiAgRAIAAgAiAIEOsxIAJBFGohAgwBCwtBACECA0AgAkEySSAIKAIARUEBc3EEQCADIAJBAnRqIAhBABBkKAIANgIAIAgQ6jEgAkEBaiECDAELCyAEEOgZIARBlgEQ4QwgACADIAJB//8DcSICIAQgByAGIAEQ6TEgACADIAIgCyAEIAcgBiABEOgxIAYoAgAiAgRAIABB0KMIaisDACACKgIAIhC7YwRAIAAgBEEAIBAgBiABIAcQ4wwLBSAAIARBAEMAPBxGIAYgASAHEOMM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KAIAIQIgACAGKAIAEJcBIAQQ3gEsAAAgAhCpM0H//wNxEKgzQf//A3EgAUH//wNxakH//wNxIQEgBEEBakEQdEEQdSEEIANBAWohAyAFKAIAIQIMAQsLBUEAIQELIAELZgEFfyMGIQEjBkEQaiQGIABBCGoiAigCAAR/IABBqAFqIgMoAgAiBAR/IAQoAgAEfyABIAAQkREgAigCACADKAIAIAFBxgAQkBEQjxEgAS4BBAVBAAsFQQALBUEACyEFIAEkBiAFC1wAIAAoAghBAEoEQCABIAAQrwciATsBACACIAAgAUEQdEEQdSIBEK4BIgJB/wAgAkH/AEgbIgI6AAAgACABQQAgAkEYdEEYdWsQiAEFIAFBfzsBACACQQA6AAALC6UCAQd/IwYhBCMGQRBqJAYgBEEEaiECAkAgAUGkAWoiBSgCACIDBEAgAygCXEEKRgRAIAJBy40YEIUBIANBCiACIAEoApgBIAAQ3QMgAhBYDAILIAMgAUGYAWoiBigCABDTCCIHIAUoAgAiAUHcAGoiAygCAEUiCEEBc3JFBEAgAkHajRgQhQEgBSgCAEELIAIgBigCACAAEN0DIAIQWAwCCyAIIAdBAXNyRQRAIAAEQCAEIAFB4ABqEF02AgBBgI4YIAQQSyAFKAIAIgBB3ABqIQMFIAEhAAsgA0EANgIAIABB4ABqQdPV+QAQ4AEaCwVBuAEQTyIDEKQKIAUgAzYCACACQbuNGBCFASADQQQgAiABKAKYASAAEN0DIAIQWAsLIAQkBgvtBwECfyMGIQMjBkHgAWokBiADQdiEGEHahBggAEEAELoBGzYCACABQdyEGCADEFwgA0EIaiICQdiEGEHahBggAEEBELoBGzYCACABQfCEGCACEFwgA0EQaiICQdiEGEHahBggAEECELoBGzYCACABQYGFGCACEFwgA0EYaiICQdiEGEHahBggAEEDELoBGzYCACABQZKFGCACEFwgA0EgaiICQdiEGEHahBggAEEEELoBGzYCACABQaaFGCACEFwgA0EoaiICQdiEGEHahBggAEEFELoBGzYCACABQbiFGCACEFwgA0EwaiICQdiEGEHahBggAEEGELoBGzYCACABQcmFGCACEFwgA0E4aiICQdiEGEHahBggAEEHELoBGzYCACABQdqFGCACEFwgA0FAayICQdiEGEHa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AAAEAAAABQAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAABAAAAAgAAAAIAAAADAAAAAgAAAAMAAAADAAAABAAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAgAAAAMAAAADAAAABAAAAAMAAAAEAAAABAAAAAUAAAADAAAABAAAAAQAAAAFAAAABAAAAAUAAAAFAAAABgAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAADAAAABAAAAAQAAAAFAAAABAAAAAUAAAAFAAAABgAAAAQAAAAFAAAABQAAAAYAAAAFAAAABgAAAAYAAAAHAAAAAQAAAAIAAAACAAAAAwAAAAIAAAADAAAAAwAAAAQAAAACAAAAAwAAAAMAAAAEAAAAAwAAAAQAAAAEAAAABQAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAACAAAAAwAAAAMAAAAEAAAAAwAAAAQAAAAEAAAABQAAAAMAAAAEAAAABAAAAAUAAAAEAAAABQAAAAUAAAAGAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAAEAAAABQAAAAUAAAAGAAAABQAAAAYAAAAGAAAABwAAAAIAAAADAAAAAwAAAAQAAAADAAAABAAAAAQAAAAFAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAADAAAABAAAAAQAAAAFAAAABAAAAAUAAAAFAAAABgAAAAQAAAAFAAAABQAAAAYAAAAFAAAABgAAAAYAAAAHAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAFAAAABQAAAAYAAAAEAAAABQAAAAUAAAAGAAAABQAAAAYAAAAGAAAABwAAAAQAAAAFAAAABQAAAAYAAAAFAAAABgAAAAYAAAAHAAAABQAAAAYAAAAGAAAABwAAAAYAAAAHAAAABwAAAAgAAAB2MgonJyAiIDEKYCcgIiAxCidgICIgMQrigJgnICIgMQon4oCYICIgMQrigJknICIgMQon4oCZICIgMQpgYCAiIDEKYOKAmCAiIDEK4oCYYCAiIDEKYOKAmSAiIDEK4oCZYCAiIDEK4oCY4oCYIOKAnCAxCuKAmOKAmSAiIDEK4oCZ4oCYICIgMQrigJnigJkg4oCdIDEKLCwg4oCeIDEKbSBybiAwCnJuIG0gMAptIGluIDAKaW4gbSAwCmQgY2wgMApjbCBkIDAKbm4gcm0gMApybSBubiAwCm4gcmkgMApyaSBuIDAKbGkgaCAwCmxyIGggMAppaSB1IDAKaWkgbiAwCm5pIG0gMAppaWkgbSAwCmxsIEggMApJLUkgSCAwCnZ2IHcgMApWViBXIDAKdCBmIDAKZiB0IDAKYSBvIDAKbyBhIDAKZSBjIDAKYyBlIDAKcnIgbiAwCkUgZmkgMApsPCBrIDAKbGQga2kgMApseCBoIDAKeG4gbSAwCnV4IGluIDAKciB0IDAKZCB0bCAwCmRpIHRoIDAKdXIgaW4gMAp1biBpbSAwCnUgYSAwCm8gw7MgMArDsyBvIDAKaSDDrSAwCsOtIGkgMAphIMOhIDAKw6EgYSAwCmUgw6kgMArDqSBlIDAKdSDDuiAwCsO6IHUgMApuIMOxIDAKw7EgbiAwCjAgbyAwCmQgdHIgMApuIHRyIDAKw7EgZmkgMAp1IHRpIDAKw7EgdGkgMApkIHRpIDAKZCB0w60gMApkIHLDrSAwCmEgw6AgMAplIMOoIDAKbiBpaiAwCmcgaWogMApvIMOyIDAKRSDDiSAwCkUgw4ggMAp1IMO8IDAKeG5FIGFuIDEKbVl4IG1lIDEKcXRFIG50IDEKVGxiIGxlIDEKdnhOIHZhIDEKZ2pRIG5nIDEKanBGIGlqIDEKWXJsIGxlIDEKYXFZIGFuIDEKenZKIHZhIDEKZmJMIGJlIDEKTnZrIHZhIDEKZkpwIHByIDEKd3hDIHdhIDEKY3VKIHF1IDEKUXp0IHRhIDEKcUt3IHdhIDEKc2NKIHN0IDEKcFhwIHBvIDEKVnFpIHRpIDEKVXhrIGthIDEKa0p2IGthIDEKWWtkIGthIDEKdnBYIHZhIDEKaUJ2IHRpIDEKelJiIHN6IDEKeVRtIG1pIDEKbUtwIHByIDEKVnpxIHF1IDEKWHRwIHRpIDEKbXZEIHZhIDEKbURxIG1lIDEKanhQIGlqIDEKQnh2IHZhIDEKb0l1IHF1IDEKUnZjIHZhIDEKdUNqIHF1IDEKb0FvIHZvIDEKcXVCIHR1IDEKYnRWIHRpIDEKTG1jIG1lIDEKdFZ3IHRpIDEKWXh2IHZhIDEKSHhtIG1lIDEKZFZoIHRoIDEKeFljIGNoIDEKdVBqIHR1IDEKZlRmIGZvIDEKUmp3IGlqIDEKeGRBIGRpIDEKanpOIGlqIDEKbXhMIG1lIDEKeWdKIG5nIDEKVnZnIHZhIDEKcmpLIGlqIDEKeXVWIHR1IDEKc1drIGt1IDEKUGd6IHN6IDEKakhtIG1lIDEKemtVIGt1IDEKZ3ZHIHZhIDEKaGRQIHRoIDEKbVZiIG1lIDEKUWdkIGRpIDEKemNaIGNoIDEKenFqIGlqIDEKenNKIHN6IDEKZGZOIGRpIDEKZGdXIGRpIDEKd05yIHJpIDEKenZDIHZhIDEKcVl3IHF1IDEKdUh5IHR1IDEKdE5xIHRoIDEKbHhKIGxpIDEKSGJrIGt1IDEKeHNHIHN0IDEKdlNiIHZhIDEKeEZiIGJ1IDEKTnRnIHRoIDEKb0JqIGlqIDEKcWt2IHF1IDEKYlZqIGlqIDEKempUIGlqIDEKYnZYIHZhIDEKb1pmIHRvIDEKa2NVIGtvIDEKZkZtIG1lIDEKWGJqIGlqIDEKS3F2IHZhIDEKUndqIGlqIDEKZHZKIHZhIDEKem5KIHN6IDEKcXFWIHF1IDEKcHhNIHBvIDEKZUJqIGlqIDEKbUp4IG1lIDEKeG5NIG5nIDEKYUNxIHZhIDEKcEhqIGlqIDEKdGZRIHRoIDEKd3FuIHF1IDEKbVNzIGlzIDEKc0J3IHN0IDEKRmhuIHRoIDEKek5iIHN6IDEKTXZiIHZhIDEKYlZ0IHRoIDEKcUh0IHRoIDEKcUx2IHF1IDEKa2dGIG5nIDEKdnhXIHZhIDEKY2RZIGNoIDEKWHJ6IHN6IDEKRWZoIHRoIDEKbHFJIHF1IDEKTHpxIHF1IDEKemhYIHRoIDEKZ2haIHRoIDEKbEZnIG5nIDEKdlZjIHZhIDEKbE1yIGVyIDEKVHFqIHF1IDEKakF4IGlqIDEKaU10IHRoIDEKTmx2IHZhIDEKemJQIHN6IDEKa1Z4IGthIDEKZVFsIHRlIDEKc1diIHN0IDEKQnF5IHF1IDEKZFhrIGthIDEKdlVjIHZhIDEKdk9iIHZhIDEKdUhmIHF1IDEKcU5yIHF1IDEKdUZ6IHF1IDEKTWxyIGVyIDEKa21aIGthIDEKc1J0IHRoIDEKV3F2IHF1IDEKaGZLIHRoIDEKdnhRIHZhIDEKbENxIHF1IDEKZll3IHdhIDEKdGZTIHRoIDEKcWRPIHF1IDEKZFFkIGRlIDEKeGRYIGRlIDEKbU54IG1lIDEKa0Z6IHN6IDEKd2pTIGlqIDEKeVBwIHByIDEKd2NXIGNoIDEKTmp6IHN6IDEKZFZwIGRlIDEKZHFEIHF1IDEKckpzIHN6IDEKeHBIIHBvIDEKeHFSIHF1IDEKZ1ZyIGVyIDEKQnRxIHRoIDEKbm1CIG50IDEKemNNIHN6IDEKY2ZHIGNoIDEKbWZPIG1lIDEKWWhjIHRoIDEKYlptIG1lIDEKbXpCIHN6IDEKdlJ3IHZhIDEKeURoIHRoIDEKWmdmIG5nIDEKa3FUIHF1IDEKSXV6IHF1IDEKcmJXIGVyIDEKSm1xIHF1IDEKS3ZqIHZhIDEKemNEIGNoIDEKeGdDIG5nIDEKakN4IGlqIDEKYldnIG5nIDEKeXdXIHdhIDEKSmtjIGNoIDEKeEdzIHN6IDEKdmJIIHZhIDEKbFR6IHN6IDEKZUNiIGVyIDEKalZ2IHZhIDEKakRxIHF1IDEKam9RIHBvIDEKcXRNIHRoIDEKUnFrIHF1IDEKSHZnIHZhIDEKdUF6IHF1IDEKbWZXIG1lIDEKdGdTIHRoIDEKY3FEIHF1IDEKc2ZZIHN6IDEKWWh2IHRoIDEKdXFNIHF1IDEKeHBLIHByIDEKSnpoIHRoIDEKY1FrIGNoIDEKdGpPIHRoIDEKcXhaIHF1IDEKelB2IHN6IDEKcU5rIHF1IDEKbHZRIHZhIDEKa0d3IGthIDEKeHVEIHF1IDEKSnZ5IHZhIDEKalllIHRlIDEKZlp1IHF1IDEKcVlvIHF1IDEKdmhJIHRoIDEKZnhZIGZvIDEKeVBmIGZvIDEKZkdqIGlqIDEKZG1UIG1lIDEKdmZYIHZhIDEKeFF0IHRoIDEKY3hTIGNoIDEKdnpBIHZhIDEKcWFBIHF1IDEKSmJ4IGJlIDEKa1ZkIGthIDEKWGp2IHZhIDEKaGtJIHRoIDEKdlF1IHF1IDEKdmhLIHRoIDEKRHZqIHZhIDEKVmJtIG1lIDEKZnBOIHByIDEKcGtHIGthIDEKYkxjIGNoIDEKdEpjIHRoIDEKd3dKIHdhIDEKWnJ3IGVyIDEKd2RXIGRlIDEKV2dmIG5nIDEKUHF6IHF1IDEKd2dOIG5nIDEKekh0IHRoIDEKeFRsIGxlIDEKRHZ0IHRoIDEKd21VIG1lIDEKeGhtIHRoIDEKaEN4IHRoIDEKdndWIHZhIDEKenZMIHZhIDEKbkdmIG50IDEKampDIGlqIDEKVWNnIGNoIDEKcFdmIHByIDEKanhHIGlqIDEKTXFuIHF1IDEKeXZXIHZhIDEKbFdrIGthIDEKbWRPIG1lIDEKcU5tIHF1IDEKUndnIG5nIDEKeGZ2IHZhIDEKdU93IHF1IDEKeGhaIHRoIDEKakxyIGVyIDEKZkJ5IGZvIDEKblVqIG50IDEKbFRnIG5nIDEKamxQIGlqIDEKd3JSIGVyIDEKclh3IGVyIDEKZVZ3IHZlIDEKelduIG5nIDEKbUpzIHN6IDEKTWd5IG5nIDEKdVpxIHF1IDEKVGRnIG5nIDEKbXFJIHF1IDEKRGhwIHRoIDEKcG1LIG1lIDEKU3NmIHN6IDEKc1dsIHN6IDEKaXFLIHF1IDEKZ2pHIG5nIDEKZGpCIGlqIDEKd0t2IHZhIDEKd3ZJIHZhIDEKdGNVIHRoIDEKdGtHIHRoIDEKelVlIHRlIDEKbFVoIHRoIDEKbkJnIG50IDEKZEh4IGRlIDEKV2J6IHN6IDEKdnVRIHF1IDEKSHBsIGxlIDEKb1ZqIGlqIDEKdkJiIHZhIDEKVGR6IHN6IDEKcGZWIHByIDEKcWdOIHF1IDEKcGNVIGNoIDEKZ2NOIGNoIDEKdmtBIHZhIDEKY1FmIGNoIDEKWXp4IHN6IDEKeXBGIHByIDEKdkJ3IHZhIDEKcFBkIGRlIDEKcW1VIHF1IDEKZVdmIHZlIDEKalpyIGVyIDEKSHdsIGxlIDEKeXlJIG55IDEKWmZoIHRoIDEKTGd3IG5nIDEKdXFwIHF1IDEKeE9qIGlqIDEKZGtKIGtvIDEKZHFNIHF1IDEKc2JXIGlzIDEKek1wIHN6IDEKbkp6IG5nIDEKa01jIGtvIDEKenFXIHF1IDEKdlFrIHZhIDEKZXFEIHF1IDEKaEZuIHRoIDEKdmNaIGNoIDEKeEdrIGthIDEKa3pmIHN6IDEKeFp4IHhlIDEKcXZOIHF1IDEKeWtZIGthIDEKYnJIIGVyIDEKV3JoIHRoIDEKd2pFIGlqIDEKa2pRIGthIDEKZkxqIGlqIDEKbWdFIG5nIDEKeHdJIHdhIDEKaUR3IHRpIDEKQnR4IHRoIDEKdlB6IHZhIDEKeXFIIHF1IDEKd0ZlIGVyIDEKbFF5IGxlIDEKZ0JwIG5nIDEKamRZIGRlIDEKdHZRIHRoIDEKbGpPIGxlIDEKTnNxIHF1IDEKeGRPIGRlIDEKZ3pXIG5nIDEKd3RNIHRoIDEKcWZSIHF1IDEKalpoIHRoIDEKV2NiIGNoIDEKZHZRIHZhIDEKakhiIGlqIDEKeGJNIGJlIDEKbldnIG50IDEKWXdqIGlqIDEKWHdqIGlqIDEKcHhLIHByIDEKeWJRIGJlIDEKV3ZtIHZhIDEKTGd6IG5nIDEKYnRTIHRoIDEKalJsIGxlIDEKcXFKIHF1IDEKQ25xIHF1IDEKRm13IG1lIDEKZHZQIHZhIDEKdnFCIHF1IDEKZGpJIGRlIDEKalZxIHF1IDEKZnZaIHZhIDEKQ3d0IHRoIDEKVXliIGJlIDEKRmZjIGNoIDEKc29YIHN6IDEKcWhSIHRoIDEKZld6IHN6IDEKdnJYIHZhIDEKZU9xIHF1IDEKYndaIGJlIDEKZG5WIG5nIDEKR2J3IGJlIDEKeEdkIGRlIDEKbW5aIG5nIDEKYnBOIHByIDEKZHpYIGRlIDEKQnhxIHF1IDEKenB4IHN6IDEKZHFaIHF1IDEKeFRmIGZvIDEKd1B2IHZhIDEKY3hxIHF1IDEKaGRUIHRoIDEKeXdYIHdhIDEKVXZ2IHZhIDEKcktwIGVyIDEKc2RGIGRlIDEKSmNnIGNoIDEKeHpPIHN6IDEKeFR0IHRoIDEKZGpQIGRlIDEKZ1RuIG5nIDEKR3RwIHRoIDEKeGdBIG5nIDEKYmRMIGRlIDEKd3pPIHN6IDEKZmhJIHRoIDEKV21wIG1lIDEKUWR0IHRoIDEKdVlxIHF1IDEKcGJKIHByIDEKalJkIGRlIDEKWHN4IHN6IDEKemdJIG5nIDEKcWhZIHRoIDEKR2dqIG5nIDEKRmpxIHF1IDEKUXdrIGthIDEKenhXIHN6IDEKdkNjIGNoIDEKY2NMIGNoIDEKS3hzIHN6IDEKbVlyIGVyIDEKclF0IGVyIDEKWnhzIHN6IDEKaGRRIHRoIDEKZHdIIGRlIDEKWW1sIGxlIDEKcVZ6IHF1IDEKUnZsIHZhIDEKeUhrIGthIDEKV2p0IHRoIDEKaE13IHRoIDEKcHpVIHN6IDEKZ2NMIGNoIDEKcU9hIHF1IDEKZXFJIHF1IDEKaVlwIHRpIDEKdkNxIHF1IDEKdW9WIHJvIDEKZlp4IGZvIDEKcVFkIHF1IDEKcWRFIHF1IDEKcVd4IHF1IDEKWWtqIGlqIDEKRnBqIGlqIDEKekd2IHZhIDEKcndPIGVyIDEKUXpxIHF1IDEKS3FiIHF1IDEKemdUIG5nIDEKanNaIHN6IDEKYUhxIHF1IDEKeWpMIGlqIDEKWWN3IGNoIDEKYm5QIGFuIDEKdlduIGFuIDEKenlZIHN6IDEKelJzIHN0IDEKd3VQIHF1IDEKdmpCIHZhIDEKanJUIGVyIDEKdndKIHZhIDEKZFZqIGRlIDEKenZXIHZhIDEKZFprIGRlIDEKbnJHIGFuIDEKcXNVIHF1IDEKUHZzIHZhIDEKbExoIHRoIDEKcUN6IHF1IDEKZHZWIGRlIDEKUGp3IGlqIDEKS21qIGlqIDEKSmZoIHRoIDEKbndZIGFuIDEKZ3dDIG5nIDEKdkdiIHZhIDEKcVdyIHF1IDEKcXBXIHF1IDEKZEtrIGRlIDEKeVdiIGJlIDEKam1OIGlqIDEKZ3BWIG5nIDEKcXpTIHF1IDEKb1poIHRoIDEKUW10IHRoIDEKbU5rIG1lIDEKeXBNIHByIDEKbHdIIGxlIDEKekhzIHN6IDEKanpDIGpvIDEKb0poIHRoIDEKTHFoIHRoIDEKaFhnIHRoIDEKeEVmIGZvIDEKdVd4IHF1IDEKa3ZUIHZhIDEKenNHIHN6IDEKbFN4IGxlIDEKcUtiIHF1IDEKUXllIGRlIDEKeEhrIGthIDEKQ3dwIHByIDEKem1KIHN6IDEKeHVMIHF1IDEKYmRIIGRlIDEKUGJ3IHdhIDEKcWRYIHF1IDEKbFZjIGNoIDEKYnFMIHF1IDEKd05zIHN6IDEKdnpOIHZhIDEKcWpBIHF1IDEKWmhmIHRoIDEKeXBKIHByIDEKeE1xIHF1IDEKYlRrIGthIDEKdExmIHRoIDEKeGdSIG5nIDEKa1F6IHN6IDEKUmpwIGlqIDEKeGhHIHRoIDEKYkNjIGNoIDEKaGJGIHRoIDEKcnhRIGVyIDEKcVZwIHF1IDEKYmtZIGthIDEKcVBsIHF1IDEKalFrIGlqIDEKT3ZxIHF1IDEKc1Z2IHZhIDEKcG1VIG1lIDEKdUZ2IHF1IDEKeGFaIHZhIDEKZ0duIGFuIDEKcGdJIG5nIDEKelRqIHN6IDEKbHZDIHZhIDEKd0d2IHZhIDEKck52IHZhIDEKUXRxIHRoIDEKdk5oIHRoIDEKbFB2IHZhIDEKSmRxIHF1IDEKWGRqIGRlIDEKeXFrIHF1IDEKaXdZIHRpIDEKTm1xIHF1IDEKZlRwIHByIDEKcXpRIHF1IDEKcGpBIGlqIDEKcHZIIHZhIDEKeExqIGlqIDEKcVdoIHRoIDEKdlZxIHF1IDEKZ1FkIGRlIDEKc3ZZIHZhIDEKZkxmIGZvIDEKcXpCIHF1IDEKRHhnIG5nIDEKdXpZIHF1IDEKZ1Z6IHN6IDEKaFpiIHRoIDEKR3B4IHByIDEKeHFoIHRoIDEKZ2NYIGNoIDEKSHhkIGRlIDEKdFVxIHRoIDEKYktwIHByIDEKaUd4IHRpIDEKeHZRIHZhIDEKbHhBIGxlIDEKc2pIIHN0IDEKR3FvIHF1IDEKZGdRIGRlIDEKeURrIGthIDEKWm52IHZhIDEKdmZVIHZhIDEKdnVEIHF1IDEKb1FqIGlqIDEKYmhEIHRoIDEKcUxqIHF1IDEKbWRZIGRlIDEKclpiIGVyIDEKa0R2IHZhIDEKZnNLIHN6IDEKS3FmIHF1IDEKeVdsIGxlIDEKbVZ3IG1lIDEKbWNWIGNoIDEKdERmIHRoIDEKbEFvIGxlIDEKZnpSIHN6IDEKWHJxIHF1IDEKanJaIGVyIDEKcW1OIHF1IDEKSm5wIGFuIDEKamhDIHRoIDEKa3FSIHF1IDEKZFduIGRlIDEKV213IG1lIDEKUmd5IG5nIDEKdXZOIHF1IDEKamlZIHRpIDEKeFdjIGNoIDEKeUpyIGVyIDEKb0hxIHF1IDEKeXZ3IHZhIDEKWWRuIGRlIDEKTnZxIHF1IDEKR212IHZhIDEKeHhaIHhlIDEKWGRmIGRlIDEKeFloIHRoIDEKVm52IGFuIDEKak56IHN6IDEKV25xIHF1IDEKWHdrIGthIDEKcVd6IHF1IDEKbVFzIHN6IDEKVnhiIGJlIDEKeHdHIHdhIDEKd3ZwIHZhIDEKZ21WIG5nIDEKUnpxIHF1IDEKQ3B3IHByIDEKR3l5IG55IDEKeHpBIHN6IDEKd0d4IHdhIDEKYnFTIHF1IDEKd2hSIHRoIDEKalBjIGNoIDEKaXFHIHF1IDEKZGpLIGRlIDEKY1ZrIGNoIDEKcndUIGVyIDEKVmhuIHRoIDEKSGZ3IHdhIDEKYm5KIGFuIDEKQ3BkIGRlIDEKTm1kIGRlIDEKZG5PIGFuIDEKcVdjIHF1IDEKYVZxIHF1IDEKcU9uIHF1IDEKUWxyIGVyIDEKcW5OIHF1IDEKckxxIHF1IDEKd3RFIHRoIDEKamdSIG5nIDEKWXFwIHF1IDEKSHdnIG5nIDEKbldrIGFuIDEKd3FCIHF1IDEKZkFwIHByIDEKaFp2IHRoIDEKS3pwIHN6IDEKZk5rIGthIDEKVGtkIGRlIDEKdVltIHF1IDEKa2NSIGNoIDEKeE5sIGxlIDEKa0hrIGthIDEKYkprIGthIDEKampEIGlqIDEKTmxxIHF1IDEKZGhCIHRoIDEKalhsIGxlIDEKbndCIGFuIDEKSHpiIHN6IDEKcVF6IHF1IDEKZktjIGNoIDEKalZ3IGlqIDEKeWxVIGxlIDEKTHpqIHN6IDEKc1h1IHF1IDEKd0J3IHdhIDEKSXFnIHF1IDEKd2pWIGlqIDEKd3h0IHRoIDEKanpLIHN6IDEKckRkIGRlIDEKdVF5IHF1IDEKcUd3IHF1IDEKdGJVIHRoIDEKa1VvIGthIDEKZFZtIGRlIDEKRGRuIGFuIDEKdnFDIHZvIDEKamtaIGlqIDEKTHZ6IHZhIDEKdFB5IHRoIDEKVmZqIGlqIDEKUWhiIHRoIDEKd2hCIHRoIDEKRnFmIHF1IDEKaEN2IHRoIDEKRmpmIGlqIDEKUWZyIGVyIDEKendGIHN6IDEKRndmIHdhIDEKcHZVIHZhIDEKd2hDIHRoIDEKaFRrIHRoIDEKZGxRIGRlIDEKd3pMIHN6IDEKenFTIHF1IDEKcXRQIHRoIDEKeWhDIHRoIDEKeWpCIGlqIDEKaVRkIGRlIDEKa0x4IGthIDEKUnFpIHF1IDEKcWpTIHF1IDEKdmpJIHZhIDEKcEd6IHN6IDEKd25WIGFuIDEKbFF4IGxlIDEKdXZTIHF1IDEKWmdlIGRlIDEKZ0p2IG5nIDEKWWRiIGRlIDEKd0RoIHRoIDEKendWIHN6IDEKaE5tIHRoIDEKendRIHN6IDEKZlJyIGVyIDEKd1ZyIGVyIDEKbktnIGFuIDEKVGdnIG5nIDEKYllwIHByIDEKbEJuIGFuIDEKempwIHN6IDEKcUFmIHF1IDEKem1LIG1lIDEKd3FLIHF1IDEKdmpUIHZhIDEKTHFsIHF1IDEKc25DIGFuIDEKZnpZIHN6IDEKdnFVIHF1IDEKbUdiIG1lIDEKZmtQIGthIDEKd1FnIG5nIDEKRnF0IHRoIDEKYlZtIG1lIDEKV2N4IGNoIDEKd3BZIHdhIDEKbEZ2IHZhIDEKZ3dEIG5nIDEKZ1dwIG5nIDEKZmpUIGlqIDEKcEZ0IHRoIDEKaUlwIGluIDEKdGJEIHRoIDEKWHFjIHF1IDEKUWtjIGNoIDEKcWVaIHF1IDEKcVBiIHF1IDEKZ3dMIG5nIDEKZkhpIGluIDEKeHdQIHdhIDEKeHZCIHZhIDEKalN3IGlqIDEKcHpGIHN6IDEKd1lwIHdhIDEKZER4IGRlIDEKbkJ4IGFuIDEKY052IGNoIDEKVWJtIG1lIDEKeFh1IHF1IDEKZFJsIGRlIDEKZEJ6IGRlIDEKWHZoIHRoIDEKWGxkIGRlIDEKbXdZIG1lIDEKd2hRIHRoIDEKTXpsIGxlIDEKQXFqIHF1IDEKdURwIHF1IDEKY2paIGNoIDEKVmtmIGthIDEKdUdxIHF1IDEKaEJzIHRoIDEKcUxoIHRoIDEKdGZXIHRoIDEKY1BuIGFuIDEKeG9OIG9uIDEKWWR4IGRlIDEKTHhrIGthIDEKY2NaIGNoIDEKdUpoIHRoIDEKc1ZwIHN6IDEKd3JFIGVyIDEKeGdQIG5nIDEKaFBwIHRoIDEKZXVVIHF1IDEKc1poIHRoIDEKcW5LIHF1IDEKQmdoIHRoIDEKc2xRIGxlIDEKZ3hBIG5nIDEKakxkIGRlIDEKem5EIGFuIDEKa1hrIGthIDEKdGZWIHRoIDEKVndsIGxlIDEKeFdkIGRvIDEKeG5IIGFuIDEKY09xIGNoIDEKTGtrIGthIDEKTnZ5IHZhIDEKeEloIHRoIDEKeGtLIGthIDEKck1yIGVyIDEKcm1RIGVyIDEKYlBuIGFuIDEKZkFhIGFuIDEKdlF2IHZhIDEKZkhyIGVyIDEKUG12IHZhIDEKdnpKIHN6IDEKd1RnIG5nIDEKYldjIGNoIDEKWndnIG5nIDEKZ0t4IG5nIDEKR2JxIHF1IDEKd01rIGthIDEKTmZ4IGZvIDEKZkFvIG9uIDEKZEhiIGRlIDEKbHhIIGxlIDEKZHFPIHF1IDEKVGxxIHF1IDEKWWpqIGlqIDEKSXloIHRoIDEKdW9ZIHF1IDEKbWhIIHRoIDEKbE1qIGxlIDEKZnpGIHN6IDEKZnJSIGVyIDEKeU5sIGxlIDEKYVB2IGFuIDEKeXdHIHdhIDEKQ213IG1lIDEKc3ZLIHZhIDEKc3JPIGVyIDEKVWh6IHRoIDEKdlBuIGFuIDEKelRxIHF1IDEKa3pIIHN6IDEKSW94IG9uIDEKZlFhIGFuIDEKd1pyIGVyIDEKbnFVIGFuIDEKd1BiIHdhIDEKVHpnIG5nIDEKcG5SIGFuIDEKdmZKIHZhIDEKdnlYIHZhIDEKZkx6IHN6IDEKempQIHN6IDEKcG1SIG1lIDEKZVBxIHF1IDEKanlUIGlqIDEKbWpQIGlqIDEKZnNIIHN6IDEKdndCIHZhIDEKWW5yIGFuIDEKVHFoIHRoIDEKTHZ2IHZhIDEKdENmIHRoIDEKd3BCIHdhIDEKd1hoIHRoIDEKbWhYIHRoIDEKa1lkIGRlIDEKRHBnIG5nIDEKeWdSIG5nIDEKUmZwIHByIDEKSnlxIHF1IDEKeXhxIHF1IDEKcFBjIGNoIDEKYU9qIGFuIDEKWnd3IHdhIDEKZkZ4IGZvIDEKYkRoIHRoIDEKcUt4IHF1IDEKd0h4IHdhIDEKaHJYIHRoIDEKckZoIHRoIDEKbEx4IGxlIDEKYVlqIGFuIDEKa0NzIHN6IDEKbFd0IHRoIDEKcGRZIGRlIDEKc3dJIHN6IDEKYkx3IHdhIDEKTXp4IHN6IDEKY0trIGNoIDEKaE16IHRoIDEKSmN1IHF1IDEKd2pCIGlqIDEKTXFlIHF1IDEKcnhXIGVyIDEKZ1p2IG5nIDEKUmZuIGFuIDEKcHdEIHdhIDEKbGhYIHRoIDEKZlZnIG5nIDEKdmZXIHZhIDEKbHhQIGxlIDEKWXlqIGlqIDEKaFBnIHRoIDEKVXhxIHF1IDEKYmRPIGRlIDEKYlJ6IHN6IDEKZFhxIHF1IDEKUmpxIHF1IDEKZmdWIG5nIDEKeEFmIGZvIDEKd1huIGFuIDEKS3Z2IHZhIDEKc3ZMIHZhIDEKZld2IHZhIDEKZHJRIGVyIDEKTHB2IHZhIDEKcUtwIHF1IDEKZUN2IGVyIDEKeHdIIHdhIDEKY3ZDIGNoIDEKa1VmIGthIDEKb1B4IG9uIDEKdGpKIHRoIDEKYkJrIGthIDEKdnBJIHZhIDEKZ3pZIG5nIDEKb1pzIG9uIDEKcEtjIGNoIDEKeEtzIHN6IDEKcWNIIHF1IDEKVmZtIG1lIDEKc3ZNIHZhIDEKVmp4IGlqIDEKbFZ3IGxlIDEKd1dmIHdhIDEKWHB4IHByIDEKbGNBIGNoIDEKdExjIHRoIDEKbERnIG5nIDEKWGpoIHRoIDEKWGRoIHRoIDEKckttIGVyIDEKZm5XIGFuIDEKVGNiIGNoIDEKcWdYIHF1IDEKcVpvIHF1IDEKZUp2IGVyIDEKWXh5IG55IDEKa2ZNIGthIDEKcUtlIHF1IDEKdk1mIHZhIDEKZGdZIGRlIDEKZ0dkIG5nIDEKVmNqIGNoIDEKU2Z3IHdhIDEKeERrIGthIDEKZlRjIGNoIDEKcVJ3IHF1IDEKdE9hIHRoIDEKZ3VRIHF1IDEKbWdKIG5nIDEKYlJkIGRlIDEKa1lxIHF1IDEKeHdEIHdhIDEKdlhzIHZhIDEKemxDIGxlIDEKa21IIGthIDEKamhaIHRoIDEKV3hvIG9uIDEKdnRYIHRoIDEKaVdtIGluIDEKcVZ4IHF1IDEKSGp2IHZhIDEKUHhzIHN6IDEKYllpIGluIDEKd2dHIG5nIDEKSnZzIHZhIDEKZ0hoIHRoIDEKS3p5IHN6IDEKeGpJIGlqIDEKdVZiIHF1IDEKUHpxIHF1IDEKaHhDIHRoIDEKd1B5IHdhIDEKYlhoIHRoIDEKanpZIHN6IDEKZnFKIHF1IDEKcXhYIHF1IDEKdmZCIHZhIDEKcFBtIG1lIDEKYnBDIHByIDEKaEZ2IHRoIDEKQ3FsIHF1IDEKZHdJIGRlIDEKVGNxIGNoIDEKWmp4IGlqIDEKd096IHN6IDEKSmZqIGlqIDEKaVpyIGluIDEKVnhmIGZvIDEKTHB4IHByIDEKZkh0IHRoIDEKaEZ5IHRoIDEKbGNEIGNoIDEKdk1jIGNoIDEKeHlVIG55IDEKbUdxIHF1IDEKd0p2IHZhIDEKektzIHN6IDEKbE1tIGxlIDEKbXFVIHF1IDEKdkhnIG5nIDEKbEdjIGNoIDEKZUlqIHRlIDEKVmRoIHRoIDEKckNrIGVyIDEKd1FoIHRoIDEKWXdmIHdhIDEKelVmIHN6IDEKcVpzIHF1IDEKdk50IHRoIDEKRHhqIGlqIDEKY1lyIGNoIDEKZEt0IHRoIDEKdkRwIHZhIDEKcW5GIGFuIDEKTHNqIHN6IDEKeEh2IHZhIDEKakN0IHRoIDEKYm5YIGFuIDEKZkJ4IGZvIDEKalZ0IHRoIDEKcU95IHF1IDEKdXFEIHF1IDEKUmZ3IHdhIDEKY2pTIGNoIDEKdWZYIHF1IDEKZnZJIHZhIDEKT3d4IHdhIDEKZ1h3IG5nIDEKb0N2IHZhIDEKTXJ4IGVyIDEKY0liIGNoIDEKZkpqIGlqIDEKa3FNIHF1IDEKenFMIHF1IDEKclB6IGVyIDEKaXdXIGluIDEKY01wIGNoIDEKbFZ0IHRoIDEKdlRiIHZhIDEKSXdmIHdhIDEKeGxaIGxlIDEKdmpRIHZhIDEKaVBiIGluIDEKV2hrIHRoIDEKV3ZoIHRoIDEKbXpEIHN6IDEKSHFrIHF1IDEKanFCIHF1IDEKcWhNIHRoIDEKcHJSIGVyIDEKbmxWIGFuIDEKcVlrIHF1IDEKelZwIHN6IDEKdnBPIHZhIDEKUnZyIGVyIDEKc2NZIGNoIDEKcWRBIHF1IDEKdkxrIHZhIDEKc3ZJIHZhIDEKbWRFIGRlIDEKaEJ4IHRoIDEKWnJ2IGVyIDEKald0IHRoIDEKZlR4IGZvIDEKWXBjIGNoIDEKbU1rIGthIDEKZmRxIHF1IDEKaGNLIHRoIDEKeEN5IG55IDEKZlZyIGVyIDEKYVB4IGFuIDEKZnBVIHByIDEKVmtiIGthIDEKdGJNIHRoIDEKelF0IHRoIDEKZ3hWIG5nIDEKU2ZnIG5nIDEKcFlsIGxlIDEKZ1d0IHRoIDEKeEViIGJlIDEKbVh5IG1lIDEKbG5RIGFuIDEKcW1MIHF1IDEKVmt5IGthIDEKd3dYIHdhIDEKVXd4IHdhIDEKY2ZCIGNoIDEKR3hwIHByIDEKZnBMIHByIDEKalR4IGlqIDEKY1p2IGNoIDEKemxLIGxlIDEKaEJjIHRoIDEKV3FpIHF1IDEKbEdzIGxlIDEKRHF6IHF1IDEKSmd3IG5nIDEKZ0N4IG5nIDEKY05qIGNoIDEKY3FKIGNoIDEKYmxEIGxlIDEKcVhyIHF1IDEKa1hyIGVyIDEKa2hLIHRoIDEKeFpoIHRoIDEKalNzIHN6IDEKeWp4IGlqIDEKSHdmIHdhIDEKZlhzIHN6IDEKcWd6IHF1IDEKWGR3IGRlIDEKaGNOIHRoIDEKakpkIGRlIDEKY21RIGNoIDEKbXZWIHZhIDEKTnFlIHF1IDEKenhTIHN6IDEKa0d0IHRoIDEKdEZnIHRoIDEKZnpNIHN6IDEKWHJyIGVyIDEKZGNKIGNoIDEKZFFhIGFuIDEKcU55IHF1IDEKaHhUIHRoIDEKdHdCIHRoIDEKQnFqIHF1IDEKcHJLIGVyIDEKemRDIGRlIDEKeUFvIG9uIDEKZEx0IHN0IDEKcGdGIG5nIDEKdmdXIG5nIDEKdnBOIHZhIDEKSXZ4IHZhIDEKdllsIGxlIDEKeFJnIG5nIDEKalB1IHF1IDEKT3FyIHF1IDEKdmpnIG5nIDEKZHBIIGRlIDEKeURwIHByIDEKeGZKIGZvIDEKZnFWIHF1IDEKZUJmIGVyIDEKWmt3IGthIDEKcUhwIHF1IDEKQXF6IHF1IDEKYk53IHdhIDEKZmpYIGlqIDEKZnFTIHF1IDEKbGpLIGxlIDEKR2tmIGthIDEKYlNmIGJlIDEKTXhnIG5nIDEKRHFtIHF1IDEKaEtwIHRoIDEKd0ZxIHF1IDEKd21KIG1lIDEKdnpUIHZhIDEKcmhKIHRoIDEKbkhmIGFuIDEKakpvIG9uIDEKcVd5IHF1IDEKV3ZrIHZhIDEKZ2tCIG5nIDEKbUV3IG1lIDEKVWd4IG5nIDEKUW15IG1lIDEKTGpxIHF1IDEKYkdwIHByIDEKbEhnIG5nIDEKY0dnIGNoIDEKZ0ZrIG5nIDEKeG5WIGFuIDEKZUZ5IGVyIDEKTmZtIG1lIDEKaFNmIHRoIDEKZ1hqIG5nIDEKeEhmIGZvIDEKdXFqIHF1IDEKd1hhIGFuIDEKdmNUIGNoIDEKdUp3IHF1IDEKcFd4IHByIDEKcXBRIHF1IDEKaHFFIHRoIDEKWWZuIGFuIDEKanJJIGVyIDEKY2dLIGNoIDEKeXlQIG55IDEKWm1nIG5nIDEKTGtjIGNoIDEKZVVxIHF1IDEKanJZIGVyIDEKa0ZzIHN6IDEKc1VxIHF1IDEKamxaIGxlIDEKY25WIGNoIDEKYVBqIGFuIDEKbWpFIGlqIDEKcFpsIGxlIDEKdUZzIHF1IDEKS25mIGFuIDEKRnBjIGNoIDEKaGZSIHRoIDEKcW5DIGFuIDEKRGxxIHF1IDEKZnJNIGVyIDEKc2ZCIHN6IDEKR3hrIGthIDEKRmtqIGlqIDEKdkdrIHZhIDEKZ1JtIG5nIDEKcldmIGVyIDEKcll2IGVyIDEKcUVkIHF1IDEKcUhyIHF1IDEKU212IHZhIDEKbEZwIGxlIDEKa0RzIHN6IDEKZFNkIGRlIDEKckx3IGVyIDEKY25aIGFuIDEKV2pwIGlqIDEKcFRxIHF1IDEKS2N4IGNoIDEKdktzIHZhIDEKYmNLIGNoIDEKdnd5IHZhIDEKVWp4IGlqIDEKUXZyIGVyIDEKZGNWIGNoIDEKeFZmIGZvIDEKdUlrIHF1IDEKamxOIGxlIDEKdndMIHZhIDEKZldwIHByIDEKUHhyIGVyIDEKclJiIGVyIDEKYmZEIGJlIDEKeUN4IG55IDEKbkpzIGFuIDEKZENtIGRlIDEKY2JHIGNoIDEKZ0NmIG5nIDEKdG1WIHRoIDEKcWVDIHF1IDEKa25TIGFuIDEKZ3dZIG5nIDEKV2psIGxlIDEKbUl3IG1lIDEKcWpXIHF1IDEKZ3d2IG5nIDEKcUp3IHdhIDEKY25BIGFuIDEKYkJtIG1lIDEKZ0Z3IG5nIDEKd0RuIGFuIDEKcWdMIHF1IDEKbFVhIGFuIDEKaERuIHRoIDEKa0h4IGthIDEKd1htIG1lIDEKcXlZIHF1IDEKcGtEIGthIDEKc0x6IHN0IDEKenhGIHN6IDEKdk14IHZhIDEKcGxSIGxlIDEKcHdaIHByIDEKcFlkIGRlIDEKemZMIHN6IDEKenRLIHRoIDEKbVRtIG1lIDEKZENwIGRlIDEKYnd4IHdhIDEKeENzIHN6IDEKdGZGIHRoIDEKTG5xIGFuIDEKZFlpIGluIDEKcFdxIHF1IDEKb0l4IG9uIDEKeXdFIHdhIDEKd05rIGthIDEKandPIGlqIDEKeFp6IHN6IDEKd0dtIG1lIDEKY1Z3IGNoIDEKYmpLIGlqIDEKR3pnIG5nIDEKa3d6IHN6IDEKcEJuIGFuIDEKY1R4IGNoIDEKckhxIHF1IDEKV3NnIG5nIDEKeEVoIHRoIDEKeXJLIGVyIDEKbU1iIG1lIDEKcEh3IHByIDEKY2pOIGNoIDEKblhuIGFuIDEKYndPIHdhIDEKZmxCIGxlIDEKUXFqIHF1IDEKbUt2IHZhIDEKZkZuIGFuIDEKd2ZHIHdhIDEKd2ZCIHdhIDEKSnFrIHF1IDEKYndLIHdhIDEKaGhJIHRoIDEKbFVlIGVyIDEKd0ZkIGRlIDEKdmtUIHZhIDEKeExnIG5nIDEKZmhCIHRoIDEKd21WIG1lIDEKdG1GIHRoIDEKUnRjIHRoIDEKZHlZIGRlIDEKanl3IGlqIDEKa1JmIGthIDEKZlh6IHN6IDEKWm56IGFuIDEKd3FYIHF1IDEKdU14IHF1IDEKZ3dWIG5nIDEKUGJoIHRoIDEKZGNNIGNoIDEKblB6IGFuIDEKY3dVIGNoIDEKdkp0IHRoIDEKZ3lRIG5nIDEKZlhpIGluIDEKYnNaIHN6IDEKQnFpIHF1IDEKdkduIGFuIDEKa25OIGFuIDEKd1lxIHF1IDEKdFRiIHRoIDEKYm1QIG1lIDEKanBaIGlqIDEKTXF3IHF1IDEKdmpNIHZhIDEKcVZoIHRoIDEKanVZIHF1IDEKckJrIGVyIDEKanVJIHF1IDEKekVxIHF1IDEKeldnIG5nIDEKZnpIIHN6IDEKdEx4IHRoIDEKTmNmIGNoIDEKa2ZOIGthIDEKdVVvIHF1IDEKZkNzIHN6IDEKdEN2IHRoIDEKc1V5IHN6IDEKcEJmIHByIDEKakJ6IHN6IDEKdkRjIGNoIDEKcW14IHF1IDEKcXRLIHRoIDEKcWNTIGNoIDEKdlB0IHRoIDEKZ1FtIG5nIDEKaHpSIHRoIDEKZGNMIGNoIDEKeHJJIGVyIDEKZHZOIHZhIDEKQ3d2IHZhIDEKeGhRIHRoIDEKR3p1IHF1IDEKcGRPIGRlIDEKQnFyIHF1IDEKdkxuIGFuIDEKbHhmIGxlIDEKdllrIHZhIDEKd1NxIHF1IDEKcGtTIGthIDEKektnIG5nIDEKdFBtIHRoIDEKUG1qIGlqIDEKbFd1IHF1IDEKWHV1IHF1IDEKamNYIGNoIDEKeHpRIHN6IDEKR3p3IHN6IDEKZVBtIGVyIDEKZndXIHdhIDEKcXdBIHF1IDEKdlF0IHRoIDEKYnhQIGJlIDEKZG1EIGRlIDEKYXdRIGFuIDEKZlZmIGZvIDEKYndZIHdhIDEKWnh0IHRoIDEKWGhrIHRoIDEKZ1lrIG5nIDEKekNmIHN6IDEKeWZRIG55IDEKekd3IHN6IDEKZ3ZFIG5nIDEKZ0N2IG5nIDEKb1BmIG9uIDEKelhpIGluIDEKaHZJIHRoIDEKaHpTIHRoIDEKbWZYIG1lIDEKZFBkIGRlIDEKTHJmIGVyIDEKbHJHIGVyIDEKbVlmIG1lIDEKaE5qIHRoIDEKcUFqIHF1IDEKc3hRIHN0IDEKa1RsIGxlIDEKcU9mIHF1IDEKSmR4IGRlIDEKc3dLIHN6IDEKalFiIGlqIDEKRHFwIHF1IDEKY1d2IGNoIDEKZHhFIGRlIDEKc1hqIHN6IDEKbnZCIGFuIDEKd1hmIHdhIDEKQ3FpIHF1IDEKYnpXIHN6IDEKclJmIGVyIDEKbVpqIGlqIDEKYm5GIGFuIDEKcWFHIGFuIDEKQnFzIHF1IDEKbE1uIGFuIDEKd0hwIHByIDEKTGpjIGNoIDEKTXdmIHdhIDEKcHpLIHN6IDEKbVBiIG1lIDEKcWpFIHF1IDEKd1JyIGVyIDEKeFpmIGZvIDEKbnFHIGFuIDEKdlZiIHZhIDEKcGpDIGlqIDEKdUhsIHF1IDEKakRuIGFuIDEKcHFYIHF1IDEKcHFrIHF1IDEKeGdVIG5nIDEKd0p4IHdhIDEKem5LIGFuIDEKcmhCIHRoIDEKdkRxIHF1IDEKc0pjIGNoIDEKWGtoIHRoIDEKbG5KIGFuIDEKYlJxIHF1IDEKZnpBIHN6IDEKYlFlIGVyIDEKVHh3IHdhIDEKYmtHIGthIDEKeXdaIHdhIDEKeldjIGNoIDEKbGhMIHRoIDEKZ21GIG5nIDEKc2ZRIHN6IDEKem1HIHN6IDEKT2d6IG5nIDEKeHVBIHF1IDEKcUFxIHF1IDEKekR3IHN6IDEKbFZ1IHF1IDEKeFJ3IHdhIDEKeG1NIG1lIDEKcHhCIHByIDEKenRUIHRoIDEKa3pKIHN6IDEKbkZ6IGFuIDEKdVZ6IHF1IDEKcG5RIGFuIDEKcEd0IHRoIDEKWGRuIGFuIDEKZlZ6IHN6IDEKTWhnIHRoIDEKWHFvIHF1IDEKc0hxIHF1IDEKandDIGlqIDEKdmtHIHZhIDEKWGt4IGthIDEKdFJnIHRoIDEKbnZWIGFuIDEKcXdHIHF1IDEKVmhoIHRoIDEKendPIHN6IDEKcVFiIHF1IDEKY3JSIGNoIDEKTXJxIHF1IDEKb1FlIGVyIDEKbUJ0IHRoIDEKdlV5IHZhIDEKdHdXIHRoIDEKUWduIGFuIDEKTnh1IHF1IDEKcWhGIHRoIDEKeHBYIHByIDEKZnZEIHZhIDEKQ3Z5IHZhIDEKb0hqIG9uIDEKUXFvIHF1IDEKdllkIGRlIDEKeGhWIHRoIDEKZlpmIGZvIDEKeUttIG1lIDEKeFlxIHF1IDEKZmNVIGNoIDEKcUVwIHF1IDEKalhkIGRlIDEKbWxRIGxlIDEKR2d6IG5nIDEKY0xwIGNoIDEKeXhVIG55IDEKZ3ZKIG5nIDEKd3FEIHF1IDEKdnNOIHN6IDEKSWpmIGlqIDEKamJKIGlqIDEKYk14IGJlIDEKa1hzIHN6IDEKZ3JUIG5nIDEKd09kIGRlIDEKcEd3IHByIDEKR2tkIGRlIDEKcUNqIHF1IDEKaHFZIHRoIDEKckRwIGVyIDEKblF0IHRoIDEKa2RWIGRlIDEKYmdTIG5nIDEKVHFvIHF1IDEKZkVqIGlqIDEKaFpzIHRoIDEKalluIGFuIDEKYlB4IGJlIDEKaGdZIHRoIDEKUHZ5IHZhIDEKZnhLIGZvIDEKSHd3IHdhIDEKeFJrIGthIDEKZG1QIGRlIDEKbWNZIGNoIDEKYnhSIGJlIDEKTHNsIGxlIDEKaFJsIHRoIDEKaXdRIGluIDEKV3F4IHF1IDEKa2ZWIGthIDEKcXdOIHF1IDEKUXB2IHZhIDEKbXJPIGVyIDEKaUZjIHRpIDEKd3pEIHN6IDEKcWJGIHF1IDEKeGZTIGZvIDEKUHFoIHRoIDEKeFliIGJlIDEKbERoIHRoIDEKdnRHIHRoIDEKWHp1IHF1IDEKeGpLIGlqIDEKakR4IGlqIDEKbkNqIGFuIDEKbUNrIGthIDEKcXhQIHF1IDEKb012IG9uIDEKY2dZIGNoIDEKV3F0IHRoIDEKa2tRIGthIDEKdHFPIHRoIDEKam5DIGFuIDEKZkdxIHF1IDEKQmZ2IHZhIDEKdllpIGluIDEKcGNMIGNoIDEKRmdwIG5nIDEKanRSIHRoIDEKdmhGIHRoIDEKd1VpIGluIDEKbk5qIGFuIDEKalR3IGlqIDEKcXNNIHF1IDEKYUpnIGFuIDEKalFlIGVyIDEKR25qIGFuIDEKZm1NIG1lIDEKenFNIHF1IDEKZ2paIG5nIDEKbnhIIGFuIDEKY2RPIGNoIDEKYUF4IGFuIDEKdFV2IHRoIDEKaFhrIHRoIDEKcUJ4IHF1IDEKdGdLIHRoIDEKZlp5IG55IDEKSmt4IGthIDEKcHZEIHZhIDEKYm1UIG1lIDEKb1l4IG9uIDEKaHdWIHRoIDEKbWpCIGlqIDEKYlluIGFuIDEKaUh4IGluIDEKbFloIHRoIDEKcUNpIGluIDEKZmhSIHRoIDEKbkRmIGFuIDEKaENkIHRoIDEKbHhCIGxlIDEKZVhqIGVyIDEKZnZXIHZhIDEKY2NXIGNoIDEKZFRjIGNoIDEKc3FBIHF1IDEKZk50IHRoIDEKemtNIHN6IDEKbFJ2IGxlIDEKcW5JIGFuIDEKeHdDIHdhIDEKenFZIHF1IDEKeVFiIGJlIDEKeHJDIGVyIDEKeEZtIG1lIDEKb2VRIGVyIDEKbUxsIGxlIDEKandUIGlqIDEKZndEIHdhIDEKdnBFIHZhIDEKZmxZIGxlIDEKc1JnIG5nIDEKdlNkIGRlIDEKd3VSIHF1IDEKd3JJIGVyIDEKWXNuIHN0IDEKVmhqIHRoIDEKQ3FoIHRoIDEKWWdiIG5nIDEKaFBxIHRoIDEKbWtCIGthIDEKdFJxIHRoIDEKYWpRIGFuIDEKaGNSIHRoIDEKdkR3IHZhIDEKcFFuIGFuIDEKeGVVIGVyIDEKdmNNIGNoIDEKelZjIGNoIDEKYlJoIHRoIDEKdUZ4IHF1IDEKZmJXIGJlIDEKdVV2IHF1IDEKTmh2IHRoIDEKWWt4IGthIDEKV3RwIHRoIDEKTXpqIHN6IDEKbnBUIGluIDEKWHFrIHF1IDEKeHdOIHdhIDEKaFh3IHRoIDEKekxiIHN6IDEKR3h5IG55IDEKZERxIHF1IDEKQmZ5IG55IDEKZmt4IGthIDEKak9xIHF1IDEKRGRrIGRlIDEKTmpwIGlqIDEKeGpKIGlqIDEKcWhTIHRoIDEKUXdtIG1lIDEKeVdqIGlqIDEKbkZ2IGFuIDEKcExiIHByIDEKcWJCIHF1IDEKc21YIHN6IDEKdG5aIHRoIDEKelFoIHRoIDEKRnpiIHN6IDEKY05iIGNoIDEKaHBWIHRoIDEKQnh6IHN6IDEKeGdHIG5nIDEKUmxqIGxlIDEKaUhxIGluIDEKc3dOIHN6IDEKTmp2IHZhIDEKd1BrIGthIDEKb1J2IG9uIDEKcEpzIHN6IDEKa1p3IGthIDEKdlZzIHN0IDEKVmJ3IHdhIDEKRmZoIHRoIDEKbXpRIHN6IDEKR3ZsIGxlIDEKUGdxIHF1IDEKbFBwIGxlIDEKdkN2IHZhIDEKa05mIGthIDEKYm1EIG1lIDEKbVd0IHRoIDEKc2xGIGxlIDEKcWlYIGluIDEKeVJ0IHRoIDEKbHF4IHF1IDEKcWxqIHF1IDEKc2ZaIHN6IDEKV2Z5IG55IDEKdnJPIGVyIDEKZ3hUIG5nIDEKbHdFIGxlIDEKcWRKIHF1IDEKWXBrIGthIDEKUXBmIHByIDEKWm53IGFuIDEKYmZKIGJlIDEKcVF5IHF1IDEKcUF5IHF1IDEKYXFXIGFuIDEKcXFJIHF1IDEKTHdnIG5nIDEKTm53IGFuIDEKY0x2IGNoIDEKV3R4IHRoIDEKcWNxIGNoIDEKc2pSIHN6IDEKbFduIGFuIDEKWm14IG1lIDEKcVpnIHF1IDEKdFl6IHRoIDEKZ1Z4IG5nIDEKbVh0IHRoIDEKbndKIGFuIDEKandaIGlqIDEKbHdMIGxlIDEKZUd4IGVyIDEKU3FrIHF1IDEKZ0JnIG5nIDEKenNTIHN6IDEKa25RIGFuIDEKTm5mIGFuIDEKcW1UIHF1IDEKU3FwIHF1IDEKZmZRIGZvIDEKVmN2IGNoIDEKZm1EIG1lIDEKellnIG5nIDEKYkF4IGJlIDEKbmJXIGFuIDEKZ0ptIG5nIDEKSnduIGFuIDEKbXhKIG1lIDEKeGJDIGJlIDEKUmJxIHF1IDEKeFpjIGNoIDEKYkp5IGJlIDEKWHlrIGthIDEKemtWIHN6IDEKdW9GIHF1IDEKYmNVIGNoIDEKY1pxIGNoIDEKclBtIGVyIDEKckduIGFuIDEKbGNMIGNoIDEKclZ0IHRoIDEKQ2d3IG5nIDEKQ3RxIHRoIDEKZUd2IGVyIDEKUnpzIHN0IDEKUWh6IHRoIDEKc0x2IHZhIDEKVnFtIHF1IDEKeWRKIGRlIDEKeFZyIGVyIDEKdExrIHRoIDEKcWZ5IHF1IDEKd3hWIHdhIDEKeVJxIHF1IDEKVnhxIHF1IDEKcVl6IHF1IDEKemhNIHRoIDEKbUxuIGFuIDEKWnZ0IHRoIDEKRnZtIHZhIDEKaGNNIHRoIDEKTXdwIHdhIDEKY1RnIGNoIDEKbFhyIGVyIDEKZlFlIGVyIDEKSmJ3IHdhIDEKeWZHIG55IDEKcGhLIHRoIDEKZ2pIIG5nIDEKV2RnIGRlIDEKcFBuIGFuIDEKQndnIG5nIDEKem5CIGFuIDEKZndKIHdhIDEKdXRRIHRoIDEKY2pDIGNoIDEKZlZkIGRlIDEKY1RtIGNoIDEKd012IHZhIDEKS2drIG5nIDEKblJkIGFuIDEKbU10IHRoIDEKeGpRIGlqIDEKcVl0IHRoIDEKc1lqIHN0IDEKak5jIGNoIDEKcVh0IHRoIDEKd3pCIHN6IDEKU2pxIHF1IDEKcXRGIHRoIDEKd1lpIGluIDEKZ2xUIG5nIDEKVXVnIG5nIDEKdU9wIHF1IDEKaUJ4IGluIDEKUnF0IHRoIDEKeldqIHN6IDEKSGN4IGNoIDEKak5kIGRlIDEKelFyIGVyIDEKaUhkIGluIDEKV3B4IHByIDEKbmZZIGFuIDEKUmt6IHN6IDEKS3FnIHF1IDEKR2Z2IHZhIDEKa3JDIGVyIDEKV2hjIHRoIDEKbGpNIGxlIDEKeXhHIG55IDEKZnBXIHByIDEKYmNGIGNoIDEKa3J4IGVyIDEKdUR0IHRoIDEKRnpvIG9uIDEKd1BuIGFuIDEKTGZqIGlqIDEKQmtwIGthIDEKWGtxIHF1IDEKanhIIGlqIDEKdklqIHZhIDEKZ1RjIGNoIDEKaEVqIHRoIDEKZnFCIHF1IDEKamxEIGxlIDEKdEZmIHRoIDEKTmZ3IHdhIDEKRnFlIHF1IDEKVHpwIHN6IDEKc0pyIGVyIDEKcUl0IHRoIDEKZEZiIGRlIDEKcXpFIHF1IDEKbVZ2IHZhIDEKVnFhIGFuIDEKYnFNIHF1IDEKbWRKIGRlIDEKZElwIGRlIDEKWm54IGFuIDEKamtLIGlqIDEKcmZRIGVyIDEKeGtJIGt1IDEKZklvIHJvIDEKbHFWIHF1IDEKUXBkIGRlIDEKcEF4IHByIDEKcnJRIGVyIDEKYkl1IHF1IDEKeER3IHdhIDEKb0h4IG9uIDEKd0p3IHdhIDEKQ3F2IHF1IDEKeXZCIHZhIDEKeXFVIHF1IDEKckx4IGVyIDEKRnp4IHN6IDEKZFpmIGRlIDEKTnFoIHRoIDEKUm56IGFuIDEKaFRjIHRoIDEKYlZiIGJlIDEKRmRtIGRlIDEKdmZ2IHZhIDEKaHdTIHRoIDEKelB0IHRoIDEKR3h2IHZhIDEKRnZ0IHRoIDEKbVpyIGVyIDEKelZyIGVyIDEKbUJjIGNoIDEKZlhxIHF1IDEKUGx3IGxlIDEKTmx4IGxlIDEKakNkIGRlIDEKS3d2IHZhIDEKSnFhIGFuIDEKekdzIHN0IDEKZnVWIHF1IDEKcHpMIHN6IDEKaUZ4IGluIDEKZlRtIG1lIDEKeVdkIGRlIDEKY0h2IGNoIDEKZkZrIGthIDEKbXFkIHF1IDEKYVFrIGFuIDEKdURmIHF1IDEKVmJmIGJlIDEKcGdKIG5nIDEKZmtOIGthIDEKcEJtIG1lIDEKQmR2IGRlIDEKam1XIGlqIDEKSnZ2IHZhIDEKWHBrIGthIDEKcVFjIGNoIDEKa2RHIGRlIDEKcWtQIHF1IDEKY1NkIGNoIDEKRmRjIGNoIDEKcWdLIHF1IDEKcWRIIHF1IDEKdU52IHF1IDEKZVZ0IHRoIDEKZGZBIGRlIDEKSHp5IHN6IDEKbFdjIGNoIDEKdnhIIHZhIDEKaHhXIHRoIDEKS2hwIHRoIDEKeFFiIGJlIDEKcHdUIHByIDEKTHdmIHdhIDEKekRxIHF1IDEKa3hLIGthIDEKbXRZIHRoIDEKYmhUIHRoIDEKeXdSIHdhIDEKaklhIGFuIDEKV3plIGVyIDEKaHFLIHRoIDEKZmxaIGxlIDEKcU1pIGluIDEKd3BSIHdhIDEKcUhoIHRoIDEKYU93IGFuIDEKZGtVIGRlIDEKdlJyIGVyIDEKdmpYIHZhIDEKY3VRIGNoIDEKcW1KIHF1IDEKdXVKIG91IDEKeVd4IG55IDEKaFVmIHRoIDEKdnpQIHZhIDEKclN4IGVyIDEKcWd5IHF1IDEKUnpmIHN6IDEKempCIHN6IDEKU2p4IGlqIDEKeGZBIGZvIDEKZkhqIGlqIDEKcWtCIHF1IDEKY2RGIGNoIDEKZldqIGlqIDEKamJBIGlqIDEKQm1iIG1lIDEKeWpnIG5nIDEKcnhaIGVyIDEKVm1yIGVyIDEKaUlxIGluIDEKV2dsIG5nIDEKbVJwIG1lIDEKd3ZTIHZhIDEKVXZ5IHZhIDEKeXBRIHByIDEKdkZ3IHZvIDEKZnFFIHF1IDEKc3dKIHN0IDEKSnJ4IGVyIDEKY3hFIGNoIDEKbFprIGxlIDEKZlZuIGFuIDEKYmhaIHRoIDEKamhSIHRoIDEKdlNxIHF1IDEKeVF6IHN6IDEKZkh2IHZhIDEKdnVOIHF1IDEKanBHIGlqIDEKUGt6IHN6IDEKZ1FiIG5nIDEKcEZzIHN0IDEKR2pxIHF1IDEKaHNLIHRoIDEKdHd4IHRoIDEKeXlRIG55IDEKZHFGIHF1IDEKYkhoIHRoIDEKcU1xIHF1IDEKcUt2IHF1IDEKekxnIG5nIDEKam1PIGlqIDEKd0JrIGthIDEKcGpRIGlqIDEKeFp2IHZhIDEKcUl1IHVuIDEKeWNZIGNoIDEKbURmIG1lIDEKeUpzIHN0IDEKSXN4IHN0IDEKUXFyIHF1IDEKRmt3IGthIDEKQ3BqIGlqIDEKWXZxIHF1IDEKempHIHN6IDEKZ0djIGNoIDEKWGRtIGRlIDEKaEJ2IHRoIDEKV3hqIGlqIDEKWXdiIG93IDEKVnRxIHRoIDEKdGpZIHRoIDEKakRqIGlqIDEKdUdkIHF1IDEKd3ZGIHZhIDEKdXFnIHF1IDEKUndwIHByIDEKQmdiIG5nIDEKbW5VIGFuIDEKZHBJIGRlIDEKd0tkIGRlIDEKeVh6IHN6IDEKa0xkIGRlIDEKZ1l4IG5nIDEKcXhrIHF1IDEKSGh5IHRoIDEKZnBKIHByIDEKY1ZjIGNoIDEKa1Z2IHZhIDEKSnpzIHN0IDEKbkR3IGFuIDEKdGpGIHRoIDEKYlpqIGlqIDEKbXFMIHF1IDEKaEZ0IHRoIDEKbk53IGFuIDEKd0Z2IHZhIDEKZ0hjIGNoIDEKcVJ4IHF1IDEKSnhoIHRoIDEKVnB2IHZhIDEKbk1rIGFuIDEKdGpOIHRoIDEKZmhRIHRoIDEKYnBEIHByIDEKRGZnIG5nIDEKanlPIGlqIDEKamhWIHRoIDEKa1ZrIGthIDEKbktjIGFuIDEKamtKIGlqIDEKY3dTIGNoIDEKb0RmIG9uIDEKbWtZIGthIDEKZ2RWIG5nIDEKWGhiIHRoIDEKalVxIHF1IDEKYUpmIGFuIDEKUXhnIG5nIDEKeHpTIHN6IDEKdlV3IHZhIDEKaFRqIHRoIDEKb1Z0IHRoIDEKemRxIHF1IDEKZkhzIHN0IDEKeEtrIGthIDEKYkZjIGNoIDEKZ1dxIHF1IDEKWXFhIGFuIDEKZG1IIGRlIDEKVHRxIHRoIDEKaVFjIGNoIDEKakZoIGlqIDEKZmNZIGNoIDEKZnNSIHN0IDEKaVdnIGluIDEKWHlqIGlqIDEKWGpzIHN0IDEKeHBiIHByIDEKbHpZIGxlIDEKcHpnIG5nIDEKZFZ3IGRlIDEKSWpjIGNoIDEKZnZxIHF1IDEKVm5iIGFuIDEKemRIIGRlIDEKY0RkIGNoIDEKd3FJIHF1IDEKeWZVIG55IDEKcW9IIHF1IDEKeGt3IGthIDEKS2NrIGNoIDEKbVVxIHF1IDEKeldtIHN6IDEKQmZqIGlqIDEKclFqIGVyIDEKcWVXIHF1IDEKcXBDIHF1IDEKb3FNIHF1IDEKcHpPIHN6IDEKY2pRIGNoIDEKelR4IHN6IDEKZ1J3IG5nIDEKa2RRIGRlIDEKd2JRIHdhIDEKUXBqIGlqIDEKekljIGNoIDEKeXhOIG55IDEKbkNrIGFuIDEKSnF6IHF1IDEKZEVxIHF1IDEKZ2RFIG5nIDEKd0NnIG5nIDEKcFF0IHRoIDEKdktlIGVyIDEKVGptIGlqIDEKWmN5IGNoIDEKa21SIGthIDEKY1RwIGNoIDEKYnFFIHF1IDEKdnZaIHZhIDEKY0x3IGNoIDEKb0l3IG9uIDEKeGpHIGlqIDEKdnRVIHRoIDEKaGNIIHRoIDEKeGdUIG5nIDEKdnFSIHF1IDEKd3VNIHF1IDEKeHNZIHN0IDEKakN1IHF1IDEKRmJuIGFuIDEKY3FIIGNoIDEKWGp6IGlqIDEKZmdSIG5nIDEKeWlYIGluIDEKcW5PIGFuIDEKd21OIG1lIDEKd2dIIG5nIDEKdGJaIHRoIDEKWGtzIHN0IDEKcHpDIHBvIDEKbGZYIGxlIDEKcUJ1IHVuIDEKbUx3IG1lIDEKcG1ZIG1lIDEKeHFFIHF1IDEKcmpZIGVyIDEKdnJIIGVyIDEKSXVmIHF1IDEKeWZEIG55IDEKY2xHIGNoIDEKY2RaIGNoIDEKZVRkIGVyIDEKbFh2IGxlIDEKa3BWIGthIDEKc1pxIHF1IDEKV3hjIGNoIDEKdm1KIHZhIDEKaGtFIHRoIDEKcFV3IHByIDEKQ3FkIHF1IDEKd0NuIGFuIDEKcHhRIHByIDEKWXdwIHByIDEKeHdiIHdhIDEKV2ptIGlqIDEKenFRIHF1IDEKZ1RwIG5nIDEKdVp2IHF1IDEKbWRIIGRlIDEKanVRIHF1IDEKZ1ZtIG5nIDEKempZIGlqIDEKZmhOIHRoIDEKd2ZEIHdhIDEKWmpjIGNoIDEKaVB2IGluIDEKbXpXIHN6IDEKdlhtIHZhIDEKZkVxIHF1IDEKT3pxIHF1IDEKZ0VwIG5nIDEKa0RqIGlqIDEKWmx3IGxlIDEKemJSIHN6IDEKekN0IHRoIDEKd29ZIG9uIDEKcGtUIGthIDEKa2JJIGthIDEKaGRXIGRlIDEKSHN4IHN0IDEKenBYIHN6IDEKemZWIHN6IDEKRGhrIHRoIDEKd01wIHByIDEKaHpKIHRoIDEKTHdwIHByIDEKem1OIHN6IDEKeGZxIHF1IDEKc2pRIHN6IDEKemtLIHN6IDEKYkJ2IHZhIDEKYmRFIGRlIDEKUXhuIGFuIDEKanF0IHRoIDEKamhHIHRoIDEKZll2IHZhIDEKeGhFIHRoIDEKY2JGIGNoIDEKSm5iIGFuIDEKanhOIGlqIDEKZll4IGZvIDEKaEpwIHRoIDEKY1J0IHRoIDEKcW5TIGFuIDEKdkxwIHZhIDEKY0JkIGNoIDEKcXFVIHF1IDEKU2RkIGRlIDEKeGVaIGVyIDEKSndvIG9uIDEKZFBmIGRlIDEKZk5sIGxlIDEKa0liIGthIDEKY2JMIGNoIDEKUWRyIGVyIDEKTWZiIGJlIDEKakpsIGxlIDEKbXhZIG1lIDEKbEZkIGxlIDEKdHdUIHRoIDEKa0ZrIGthIDEKY3JCIGNoIDEKalJyIGVyIDEKSHR6IHRoIDEKcFlmIHByIDEKclZjIGVyIDEKdlJmIHZhIDEKd1ZxIHF1IDEKenBBIHN6IDEKZ2xZIGxlIDEKc05qIGlqIDEKdkt4IHZhIDEKdHZCIHRoIDEKWWpmIGlqIDEKbXdQIG1lIDEKSnliIGJlIDEKdEJjIHRoIDEKZ1NiIG5nIDEKY01sIGNoIDEKZ2pKIG5nIDEKZFl6IGRlIDEKelBnIG5nIDEKa3FCIHF1IDEKc0Z2IHN0IDEKeGtIIGthIDEKZlp0IHRoIDEKeWhSIHRoIDEKYndOIHdhIDEKcWpHIHF1IDEKblFtIGFuIDEKcU1yIHF1IDEKamNXIGNoIDEKcUp2IHF1IDEKZ1RtIG5nIDEKa21RIGthIDEKV2xjIGNoIDEKa1lmIGthIDEKZUpwIGVyIDEKVGtiIGthIDEKaGZNIHRoIDEKbnhZIGFuIDEKcERsIGxlIDEKd2NOIGNoIDEKcFFhIGFuIDEKb2haIHRoIDEKeFJ6IHN6IDEKbGJWIGxlIDEKbEtjIGNoIDEKd3hCIHdhIDEKTHd3IHdhIDEKZnFRIHF1IDEKa2taIGthIDEKaXdPIGluIDEKZGdVIG5nIDEKZHZPIGRlIDEKcER0IHRoIDEKa3ZLIGthIDEKamxWIGxlIDEKeFhkIGRlIDEKeWtGIGt1IDEKaXlUIGluIDEKVWZ4IGZvIDEKbnpVIGFuIDEKeGJIIGJ1IDEKbFNiIGxlIDEKWHBmIHByIDEKVXZmIHZhIDEKeXlGIG55IDEKZnhQIGZvIDEKall1IHF1IDEKcWpiIHF1IDEKZ3hMIG5nIDEKcHdJIHByIDEKalVlIGVyIDEKckZjIGNoIDEKZnNGIHN0IDEKY2RXIGNoIDEKWHdwIHByIDEKeGRIIGRlIDEKallzIGlqIDEKYkZkIGRlIDEKcUloIHRoIDEKeUlnIG5nIDEKdlRkIGRlIDEKd2ZFIHdhIDEKcVJiIHF1IDEKeWhLIHRoIDEKa01uIGFuIDEKY3BCIGNoIDEKdHhOIHRoIDEKa1BkIGRlIDEKbmJCIGFuIDEKc2tRIHN0IDEKdUt3IHF1IDEKd1FmIHdhIDEKa1dmIGthIDEKd3FBIHF1IDEKY3dBIGNoIDEKdkprIGthIDEKaGNEIHRoIDEKbmZLIGFuIDEKdVhmIHF1IDEKY2dBIGNoIDEKUGpkIGRlIDEKTHFzIHF1IDEKendDIHN6IDEKbGpOIGxlIDEKdmtQIGthIDEKUnFwIHF1IDEKekd4IHN6IDEKalBnIG5nIDEKa2JUIGthIDEKa3BRIGthIDEKTXpxIHF1IDEKR2pzIHN0IDEKa0RsIGxlIDEKandSIGlqIDEKV3lxIHF1IDEKcXhTIHF1IDEKcUd0IHRoIDEKV3ZyIGVyIDEKek54IHN6IDEKdkNtIHZhIDEKaGxEIHRoIDEKdkJwIHZhIDEKbUpjIGNoIDEKaEZiIHRoIDEKdkRtIHZhIDEKcGZDIHByIDEKTHB5IHByIDEKRmhkIHRoIDEKZHhTIGRlIDEKd1dnIG5nIDEKRmduIGFuIDEKbkZmIGFuIDEKY3hGIGNoIDEKYVZoIHRoIDEKU3F4IHF1IDEKVmp6IGlqIDEKem5DIGFuIDEKcXF2IHF1IDEKenJaIGVyIDEKYk5sIGxlIDEKbnZXIGFuIDEKUXliIGJlIDEKRmh0IHRoIDEKakd2IGlqIDEKZ0xwIG5nIDEKZ0xiIG5nIDEKcUtqIHF1IDEKaEpkIHRoIDEKWmpnIG5nIDEKblFxIGFuIDEKbnBYIGFuIDEKcWlPIGluIDEKdnZHIHZhIDEKak94IGlqIDEKaGhFIHRoIDEKdmROIGRlIDEKQ3p6IHN6IDEKZ2pVIG5nIDEKaFZiIHRoIDEKS2NnIGNoIDEKZHZIIGRlIDEKd3REIHRoIDEKaklvIG9uIDEKalFhIGFuIDEKRnlqIGlqIDEKY3BVIGNoIDEKaHhZIHRoIDEKcWJEIHF1IDEKc3ZKIHN0IDEKdmpXIGlqIDEKZ3BZIG5nIDEKcW5SIGFuIDEKZ1FuIGFuIDEKQ3ZoIHRoIDEKeWtCIGthIDEKeGdCIG5nIDEKemZEIHN6IDEKeUh3IHdhIDEKcWRHIHF1IDEKcVRuIGFuIDEKbFRtIGxlIDEKamdCIG5nIDEKZ3hTIG5nIDEKcVBlIHF1IDEKcHBRIHByIDEKeXhXIG55IDEKSGprIGlqIDEKa05rIGthIDEKY25KIGFuIDEKdUhkIHF1IDEKanZIIGlqIDEKR2duIG5nIDEKbGJTIGxlIDEKUWN4IGNoIDEKY3FSIGNoIDEKSnljIGNoIDEKd1JwIHByIDEKbmZBIGFuIDEKbFh3IGxlIDEKY21KIGNoIDEKWXN3IHN0IDEKcVFzIHF1IDEKZ3NYIG5nIDEKY0lxIGNoIDEKampaIGlqIDEKTGxiIGxlIDEKbU12IHZhIDEKbFZoIHRoIDEKRnBoIHRoIDEKWm1tIG1lIDEKeE1kIGRlIDEKR3diIHdhIDEKUWp2IGlqIDEKbHFaIHF1IDEKekpoIHRoIDEKV2t5IGthIDEKaERrIHRoIDEKeUxnIG5nIDEKZFl3IGRlIDEKZENxIHF1IDEKR21qIGlqIDEKeFRxIHF1IDEKd2tGIGthIDEKaEZwIHRoIDEKcW5CIGFuIDEKeHlKIG55IDEKbklqIGFuIDEKeFlkIGRlIDEKV3FyIHF1IDEKeHFWIHF1IDEKd1lrIGthIDEKUWR6IGRlIDEKZmJOIGJlIDEKcXdZIHF1IDEKVWJ4IGJlIDEKd3RMIHRoIDEKblF3IGFuIDEKakprIGlqIDEKTnpzIHN0IDEKZENuIGFuIDEKTmZ2IHZhIDEKSGdoIHRoIDEKSGNxIGNoIDEKWHZiIHZhIDEKc3hKIHN0IDEKd014IHdhIDEKcUZuIGFuIDEKR3pmIHN6IDEKcWZKIHF1IDEKemRRIGRlIDEKWGd6IG5nIDEKZmtJIGthIDEKcHZLIHZhIDEKQ3FyIHF1IDEKekZkIGRlIDEKb0htIG9uIDEKYUpqIGFuIDEKRnpkIGRlIDEKZFdrIGRlIDEKd21FIG1lIDEKc01sIGxlIDEKdEJwIHRoIDEKdk53IHZhIDEKUWRoIHRoIDEKd2hHIHRoIDEKcUFwIHF1IDEKanJNIGVyIDEKckh3IGVyIDEKTHZjIGNoIDEKZ1JuIGFuIDEKeWpWIGlqIDEKaFJrIHRoIDEKYmtWIGthIDEKaldtIGlqIDEKeVl6IHN6IDEKdlR5IHZhIDEKZHhWIGRlIDEKbUt5IG1lIDEKUWxxIHF1IDEKVXB4IHByIDEKUXBxIHF1IDEKTHdtIG1lIDEKeVhyIGVyIDEKZ1RrIG5nIDEKcW5UIGFuIDEKVmxxIHF1IDEKUXFkIHF1IDEKWmRkIGRlIDEKWHF0IHRoIDEKRGZiIGJlIDEKb2VPIG9uIDEKbkN4IGFuIDEKbFhkIGxlIDEKdkhjIGNoIDEKdkFiIHZhIDEKWWJ3IHdhIDEKekRuIGFuIDEKZEdrIGRlIDEKcGxIIGxlIDEKbHhHIGxlIDEKSGdwIG5nIDEKalJ6IGlqIDEKZFRzIGRlIDEKbUNqIGlqIDEKbEhmIGxlIDEKbExqIGxlIDEKdE5iIHRoIDEKbUtrIGthIDEKZ0dqIG5nIDEKamxRIGxlIDEKWXlnIG5nIDEKZkR2IHZhIDEKelhnIG5nIDEKcXpaIHF1IDEKZkVnIG5nIDEKbGhTIHRoIDEKbXpNIHN6IDEKeHFUIHF1IDEKWWNqIGNoIDEKZmJGIGJlIDEKWHNqIGlqIDEKTG5jIGFuIDEKR3FwIHF1IDEKZmpPIGlqIDEKemhJIHRoIDEKemdIIG5nIDEKZ1djIGNoIDEKeUtmIG55IDEKdVFkIHF1IDEKS3dsIGxlIDEKZHhHIGRlIDEKWXF3IHF1IDEKdEtjIHRoIDEKY1duIGFuIDEKaGNJIHRoIDEKd2ZZIHdhIDEKckJwIGVyIDEKY0pkIGNoIDEKc1lmIHN6IDEKU3FqIHF1IDEKa1F2IGthIDEKeHBGIHByIDEKZmNYIGNoIDEKeWZLIG55IDEKalFvIG9uIDEKZ1RnIG5nIDEKUXduIGFuIDEKUG54IGFuIDEKeVp0IHRoIDEKd1B6IHN6IDEKanVYIHF1IDEKTHh2IHZhIDEKaVhyIGluIDEKcGNFIGNoIDEKTnF5IHF1IDEKaGpJIHRoIDEKaHpWIHRoIDEKbm1GIGFuIDEKcHZXIHZhIDEKZUp3IGVyIDEKSXFkIHF1IDEKZ1h5IG5nIDEKd2ZXIHdhIDEKVmR3IGRlIDEKcUp4IHF1IDEKUGRxIHF1IDEKQmpiIGlqIDEKcUxsIHF1IDEKemRXIGRlIDEKZlFyIGVyIDEKeHpXIHN6IDEKdndRIHZhIDEKcndVIGVyIDEKcVBuIGFuIDEKYkZ3IHdhIDEKdkhsIGxlIDEKaFdsIHRoIDEKd2dPIG5nIDEKaExrIHRoIDEKSmtiIGthIDEKekJoIHRoIDEKRGh4IHRoIDEKRmd2IG5nIDEKYnBBIHByIDEKenhDIHN6IDEKZ2ZTIG5nIDEKTXZ4IHZhIDEKdVBrIHF1IDEKVnFuIGFuIDEKeXFDIHF1IDEKdk1rIGthIDEKd3FMIHF1IDEKd3JKIGVyIDEKY2ROIGNoIDEKcHdSIHByIDEKaE1mIHRoIDEKalBmIGlqIDEKVmJ2IHZhIDEKcXpGIHF1IDEKcU5jIGNoIDEKSmJxIHF1IDEKZlRrIGthIDEKWmZmIGZvIDEKRnp0IHRoIDEKS2N3IGNoIDEKZUtmIGVyIDEKcHFaIHF1IDEKV3BiIHByIDEKamtGIGlqIDEKVnhwIHByIDEKaEdxIHRoIDEKcUJjIGNoIDEKZmNUIGNoIDEKak1xIHF1IDEKa1p2IGthIDEKcWtHIHF1IDEKSWZwIHByIDEKZFJ3IGRlIDEKWmxqIGxlIDEKS3dqIGlqIDEKZk5iIGJlIDEKZFl5IGRlIDEKaFpsIHRoIDEKd3RQIHRoIDEKaFB6IHRoIDEKWWtjIGNoIDEKSmx3IGxlIDEKak50IHRoIDEKeXJXIGVyIDEKZ1dkIG5nIDEKeVhkIGRlIDEKZlFsIGxlIDEKamZGIGlqIDEKRWp4IGlqIDEKZkdrIGthIDEKWmp6IGlqIDEKd2RNIGRlIDEKamxGIGxlIDEKY3haIGNoIDEKWmdrIG5nIDEKbWNKIGNoIDEKc2xFIGxlIDEKbllxIGFuIDEKV2ZnIG5nIDEKekprIGthIDEKYnZGIHZhIDEKSG56IGFuIDEKV2t2IGthIDEKTXZxIHF1IDEKRHhoIHRoIDEKQnZ0IHRoIDEKc01qIGlqIDEKd1JmIHdhIDEKdkxiIHZhIDEKekdxIHF1IDEKbUZwIG1lIDEKZ05iIG5nIDEKcENnIG5nIDEKeEZzIHN6IDEKaktmIGlqIDEKcUpiIHF1IDEKcHpJIHN6IDEKamdHIG5nIDEKcEtzIHN6IDEKZnFEIHF1IDEKZ3hRIG5nIDEKZnZHIHZhIDEKd2dGIG5nIDEKWHh6IHN6IDEKTHd1IHF1IDEKZGxYIGxlIDEKbFB6IGxlIDEKV3FrIHF1IDEKWHpqIGlqIDEKdUhqIHF1IDEKdUZqIHF1IDEKanZWIGlqIDEKalhlIGxlIDEKWmZtIG1lIDEKcUltIHF1IDEKemJCIHN6IDEKeVpmIG55IDEKc0trIHN6IDEKenBMIHN6IDEKcUtnIHF1IDEKSWJqIGlqIDEKaVFiIGluIDEKRnh1IHF1IDEKRnBiIHByIDEKV3ZhIGFuIDEKZnpEIHN6IDEKYmtUIGthIDEKWWt0IHRoIDEKbmpHIGFuIDEKVXZoIHRoIDEKZ2ZUIG5nIDEKemNJIGNoIDEKYkRxIHF1IDEKSmRoIHRoIDEKeE1nIG5nIDEKSmJ5IGJlIDEKbHdKIGxlIDEKc1d3IHN6IDEKU3Z3IHZhIDEKbnJYIGFuIDEKdXZWIHF1IDEKalZyIGVyIDEKdHFCIHRoIDEKYlZyIGVyIDEKa1FsIGxlIDEKZmJHIGJlIDEKcnFNIHF1IDEKekhqIGlqIDEKZmhZIHRoIDEKWXpyIGVyIDEKdkZmIHZhIDEKUXBnIG5nIDEKdUFxIHF1IDEKenhQIHN6IDEKakNuIGFuIDEKcWFNIGFuIDEKeGxZIGxlIDEKY1RmIGNoIDEKa0JmIGthIDEKY1FjIGNoIDEKUmJqIGlqIDEKa1ZzIHN6IDEKYkd2IHZhIDEKd2ROIGRlIDEKZ2ZOIG5nIDEKYlBqIGlqIDEKZ2NJIGNoIDEKZ3hqIG5nIDEKckhiIGVyIDEKcFZyIGVyIDEKclZqIGVyIDEKdmdTIG5nIDEKRnF6IHF1IDEKeE1rIGthIDEKcVFtIHF1IDEKalpjIGNoIDEKakJjIGNoIDEKdXdZIHF1IDEKckhmIGVyIDEKY3pYIGNoIDEKemNUIGNoIDEKYkZqIGlqIDEKcWNCIGNoIDEKaGZUIHRoIDEKeHFPIHF1IDEKcWZwIHF1IDEKeGpVIGlqIDEKYmhSIHRoIDEKdFd2IHRoIDEKaXFFIGluIDEKZ3BVIG5nIDEKaVdiIGluIDEKdGxQIHRoIDEKdFlxIHRoIDEKYkN2IHZhIDEKb0tjIGNoIDEKU2dqIG5nIDEKaHZxIHRoIDEKa2ZZIGthIDEKemJNIHN6IDEKenZBIHN6IDEKY0hwIGNoIDEKdnZLIHZhIDEKZnBaIHByIDEKZGZYIGRlIDEKd3JLIGVyIDEKeGVFIGVyIDEKZmtZIGthIDEKc2JYIHN6IDEKZmNTIGNoIDEKdktoIHRoIDEKUWx4IGxlIDEKWnFoIHRoIDEKcVdnIHF1IDEKY2RMIGNoIDEKanZHIGlqIDEKTWd4IG5nIDEKZ3dGIG5nIDEKa2RQIGRlIDEKdU1yIHF1IDEKdGNEIHRoIDEKcXJMIHF1IDEKTXRtIHRoIDEKYlF6IHN6IDEKSHB4IHByIDEKenBJIHN6IDEKamtSIGlqIDEKa2hIIHRoIDEKbVNxIHF1IDEKcEZ6IHN6IDEKanVPIHF1IDEKWHlxIHF1IDEKakdkIGRlIDEKWXpkIGRlIDEKd2JDIHdhIDEKd1NiIHdhIDEKc1pkIGRlIDEKUnp4IHN6IDEKRmx4IGxlIDEKYnFDIHF1IDEKbGNIIGNoIDEKd21HIG1lIDEKekNqIGlqIDEKeGFEIGFuIDEKaXdIIGluIDEKcURwIHF1IDEKc0d4IHN6IDEKWGh5IHRoIDEKZVZjIGNoIDEKd2tKIHdhIDEKTGNmIGNoIDEKbGdRIG5nIDEKRGhoIHRoIDEKemZPIHN6IDEKa1ZjIGNoIDEKaG1MIHRoIDEKT3dmIHdhIDEKd1pjIGNoIDEKZG5OIGFuIDEKTXpwIHN6IDEKbVl3IG1lIDEKeUxoIHRoIDEKWHhyIGVyIDEKcXdJIHF1IDEKVHhzIHN6IDEKeUtwIHByIDEKYmpYIGlqIDEKcGJTIHByIDEKenJQIGVyIDEKaEptIHRoIDEKcWdBIHF1IDEKendZIHN6IDEKclhrIGVyIDEKbkR4IGFuIDEKdkd6IHN6IDEKbVFxIHF1IDEKdXBZIHF1IDEKckxuIGFuIDEKVmZrIGthIDEKd0N2IHZhIDEKY2d4IGNoIDEKa1pxIHF1IDEKV2p3IGlqIDEKUWF4IGFuIDEKZ3JHIG5nIDEKYkpkIGRlIDEKZEp4IGRlIDEKY01kIGNoIDEKUWNzIGNoIDEKbWtLIGthIDEKak54IGlqIDEKbXJZIGVyIDEKWHd4IHdhIDEKclpsIGVyIDEKZ3hVIG5nIDEKTG52IGFuIDEKeWdDIG5nIDEKRHFoIHRoIDEKbExuIGFuIDEKbW5RIGFuIDEKa2pVIGlqIDEKYnZPIHZhIDEKb1ZtIG9uIDEKdld0IHRoIDEKckdxIHF1IDEKdGJKIHRoIDEKZlN2IHZhIDEKd0puIGFuIDEKZkp2IHZhIDEKb1F2IG9uIDEKVndzIHN6IDEKcG5VIGFuIDEKTm1oIHRoIDEKY1RxIGNoIDEKRWR4IGRlIDEKdXF3IHF1IDEKWXJoIHRoIDEKUW54IGFuIDEKbUpmIG1lIDEKa0RxIHF1IDEKWGhkIHRoIDEKbkx4IGFuIDEKeGtVIGthIDEKZnFUIHF1IDEKcVloIHRoIDEKYkZ2IHZhIDEKeGJRIGJlIDEKdmNTIGNoIDEKcXFUIHF1IDEKZ2tGIG5nIDEKekZoIHRoIDEKa3BFIGthIDEKR3hiIGJlIDEKWnR3IHRoIDEKcUlsIHF1IDEKUWtkIGRlIDEKd2RWIGRlIDEKcndQIGVyIDEKYUNnIGFuIDEKWnJzIGVyIDEKem1XIHN6IDEKdmZPIHZhIDEKaEJqIHRoIDEKdGJIIHRoIDEKRHh2IHZhIDEKemREIGRlIDEKbkJ3IGFuIDEKbHJWIGVyIDEKZ1FxIG5nIDEKdGxLIHRoIDEKenRQIHRoIDEKeXFWIHF1IDEKblJtIGFuIDEKalZ6IHN6IDEKQ3JxIGVyIDEKZkZnIG5nIDEKWGpnIG5nIDEKQ21sIGxlIDEKcVdqIHF1IDEKanpPIGlqIDEKTWRxIHF1IDEKbXRRIHRoIDEKckd2IGVyIDEKa0duIGFuIDEKbUxnIG5nIDEKdVdqIHF1IDEKUmNxIGNoIDEKY1ZwIGNoIDEKYldrIGthIDEKWHp4IHN6IDEKV2tiIGthIDEKeHpIIHN6IDEKcXVQIHVuIDEKZEh2IGRlIDEKRG1xIHF1IDEKRGd2IG5nIDEKdGdZIHRoIDEKanRNIHRoIDEKdE16IHRoIDEKYkhtIG1lIDEKWmZrIGthIDEKeFpwIHByIDEKamtIIGlqIDEKck5wIGVyIDEKeE12IHZhIDEKd3BGIHByIDEKZGpEIGRlIDEKYnhWIGJlIDEKaGdTIHRoIDEKUGtoIHRoIDEKRHhxIHF1IDEKbU14IG1lIDEKZEdqIGRlIDEKa2JIIGthIDEKTGhnIHRoIDEKRHZxIHF1IDEKcXJUIHF1IDEKSWp3IGlqIDEKd3VJIHF1IDEKWnduIGFuIDEKZGhKIHRoIDEKcWNSIGNoIDEKd2hNIHRoIDEKcGdQIG5nIDEKcWtSIHF1IDEKc3FSIHF1IDEKbHhZIGxlIDEKdlZ3IHZhIDEKbEtkIGxlIDEKTmx5IGxlIDEKeUt6IHN6IDEKcUJiIHF1IDEKd1F4IHdhIDEKa1l3IGthIDEKZlFkIGRlIDEKc3ZXIHN6IDEKeUdwIHByIDEKeXRCIHRoIDEKanZVIGlqIDEKa2p6IGthIDEKalZjIGNoIDEKUWJ6IHN6IDEKcHFNIHF1IDEKdnd1IGt1IDEKUXd3IHdhIDEKZGNaIGNoIDEKbGhHIHRoIDEKZ21TIG5nIDEKSXF6IHF1IDEKelpmIHN6IDEKaExuIHRoIDEKZU1mIGVyIDEKeE5xIHF1IDEKbVBtIHVtIDEKcE1nIG5nIDEKd3pXIHN6IDEKa1JsIGxlIDEKaHpLIHRoIDEKZmJPIGJlIDEKWHh0IHRoIDEKRm54IGFuIDEKQnZuIGFuIDEKYmpaIGlqIDEKdGNZIHRoIDEKZG1CIGRlIDEKcUZlIHF1IDEKa3hCIGthIDEKcUJ6IHF1IDEKcFZwIHByIDEKYm9RIG9uIDEKeG9IIG9uIDEKZFdnIGRlIDEKVGRxIHF1IDEKek5xIHF1IDEKdllwIHZhIDEKcERmIHByIDEKbHdHIGxlIDEKaERxIHRoIDEKSmR5IGRlIDEKc25aIGFuIDEKbXpVIHN6IDEKekt4IHN6IDEKcnZDIGVyIDEKd3VTIHF1IDEKZG5RIGFuIDEKdkN5IHZhIDEKVWR3IHdhIDEKYlRsIGxlIDEKcWJDIHF1IDEKdGJUIHRoIDEKaURrIGthIDEKV2hiIHRoIDEKdGJYIHRoIDEKdGZPIHRoIDEKVGZxIHF1IDEKZGJXIGRlIDEKQmR5IGRlIDEKdmpSIGlqIDEKY2JDIGNoIDEKd3VXIHF1IDEKd0N3IHdhIDEKV2RxIHF1IDEKdlJiIHZhIDEKYldtIG1lIDEKdlp3IHZhIDEKZEpqIGRlIDEKcVp5IHF1IDEKSmdxIG5nIDEKemJIIHN6IDEKaEpsIHRoIDEKWGhnIHRoIDEKblZwIGFuIDEKZFZjIGNoIDEKcUNjIGNoIDEKb1lnIG5nIDEKa3dIIGthIDEKdndOIHZhIDEKemZ3IHN6IDEKdmxPIGxlIDEKenRYIHRpIDEKZEt4IGRlIDEKeFFzIHN6IDEKY0RsIGNoIDEKeVZ2IHZhIDEKenBOIHN6IDEKeGtHIGthIDEKZXFXIHF1IDEKamREIGRpIDEKZlFtIG1lIDEKWWhsIHRoIDEKdEJmIHRoIDEKcUVmIHF1IDEKd2hYIHRoIDEKVmd2IG5nIDEKTHNxIHF1IDEKZGZKIGRlIDEKWmRwIGRlIDEKclpjIGNoIDEKdFpoIGNoIDEKbXRDIHRoIDEKenhRIHN6IDEKVm5qIGFuIDEKc0hnIG5nIDEKd1lsIGxlIDEKQnFiIHF1IDEKeXJWIGVyIDEKWWNzIGNoIDEKalJ3IGlqIDEKaVd0IHRoIDEKaFZ3IHRoIDEKd1pzIHN6IDEKQ3FvIHF1IDEKR2ZuIGFuIDEKckJ2IGVyIDEKT2p6IHN6IDEKekdmIHN6IDEKYlpjIGNoIDEKRnZkIGRlIDEKWmdzIG5nIDEKUmZnIG5nIDEKUnd3IHdhIDEKWXJwIGVyIDEKaUZwIGluIDEKYlZ4IGJlIDEKemZNIHN6IDEKcWRWIHF1IDEKYkdtIG1lIDEKdG5KIHRoIDEKcGRSIGRlIDEKZ0JjIGNoIDEKZ3pDIG5nIDEKUHdjIGNoIDEKdUF3IHF1IDEKem5YIGFuIDEKdmdUIG5nIDEKb0F3IGtvIDEKeEJtIG1lIDEKZE5mIGRlIDEKUHFzIHF1IDEKTnBkIGRpIDEKb1V5IGtvIDEKZnBEIHByIDEKUmZ4IGZvIDEKbFhtIGxlIDEKcVdzIHF1IDEKZ1d2IHZpIDEKRnd2IHZhIDEKTHFqIHF1IDEKZnZRIHZhIDEKemdCIG5nIDEKa0psIGxlIDEKdldvIG9uIDEKWHZjIGNoIDEKeURxIHF1IDEKYmRQIGRlIDEKalZmIGlqIDEKd1B3IHdhIDEKZHdBIGRlIDEKT3FwIHF1IDEKcWlaIGluIDEKeGRWIGRlIDEKcUZnIG5nIDEKcXpJIHF1IDEKeXdMIHdhIDEKc1d2IHN6IDEKVHB5IHByIDEKd2JmIHdhIDEKdVBnIG5nIDEKS253IGFuIDEKaXVPIGluIDEKUWRuIGFuIDEKWWZ2IHZhIDEKd3VLIHF1IDEKeExuIGFuIDEKeUpnIG5nIDEKTmZrIGthIDEKWXFsIHF1IDEKcXNIIHF1IDEKUnp2IHN6IDEKYklwIHByIDEKc1F0IHRoIDEKdGdDIHRoIDEKcVNhIGFuIDEKZnhRIGZvIDEKaGNaIHRoIDEKd2JKIHdhIDEKcVJsIHF1IDEKR2N5IGNoIDEKdlptIHZhIDEKWHpsIGxlIDEKd2dSIG5nIDEKZGxPIGxlIDEKdENiIHRoIDEKcW1ZIHF1IDEKcVp4IHF1IDEKTGJwIHByIDEKRGdxIG5nIDEKVmtqIGlqIDEKd3FVIHF1IDEKTXFrIHF1IDEKd1V2IHZhIDEKcWdDIG5nIDEKc2JEIHN6IDEKU3F5IHF1IDEKYk1xIHF1IDEKQnp0IHRoIDEKc0lxIHF1IDEKY1ZqIGNoIDEKd0p0IHRoIDEKWGptIGlqIDEKSG1nIG5nIDEKYVFkIGFuIDEKaUh0IHRoIDEKZk1tIG1lIDEKd1djIGNoIDEKZnVFIHF1IDEKbUNmIG1lIDEKcW5QIGFuIDEKekxuIGFuIDEKa1J0IHRoIDEKTXZsIGxlIDEKbVJkIGRlIDEKeWZKIG55IDEKeENiIGJlIDEKc1FiIHN6IDEKcXVDIHVuIDEKQ3RjIHRoIDEKcFB2IHZhIDEKempJIHN6IDEKeG1DIG1lIDEKeGRKIGRlIDEKblh2IGFuIDEKdnNPIHN6IDEKcFJkIGRlIDEKdmJGIHZhIDEKd05sIGxlIDEKa0hxIHF1IDEKcndNIGVyIDEKZ3hEIG5nIDEKUWhpIHRoIDEKbXFCIHF1IDEKcG5MIGFuIDEKYktiIGJlIDEKaXFOIGluIDEKZGtYIGRlIDEKYlFkIGRlIDEKYk5qIGlqIDEKVGxrIGxlIDEKTmxnIG5nIDEKQ3hoIHRoIDEKTXFmIHF1IDEKUHZqIGlqIDEKendaIHN6IDEKcEdiIHByIDEKbnJGIGFuIDEKYmtTIGthIDEKZFJ2IGRlIDEKakptIGlqIDEKaXFGIGluIDEKZkdjIGNoIDEKbnhXIGFuIDEKeHNXIHN6IDEKbWZRIG1lIDEKZmdQIG5nIDEKamxIIGxlIDEKbnJJIGFuIDEKa1h2IGthIDEKVnBxIHF1IDEKek1rIHN6IDEKcEhmIHByIDEKamRNIGRlIDEKYnFKIHF1IDEKQ2t0IHRoIDEKekt2IHN6IDEKanpHIHN6IDEKdUl4IHF1IDEKeU5tIG1lIDEKall0IHRoIDEKZndMIHdhIDEKZFp4IGRlIDEKdmdGIG5nIDEKd1hpIGluIDEKdlp0IHRoIDEKQ3RmIHRoIDEKeHFDIHF1IDEKcU9jIGNoIDEKeWdYIG5nIDEKa1drIGthIDEKZ3JGIG5nIDEKcW5YIGFuIDEKeFVpIGluIDEKcG1DIG1lIDEKdXpFIHF1IDEKSXZ3IHZhIDEKZ3ZJIG5nIDEKa25aIGFuIDEKbHhaIGxlIDEKWHdmIHdhIDEKRHFiIHF1IDEKeUtnIG5nIDEKVndnIG5nIDEKeFNiIGJlIDEKSHdwIHByIDEKeU54IG55IDEKeW9RIG9uIDEKY1N4IGNoIDEKRXZxIHF1IDEKdEl3IHRoIDEKZGZaIGRlIDEKaHpQIHRoIDEKeEJrIGthIDEKa3FyIHF1IDEKeUJtIG1lIDEKbEpqIGxlIDEKY2pxIGNoIDEKZHJXIGVyIDEKcWFEIGFuIDEKd0RmIHdhIDEKTHh6IHN6IDEKelFmIGZvIDEKSnRxIHRoIDEKcVJ2IHF1IDEKR2ZjIGNoIDEKWGJ0IHRoIDEKd1piIHdhIDEKc3JRIGVyIDEKZ0pxIG5nIDEKakZ0IHRoIDEKZ05jIGNoIDEKUmtyIGVyIDEKcHpKIHN6IDEKbGJBIGxlIDEKY0JxIGNoIDEKS3lxIHF1IDEKeGNPIGNoIDEKelhyIGVyIDEKY1ZzIGNoIDEKclltIGVyIDEKa1ZtIGthIDEKZmNaIGNoIDEKZnpDIHN6IDEKdEtwIHRoIDEKZ1B6IG5nIDEKcWNMIGNoIDEKWWpyIGVyIDEKenhVIHN6IDEKeGJUIGJlIDEKbnZYIGFuIDEKcW1SIHF1IDEKYnhMIGJlIDEKWHd3IHdhIDEKalNmIGlqIDEKbE5mIGxlIDEKelRzIHN6IDEKa0ZxIHF1IDEKcUx6IHF1IDEKcnJYIGVyIDEKd1hnIG5nIDEKenZFIHN6IDEKSHd4IHdhIDEKcUZtIHF1IDEKY2dSIGNoIDEKcERwIHByIDEKT3FiIHF1IDEKc1ZjIGNoIDEKWHR4IHRoIDEKUXd0IHRoIDEKV2ZlIGVyIDEKUGN4IGNoIDEKYnBPIHByIDEKQ3dnIG5nIDEKd3hPIHdhIDEKYlZzIHN6IDEKakZ3IGlqIDEKZm5GIGFuIDEKa3hIIGthIDEKWXdzIHN6IDEKZ2REIG5nIDEKald4IGlqIDEKY1RsIGNoIDEKa21XIGthIDEKbWhXIHRoIDEKYnpUIHN6IDEKcnZKIGVyIDEKeGNKIGNoIDEKdmtTIGthIDEKc1hyIGVyIDEKc0N2IHN6IDEKTnRwIHRoIDEKb0hoIGxvIDEKWXZzIHN6IDEKcFZmIHByIDEKa0VxIHF1IDEKcWZFIHF1IDEKb1dtIG9uIDEKdE13IHRoIDEKellwIHN6IDEKbkZ3IGFuIDEKeVFjIGNoIDEKelFqIHN6IDEKd0txIHF1IDEKbUtmIG1lIDEKdUxyIHF1IDEKd0liIHdhIDEKd3JIIGVyIDEKcGdMIG5nIDEKTGJ0IHRoIDEKempGIHN6IDEKcUZwIHF1IDEKemRYIGRlIDEKd1RjIGNoIDEKSndsIGxlIDEKbHhVIGxlIDEKaGpBIHRoIDEKaVBnIGluIDEKWG5zIGFuIDEKd2tXIGthIDEKcGZQIHByIDEKRHlxIHF1IDEKald1IHF1IDEKcXpSIHF1IDEKWWp6IHN6IDEKdHdYIHRoIDEKTndqIGlqIDEKamJCIGlqIDEKcXdSIHF1IDEKWXRmIHRoIDEKYmxYIGxlIDEKeFprIGthIDEKWW13IG1lIDEKd2ZYIHdhIDEKVnF5IHF1IDEKWHFuIGFuIDEKeVV3IHdhIDEKanpUIGpvIDEKa050IHRoIDEKcG1RIG1lIDEKZFhyIGVyIDEKeWxxIHF1IDEKdFd6IHRoIDEKS3ZyIGVyIDEKYmhRIHRoIDEKdUpuIGFuIDEKcGJUIHByIDEKYUJmIGFuIDEKUmhqIHRoIDEKdUF4IHF1IDEKQmd4IG5nIDEKanFOIHF1IDEKamRDIGlqIDEKZkJzIHN0IDEKY1hrIGNoIDEKbm1NIGFuIDEKeFJyIGVyIDEKSGt6IHN6IDEKZGhaIHRoIDEKRnlwIHByIDEKa0dtIGthIDEKc0dxIHF1IDEKaktoIHRoIDEKdkR6IHN6IDEKdkxxIHF1IDEKbEpzIGxlIDEKek5uIGFuIDEKV2dqIG5nIDEKam1MIGlqIDEKZ1Z0IHRoIDEKd0Z6IHN6IDEKemJEIHN6IDEKa1RkIGRlIDEKZHdYIGRlIDEKeFJsIGxlIDEKQXp2IHN6IDEKYlFoIHRoIDEKcVFmIHF1IDEKeW9aIG9uIDEKalBzIHN6IDEKanlHIGlqIDEKa1hqIGthIDEKeUJ2IHZhIDEKbndQIGFuIDEKeG5BIGFuIDEKYktmIGJlIDEKcWJQIHF1IDEKdkdzIHN6IDEKampHIGlqIDEKS3FjIGNoIDEKelZ0IHRoIDEKd1NnIG5nIDEKc1dtIHN6IDEKZkRnIG5nIDEKcEh6IHN6IDEKZllwIHByIDEKenJXIGVyIDEKbER4IGxlIDEKaFFoIHRoIDEKQmRwIGRlIDEKZnFaIHF1IDEKb1FtIG9uIDEKUXNxIHF1IDEKeGpxIHF1IDEKTWZ2IHZhIDEKemJRIHN6IDEKcXVSIHVuIDEKY01iIGNoIDEKenFEIHF1IDEKZFhmIGRlIDEKckhoIHRoIDEKamhGIHRoIDEKbk5mIGFuIDEKd0hiIHdhIDEKVHBxIHF1IDEKYmpZIGlqIDEKY0pxIGNoIDEKbENrIGxlIDEKUGZwIHByIDEKT3FuIGFuIDEKZm1SIG1lIDEKUXB1IHF1IDEKTmN2IGNoIDEKcVlyIHF1IDEKc2ZBIHN6IDEKZnJTIGVyIDEKR3BmIHByIDEKam1EIGlqIDEKaHdJIHRoIDEKUmJ6IHN6IDEKamhCIHRoIDEKeFhqIGlqIDEKcVlkIHF1IDEKc1ZmIHN6IDEKY0N6IGNoIDEKcU1sIHF1IDEKZnBLIHByIDEKaFZ5IHRoIDEKbGNKIGNoIDEKT2tqIGlqIDEKcUpnIG5nIDEKakxwIGlqIDEKbllmIGFuIDEKbnBGIG9uIDEKcldrIGVyIDEKbWNQIGNoIDEKblptIGFuIDEKZlliIGZvIDEKemJDIHN6IDEKbkJxIGFuIDEKZmp5IGlqIDEKYkl4IGJlIDEKdHdOIHRoIDEKR2drIG5nIDEKQ3ptIHN6IDEKanRPIHRoIDEKblJsIGFuIDEKanlDIGlqIDEKeUVoIHRoIDEKdm1IIHZhIDEKd3RRIHRoIDEKd0lmIHdhIDEKaklmIGlqIDEKcWJNIHF1IDEKUndxIHF1IDEKZnFGIHF1IDEKV2ZqIGlqIDEKamZXIGlqIDEKd1dtIG1lIDEKV3BwIHByIDEKTWdqIG5nIDEKZFNmIGRlIDEKd1l2IHZhIDEKY2NJIGNoIDEKeWxUIGxlIDEKR3FoIHRoIDEKQ216IHN6IDEKSGZrIGthIDEKcUJ0IHRoIDEKeUNmIG55IDEKcXpPIHF1IDEKeWRGIGRlIDEKVmR0IHRoIDEKcEpkIGRlIDEKc2ZSIHN6IDEKZGxWIGxlIDEKak9kIGRlIDEKbmZGIGFuIDEKd1R0IHRoIDEKckdrIGVyIDEKeEF3IHdhIDEKdmZGIHZhIDEKRHpnIG5nIDEKa0ZwIGthIDEKalRtIGlqIDEKbk5xIGFuIDEKcWNOIGNoIDEKSmp4IGlqIDEKdEtmIHRoIDEKWnJxIHF1IDEKaG1LIHRoIDEKTXF6IHF1IDEKeGZSIGZvIDEKd1FxIHF1IDEKbXFHIHF1IDEKeFVyIGVyIDEKb2lVIGluIDEKcXNTIHF1IDEKcUdnIG5nIDEKcXRPIHRoIDEKdFBiIHRoIDEKUnFtIHF1IDEKdmtYIGthIDEKV3NiIHN0IDEKY3hSIGNoIDEKZlpyIGVyIDEKeVFnIG5nIDEKemlVIGluIDEKeHZXIHZhIDEKYUR4IGFuIDEKYlFqIGlqIDEKanhDIGlqIDEKVHdrIGthIDEKc1FoIHRoIDEKQmZ4IGZvIDEKYUdqIGFuIDEKUGdjIGNoIDEKSHpoIHRoIDEKcWdXIG5nIDEKa2RGIGRlIDEKa2JZIGthIDEKUWp4IGlqIDEKSHhqIGlqIDEKdFZ4IHRoIDEKbnhaIGFuIDEKb1ZkIG9uIDEKSGxxIHF1IDEKakt6IHN6IDEKcUFpIGluIDEKZE5sIGxlIDEKcHFBIHF1IDEKZUl2IGVyIDEKeG1XIG1lIDEKeWNLIGNoIDEKbVFkIGRlIDEKaG1VIHRoIDEKbmxGIGFuIDEKR2tsIGxlIDEKcUJxIHF1IDEKcmhRIHRoIDEKWm5rIGFuIDEKVmZwIHByIDEKbkJuIGFuIDEKcXZMIHF1IDEKYXFOIGFuIDEKa0xmIGthIDEKekpyIGVyIDEKdFF3IHRoIDEKc1dxIHF1IDEKYndXIHdhIDEKdnpCIHN6IDEKeXlSIG55IDEKcXFOIHF1IDEKd3lJIG55IDEKanpKIHN6IDEKcWdJIHF1IDEKYmdRIG5nIDEKeUx0IHRoIDEKVnFxIHF1IDEKWG5yIGFuIDEKd0hnIG5nIDEKYVFnIGFuIDEKY0ZoIHRoIDEKempRIHN6IDEKZ3BEIG5nIDEKeHpOIHN6IDEKaUl3IGluIDEKZFFnIG5nIDEKcFF5IHByIDEKWHl4IG55IDEKc1djIGNoIDEKakZkIGRlIDEKYnBGIHByIDEKVnN2IHN0IDEKUXFsIHF1IDEKd3pUIHN6IDEKc3FRIHF1IDEKS3ptIHN6IDEKb0ZxIHF1IDEKZ2tKIG5nIDEKaGtIIHRoIDEKcUxnIG5nIDEKYm1VIG1lIDEKY3JKIGNoIDEKc2xYIGxlIDEKVHp4IHN6IDEKcWJ4IHF1IDEKa3BJIGthIDEKeENmIGZvIDEKRm1sIGxlIDEKUWhqIHRoIDEKdFFzIHRoIDEKdlJkIGRlIDEKWWNiIGNoIDEKY2pQIGNoIDEKeXVFIHF1IDEKZ0lpIGluIDEKa1dnIG5nIDEKSndoIHRoIDEKZlZ5IG55IDEKanF5IHF1IDEKV3pwIHN6IDEKQ3djIGNoIDEKcUV5IHF1IDEKanJYIGVyIDEKS3FpIGluIDEKbFl2IGxlIDEKZEd2IGRlIDEKQ3dqIGlqIDEKbkR2IGFuIDEKT2ptIGlqIDEKRG54IGFuIDEKdnJGIGVyIDEKSm1yIGVyIDEKemZJIHN6IDEKYnFUIHF1IDEKWHZqIGlqIDEKblBwIGFuIDEKYVZ3IGFuIDEKd0J2IHZhIDEKa1ZiIGthIDEKZ2NIIGNoIDEKWGJzIHN6IDEKdFJkIHRoIDEKbVF6IHN6IDEKSHhlIGVyIDEKRG53IGFuIDEKeFdnIG5nIDEKcEdjIGNoIDEKaGdJIHRoIDEKeXdQIHdhIDEKbnJXIGFuIDEKaVZxIGRpIDEKeHpFIHN6IDEKVnhkIGRlIDEKTHpjIGNoIDEKSndwIHByIDEKZ0NxIG5nIDEKT3RxIHRoIDEKd3ZQIHZhIDEKY05yIGNoIDEKaVhxIGluIDEKUW5sIGluIDEKdFB6IHRoIDEKaEliIHRoIDEKYVBnIGFuIDEKenZ3IHN6IDEKbnFPIGFuIDEKc3FPIHF1IDEKYmpRIGlqIDEKbHdRIGxlIDEKcEVxIHF1IDEKYldqIGlqIDEKc3dUIHN6IDEKZ21ZIG5nIDEKZ1JrIG5nIDEKZFpyIGVyIDEKZk1yIGVyIDEKbHhPIGxlIDEKa2JRIGthIDEKeWZOIG55IDEKeW1xIHF1IDEKanBLIGlqIDEKV2puIGFuIDEKZm1XIG1lIDEKckt4IGVyIDEKZGxIIGxlIDEKa2NLIGNoIDEKdmJWIHZhIDEKcU5sIHF1IDEKcEh0IHRoIDEKaGxUIHRoIDEKbEJ2IGxlIDEKb2FGIGFuIDEKeGZNIGZvIDEKclpkIGVyIDEKamdXIG5nIDEKSHZoIHRoIDEKRmtmIGthIDEKY0RjIGNoIDEKaExoIHRoIDEKcVFwIHF1IDEKemhKIHRoIDEKaXZRIGluIDEKVWtxIHF1IDEKYnBWIHByIDEKYkpxIHF1IDEKYVB3IGFuIDEKc2RLIGRlIDEKY0dmIGNoIDEKTGp3IGlqIDEKcWhQIHRoIDEKbUZ3IG1lIDEKZkl1IHF1IDEKemhCIHRoIDEKZnVIIHF1IDEKYkZxIHF1IDEKV2drIG5nIDEKRnFoIHRoIDEKem1mIHN6IDEKWnBmIHByIDEKbkZoIHRoIDEKeUJ3IHdhIDEKZ0lqIG5nIDEKcUJmIGZvIDEKVXdsIGxlIDEKenJNIGVyIDEKeUJkIGRlIDEKUmxmIGxlIDEKUHpoIGNoIDEKclp4IGVyIDEKcVZzIHF1IDEKZHhKIGRlIDEKTGN6IGNoIDEKZ0ZuIGFuIDEKdkltIHZhIDEKcXRHIHRoIDEKcWJHIHF1IDEKYkhnIG5nIDEKeHJZIGVyIDEKdEJkIHRoIDEKbktxIGFuIDEKTmt0IHRoIDEKakNxIHF1IDEKYnlYIGJlIDEKb0JwIG9uIDEKV2p6IHN6IDEKemZQIHN6IDEKYVF6IGFuIDEKc2p4IGlqIDEKbmZXIGFuIDEKblh3IGFuIDEKYkp3IHdhIDEKYVNmIGFuIDEKaVJmIGluIDEKeU1kIGRlIDEKZkJjIGNoIDEKdnhSIHZhIDEKTGx4IGxlIDEKeUdzIHN6IDEKSnN5IHN6IDEKTHZ4IHZhIDEKZUZoIHRoIDEKd2JNIHdhIDEKdU9xIHF1IDEKd1dsIGxlIDEKYnZVIHZhIDEKZm5PIGFuIDEKbXpJIHN6IDEKVmNmIGNoIDEKbWhFIHRoIDEKdmdRIG5nIDEKamdQIG5nIDEKcWJqIHF1IDEKYlpmIGJlIDEKWHRqIHRoIDEKeVlxIHF1IDEKamRLIGRlIDEKanpCIHN6IDEKWXlzIHN6IDEKd1VnIG5nIDEKeUJiIGJlIDEKcWpNIHF1IDEKc1h3IHN6IDEKWHF3IHF1IDEKY1RiIGNoIDEKanJFIGVyIDEKc05wIHN6IDEKWmhtIHRoIDEKeFZzIHN6IDEKakd6IHN6IDEKSnFoIHRoIDEKelRtIHN6IDEKdmhFIHRoIDEKZFFpIGluIDEKVG12IHZhIDEKcXhEIHF1IDEKZnpFIHN6IDEKdk1yIGVyIDEKQ3F4IHF1IDEKdHdZIHRoIDEKblZ6IGFuIDEKbFJrIGxlIDEKT3dxIHF1IDEKcVlqIHF1IDEKeVFrIGthIDEKTmxmIGxlIDEKcURuIGFuIDEKYkh3IHdhIDEKY2pBIGNoIDEKc2dVIG5nIDEKa1FpIGluIDEKeU5mIG55IDEKbHdaIGxlIDEKdkdkIGRlIDEKVm1uIGFuIDEKdHBCIHRoIDEKY0ZkIGNoIDEKeEhtIG1lIDEKYlNnIG5nIDEKaEVxIHRoIDEKZXdRIGVyIDEKZVdkIGVyIDEKamZSIGlqIDEKenBZIHN6IDEKY3ZRIGNoIDEKaFhyIHRoIDEKY0p3IGNoIDEKd0VwIHByIDEKTnhsIGxlIDEKcU1mIHF1IDEKdkdjIGNoIDEKcHlRIHByIDEKanBVIGlqIDEKeG9BIG9uIDEKZ1huIGFuIDEKcXFHIHF1IDEKcFhuIGFuIDEKdmxQIGxlIDEKTHp2IHN6IDEKanhCIGlqIDEKY0pjIGNoIDEKamNUIGNoIDEKV3RtIHRoIDEKY0xnIGNoIDEKa1V4IGthIDEKbkZwIGFuIDEKSnN3IHN6IDEKc0JnIG5nIDEKakZuIGFuIDEKZ3ZDIG5nIDEKZkZ5IG55IDEKcW5BIGFuIDEKWmJiIGJlIDEKUHp4IHN6IDEKcHNKIHN6IDEKbFpxIHF1IDEKeWZQIG55IDEKZ1l2IG5nIDEKYmZDIGJlIDEKZE14IGRlIDEKaGxOIHRoIDEKd1JsIGxlIDEKcWpIIHF1IDEKV2pjIGNoIDEKdVFwIHF1IDEKelRiIHN6IDEKcVVyIHF1IDEKenFwIHF1IDEKdmxSIGxlIDEKanFYIHF1IDEKc3dSIHN6IDEKcU15IG55IDEKemtUIHN6IDEKeXFYIHF1IDEKbmxSIGFuIDEKSHFuIGFuIDEKYWFKIGFuIDEKbEt3IGxlIDEKYnpCIHN6IDEKVmdrIG5nIDEKYVZtIGFuIDEKZG5SIGFuIDEKdHhRIHRoIDEKUXppIGluIDEKenhWIHN6IDEKeGdRIG5nIDEKdHZaIHRoIDEKandOIGlqIDEKRXFqIHF1IDEKQnhqIGlqIDEKaHpIIHRoIDEKUWZ5IG55IDEKUHBqIGlqIDEKQXFwIHF1IDEKekpuIGFuIDEKc3pGIHN0IDEKcWZYIHF1IDEKcHpWIHN6IDEKdGdOIHRoIDEKeHNTIHN6IDEKblF6IGFuIDEKdGtGIHRoIDEKUWhxIHRoIDEKZ0pjIGNoIDEKdU9hIGFuIDEKcnFXIHF1IDEKZll6IHN6IDEKdUZjIGNoIDEKTmN4IGNoIDEKbE13IGxlIDEKY2pJIGNoIDEKSmN3IGNoIDEKdkVvIG9uIDEKZVF5IGVyIDEKU3hjIGNoIDEKYlV4IG1iIDEKemRKIHN6IDEKbHBOIGxlIDEKUmtxIHF1IDEKdnZJIHZhIDEKUW1xIHF1IDEKdGdKIHRoIDEKZ2ZFIG5nIDEKcWNYIGNoIDEKa2xUIGxlIDEKYmJWIGJlIDEKcG1aIG1lIDEKdXFBIHF1IDEKY1l5IGNoIDEKd21ZIG1lIDEKemxCIGxlIDEKek5kIHN6IDEKY3ZaIGNoIDEKZHZMIGRlIDEKd0x6IHN6IDEKcWNHIGNoIDEKUWpsIGxlIDEKbnFmIGFuIDEKZ3hZIG5nIDEKYXFJIGFuIDEKS3FhIGFuIDEKWHFwIHF1IDEKWXZnIG5nIDEKcXFGIHF1IDEKeUhoIHRoIDEKbkhjIGFuIDEKVXFxIHF1IDEKemZOIHN6IDEKbVhxIHF1IDEKRmdqIG5nIDEKRHN4IHN6IDEKeFJ2IHZhIDEKd2JaIHdhIDEKSG5wIGFuIDEKZlV4IGZvIDEKY1lkIGNoIDEKcVRnIG5nIDEKQmdxIG5nIDEKcENuIGFuIDEKWG1oIHRoIDEKdmpKIGlqIDEKdGRHIHRoIDEKWmhrIHRoIDEKeEZuIGFuIDEKZGtRIGRlIDEKTGNnIGNoIDEKbUl1IHF1IDEKSXdkIGRlIDEKd2p3IGlqIDEKemJYIHN6IDEKWWhwIHRoIDEKY3ZIIGNoIDEKTGN4IGNoIDEKV2ZuIGFuIDEKTmZxIHF1IDEKcU12IHF1IDEKVXZ3IHZhIDEKUW5oIHRoIDEKbmJHIGFuIDEKc0ZnIG5nIDEKeGxKIGxlIDEKYlBiIGJlIDEKeHBJIHByIDEKbXJWIGVyIDEKRnd1IHF1IDEKd095IHdhIDEKUG1oIHRoIDEKSmhxIHRoIDEKWmJ4IGJlIDEKcGdZIG5nIDEKUmJ3IHdhIDEKQXd4IHdhIDEKbWNCIGNoIDEKZ2tHIG5nIDEKeGtXIGthIDEKUG53IGluIDEKYk5zIHN6IDEKblhyIGFuIDEKVm10IHRoIDEKZVV2IGVyIDEKeVF2IHZhIDEKa3hyIGVyIDEKS3N3IHN6IDEKYnBXIHByIDEKcWVEIHF1IDEKUXZoIHRoIDEKYlJtIG1lIDEKcUptIHF1IDEKY3NZIGNoIDEKcXdIIHF1IDEKQ3FjIGNoIDEKbFlxIHF1IDEKZFBwIGRlIDEKb0FlIGVyIDEKZGNTIGNoIDEKdXdVIHF1IDEKempMIHN6IDEKb1p4IG9uIDEKa2pSIGlqIDEKY0R5IGNoIDEKZlNzIHN6IDEKZVFmIGxlIDEKcUJtIHF1IDEKbUxiIG1lIDEKWnJqIGVyIDEKR2t4IGthIDEKcGtYIGthIDEKdlRrIGthIDEKWmdwIG5nIDEKZGhQIHRoIDEKblB2IGFuIDEKeG5RIGFuIDEKYkhwIHByIDEKWGdmIG5nIDEKQ3dmIHdhIDEKbGJOIGxlIDEKak5tIGlqIDEKeE50IHRoIDEKckpwIGVyIDEKb0pkIG9uIDEKUnlxIHF1IDEKbHZMIGxlIDEKcXZZIHF1IDEKdndDIHZhIDEKa0ZqIGlqIDEKcUhkIHF1IDEKd2NCIGNoIDEKeFRzIHN6IDEKZlF6IHN6IDEKRGxmIGxlIDEKd0x0IHRoIDEKRmJoIHRoIDEKcnFKIHF1IDEKaGhPIHRoIDEKeE9pIGluIDEKbXF6IHF1IDEKcW1RIG1lIDEKcVFqIHF1IDEKb3ZRIG9uIDEKZ2ZSIG5nIDEKUG1xIHF1IDEKVGNqIGNoIDEKbXFRIHF1IDEKbXdWIG1lIDEKYlh3IHdhIDEKamxBIGxlIDEKZmpHIGlqIDEKanhZIGlqIDEKcXdNIHF1IDEKa3ZVIGthIDEKQmtxIHF1IDEKZ2ZBIG5nIDEKQXdjIGNoIDEKVm12IHZhIDEKUWhsIHRoIDEKV21qIGlqIDEKY01xIGNoIDEKdEhwIHRoIDEKbFBiIGxlIDEKdmxLIGxlIDEKWWdrIG5nIDEKZ0pzIG5nIDEKdFdsIHRoIDEKeFZ3IHdhIDEKc3JOIGVyIDEKVWhiIHRoIDEKdmZSIHZhIDEKa0ZmIGthIDEKSmx6IGxlIDEKZktxIHF1IDEKbVJxIHF1IDEKa1d3IGthIDEKenZPIHN6IDEKWHF6IHF1IDEKZElqIGRlIDEKd0ptIG1lIDEKRnF2IHF1IDEKd050IHRoIDEKbHhMIGxlIDEKeExtIG1lIDEKZHFOIHF1IDEKd1JqIGlqIDEKTGp0IHRoIDEKd1J3IHdhIDEKY3hCIGNoIDEKY2pIIGNoIDEKVnFqIHF1IDEKcUpzIHF1IDEKY0ZrIGNoIDEKeHFkIHF1IDEKRXFoIHRoIDEKcVJkIHF1IDEKdmZUIHZhIDEKWnFiIHF1IDEKbUdjIGNoIDEKU2JkIGRlIDEKaXdWIGluIDEKamZJIGlqIDEKbld6IGFuIDEKTGpnIG5nIDEKcmpHIGVyIDEKY0ZiIGNoIDEKdXFaIHF1IDEKbVZtIG1lIDEKamdLIG5nIDEKZFpoIHRoIDEKQnF4IHF1IDEKcXVHIHVuIDEKbEN2IGxlIDEKbHhXIGxlIDEKZ0diIG5nIDEKZ3ZZIG5nIDEKbWpGIGlqIDEKcHRYIHRoIDEKcFl5IHByIDEKWXJmIGVyIDEKbVZkIGRlIDEKenBSIHN6IDEKeEt3IHdhIDEKd3BNIHByIDEKY0xrIGNoIDEKU3F6IHF1IDEKZ1duIGFuIDEKc1d6IHN0IDEKc3JTIGVyIDEKY1Z4IGNoIDEKeE5iIGJlIDEKaFBiIHRoIDEKYkdxIHF1IDEKdGRIIHRoIDEKeUpsIGxlIDEKdlVrIGthIDEKZEp6IHN6IDEKcWhJIHRoIDEKbXRQIHRoIDEKbEdiIGxlIDEKaER4IHRoIDEKemZXIHN6IDEKTm1sIGxlIDEKSHN3IHN0IDEKcGZHIHByIDEKZE1qIGRlIDEKa0txIHF1IDEKcmpTIGVyIDEKUWxnIG5nIDEKTmZ5IG55IDEKY3FNIGNoIDEKaFdtIHRoIDEKZnVPIHF1IDEKemZGIHN6IDEKcWdIIG5nIDEKYnBaIHByIDEKYnRZIHRoIDEKdXFCIHF1IDEKcXlBIHF1IDEKWHJwIGVyIDEKeXRYIHRoIDEKZEhtIGRlIDEKdkJnIG5nIDEKeXlOIG55IDEKUXJqIGVyIDEKZ0tkIG5nIDEKYmZVIGJlIDEKUWZ0IHRoIDEKYnFQIHF1IDEKcU96IHF1IDEKWGhjIHRoIDEKZHFZIHF1IDEKaGpRIHRoIDEKWWZ1IHF1IDEKYVhrIGFuIDEKcGJWIHByIDEKdmpQIGlqIDEKWWJwIHByIDEKSm1iIG1lIDEKcUZxIHF1IDEKeVBxIHF1IDEKeVd3IHdhIDEKdmhYIHRoIDEKaXdUIGluIDEKcVpmIHF1IDEKdXFVIHF1IDEKdUZrIHF1IDEKY3BXIGNoIDEKTHBxIHF1IDEKa2ZMIGthIDEKcFFlIGVyIDEKZ3d6IG5nIDEKanBNIGlqIDEKUWttIGthIDEKamdIIG5nIDEKeGpQIGlqIDEKeGdMIG5nIDEKakxtIGlqIDEKZHhOIGRlIDEKdldzIHN0IDEKSmpoIHRoIDEKaGhHIHRoIDEKWXZjIGNoIDEKeHJFIGVyIDEKYlp3IHdhIDEKTHZ3IHZhIDEKZU53IGVyIDEKZmpCIGlqIDEKZGNRIGNoIDEKbFp0IHRoIDEKSndxIHF1IDEKcVBnIG5nIDEKeE1iIGJlIDEKaGZEIHRoIDEKanpRIHN6IDEKVXVmIHF1IDEKekdrIHN6IDEKekNjIGNoIDEKbnBDIGFuIDEKdFdkIHRoIDEKaGpGIHRoIDEKUHpzIHN0IDEKd3VBIHF1IDEKUWhnIHRoIDEKTXFtIHF1IDEKZnNJIHN0IDEKZmRVIGRlIDEKWHJtIGVyIDEKcVFnIG5nIDEKYmtXIGthIDEKZEhnIG5nIDEKcmNCIGNoIDEKaFd1IHRoIDEKbklxIGFuIDEKcllxIHF1IDEKeFh2IHZhIDEKd3FQIHF1IDEKeG1OIG1lIDEKc0pmIHN0IDEKeU1mIG55IDEKU2ZrIGthIDEKcXpXIHF1IDEKY3ZUIGNoIDEKa21YIGthIDEKeHFVIHF1IDEKY25HIGFuIDEKSnBpIGluIDEKZnJYIGVyIDEKeUxmIG55IDEKdXlVIHF1IDEKRGR3IGRlIDEKVGdqIG5nIDEKcWVIIHF1IDEKZkV6IHN6IDEKcENrIGthIDEKcW1mIHF1IDEKcmpIIGVyIDEKeE1wIHByIDEKWXdvIG9uIDEKemdEIG5nIDEKUHF4IHF1IDEKbnFNIG9uIDEKd2RYIGRlIDEKQnB6IHN6IDEKbGhNIHRoIDEKRXBiIHByIDEKYmhKIHRoIDEKa3ZRIGthIDEKUnNxIHF1IDEKeGJQIGJlIDEKbk1tIGFuIDEKeHVDIHF1IDEKd2pzIHN6IDEKZnhYIGZvIDEKaHZUIHRoIDEKdVB4IHF1IDEKSm15IG1lIDEKUXpkIGRlIDEKTnN6IHN0IDEKdldkIGRlIDEKaGZYIHRoIDEKakNnIG5nIDEKeVF4IG55IDEKd2hKIHRoIDEKd3JxIHF1IDEKeGdXIG5nIDEKSmhqIHRoIDEKbGhDIHRoIDEKUHdmIG93IDEKbGpDIGxlIDEKdnZCIHZhIDEKbWNOIGNoIDEKeUh4IG55IDEKYkJqIGlqIDEKcVJ6IHF1IDEKZ2xIIG5nIDEKY1pwIGNoIDEKcUpoIHRoIDEKdFNnIHRoIDEKeFZtIG1lIDEKdVdzIHF1IDEKVnhvIG9uIDEKZmpNIGlqIDEKemhLIHRoIDEKQ2poIHRoIDEKdlpyIGVyIDEKYkNzIHN6IDEKcndZIGVyIDEKeEVpIGluIDEKZFV2IGRlIDEKZlJnIG5nIDEKR2N1IGNoIDEKakRmIGlqIDEKZGpIIGRlIDEKdmxVIGxlIDEKcXlHIHF1IDEKa2ZxIHF1IDEKbFhnIG5nIDEKbGJDIGxlIDEKUHdnIG5nIDEKT2FlIGFuIDEKcGJDIHByIDEKZFd0IHRoIDEKbHpVIGxlIDEKd0p6IHN6IDEKZFlqIGRlIDEKY0JqIGNoIDEKZlJ2IHZhIDEKZGpHIGRlIDEKbVlnIG5nIDEKUWJjIGNoIDEKZ25YIGFuIDEKd1BtIG1lIDEKd3ZOIHZhIDEKcUdtIHF1IDEKcU5oIHRoIDEKbVJnIG5nIDEKVXF2IHF1IDEKUXhtIG1lIDEKZnpYIHN6IDEKempNIHN6IDEKeHFBIHF1IDEKYk1zIHN6IDEKdm1MIG1lIDEKRXl4IG55IDEKaEhqIHRoIDEKakdwIGlqIDEKbWZEIG1lIDEKSmZ3IHdhIDEKV2poIHRoIDEKYlpzIHN6IDEKSXlrIGthIDEKelJuIGFuIDEKY2RVIGNoIDEKbUpoIHRoIDEKUWp5IGlqIDEKUWFvIGFuIDEKYlh2IHZhIDEKaFNnIHRoIDEKckFvIGVyIDEKaExzIHRoIDEKbENzIGxlIDEKcWtKIHF1IDEKUnh1IHF1IDEKeGROIGRlIDEKeVl4IG55IDEKZGtOIGRlIDEKUmd3IG5nIDEKemdMIHN6IDEKUmNqIGNoIDEKaVd6IGluIDEKZExrIGRlIDEKbXBYIG1lIDEKR2JkIGRlIDEKYm5IIGFuIDEKa2RNIGRlIDEKd3FHIHF1IDEKdk16IHN6IDEKendIIHN6IDEKd2d4IG5nIDEKTGprIGlqIDEKdGxHIHRoIDEKdGdFIHRoIDEKV2N3IGNoIDEKVmJ5IGJlIDEKbVZ6IHN6IDEKSGdjIGNoIDEKZ3FQIG5nIDEKaGhCIHRoIDEKbkZ4IGFuIDEKeUJmIG55IDEKV214IG1lIDEKdk5iIHZhIDEKTW52IGFuIDEKWm1jIGNoIDEKYnpTIHN6IDEKeWZDIG55IDEKRXB4IHByIDEKbGpHIGxlIDEKd1VhIGFuIDEKUWdvIG5nIDEKcHFiIHF1IDEKSmttIGthIDEKV3Z5IHZhIDEKQmpwIGlqIDEKdmZaIHZhIDEKd3hUIHdhIDEKVnh3IHdhIDEKZFJ0IHRoIDEKblZxIGFuIDEKaVdmIGluIDEKU21xIHF1IDEKandHIGlqIDEKdmNXIGNoIDEKUWd6IG5nIDEKV2txIHF1IDEKeHJMIGVyIDEKdFZoIGNoIDEKWmxyIGVyIDEKekR0IHRoIDEKeXhQIG55IDEKWXl3IHdhIDEKelBrIHN6IDEKQmdnIG5nIDEKeE9rIGthIDEKb1hxIHF1IDEKdFFmIHRoIDEKZnhGIGZvIDEKZE9xIHF1IDEKVnRwIHRoIDEKamhQIHRoIDEKdmhaIHRoIDEKR3FxIHF1IDEKZEZnIG5nIDEKZUNnIG5nIDEKa2pIIGlqIDEKdnFRIHF1IDEKanBMIGlqIDEKaGdaIHRoIDEKeEZkIGRlIDEKUWpkIGRlIDEKeEttIG1lIDEKelFjIGNoIDEKTmh3IHRoIDEKS3FvIHF1IDEKaHdPIHRoIDEKb1luIGFuIDEKV25mIGFuIDEKdlNjIGNoIDEKQWZxIHF1IDEKanFKIHF1IDEKakVnIG5nIDEKZEtwIGRlIDEKbm1LIGFuIDEKd1h3IHdhIDEKdmpDIGlqIDEKZFhiIGRlIDEKdFFuIHRoIDEKcW9SIHF1IDEKYlJmIGJlIDEKeXlMIG55IDEKa1NqIGlqIDEKWHl1IHF1IDEKdm1BIHZhIDEKWmdtIG5nIDEKTGJ4IGJlIDEKYkl2IHZhIDEKWmRxIHF1IDEKZ0huIGFuIDEKYllxIHF1IDEKTXFkIHF1IDEKcU1rIHF1IDEKUXN2IHN0IDEKelh4IHN6IDEKaFFmIHRoIDEKd2NWIGNoIDEKWGZ6IHN6IDEKTWhjIHRoIDEKa0J6IHN6IDEKYldwIHByIDEKV3p1IHF1IDEKaFd3IHRoIDEKeU5wIHByIDEKeGJaIGJlIDEKbVRiIG1lIDEKS2RmIGRlIDEKcGZRIHByIDEKdkNkIGRlIDEKUHFmIHF1IDEKb2ZaIG9uIDEKd1lkIGRlIDEKVGZjIGNoIDEKR25iIGFuIDEKWmR4IGRlIDEKelZqIHN6IDEKVHF3IHF1IDEKZnpWIHN6IDEKSWdxIG5nIDEKUXZ2IHZpIDEKUG1mIG1lIDEKcUhlIHF1IDEKeWJSIGJlIDEKY0ZnIGNoIDEKS3ZmIHZhIDEKWnhtIG1lIDEKb1ZjIGNoIDEKWWhiIHRoIDEKYndQIHdhIDEKVnZ6IHN6IDEKc2RXIGRlIDEKZ0Z6IG5nIDEKbVJsIGxlIDEKYnFOIHF1IDEKYmhVIHRoIDEKdEJ3IHRoIDEKSGJiIGJlIDEKSnpwIHN6IDEKenJTIGVyIDEKbWtaIG1lIDEKYkt3IHdhIDEKalB4IGlqIDEKWHFhIGFuIDEKZkd6IHN6IDEKeExrIGthIDEKbnJWIGFuIDEKVG14IG1lIDEKenZaIHN6IDEKZ1dsIG5nIDEKWXhiIGJlIDEKeVd0IHRoIDEKbHFOIHF1IDEKdFd1IHRoIDEKeFp0IHRoIDEKaXFJIGluIDEKY3BRIGNoIDEKelBmIHN6IDEKYnFHIHF1IDEKZ21JIG5nIDEKV2tjIGNoIDEKWnZzIHN6IDEKcWROIHF1IDEKaFlmIHRoIDEKc0JuIGFuIDEKRHdiIG93IDEKV3pxIHF1IDEKUWR3IGRlIDEKc3ZSIHN6IDEKTnZ2IHZhIDEKalJjIGNoIDEKcUR2IHF1IDEKcUdlIHF1IDEKY3dUIGNoIDEKZlR5IG55IDEKQ3Z2IHZhIDEKZmxRIGxlIDEKbVdnIG5nIDEKdHdTIHRoIDEKbnBNIGFuIDEKVWZxIHF1IDEKZnVHIHF1IDEKb0NqIG9uIDEKdHhGIHRoIDEKWWZ0IHRoIDEKcXd5IHF1IDEKVmR6IGRlIDEKVmdxIG5nIDEKUmtnIG5nIDEKUHh6IHN6IDEKbUNuIGFuIDEKd2haIHRoIDEKZmdCIG5nIDEKanZXIGlqIDEKa2RMIGRlIDEKTHhpIGluIDEKc3ZCIHN6IDEKeHVIIHF1IDEKZ0Z5IG5nIDEKb1Z2IG9uIDEKWmhxIHRoIDEKb3FHIHF1IDEKb0pwIG9uIDEKZ0lmIG5nIDEKYndGIHdhIDEKdkxoIHRoIDEKamdYIG5nIDEKcUtpIGluIDEKeFJoIHRoIDEKcXdWIHF1IDEKbU5sIGxlIDEKR3Z2IHZhIDEKcFFmIHByIDEKeGJWIGJlIDEKZHBaIGRlIDEKZkhxIHF1IDEKYkJkIGRlIDEKdlVoIHRoIDEKaHpBIHRoIDEKTW56IGFuIDEKcEJ0IHRoIDEKb2FFIGFuIDEKc2xLIGxlIDEKV2xnIG5nIDEKamhLIHRoIDEKeHZYIHZhIDEKRmZ4IGZvIDEKZ1hoIHRoIDEKY1dmIGNoIDEKR3B5IHByIDEKeG1TIG1lIDEKZ1puIGFuIDEKZGpYIGRlIDEKYmtYIGthIDEKeGxQIGxlIDEKaEN0IHRoIDEKWWhqIHRoIDEKZ3dRIG5nIDEKa2xEIGxlIDEKUmhxIHRoIDEKYUVqIGFuIDEKanBZIGlqIDEKcFZuIGFuIDEKbkp4IGFuIDEKemRWIGRlIDEKUnZmIHZhIDEKT3F5IHF1IDEKenBUIHN6IDEKUHpjIGNoIDEKcVRtIHF1IDEKamZxIGlqIDEKenRZIHRoIDEKWnF2IHF1IDEKblpiIGFuIDEKcEhsIGxlIDEKUWNyIGNoIDEKelZtIHN6IDEKcE5tIG1lIDEKWGhqIHRoIDEKb1l5IG9uIDEKRmxxIHF1IDEKbHdqIGxlIDEKcndIIGVyIDEKb1dxIHF1IDEKQndtIG1lIDEKalhzIHN6IDEKTGt0IHRoIDEKbFZuIGFuIDEKalhhIGFuIDEKaGtCIHRoIDEKcXJRIHF1IDEKZHFLIHF1IDEKWnhuIGFuIDEKeWdaIG5nIDEKRmd0IHRoIDEKbndNIGFuIDEKV3p4IHN6IDEKcWdiIG5nIDEKWWd2IG5nIDEKWGRkIGRlIDEKeGpNIGlqIDEKcUhiIHF1IDEKekt6IHN6IDEKZHZNIGRlIDEKWnB4IHByIDEKd1B0IHRoIDEKcWlBIGluIDEKanlWIGlqIDEKanlSIGlqIDEKVW94IG9uIDEKUWt6IGthIDEKTHhxIHF1IDEKZnBxIHF1IDEKWG1mIG1lIDEKa1J4IGthIDEKakZrIGlqIDEKblpjIGFuIDEKaENwIHRoIDEKSGJ3IHdhIDEKemxGIGxlIDEKa3FJIHF1IDEKd1dqIGlqIDEKcUtrIHF1IDEKSnBmIHByIDEKbGJSIGxlIDEKcmJKIGVyIDEKemZLIHN6IDEKZ1ZrIG5nIDEKYlp4IGJlIDEKem5RIGFuIDEKZ1piIGdhIDEKd3RJIHRoIDEKYnZXIHZhIDEKcWhHIHRoIDEKeHJWIGVyIDEKcFljIGNoIDEKYlFxIHF1IDEKcXBWIHF1IDEKcEZtIG1lIDEKemRPIGRlIDEKSnZqIGlqIDEKbVFsIGxlIDEKeFdtIG1lIDEKRHR6IHRoIDEKbEt6IGxlIDEKZGtJIGRlIDEKZlN4IGZvIDEKeUNwIHByIDEKd2hGIHRoIDEKbFZtIGxlIDEKeUh2IHZhIDEKUGxtIGxlIDEKSnBtIG1lIDEKaEV3IGhhIDEKekh6IHN6IDEKdUlqIHF1IDEKZ3pCIG5nIDEKcXNWIHF1IDEKcGJYIHByIDEKanlZIGlqIDEKbWpxIHF1IDEKekRkIGRlIDEKVHFjIGNoIDEKZlRnIG5nIDEKcWJoIHRoIDEKQ2pxIHF1IDEKcGNXIGNoIDEKWGhwIHRoIDEKZndSIHdhIDEKZFFtIGRlIDEKeENrIGthIDEKeWhNIHRoIDEKZ2xRIG5nIDEKZ1ZiIG5nIDEKUGR5IGRlIDEKeU9qIGlqIDEKalpnIG5nIDEKb3FaIHF1IDEKYnFJIHF1IDEKamtYIGlqIDEKS2ZoIHRoIDEKeHBRIHByIDEKcmhYIHRoIDEKd2pJIGlqIDEKQnFmIHF1IDEKYUNwIGFuIDEKY2NYIGNoIDEKdkdtIG1hIDEKcGFVIGFuIDEKeFVoIHRoIDEKZ0xkIG5nIDEKdGZKIHRoIDEKZndIIHdhIDEKUG5xIGFuIDEKa3hWIGthIDEKTmJrIGthIDEKc3FFIHF1IDEKQ2pwIGlqIDEKa2NaIGthIDEKV3FqIGlqIDEKdHpZIHRoIDEKbnFYIGFuIDEKWXljIGNoIDEKTHpkIGRlIDEKeFp5IG55IDEKc2RZIGRlIDEKalhuIGFuIDEKTmJtIG1lIDEKd0xyIGVyIDEKTnFyIHF1IDEKWnd4IHdhIDEKeXZIIHZhIDEKeWxDIGxlIDEKcXloIHRoIDEKSm56IGFuIDEKaEh2IHRoIDEKelVxIHF1IDEKeGdJIG5nIDEKWnRwIHRoIDEKVnZiIHZhIDEKdEduIHRoIDEKVWpxIHF1IDEKakhzIHN6IDEKYldxIHF1IDEKYlhyIGVyIDEKaEZnIHRoIDEKZ2RUIG5nIDEKcUhjIGNoIDEKbENqIGxlIDEKbVZnIG5nIDEKcFFxIHF1IDEKdldsIGxlIDEKeUZxIHF1IDEKZGpZIGRlIDEKYnRRIHRoIDEKdmxNIGxlIDEKSXd0IHRoIDEKUGRiIGRlIDEKanRRIHRoIDEKeGpSIGlqIDEKZGhXIHRoIDEKelhzIHN6IDEKZmJFIGJlIDEKSHFyIHF1IDEKdkx0IHRoIDEKa2JEIGthIDEKdlVkIGRlIDEKeVpjIGNoIDEKUWtlIGxlIDEKZmhHIHRoIDEKZUh0IHRoIDEKdkhqIGlqIDEKVGZnIG5nIDEKdW9BIHF1IDEKekN4IHN6IDEKekxrIHN6IDEKamRXIGRlIDEKQ2duIGFuIDEKTHJxIHF1IDEKeU9pIGluIDEKcU93IHF1IDEKZnFzIHF1IDEKbHRRIHRoIDEKbndVIGFuIDEKellxIHF1IDEKR3pzIHN0IDEKbld2IGFuIDEKbE54IGxlIDEKV3FsIHF1IDEKZGNEIGNoIDEKdmZEIHZhIDEKcVZkIHF1IDEKV3p6IHN6IDEKamZIIGlqIDEKUnJ0IHRoIDEKcURyIHF1IDEKbE9oIHRoIDEKd3daIHdhIDEKbVF3IG1lIDEKbnFLIGFuIDEKVXZsIGxlIDEKa1JxIHF1IDEKVmhnIHRoIDEKeHNEIHN0IDEKTGRkIGRlIDEKc1F2IHN0IDEKcU1qIHF1IDEKaGJRIHRoIDEKY2pYIGNoIDEKbmJUIGFuIDEKeE5mIGZvIDEKd0N0IHRoIDEKam5YIGFuIDEKdFpmIHRoIDEKcUNrIHF1IDEKZEhrIGRlIDEKQ2NxIGNoIDEKdU1mIHF1IDEKYnZHIHZhIDEKelB6IHN6IDEKeUl5IG55IDEKbEh4IGxlIDEKZm5CIGFuIDEKRWJ4IGJlIDEKckdjIGNoIDEKbWdEIG5nIDEKaEpnIHRoIDEKamNHIGNoIDEKWWJkIGRlIDEKb0RxIHF1IDEKalJ4IGlqIDEKa0pmIGthIDEKdEZ2IHRoIDEKR2R2IGRlIDEKZkhuIGFuIDEKVXFwIHF1IDEKY1loIHRoIDEKa0hwIGthIDEKcWhaIHRoIDEKd1poIHRoIDEKa1F0IHRoIDEKaHdIIHRoIDEKeHpVIHN6IDEKdFFnIHRoIDEKUWJqIGlqIDEKelZsIGxlIDEKcUpkIHF1IDEKWHJmIGVyIDEKZk12IHZhIDEKcUpjIGNoIDEKRHF5IHF1IDEKcU1zIHF1IDEKZnpsIGxlIDEKV2R4IGRlIDEKVGR3IHdhIDEKbWNUIGNoIDEKZk9kIGRlIDEKS2dqIG5nIDEKeXJUIGVyIDEKYnFBIHF1IDEKc25xIGFuIDEKTHp0IHRoIDEKZ0x3IG5nIDEKZExxIHF1IDEKUXpyIGVyIDEKUXJuIGFuIDEKZUZuIGFuIDEKTm13IHdhIDEKcHhFIHByIDEKQ3FrIHF1IDEKV2NkIGNoIDEKZlh3IHdhIDEKZmJVIGJlIDEKYWVPIGFuIDEKc3ZWIHN0IDEKeVZ0IHRoIDEKc1JwIHN0IDEKcnhVIGVyIDEKcWhLIHRoIDEKdVF3IHF1IDEKb1h3IG9uIDEKSnZ3IHZhIDEKa3ZIIGthIDEKelZ5IHN6IDEKck9xIHF1IDEKY1d4IGNoIDEKaVh2IGluIDEKY0JrIGNoIDEKeGtNIGthIDEKdkhiIHZhIDEKamJXIGlqIDEKbVlxIHF1IDEKZm5IIGFuIDEKelJqIHN6IDEKaHZOIHRoIDEKb01oIHRoIDEKeXFPIHF1IDEKZkJmIGZvIDEKb1BqIG9uIDEKZkZjIGNoIDEKbFZxIHF1IDEKcHRKIHRoIDEKTnRqIHRoIDEKcndMIGVyIDEKY0Z6IGNoIDEKalZkIGRlIDEKR2J2IHZhIDEKb0puIGFuIDEKd2tMIGthIDEKcW9UIHF1IDEKUXhrIGthIDEKclpqIGlqIDEKQ2dkIG5nIDEKZ3ZXIG5nIDEKa1l2IGthIDEKcWpSIHF1IDEKVm5xIGFuIDEKeUp0IHRoIDEKeFd5IG55IDEKYlhsIGxlIDEKeFZrIGthIDEKeHVHIHF1IDEKSHpzIHN0IDEKdURxIHF1IDEKWXdrIGthIDEKSmtoIHRoIDEKR2RtIGRlIDEKcWNPIGNoIDEKaGxIIHRoIDEKSmZ2IHZhIDEKY0xuIGFuIDEKd3pHIHN6IDEKeWhGIHRoIDEKa2ZEIGthIDEKa2JKIGthIDEKTnFwIHF1IDEKZ1lxIG5nIDEKenRNIHRoIDEKamNEIGNoIDEKd2dZIG5nIDEKcWRUIGRhIDEKdlR3IHZhIDEKY056IGNoIDEKSmJjIGNoIDEKWGNqIGNoIDEKclV3IGVyIDEKZ1h2IG5nIDEKZFJmIGRlIDEKYkp6IHN6IDEKYXFBIGFuIDEKdU96IHF1IDEKd1BqIGlqIDEKdUR3IHF1IDEKbXFGIHF1IDEKY1hyIGNoIDEKeXJMIGVyIDEKbkprIGFuIDEKaHNZIHRoIDEKWnFzIHF1IDEKcWVTIHF1IDEKYkx2IHZhIDEKakVvIG9uIDEKcG1FIG1lIDEKakl0IHRoIDEKdnpaIHN6IDEKUWhkIHRoIDEKY25OIGFuIDEKYlBxIHF1IDEKcFp3IHByIDEKaXdSIGluIDEKb0p2IGtvIDEKdWZJIHF1IDEKd0ttIG1lIDEKdVd2IHF1IDEKZkNmIGZvIDEKd0JuIGFuIDEKVXlmIG55IDEKdVZ4IHF1IDEKa0tmIGthIDEKbXJaIGVyIDEKbFhiIGxlIDEKekptIHN6IDEKd1lyIGVyIDEKSGt3IGthIDEKRXd6IHN6IDEKeEp5IG55IDEKRW14IG1lIDEKY3FMIGNoIDEKelZrIHN6IDEKeVBiIGJlIDEKemNDIGNoIDEKTmRxIHF1IDEKdVdmIHF1IDEKa2NNIGNoIDEKdGtCIHRoIDEKeWhxIHRoIDEKcWFQIGFuIDEKclZzIGVyIDEKZExkIGRlIDEKU2dtIG5nIDEKWGh4IHRoIDEKeHFIIHF1IDEKS3F5IHF1IDEKeVJ3IHdhIDEKV2R3IGRlIDEKcWNRIGNoIDEKemJwIHN6IDEKZHRZIHRoIDEKY3dCIGNoIDEKbmZWIGFuIDEKY2dQIGNoIDEKcHdXIHByIDEKcHFmIHF1IDEKWGtwIGthIDEKaXpKIGluIDEKY1l3IGNoIDEKaVFsIGluIDEKUXZ5IHZhIDEKeWxSIGxlIDEKc0ZwIHN0IDEKTHFnIG5nIDEKeG5QIGFuIDEKZ1lsIG5nIDEKd0lyIGVyIDEKZnFSIHF1IDEKUXBrIGthIDEKcVh6IHF1IDEKTHJyIGVyIDEKc2pJIHN0IDEKaXlYIGluIDEKWmZxIHF1IDEKdnRIIHRoIDEKY1pmIGNoIDEKaFhwIHRoIDEKckp3IGVyIDEKZ2JQIG5nIDEKUXVnIG5nIDEKalJ0IHRoIDEKbFhoIHRoIDEKcFZjIGNoIDEKa0djIGNoIDEKTnhyIGVyIDEKeUtrIGthIDEKeEFvIG9uIDEKb1V4IG9uIDEKbld4IGFuIDEKZndVIHdhIDEKbUtnIG5nIDEKcWhPIHRoIDEKc0dnIG5nIDEKV3d1IHF1IDEKY25FIGFuIDEKdGpTIHRoIDEKUXlkIGRlIDEKeVdtIG1lIDEKUWRqIGRlIDEKalNkIGRlIDEKSW95IG9uIDEKWHBwIHByIDEKeEpiIGJlIDEKeHZUIHZhIDEKY2RUIGNoIDEKa2hYIHRoIDEKaFZwIHRoIDEKY2pUIGNoIDEKSHFmIHF1IDEKbmJQIGFuIDEKVXdiIHdhIDEKS2NiIGNoIDEKcXNRIHF1IDEKdGtaIHRoIDEKenJYIGVyIDEKemJOIHN6IDEKbVlpIGluIDEKZ0x4IG5nIDEKc0djIGNoIDEKUGJ2IHZhIDEKZ2NWIGNoIDEKUWpmIGlqIDEKd3ZCIHZhIDEKZ0twIG5nIDEKalp5IGlqIDEKcWhXIHRoIDEKdkNnIG5nIDEKTHJrIGVyIDEKZlJ3IHdhIDEKY01qIGNoIDEKb2hLIHRoIDEKZnJLIGVyIDEKZFFxIHF1IDEKSGRqIGRlIDEKQmt4IGthIDEKeVh2IHZhIDEKZmRPIGRlIDEKc1dnIG5nIDEKWHRmIHRoIDEKclV4IGFyIDEKcUhtIHF1IDEKa1FoIHRoIDEKd3pVIHN6IDEKdlR0IHRoIDEKemtOIHN6IDEKRnFwIHF1IDEKeEpjIGNoIDEKd2tRIGthIDEKd3hGIHdhIDEKdlJqIGlqIDEKanpEIHN6IDEKWnF1IHVuIDEKeld3IHN6IDEKemdVIG5nIDEKdWdYIG5nIDEKcG1CIG1lIDEKZ3pBIG5nIDEKWmpqIGlqIDEKeElqIGlqIDEKeG9LIG9uIDEKR3F4IHF1IDEKdUxxIHF1IDEKbEd3IGxlIDEKdFpxIHRoIDEKemNOIGNoIDEKeVB6IHN6IDEKcnFOIHF1IDEKcHdHIHByIDEKdmZQIHZhIDEKdkl5IHZhIDEKdkVqIGlqIDEKanFEIHF1IDEKSHh1IHF1IDEKcUxzIHF1IDEKSnB5IHByIDEKcFJ3IHByIDEKZlpzIHN0IDEKVnZ4IHZhIDEKemtCIHN6IDEKeUdrIGthIDEKa3ZaIGthIDEKY3FXIGNoIDEKd0xnIG5nIDEKWXBnIG5nIDEKanJSIGVyIDEKdndaIHZhIDEKZ1ZkIG5nIDEKaUN3IGlqIDEKRnh3IHdhIDEKcXlaIHF1IDEKcWdUIHF1IDEKeExzIHN0IDEKcFhnIG5nIDEKZ052IG5nIDEKSGd6IG5nIDEKekp2IHN6IDEKSHZtIHZhIDEKdVhiIHF1IDEKbEx6IGxlIDEKZHdQIGRlIDEKZ3ZOIG5nIDEKY3BGIGNoIDEKdlpqIGlqIDEKUGZ2IHZhIDEKeGNJIGNoIDEKeVZwIHByIDEKZmRDIGRlIDEKcGJFIHByIDEKalFtIGlqIDEKVHF0IHRoIDEKd01oIHRoIDEKR2txIHF1IDEKdGRWIHRoIDEKeElrIGthIDEKaEhwIHRoIDEKTHNiIHN0IDEKV3ZzIHN0IDEKUWN3IGNoIDEKZ2ZRIG5nIDEKRmp0IHRoIDEKeEJ6IHN6IDEKZkx4IGZvIDEKemtSIHN6IDEKa2pBIGlqIDEKRmN3IGNoIDEKZmhUIHRoIDEKcWlLIHF1IDEKd1F2IHZhIDEKcFhsIGxlIDEKaExnIHRoIDEKakp3IGlqIDEKc09qIHN0IDEKdldiIHZhIDEKQWpxIHF1IDEKdktjIGNoIDEKaUl5IGluIDEKcEp5IHByIDEKTHFjIGNoIDEKd0JkIGRlIDEKa1JiIGthIDEKTGNwIGNoIDEKZ2ZCIG5nIDEKelZuIGFuIDEKcVdmIHF1IDEKUXlmIG55IDEKcHVGIHF1IDEKZkllIGVyIDEKd0diIHdhIDEKampMIGlqIDEKaGNFIHRoIDEKcWhwIHRoIDEKZ3hOIG5nIDEKdE1kIHRoIDEKUnp0IHRoIDEKY2dPIGNoIDEKdm1UIHZhIDEKRGNxIGNoIDEKcW9JIHF1IDEKTnF6IHF1IDEKdmhNIHRoIDEKZ0JxIG5nIDEKald2IGlqIDEKeG1FIG1lIDEKcWNkIGNoIDEKbFlqIGxlIDEKZERjIGNoIDEKeFVhIGFuIDEKa1ZsIGxlIDEKd3FOIHF1IDEKdXVJIHF1IDEKV3pmIHN6IDEKeXZYIHZhIDEKUHlxIHF1IDEKd3VVIHF1IDEKaExwIHRoIDEKcXFMIHF1IDEKY1ZoIHRoIDEKRmdzIG5nIDEKeGpGIGlqIDEKd2tHIGthIDEKcUpyIHF1IDEKR3pxIHF1IDEKSXh2IHZhIDEKaE12IHRoIDEKZGZRIGRlIDEKZU94IGVyIDEKbUhxIHF1IDEKWmtuIGFuIDEKbnFXIGFuIDEKbkpkIGFuIDEKcEVoIHRoIDEKZ1ZnIG5nIDEKWnlmIG55IDEKbm1UIGFuIDEKY3NRIGNoIDEKUGtxIHF1IDEKdGRQIHRoIDEKZmt6IHN6IDEKUW5jIGFuIDEKcEJqIGlqIDEKTWp2IGlqIDEKeW1KIG1lIDEKTXhzIHN0IDEKaGJMIHRoIDEKdlFoIHRoIDEKeER5IG55IDEKZGpDIGRlIDEKY2RRIGNoIDEKYm5MIGFuIDEKWWpsIGxlIDEKcVVjIGNoIDEKbWpXIGlqIDEKeldzIHN0IDEKeHZGIHZhIDEKR3FpIHF1IDEKZkdtIG1lIDEKWHV3IHF1IDEKcUNzIHF1IDEKS3htIG1lIDEKbE5uIGFuIDEKc2RMIGRlIDEKVnRuIHRoIDEKc0pqIHN0IDEKa1FqIGlqIDEKeGZYIGZvIDEKTnFrIHF1IDEKY0JzIGNoIDEKeXpQIHN6IDEKeFV2IHZhIDEKbGJUIGxlIDEKd3lWIHdhIDEKWGttIGthIDEKV2R2IGRlIDEKcVFuIGFuIDEKc3FaIHF1IDEKc2ZXIHN0IDEKZ2ZNIG5nIDEKVmxwIGxlIDEKWGp4IGlqIDEKaElqIHRoIDEKSndzIHN0IDEKeFpyIGVyIDEKaUt3IGluIDEKVGJkIGRlIDEKelF2IHN6IDEKbm1aIGFuIDEKYnBFIHByIDEKelN2IHN6IDEKRmdpIG5nIDEKdUl3IHF1IDEKWnZ4IHZhIDEKcnFSIHF1IDEKdmpaIGlqIDEKTmpyIGVyIDEKa3dGIGthIDEKT3Z3IHZhIDEKaHdaIHRoIDEKTXZrIGthIDEKRHZmIHZhIDEKeHNQIHN0IDEKZ1pxIG5nIDEKdlh2IHZhIDEKd0d0IHRoIDEKcWxPIHF1IDEKZk56IHN6IDEKTnZ3IHZhIDEKemRaIGRlIDEKdnhWIHZhIDEKTmh6IHRoIDEKdFptIHRoIDEKaXlTIGluIDEKcVphIGFuIDEKeHJaIGVyIDEKcWx5IHF1IDEKY2pNIGNoIDEKa1lqIGlqIDEKaXlGIGluIDEKQ2RxIHF1IDEKeHdFIHdhIDEKeGZWIGZvIDEKd2JGIHdhIDEKd3VPIHF1IDEKUmxoIHRoIDEKZkNqIGlqIDEKYmNaIGNoIDEKR2p2IGlqIDEKZ0xsIG5nIDEKd0xjIGNoIDEKem1QIHN6IDEKY1lvIGNoIDEKUmhrIHRoIDEKZ3JNIG5nIDEKZkRoIHRoIDEKWXliIGJlIDEKdXlXIHVuIDEKa0diIGthIDEKaXdLIGluIDEKcWtOIHF1IDEKcVhkIHF1IDEKekNiIHN6IDEKclFmIGVyIDEKeHJPIGVyIDEKRnpoIHRoIDEKd1NqIGlqIDEKeVB3IHdhIDEKQnF3IHF1IDEKa1djIGNoIDEKcWhYIHRoIDEKa0J3IGthIDEKeXZMIHZhIDEKeGNUIGNoIDEKRmJ6IHN6IDEKY0ViIGNoIDEKdkVrIGthIDEKdVFoIHRoIDEKc0h3IHVzIDEKRnZmIHZhIDEKd2tPIGthIDEKd2lZIGluIDEKc1BtIHN0IDEKZEZuIGFuIDEKcVF4IHF1IDEKUnNnIG5nIDEKZlVqIGlqIDEKdEx3IHRoIDEKc1JrIHN0IDEKemtQIHN6IDEKbXZGIHZhIDEKalliIGlqIDEKc3dZIGlzIDEKclJjIGNoIDEKckhkIGVyIDEKYkRrIGthIDEKbFd2IGxlIDEKdnF2IHF1IDEKcW9OIHF1IDEKek1sIGxlIDEKcGZKIHByIDEKRG16IHN6IDEKb2JRIG9uIDEKVmZ6IHN6IDEKYlZkIGRlIDEKQ2p2IGlqIDEKbUt6IHN6IDEKampFIGlqIDEKQXFjIGNoIDEKQ3huIGFuIDEKdnBIIHZhIDEKTHhhIGFuIDEKenBIIHN6IDEKcW9GIHF1IDEKaFJ6IHRoIDEKeVl3IHdhIDEKZFV4IGRlIDEKS3hsIGxlIDEKeFVvIG9uIDEKaERwIHRoIDEKekRmIHN6IDEKV3NxIHF1IDEKanpaIHN6IDEKbUdmIG1lIDEKampWIGlqIDEKcGZSIHByIDEKYlBkIGRlIDEKd2pxIHF1IDEKUmp4IGlqIDEKTHdxIHF1IDEKZnFIIHF1IDEKalJzIHN6IDEKc2ZUIHN6IDEKR3J3IGVyIDEKekduIGFuIDEKeWNXIGNoIDEKbFVxIHF1IDEKcFJxIHF1IDEKblpxIGFuIDEKU3Z4IHZhIDEKUGhmIHRoIDEKRnZqIGlqIDEKUWxtIGxlIDEKamdTIG5nIDEKTW12IHZhIDEKeFBkIGRlIDEKcXF3IHF1IDEKcldwIGVyIDEKcUlyIHF1IDEKQ3hmIGZvIDEKd3RHIHRoIDEKY0tiIGNoIDEKYnRMIHRoIDEKcFJ4IHByIDEKenNCIHN6IDEKbmJEIGFuIDEKaktnIG5nIDEKYmhMIHRoIDEKWWh3IHRoIDEKeVlyIGVyIDEKakNtIGlqIDEKeHpLIHN6IDEKcEpsIGxlIDEKUXJyIGVyIDEKdXZHIHF1IDEKY2ZKIGNoIDEKaXFYIGluIDEKdk5kIGRlIDEKcWNNIGNoIDEKV3ZqIGlqIDEKdm1TIHZhIDEKdldwIHZhIDEKYUlqIGFuIDEKam1TIGlqIDEKRm1rIGthIDEKaXlOIGluIDEKYlp1IHF1IDEKS3pqIHN6IDEKVndkIGRlIDEKVWx4IGxlIDEKckN2IGVyIDEKd3ZxIHF1IDEKUWtyIHJpIDEKZmpDIGlqIDEKdFJyIHRoIDEKcEN5IHByIDEKZmJDIGJlIDEKZlFjIGNoIDEKWGtmIGthIDEKRHFyIHF1IDEKZmdFIG5nIDEKdk1tIHZhIDEKZFBiIGRlIDEKdmpMIGlqIDEKd0tjIGNoIDEKUHl3IHdhIDEKZVh2IGVyIDEKblZ3IGFuIDEKSnd3IHdhIDEKRGZxIHF1IDEKdENjIHRoIDEKcXRIIHRoIDEKWHFtIHF1IDEKQmhjIHRoIDEKdGNYIHRoIDEKeEtwIHByIDEKdGZOIHRoIDEKaWJaIGluIDEKTnpiIHN6IDEKV25qIGFuIDEKdlh5IHZhIDEKaVZmIGluIDEKZHhUIGRlIDEKanhRIGlqIDEKRGR2IGRlIDEKbVhkIGRlIDEKZlVxIHF1IDEKd2dRIG5nIDEKTGdqIG5nIDEKbWdZIG5nIDEKcU13IHF1IDEKZ3BKIG5nIDEKc1p4IHN0IDEKblh6IGFuIDEKV3ZlIGVyIDEKbFZrIGxlIDEKd0NiIHdhIDEKeHZJIHZhIDEKbWZKIG1lIDEKdFFxIHRoIDEKZFR0IHRoIDEKZnFrIHF1IDEKblZ0IHRoIDEKd0loIHRoIDEKUXZwIHZhIDEKdmZOIHZhIDEKZ1FzIG5nIDEKaVZwIGluIDEKakdsIGxlIDEKeE1mIGZvIDEKeHZ3IHdpIDEKeklsIGxlIDEKemZSIHN6IDEKeld2IHN6IDEKZWhWIHRoIDEKZFpxIHF1IDEKdG1LIHRoIDEKY0x0IHRoIDEKcFpiIHByIDEKdm5KIGFuIDEKZnZrIGthIDEKWGh2IHRoIDEKVmpuIGFuIDEKdGdJIHRoIDEKeGFKIGFuIDEKbVNmIG1lIDEKWHptIHN6IDEKZFR6IGRlIDEKeFhtIG1lIDEKcFF6IHN6IDEKQ3FnIG5nIDEKYlNzIHN0IDEKcHJXIGVyIDEKaERiIHRoIDEKc1h0IHRoIDEKa2NEIGNoIDEKa2daIG5nIDEKVHp0IHRoIDEKemNSIGNoIDEKWHd1IHF1IDEKa1hnIG5nIDEKWXd2IHdpIDEKcnBLIGVyIDEKd1BzIGlzIDEKS2p6IHN6IDEKZkRiIGJlIDEKanJGIGVyIDEKYmJRIGJlIDEKUWRiIGRlIDEKckt0IHRoIDEKdllmIHZhIDEKdnhBIHZhIDEKZmhNIHRoIDEKanNVIHN0IDEKelhrIHN6IDEKdXdPIHF1IDEKanNSIHN0IDEKa0huIGFuIDEKeFd2IHZhIDEKdmZTIHZhIDEKcEl2IHZhIDEKYmNXIGNoIDEKemRNIHN6IDEKZ0N6IG5nIDEKaHpOIHRoIDEKYlF3IHdhIDEKb2pYIG9uIDEKVnF2IHF1IDEKcVdiIHF1IDEKWWtiIGthIDEKeG5KIGFuIDEKc0p6IHN0IDEKaFJyIHRoIDEKdFhzIHRoIDEKUWViIGVyIDEKVXdkIGRlIDEKbllnIGFuIDEKWWZ4IGZvIDEKeHJHIGVyIDEKZVpyIGxlIDEKdWZWIHVzIDEKclhtIGVyIDEKcVp2IHF1IDEKdlF6IHN6IDEKVG5xIGFuIDEKUm1qIGlqIDEKamxNIGxlIDEKY3FPIGNoIDEKeFdmIGZvIDEKamNaIGNoIDEKamZWIGlqIDEKWm1qIGlqIDEKYnhNIGJlIDEKZkZkIGRlIDEKZ2pQIG5nIDEKaE1zIHRoIDEKWXNxIHF1IDEKcWtWIHF1IDEKS21jIGNoIDEKeFl5IG55IDEKZHZYIGRlIDEKcndDIGVyIDEKZ3dXIHdhIDEKUXB5IHByIDEKalh5IGlqIDEKcU9qIHF1IDEKUW16IHN6IDEKRXFxIHF1IDEKekpzIHN0IDEKZkh5IG55IDEKaER0IHRoIDEKc0RoIHRoIDEKVmtxIHF1IDEKeUxjIGNoIDEKdkhtIHZhIDEKdm5YIGFuIDEKanhTIGlqIDEKSnRqIHRoIDEKcWdFIG5nIDEKYnBIIHByIDEKSXF5IHF1IDEKcU1uIGFuIDEKZG1FIGRlIDEKSGZxIHF1IDEKcFNiIHByIDEKeGhJIHRoIDEKUWp0IHRoIDEKeWZYIG55IDEKdnVGIHF1IDEKd0Z3IHdhIDEKem5TIGFuIDEKemxWIGxlIDEKbGtLIGxlIDEKRnZ6IHN6IDEKcWpUIHF1IDEKem9RIG9uIDEKV3Z4IHZhIDEKaE1uIHRoIDEKZE13IGRlIDEKZ2NGIGNoIDEKZGJCIGRlIDEKQ3FqIHF1IDEKbUN2IHZhIDEKcEp4IHByIDEKRGZ2IHZhIDEKc2pMIHN0IDEKcWlHIGluIDEKWmxzIGxlIDEKVnNmIHN0IDEKRmdkIG5nIDEKd21EIG1lIDEKRHhvIG9uIDEKcXJrIHF1IDEKcEpyIGVyIDEKY0x4IGNoIDEKamRCIGRlIDEKeWJNIGJlIDEKbXZNIHZhIDEKanRYIHRoIDEKY25CIGFuIDEKd3RXIHRoIDEKS3NkIHN0IDEKd3FsIHdhIDEKbWhVIHRoIDEKb0p5IG9uIDEKR2hwIHRoIDEKcW9YIHF1IDEKeHNJIHN0IDEKdkZzIHN0IDEKZlllIGVyIDEKbG5WIGFuIDEKdVhuIGFuIDEKRW9oIHRoIDEKd2NNIHdhIDEKandLIGlqIDEKR2tlIGVyIDEKdUZxIHF1IDEKWWNnIGNoIDEKeHF5IHF1IDEKYnRNIHRoIDEKakh3IGlqIDEKcWVVIHF1IDEKUWp6IHN6IDEKbnVRIGFuIDEKRmN4IGNoIDEKS3F0IHRoIDEKTHF2IHF1IDEKbXdVIG1lIDEKZlFzIHN0IDEKa1NkIGRlIDEKbll2IGFuIDEKd0dqIGlqIDEKZ3ZaIG5nIDEKbXFOIHF1IDEKRmhwIHRoIDEKcE1xIHF1IDEKZEJoIGNoIDEKYlhrIGthIDEKZnFLIHF1IDEKWXlxIHF1IDEKS3JxIHF1IDEKUm52IGFuIDEKdXVFIHF1IDEKWHN6IHN0IDEKZktiIGJlIDEKeUloIHRoIDEKTmNkIGNoIDEKbUxyIGVyIDEKY1NzIGNoIDEKbGJFIGxlIDEKeGFXIGFuIDEKUnRkIHRoIDEKcmJGIGVyIDEKdmdSIG5nIDEKc2NaIGNoIDEKckhwIGVyIDEKZVl3IGVyIDEKTHhqIGlqIDEKcVJnIG5nIDEKanBOIGlqIDEKcmpXIGVyIDEKbGdLIG5nIDEKbUNjIGNoIDEKZkd1IHF1IDEKeHpUIHN6IDEKd1F3IHdhIDEKa2xKIGxpIDEKY3FrIGNoIDEKbE1oIHRoIDEKcFlzIHN0IDEKaFFrIHRoIDEKSHh6IHN6IDEKZmVZIGVyIDEKZmhGIHRoIDEKZkJtIG1lIDEKZlZ0IHRoIDEKemZoIHRoIDEKc2JUIHN0IDEKZFF5IGRlIDEKRm1jIGNoIDEKdmhMIHRoIDEKSnRiIHRoIDEKVnJ4IGVyIDEKeXFaIHF1IDEKakRtIGlqIDEKbWZWIG1lIDEKb1N4IG9uIDEKSnhnIG5nIDEKd09xIHF1IDEKZEpxIHF1IDEKVnZjIGNoIDEKRXFlIHF1IDEKanFPIHF1IDEKenhJIHN6IDEKcUtmIHF1IDEKZmRXIGRlIDEKY2NNIGNoIDEKZ2NXIGNoIDEKbEZuIGFuIDEKUnZxIHF1IDEKem5OIGFuIDEKemJVIHN6IDEKdE53IHRoIDEKd2pLIGlqIDEKSmJkIGRlIDEKQmZjIGNoIDEKcWVYIGxlIDEKdFhrIHRoIDEKc2xKIGxlIDEKY0tkIGNoIDEKbkNmIGFuIDEKcWdWIG5nIDEKTWh4IHRoIDEKc0tmIHN0IDEKaHFaIHRoIDEKRmR0IHRoIDEKcXpKIHF1IDEKc05uIGFuIDEKdGpXIHRoIDEKeGNOIGNoIDEKZmNKIGNoIDEKZGpVIGRlIDEKWWdoIHRoIDEKd29JIG9uIDEKWXl6IHN6IDEKa1FjIGNoIDEKaGZRIHRoIDEKbnJMIGFuIDEKbFFzIGxlIDEKbXRGIHRoIDEKd2JYIHdhIDEKZ21SIG5nIDEKWnNxIHF1IDEKeXRRIHRoIDEKbWJGIG1lIDEKZmdUIG5nIDEKY1d1IGNoIDEKZ3hHIG5nIDEKaE52IHRoIDEKZGZXIGRlIDEKenJDIGVyIDEKd29YIG9uIDEKd2pUIGlqIDEKUHF3IHF1IDEKdmtmIGthIDEKbkx6IGFuIDEKY2pWIGNoIDEKZmNQIGNoIDEKdmxRIGxlIDEKRmdxIG5nIDEKaGdQIHRoIDEKR3F5IHF1IDEKdEtzIHRoIDEKWGZ2IHZhIDEKeVpxIHF1IDEKeWlaIGluIDEKclh2IGVyIDEKWWN5IGNoIDEKZnZBIHZhIDEKVHFzIHF1IDEKaFp5IHRoIDEKeHdjIGNoIDEKcVZmIHF1IDEKTWhxIHRoIDEKelNqIHN6IDEKdmhRIHRoIDEKdHpYIHRoIDEKR3ZtIHZhIDEKY3FVIGNoIDEKSGhwIHRoIDEKZ1FrIG5nIDEKcHdMIHByIDEKc053IHN0IDEKcUV0IHRoIDEKTnpxIHF1IDEKenNEIHN0IDEKbURnIG5nIDEKUnRxIHRoIDEKakxmIGlqIDEKd1RwIHByIDEKeEpoIHRoIDEKVnFvIHF1IDEKWnFrIHF1IDEKcXFRIHF1IDEKaHJZIHRoIDEKV3FvIHF1IDEKbUl5IG1lIDEKSXBrIGthIDEKeGpDIGlqIDEKbExwIGxlIDEKaHFGIHRoIDEKY1dnIGNoIDEKcVljIHF1IDEKY2pVIGNoIDEKcVhrIHF1IDEKaHFMIHRoIDEKenhUIHN6IDEKZG5YIGFuIDEKekJ0IHRoIDEKUWxzIGxlIDEKa2hDIHRoIDEKdXFYIHF1IDEKWmJmIGJlIDEKaUR4IGxpIDEKWm5wIGFuIDEKSnhxIHF1IDEKanFZIHF1IDEKdmJVIHZhIDEKcVJyIHF1IDEKcXBqIHF1IDEKd2xHIGxlIDEKV2d4IG5nIDEKVnhqIGlqIDEKelN3IHN6IDEKaWhXIHRoIDEKa3pUIHN6IDEKYWVaIGFuIDEKaEtqIHRoIDEKdFdzIHRoIDEKZ0xjIGNoIDEKZ3BLIG5nIDEKeUp6IHN6IDEKR3Z0IHRoIDEKZkVvIG9uIDEKc0tkIHN0IDEKeGhOIHRoIDEKYU1xIGFuIDEKZWhYIHRoIDEKa2ZaIGt1IDEKV3djIGNoIDEKWW16IHN6IDEKVmtkIGRlIDEKYnpEIHN6IDEKWGtnIG5nIDEKVnp6IHN6IDEKeHZWIHZhIDEKcEhoIHRoIDEKcktxIHF1IDEKdm1NIHZhIDEKUXhqIGlqIDEKek5yIGVyIDEKYnFCIHF1IDEKSnF3IHF1IDEKenFCIHF1IDEKWHZtIHZhIDEKbEJmIGxlIDEKcXFCIHF1IDEKZ0NzIG5nIDEKclJnIG5nIDEKUm5tIGFuIDEKTHp3IHN6IDEKaXdOIGluIDEKcGZOIHByIDEKaEN3IHdhIDEKdUh6IHF1IDEKY0xjIGNoIDEKbHdEIGxlIDEKcWpCIHF1IDEKT2p5IGlqIDEKZG1WIGRpIDEKY0N3IGNoIDEKbFhzIGxlIDEKc21SIHN0IDEKbXhPIG1lIDEKSnJ0IHRoIDEKempOIHN6IDEKYkJuIGFuIDEKY3hRIGNoIDEKS2RwIGRlIDEKRGxiIGxlIDEKcHFEIHF1IDEKcXFDIHF1IDEKU3B6IHN6IDEKdENkIHRoIDEKZ2ZQIG5nIDEKdUdqIHF1IDEKeGJFIGJlIDEKWHB2IHZhIDEKWHp0IHRoIDEKZ3FHIHF1IDEKa3FxIHF1IDEKS3ZxIHF1IDEKcVdpIHF1IDEKbXhaIG1lIDEKcW9ZIHF1IDEKU2dmIG5nIDEKY1J2IGNoIDEKV2dpIG5nIDEKZUR4IGVyIDEKY1d3IGNoIDEKdkZxIHF1IDEKS3h2IHZhIDEKaVdwIGluIDEKZlJ4IGZvIDEKd3RCIHRoIDEKc3dXIHN0IDEKZ3JLIG5nIDEKSGZlIGVyIDEKZ2ZaIG5nIDEKeHFYIHF1IDEKb0tqIG9uIDEKdmZxIHF1IDEKcFd3IHByIDEKdVdjIGNoIDEKbENnIG5nIDEKcWtnIHF1IDEKY0RoIHRoIDEKU2Z6IHN6IDEKdVl4IHF1IDEKeHZSIHZhIDEKZUFvIGVyIDEKcFlnIG5nIDEKZFJ4IGRlIDEKaVdkIGluIDEKZ0d4IG5nIDEKYlh6IHN6IDEKa2NQIGNoIDEKaGNKIHRoIDEKbENmIGxlIDEKZ21XIG5nIDEKSGtmIGthIDEKcmhMIHRoIDEKanFQIHF1IDEKclFwIGVyIDEKdkNuIGFuIDEKZFdqIGRlIDEKSHJ4IGVyIDEKc1R6IHN0IDEKYVZ0IHRoIDEKcXdLIHF1IDEKdnZFIHZhIDEKd0twIHByIDEKeGNZIGNoIDEKdnBNIHZhIDEKamxDIGxlIDEKZGxHIGxlIDEKb1RxIHF1IDEKaUxwIGluIDEKeHNMIHN0IDEKbEZ6IGxlIDEKdmhDIHRoIDEKeWxYIGxlIDEKcG1PIG1lIDEKWWNjIGNoIDEKWW5wIGFuIDEKWWJtIG1lIDEKUWxuIGFuIDEKYnhBIGJlIDEKdEZzIHRoIDEKTHF3IHF1IDEKemNVIGNoIDEKdmZLIHZhIDEKdnBRIHZhIDEKRHRmIHRoIDEKYlRqIGlqIDEKVnZ3IHZhIDEKUWJ4IGJlIDEKeldrIHN6IDEKYlN4IGJlIDEKenBLIHN6IDEKd1RiIHdhIDEKbWtDIGthIDEKY1JoIHRoIDEKbkJrIGFuIDEKeEd2IHZhIDEKaG5RIHRoIDEKYXFRIGFuIDEKemhaIHRoIDEKendQIHN6IDEKdnFMIHF1IDEKc2NVIGNoIDEKZ2xTIG5nIDEKcGpFIGlqIDEKcXFEIHF1IDEKbFJ4IGxlIDEKcVZyIHF1IDEKWHVoIHRoIDEKYnJCIGVyIDEKUXljIGNoIDEKU2d4IG5nIDEKZHFrIHF1IDEKYllqIGlqIDEKbVB4IG1lIDEKRmR2IGRlIDEKWG1kIGRlIDEKY1BqIGNoIDEKUHFnIHF1IDEKdlloIHRoIDEKYkp4IGJlIDEKZFF0IHRoIDEKZnhqIGlqIDEKSHdxIHF1IDEKdmdDIG5nIDEKa2pLIGlqIDEKbnJDIGFuIDEKdnFYIHF1IDEKQmdrIG5nIDEKQ2J2IHZhIDEKVXd3IHdhIDEKd2NKIGNoIDEKZ0JmIG5nIDEKelR2IHZhIDEKendYIHN6IDEKbFdnIGxlIDEKcU9zIHF1IDEKZmJCIGJlIDEKeHFHIHF1IDEKalFqIGlqIDEKdm9RIG9uIDEKeWpXIGlqIDEKcXZPIHF1IDEKeGJGIGJlIDEKbld1IGFuIDEKeWpRIGlqIDEKY2pLIGNoIDEKU3huIGFuIDEKeWJYIGJlIDEKZVlnIG5nIDEKQm1uIGFuIDEKZkR0IHRoIDEKalhtIGlqIDEKbk10IHRoIDEKU3hiIGJlIDEKbEhtIGxlIDEKZ2ZZIG5nIDEKbndHIGFuIDEKZ0hsIG5nIDEKV3BtIG1lIDEKd0ZqIGlqIDEKaEdtIHRoIDEKd3dDIHdhIDEKTWxmIGxlIDEKY0piIGNoIDEKYm5DIGFuIDEKRnZwIHZhIDEKdEdjIHRoIDEKZmhaIHRoIDEKVmtoIHRoIDEKandnIG5nIDEKeGJLIGJlIDEKelZxIHF1IDEKcVR6IHF1IDEKdnJEIGVyIDEKZlJ0IHRoIDEKZkZzIHN0IDEKaFdnIHRoIDEKbHpFIGxlIDEKbHdYIGxlIDEKakh5IGlqIDEKUXF0IHRoIDEKRHFpIGluIDEKVHZqIGlqIDEKZ1BiIG5nIDEKZFB6IHN6IDEKemRUIHN6IDEKbXZBIHZhIDEKWnZoIHRoIDEKcWFVIGFuIDEKZndRIHdhIDEKUnN3IHN0IDEKa2xCIGxlIDEKdmxOIGxlIDEKR3Z4IHZhIDEKcGRKIGRlIDEKbGNCIGNoIDEKdlRxIHF1IDEKeWhWIHRoIDEKakx2IGlqIDEKcHpSIHN6IDEKWHl3IHdhIDEKWGxxIHF1IDEKUnF3IHdhIDEKemhQIHRoIDEKc2dUIG5nIDEKZ3BHIG5nIDEKdGtZIHRoIDEKZHFFIHF1IDEKUWNnIGNoIDEKYmZCIGJlIDEKV3B2IHZhIDEKV3hsIGxlIDEKWGJxIHF1IDEKeUZoIHRoIDEKUmZxIHF1IDEKaGhMIHRoIDEKanh6IHN6IDEKYktoIHRoIDEKcHRVIHRoIDEKY1hlIGNoIDEKelhtIHN6IDEKR2h3IHRoIDEKZHpZIHN6IDEKZFhuIGFuIDEKa3hXIGthIDEKdlZyIGVyIDEKSnh1IHVuIDEKYmJYIGJlIDEKclBiIGVyIDEKcUNtIHF1IDEKcWlKIHF1IDEKWGd3IG5nIDEKTmhxIHRoIDEKY0dwIHBvIDEKaFB3IHRoIDEKYlR6IHN6IDEKcUlnIG5nIDEKcEpoIHRoIDEKd2NFIGNoIDEKbUNiIG1lIDEKYkpjIGNoIDEKbnpRIGFuIDEKeXFSIHF1IDEKeEh3IHdhIDEKYndIIHdhIDEKcUNyIHF1IDEKVXFlIHF1IDEKcXhNIHF1IDEKZnBPIHByIDEKa2NOIGNoIDEKeWtWIGthIDEKbVFiIG1lIDEKWXFzIHF1IDEKeVZrIGthIDEKdmJYIHZhIDEKbVRkIGRlIDEKalhvIG9uIDEKd3FKIHF1IDEKa0t0IHRoIDEKZmtTIGthIDEKV3Z6IHN6IDEKSXl2IHZhIDEKaEdrIHRoIDEKRnplIGVyIDEKYmhNIHRoIDEKcXZJIHF1IDEKblhxIGFuIDEKblhjIGFuIDEKa0p0IHRoIDEKTnFjIGNoIDEKWWpjIGNoIDEKRmhiIHRoIDEKanlLIGlqIDEKSnpqIHN6IDEKeXFjIGNoIDEKd21aIG1lIDEKemJGIHN6IDEKc3BxIHF1IDEKZ1BuIGFuIDEKalNnIG5nIDEKZ01oIHRoIDEKZlh0IHRoIDEKRnl3IHdhIDEKRndnIG5nIDEKaG1OIHRoIDEKaE5sIHRoIDEKdHFZIHRoIDEKcEdtIG1lIDEKbVh6IHN6IDEKcVl5IHF1IDEKUm1xIHF1IDEKRHFhIGFuIDEKV2t4IGthIDEKZHBUIGRlIDEKanlKIGlqIDEKSnFqIHF1IDEKd2paIGlqIDEKeE5yIGVyIDEKcUFtIHF1IDEKaEJuIHRoIDEKcXBKIHF1IDEKeWdXIG5nIDEKalhmIGlqIDEKck1sIGVyIDEKemdWIG5nIDEKbkxwIGFuIDEKcEZ4IHByIDEKdHZHIHRoIDEKelFsIGxlIDEKZmRGIGRlIDEKYnhLIGJlIDEKQmN4IGNoIDEKcnBZIGVyIDEKc0piIHN0IDEKS3ZoIHRoIDEKa05xIHF1IDEKekhkIHN6IDEKZHpGIHN6IDEKdEpxIHRoIDEKSGZ2IHZhIDEKdlFkIGRlIDEKcEtqIGlqIDEKZmhWIHRoIDEKcVppIHF1IDEKb2hZIHRoIDEKdnFxIHF1IDEKdG5RIHRoIDEKVnFrIHF1IDEKekpmIHN6IDEKSmt6IHN6IDEKUndmIHdhIDEKenZNIHZhIDEKYnhZIGJlIDEKcFhoIHRoIDEKZlV5IG55IDEKcHZFIHZhIDEKTHBrIGthIDEKZHpWIHN6IDEKeElmIGZvIDEKd1p3IHdhIDEKbnBRIGFuIDEKcFdrIGthIDEKamdRIG5nIDEKSnFyIHF1IDEKZ21YIG5nIDEKamZNIGlqIDEKbFdqIGxlIDEKcGJOIHByIDEKZnZGIHZhIDEKc0RkIHN0IDEKcWRCIHF1IDEKZnJMIGVyIDEKdUhuIGFuIDEKZ3dOIG5nIDEKeUJoIHRoIDEKWnpxIHF1IDEKdkRnIG5nIDEKUWN6IGNoIDEKcXpmIHF1IDEKd0VjIGNoIDEKcHhIIHByIDEKZnFPIHF1IDEKVnFlIHF1IDEKZ2tEIG5nIDEKWGZxIHF1IDEKdVhnIHF1IDEKakN3IGlqIDEKUHp1IHF1IDEKZ1JoIHRoIDEKdnFIIHF1IDEKdnZXIHZhIDEKUmZiIGJlIDEKZ3FKIHF1IDEKdGdPIHRoIDEKd1V5IHdhIDEKSmt3IGthIDEKaFNzIHRoIDEKZ2tXIG5nIDEKUWd5IG5nIDEKZEpiIGRlIDEKcHJGIGVyIDEKYnVYIHF1IDEKY1ZnIGNoIDEKanRVIHRoIDEKZkRjIGNoIDEKWWdjIGNoIDEKS3FyIHF1IDEKVXlwIHByIDEKbEprIGxlIDEKc3hZIHN0IDEKeGZZIGZvIDEKWGt6IHN6IDEKY2daIGNoIDEKY3lYIGNoIDEKZ2JGIG5nIDEKelRrIHN6IDEKaHNVIHRoIDEKdGxXIHRoIDEKWnp2IHN6IDEKa3FFIHF1IDEKbHBRIHBvIDEKcUp1IHVuIDEKaFlpIHRoIDEKemxNIGxlIDEKdkR0IHRoIDEKSHZuIGFuIDEKTnNmIHN0IDEKYkpnIG5nIDEKZk5nIG5nIDEKa1FvIG9uIDEKS3FwIHF1IDEKYktzIHN0IDEKbUhwIG1lIDEKVXlqIGlqIDEKY3hZIGNoIDEKeUllIGVyIDEKcVRqIHF1IDEKd2ZQIHdhIDEKZnhJIGZvIDEKdlFhIGFuIDEKZnZOIHZhIDEKcHdOIHByIDEKdmFRIGFuIDEKbXhRIG1lIDEKYmRWIGRlIDEKQ2dqIG5nIDEKeGp6IHN6IDEKV3F3IHF1IDEKd3BPIHByIDEKd29RIG9uIDEKeFlqIGlqIDEKZnBUIHByIDEKbE5wIGxlIDEKcHZYIHZhIDEKcExwIHByIDEKS3NnIG5nIDEKcldnIG5nIDEKaVV5IGluIDEKYmZYIGJlIDEKeHNWIHN0IDEKWG5qIGFuIDEKZG1XIGRlIDEKb1F3IG9uIDEKWnh5IG55IDEKT2F5IGFuIDEKcGpHIGlqIDEKWmJ0IHRoIDEKSHFsIHF1IDEKWnhxIHF1IDEKaldkIGRlIDEKcVVwIHF1IDEKcXhOIHF1IDEKcUNvIHF1IDEKWWZkIGRlIDEKdnZVIHZhIDEKdklrIGthIDEKRGZqIGlqIDEKWm1oIHRoIDEKQ3F0IHRoIDEKdlFmIHZhIDEKTmJuIGFuIDEKdEpzIHRoIDEKRmh4IHRoIDEKZHpRIHN6IDEKellqIGlqIDEKcUJ3IHF1IDEKdmNWIGNoIDEKZ0d0IHRoIDEKaVZ3IGluIDEKRnpwIHN6IDEKYmpIIGlqIDEKY3VZIGNoIDEKandTIGlqIDEKQ3FwIHF1IDEKeUp2IHZhIDEKa2RKIGRlIDEKa2RUIGRlIDEKbnFCIGFuIDEKaFdzIHRoIDEKcXNqIHF1IDEKaEx3IHRoIDEKaGRYIHRoIDEKY2dWIGNoIDEKdFljIHRoIDEKZVp4IGVyIDEKaGZOIHRoIDEKZ3Z3IG5nIDEKYVZwIGFuIDEKZ01zIG5nIDEKUGJmIGJlIDEKbVFmIG1lIDEKeVVpIGluIDEKdkdmIHZhIDEKeGdGIG5nIDEKenZZIHN6IDEKd3JBIGVyIDEKeXJNIGVyIDEKdk1qIGlqIDEKVXl2IHZhIDEKZExwIGRlIDEKR2pqIGlqIDEKekVpIGluIDEKWGRnIG5nIDEKakhmIGlqIDEKb1B6IG9uIDEKeEl6IHN6IDEKYkNiIGJlIDEKRHpxIHF1IDEKWWpuIGFuIDEKZ0d6IG5nIDEKbWpVIGlqIDEKQ2p4IGlqIDEKeEtjIGNoIDEKbXZPIHZhIDEKUHpiIHN6IDEKY3JLIGNoIDEKeGhPIHRoIDEKeWxCIGxlIDEKbERrIGxlIDEKemxPIGxlIDEKcGdIIG5nIDEKdlFiIHZhIDEKc2RaIHN0IDEKa1FtIGthIDEKbFJoIHRoIDEKb1F5IG9uIDEKdHdDIHRoIDEKQmRqIGlqIDEKUWpnIG5nIDEKZG5QIGFuIDEKTm5wIGFuIDEKcWlQIHF1IDEKQ2NqIGNoIDEKdUh0IHRoIDEKcUx4IHF1IDEKUXNmIHN0IDEKZkt4IGZvIDEKZmtFIGthIDEKamxYIGxlIDEKalpiIGlqIDEKVndqIGlqIDEKemJBIHN6IDEKSGhkIHRoIDEKY2JZIGNoIDEKSWtmIGthIDEKR3J4IGVyIDEKanBQIGlqIDEKUWZoIHRoIDEKeGhXIHRoIDEKd21YIG1lIDEKYUpiIGFuIDEKc2ZPIHN0IDEKcVhxIHF1IDEKbVhnIG5nIDEKYm5WIGFuIDEKWXB3IHByIDEKekN5IHN6IDEKbGhOIHRoIDEKclhuIGFuIDEKZkdoIHRoIDEKV3hxIHF1IDEKY3hUIGNoIDEKWnNnIG5nIDEKdUd2IHF1IDEKYnpNIHN6IDEKempTIHN6IDEKZGZTIGRlIDEKZ3BIIG5nIDEKcWdPIG5nIDEKa3FGIHF1IDEKcWZVIHF1IDEKcVRwIHF1IDEKdlpiIHZhIDEKRWp3IGlqIDEKelFuIGFuIDEKZ1l6IG5nIDEKa2pWIGlqIDEKZldsIGxlIDEKZlJrIGthIDEKdVNqIHF1IDEKQ3hnIG5nIDEKTGN2IGNoIDEKYnpLIHN6IDEKd3FGIHF1IDEKcUpwIHF1IDEKckNqIGVyIDEKcXZzIHF1IDEKbHdOIGxlIDEKeG1SIG1lIDEKYnRDIHRoIDEKa1R4IGthIDEKcWtVIHF1IDEKTGhqIHRoIDEKZEl4IGRlIDEKdnNRIHN0IDEKZ1NkIG5nIDEKd0RsIGxlIDEKVmptIGlqIDEKcG1JIG1lIDEKdldoIHRoIDEKZkt2IHZhIDEKeFB0IHRoIDEKdW9RIHF1IDEKS2doIHRoIDEKZ3dYIG5nIDEKc2dKIG5nIDEKcFdqIGlqIDEKUWZmIGZvIDEKaGtKIHRoIDEKSHFvIHF1IDEKandXIGlqIDEKc1F6IHN0IDEKd1V3IHdhIDEKbUt4IG1lIDEKb1FmIG9uIDEKalZrIGlqIDEKeHdUIHdhIDEKc1RxIHF1IDEKdXFWIHF1IDEKUWxwIGxlIDEKcE1iIHByIDEKeEtqIGlqIDEKYnBYIHByIDEKdlFlIGVyIDEKSmpxIHF1IDEKcUtoIHRoIDEKZmtKIGthIDEKamJRIGlqIDEKbVp3IG1lIDEKWGdjIGNoIDEKdnpVIHN6IDEKcFRtIG1lIDEKcE5xIHF1IDEKcndEIGVyIDEKUWRnIG5nIDEKd3FDIHF1IDEKWXJuIGFuIDEKcXd3IHF1IDEKcXdVIHF1IDEKeHpGIHN6IDEKZmxXIGxlIDEKanpQIHN6IDEKV3hwIHByIDEKckRxIHF1IDEKZEdwIGRlIDEKWnRqIHRoIDEKVXZwIHZhIDEKZUdjIGNoIDEKelpiIHN6IDEKZ1FoIHRoIDEKdEZkIHRoIDEKTXFnIG5nIDEKZG5EIGFuIDEKaHZZIHRoIDEKSXliIGJlIDEKZkR6IHN6IDEKS2JqIGlqIDEKdlltIHZhIDEKV3hyIGVyIDEKS3d6IHN6IDEKaHJRIHRoIDEKeUN0IHRoIDEKSHh3IHdhIDEKaEVmIHRoIDEKYmRVIGRlIDEKc0dqIHN0IDEKR3d0IHRoIDEKYlloIHRoIDEKem1VIHN6IDEKcERtIHBvIDEKcW1DIHF1IDEKZFRkIGRlIDEKUXhxIHF1IDEKdVZmIHF1IDEKcUFsIHF1IDEKakVhIGFuIDEKS3B5IHByIDEKSHF2IHF1IDEKZkNrIGthIDEKYXFaIGFuIDEKbFVvIG9uIDEKUHZvIG9uIDEKRHFmIHF1IDEKZ2RNIG5nIDEKZnpMIHN6IDEKQmhoIHRoIDEKZEdkIGRlIDEKd3RZIHRoIDEKcVR5IHF1IDEKVXhyIGVyIDEKVnZtIHZhIDEKdkhoIHRoIDEKcVpjIGNoIDEKZmhDIHRoIDEKeGRaIGRlIDEKaFpwIHRoIDEKUG16IHN6IDEKY2ZUIGNoIDEKcGpJIGlqIDEKbWRaIGRlIDEKamtRIGlqIDEKU2RqIGRlIDEKaERmIHRoIDEKZUpqIGVyIDEKd2pZIGlqIDEKekxtIHN6IDEKZUZzIGVyIDEKd2dqIG5nIDEKWm1rIGthIDEKbHZKIGxlIDEKeFltIG1lIDEKTnpmIHN6IDEKd0ppIGluIDEKeVFzIHN0IDEKcGZNIHByIDEKZGhSIHRoIDEKY21LIGNoIDEKZGhNIHRoIDEKcUdiIHF1IDEKd3ZRIHZhIDEKQ2dxIG5nIDEKSmZjIGNoIDEKYmtEIGthIDEKZmRTIGRlIDEKSXZwIHZhIDEKR2tqIGlqIDEKekl2IHN6IDEKQnpsIGxlIDEKZ0JiIG5nIDEKVHBqIGlqIDEKdnlZIHZhIDEKVXhzIHN0IDEKa3dXIGthIDEKZ1BmIG5nIDEKcHFDIHF1IDEKY1RqIGNoIDEKeXpJIHN6IDEKWXBoIHRoIDEKYnZEIHZhIDEKeENjIGNoIDEKcGNRIGNoIDEKZlp3IHdhIDEKWnhmIGZvIDEKd2JBIHdhIDEKYlRmIGJlIDEKcnhSIGVyIDEKcXFFIHF1IDEKeUZwIHByIDEKcE5mIHByIDEKa012IGthIDEKdlVxIHF1IDEKd09oIHRoIDEKaHhIIHRoIDEKWHFoIHRoIDEKdUl1IHF1IDEKRnpxIHF1IDEKWXNkIHN0IDEKb2pZIG9uIDEKY0VvIGNoIDEKbHdSIGxlIDEKcWpGIHF1IDEKalRwIGlqIDEKeXpUIHN6IDEKamZPIGlqIDEKcVNnIG5nIDEKTmNrIGNoIDEKaHdGIHRoIDEKR21xIHF1IDEKSWlxIHF1IDEKendFIHN6IDEKcVF2IHF1IDEKeFZkIGRlIDEKWXdxIHF1IDEKc0Z4IHN0IDEKZnZCIHZhIDEKcVllIGxlIDEKZ3dUIG5nIDEKV2p4IGlqIDEKYkhuIGFuIDEKZk1uIGFuIDEKZ0pnIG5nIDEKVmtnIG5nIDEKRnh2IHZhIDEKbEh2IGxlIDEKV3BrIGthIDEKeEFxIHF1IDEKcnhCIHByIDEKeHVRIHF1IDEKcEliIHByIDEKYmZFIGJlIDEKZ1J4IG5nIDEKQnBiIHByIDEKYnhOIGJlIDEKa2dVIG5nIDEKUHhjIGNoIDEKY0NxIGNoIDEKTnBiIHByIDEKbHhFIGxlIDEKbEN5IGxlIDEKZGdYIG5nIDEKeExmIGZvIDEKYlF0IHRoIDEKcWdGIG5nIDEKcHhaIHByIDEKcFB4IHByIDEKaVl6IGluIDEKdkpsIGxlIDEKa1RmIGthIDEKcVZtIHF1IDEKZ3dTIG5nIDEKelRkIHN6IDEKcFFrIGthIDEKeEVnIG5nIDEKZnBQIHByIDEKcWp3IHF1IDEKT3l3IHdhIDEKbWNPIGNoIDEKVmpkIGRlIDEKcWRnIG5nIDEKTGZwIHByIDEKdlpjIGNoIDEKbk9xIGFuIDEKcWpuIGFuIDEKc0tjIGNoIDEKd2dVIG5nIDEKaGdYIHRoIDEKZE12IGRlIDEKWGNwIGNoIDEKRnd6IHN6IDEKcHdBIHByIDEKTHBqIGlqIDEKYmtQIGthIDEKdkhuIGFuIDEKSmp5IGlqIDEKbUNxIHF1IDEKd3ZNIHZhIDEKSWNiIGNoIDEKa2ZKIGthIDEKaHNRIHRoIDEKZFdkIGRlIDEKZlVzIHN0IDEKZkxuIGFuIDEKcGpOIGlqIDEKemdRIG5nIDEKakxqIGlqIDEKenFFIHF1IDEKUW12IHZhIDEKWmpyIGVyIDEKWmtwIGthIDEKaXlIIGluIDEKd3VZIHF1IDEKbXpUIHN6IDEKY3dLIGNoIDEKYkNtIG1lIDEKeWRHIGRlIDEKeGRVIGRlIDEKd1RmIHdhIDEKbEhoIHRoIDEKcXlEIHF1IDEKeGxWIGxlIDEKcXlUIHF1IDEKdFduIHRoIDEKck16IGVyIDEKcFh2IHZhIDEKWGJ6IHN6IDEKa0htIGthIDEKY1ZkIGNoIDEKcXpIIHF1IDEKeWROIGRlIDEKcU1iIHF1IDEKeWpTIGlqIDEKZ21DIG5nIDEKeklpIGluIDEKZnBNIHByIDEKbGNaIGNoIDEKcUhuIGFuIDEKSmpkIGRlIDEKamxHIGxlIDEKcWNLIGNoIDEKeFFtIG1lIDEKdklpIGluIDEKd0JwIHByIDEKd2NJIGNoIDEKZEpkIGRlIDEKUWJuIGFuIDEKQmpmIGlqIDEKZHBZIGRlIDEKZGNGIGNoIDEKeFNqIGlqIDEKaVhqIGluIDEKUWdiIG5nIDEKZ0R0IHRoIDEKeHhxIHF1IDEKeGNRIGNoIDEKU3FzIHF1IDEKUW1nIG5nIDEKZ2NVIGNoIDEKQnZ2IHZhIDEKcHpFIHN6IDEKd3RUIHRoIDEKdmJMIHZhIDEKYkN0IHRoIDEKUXBvIG9uIDEKbVhzIG1lIDEKWnFyIHF1IDEKR2t5IGthIDEKWG1yIGVyIDEKTG56IGFuIDEKdllxIHF1IDEKeVJsIGxlIDEKZ21LIG5nIDEKdndQIHZhIDEKZUZnIG5nIDEKTmpkIGRlIDEKa2xHIGxlIDEKaGJFIHRoIDEKa1d6IHN6IDEKcXBNIHF1IDEKb1pjIGNoIDEKalJtIGlqIDEKd1hsIGxlIDEKaXlEIGluIDEKZnZMIHZhIDEKclB3IGVyIDEKZmRSIGRlIDEKaVNnIG5nIDEKZGJRIGRlIDEKeHhRIHhlIDEKRGpjIGNoIDEKeWdLIG5nIDEKUmhiIHRoIDEKemdHIG5nIDEKWWt5IGthIDEKQ3hqIGlqIDEKd1drIGthIDEKbG1ZIGxlIDEKcXJCIHF1IDEKeXdLIHdhIDEKeHFJIHF1IDEKVHdqIGlqIDEKWGdxIG5nIDEKZHdaIGRlIDEKblFsIGFuIDEKR2hjIHRoIDEKcG5IIGFuIDEKdm1VIHZhIDEKcXFLIHF1IDEKY2pCIGNoIDEKZ3pTIG5nIDEKUnd6IHN6IDEKZ1lyIG5nIDEKRmd4IG5nIDEKd2RLIGRlIDEKaHhaIHRoIDEKeFV4IHhlIDEKd21UIG1lIDEKeVlrIGthIDEKZmNEIGNoIDEKaFZ2IHRoIDEKU2d2IG5nIDEKelBuIGFuIDEKdlliIHZhIDEKYnpFIHN6IDEKd2hWIHRoIDEKcU56IHF1IDEKd3RTIHRoIDEKdmhZIHRoIDEKbkxmIGFuIDEKTGZ3IHdhIDEKZ1ZjIGNoIDEKZ2tTIG5nIDEKSnFiIHF1IDEKaFd4IHRoIDEKemdPIG5nIDEKdGdYIHRoIDEKalBiIGlqIDEKV3hiIGJlIDEKZ3F3IG5nIDEKQ2Z3IHdhIDEKd29VIG9uIDEKeWNKIGNoIDEKa3dEIGthIDEKU2JwIHByIDEKcWN3IGNoIDEKSHdyIGVyIDEKYm1MIG1lIDEKZ3daIG5nIDEKeUtqIGlqIDEKZlh2IHZhIDEKaUt4IGluIDEKbFJ6IGxlIDEKY0hqIGNoIDEKZkZ0IHRoIDEKc0p2IHN6IDEKeG1JIG1lIDEKY0NkIGNoIDEKaVlkIGluIDEKeWZZIG55IDEKeGJZIGJlIDEKYm1FIG1lIDEKZkJ2IHZhIDEKZEh3IGRlIDEKeWNSIGNoIDEKd3ZMIHZhIDEKcmpMIGVyIDEKc1l2IHN6IDEKV3BuIGFuIDEKenhCIHN6IDEKeUJxIHF1IDEKZ2RKIG5nIDEKWWpvIG9uIDEKZnBRIHByIDEKcU9xIHF1IDEKV2pmIGlqIDEKcWNUIGNoIDEKTGZoIHRoIDEKY0ZqIGNoIDEKbE1xIHF1IDEKd1NmIHdhIDEKd1FjIGNoIDEKekR5IHN6IDEKcXJsIHF1IDEKcFl3IHByIDEKVm5mIGFuIDEKSGNqIGNoIDEKemRVIHN6IDEKYnZQIHZhIDEKWWZqIGlqIDEKUWtuIGFuIDEKd0htIG1lIDEKcVZ2IHF1IDEKZ2tWIG5nIDEKdnBxIHF1IDEKaEZrIHRoIDEKZldmIGZvIDEKcFlxIHF1IDEKZE52IGRlIDEKV3dqIGlqIDEKRm14IG1lIDEKbURsIGxlIDEKak1nIG5nIDEKZlprIGthIDEKak5wIGlqIDEKcWhmIHRoIDEKVmJnIG5nIDEKbEt4IGxlIDEKaVp4IGluIDEKc2pUIHN6IDEKaWpZIGluIDEKcXRWIHRoIDEKeVRrIGthIDEKSHB6IHN6IDEKaUdxIHF1IDEKeXFXIHF1IDEKaGdGIHRoIDEKbUZrIGthIDEKT3F3IHF1IDEKZFhhIGFuIDEKWmJxIHF1IDEKbEttIGxlIDEKU3Z6IHN6IDEKektjIGNoIDEKVm16IHN6IDEKbUl4IG1lIDEKZ0tqIG5nIDEKZ1R0IHRoIDEKdmZDIGZvIDEKaEtnIHRoIDEKaFN4IHRoIDEKb0tnIG5nIDEKblFzIGFuIDEKeWlHIGluIDEKcWdNIG5nIDEKa1FnIG5nIDEKQ2pkIGRlIDEKalB5IGlqIDEKWHFlIHF1IDEKUHp5IHN6IDEKRnRxIHRoIDEKZmNFIGNoIDEKbWtMIGthIDEKSHpqIHN6IDEKYlRuIGFuIDEKcVh5IHF1IDEKZG1NIGRlIDEKZFZ4IGRlIDEKVHFuIGFuIDEKeFdqIGlqIDEKcXhRIHF1IDEKZlF4IGZvIDEKdkxsIGxlIDEKUGdrIG5nIDEKZ0hrIG5nIDEKaHhWIHRoIDEKdEp6IHRoIDEKZk16IHN6IDEKSXhiIGJlIDEKQ3l5IG55IDEKcFhmIHByIDEKcExsIGxlIDEKVHdxIHF1IDEKRHR3IHRoIDEKd1JuIGFuIDEKdVhsIHF1IDEKemhxIHRoIDEKd0l2IHZhIDEKY2pMIGNoIDEKcXhIIHF1IDEKbERtIGxlIDEKdFh2IHRoIDEKZ2pDIG5nIDEKWnpkIHN6IDEKdGdUIHRoIDEKaG5QIHRoIDEKS2pjIGNoIDEKZ1Z3IG5nIDEKeGJJIGJlIDEKWnBjIGNoIDEKYmZPIGJlIDEKbVN4IG1lIDEKcWFGIGFuIDEKYVFoIHRoIDEKSGpkIGRlIDEKcVhqIHF1IDEKZnFBIHF1IDEKYnZSIHZhIDEKcVNuIGFuIDEKY2RWIGNoIDEKcFRmIHByIDEKS3pjIGNoIDEKcXRJIHRoIDEKZWdZIG5nIDEKUnh0IHRoIDEKYmhZIHRoIDEKcEdoIHRoIDEKakRnIG5nIDEKZm9ZIG9uIDEKZEtzIHN6IDEKcUp0IHRoIDEKWHd6IHN6IDEKSXhnIG5nIDEKck10IHRoIDEKelh1IHF1IDEKc1F5IHN6IDEKTnB6IHN6IDEKUWZ6IHN6IDEKckxtIGVyIDEKekdtIHN6IDEKd0h6IHN6IDEKdmNZIGNoIDEKa3FaIHF1IDEKakRoIHRoIDEKcWdHIG5nIDEKRHFxIHF1IDEKZm1PIG1lIDEKcWRXIHF1IDEKZE53IGRlIDEKclhqIGVyIDEKSndjIGNoIDEKbURiIG1lIDEKd013IHdhIDEKWWpnIG5nIDEKZmpZIGlqIDEKaUpiIGluIDEKY2RDIGNoIDEKWXhxIHF1IDEKVmJrIGthIDEKRnB4IHByIDEKemhEIHRoIDEKaENzIHRoIDEKZFh3IGRlIDEKa0RkIGRlIDEKdXFUIHVuIDEKQnh3IHdhIDEKQmpxIHF1IDEKakd4IGlqIDEKZlhiIGJlIDEKeWJGIGJlIDEKZHRBIHRoIDEKY1Z2IGNoIDEKQ2JkIGRlIDEKd3RIIHRoIDEKS2RqIGRlIDEKa1BzIHN6IDEKWnZrIGthIDEKeFB2IHZhIDEKd29IIG9uIDEKWHB6IHN6IDEKcVhlIHF1IDEKcFRqIGlqIDEKa3dRIGthIDEKa1pmIGthIDEKVXFqIHF1IDEKeUpoIHRoIDEKaENxIHRoIDEKak1qIGlqIDEKcGhZIHRoIDEKa2JCIGthIDEKR3B6IHN6IDEKc0d6IHN0IDEKZndFIHdhIDEKVHRmIHRoIDEKR3FtIHF1IDEKYnpOIHN6IDEKZmtPIGthIDEKdXpXIHF1IDEKb3hRIG9uIDEKVmdtIG5nIDEKcW1EIHF1IDEKeHFuIGFuIDEKdlJsIGxlIDEKVG5yIGFuIDEKempXIHN6IDEKdndxIHF1IDEKanRXIHRoIDEKcW5MIGFuIDEKeUR4IG55IDEKeGZRIGZvIDEKd3hKIHdhIDEKbnhFIGFuIDEKdlFuIGluIDEKV2toIHRoIDEKeXdEIHdhIDEKcEZmIHByIDEKbGJLIGxlIDEKdkh5IHZhIDEKZ1ZqIG5nIDEKT3FoIHRoIDEKYmNOIGNoIDEKdFdtIHRoIDEKd01jIGNoIDEKbndRIGFuIDEKcW5NIGFuIDEKWnR4IHRoIDEKblFqIGFuIDEKVnh0IHRoIDEKVXhjIGNoIDEKcFd2IHZhIDEKeVJ4IG55IDEKcUt1IHVuIDEKalhnIG5nIDEKanBYIGlqIDEKZGtHIGRlIDEKQm5mIGFuIDEKWWtmIGthIDEKZ2JXIG5nIDEKa2xYIGxlIDEKdmtIIGthIDEKZEtkIGRlIDEKS3BxIHF1IDEKZ3FNIG5nIDEKeUJ6IHN6IDEKclBqIGVyIDEKSHp2IHN6IDEKd1l6IHN6IDEKcUdhIGFuIDEKaklzIHN6IDEKYlVqIGlqIDEKclR0IHRoIDEKbnFJIGFuIDEKamZQIGlqIDEKaFJ0IHRoIDEKeVJyIGVyIDEKampLIGlqIDEKdGZFIHRoIDEKUXN3IHN0IDEKRmNtIGNoIDEKYkptIG1lIDEKdFhxIHRoIDEKZlJsIGxlIDEKZ3FFIG5nIDEKd0dnIG5nIDEKZ0tjIGNoIDEKeVhjIGNoIDEKekJ5IHN6IDEKbFRkIGxlIDEKV3FjIGNoIDEKRnRmIHRoIDEKd2RCIGRlIDEKeG5YIGFuIDEKQnFjIGNoIDEKenFPIHF1IDEKUWRsIGxlIDEKb2pKIG9uIDEKcVpuIGFuIDEKaHpXIHRoIDEKeWxRIGxlIDEKWmJ3IHdhIDEKbXZMIHZhIDEKTGpiIGlqIDEKR3FlIHF1IDEKbWZFIG1lIDEKeFFxIHF1IDEKZkx2IHZhIDEKeEx0IHRoIDEKd0JqIGlqIDEKalVtIGlqIDEKcGRMIGRlIDEKbUp2IHZhIDEKZHhVIGRlIDEKeHFOIHF1IDEKZnBHIHByIDEKdGxPIHRoIDEKd2hMIHRoIDEKa0R4IGthIDEKUnFiIHF1IDEKdXZYIHF1IDEKdmpZIGlqIDEKY3JRIGNoIDEKeHlZIG55IDEKeWhRIHRoIDEKeVljIGNoIDEKTG1nIG5nIDEKSnNxIHF1IDEKR2JqIGlqIDEKYVBiIGFuIDEKZHdKIGRlIDEKWHl2IHZhIDEKdWNKIGNoIDEKZFRmIGRlIDEKbEJiIGxlIDEKaEt6IHRoIDEKamNSIGNoIDEKZVFjIGNoIDEKcVlpIGluIDEKVnRiIHRoIDEKQ2NnIGNoIDEKekFlIGVyIDEKZ3hKIG5nIDEKdXZDIHF1IDEKQmhtIG1hIDEKWmd4IG5nIDEKeXpKIHN6IDEKY3ZKIGNoIDEKeFRrIGthIDEKcWRLIHF1IDEKdndHIHZhIDEKWW14IG1lIDEKb1l3IG9uIDEKalh4IGlqIDEKeXdmIHdhIDEKdlZ4IHZpIDEKUndtIG1lIDEKRHZrIGthIDEKeEt0IHRoIDEKcUxwIHF1IDEKWXl2IHZpIDEKQ3FhIGFuIDEKeFJmIGZvIDEKUXFrIHF1IDEKSnFlIHF1IDEKeVpnIG5nIDEKdnFHIHF1IDEKaGJPIHRoIDEKdVZxIHF1IDEKUmxtIGxlIDEKdVpjIGNoIDEKUHB2IHZhIDEKcFZkIGRlIDEKeVZkIGRlIDEKekpsIGxlIDEKWXpnIG5nIDEKQ3ZxIHF1IDEKcHdTIHByIDEKS2t3IGthIDEKV3Z2IHZhIDEKRmR5IGRlIDEKcHBYIHByIDEKaHZDIHRoIDEKaXdHIGluIDEKckJnIG5nIDEKaEJxIHRoIDEKbllzIGFuIDEKa2NPIGNoIDEKcUVlIHF1IDEKWWJ2IHZhIDEKUXNuIGFuIDEKc3ZDIHN0IDEKcWtEIHF1IDEKUWl3IGluIDEKR3RqIHRoIDEKcUFoIHRoIDEKd1Z5IHdhIDEKYnhUIGJlIDEKUWhzIHRoIDEKdGxYIHRoIDEKaGJBIHRoIDEKUWZiIGJlIDEKeFdsIGxlIDEKeGVWIGVyIDEKcnFHIHF1IDEKdnFaIHF1IDEKakt2IGlqIDEKaVRmIGluIDEKa3dVIGthIDEKaUZxIGluIDEKbWpaIGlqIDEKeGdKIG5nIDEKekxwIHN6IDEKcXNSIHF1IDEKekRqIHN6IDEKcGRGIGRlIDEKd3hOIHdhIDEKd0drIGthIDEKZFVxIHF1IDEKZEp3IGRlIDEKZkNiIGJlIDEKRGh6IHRoIDEKeUlxIHF1IDEKYVFtIGFuIDEKWXpzIHN0IDEKdkhmIHZhIDEKYmpWIGlqIDEKelNxIHF1IDEKV3FzIHF1IDEKanJXIGVyIDEKSHpxIHF1IDEKd1dzIHN0IDEKTWtnIG5nIDEKemdGIG5nIDEKQ25rIGFuIDEKckRnIG5nIDEKZnpCIHN6IDEKZk9tIG1lIDEKdVZ0IHRoIDEKUWZpIGluIDEKTWhqIHRoIDEKdVlqIHF1IDEKUnF4IHF1IDEKaGtZIHRoIDEKd1liIHdhIDEKdHFQIHRoIDEKSnBiIHByIDEKYkd3IHdhIDEKeEZoIHRoIDEKWHdiIHdhIDEKS2d0IHRoIDEKSXFjIGNoIDEKcEptIG1lIDEKUWtxIHF1IDEKYlZoIHRoIDEKeVRxIHF1IDEKelpnIG5nIDEKY0R6IGNoIDEKcWZtIHF1IDEKYWZRIGFuIDEKUXdjIGNoIDEKYmRKIGRlIDEKcVR1IHVuIDEKVWN4IGNoIDEKSG54IGFuIDEKSGJoIHRoIDEKZ3lIIG5nIDEKdFR6IHRoIDEKdHhWIHRoIDEKYmRTIGRlIDEKV2dnIG5nIDEKb3FQIHF1IDEKUnJmIGVyIDEKZ1l5IG5nIDEKZk1zIHN0IDEKZktkIGRlIDEKSHl4IG55IDEKTXh6IHN6IDEKcUhrIHF1IDEKdGZNIHRoIDEKaGdRIHRoIDEKem1PIHN6IDEKd3pTIHN6IDEKandRIGlqIDEKRmhjIGljIDEKeEl5IG55IDEKZkhnIG5nIDEKd3FZIHF1IDEKYkZwIHByIDEKUWRxIHF1IDEKYmhWIHRoIDEKYkNnIG5nIDEKSGdyIG5nIDEKeHFMIHF1IDEKcWdTIG5nIDEKTnFnIG5nIDEKZlF2IHZhIDEKUXp3IHN6IDEKSXhkIGRlIDEKQ3htIG1lIDEKbXhOIG1lIDEKdlFpIGluIDEKY0FxIGNoIDEKZUN4IGVyIDEKbXFYIHF1IDEKcnFZIHF1IDEKZlZwIHByIDEKcW9QIHF1IDEKR3hjIGNoIDEKdnpYIHN6IDEKZlhmIGZvIDEKUXRjIHRoIDEKb2hRIHRoIDEKWWd5IG5nIDEKWG5iIGFuIDEKY1dtIGNoIDEKalh3IGlqIDEKZ1dqIG5nIDEKS21nIG5nIDEKdnZIIHZhIDEKVWV3IGVyIDEKcUprIHF1IDEKSGtkIGRlIDEKeG1QIG1lIDEKc2xSIGlzIDEKVWFxIGFuIDEKemJHIHN6IDEKdk52IHZhIDEKY1ZiIGNoIDEKYkdnIG5nIDEKaXdVIGluIDEKQ253IGFuIDEKclhkIGVyIDEKdld6IHN6IDEKdEdmIHRoIDEKZmJZIGJlIDEKaHpwIHRoIDEKdVd6IHF1IDEKYk1iIGJlIDEKanpXIHN6IDEKZ0xoIHRoIDEKa1pjIGNoIDEKa0hnIG5nIDEKVndmIHdhIDEKdnRZIHRoIDEKcWVBIHF1IDEKY3hHIGNoIDEKdVF6IHF1IDEKakdjIGNoIDEKY3ZBIGNoIDEKb1RtIG9uIDEKcGpZIGlqIDEKYlVvIG9uIDEKandVIGlqIDEKSmdtIG5nIDEKdGZaIHRoIDEKeGVPIGVyIDEKcUJwIHF1IDEKcEJ6IHN6IDEKcVNiIHF1IDEKanlQIGlqIDEKRmtxIHF1IDEKbmpTIGFuIDEKanRBIHRoIDEKWm1mIG1lIDEKWXRtIHRoIDEKUHFjIGNoIDEKYndKIHdhIDEKb1dmIG9uIDEKa3hKIGthIDEKakh4IGlqIDEKZ2NQIGNoIDEKZ0JzIG5nIDEKYmtLIGthIDEKdmRRIGRlIDEKcGpaIGlqIDEKVmdmIG5nIDEKc3ZHIHN0IDEKa0dqIGlqIDEKV2pnIG5nIDEKUW1rIGthIDEKR2x2IGxlIDEKdG1ZIHRoIDEKa2xZIGxlIDEKUGNqIGNoIDEKZlF3IHdpIDEKeGFPIGFuIDEKamZOIGlqIDEKcUd4IHF1IDEKcXZCIHF1IDEKaHdBIHRoIDEKWG1xIHF1IDEKWHZ0IHRoIDEKQnBxIHF1IDEKb0pxIHF1IDEKdm1aIHZhIDEKbkpwIGFuIDEKenFKIHF1IDEKcUhmIHF1IDEKbVFnIG5nIDEKeUd6IHN6IDEKaFFtIHRoIDEKbUJwIG1lIDEKdHBKIHRoIDEKUWtqIGlqIDEKdVVnIG5nIDEKdGRKIHRoIDEKSmZuIGFuIDEKTHZqIGlqIDEKaVhjIGNoIDEKcE9xIHF1IDEKYmhLIHRoIDEKYk1rIGthIDEKRnN3IHN0IDEKcUF0IHRoIDEKeHdKIHdhIDEKZlBtIG1lIDEKRGZ5IG55IDEKWmJwIHByIDEKQmd3IG5nIDEKcFFwIHByIDEKa1FwIGthIDEKcW9WIHF1IDEKVXFkIHF1IDEKallvIG9uIDEKc0RmIHN0IDEKeHVKIHF1IDEKdlJrIGthIDEKUXNnIG5nIDEKeVRkIGRlIDEKUXhyIGVyIDEKSHZjIGNoIDEKaFp0IHRoIDEKcUR1IHVuIDEKZnhBIGZvIDEKeFBmIGZvIDEKd1hjIGNoIDEKakpiIGlqIDEKcGRLIGRlIDEKZ3BXIG5nIDEKUWd4IG5nIDEKa3hHIGthIDEKZEx4IGRlIDEKQnd6IHN6IDEKVmR4IGRlIDEKeVFoIHRoIDEKV3N4IHN0IDEKZlNiIGJlIDEKVWtnIG5nIDEKUGp6IHN6IDEKckZnIG5nIDEKZmpQIGlqIDEKa1d2IGthIDEKS2hmIHRoIDEKeUd2IHZhIDEKcG5EIGFuIDEKallmIGlqIDEKbWdSIG5nIDEKcmpDIGVyIDEKWGpsIGxlIDEKa3pFIHN6IDEKUWdxIG5nIDEKemdiIG5nIDEKbWhEIHRoIDEKdmtPIGthIDEKdXdWIHF1IDEKclBwIGVyIDEKd1hkIGRlIDEKZ0FvIG5nIDEKa3ZHIGthIDEKdmNYIGNoIDEKeE96IHN6IDEKWHpxIHF1IDEKRm11IHF1IDEKeEdnIG5nIDEKampSIGlqIDEKcWtJIGt1IDEKcHFIIHF1IDEKY25IIGFuIDEKZGhUIHRoIDEKbWRSIGRlIDEKZERmIGRlIDEKcUlxIHF1IDEKeENqIGlqIDEKcVJrIHF1IDEKa0tjIGNoIDEKSXV1IHF1IDEKanFSIHF1IDEKcUVrIHF1IDEKaGZPIHRoIDEKcXVKIHVuIDEKblJwIGFuIDEKdHhJIHRoIDEKeWZaIG55IDEKb3FUIGhvIDEKY2dYIGNoIDEKcGJMIHByIDEKWG14IG1lIDEKVmpyIGVyIDEKeWxZIGxlIDEKZGZLIGRlIDEKeGdEIG5nIDEKdXdMIHF1IDEKYlBtIG1lIDEKcUN5IHF1IDEKUnBxIHF1IDEKeXFoIHRoIDEKeEp0IHRoIDEKbHpRIGxlIDEKZmdNIG5nIDEKWWxjIGNoIDEKZlR6IHN6IDEKUmpmIGlqIDEKUmdqIGpvIDEKR2t0IHRoIDEKZnhHIGZvIDEKbXRHIHRoIDEKbGdKIG5nIDEKdGRSIHRoIDEKaUhrIGluIDEKR3F2IHF1IDEKbERqIGxlIDEKd3paIHN6IDEKZEZwIGRlIDEKcVR0IHRoIDEKV3RnIHRoIDEKY2JUIGNoIDEKZHZLIGRlIDEKQ3R3IHRoIDEKbWRHIGRlIDEKdktqIGlqIDEKQ2xmIGxlIDEKd3JVIGVyIDEKZ21UIG5nIDEKYlh4IGJlIDEKek94IHN6IDEKWG5mIGFuIDEKcnpRIGVyIDEKdlFqIGlqIDEKa3BUIGthIDEKZlloIHRoIDEKekxyIGVyIDEKWGdkIG5nIDEKY1psIGNoIDEKbEZ5IGxlIDEKWm5nIGFuIDEKYVhnIGFuIDEKcWJFIHF1IDEKemNZIGNoIDEKc3FLIHF1IDEKQmx4IGxlIDEKb3FKIHF1IDEKalB2IGlqIDEKcVpkIHF1IDEKZmRaIGRlIDEKQnFtIHF1IDEKY3BHIGNoIDEKeGRQIGRlIDEKZnVGIHF1IDEKdmJxIHF1IDEKZGhIIHRoIDEKSndtIG1lIDEKcWtPIGtvIDEKZ3NZIG5nIDEKcUdoIHRoIDEKSmt2IGthIDEKenBnIG5nIDEKcndLIGVyIDEKTGhxIHRoIDEKenVWIHF1IDEKYnFWIHF1IDEKUWN2IGNoIDEKbVdkIGRlIDEKY25GIGFuIDEKbFd3IGxlIDEKdHhTIHRoIDEKem5FIGFuIDEKZlRqIGlqIDEKbEZxIHF1IDEKd2RKIGRlIDEKZVZrIGVyIDEKempaIHN6IDEKZlBxIHF1IDEKY3FRIGNoIDEKUGNnIGNoIDEKWWRrIGRlIDEKc3ZFIHN0IDEKV3FiIHF1IDEKYmNWIGNoIDEKbkh4IG9uIDEKd0F4IHdhIDEKaGZCIHRoIDEKYU12IGFuIDEKcHdPIHByIDEKWXd4IHdhIDEKY2JIIGNoIDEKb2paIG9uIDEKc3VVIHF1IDEKamNVIGNoIDEKc3FZIHF1IDEKak1yIGVyIDEKcHhHIHByIDEKckJxIHF1IDEKdmxZIGxlIDEKaHlZIHRoIDEKQ3Z3IHZhIDEKVHFlIHF1IDEKZlNqIGlqIDEKZlZzIHN0IDEKRXFjIGNoIDEKeG5EIGFuIDEKT3dwIHByIDEKeFRiIGJlIDEKd2pMIGlqIDEKUnh2IHZhIDEKbldmIGFuIDEKdkhwIHZhIDEKdkJrIGthIDEKTnF2IHF1IDEKTHpmIHN6IDEKYndTIHdhIDEKQ2J5IGJlIDEKelJyIGVyIDEKcXdKIHF1IDEKeG5CIGFuIDEKcUljIGNoIDEKY0drIGNoIDEKWWppIGluIDEKZ1ZoIHRoIDEKbERjIGNoIDEKUXlyIGVyIDEKZmNIIGNoIDEKbnhCIGFuIDEKZHZ3IGRlIDEKZ1FjIGNoIDEKbXJSIGVyIDEKZm5LIGFuIDEKSGxyIGxlIDEKRG5xIGFuIDEKYm5VIGFuIDEKcUNlIHF1IDEKVGp2IGlqIDEKRXBxIHF1IDEKd0xmIHdhIDEKcFpqIGlqIDEKZ3ZSIG5nIDEKa3FLIHF1IDEKdmxHIGxlIDEKdnZOIHZhIDEKZ2JNIG5nIDEKYk5rIGthIDEKanpMIHN6IDEKV2xxIHF1IDEKYVlxIGFuIDEKemRZIGRlIDEKc2ZHIHN0IDEKcWZXIHF1IDEKa0J2IGthIDEKYnRHIHRoIDEKTXFiIHF1IDEKbHJDIGVyIDEKdnVFIHF1IDEKZnlKIG55IDEKcW1aIHF1IDEKSmtxIHF1IDEKQ21qIGlqIDEKYlh5IGJlIDEKWW15IG1lIDEKcXhZIHF1IDEKY05sIGNoIDEKZnpVIGZvIDEKUnZ0IHRoIDEKeWxJIGxlIDEKeE1zIHN0IDEKUWhtIHRoIDEKZEhxIHF1IDEKZHdMIGRlIDEKdllyIGVyIDEKUXh1IHF1IDEKZE5oIHRoIDEKek5jIGNoIDEKam1QIGlqIDEKUGJxIHF1IDEKZnFqIHF1IDEKZlV3IHdhIDEKSHlxIHF1IDEKUWR4IGRlIDEKelNsIGxlIDEKY1d0IHRoIDEKRmtlIGVyIDEKWnR6IHRoIDEKdVVxIHF1IDEKbkJtIGFuIDEKekp5IHN6IDEKcGRJIGRlIDEKblRkIGFuIDEKWWpiIGlqIDEKUWpuIGFuIDEKeVhqIGlqIDEKeHdCIG93IDEKa2xxIHF1IDEKaGZZIHRoIDEKcERnIG5nIDEKelpkIGRlIDEKbXFPIHF1IDEKaFpyIHRoIDEKY21ZIGNoIDEKZ0xrIG5nIDEKUWNqIGNoIDEKdUtqIHF1IDEKbnFEIGFuIDEKeUt3IHdhIDEKYmZSIGJlIDEKUnF6IHF1IDEKamhRIHRoIDEKdk5qIGlqIDEKVGNmIGNoIDEKSGJuIGFuIDEKTHd2IHZhIDEKd2NaIGNoIDEKY2RLIGNoIDEKYnBSIHByIDEKbFdtIGxlIDEKd05xIHF1IDEKcEFqIGlqIDEKZ3JWIG5nIDEKcW1rIHF1IDEKY0xmIGNoIDEKaXdCIGluIDEKZXFWIHF1IDEKV3F6IHF1IDEKUW5qIGFuIDEKdW9KIHF1IDEKZlZqIGlqIDEKY2JVIGNoIDEKcXBUIHF1IDEKcGRaIGRlIDEKZHpXIGRlIDEKV2Z3IHdhIDEKWnFtIHF1IDEKa0pkIGRlIDEKeldmIHN6IDEKYllnIG5nIDEKcmpRIGVyIDEKZHdCIGRlIDEKVmx4IGxlIDEKektkIGRlIDEKTHh3IHdhIDEKSHB3IHByIDEKbXZSIHZhIDEKcU10IHRoIDEKcFdiIHByIDEKZGNXIGNoIDEKekVoIHRoIDEKWHJzIGVyIDEKRnR6IHRoIDEKcXlMIHF1IDEKalNuIGFuIDEKV3poIHRoIDEKUHpmIHN6IDEKemtXIHN6IDEKeXdZIHdhIDEKb0diIG9uIDEKakJ3IGlqIDEKUXB6IHN6IDEKcldtIGVyIDEKc21RIHN0IDEKdUdrIHF1IDEKeGtWIGthIDEKd0pmIHdhIDEKY2pXIGNoIDEKd054IHdhIDEKd2pSIGlqIDEKd0RkIHdhIDEKbHJCIGVyIDEKcWhKIHRoIDEKaktwIGlqIDEKa05uIGFuIDEKdHFVIHRoIDEKSm1qIGlqIDEKYkp2IHZhIDEKZnJOIGVyIDEKdUJqIHF1IDEKVXV2IHF1IDEKTXp2IHN6IDEKRGpxIHF1IDEKUWdsIGxlIDEKaGRDIHRoIDEKbUZoIHRoIDEKdmpVIGlqIDEKcHJYIGVyIDEKS3ZjIGNoIDEKcnlZIGVyIDEKdnpRIHN6IDEKT2poIHRoIDEKUWZuIGFuIDEKVnFnIG5nIDEKYVF2IGFuIDEKaEh4IHRoIDEKdUlnIG5nIDEKS3B2IHZhIDEKZFFrIGtvIDEKR2hxIHRoIDEKY1pzIGNoIDEKbnZIIGFuIDEKandKIGlqIDEKZE1tIGRlIDEKZ2pJIG5nIDEKbFBnIG5nIDEKcUJzIHF1IDEKVmhxIHRoIDEKcUx0IHRoIDEKaEJkIHRoIDEKVmN1IGNoIDEKY1FkIGNoIDEKeXBYIHByIDEKbVF2IHZhIDEKdm1SIHZhIDEKeGZIIGZvIDEKcHFZIHF1IDEKWHRiIHRoIDEKVmN4IGNoIDEKdFdiIHRoIDEKUHhhIGFuIDEKUW1yIGVyIDEKbWRYIGRlIDEKQnh0IHRoIDEKalp2IGlqIDEKaE5wIHRoIDEKeWJOIGJlIDEKYmtaIGthIDEKblZmIGFuIDEKbEtxIHF1IDEKb0pqIG9uIDEKcEJ2IHZhIDEKaGdBIHRoIDEKcXhFIHF1IDEKbnZKIGFuIDEKWGNmIGNoIDEKRmRiIGRlIDEKekFvIG9uIDEKd1FrIGthIDEKdG1YIHRoIDEKcHZaIHZhIDEKZk53IHdhIDEKektrIHN6IDEKaFJ4IHRoIDEKVGxqIGxlIDEKaVFqIGluIDEKam1VIGlqIDEKdGJXIHRoIDEKd1ZoIHRoIDEKVHZoIHRoIDEKblZnIGFuIDEKTHhwIHByIDEKdmdPIG5nIDEKZGZFIGRlIDEKblZtIGFuIDEKcUt5IHF1IDEKZXFaIHF1IDEKVGNjIGNoIDEKY1RrIGNoIDEKZkt6IHN6IDEKV2t6IHN6IDEKbHZaIGxlIDEKckdwIGVyIDEKa0t6IHN6IDEKQ2JmIGJlIDEKalFkIGRlIDEKWmZjIGNoIDEKaHZYIHRoIDEKeGdOIG5nIDEKS3BlIGVyIDEKaHpNIHRoIDEKanhaIGlqIDEKeXFMIHF1IDEKcGdDIG5nIDEKRnFkIHF1IDEKdE1iIHRoIDEKbmpRIGFuIDEKdGZCIHRoIDEKZ2pOIG5nIDEKd05jIGNoIDEKUHpqIHN6IDEKbWhPIHRoIDEKcVVtIHF1IDEKRmhoIHRoIDEKU2pkIGRlIDEKaFdqIHRoIDEKeWhMIHRoIDEKbEdwIGxlIDEKZHRYIHRoIDEKaHdYIHRoIDEKc3JLIGVyIDEKdnFFIHF1IDEKYmNPIGNoIDEKeFFsIGxlIDEKUXFmIHF1IDEKa0pnIG5nIDEKcFh6IHN6IDEKeXVKIHF1IDEKR25wIGFuIDEKRGxjIGNoIDEKTXhmIGZvIDEKeU5yIGVyIDEKYm1WIG1lIDEKZlhvIG9uIDEKbXdXIG1lIDEKbElqIGxlIDEKRnZxIHF1IDEKVXRxIHRoIDEKakdrIGlqIDEKd1l3IHdhIDEKd1ZtIG1lIDEKYlRxIHF1IDEKSWpwIGlqIDEKem5NIGFuIDEKeG1PIG1lIDEKZ1F4IG5nIDEKZEt3IGRlIDEKZFVmIGRlIDEKY1NiIGNoIDEKelZiIHN6IDEKY2NZIGNoIDEKeGpFIGlqIDEKcFl0IHRoIDEKVnJxIHF1IDEKa3pLIHN6IDEKemZDIHN6IDEKWWJoIHRoIDEKZGdTIG5nIDEKeGNWIGNoIDEKeE5tIG1lIDEKWGt3IGthIDEKVHB3IHByIDEKQndkIGRlIDEKaHdUIHRoIDEKZ1FsIG5nIDEKY0RzIGNoIDEKellyIGVyIDEKeFRwIHByIDEKcVdtIHF1IDEKeGpUIGlqIDEKaGpLIHRoIDEKdURjIGNoIDEKeGhTIHRoIDEKYldkIGRlIDEKdkN3IHZhIDEKanlCIGlqIDEKdVdkIHF1IDEKTm5xIHF1IDEKUXZiIHZhIDEKanpWIHN6IDEKekJ4IHN6IDEKd0lqIGlqIDEKcVJ0IHRoIDEKcXJKIHF1IDEKelpqIHN6IDEKa1JyIGVyIDEKTnp2IHN6IDEKUWZ3IHdhIDEKTmp0IHRoIDEKYkZ5IGJlIDEKbGhZIHRoIDEKZVdqIGVyIDEKamJNIGlqIDEKWHNnIG5nIDEKUnNkIGRlIDEKZmxGIGxlIDEKUGh6IHRoIDEKeFdzIHN0IDEKYkN3IHdhIDEKZ2ZKIG5nIDEKcVZvIHF1IDEKZVFoIHRoIDEKdmNQIGNoIDEKbURqIGlqIDEKcVRzIHF1IDEKWGdzIG5nIDEKVnVxIHF1IDEKdWZOIHF1IDEKeEJzIHN0IDEKcFRrIGthIDEKZlNxIHF1IDEKbWJEIG1lIDEKVnd6IHN6IDEKaGhRIHRoIDEKa2ZQIGthIDEKUHdxIHF1IDEKZGhHIHRoIDEKcVpqIHF1IDEKeVJqIGlqIDEKeUNzIHN0IDEKZmpOIGlqIDEKUnFnIG5nIDEKakpoIHRoIDEKZGxSIGxlIDEKWG1iIG1lIDEKSmp0IHRoIDEKZ3FJIG5nIDEKZnFNIHF1IDEKaVZnIG5nIDEKSGd1IG5nIDEKaUh3IGluIDEKZVF2IGVyIDEKbXpFIHN6IDEKZmpaIGlqIDEKcU5uIGFuIDEKd2xFIGxlIDEKa0dwIGthIDEKSXF2IHF1IDEKa0JuIGFuIDEKeFpkIGRlIDEKRGtjIGNoIDEKemxIIGxlIDEKdHhCIHRoIDEKdFFyIHRoIDEKdU94IHF1IDEKcEppIGluIDEKemJMIHN6IDEKeGtEIGthIDEKc2NWIGNoIDEKcVhoIHRoIDEKa0lxIHF1IDEKeE5uIGFuIDEKZ0pmIG5nIDEKdG1CIHRoIDEKdGNLIHRoIDEKa3daIGthIDEKdVpqIHF1IDEKc25RIGFuIDEKdUtxIHF1IDEKY3JYIGNoIDEKaFh5IHRoIDEKWmNjIGNoIDEKUGZ6IHN6IDEKZHdNIGRlIDEKcUl5IHF1IDEKeHVQIHF1IDEKd0R3IHdhIDEKSGpyIGVyIDEKZFFmIGRlIDEKd3ZKIHdhIDEKdEhtIHRoIDEKWWR3IGRlIDEKd3hJIHdhIDEKcE92IHZhIDEKV21xIHF1IDEKZGhEIHRoIDEKcXB3IHF1IDEKYm1DIG1lIDEKd2NYIGNoIDEKd2pIIGlqIDEKYldmIGJlIDEKR2RwIGRlIDEKTGR3IGRlIDEKU2JxIHF1IDEKdlp2IHZhIDEKS3diIHdhIDEKcWhUIHRoIDEKeVJmIG55IDEKaHdDIHRoIDEKbnBKIGFuIDEKam1WIGlqIDEKdkdnIG5nIDEKeHFGIHF1IDEKUGhtIHRoIDEKcFdjIGNoIDEKVnhrIGthIDEKc0h6IHN0IDEKV2J4IGJlIDEKYmZLIGJlIDEKSmdsIG5nIDEKa1RiIGthIDEKS2JmIGJlIDEKa3pDIHN6IDEKcEtxIHF1IDEKendCIHN6IDEKdVpnIG5nIDEKYnRJIHRoIDEKelhqIHN6IDEKdXpTIHF1IDEKdldrIGthIDEKeHJIIGVyIDEKb1FjIGNoIDEKemxUIGxlIDEKZGZJIGRlIDEKUW1mIG1lIDEKc2dFIG5nIDEKWXN4IHN0IDEKUnpkIGRlIDEKeExkIGRlIDEKcXNYIHF1IDEKa3FKIHF1IDEKa0NtIGthIDEKYkZtIG1lIDEKaWdRIG5nIDEKc1JxIHF1IDEKakdtIGlqIDEKU3pzIHN0IDEKWXZ6IHN6IDEKa1h6IHN6IDEKR256IGFuIDEKbVdjIGNoIDEKdERxIHRoIDEKZ3F6IG5nIDEKbkhiIG5nIDEKdGRNIHRoIDEKT3Z4IHZhIDEKWm5sIGFuIDEKd3VFIHF1IDEKekx0IHRoIDEKb2ZRIG9uIDEKdllqIGlqIDEKanlIIGlqIDEKenFBIHF1IDEKY0p5IGNoIDEKV2JmIGJlIDEKbFR0IHRoIDEKa2xXIGxlIDEKWHhhIGFuIDEKZkN6IHN6IDEKbEtmIGxlIDEKcXdUIHF1IDEKckhrIGVyIDEKZGJOIGRlIDEKdVV5IHF1IDEKemdOIG5nIDEKUHhnIG5nIDEKcE5jIGNoIDEKY3lKIGNoIDEKanBIIGlqIDEKVnRmIHRoIDEKc2pKIHN0IDEKUWxoIHRoIDEKdHdWIHRoIDEKeUdxIHF1IDEKdFZwIHRoIDEKa3NRIHN0IDEKeG5UIGFuIDEKcnBKIGVyIDEKd3pJIHN6IDEKWmhwIHRoIDEKYURmIGFuIDEKVXhqIGlqIDEKY1BnIGNoIDEKcVNxIHF1IDEKbUtxIHF1IDEKdkJ6IHN6IDEKeVBqIGlqIDEKVmt6IHN6IDEKcWlCIHF1IDEKdGtKIHRoIDEKT3VxIHF1IDEKem9IIG9uIDEKcVZ0IHRoIDEKR3hzIHN0IDEKanpGIHN6IDEKc3dIIHN0IDEKbkJiIGFuIDEKemhRIHRoIDEKeVJuIGFuIDEKZm5YIGFuIDEKcW9RIHF1IDEKbXhQIG1lIDEKYndSIHdhIDEKZ0pqIG5nIDEKcW5rIGFuIDEKdE1rIHRoIDEKZHhPIGRlIDEKcnpWIGVyIDEKdnBQIHZhIDEKTnZ6IHN6IDEKTmZwIHByIDEKQ256IGFuIDEKb1RkIG9uIDEKZHFHIHF1IDEKSG14IG1lIDEKcHNYIHN0IDEKc3dNIHN0IDEKZHFDIHF1IDEKVnd4IHdhIDEKblhmIGFuIDEKd2tZIGthIDEKd2ZDIHdhIDEKcVNyIHF1IDEKcVZjIGNoIDEKa0RuIGFuIDEKWXZiIHZhIDEKenFIIHF1IDEKcXhKIHF1IDEKektqIHN6IDEKamNOIGNoIDEKdFdrIHRoIDEKUnJ6IGVyIDEKYm1HIG1lIDEKc3JaIGVyIDEKd1dxIHF1IDEKQ2ZoIHRoIDEKbE50IHRoIDEKaGNWIHRoIDEKWm5mIGFuIDEKSmh2IHRoIDEKcUlwIHF1IDEKdlN6IHN6IDEKZmVVIGVyIDEKeElpIGluIDEKWm1xIHF1IDEKZUdmIGVyIDEKYlFrIGthIDEKWGNiIGNoIDEKbmxLIGFuIDEKdG1KIHRoIDEKamxMIGxlIDEKbXdDIG1lIDEKcWpyIHF1IDEKekJiIHN6IDEKZmhVIHRoIDEKc1BxIHF1IDEKc0JmIHN0IDEKdVh5IHF1IDEKTGt4IGthIDEKckd6IGVyIDEKaFh6IHRoIDEKenVXIHF1IDEKUnZ4IHZhIDEKYmNKIGNoIDEKRW9qIG9uIDEKaVZ0IGluIDEKeWhIIHRoIDEKeFZ2IHZhIDEKcE1yIGVyIDEKdlpkIGRlIDEKVnZuIGFuIDEKaUN2IGluIDEKdlFwIHZhIDEKdmxCIGxlIDEKd1Z0IHRoIDEKVWdrIG5nIDEKa3RRIHRoIDEKakNyIGVyIDEKcXZ6IHF1IDEKYlZmIGJlIDEKclB2IGVyIDEKd2ZIIHdhIDEKaGJVIHRoIDEKcGpGIGlqIDEKb1hnIG5nIDEKelNyIGVyIDEKd1JiIHdhIDEKSGN1IGNoIDEKeXhKIG55IDEKbFRjIGNoIDEKYlliIGJlIDEKV3h6IHN6IDEKdnJFIGVyIDEKekd5IHN6IDEKSnFtIHF1IDEKcnpJIGVyIDEKeGdWIGdpIDEKUnZ3IHZhIDEKVm54IGFuIDEKdUpnIG5nIDEKaEZxIHRoIDEKVGd6IG5nIDEKYVFjIGFuIDEKeHpKIHN6IDEKdE5jIHRoIDEKamZBIGlqIDEKeWNPIGNoIDEKV2tqIGlqIDEKeUJwIHByIDEKaGdEIHRoIDEKaVN4IGluIDEKeENtIG1lIDEKeWpYIGlqIDEKdUloIHRoIDEKcWdxIG5nIDEKVHpqIHN6IDEKeWpPIGlqIDEKeXJZIGVyIDEKYm1aIG1lIDEKenFUIHF1IDEKbUJkIGRlIDEKcXZLIHF1IDEKemNBIGNoIDEKeHJYIGVyIDEKbUptIG1lIDEKWHFmIHF1IDEKUHhrIGthIDEKYURiIGFuIDEKcVhnIG5nIDEKZUd3IGVyIDEKaGpEIHRoIDEKdFR4IHRoIDEKb01kIG9uIDEKZktnIG5nIDEKTnBuIGFuIDEKa3FVIHF1IDEKbGJGIGxlIDEKSHZqIGlqIDEKcVplIHF1IDEKbFFqIGxlIDEKZGtZIGRlIDEKZFpsIGxlIDEKelpoIHRoIDEKcXlNIHF1IDEKZG1KIGRlIDEKa2ZLIGthIDEKaVBxIHF1IDEKendVIHN6IDEKcHZTIHZhIDEKaWhKIHRoIDEKdWNXIGNoIDEKSmp6IHN6IDEKbU1kIGRlIDEKdnB3IHZhIDEKeENnIG5nIDEKaEtzIHRoIDEKdmxJIGxlIDEKTm1jIGNoIDEKeHpWIHN6IDEKZ1pzIG5nIDEKclJwIGVyIDEKVWZkIGRlIDEKZnBGIHByIDEKZndZIHdhIDEKR3hyIGVyIDEKeExyIGVyIDEKdnpFIHN6IDEKalJmIGlqIDEKYnJSIGVyIDEKZ2taIG5nIDEKZFV5IGRlIDEKWGppIGluIDEKS2RiIGRlIDEKanBDIGlqIDEKb1VqIG9uIDEKcW1oIHRoIDEKcWpMIHF1IDEKd1JzIHN6IDEKamhNIHRoIDEKUmhyIHRoIDEKYnROIHRoIDEKUGpxIGlqIDEKeHdVIHdhIDEKcXlFIHF1IDEKSnhkIGRlIDEKUHFyIHF1IDEKbFJkIGxlIDEKanFJIHF1IDEKcUZzIHF1IDEKTXdrIGthIDEKakViIGlqIDEKTnh5IG55IDEKUHptIHN6IDEKdGZMIHRoIDEKdkZjIGNoIDEKalFnIG5nIDEKQm54IGFuIDEKbE12IGxlIDEKdEtxIHRoIDEKZVZxIHF1IDEKVHlxIHF1IDEKZHJKIGVyIDEKb0h3IG9uIDEKbEZrIGxlIDEKanBXIGlqIDEKUWp3IGlqIDEKY054IGNoIDEKQmh6IHRoIDEKYmhCIHRoIDEKcER4IHByIDEKeHBZIHByIDEKdG5IIHRoIDEKZGZMIGRlIDEKaHpMIHRoIDEKek5rIHN6IDEKbEJtIGxlIDEKbFhsIGxlIDEKeVB2IHZhIDEKWmNsIGNoIDEKaE1xIHRoIDEKckpqIHJpIDEKYVh3IGFuIDEKenNRIHN6IDEKY1FtIGNoIDEKU3FjIGNoIDEKdEttIHRoIDEKaHZPIHRoIDEKaEdkIHRoIDEKV2JuIGFuIDEKdkNmIHZhIDEKbEdnIG5nIDEKdkRoIHRoIDEKd0RxIHF1IDEKeFJ5IG55IDEKdlhpIGluIDEKcWlRIHF1IDEKY0ZzIGNoIDEKTGhwIHRoIDEKeEVwIHByIDEKZlF0IHRoIDEKY0p2IGNoIDEKbHpPIGxlIDEKRnhrIGthIDEKdERkIHRoIDEKWG54IGFuIDEKdHhDIHRoIDEKdEdiIHRoIDEKenZHIHN6IDEKZ3BDIG5nIDEKcHhEIHByIDEKWmZwIHByIDEKb1d0IHRoIDEKdnZWIHZhIDEKR3dmIHdhIDEKWWN2IGNoIDEKZ2NaIGNoIDEKbU13IG1lIDEKeVFsIGxlIDEKdUdwIHF1IDEKbE5qIGxlIDEKWWNtIGNoIDEKdkl4IHZhIDEKeUxwIHByIDEKbVJ4IG1lIDEKbnJLIGFuIDEKWnloIHRoIDEKTmN0IHRoIDEKUW1sIGxlIDEKelBkIGRlIDEKZFdxIHF1IDEKRWd4IG5nIDEKdk5zIHN0IDEKc05sIGxlIDEKcGRXIGRlIDEKU25oIHRoIDEKeXJQIGVyIDEKZkpsIGxlIDEKdFZnIHRoIDEKanZDIGlqIDEKeWhOIHRoIDEKcWRDIHF1IDEKcG1UIG1lIDEKTGJnIG5nIDEKeHBKIHByIDEKbVl0IHRoIDEKYndWIHdhIDEKd2pEIGlqIDEKZnFDIHF1IDEKeFVmIGZvIDEKZGhVIHRoIDEKYlpiIGJlIDEKdHdEIHRoIDEKYmJNIGJlIDEKaGdDIHRoIDEKZEtiIGRlIDEKdkptIHZhIDEKd0VxIHF1IDEKT2ZxIHF1IDEKY1hsIGNoIDEKd3BWIHByIDEKdHFNIHRoIDEKcFVmIHByIDEKVHd4IHdhIDEKTWdxIG5nIDEKdlFvIG9uIDEKeWpUIGlqIDEKYVZkIGFuIDEKZUhwIGVyIDEKdkd2IHZhIDEKc3JHIGVyIDEKcVZiIHF1IDEKdGxNIHRoIDEKbnJUIGFuIDEKelJoIHRoIDEKY0xyIGNoIDEKbHJIIGVyIDEKd1RsIGxlIDEKY3ZJIGNoIDEKa3FOIHF1IDEKSXhwIHByIDEKeGVRIGVyIDEKY055IGNoIDEKa1JoIHRoIDEKcnVZIHF1IDEKWGNxIGNoIDEKS3piIGJpIDEKV3hoIHRoIDEKcGpNIGlqIDEKamRPIGRlIDEKSmZ5IG55IDEKYlZ6IHN6IDEKZFFvIG9uIDEKbmNRIGFuIDEKcFZ3IHByIDEKU3hqIGlqIDEKVWJwIHByIDEKd3ZDIHZhIDEKa2hHIHRoIDEKY3FGIGNoIDEKTnhqIGlqIDEKd0RtIG1lIDEKeURkIGRlIDEKaXlJIGluIDEKZVhxIHF1IDEKaHFQIHRoIDEKS3hyIGVyIDEKdnNZIHN0IDEKVHdiIHdhIDEKZnF3IHF1IDEKd21DIG1lIDEKdkZ4IHZhIDEKdm5DIGFuIDEKbldxIGFuIDEKaHpCIHRoIDEKS2ZrIGthIDEKdFFlIHRoIDEKanVXIHF1IDEKcWxYIHF1IDEKaEd3IHRoIDEKT3FkIHF1IDEKTnB3IHByIDEKaGdXIHRoIDEKZnhNIGZvIDEKalN5IGlqIDEKZkp0IHRoIDEKbWpHIGlqIDEKdGdWIHRoIDEKT2d4IG5nIDEKSGJ4IGJlIDEKTGpsIGxlIDEKaXZaIGluIDEKYm1ZIG1lIDEKUWZwIHByIDEKd2ZRIHdhIDEKaENnIHRoIDEKdnVVIHF1IDEKeWRaIGRlIDEKdlZrIGthIDEKbVpmIG1lIDEKbE9xIHF1IDEKcUl2IHF1IDEKeFpiIGJlIDEKeHFrIHF1IDEKV215IG1lIDEKSnFpIHF1IDEKY3hMIGNoIDEKWnRxIHRoIDEKdGRUIHRoIDEKdVd0IHRoIDEKeEd6IHN6IDEKV3drIGthIDEKcEJrIGthIDEKeXFnIG5nIDEKY1lsIGNoIDEKeW5XIGFuIDEKd3lKIHdhIDEKcUd5IHF1IDEKZk5wIHByIDEKaEZzIHRoIDEKWXh1IHF1IDEKa3ZKIGthIDEKRnh6IHN6IDEKdHdHIHRoIDEKcXZHIHF1IDEKdlJwIHZhIDEKUXFpIHF1IDEKZ3pFIG5nIDEKcE5sIGxlIDEKenBXIHN6IDEKZGNQIGNoIDEKY1B4IGNoIDEKd2NRIGNoIDEKcFFjIGNoIDEKcXlGIHF1IDEKemNYIGNoIDEKd3FrIHF1IDEKa21ZIGthIDEKcWxHIHF1IDEKeEV6IHN6IDEKcHFWIHF1IDEKT2hwIHRoIDEKeGRNIGRlIDEKZkxwIHByIDEKcUFlIHF1IDEKWHd2IHZhIDEKTHppIGluIDEKcU9rIHF1IDEKY1huIGFuIDEKS2RzIGRlIDEKZ3ZVIG5nIDEKZlBrIGthIDEKblpyIGFuIDEKSHhxIHF1IDEKZkNtIG1lIDEKcWZEIHF1IDEKV2Z2IHZhIDEKcWZiIHF1IDEKanFDIHF1IDEKZnVYIHF1IDEKcWZBIHF1IDEKUmx0IHRoIDEKeGpEIGlqIDEKd3RGIHRoIDEKWG16IHN6IDEKcFdwIHByIDEKUXh2IHZhIDEKelZmIHN6IDEKZ21aIG5nIDEKcWRVIHF1IDEKanFWIHF1IDEKZ1hjIGNoIDEKcW1LIHF1IDEKR2ZqIGlqIDEKY1FyIGNoIDEKWWhyIHRoIDEKdnZTIHZhIDEKdURiIHF1IDEKY2RCIGNoIDEKYnZFIHZhIDEKeHZTIHZhIDEKalJxIHF1IDEKcnZEIGVyIDEKWHl5IG55IDEKSmZpIGluIDEKYUJ3IGFuIDEKbldjIGFuIDEKeEJxIHF1IDEKa2dZIG5nIDEKYkdiIGJpIDEKZ2pFIG5nIDEKUmx3IGxlIDEKd3JUIGVyIDEKYlFyIGVyIDEKbGpZIGxlIDEKcXZVIHF1IDEKZkttIG1lIDEKcFR0IHRoIDEKelR3IHN6IDEKcW5WIGFuIDEKcld4IGVyIDEKbldkIGFuIDEKbktmIGFuIDEKa01mIGthIDEKZmtHIGthIDEKYndYIHdhIDEKY3dWIGNoIDEKdXdLIHF1IDEKckx2IGVyIDEKek1iIHN6IDEKenBaIHN6IDEKck1xIHF1IDEKVHRqIHRoIDEKZ3ZPIG5nIDEKSmN6IGNoIDEKQ3l4IG55IDEKbmpYIGFuIDEKYVZ4IGFuIDEKcVhuIGFuIDEKVXFzIHF1IDEKZFZ6IGRlIDEKUmNwIGNoIDEKZUtnIG5nIDEKWHpuIGluIDEKdnlGIHZhIDEKS2xjIGNoIDEKeGRJIGRlIDEKSHFiIHF1IDEKeEVlIGVyIDEKcXBJIHF1IDEKZ0R4IG5nIDEKSmhmIHRoIDEKcXVLIHVuIDEKdmdVIG5nIDEKcld2IGVyIDEKUG5tIGFuIDEKbkxtIGFuIDEKQmhqIHRoIDEKYlB0IHRoIDEKanBJIGlqIDEKdEx6IHRoIDEKdnBTIHZhIDEKRnhqIGlqIDEKcURzIHF1IDEKd3pNIHN6IDEKZ3dKIG5nIDEKekJ3IHN6IDEKcUd2IHF1IDEKckxoIHRoIDEKQmpsIGxlIDEKaGZIIHRoIDEKY2xXIGNoIDEKUmdrIG5nIDEKR3NnIG5nIDEKVXZ4IHZhIDEKUWd2IG5nIDEKZ2ZYIG5nIDEKclF2IGVyIDEKeHZHIHZhIDEKa2p4IGlqIDEKZEdmIGRlIDEKZmNBIGNoIDEKRWhxIHRoIDEKekJ6IHN6IDEKR3BrIGthIDEKdEJ2IHRoIDEKWGZnIG5nIDEKeUptIG1lIDEKc3FUIHF1IDEKcHJZIGVyIDEKRHFvIHF1IDEKSnpnIG5nIDEKcU1wIHF1IDEKeWZNIG55IDEKR3hmIGZvIDEKd3pQIHN6IDEKek5tIHN6IDEKd0tnIG5nIDEKUnJkIGVyIDEKSHZ3IHZhIDEKZ2ZEIG5nIDEKV216IHN6IDEKY0puIGFuIDEKblRmIGFuIDEKdXZXIHF1IDEKdVBmIHF1IDEKdndSIHZhIDEKYk1mIGJlIDEKd0l1IHF1IDEKa3hZIGthIDEKZ1prIG5nIDEKcUZkIHF1IDEKYk1sIGxlIDEKd0hsIGxlIDEKd1ZnIG5nIDEKd2xYIGxlIDEKZnNMIHN0IDEKcFJmIHByIDEKenNYIHN0IDEKcUJrIHF1IDEKWHpwIHN6IDEKamRSIGRlIDEKWmx6IGxlIDEKV2ZjIGNoIDEKUmp2IGlqIDEKdkZ6IHN6IDEKdGtWIHRoIDEKWGJ3IHdhIDEKeFFjIGNoIDEKS3h5IG55IDEKeEN2IHZhIDEKbnFWIGFuIDEKV3d4IHdhIDEKa2RXIGRlIDEKcGtJIGthIDEKb2hTIHRoIDEKWmRjIGNoIDEKbUNnIG5nIDEKc3hMIHN0IDEKUXJ4IGVyIDEKcVh3IHF1IDEKd3FRIHF1IDEKaWpLIGluIDEKc0Z6IHN0IDEKSGx3IGxlIDEKR3FuIGFuIDEKeFBrIGthIDEKd1pxIHF1IDEKanFtIHF1IDEKTHpwIHN6IDEKQmR6IGRlIDEKd1FsIGxlIDEKd3RKIHRoIDEKVXlpIGluIDEKV2N5IGNoIDEKd3FIIHF1IDEKQm5zIGFuIDEKY0R0IHRoIDEKeEp2IHZhIDEKV2Z6IHN6IDEKeGhQIHRoIDEKY1dwIGNoIDEKcnFaIHF1IDEKYmtCIGthIDEKV3RsIHRoIDEKZ3pmIG5nIDEKYk1yIGVyIDEKcHhOIHByIDEKdmhWIHRoIDEKa3FYIHF1IDEKS2RxIHF1IDEKdlFsIGxlIDEKeWtDIGthIDEKek1oIHRoIDEKRXF6IHF1IDEKbFhxIHF1IDEKem1aIHN6IDEKcXBCIHF1IDEKdkdqIGlqIDEKVGp4IHpqIDEKdHZLIHRoIDEKZ1ljIGNoIDEKbEZjIGNoIDEKaUp0IHRoIDEKUGt4IGthIDEKY0R2IGNoIDEKWXlkIGRlIDEKVmNxIGNoIDEKWGhxIHRoIDEKek5mIHN6IDEKdmNEIGNoIDEKYm5XIGFuIDEKdXZRIHF1IDEKWnpqIHN6IDEKZ1BqIG5nIDEKandEIGlqIDEKanBPIGlqIDEKYkR4IGJlIDEKdkVpIGluIDEKWmN0IHRoIDEKd3JYIGVyIDEKZGhTIHRoIDEKempKIHN6IDEKZERrIGRlIDEKc3JKIGVyIDEKYVdnIGFuIDEKbXZKIHZhIDEKWXRjIHRoIDEKamlRIGluIDEKdEZ6IHRoIDEKc0psIGxlIDEKdlpxIHF1IDEKeFVkIGRlIDEKb3FCIHF1IDEKeERoIHRoIDEKaGZFIHRoIDEKbVNiIG1lIDEKam1SIGlqIDEKckZwIGVyIDEKWGp5IGlqIDEKYlBwIHByIDEKaXFRIHRpIDEKbWZxIHF1IDEKdHhMIHRoIDEKakJkIGRlIDEKWHZxIHF1IDEKZHZZIGRlIDEKc2RNIGRlIDEKeGdZIG5nIDEKclloIHRoIDEKdmxBIGxlIDEKcEZiIHByIDEKeUZ6IHN6IDEKZ2NLIGNoIDEKeGZaIGZvIDEKakRjIGNoIDEKeU52IHZhIDEKdEt0IHRoIDEKd3RVIHRoIDEKYkhrIGthIDEKcUN3IHF1IDEKWmNhIGFuIDEKa0R3IGthIDEKWXdjIGNoIDEKcFhzIHN0IDEKeU1tIG1lIDEKR3dxIHF1IDEKbVl2IHZhIDEKd0N4IHdhIDEKalp4IGlqIDEKb1FkIG9uIDEKRnprIHN6IDEKbHdGIGxlIDEKWHprIHN6IDEKTmp4IGlqIDEKeW9JIG9uIDEKc0ptIHN0IDEKd0trIGthIDEKUXRoIGNoIDEKTGx6IGxlIDEKZ1ZmIGdpIDEKcFBxIHF1IDEKbEd5IGxlIDEKZ3pSIG5nIDEKclhnIG5nIDEKTnBmIHByIDEKd3ZSIHZhIDEKeVhzIHN0IDEKbU1sIGxpIDEKYll4IGJlIDEKZnpaIHN6IDEKdnJHIGVyIDEKS2RrIGRlIDEKeXF3IHF1IDEKTGtxIHF1IDEKaktzIHN0IDEKWnF4IHF1IDEKUGZtIG1lIDEKcmxXIGVyIDEKaFB2IHRoIDEKT2p4IGlqIDEKR3RxIHRoIDEKdnRKIHRoIDEKV2x5IGxlIDEKeUhkIGRlIDEKa1FiIGthIDEKTGRjIGRlIDEKc1V4IHN0IDEKY0pnIGNoIDEKZkxkIGRlIDEKTWpxIHF1IDEKQ2ptIGlqIDEKYXdYIGFuIDEKR3RsIHRoIDEKd3pOIHN6IDEKYnF4IHF1IDEKZkFxIHF1IDEKZXpYIGVyIDEKY0J4IGNoIDEKY3NYIGNoIDEKY1VmIGNoIDEKcXNKIHF1IDEKaHNaIHRoIDEKcXpnIG5nIDEKUWdrIG5nIDEKTnhnIG5nIDEKSHFhIGFuIDEKclhsIGVyIDEKbmxQIGFuIDEKYVZnIGFuIDEKeWhHIHRoIDEKa2ZBIGthIDEKVm1rIG1HIDEKakttIGlqIDEKaFBkIHRoIDEKYVBkIGFuIDEKYll5IGJlIDEKYm5aIGFuIDEKR3NqIHN0IDEKa3hRIGthIDEKdmtGIGthIDEKanpTIHN6IDEKZldtIG1lIDEKUWN1IGNoIDEKclpmIGVyIDEKamJaIGlqIDEKYVFqIGFuIDEKYnpPIHN6IDEKZlpxIHF1IDEKbHJOIGVyIDEKZmtMIGthIDEKRHF2IHF1IDEKemtDIHN6IDEKc0x3IHN0IDEKTnZyIGVyIDEKTmJ5IGJlIDEKZU1oIHRoIDEKd0ZjIGNoIDEKQ3h6IHN6IDEKaVpwIGluIDEKZHZaIGRlIDEKdkloIHRoIDEKcUNsIHF1IDEKUHpvIG9uIDEKdk5xIHF1IDEKenFLIHF1IDEKTG14IG1lIDEKeFZ0IHRoIDEKZ2xEIG5nIDEKR2JmIGJlIDEKSnZxIHF1IDEKekZ3IHN6IDEKdE1xIHRoIDEKdmtKIGthIDEKU3h1IHF1IDEKYWZVIGFuIDEKbUhiIG1lIDEKanhVIGlqIDEKY0psIGNoIDEKdXFFIHF1IDEKTnFxIHF1IDEKeEd0IHRoIDEKY3pHIGNoIDEKS2ZnIG5nIDEKeldoIHRoIDEKeVhtIG1lIDEKZm5EIGFuIDEKSnJkIGVyIDEKb3haIG9uIDEKaFhuIHRoIDEKZnFJIHF1IDEKd0FvIG9uIDEKaUdrIGluIDEKeEV3IHdhIDEKZlZxIHF1IDEKeXRVIHRoIDEKYmhHIHRoIDEKb1F6IG9uIDEKcGdPIG5nIDEKWXFtIHF1IDEKYkppIGluIDEKa2NWIGNoIDEKa25NIGFuIDEKQ3dyIGVyIDEKV2dkIG5nIDEKYnBUIHByIDEKSmRqIGRlIDEKTmJxIHF1IDEKdHdKIHRoIDEKUWVwIGVyIDEKS2RjIGNoIDEKa1FxIHF1IDEKclBxIHF1IDEKbFdwIGxlIDEKRmJxIHF1IDEKYlZrIGthIDEKemxJIGxlIDEKQnpwIHN6IDEKamZLIGlqIDEKWXZtIHZhIDEKRnRtIHRoIDEKYU1qIGFuIDEKenpWIHN6IDEKek9hIGFuIDEKbUhjIGNoIDEKeFduIGFuIDEKZkZoIHRoIDEKc0R2IHN0IDEKdm1EIHZhIDEKeGpMIGlqIDEKaUJxIHF1IDEKanFUIHF1IDEKaHNSIHRoIDEKUXhvIG9uIDEKanNHIHN0IDEKY1hiIGNoIDEKWWJqIGlqIDEKeGVKIGVyIDEKb1BxIHF1IDEKeVh0IHRoIDEKeHZMIHZhIDEKamNGIGNoIDEKa0ZiIGthIDEKalh2IGlqIDEKQW94IG9uIDEKemtRIHN6IDEKZlBkIGRlIDEKRnZ4IHZhIDEKZmJYIGJlIDEKb0NmIG9uIDEKWWpkIGRlIDEKUHBmIHByIDEKTmpzIHN0IDEKY1poIHRoIDEKdm5HIGFuIDEKY3dKIGNtIDEKcUpsIHF1IDEKZ05mIG5nIDEKVGZ2IHZhIDEKdndLIHZhIDEKWmNzIGNoIDEKZUJ2IGVyIDEKcUxmIHF1IDEKWXF0IHRoIDEKY3JEIGNoIDEKSWNqIGNoIDEKcUJsIHF1IDEKZ3pYIG5nIDEKdWpGIHF1IDEKdnhVIHZhIDEKa1p0IHRoIDEKTGRoIHRoIDEKYmZNIGJlIDEKbVFtIFFPIDEKemxRIGxlIDEKamJVIGlqIDEKS3Z6IHN6IDEKVXh3IHdhIDEKcGpTIGlqIDEKWHZ2IHZhIDEKa2pJIGlqIDEKY1lpIGNoIDEKbkpuIGFuIDEKUXh6IHN6IDEKYU53IGFuIDEKSmZwIHByIDEKYk56IHN6IDEKeGRRIGRlIDEKQnprIHN6IDEKcVp6IHF1IDEKWWNwIGNoIDEKcEdzIHN0IDEKa0NmIGthIDEKZ3dQIG5nIDEKd2JWIHdhIDEKRXF0IGVxIDEKWGhuIHRoIDEKb1VmIG9uIDEKZEtjIGNoIDEKc3hOIHN0IDEKT2Z6IHN6IDEKZ0NwIG5nIDEKYmhJIHRoIDEKaGdVIHRoIDEKa25VIGFuIDEKa2pUIGlqIDEKZnNaIHN0IDEKbEd2IGxlIDEKd01kIGRlIDEKdWtRIHF1IDEKR2hrIHRoIDEKa1J3IGthIDEKelJjIGNoIDEKZ3dLIG5nIDEKdkpwIHZhIDEKdFZjIHRoIDEKcHFUIHF1IDEKaVlsIGluIDEKeEx2IHZhIDEKWGRxIHF1IDEKemNPIGNoIDEKcGxNIGxlIDEKYkR6IHN6IDEKTm14IG1lIDEKZEt2IGRlIDEKaFBrIHRoIDEKVGp5IGlqIDEKd1lzIHN0IDEKbmZKIGFuIDEKdGZDIHRoIDEKekp0IHRoIDEKbEtwIGxlIDEKSXljIGNoIDEKeHVCIHF1IDEKZUt4IGVyIDEKc1pmIHN0IDEKenBRIHN6IDEKc2ZMIHN0IDEKbWpUIGlqIDEKelh3IHN6IDEKeUt0IHRoIDEKcndWIGVyIDEKcGpCIGlqIDEKcVliIHF1IDEKYll6IHN6IDEKcXFZIGVxIDEKdUlmIHF1IDEKalRjIGNoIDEKc3FDIHF1IDEKdUpjIGNoIDEKZEd4IGRlIDEKc3dGIHN0IDEKSGZuIGFuIDEKSHRiIHRoIDEKcGZXIGhXIDEKaXlHIGluIDEKelBjIGNoIDEKeXpWIHN6IDEKcFZ6IHN6IDEKc1BnIG5nIDEKZktqIGlqIDEKZUZiIGVyIDEKUWppIGpTIDEKbXRIIHRoIDEKd2daIG5nIDEKaEhkIHRoIDEKZlR0IHRoIDEKZ3haIG5nIDEKS3RnIHRoIDEKaFdkIHRoIDEKZldxIHF1IDEKd1N2IHZhIDEKRnpuIGFuIDEKZ2hIIHRoIDEKbnBXIGFuIDEKanZQIGlqIDEKdVlrIHF1IDEKVXhuIGFuIDEKU3FnIG5nIDEKemNKIGNoIDEKZE1yIGVyIDEKWmdjIGNoIDEKcUdwIHF1IDEKb1ZxIHF1IDEKb1VhIGFuIDEKb3FWIHF1IDEKakdzIHN0IDEKWWJxIHF1IDEKcVJmIHF1IDEKYnJaIGVyIDEKcVR2IHF1IDEKd1pmIHdhIDEKZ09qIG5nIDEKSmppIGluIDEKUHB4IHByIDEKcXdCIHF1IDEKcWNKIGNoIDEKZkZ6IHN6IDEKd3dZIHdhIDEKa1RjIGNoIDEKdUduIGFuIDEKZVFxIHF1IDEKcUdrIHF1IDEKZHBWIGRlIDEKdlRtIHZhIDEKT2pxIHF1IDEKZHBYIGRlIDEKYllmIGJlIDEKdGpWIHRoIDEKTHpuIExHIDEKWWptIGlqIDEKdVl3IHF1IDEKWmRnIG5nIDEKaFhzIHRoIDEKSXdwIHByIDEKaEp3IHRoIDEKVGZkIGRlIDEKY3hPIGNoIDEKUXF5IHF1IDEKbER2IGxlIDEKenNPIHN0IDEKbXJHIGVyIDEKY2pKIGNoIDEKZGdEIG5nIDEKY1V3IGNoIDEKemRCIGRlIDEKamxVIGxlIDEKYkJmIGJlIDEKcWJKIHF1IDEKcWxSIHF1IDEKY1djIGNoIDEKWGdiIG5nIDEKenJVIGVyIDEKYmdJIG5nIDEKd2pKIGlqIDEKbXZVIHZhIDEKckNwIEdDIDEKblZ4IGFuIDEKeGJHIGJlIDEKdGROIHRoIDEKeWpSIGlqIDEKd1FqIGlqIDEKeHpaIHN6IDEKcVVrIHF1IDEKeGpZIGlqIDEKSnh6IHN6IDEKeFpzIHN0IDEKdlp4IHZhIDEKbFJzIGxlIDEKdndwIHZhIDEKd3BqIGlqIDEKc3dTIHN0IDEKRXF4IHF1IDEKdkV3IHZhIDEKdGtRIHRoIDEKdmdYIG5nIDEKUndiIHdhIDEKc2pXIHN0IDEKZFhtIGRlIDEKZnZZIHZLIDEKbHJPIGVyIDEKTGR4IGRlIDEKY3hWIGNoIDEKcUZoIHRoIDEKcVZ3IHF1IDEKUHlmIG55IDEKS3h6IHN6IDEKaHdKIHRoIDEKY3BMIGNoIDEKSGdlIG5nIDEKV2JoIHRoIDEKbFFxIHF1IDEKaERsIHRoIDEKWnBoIHRoIDEKd1pqIGlqIDEKWnF0IHRoIDEKeG1VIG1lIDEKdFVmIHRoIDEKcVdvIHF1IDEKTHJkIGVyIDEKcFFzIHN0IDEKclp2IGVyIDEKbWpJIGlqIDEKeFF5IG55IDEKdkd5IHZhIDEKandZIGlqIDEKY05uIGFuIDEKenBQIHN6IDEKdktkIGRlIDEKd1ZrIGthIDEKdE1oIGNoIDEKS3RkIHRoIDEKdHBHIHRoIDEKaURmIGluIDEKcUtsIHF1IDEKakxjIGNoIDEKSmpsIGxlIDEKaGNRIHRoIDEKVHFnIHF1IDEKYkdrIGthIDEKanhWIGlqIDEKZmNDIGNoIDEKRnd4IHdhIDEKcVB5IHF1IDEKam1FIGlqIDEKeG1UIG1lIDEKbHhDIEdDIDEKbFJyIGVyIDEKUWtsIGxlIDEKaWhGIHRoIDEKTGx0IHRoIDEKS3FlIHF1IDEKSGhmIHRoIDEKblBxIGFuIDEKenZRIFFPIDEKakd5IGlqIDEKbE1rIGxlIDEKdU9qIHF1IDEKZmRUIGRlIDEKcXZIIHF1IDEKcGNaIGNoIDEKcWtjIGNoIDEKY2JKIGNoIDEKZ2ZLIG5nIDEKcE10IHRoIDEKdnBGIHZhIDEKZGdQIG5nIDEKbXhGIG1lIDEKclpwIGVyIDEKY0dkIGNoIDEKc1B4IHN0IDEKckdkIGVyIDEKZ2JRIG5nIDEKRGZ6IHN6IDEKc2pDIHN0IDEKelN4IHN6IDEKcUlvIHF1IDEKZEl3IGRlIDEKa3BGIGthIDEKZVV3IGVyIDEKSHhjIGNoIDEKeXZHIHZhIDEKdlVmIHZhIDEKZmpGIGlqIDEKa0xxIHF1IDEKWmp0IHRoIDEKZkxxIHF1IDEKeWRTIGRlIDEKendLIHN6IDEKaEh5IHRoIDEKU3N3IHN0IDEKaGpHIHRoIDEKRGRwIGRlIDEKYlBzIHN0IDEKV3BxIHF1IDEKY3JXIGNoIDEKWHBqIGlqIDEKb1hyIGVyIDEKdmpLIGlqIDEKVnpmIHN6IDEKbFlkIGxlIDEKT2R4IGRlIDEKaFZ0IHRoIDEKZ1JjIGNoIDEKWnRmIHRoIDEKaFZqIHRoIDEKSmpmIGlqIDEKakZiIGlqIDEKTGhmIHRoIDEKamxPIGxlIDEKanZCIGlqIDEKZ2JOIG5nIDEKdlBtIHZhIDEKdFFkIHRoIDEKVnZqIGlqIDEKcnFYIHF1IDEKekVvIG9uIDEKanNCIHN0IDEKcW1IIHF1IDEKYnRFIHRoIDEKV2RkIGRlIDEKRG1qIGlqIDEKeXdJIHdhIDEKanBRIGlqIDEKdVhzIHF1IDEKYlltIG1lIDEKb0Z6IG9uIDEKdEJnIHRoIDEKY0NuIGNoIDEKZFpnIG5nIDEKd3JMIGVyIDEKSnJ5IGVyIDEKaUtkIGluIDEKdmNOIGNoIDEKek5wIHN6IDEKblJmIGFuIDEKZGNIIGNoIDEKcWFPIGFuIDEKdWFRIGFuIDEKanhMIGlqIDEKbVVmIG1lIDEKdk9rIGthIDEKUHh0IHRoIDEKZnVRIHF1IDEKc2ZOIHN0IDEKUWx2IGxlIDEKYlp5IGJlIDEKdkVxIHZLIDEKWHZnIG5nIDEKSnhiIGJlIDEKekd6IHN6IDEKQ3FmIHF1IDEKc1BwIHN0IDEKdkFxIHF1IDEKa1dkIGRlIDEKcmNaIGNtIDEKbERzIGxlIDEKeERkIGRlIDEKcFNqIGlqIDEKdndTIHZhIDEKa2dRIG5nIDEKY3JUIGNoIDEKZktzIHN0IDEKcWhjIHRoIDEKZ01sIG5nIDEKekt0IHRoIDEKamRGIGRlIDEKY2ZOIGNoIDEKc2RPIHN0IDEKa0hoIHRoIDEKeHZFIHZhIDEKYlBmIGJlIDEKcnpYIGVyIDEKdlNqIGlqIDEKZEZmIGRlIDEKdlhsIGxlIDEKYlJ2IHZhIDEKWnh3IHdhIDEKWHp3IHN6IDEKdnJSIGVyIDEKeEhiIGJlIDEKcWVFIHF1IDEKanJRIGVyIDEKdmtJIGthIDEKZnJZIGVyIDEKanFMIHF1IDEKY1pqIGNoIDEKVG1nIG5nIDEKbUh3IG1lIDEKZHFTIHF1IDEKcWxJIHF1IDEKWnZiIHZhIDEKS2x4IGxlIDEKZ2JTIG5nIDEKc2JRIHN0IDEKcXVGIHVuIDEKcXpUIHF1IDEKcWFJIGFuIDEKVm1kIGRlIDEKcWFRIGFuIDEKUWtiIGthIDEKWGpiIGlqIDEKb0NxIEdDIDEKcVFoIFFPIDEKY3dPIGNoIDEKdE1mIHRoIDEKenJLIGVyIDEKd0t5IHdhIDEKd0tiIHdhIDEKY3FTIGNoIDEKaUd2IGluIDEKeFh3IHdhIDEKZk14IGZvIDEKWm12IHZhIDEKWXFxIHF1IDEKa0RoIHRoIDEKSnh5IG55IDEKeXlFIG55IDEKc1V2IHN0IDEKY1ZyIGNoIDEKYnFIIHF1IDEKV2dxIHF1IDEKdXFRIHF1IDEKYlRnIG5nIDEKaU12IGluIDEKcVdrIHF1IDEKZmRWIGRlIDEKb1FxIHF1IDEKblpwIGFuIDEKem9ZIG9uIDEKalJrIGlqIDEKcVBqIHF1IDEKdXFMIHF1IDEKY3FYIGNoIDEKbEJxIHF1IDEKZnBYIHByIDEKYll3IHdhIDEKWWVxIHF1IDEKaGpOIHRoIDEKdHFXIHRoIDEKamhUIHRoIDEKY3ZGIGNoIDEKWWN4IGNoIDEKakZzIHN0IDEKSGR5IGRlIDEKbHJaIGVyIDEKZlp2IHZhIDEKVGZ3IHdhIDEKenJJIGVyIDEKZER2IGRlIDEKeGVIIGVyIDEKbHpIIGxlIDEKc0xyIGVyIDEKaUtxIHF1IDEKRnpjIGNtIDEKeFJkIGRlIDEKZlNkIGRlIDEKcXdGIHF1IDEKd3hZIHdhIDEKWWt3IGthIDEKb1ZwIG9uIDEKY2dCIGNoIDEKYkZoIHRoIDEKbmpUIGFuIDEKZFp6IGRlIDEKYmhTIHRoIDEKRnp1IHF1IDEKZkhtIG1lIDEKdk56IHN6IDEKcWxGIHF1IDEKTHZmIHZhIDEKenBVIHN6IDEKanRMIHRoIDEKY1FxIGNoIDEKbUttIG1lIDEKUndjIGNoIDEKanJPIGVyIDEKbnBCIGFuIDEKUXR4IHRoIDEKTXFqIHF1IDEKT3F4IHF1IDEKRHpwIHN6IDEKaFZnIHRoIDEKcFRuIGFuIDEKZ1FqIG5nIDEKbVRuIGFuIDEKdFF2IHRoIDEKbFpoIHRoIDEKa0pqIGlqIDEKY3JQIGNoIDEKbXFDIHF1IDEKRHdsIGxlIDEKdlZqIGlqIDEKaHFUIHRoIDEKbUp3IG1lIDEKdHhUIHRoIDEKd1ptIG1lIDEKWG5xIGFuIDEKaGZVIHRoIDEKa1ZyIGVyIDEKZ1ZwIG5nIDEKbkJwIGFuIDEKeG5aIGFuIDEKanFBIHF1IDEKUHprIHN6IDEKZkpxIHF1IDEKR25mIGFuIDEKS3hwIHByIDEKZFhsIFhtIDEKaHdMIHRoIDEKUnJuIGFuIDEKa2xMIGxlIDEKZk9nIG5nIDEKUXd4IHdhIDEKQ214IG1lIDEKRmJmIGJlIDEKaFdxIHRoIDEKYlN3IHdhIDEKQnhyIGVyIDEKemNCIGNoIDEKbHZYIGxlIDEKS2t4IGthIDEKcWZJIHF1IDEKdUtnIHF1IDEKWWt1IHF1IDEKakp6IHN6IDEKdUlwIHF1IDEKcUFkIHF1IDEKcGZIIHByIDEKUXdmIHdhIDEKd2JVIHdhIDEKdkR2IHZhIDEKZ0puIGFuIDEKemxSIGxlIDEKbVhyIGVyIDEKckh4IGVyIDEKb1Z6IG9uIDEKZ3RHIHRoIDEKbHJLIEhLIDEKV3hlIGVyIDEKcG5KIGFuIDEKRnF5IHF1IDEKalZsIGxlIDEKY2JQIGNoIDEKR2pjIGpTIDEKalFzIHN0IDEKdHZWIHRoIDEKSHprIHN6IDEKanlXIGlqIDEKWGJmIGJlIDEKcWZTIHF1IDEKV3ZwIHZhIDEKd2JMIHdhIDEKbWtPIGthIDEKZXFCIHF1IDEKZHZTIGRlIDEKekdoIHRoIDEKdld1IHF1IDEKZmxYIGxlIDEKeEpxIHF1IDEKcUxrIHF1IDEKdk5sIGxlIDEKa3pRIHN6IDEKQ3p2IHN6IDEKa25WIGFuIDEKUmpiIGlqIDEKYk5xIHF1IDEKelBtIHN6IDEKcXhCIHF1IDEKTGhoIHRoIDEKVXZ0IHRoIDEKeGZVIGZvIDEKaU5wIGluIDEKeVlnIG5nIDEKb1BiIG9uIDEKcWlXIHF1IDEKeWNEIGNoIDEKd1Z6IHN6IDEKd0dxIHF1IDEKaFJiIHRoIDEKeGJCIGJlIDEKc1psIGxlIDEKZ3hPIG5nIDEKd0ZrIGthIDEKTXhkIGRlIDEKZHhQIGRlIDEKbFJxIHF1IDEKaGJaIHRoIDEKRWFvIGFuIDEKemdBIG5nIDEKcWNXIGNoIDEKdm1RIHZhIDEKWXFmIHF1IDEKd2lPIGluIDEKeE9lIGVyIDEKSGZ5IG55IDEKYmZTIGJlIDEKUWhuIHRoIDEKQ21rIGthIDEKbFlzIGxlIDEKTnF0IHRoIDEKcWVKIHF1IDEKenRKIHRoIDEKcE12IHZhIDEKdWhXIHRoIDEKalNiIGlqIDEKZFloIHRoIDEKY2ZXIGNoIDEKZ1N4IG5nIDEKcVN2IHF1IDEKakNzIHN0IDEKcHdDIHByIDEKR3hxIHF1IDEKZk1xIHF1IDEKa2tDIGthIDEKdXFJIHF1IDEKekJrIHN6IDEKenNXIHN0IDEKZlpiIGJlIDEKeGpiIGlqIDEKdkhxIHF1IDEKZndOIHdhIDEKdk13IHZhIDEKSGhxIHRoIDEKY3NKIGNoIDEKYnJKIGVyIDEKeHZNIHZhIDEKbVhuIGFuIDEKcVd3IHdhIDEKZHhaIGRlIDEKc1ZqIHN0IDEKeHJGIGVyIDEKcGJVIHByIDEKVGZ6IHN6IDEKd3FUIHF1IDEKdmNGIGNoIDEKbnJTIGFuIDEKV2h6IHRoIDEKa2dYIG5nIDEKeVhrIGthIDEKa0piIGthIDEKclprIGVyIDEKcEJjIGNoIDEKZ1V2IG5nIDEKSHFlIHF1IDEKS3FqIHF1IDEKb0ZqIG9uIDEKeGJOIGJlIDEKcG5LIGFuIDEKTGJ3IHdhIDEKZE1iIGRlIDEKcVNwIHF1IDEKWnN2IHN0IDEKd3JWIGVyIDEKdUtmIHF1IDEKbWxZIGxlIDEKZ3hGIG5nIDEKdGpMIHRoIDEKWHJjIGNoIDEKcnZGIGVyIDEKbUxxIHF1IDEKanJLIGVyIDEKUWx6IGxlIDEKenhEIHN6IDEKZmRZIGRlIDEKanZEIGlqIDEKeFFnIG5nIDEKcUZ1IHVuIDEKc2ZKIHN0IDEKcElmIHByIDEKaHhKIHRoIDEKY05jIGNoIDEKSWRxIHF1IDEKeUhmIG55IDEKcVhtIHF1IDEKeWxEIGxlIDEKekZxIHF1IDEKaldwIGlqIDEKZUtwIGVyIDEKeGhmIHRoIDEKeWJWIGJlIDEKeFhzIHN0IDEKWWhrIHRoIDEKZndYIHdhIDEKYnFLIHF1IDEKbnZZIGFuIDEKeHZrIGthIDEKcmJQIGVyIDEKc1hsIGxlIDEKVXd0IHRoIDEKd21XIG1lIDEKcHhWIHByIDEKbmpaIGFuIDEKVHFrIHF1IDEKem1FIHN6IDEKUnF1IHVuIDEKcXFNIHF1IDEKZGhRIHRoIDEKdUp6IHF1IDEKVnFkIHF1IDEKeUNrIGthIDEKcFd1IHF1IDEKVmR5IGRlIDEKaVJ4IGluIDEKVmNtIGNoIDEKd0lnIG5nIDEKWGJoIHRoIDEKdmNHIGNoIDEKampYIGlqIDEKbm1PIGFuIDEKZFFqIGRlIDEKZGZWIGRlIDEKZGJLIGRlIDEKZ3FrIHF1IDEKbkZkIGFuIDEKb1d2IG9uIDEKbkhwIGFuIDEKa25LIGFuIDEKYnhaIGJlIDEKd21IIG1lIDEKZmdYIG5nIDEKZ3pIIG5nIDEKWmJ2IHZhIDEKdmdNIG5nIDEKZG1LIGRlIDEKY3ZCIGNoIDEKZVFzIGVyIDEKY0htIGNoIDEKc0J0IHRoIDEKYkh4IGJlIDEKdnFkIHF1IDEKTnB5IHByIDEKeHpMIHN6IDEKZ014IG5nIDEKdndVIHZhIDEKcGZYIHByIDEKbkZnIGFuIDEKc0ZzIHN0IDEKVnFoIHRoIDEKRW1xIHF1IDEKdFh5IHRoIDEKdVZkIHF1IDEKWXZqIGlqIDEKcUhvIHF1IDEKcFdtIG1lIDEKeGNLIGNoIDEKcFV2IHZhIDEKcExuIGFuIDEKdVZuIGFuIDEKRnNxIHF1IDEKY0dqIGNoIDEKWHd5IHdhIDEKZ3pUIG5nIDEKZE5xIHF1IDEKanJVIGVyIDEKcXRBIHRoIDEKZ3FUIHF1IDEKcHdNIHByIDEKbHJQIGVyIDEKam1DIGlqIDEKcG1QIG1lIDEKeWlZIGluIDEKcFRzIHN0IDEKWndqIGlqIDEKcXBGIHF1IDEKZmhKIGNoIDEKZk92IHZhIDEKd2NLIGNoIDEKa3FrIHF1IDEKVWd6IG5nIDEKeGZGIGZvIDEKY1R2IGNoIDEKZ3BYIG5nIDEKTGZ4IGZvIDEKZ3dVIG5nIDEKRHp4IHN6IDEKa0RjIGNoIDEKUHZoIHRoIDEKa2RZIGRlIDEKd1d2IHZhIDEKc1FxIHF1IDEKbWpZIGlqIDEKeUNiIGJlIDEKclNxIHF1IDEKU2Z2IHZhIDEKZlpoIHRoIDEKZE1kIGRlIDEKZE5zIHN0IDEKalR2IGlqIDEKdG1XIHRoIDEKY3hKIGNoIDEKdUFvIHF1IDEKbUh4IG1lIDEKZmdBIG5nIDEKUmh4IHRoIDEKd1d0IHRoIDEKcGZVIHByIDEKb0lqIG9uIDEKbGhRIHRoIDEKdkRrIGthIDEKdkpkIGRlIDEKc0RwIHN0IDEKcWlVIHF1IDEKWWZzIHN0IDEKcXhXIHF1IDEKc0ZoIHRoIDEKdmhQIHRoIDEKVmpqIGlqIDEKdG1RIHRoIDEKd21NIG1lIDEKY1Z5IGNoIDEKS3p3IHN6IDEKdGZBIHRoIDEKZ2pSIGlqIDEKeHlRIG55IDEKbUJ2IHZhIDEKZlF5IG55IDEKZFpjIGNoIDEKZVZoIHRoIDEKTnZjIGNoIDEKcUZiIHF1IDEKcWhsIHRoIDEKWmNuIGNoIDEKcXdXIHF1IDEKeFpxIHF1IDEKamhMIHRoIDEKbFdmIGxlIDEKakp4IGlqIDEKWXp0IHRoIDEKRW9xIHF1IDEKTmptIGlqIDEKWmdkIG5nIDEKcEdxIHF1IDEKc2dZIG5nIDEKanlFIGlqIDEKanpFIHN6IDEKdWpLIHF1IDEKcWJtIHF1IDEKV3NmIHN0IDEKbVFuIGFuIDEKc1FzIHN0IDEKeVhnIG5nIDEKdlllIGVyIDEKZVB2IGVyIDEKYUN2IGFuIDEKcFZtIG1lIDEKenhPIHN6IDEKampXIGlqIDEKdmdJIG5nIDEKdFpjIHRoIDEKUXRnIHRoIDEKdk10IHRoIDEKa1R0IHRoIDEKTXhqIGlqIDEKZmJJIGJlIDEKcUF1IHVuIDEKd2ZUIHdhIDEKZmNGIGNoIDEKcGZLIHByIDEKYk9xIHF1IDEKaHVYIHRoIDEKY0ptIGNoIDEKWHBnIG5nIDEKdHFKIHRoIDEKT3ZmIHZhIDEKWGxqIGxlIDEKTnJsIGVyIDEKZnhXIGZvIDEKU3dxIHF1IDEKcXZFIHF1IDEKcXBZIHF1IDEKb053IG9uIDEKa1ljIGNoIDEKalhiIGlqIDEKUWZrIGthIDEKZURwIGVyIDEKVnFiIHF1IDEKc0t6IHVzIDEKcWpwIHF1IDEKVXhsIGxlIDEKTGt5IGthIDEKekZ5IHN6IDEKbk1sIGFuIDEKeVlpIGluIDEKY1FlIGNoIDEKb1lqIG9uIDEKdGJCIHRoIDEKWWJnIG5nIDEKblZrIG5kIDEKYlhjIGNoIDEKTHFuIGFuIDEKbWRLIGRlIDEKcGRQIGRlIDEKdHFTIHRoIDEKWmpmIGlqIDEKa2NDIGNoIDEKcVpxIHF1IDEKYVNkIGFuIDEKQ21oIHRoIDEKaHpHIHRoIDEKd1FtIG1lIDEKR3FnIHF1IDEKeVdwIHByIDEKWHJ3IGVyIDEKeUp5IG55IDEKc3FEIHF1IDEKZFdiIGRlIDEKbmJRIGFuIDEKaXdQIGluIDEKbFdzIGxlIDEKVHNnIG5nIDEKZEh6IGRlIDEKdGNGIHRoIDEKUWt0IHRoIDEKQmRkIGRlIDEKTXhxIHF1IDEKcGpWIGlqIDEKa1FyIGVyIDEKZG5JIGFuIDEKZnlZIG55IDEKYUZxIGFuIDEKWWx4IGxlIDEKWXltIG1lIDEKamJWIGlqIDEKcWNWIGNoIDEKcHpYIHN6IDEKcVJoIHRoIDEKZGpBIGRlIDEKYm5JIGFuIDEKTGx2IGxlIDEKdG1aIHRoIDEKaFFvIHRoIDEKenRXIHRoIDEKUnh6IHN6IDEKZHhXIGRlIDEKcXRXIHRoIDEKa3FPIHF1IDEKbEhjIGNoIDEKbFJqIGxlIDEKaE5mIHRoIDEKR2lxIHF1IDEKY1lxIGNoIDEKWWRwIGRlIDEKcVduIGFuIDEKeGtCIGthIDEKa3hDIGthIDEKbGpBIGxlIDEKUXdwIHByIDEKbUNwIG1lIDEKZkpkIGRlIDEKdkN0IHRoIDEKVmN6IGNoIDEKdkJmIHZhIDEKY1l4IGNoIDEKZkh3IHdhIDEKa3ZXIGthIDEKSm16IHN6IDEKaFFqIHRoIDEKcmJRIGVyIDEKdnhYIHZhIDEKd0ZoIHRoIDEKVGp6IHN6IDEKaHhSIHRoIDEKdmRZIGRlIDEKcG1GIG1lIDEKc0RsIGxlIDEKclZoIHRoIDEKd0RjIGNoIDEKZ0J3IG5nIDEKY0hmIGNoIDEKcHpRIHN6IDEKbFZwIGxlIDEKZ2ZIIG5nIDEKb0djIGNoIDEKdHZKIHRoIDEKY012IGNoIDEKeG5TIGFuIDEKdlF4IHZhIDEKdW9NIHF1IDEKemtYIHN6IDEKekhwIHN6IDEKeXVXIHF1IDEKUWJ2IHZhIDEKendHIHN6IDEKY3BYIGNoIDEKUnB2IHZhIDEKektxIHF1IDEKd1ViIHdhIDEKcW5KIGFuIDEKUnB5IHByIDEKYmNTIGNoIDEKcXhLIHF1IDEKcWpEIHF1IDEKbFFnIG5nIDEKa3JYIGVyIDEKRmNnIGNoIDEKb1Z4IG9uIDEKdkpmIHZhIDEKQnZrIGthIDEKZG1YIGRlIDEKV2RqIGRlIDEKWXpwIHN6IDEKWWNkIGNoIDEKakt4IGlqIDEKa3JIIGVyIDEKTG5tIGFuIDEKekNtIHN6IDEKVXdqIGlqIDEKVXZrIGthIDEKTWZqIGlqIDEKeXFKIHF1IDEKTGZxIHF1IDEKeUh6IHN6IDEKa2dKIG5nIDEKYUdxIGFuIDEKdGpIIHRoIDEKWmtjIGNoIDEKd0h2IHZhIDEKTnpwIHN6IDEKY1p4IGNoIDEKanZLIGlqIDEKY2xGIGNoIDEKeG1EIG1lIDEKWXB6IHN6IDEKcEZ5IHByIDEKaHZGIHRoIDEKbXRXIHRoIDEKaHFHIHRoIDEKa3ZOIGthIDEKdGNaIHRoIDEKdGtSIHRoIDEKcGRIIGRlIDEKcUVzIHF1IDEKWmN3IGNoIDEKVnd1IHVuIDEKZ1h6IG5nIDEKbVdqIGlqIDEKbVd2IHZhIDEKSnF4IHF1IDEKb1NqIG9uIDEKbHdZIGxlIDEKVGtmIGthIDEKcGNDIGNoIDEKb2hHIHRoIDEKZHpHIGRlIDEKZmROIGRlIDEKeHJTIGVyIDEKaEhrIHRoIDEKRmp6IHN6IDEKdmJaIHZhIDEKVWR4IGRlIDEKd3pYIHN6IDEKdU5xIHF1IDEKd2ZaIHdhIDEKc3dCIHN0IDEKZG1RIGRlIDEKZGNBIGNoIDEKcXpQIHF1IDEKakpqIGlqIDEKcVdxIHF1IDEKdFZrIHRoIDEKZ3dCIG5nIDEKYkl3IHdhIDEKYnBVIHByIDEKYndNIHdhIDEKZmtBIGthIDEKeFVjIGNoIDEKeFRkIGRlIDEKZktsIGxlIDEKbHhTIGxlIDEKeGFTIGFuIDEKeXZRIHZhIDEKZGhWIHRoIDEKbWRXIGRlIDEKd2ZKIHdhIDEKV3FxIHF1IDEKc1pqIHN0IDEKTHh5IG55IDEKeFh5IG55IDEKcURtIHF1IDEKZ0txIHF1IDEKUXZqIGlqIDEKa2ZIIGthIDEKYVFwIGFuIDEKeEZ6IHN6IDEKbmpXIGFuIDEKUnBuIGFuIDEKTW1uIGFuIDEKZmhEIHRoIDEKaktrIGlqIDEKekFxIHF1IDEKcWZMIHF1IDEKeXdOIHdhIDEKcXB6IHF1IDEKaHhQIHRoIDEKR2RxIHF1IDEKdE14IHRoIDEKandMIGlqIDEKa0JiIGthIDEKZkF3IHdhIDEKU2R4IGRlIDEKSm12IHZhIDEKYmdYIG5nIDEKeFdwIHByIDEKaEh0IHRoIDEKR3d3IHdhIDEKRmJiIGJlIDEKem9UIG9uIDEKeWpHIGlqIDEKUmxnIG5nIDEKdkZuIGFuIDEKemNLIGNoIDEKeGRDIGRlIDEKd3ZPIHZhIDEKb1FsIGxlIDEKbkl3IGFuIDEKd3pBIHN6IDEKUnpqIHN6IDEKUXpuIGFuIDEKWWp0IHRoIDEKeGtRIGt1IDEKbHJxIHF1IDEKbndaIGFuIDEKcEdrIGthIDEKbW5MIGFuIDEKUmxxIHF1IDEKY2NEIGNoIDEKclJkIGVyIDEKT2ZqIGlqIDEKRmpoIHRoIDEKdXVPIHF1IDEKelp4IHN6IDEKTmJqIGlqIDEKem5XIGFuIDEKamJIIGlqIDEKckR4IGVyIDEKUW1jIGNoIDEKZHdWIGRlIDEKT3F2IHF1IDEKWnFlIHF1IDEKZndJIHdhIDEKbmpQIGFuIDEKT3FxIHF1IDEKcFZ2IHZhIDEKZnF4IHF1IDEKZ2ZPIG5nIDEKaHFVIHRoIDEKZ0RqIG5nIDEKVG1qIGlqIDEKdmNLIGNoIDEKcW1WIHF1IDEKc1Z4IHN0IDEKV2ZoIHRoIDEKbUprIGthIDEKZnVLIHF1IDEKYmZOIGJlIDEKcWZUIHF1IDEKRm1qIGlqIDEKdGJOIHRoIDEKa2pOIGlqIDEKeWhaIHRoIDEKTnhrIGthIDEKd3hVIHdhIDEKelhiIHN6IDEKTnpkIGRlIDEKb2hMIHRoIDEKcFZ0IHRoIDEKWnN4IHN0IDEKWnFqIHF1IDEKd1VqIGlqIDEKeWpDIGlqIDEKa1RuIGFuIDEKdnFWIHF1IDEKRnljIGNoIDEKSWNkIGNoIDEKc3ZOIHN0IDEKSmp2IGlqIDEKYlZwIHByIDEKZmRJIGRlIDEKbmJYIGFuIDEKY2ZVIGNoIDEKbEdtIGxlIDEKT3ZnIG5nIDEKekRjIGNoIDEKamdxIHF1IDEKbFlyIGVyIDEKaGpSIHRoIDEKcVBtIHF1IDEKaVJxIHF1IDEKWnJ4IGVyIDEKd3BUIHByIDEKeHNCIHN0IDEKcXhUIHF1IDEKZ0Z4IG5nIDEKcW9KIHF1IDEKc21EIHN0IDEKbGJNIGxlIDEKd0NjIGNoIDEKd0ZtIG1lIDEKWGx2IGxlIDEKenlVIHN6IDEKdkZrIGthIDEKdGpSIHRoIDEKaVl4IGluIDEKdUprIHF1IDEKUWVoIHRoIDEKWHJ2IGVyIDEKQnFxIHF1IDEKVmRiIGRlIDEKem5SIGFuIDEKcG1MIG1lIDEKdHZIIHRoIDEKVG1kIGRlIDEKRGdiIG5nIDEKb3pPIG9uIDEKZlFiIGJlIDEKUHFiIHF1IDEKcVluIGFuIDEKeFBtIG1lIDEKZ1dmIG5nIDEKY0N2IGNoIDEKcWVQIHF1IDEKcVptIHF1IDEKZGdaIG5nIDEKbWpPIGlqIDEKZ0N3IG5nIDEKc3ZRIHN0IDEKUnFxIHF1IDEKUWJ0IHRoIDEKTGtqIGlqIDEKRnphIGFuIDEKamxCIGxlIDEKaVdqIGluIDEKWnhpIGluIDEKS3h3IHdhIDEKamNKIGlqIDEKdUNmIHF1IDEKY0F4IGNoIDEKVmp3IGlqIDEKdlVzIHN0IDEKTW5xIGFuIDEKampNIGlqIDEKdlV4IHZhIDEKdVpyIHF1IDEKdHdVIHRoIDEKWXR2IHRoIDEKaFJwIHRoIDEKa3pWIHN6IDEKbXZZIHZhIDEKakZqIGlqIDEKakJwIGlqIDEKa0d6IHN6IDEKcVVxIHF1IDEKcWdSIHF1IDEKbFdiIGxlIDEKd3dQIHdhIDEKd3ZFIHZhIDEKRnN4IHN0IDEKSXp4IHN6IDEKYndDIHdhIDEKRm1xIHF1IDEKY0xkIGNoIDEKYlJsIGxlIDEKaVhmIGluIDEKeU1xIHF1IDEKY3FQIGNoIDEKanNMIHN0IDEKaklxIHF1IDEKd3VHIHF1IDEKTGJ2IHZhIDEKRXFmIHF1IDEKT2dmIG5nIDEKa0d2IGthIDEKcGpLIGlqIDEKdmNRIGNoIDEKWHpoIHRoIDEKalV2IGlqIDEKd0dkIGRlIDEKaG1YIHRoIDEKeXFtIHF1IDEKcWtFIHF1IDEKemdYIG5nIDEKdndPIHZhIDEKd21TIG1lIDEKdmhUIHRoIDEKc3lYIHN0IDEKbmJDIGFuIDEKemdXIG5nIDEKdnFNIHF1IDEKZFdmIGRlIDEKY3dGIGNoIDEKZG5GIGFuIDEKcURpIHF1IDEKcVN3IHF1IDEKalFmIGlqIDEKY3JaIGNoIDEKcUdsIHF1IDEKV3h1IHF1IDEKZ3JXIG5nIDEKZ2xYIG5nIDEKdkZkIGRlIDEKcGJGIHByIDEKYk5mIGJlIDEKUWNmIGNoIDEKZlZ4IGZvIDEKcFBmIHByIDEKcFZxIHF1IDEKeGxHIGxlIDEKRHdqIGlqIDEKeFFqIGlqIDEKbGtRIGxlIDEKc3FIIHF1IDEKWXl4IG55IDEKdkZtIHZhIDEKdFFvIHRoIDEKemxVIGxlIDEKdmxXIGxlIDEKZ2xXIG5nIDEKcW1XIHF1IDEKYVdsIGFuIDEKem1WIHN6IDEKZ0xtIG5nIDEKZ2xCIG5nIDEKdHFBIHRoIDEKaGdKIHRoIDEKY0diIGNoIDEKcXdFIHF1IDEKRmZ5IG55IDEKd21MIG1lIDEKeExoIHRoIDEKc2JFIHN0IDEKYlFsIGxlIDEKeGtSIGthIDEKeUZkIGRlIDEKT21xIHF1IDEKWGZqIGlqIDEKd0pqIGlqIDEKTHdzIHN0IDEKd2ZVIHdhIDEKemZrIHN6IDEKbE52IGxlIDEKeWtRIGthIDEKeER0IHRoIDEKakR3IGlqIDEKemJ4IHN6IDEKdlFzIHN0IDEKdnZNIHZhIDEKWHFxIHF1IDEKakxxIHF1IDEKemtaIHN6IDEKcUFnIHF1IDEKWGp3IGlqIDEKY0Z3IGNoIDEKcndRIGVyIDEKbVdrIGthIDEKWXJ4IGVyIDEKZVVvIGVyIDEKdURtIHF1IDEKTWh3IHRoIDEKZkdwIHByIDEKUnB6IHN6IDEKc2JGIHN0IDEKbmZYIGFuIDEKV2Z1IHF1IDEKTXdxIHF1IDEKcURqIHF1IDEKV3B3IHByIDEKekZ2IHN6IDEKcVhjIGNoIDEKcXNUIHF1IDEKcFpoIHRoIDEKbExjIGNoIDEKcHFCIHF1IDEKWGpvIG9uIDEKa0RrIGthIDEKSnhmIGZvIDEKVnF6IHF1IDEKSHZxIHF1IDEKWnF3IHF1IDEKa1JjIGNoIDEKdHZSIHRoIDEKZE54IGRlIDEKaldxIHF1IDEKblJ3IGFuIDEKckdiIGVyIDEKdlp6IHN6IDEKWHR6IHRoIDEKa1puIGFuIDEKVm1qIGlqIDEKZE1wIGRlIDEKY1B5IGNoIDEKdXpSIHF1IDEKeWpFIGlqIDEKZ3pGIG5nIDEKdENwIHRoIDEKcWZDIHF1IDEKdmNxIGNoIDEKWmZnIG5nIDEKa3dDIGthIDEKZmtNIGtvIDEKdkpoIHRoIDEKZUNxIHF1IDEKd1BwIHByIDEKcUp5IHF1IDEKZG1ZIGRlIDEKdU1qIHF1IDEKZktoIHRoIDEKc3FVIHF1IDEKdk5wIHZhIDEKQ3JqIGVyIDEKaHNIIHRoIDEKVnduIGFuIDEKU2R5IGRlIDEKRnB3IHByIDEKV2NxIGNoIDEKcGpXIGlqIDEKZHdXIGRlIDEKZ2pYIG5nIDEKeVprIGthIDEKY0tnIGNoIDEKeGRSIGRlIDEKd3FXIHF1IDEKa2hEIHRoIDEKdmdHIG5nIDEKdk1sIGxlIDEKcW5RIGFuIDEKaEp0IHRoIDEKZnZDIHZhIDEKY3BSIGNoIDEKV3R0IHRoIDEKdXlYIHF1IDEKY1hmIGNoIDEKdUt2IHF1IDEKZ1Z2IG5nIDEKeHpnIG5nIDEKY1BxIGNoIDEKZlRuIGFuIDEKc0ZqIHN0IDEKbXpYIHN6IDEKZ01xIHF1IDEKcnhJIGVyIDEKZVlmIGVyIDEKa3dCIGthIDEKZVFrIGVyIDEKakJxIHF1IDEKbGJIIGxlIDEKcUN0IHRoIDEKV252IGFuIDEKZ1lkIG5nIDEKWnhlIGVyIDEKZlpqIGlqIDEKSGdqIG5nIDEKYlJqIGlqIDEKZnBSIHByIDEKY2JSIGNoIDEKbHFUIHF1IDEKY010IHRoIDEKdFF5IHRvIDEKdnhHIHZhIDEKZ3BCIG5nIDEKR2t3IGthIDEKenFYIHF1IDEKdFB3IHRoIDEKZm5OIGFuIDEKR2twIGthIDEKbXZRIHZhIDEKaEhmIHRoIDEKd2ZTIHdhIDEKcUN4IHF1IDEKbXFIIHF1IDEKaGdSIHRoIDEKTXdnIG5nIDEKYnFRIHF1IDEKRmt6IHN6IDEKb0Z2IG9uIDEKRGRxIHF1IDEKdUlvIHF1IDEKWWZoIHRoIDEKeWdRIG5nIDEKZnhoIHRoIDEKWnFkIHF1IDEKSHRuIHRoIDEKR3Z6IHN6IDEKelJ3IHN6IDEKdkNiIHZhIDEKcmpUIHJvIDEKcmpEIGVyIDEKUXBtIG1lIDEKWGRiIGRlIDEKTGtmIGthIDEKQWp4IGlqIDEKWWx6IGxlIDEKUXRiIHRoIDEKYkh6IHN6IDEKYkRnIG5nIDEKTHF4IHF1IDEKeWhXIHRoIDEKekx2IHN6IDEKeGdLIG5nIDEKZVdxIHF1IDEKc2pTIHN0IDEKcVZlIHF1IDEKT2txIHF1IDEKRXdqIGlqIDEKRHN2IHN0IDEKamhJIHRoIDEKeEdmIGZvIDEKT2t4IGthIDEKRnF4IHF1IDEKZFB2IGRlIDEKenNLIHN0IDEKcUxuIGFuIDEKZmtCIGthIDEKY0NiIGNoIDEKZ05wIG5nIDEKUXdkIGRlIDEKelRmIHN6IDEKUHFxIHF1IDEKckZ2IHJvIDEKUnd0IHRoIDEKdUtjIGNoIDEKaHFOIHRoIDEKa21LIGthIDEKd3VDIHF1IDEKcG5aIGFuIDEKdGdNIHRoIDEKUWRzIHN0IDEKQXhxIHF1IDEKeHdPIHdhIDEKZVFnIG5nIDEKbUZqIGlqIDEKRHBtIG1lIDEKcFFtIG1lIDEKYUZwIGFuIDEKbWZCIG1lIDEKZnBBIHByIDEKamdaIG5nIDEKbEdrIGxlIDEKeGNBIGNoIDEKZ1d3IG5nIDEKbHpGIGxlIDEKeHNRIHN0IDEKYlF4IGJlIDEKd2pjIGNoIDEKYkRjIGNoIDEKV3B6IHN6IDEKcmZWIGVyIDEKWmJzIHN0IDEKaEtxIHRoIDEKcVhhIGFyIDEKd2pBIGlqIDEKdnpTIHN6IDEKY1d5IGNoIDEKZ2pLIG5nIDEKeVJiIGJlIDEKcWdVIHF1IDEKcHFGIHF1IDEKcW5VIGFuIDEKWnFjIGNoIDEKWHFnIHF1IDEKekxxIHF1IDEKZ3pWIG5nIDEKS3FzIHF1IDEKemdaIG5nIDEKanFHIHF1IDEKcHFKIHF1IDEKSWVxIHF1IDEKaGpIIHRoIDEKdm1OIHZhIDEKaXVGIHF1IDEKd0d5IHdhIDEKS2RoIHRoIDEKaFFiIHRoIDEKaldyIGVyIDEKQ3h5IG55IDEKS3F6IHF1IDEKd1hyIGVyIDEKeG9RIG9uIDEKd0JoIHRoIDEKcXlJIHF1IDEKcWhDIHRoIDEKVnB5IHByIDEKbkpiIGFuIDEKdUd3IHF1IDEKaGhYIHRoIDEKbWpTIGlqIDEKU2N2IGNoIDEKaEZ3IHRoIDEKYktnIG5nIDEKWG1uIGFuIDEKYmRUIGRlIDEKc0pxIHF1IDEKeFRtIG1lIDEKcWp6IHF1IDEKTXFwIHF1IDEKZEhwIGRlIDEKclJuIGFyIDEKWGxmIGxlIDEKY05zIGNoIDEKWHFsIHF1IDEKaUZ6IGluIDEKTmxrIGxlIDEKc1B3IHN0IDEKdldxIHF1IDEKd1h0IHRoIDEKRm5xIGFuIDEKb3pKIG9uIDEKeklnIG5nIDEKbFNmIGxlIDEKd1JjIGNoIDEKQnZwIHZhIDEKV3dyIGVyIDEKcFdnIHByIDEKcExrIGthIDEKa3JKIGVyIDEKWmZ2IHZhIDEKeUl4IG55IDEKb0t4IG9uIDEKcUxiIHF1IDEKZEhqIGRlIDEKb3FLIHF1IDEKY3hDIGNoIDEKd0poIHRoIDEKd1pkIGRlIDEKY1d6IGNoIDEKeXFTIHF1IDEKa1hxIHF1IDEKZllkIGRlIDEKZEd5IGRlIDEKZER0IHRoIDEKcEtnIG5nIDEKWGpkIGRlIDEKc2pNIHN0IDEKc2ZDIHN0IDEKZE1oIHRoIDEKZFpwIGRlIDEKd2NEIGNoIDEKUW9qIG9uIDEKZ3hDIG5nIDEKWmZuIGFuIDEKaFl2IHRoIDEKeFdxIHF1IDEKZ1p3IG5nIDEKcFFpIGluIDEKWGxiIGxlIDEKZ1F6IG5nIDEKbmJaIGFuIDEKRXp4IHN6IDEKd05nIG5nIDEKWHJqIGVyIDEKY3hYIGNoIDEKZFFwIGRlIDEKWXBuIGFuIDEKcE5wIHByIDEKcGJRIHByIDEKZ012IG5nIDEKcWVGIHF1IDEKdVZ2IHF1IDEKZFZrIGRlIDEKdU12IHF1IDEKalFuIGFuIDEKbWhQIHRoIDEKaVRiIGluIDEKUHZ3IHZhIDEKekN3IHN6IDEKd2NSIGNoIDEKc3ZVIHN0IDEKbk16IGFuIDEKY2pFIGNoIDEKam1IIGlqIDEKUXpjIGNoIDEKbXFjIGNoIDEKcWxVIHF1IDEKWnZwIHZhIDEKeEhsIGxlIDEKZ3FCIHF1IDEKeHNOIHN0IDEKa0NqIGlqIDEKT2x4IGxlIDEKR3h3IHdhIDEKeHdWIHdhIDEKZlBiIGJlIDEKUmh2IHRoIDEKcGdWIG5nIDEKUWRwIGRlIDEKekZzIHN0IDEKa2xRIGxlIDEKeUpkIGRlIDEKcnhFIGVyIDEKdUh2IHF1IDEKd0tsIGxlIDEKd3BKIHByIDEKQ2pyIGVyIDEKdFlnIHRoIDEKVnB6IHN6IDEKWnhoIHRoIDEKcFFsIGxlIDEKRnhlIGVyIDEKUW9rIG9uIDEKcGxLIGxlIDEKbHBYIGxlIDEKamRQIGRlIDEKWnF5IHF1IDEKeVJ6IHN6IDEKbkRnIGFuIDEKa3FMIHF1IDEKdWdXIHF1IDEKTWJmIGJlIDEKS3FsIHF1IDEKTnF3IHF1IDEKSnp3IHN6IDEKc0duIGFuIDEKd0R2IHZhIDEKSmprIGlqIDEKenRRIHRoIDEKaHdQIHRoIDEKd0RwIHByIDEKZ2ZHIG5nIDEKcWhMIHRoIDEKY1V2IGNoIDEKV2JrIGthIDEKZmtGIGtvIDEKUHF2IHF1IDEKbmJLIGFuIDEKcVN6IHF1IDEKdndJIHZhIDEKY0ZjIGNoIDEKcWZHIHF1IDEKcmhGIHRoIDEKeHpsIGxlIDEKZE5jIGNoIDEKendSIHN6IDEKd3pLIHN6IDEKYlFhIGFuIDEKaExxIHRoIDEKZlV2IHZhIDEKckhnIG5nIDEKdUpqIHF1IDEKRmh6IHRoIDEKTnptIHN6IDEKZ1J6IG5nIDEKcVhmIHF1IDEKVHptIHN6IDEKWmt4IGthIDEKaEx4IHRoIDEKVWtkIGRlIDEKZk1mIGZvIDEKdkdwIHZhIDEKanRJIHRoIDEKaHhFIHRoIDEKanJIIGVyIDEKRmdoIHRoIDEKZGxGIGxlIDEKamNPIGphIDEKc0N3IHN0IDEKQnFoIHRoIDEKa1p5IGthIDEKZk9oIHRoIDEKckpiIGVyIDEKcmpWIGVyIDEKS3dxIHF1IDEKSGN3IGNoIDEKbUN3IG1hIDEKaHhNIHRoIDEKalRiIGlqIDEKbW1RIG1lIDEKcGpSIGlqIDEKY2RQIGNoIDEKWmpzIHN0IDEKanFGIHF1IDEKdk1uIGFuIDEKTXFzIHF1IDEKc3ZYIHN0IDEKaVhuIGFuIDEKbndSIGFuIDEKeXRSIHRoIDEKVmpiIGlqIDEKQ2psIGxlIDEKcFhkIGRlIDEKR3d1IHF1IDEKcUlqIHF1IDEKa1FuIGFuIDEKZlltIG1lIDEKdnRaIHRoIDEKVXN4IHN0IDEKbmZQIGFuIDEKZFF4IGRlIDEKb1hmIG9uIDEKZkV3IHdhIDEKc2dYIG5nIDEKY1BwIGNoIDEKeWJXIGJlIDEKa2NXIGNoIDEKa0hmIGthIDEKdmNVIGNoIDEKdFhvIHRoIDEKS3poIHRoIDEKQ2ZxIHF1IDEKVWp5IGlqIDEKRnhhIGFuIDEKaHhTIHRoIDEKdFd4IHRoIDEKbWxLIGxlIDEKblpqIGFuIDEKcU92IHF1IDEKWGt0IHRoIDEKRnpmIHN6IDEKdVRkIHF1IDEKcXJTIHF1IDEKUHR3IHRoIDEKZERzIHN0IDEKck5tIGVyIDEKRXdmIHdhIDEKaEprIHRoIDEKSGRxIHF1IDEKSnR3IHRoIDEKa3FjIGNoIDEKbkhxIGFuIDEKcmhIIHRoIDEKb3FIIHF1IDEKdnBaIHZhIDEKRGdkIG5nIDEKcXhWIHF1IDEKQ3h2IHZhIDEKcGxWIHByIDEKa0lpIGluIDEKS2hjIHRoIDEKanNZIHN0IDEKZkxoIHRoIDEKWWtxIHF1IDEKUW14IG1lIDEKenZJIHN6IDEKeWhTIHRoIDEKcWZnIHF1IDEKd3haIHdhIDEKalZ5IGlqIDEKa1F3IGthIDEKelh2IHN6IDEKTGhzIHRoIDEKTWtxIHF1IDEKamtVIGlqIDEKWWhxIHRoIDEKenJIIGVyIDEKdmhHIHZhIDEKZHJEIGVyIDEKUHNqIHN0IDEKZ0RmIG5nIDEKWGpqIGlqIDEKcExtIG1lIDEKa2xDIGxlIDEKaFR4IHRoIDEKenJKIGVyIDEKWGdrIG5nIDEKV3hmIGZvIDEKZmREIGRlIDEKakhwIGlqIDEKeUR3IHdhIDEKa1B2IGthIDEKUmttIGthIDEKbXpnIG5nIDEKbEh6IGxlIDEKdnBSIHZhIDEKd1p0IHRoIDEKcEJkIGRlIDEKcVBmIHF1IDEKaE53IHRoIDEKTnZqIGlqIDEKcHlVIHByIDEKU2poIHRoIDEKS3p4IHN6IDEKb1FwIG9uIDEKeGRMIGRlIDEKZG5aIGFuIDEKcWZCIHF1IDEKa0pjIGNoIDEKZlduIGFuIDEKWG1jIGNoIDEKckd4IGVyIDEKc0ZmIHN0IDEKVnd2IHZhIDEKdEtkIHRoIDEKc1F4IHN0IDEKb05tIG9uIDEKdVhqIHF1IDEKWHNxIHF1IDEKeVdjIGNoIDEKaGZDIHRoIDEKSWpkIGRlIDEKZGtXIGRlIDEKTnhuIGFuIDEKanVDIHF1IDEKYlB5IGJlIDEKbEtzIGxlIDEKYUxxIGFuIDEKalBwIGlqIDEKd3BaIHByIDEKZmpFIGlqIDEKek50IHRoIDEKbWhOIHRoIDEKYlFuIGFuIDEKYnhCIGJlIDEKZmRYIGRlIDEKSmN2IHZhIDEKRmRwIGRlIDEKd1Z4IHdhIDEKdG1VIHRoIDEKbmpKIGFuIDEKcXpLIHF1IDEKanREIHRoIDEKYmNYIGNoIDEKR2h4IHRoIDEKeFpqIGlqIDEKdkt3IHZhIDEKcHZPIHZhIDEKZ1hzIG5nIDEKd1J2IHZhIDEKaGdOIHRoIDEKZ3BPIG5nIDEKaFdjIHRoIDEKVXBxIHF1IDEKdndEIHZhIDEKbXhFIG1lIDEKWnZtIHZhIDEKb3pNIG9uIDEKZmJKIGJlIDEKdHBRIHRoIDEKeWVWIGVyIDEKWm5iIGFuIDEKd1h2IHZhIDEKYmNZIGNoIDEKc2daIG5nIDEKcWZNIHF1IDEKZmNMIGNoIDEKbVhsIGxlIDEKdUJxIHF1IDEKanhXIGlqIDEKbXRVIHRoIDEKcWdKIHF1IDEKZEFxIHF1IDEKakJ2IGlqIDEKR3R5IHRoIDEKSmZtIG1lIDEKeHFRIHF1IDEKY0JwIGNoIDEKWHFkIHF1IDEKZnZNIHZhIDEKdVdtIHF1IDEKclNiIGVyIDEKWHFqIHF1IDEKcVRkIHF1IDEKbExnIG5nIDEKSnJwIGVyIDEKb0piIG9uIDEKcFh5IHByIDEKenJRIGVyIDEKY25UIGNoIDEKcXNFIHF1IDEKcFpjIGNoIDEKYlZ5IGJlIDEKcUl6IHF1IDEKZGdSIG5nIDEKbUx2IHZhIDEKaFZsIHRoIDEKcVJqIHF1IDEKZmhBIHRoIDEKekxjIGNoIDEKU2dxIHF1IDEKcExjIGNoIDEKVHhxIHF1IDEKeXBZIHByIDEKdFh6IHRoIDEKZGNDIGNoIDEKaVlmIGluIDEKV3dtIG1lIDEKa1prIGthIDEKWXdyIGVyIDEKZ0Z2IG5nIDEKRm16IHN6IDEKdVFxIHF1IDEKeHdSIHdhIDEKWWZjIGNoIDEKYUlvIGFuIDEKc0JxIHF1IDEKR3piIHN6IDEKandJIGlqIDEKY0ZmIGNoIDEKYVd2IGFuIDEKRWF3IGFuIDEKdmtXIGthIDEKTmZoIHRoIDEKZmxOIGxlIDEKTHBtIG1lIDEKeWxLIGxlIDEKWm5yIGFuIDEKbWNRIGNoIDEKa2ZFIGthIDEKSXlmIG55IDEKcXJWIHF1IDEKZlB4IGZvIDEKZmdKIG5nIDEKaklpIGluIDEKYlB3IHdhIDEKUXl4IG55IDEKUW5iIGFuIDEKV2RtIGRlIDEKbkp0IHRoIDEKcUNkIHF1IDEKZ1psIG5nIDEKTmx6IGxlIDEKWndoIHRoIDEKaVdsIGluIDEKYlV1IHF1IDEKbGJKIGxlIDEKc05xIHF1IDEKcWpVIHF1IDEKd2JUIHdhIDEKeU5jIGNoIDEKbXhNIG1lIDEKcEhrIGthIDEKUmRxIHF1IDEKZ2tFIG5nIDEKaGJOIHRoIDEKVGdxIHF1IDEKZ2pWIG5nIDEKR2p3IGlqIDEKZ3FYIHF1IDEKcVh4IHF1IDEKdlFxIHF1IDEKcE5iIHByIDEKZkp5IG55IDEKeXZaIHZhIDEKek5sIGxlIDEKekRiIHN6IDEKbFV6IGxlIDEKRHh5IG55IDEKV3duIGFuIDEKaFBuIHRoIDEKa05iIGtvIDEKV2RiIGRlIDEKelh0IHRoIDEKcGpMIGlqIDEKdEpnIHRoIDEKam1NIGlqIDEKYlhnIG5nIDEKaFR2IHRoIDEKWXNmIHN0IDEKaG1RIHRoIDEKVnlxIHF1IDEKRnBkIGRlIDEKeVF3IHdhIDEKUGJuIGFuIDEKeFZqIGlqIDEKd2hQIHRoIDEKZlNnIG5nIDEKR3h6IHplIDEKRGZ3IHdhIDEKck14IGVyIDEKek1mIHN6IDEKdkp3IHZhIDEKeEpsIGxlIDEKeGZOIGZvIDEKZFF3IGRlIDEKZnVEIHF1IDEKeGpCIGlqIDEKbFBqIGxlIDEKbXFBIHF1IDEKbWZNIG1lIDEKa3dHIGthIDEKZWFZIGFuIDEKVm1tIG1lIDEKemZTIHN6IDEKRm15IG1lIDEKc3FQIHF1IDEKZktrIGthIDEKUWR2IGRlIDEKZGpaIGRlIDEKcXJSIHF1IDEKdHhLIHRoIDEKYnhIIGJlIDEKalJiIGlqIDEKY2pEIGNoIDEKU3h3IHdhIDEKU3hoIHRoIDEKdnJaIGVyIDEKeG1IIG1lIDEKZGZIIGRlIDEKZkp3IHdhIDEKbXdaIG1lIDEKdlJtIHZhIDEKeHdqIGlqIDEKWHFyIGVyIDEKR3ZqIGlqIDEKaHpGIHRoIDEKeG5LIGFuIDEKeGhVIHRoIDEKTmxzIGxlIDEKemJWIHN6IDEKZlRxIHF1IDEKV3h2IHZhIDEKdXBHIHF1IDEKcUFvIHF1IDEKa0t4IGthIDEKemxEIGxlIDEKaFRsIHRoIDEKR3FyIHF1IDEKR3htIG1lIDEKelBqIHN6IDEKYnZaIHZhIDEKakhjIGNoIDEKaVhnIG5nIDEKS2d6IG5nIDEKSnlpIGluIDEKdkZoIHRoIDEKeXRXIHRoIDEKcUJkIHF1IDEKWGpxIHF1IDEKZGdPIG5nIDEKbWpOIGlqIDEKRGpnIG5nIDEKeklqIHN6IDEKdUR4IHF1IDEKcUpmIHF1IDEKZkF4IGZvIDEKRnNqIHN0IDEKeURmIG55IDEKeGpWIGlqIDEKaGRCIHRoIDEKZHdHIGRlIDEKc2xXIGxlIDEKelliIHN6IDEKdnpPIHN6IDEKdnFPIHF1IDEKSnp2IHN6IDEKeG1HIG1lIDEKS2R3IGRlIDEKeFZxIHF1IDEKanRFIHRoIDEKa0p5IGthIDEKeGpXIGlqIDEKbXdSIG1lIDEKelZ4IHN6IDEKdE1qIHRoIDEKcXFiIHF1IDEKbmxRIGxlIDEKYnhRIGJlIDEKaEp2IHRoIDEKam5ZIGFuIDEKeWZTIG55IDEKTWR3IGRlIDEKelpjIGNoIDEKeXNKIHN0IDEKUXF2IHF1IDEKenhsIGxlIDEKakFxIHF1IDEKbEp3IGxlIDEKa3dKIGthIDEKc3hDIHN0IDEKaEpyIHRoIDEKeEdwIHByIDEKY2NGIGNoIDEKdkdxIHF1IDEKcVNjIGNoIDEKZnFxIHF1IDEKa2tWIGthIDEKZ1ZxIHF1IDEKV3FnIHF1IDEKa0pwIGthIDEKV2xyIGVyIDEKSnd6IHN6IDEKcUVhIGFuIDEKa3JMIGVyIDEKdHFFIHRoIDEKZUp6IGVyIDEKV2h4IHRoIDEKdld3IHZhIDEKUXpoIHRoIDEKcGNGIGNoIDEKVm14IG1lIDEKZHZDIGRlIDEKcWpaIHF1IDEKcGtGIGthIDEKY3ZPIGNoIDEKUXl2IHZhIDEKaE5zIHRoIDEKc25KIGFuIDEKeWpVIGlqIDEKWWZxIHF1IDEKeEx3IHdhIDEKclZ6IGVyIDEKZ093IG5nIDEKZnhMIGZvIDEKc25XIGFuIDEKeVdrIGthIDEKd2dLIG5nIDEKYVRmIGFuIDEKZVZmIGVyIDEKdlpwIHZhIDEKdVZwIHF1IDEKVmpoIHRoIDEKendUIHN6IDEKd1NuIGFuIDEKbk5wIGFuIDEKZ2ZGIG5nIDEKaGNXIHRoIDEKZ1RmIG5nIDEKcWFKIGFuIDEKa3pZIHN6IDEKbGpYIGxlIDEKd01tIG1lIDEKYnRCIHN0IDEKemZFIHN6IDEKYnhPIGJlIDEKd1BjIGNoIDEKZmdLIG5nIDEKZnpXIHN6IDEKZGNYIGNoIDEKcXFSIHF1IDEKa2pxIHF1IDEKdk1oIHRoIDEKZ1pqIG5nIDEKcXR3IHRoIDEKdmtZIGthIDEKbENiIGxlIDEKZHBPIGRlIDEKbVhtIG1lIDEKdldjIGNoIDEKZk9xIHF1IDEKVmd5IG5nIDEKZGtEIGRlIDEKZlFoIHRoIDEKdklxIHF1IDEKbFpyIGVyIDEKektuIGFuIDEKVnB0IHRoIDEKRG13IG1lIDEKTndmIHdhIDEKa1lsIGxlIDEKanBKIGlqIDEKcVhpIHF1IDEKQm5qIGFuIDEKeGZLIGZvIDEKZkNjIGNoIDEKdlBkIGRlIDEKUW5wIGFuIDEKeXBXIHByIDEKdXdKIHF1IDEKUHZiIHZhIDEKY25DIGNoIDEKaHZBIHRoIDEKaEd6IHRoIDEKblp4IGFuIDEKa2JTIGthIDEKU3d4IHdhIDEKaHZQIHRoIDEKa3FHIHF1IDEKYkxxIHF1IDEKcWpQIHF1IDEKc1VvIG9uIDEKbERxIHF1IDEKWmxwIGxlIDEKZHdRIGRlIDEKZGxOIGxlIDEKZlRsIGxlIDEKTnB2IHZhIDEKYk1uIGFuIDEKZE56IHN6IDEKZWZWIGVyIDEKYUN3IGFuIDEKYVdmIGFuIDEKTHFvIHF1IDEKZnpUIHN6IDEKSmpyIGVyIDEKenZLIHN6IDEKbndUIGFuIDEKZlhyIGVyIDEKY0dtIGNoIDEKbHZTIGxlIDEKcURxIHF1IDEKcVJtIHF1IDEKdll0IHRoIDEKaVF2IGluIDEKZmtIIGthIDEKZmNPIGNoIDEKck5uIGFuIDEKcW1TIHF1IDEKa3pSIHN6IDEKRGZjIGNoIDEKcVVzIHF1IDEKeHFQIHF1IDEKc1hrIHN0IDEKWHl0IHRoIDEKcFd0IHRoIDEKamJMIGlqIDEKallkIGlqIDEKa3FWIHF1IDEKRnFtIHF1IDEKeG9YIG9uIDEKenVYIHF1IDEKeFVxIHF1IDEKY2dDIGNoIDEKd0JxIHF1IDEKZ1FwIG5nIDEKam5FIGFuIDEKeVpzIHN0IDEKZmtEIGthIDEKc1ZrIHN0IDEKcXlYIHF1IDEKY0JmIGNoIDEKQ2p5IGlqIDEKZFBxIHF1IDEKd0RnIG5nIDEKZHhCIGRlIDEKRGttIGthIDEKa1BwIGthIDEKaFd6IHRoIDEKQmp2IGlqIDEKSXpmIHN6IDEKSG5rIGFuIDEKclFjIGNoIDEKSnd1IHF1IDEKZmJQIGJlIDEKZnJRIGVyIDEKQW92IG9uIDEKeXFRIHF1IDEKamZZIGlqIDEKeHNIIHN0IDEKenhoIHRoIDEKSmJqIGlqIDEKTWp6IHN6IDEKZ1JwIG5nIDEKR3Z3IHZhIDEKbXpGIHN6IDEKb3FGIHF1IDEKZWpVIGVyIDEKeG1RIG1lIDEKaE9xIHRoIDEKcHdYIHByIDEKemdLIG5nIDEKd0xrIGthIDEKZnFjIGNoIDEKZFBtIGRlIDEKdENnIHRoIDEKcXJGIHF1IDEKcFdsIGxlIDEKckRmIGVyIDEKWW53IGFuIDEKam5RIGFuIDEKdEZiIHRoIDEKcnBVIGVyIDEKcFBqIGlqIDEKeWpNIGlqIDEKam1ZIGlqIDEKQ3B6IHN6IDEKdURuIGFuIDEKdXFZIHF1IDEKUGp4IGlqIDEKcUZ2IHF1IDEKS3RmIHRoIDEKSmNqIGNoIDEKa3BPIHByIDEKcGdaIG5nIDEKa2ZPIGthIDEKdFp2IHRoIDEKakhxIHF1IDEKY1JxIGNoIDEKekRtIHN6IDEKbFBtIGxlIDEKc3ZQIHN0IDEKcWt4IHF1IDEKYk5wIHByIDEKS2pxIHF1IDEKdnFTIHF1IDEKZlFwIHByIDEKdHhSIHRoIDEKSHBmIHByIDEKaVFnIG5nIDEKdnZQIHZhIDEKaUdmIGluIDEKdGpJIHRoIDEKcFduIGFuIDEKUXFnIHF1IDEKcWlGIHRpIDEKWnpyIGVyIDEKYVlmIGFuIDEKempBIHN6IDEKa3dSIGthIDEKZ2tNIG5nIDEKQ2pmIGlqIDEKemdNIG5nIDEKUnhrIGthIDEKYkNkIGRlIDEKWXB2IHZhIDEKd3lFIHdhIDEKaXlCIGluIDEKaFFwIHRoIDEKaXBRIGluIDEKVWNqIGNoIDEKcWtXIHF1IDEKa3JLIGVyIDEKSHBwIHByIDEKeG5OIGFuIDEKandCIGlqIDEKWmRtIGRlIDEKbVlqIGlqIDEKdFF4IHRoIDEKcXdTIHF1IDEKSHhvIG9uIDEKcUR4IHF1IDEKY1hkIGNoIDEKZ2RPIG5nIDEKYUVvIGFuIDEKVHdkIGRlIDEKYXZRIGFuIDEKbGhaIHRoIDEKbHpWIGxlIDEKYkhmIGJlIDEKYkpuIGFuIDEKVXF6IHF1IDEKdUZ5IHF1IDEKak5sIGxlIDEKeEJwIHByIDEKZFJiIGRlIDEKbmxUIGFuIDEKd3JPIGVyIDEKbHpXIGxlIDEKZllmIGZvIDEKbVJ3IG1lIDEKclh5IGVyIDEKcXlSIHF1IDEKZkd2IHZhIDEKVXdrIGthIDEKa1htIGthIDEKaEp5IHRoIDEKWGd2IG5nIDEKeFl2IHZhIDEKeVlkIGRlIDEKeHpDIHN6IDEKZ2pCIG5nIDEKanpJIHN6IDEKenJPIGVyIDEKdHFGIHRoIDEKdndNIHZhIDEKekNxIHF1IDEKbGpMIGxlIDEKdm5aIGFuIDEKZURxIHF1IDEKUXZxIHF1IDEKcGZMIHByIDEKaVJiIGluIDEKZ2RSIG5nIDEKcUF2IHF1IDEKdm5MIGFuIDEKbWtUIGthIDEKcFZrIGthIDEKeEtoIHRoIDEKak5rIGlqIDEKakx0IHRoIDEKY05wIGNoIDEKdG1QIHRoIDEKdlZ0IHRoIDEKcWZQIHF1IDEKVXFvIHF1IDEKRG5wIGFuIDEKeUdiIGJlIDEKc0hkIHN0IDEKcHdGIHByIDEKZlB5IG55IDEKRHJxIHF1IDEKYkpoIHRoIDEKc1FwIHN0IDEKSXdzIHN0IDEKdUN3IHF1IDEKTHdqIGlqIDEKckZ3IGVyIDEKc0pwIHN0IDEKeGlJIGluIDEKUnF2IHF1IDEKYmtRIGthIDEKcU5wIHF1IDEKZFlsIGxlIDEKVm1mIG1lIDEKbFljIGNoIDEKb1B3IG9uIDEKa2pPIGlqIDEKbUtiIG1lIDEKZkRmIGZvIDEKZkZiIGJlIDEKVmh2IHRoIDEKSGpxIHF1IDEKcWZLIHF1IDEKS2pwIGlqIDEKdlRnIG5nIDEKcEJxIHF1IDEKSHRkIHRoIDEKcE5kIGRlIDEKYlF2IHZhIDEKYVN4IGFuIDEKand4IGlqIDEKVXl4IG55IDEKd1ZqIGlqIDEKSW9xIHF1IDEKTmhtIHRoIDEKSHFoIHRoIDEKclVxIHF1IDEKYkJ4IGJlIDEKR3FiIHF1IDEKQ2N3IGNoIDEKaFp3IHRoIDEKUWJsIGxlIDEKeEZ2IHZhIDEKc1p2IHN0IDEKcXpZIHF1IDEKcERiIHByIDEKY2ZSIGNoIDEKcnFrIHF1IDEKZnpQIHN6IDEKaHFPIHRoIDEKcHpIIHN6IDEKcVNqIHF1IDEKcHhKIHByIDEKeGJxIHF1IDEKc1hmIHN0IDEKeWJUIGJlIDEKc0huIGFuIDEKdlR6IHN6IDEKUGdmIG5nIDEKaEt3IHRoIDEKalBqIGlqIDEKd1R4IHdhIDEKalNqIGlqIDEKRmd6IG5nIDEKYktrIGthIDEKZVVqIGVyIDEKY0RmIGNoIDEKeEZnIG5nIDEKY25XIGFuIDEKdFV5IHRoIDEKSmd4IG5nIDEKeXVGIHF1IDEKdnlRIHZhIDEKeEN6IHN6IDEKalJoIHRoIDEKY1h4IGNoIDEKa0drIGthIDEKWG5oIHRoIDEKcVBoIHRoIDEKbGZaIGxlIDEKcVZhIGFuIDEKeHdzIHN0IDEKRHp0IHRoIDEKeGZHIGZvIDEKZlhoIHRoIDEKamdWIG5nIDEKdkpqIGlqIDEKYlhqIGlqIDEKY2dHIGNoIDEKdnVXIHF1IDEKdHhHIHRoIDEKWnh6IHN6IDEKZk5jIGNoIDEKb0JxIHF1IDEKV2d2IG5nIDEKSHd6IHN6IDEKb2FXIGFuIDEKdlJnIG5nIDEKdVh6IHF1IDEKZnpRIHN6IDEKYmNCIGNoIDEKQm53IGFuIDEKZ3ZCIG5nIDEKclFtIGVyIDEKY3ZVIGNoIDEKeGhSIHRoIDEKenhSIHN6IDEKYnRaIHRoIDEKS2tmIGthIDEKekp3IHN6IDEKdXdxIHF1IDEKcFN4IHByIDEKeVJ2IHZhIDEKbkNxIGFuIDEKdEd2IHRoIDEKd2dUIG5nIDEKa056IHN6IDEKb0hrIG9uIDEKV3p3IHN6IDEKaHZVIHRoIDEKc2tYIHN0IDEKdll6IHN6IDEKam9aIG9uIDEKbkdxIGFuIDEKcW1NIHF1IDEKQm1yIGVyIDEKc1ZnIG5nIDEKdUN2IHF1IDEKaVh6IGluIDEKdktwIHZhIDEKbEV3IGxlIDEKaGhGIHRoIDEKaXdTIGluIDEKcXlVIHF1IDEKampZIGlqIDEKWWdtIG5nIDEKd0pkIGRlIDEKZVFwIGVyIDEKWWZiIGJlIDEKV3BnIG5nIDEKamRTIGRlIDEKdm1HIHZhIDEKbWRUIGRlIDEKZ3JaIG5nIDEKeXFOIHF1IDEKcEJwIHBvIDEKZmtaIGthIDEKcWVCIHF1IDEKY0dzIGNoIDEKRXFnIHF1IDEKY2ZPIGNoIDEKdVN4IHF1IDEKRGhmIHRoIDEKUWpyIGVyIDEKeHFaIHF1IDEKeVFmIG55IDEKbnBZIGFuIDEKeERjIGNoIDEKYm1RIG1lIDEKa01iIGthIDEKYXFDIGFuIDEKallsIGxlIDEKd2tEIGthIDEKY1dzIGNoIDEKeXlKIG55IDEKd3ZWIHZhIDEKbFliIGxlIDEKcXJXIHF1IDEKYnF6IHF1IDEKd2pDIGlqIDEKdkt5IHZhIDEKdmpEIGlqIDEKc0RzIHN0IDEKZktmIGZvIDEKenNUIHN0IDEKalljIGNoIDEKWXd0IHRoIDEKSGp3IGlqIDEKd0l5IHdhIDEKZmZVIGZvIDEKV254IGFuIDEKZUhxIHF1IDEKZld5IG55IDEKTnd2IHZhIDEKeVNqIGlqIDEKamZDIGlqIDEKeFhxIHF1IDEKZ3JJIG5nIDEKb1ZmIG9uIDEKVmZ5IG55IDEKamdZIG5nIDEKSGpwIGlqIDEKenFDIHF1IDEKcXlIIHF1IDEKa2NRIGNoIDEKenNFIHN0IDEKcEN4IHByIDEKa3dQIGthIDEKamZRIGlqIDEKd1pnIG5nIDEKVnhtIG1lIDEKSnZiIHZhIDEKc0V3IHN6IDEKakxsIGxlIDEKZE94IGRlIDEKd3BTIHByIDEKeUlvIG9uIDEKdEd0IHRoIDEKdkh6IHN6IDEKeEdqIGlqIDEKZ3ZRIG5nIDEKcE5yIGVyIDEKZ3FZIHF1IDEKc2ZLIHN0IDEKZFlkIGRlIDEKc01tIHN0IDEKb0J4IG9uIDEKcXNGIHF1IDEKYm1JIG1lIDEKdG1DIHRoIDEKd2xXIGxlIDEKVHdnIG5nIDEKc3JWIGVyIDEKck56IGVyIDEKVXVjIGNoIDEKR2pnIG5nIDEKbmpZIGFuIDEKdk9oIHRoIDEKUW1oIHRoIDEKRm5mIGFuIDEKeXZZIHZhIDEKcEdmIHByIDEKbEhwIGFsIDEKcWdaIHF1IDEKamJTIGlqIDEKeFFpIGluIDEKdHFHIHRoIDEKbndJIGFuIDEKcWtZIHF1IDEKV3h5IG55IDEKaERtIHRoIDEKcVFlIHF1IDEKaUpwIGluIDEKeHJOIGVyIDEKZEdnIG5nIDEKa1F4IGthIDEKSnFnIHF1IDEKaE1rIHRoIDEKbGpUIGxlIDEKWGtuIGFuIDEKenRxIHRoIDEKcU5kIHF1IDEKc3VZIHF1IDEKVW9hIGFuIDEKZGpSIGRlIDEKbUZmIG1lIDEKanpxIHF1IDEKempSIHN6IDEKTm5sIGFuIDEKdEpwIHRoIDEKZ1pyIG5nIDEKQnd4IHdhIDEKZFd6IHN6IDEKbHdNIGxlIDEKSXFrIHF1IDEKdHdaIHRoIDEKTXd0IHRoIDEKa2pZIGlqIDEKekJ2IHN6IDEKaXdGIGluIDEKckh6IGVyIDEKU3FoIHRoIDEKb0txIHF1IDEKcWpPIHF1IDEKaHRRIHRoIDEKY0t4IGNoIDEKYnFXIHF1IDEKa1loIHRoIDEKdEJxIHRoIDEKZ21KIG5nIDEKZVl4IGVyIDEKaEd2IHRoIDEKaFFkIHRoIDEKcG5YIGFuIDEKYnZKIHZhIDEKc3hNIHN0IDEKcU50IHRoIDEKV2xqIGxlIDEKa3FEIHF1IDEKcWRaIHF1IDEKbWhZIHRoIDEKdGxDIHRoIDEKcHFJIHF1IDEKeWJEIGJlIDEKeEFlIGVyIDEKcEx0IHRoIDEKbEhiIGxlIDEKeFZjIGNoIDEKZGhOIHRoIDEKcXhVIHF1IDEKZFZmIGRlIDEKWmttIGthIDEKa3BEIGthIDEKcGpIIGlqIDEKeUdtIG1lIDEKaXlQIGluIDEKd21LIG1lIDEKbUp6IHN6IDEKZm1MIG1lIDEKY0J2IGNoIDEKVnZmIHZhIDEKRXFsIHF1IDEKb2hWIHRoIDEKbEN4IGxlIDEKb1djIGNoIDEKbnpYIGFuIDEKZklqIGlqIDEKa1B0IHRoIDEKcFltIG1lIDEKemhHIHRoIDEKY3FOIGNoIDEKdW1RIHF1IDEKd1hzIHN0IDEKbFpqIGxlIDEKU3hzIHN0IDEKS3FkIHF1IDEKdFdjIHRoIDEKS2NjIGNoIDEKcHZCIHBvIDEKdGdSIHRoIDEKeXJOIGVyIDEKeFFyIGVyIDEKWHZ6IHN6IDEKbEpoIHRoIDEKWGZrIGthIDEKRnZyIGVyIDEKZlViIGJlIDEKbFpiIGxlIDEKZ2RJIG5nIDEKam9JIG9uIDEKeUtxIHF1IDEKdHd6IHRoIDEKcUpqIHF1IDEKdnhNIHZhIDEKVnpzIHN0IDEKZmpSIGlqIDEKS216IHN6IDEKcUl3IHF1IDEKanlEIGlqIDEKcWJVIHF1IDEKcWtaIHF1IDEKalZnIG5nIDEKRmhqIHRoIDEKcUpxIHF1IDEKd1BxIHF1IDEKVWVvIGVyIDEKelhkIHN6IDEKZ0ZiIG5nIDEKakp5IGlqIDEKTnNqIHN0IDEKbE1iIGxlIDEKeVFuIGFuIDEKZG5NIGFuIDEKeVJnIG5nIDEKRmpjIGNoIDEKZEtnIG5nIDEKZ3FWIG5nIDEKZ0NrIG5nIDEKc096IHN0IDEKaGxPIHRoIDEKcWJOIHF1IDEKc2pOIHN0IDEKVWp6IHN6IDEKclZtIGVyIDEKV2pzIHN0IDEKYm1NIG1lIDEKVnp4IHN6IDEKaFpnIHRoIDEKekZ0IHRoIDEKeWhKIHRoIDEKdk5rIGthIDEKemJUIHN6IDEKeG1KIG1lIDEKRmNzIGNoIDEKeVRjIGNoIDEKY1NnIGNoIDEKcW1QIHF1IDEKbUZ6IHN6IDEKYmRJIGRlIDEKamxLIGxlIDEKYm5CIGFuIDEKcXlRIHF1IDEKVmprIGlqIDEKaHpVIHRoIDEKcWdwIHF1IDEKbHFXIHF1IDEKZk5uIGFuIDEKVGpwIGlqIDEKdmxWIGxlIDEKclZwIGVyIDEKYkxkIGRlIDEKeWRRIGRlIDEKZ1lnIG5nIDEKcWhFIHRoIDEKR3NxIHF1IDEKZ1d6IG5nIDEKUXRrIHRoIDEKSHp3IHN6IDEKa0lvIGhvIDEKa2ZDIGthIDEKekJnIG5nIDEKakpwIGlqIDEKZUlxIHF1IDEKdnVCIHF1IDEKV2JnIG5nIDEKSmpwIGlqIDEKbFhrIGxlIDEKVGZ4IGZvIDEKekxsIGxlIDEKZHFUIHF1IDEKb1pxIHF1IDEKSmZ1IHF1IDEKUWhoIHRoIDEKcWtLIHF1IDEKRWpjIGNoIDEKendOIHN6IDEKeVFxIHF1IDEKZERwIGRlIDEKUHd3IHdhIDEKenRDIHRoIDEKanRIIHRoIDEKeXJYIGVyIDEKdndUIHZhIDEKeVJoIHRoIDEKd1F0IHRoIDEKbFh6IGxlIDEKY2ZMIGNoIDEKRndsIGxlIDEKck53IGVyIDEKQmh4IHRoIDEKZ2xaIG5nIDEKZ2NEIGNoIDEKU2ZzIHN0IDEKVXpmIHN6IDEKVGRsIGxlIDEKZFJuIGFuIDEKdll3IHZhIDEKeGNEIGNoIDEKeGNDIGNoIDEKbEJ4IGxlIDEKZ0hxIHF1IDEKd0p5IHdhIDEKeXJPIGVyIDEKdnFGIHF1IDEKdFliIHRoIDEKWmp3IGlqIDEKakxrIGlqIDEKSHZmIHZhIDEKcG5TIGFuIDEKcGNUIGNoIDEKc0ZrIHN0IDEKZGNPIGNoIDEKelB3IHN6IDEKdk5mIHZhIDEKR2R4IGRlIDEKZGxQIGxlIDEKakx4IGpvIDEKalpqIGlqIDEKd3dUIHdhIDEKdEd4IHRoIDEKZmhTIHRoIDEKWHRrIHRoIDEKeG5XIG9uIDEKcGtKIGthIDEKeElvIG9uIDEKWnhiIGJlIDEKbk9qIGFuIDEKd0hqIGlqIDEKZmpTIGlqIDEKd2RMIGRlIDEKamJOIGlqIDEKeWtPIGthIDEKeHFCIHF1IDEKcXpOIHF1IDEKUWJxIHF1IDEKRnF3IHF1IDEKald3IGlqIDEKbnhNIGFuIDEKdHBYIHRoIDEKVHR6IHRoIDEKenNIIHN0IDEKZmp6IHN6IDEKeElnIG5nIDEKeGtZIGthIDEKRnFhIGFuIDEKb0drIG9uIDEKSG5jIGFuIDEKalBxIHF1IDEKemxXIGxlIDEKdVJ4IHF1IDEKdUd4IHF1IDEKall2IGlqIDEKS3B6IHN6IDEKZ1FvIG5nIDEKS3d4IHdhIDEKak53IGlqIDEKdGREIHRoIDEKeUdqIGlqIDEKTGJxIHF1IDEKUnJjIGNoIDEKcXZYIHF1IDEKaGhLIHRoIDEKa1p4IGthIDEKeERmIGZvIDEKUGpmIGlqIDEKY2dGIGNoIDEKdkNrIGthIDEKZld3IG93IDEKbUpwIG1lIDEKZlhlIGVyIDEKdVlwIHF1IDEKakhrIGlqIDEKd2RQIGRlIDEKcUZrIHF1IDEKanJHIGVyIDEKZmdEIG5nIDEKZnNHIHN0IDEKVmdiIG5nIDEKeEFhIGFuIDEKZ3RaIHRoIDEKdGxxIHRoIDEKVG13IG1lIDEKZ3lZIG5nIDEKUXh0IHRoIDEKVXh6IHN6IDEKaVZyIGluIDEKenFJIHF1IDEKTmJ3IHdhIDEKRGhkIHRoIDEKbU9xIHF1IDEKaUJkIGluIDEKY3FCIGNoIDEKelFxIHF1IDEKV2J2IHZhIDEKUWtzIGthIDEKcVBhIGFuIDEKdGZJIHRoIDEKbVpzIHN0IDEKcERzIHN0IDEKbkpqIGFuIDEKemNwIGNoIDEKdFdqIHRoIDEKWnhwIHByIDEKdlB5IHZhIDEKZHhLIGRlIDEKb1B2IG9uIDEKcmpOIGVyIDEKb1FoIHRoIDEKdndIIHZhIDEKUWhwIHRoIDEKeHNVIHN0IDEKa0dxIHF1IDEKd2pXIGlqIDEKUHd4IHdhIDEKQmJuIGFuIDEKeE9xIHF1IDEKcXBOIHF1IDEKbmJxIGFuIDEKenBNIHN6IDEKam1CIGlqIDEKTnFqIHF1IDEKellkIHN6IDEKWWJjIGNoIDEKeGNXIGNoIDEKZ1BnIG5nIDEKUXlzIHN0IDEKQmhxIHRoIDEKeUd4IG55IDEKcXhMIHF1IDEKSmZkIGRlIDEKbWJWIG1lIDEKcGtZIGthIDEKY1dsIGNoIDEKd0JnIG5nIDEKdk93IHZhIDEKR3BiIHByIDEKUHBxIHF1IDEKZnNYIHN0IDEKdnRRIHRoIDEKeUNqIGlqIDEKeW9ZIG9uIDEKcHdRIHByIDEKeUdkIGRlIDEKcXRKIHRoIDEKbnJaIGFuIDEKZVZ4IGVyIDEKTnJxIHF1IDEKd3RBIHRoIDEKZkhmIGZvIDEKZ3NRIG5nIDEKaGxDIHRoIDEKZExjIGNoIDEKempDIHN6IDEKanZZIGlqIDEKdElqIHRoIDEKcHZMIHZhIDEKSGhnIHRoIDEKeU12IHZhIDEKeE1uIGFuIDEKdFl4IHRoIDEKdlZwIHZhIDEKWW5iIGFuIDEKdm1YIHZhIDEKcWpRIHF1IDEKdlFyIGVyIDEKaFF6IHRoIDEKbU5mIG1lIDEKemZZIHN6IDEKeGpTIGlqIDEKakJtIGlqIDEKanBxIHF1IDEKbkpxIGFuIDEKS256IGFuIDEKZ0dmIG5nIDEKcFp4IHByIDEKR3FsIHF1IDEKVXFtIHF1IDEKZVd2IGVyIDEKZkdnIG5nIDEKcXNBIHF1IDEKdWhZIHRoIDEKeGhIIHRoIDEKeXhTIG55IDEKcnhLIGVyIDEKaE5jIHRoIDEKVndoIHRoIDEKYU52IGFuIDEKUXp2IHN6IDEKZlFuIGFuIDEKanpIIHN6IDEKUnZoIHRoIDEKUXB0IHRoIDEKcVh2IHF1IDEKcGhRIHRoIDEKUWxiIGxlIDEKYm5RIGFuIDEKbmpLIGFuIDEKSmpzIHN0IDEKdEp4IHRoIDEKaXdYIGluIDEKblZkIGFuIDEKa3pBIHN6IDEKdXdFIHF1IDEKVHNxIHF1IDEKaHFNIHRoIDEKUm5xIGFuIDEKckRuIGFuIDEKeU5iIGJlIDEKdXFOIHF1IDEKZkt3IHdhIDEKSXFuIGFuIDEKeEhjIGNoIDEKV3dxIHF1IDEKZ013IG5nIDEKeVdmIG55IDEKdmNPIGNoIDEKR2ttIGthIDEKZlJoIHRoIDEKZE1jIG5kIDEKWmh4IHRoIDEKcWxIIHF1IDEKcVVsIHF1IDEKekhmIHN6IDEKd0NrIGthIDEKUWZqIGlqIDEKUWt3IGthIDEKbVloIHRoIDEKZGNVIGNoIDEKalRmIGlqIDEKcmpGIGVyIDEKaHhRIHRoIDEKd05mIHdhIDEKTGdnIG5nIDEKRmR1IHF1IDEKdEp3IHRoIDEKeWNRIGNoIDEKeFhmIGZvIDEKd3dRIHdhIDEKZXZRIGVyIDEKRmNqIGNoIDEKQ3lxIHF1IDEKdHBGIHRoIDEKQXhqIGlqIDEKekdnIG5nIDEKUWJiIGJlIDEKdmZZIHZhIDEKb1hkIG9uIDEKd0FxIHF1IDEKWGJrIGthIDEKd21SIG1lIDEKcnpOIGVyIDEKZmNCIGNoIDEKQndjIGNoIDEKeGdTIG5nIDEKZFFyIGVyIDEKa0p3IGthIDEKYmd4IG5nIDEKcFpzIHN6IDEKd2ZBIHdhIDEKam1YIGlqIDEKZE5wIGRlIDEKVnhyIGVyIDEKUnZiIHZhIDEKd1psIGxlIDEKd2dBIG5nIDEKV3JxIHF1IDEKSmNxIGNoIDEKbGpXIGxlIDEKcVB0IHRoIDEKZ2pZIG5nIDEKalVvIG9uIDEKbUlqIGlqIDEKSHB5IHByIDEKTXBqIGlqIDEKYmtPIGthIDEKQXZ6IHN6IDEKdktrIGthIDEKQmZ6IHN6IDEKeVlqIGlqIDEKRWdxIHF1IDEKd3hIIHdhIDEKekhoIHRoIDEKc3ZBIHN0IDEKemNQIGNoIDEKQnhvIG9uIDEKaFN2IHRoIDEKTHh0IHRoIDEKaEJ6IHRoIDEKY1drIGNoIDEKeEJ2IHZhIDEKaHdOIHRoIDEKbWtKIGthIDEKb05qIG9uIDEKVWdxIHF1IDEKalpxIHF1IDEKeGZQIGZvIDEKYll2IHZhIDEKcXhGIHF1IDEKZGNJIGNoIDEKZGhZIHRoIDEKY3ZQIGNoIDEKcVV5IHF1IDEKbXhDIG1lIDEKelB4IHN6IDEKTnFsIHF1IDEKWWZ3IHdhIDEKV2dwIG5nIDEKamdEIG5nIDEKUWZxIHF1IDEKbGNXIGNoIDEKcXh5IHF1IDEKWHBxIHF1IDEKd3JEIGVyIDEKYkVvIG9uIDEKYnpWIHN6IDEKZndTIHdhIDEKbUxqIGlqIDEKd01yIGVyIDEKdkZiIHZhIDEKemZUIHN6IDEKblJrIGFuIDEKa0poIHRoIDEKUm13IG1lIDEKbnFSIGFuIDEKcXBPIHF1IDEKYkhiIGJlIDEKVGtxIHF1IDEKc2pHIHN0IDEKcWFUIGFuIDEKUHFsIHF1IDEKaGxRIHRoIDEKa3pXIHN6IDEKeUZjIGNoIDEKdUJ2IHF1IDEKdnhPIHZhIDEKcXZDIHF1IDEKWXF4IHF1IDEKakNiIGlqIDEKUWprIGlqIDEKZkJoIHRoIDEKdktxIHF1IDEKck1nIG5nIDEKaFJ3IHRoIDEKeWtVIGthIDEKYlVxIHF1IDEKdll2IHZhIDEKUGR4IGRlIDEKb0d2IG9uIDEKakx5IGlqIDEKZHVZIHF1IDEKV2NwIGNoIDEKb0d4IG9uIDEKdkdsIGxlIDEKSmR6IHN6IDEKaWpIIGluIDEKbWxYIGxlIDEKak5yIGVyIDEKa0NxIHF1IDEKR2hoIHRoIDEKck12IGVyIDEKQmdwIG5nIDEKYkZ0IHRoIDEKdVdsIHF1IDEKZFhnIG5nIDEKV2NmIGNoIDEKZGJJIGRlIDEKYkd4IGJlIDEKZXhRIGVyIDEKaldqIGpvIDEKcFFiIHByIDEKamNIIGNoIDEKcU9sIHF1IDEKbXRMIHRoIDEKY3JDIGNoIDEKcEJoIHRoIDEKV2x6IGxlIDEKbkhuIGFuIDEKSGZwIHByIDEKWHBjIGNoIDEKVXhwIHByIDEKS3NxIHF1IDEKeFdrIGthIDEKbnFaIGFuIDEKQ3hkIGRlIDEKekp4IHN6IDEKcldxIHF1IDEKQ2JxIHF1IDEKcXFQIHF1IDEKbGhVIHRoIDEKVWZ2IHZhIDEKVXhnIG5nIDEKaEpmIHRoIDEKbnZRIGFuIDEKZGhGIHRoIDEKQ3ZiIHZhIDEKYVBmIGFuIDEKSnhqIGlqIDEKRHdwIHByIDEKSXh3IHdhIDEKa2ZTIGthIDEKclptIGVyIDEKZm1FIG1lIDEKc0xxIHF1IDEKYm1SIG1lIDEKdUNzIHF1IDEKa0ZtIGthIDEKS3FrIHF1IDEKeFFrIGthIDEKU2ZuIGFuIDEKZmdVIG5nIDEKdnZUIHZhIDEKbVFlIGVyIDEKR2J0IHRoIDEKdGJZIHRoIDEKbFFrIGxlIDEKY0loIHRoIDEKVGpxIHF1IDEKblFnIGFuIDEKeVlwIHByIDEKcVB3IHF1IDEKeE9hIGFuIDEKcE53IHByIDEKZkp6IHN6IDEKekhiIHN6IDEKa0JoIHRoIDEKZmRFIGRlIDEKd1BnIG5nIDEKbFZ2IGxlIDEKbVB3IG1lIDEKUm1nIG5nIDEKeG9FIG9uIDEKaG5KIHRoIDEKdXZFIHF1IDEKV29xIHF1IDEKdWNYIGNoIDEKbm1EIGFuIDEKcGNYIGNoIDEKaER3IHRoIDEKZGdJIG5nIDEKdlZkIGRlIDEKdERoIGNoIDEKakhuIGFuIDEKaGtYIHRoIDEKcHhUIHByIDEKeFl6IHN6IDEKclRwIGVyIDEKVWJ6IHN6IDEKTGxtIGxlIDEKeWpaIGlqIDEKUXNzIHN0IDEKY2ZNIGNoIDEKamJHIGJlIDEKSmZ6IHN6IDEKbVdiIG1lIDEKakRwIGlqIDEKbFd6IGxlIDEKY1h5IGNoIDEKb1FyIGVyIDEKdWNaIGNoIDEKY3ZOIGNoIDEKY3ZLIGNoIDEKekRrIHN6IDEKYkxyIGVyIDEKZERsIGxlIDEKaGhEIHRoIDEKdm1LIHZhIDEKaEx0IHRoIDEKbXFXIHF1IDEKQmZzIHN0IDEKQWNqIGNoIDEKZGNHIGNoIDEKeUpjIGNoIDEKbWZTIG1lIDEKZHJMIGVyIDEKcXlLIHF1IDEKdFF6IHRoIDEKanJMIGVyIDEKY2NKIGNoIDEKd3BYIHByIDEKWnpmIHN6IDEKc25VIGFuIDEKcUV3IHF1IDEKdFFiIHRoIDEKbVBkIGRlIDEKdkpxIHF1IDEKdnBVIHZhIDEKdnpNIHN6IDEKdVpiIHF1IDEKeXdVIHdhIDEKUmpzIHN0IDEKaEt0IHRoIDEKQmZiIGJlIDEKd3VRIHF1IDEKYnZNIHZhIDEKeWlXIGluIDEKaHFDIHRoIDEKaVVxIHF1IDEKbEJkIGxlIDEKWnhqIGlqIDEKd3BXIHByIDEKckhtIGVyIDEKbWhRIHRoIDEKZk1iIGJlIDEKdldmIHZhIDEKRmRxIHF1IDEKakdiIGlqIDEKRGh3IHRoIDEKY2pSIGNoIDEKa3ZEIGthIDEKcXZEIHF1IDEKWG1rIGthIDEKQ2pqIGlqIDEKa2tYIGthIDEKcWtGIHF1IDEKdldnIG5nIDEKTXNxIHF1IDEKbk52IGFuIDEKSHp1IHF1IDEKenJZIGVyIDEKaGdCIHRoIDEKcHdCIHByIDEKSnhjIGNoIDEKdmNKIGNoIDEKc1l3IHN0IDEKVHF4IHF1IDEKZUpmIGxlIDEKY3pKIGNoIDEKUXloIHRoIDEKYnZWIHZhIDEKWHloIHRoIDEKZmpxIHF1IDEKZFljIGNoIDEKcEJ4IHByIDEKanZSIGlqIDEKZ2JIIG5nIDEKeWdIIG5nIDEKaGJWIHRoIDEKbHdVIGxlIDEKdEprIHRoIDEKcEl3IHByIDEKVmpsIGxlIDEKRGdtIG5nIDEKbnZSIGFuIDEKeVJwIHByIDEKZk9qIGlqIDEKRWNmIGNoIDEKWnJmIGVyIDEKbXhEIG1lIDEKSXFmIHF1IDEKekJqIHN6IDEKdFRzIHRoIDEKbHFCIHF1IDEKa0N2IGthIDEKblZoIHRoIDEKakdxIHF1IDEKY2dRIGNoIDEKUHBkIGRlIDEKSmNkIGNoIDEKaGhQIHRoIDEKc0xnIG5nIDEKeFl0IHRoIDEKUXBzIHN0IDEKc2ZFIHN0IDEKd3hSIHdhIDEKcEZwIHByIDEKWW1mIG1lIDEKSmd5IG5nIDEKeXZJIHZhIDEKTmN6IGNoIDEKd0JmIHdhIDEKclZ4IGVyIDEKanZYIGlqIDEKbllwIGFuIDEKbk5iIGFuIDEKY1FpIGNoIDEKUXd5IHdhIDEKdlBmIHZhIDEKcXZkIHF1IDEKaGtEIHRoIDEKV21yIGVyIDEKZ2RZIG5nIDEKS2pqIGlqIDEKcXNOIHF1IDEKdkpnIG5nIDEKbURjIGNoIDEKa3ZGIGthIDEKa1d4IGthIDEKeFl1IHF1IDEKZU1xIHF1IDEKbVl5IG1lIDEKSHh0IHRoIDEKcGJNIHByIDEKSHdkIGRlIDEKbVd1IHF1IDEKek5zIHN0IDEKUWpoIHRoIDEKYXFEIGFuIDEKR2NkIGNoIDEKYnRYIHRoIDEKWnFsIHF1IDEKVWp3IGlqIDEKeXZNIHZhIDEKSGh3IHRoIDEKeldkIHN6IDEKcFlqIGlqIDEKeFd0IHRoIDEKeWxPIGxlIDEKY25YIGNoIDEKY01mIGNoIDEKcEtiIHByIDEKd29WIG9uIDEKZnpHIHN6IDEKTHFiIHF1IDEKZU9qIGVyIDEKR3RiIHRoIDEKY2xYIGNoIDEKa2RDIGRlIDEKY2ZxIGNoIDEKaEtrIHRoIDEKY0ppIGNoIDEKdVNiIHF1IDEKamdUIG5nIDEKdGNHIHRoIDEKcU52IHF1IDEKZnBCIHByIDEKdlB3IHZhIDEKam1BIGlqIDEKZHhJIGRlIDEKakdnIG5nIDEKQnZnIG5nIDEKcXJDIHF1IDEKblB4IGFuIDEKUW1uIGFuIDEKY3FDIGNoIDEKa0ZoIHRoIDEKSnRmIHRoIDEKQ3F6IHF1IDEKckNkIGVyIDEKWm1zIHN0IDEKZFZxIHF1IDEKR3dnIG5nIDEKY3dQIGNoIDEKd1Z1IHF1IDEKZE5nIG5nIDEKalhjIGNoIDEKTWJ6IHN6IDEKd3ZHIHZlIDEKVnB3IHByIDEKeVhxIHF1IDEKaGxLIHRoIDEKcFl2IHZhIDEKRmJkIGRlIDEKemNWIGNoIDEKclFrIGVyIDEKd3ROIHRoIDEKcWVJIHF1IDEKZUd0IHRoIDEKa01xIHF1IDEKa3FTIHF1IDEKY3FkIGNoIDEKcExmIHBvIDEKeHZPIHZhIDEKcmZIIGVyIDEKZ0lxIHF1IDEKUHFrIHF1IDEKeENuIGFuIDEKZFZzIHN0IDEKaXFZIHF1IDEKYnNKIHN0IDEKVnd3IHdhIDEKWm5tIGFuIDEKWXJ6IGVyIDEKUnZ6IHN6IDEKZHpLIGRlIDEKemJXIHN6IDEKdGt4IHRoIDEKeGtQIGthIDEKa3pTIHN6IDEKZ1hxIHF1IDEKTHhmIGZvIDEKRndyIGVyIDEKbEhzIGxlIDEKenJCIGVyIDEKak5iIGlqIDEKSHh5IG55IDEKR2Z3IHdhIDEKRWd3IG5nIDEKSnh3IHdhIDEKdFZtIHRoIDEKYndRIHdhIDEKZ0l4IG5nIDEKV3F1IHVuIDEKanZJIGlqIDEKY0djIGNoIDEKa1NiIGthIDEKaHhHIHRoIDEKekhtIHN6IDEKSnBrIGthIDEKZlZiIGJlIDEKVWtmIGthIDEKcnhGIGVyIDEKZFZ1IHF1IDEKc2RYIHN0IDEKbWpNIGlqIDEKeHdxIHF1IDEKT2drIG5nIDEKcWhyIHRoIDEKdmZBIHZhIDEKcWJBIHF1IDEKTGZ1IHF1IDEKaHpZIHRoIDEKaUhmIGluIDEKanhiIGlqIDEKdm1QIHZhIDEKYnZJIHZhIDEKZm1IIG1lIDEKcXR4IHRoIDEKYnZRIHZhIDEKcXpYIHF1IDEKYlZuIGFuIDEKWG10IHRoIDEKcVhvIHF1IDEKcGZEIHByIDEKZkNkIGRlIDEKdmJ4IHZhIDEKWmh6IHRoIDEKS3dnIG5nIDEKcmNKIGNoIDEKamxUIGxlIDEKanpNIHN6IDEKcnBQIGVyIDEKdG1BIHRoIDEKYVl3IGFuIDEKekJxIHF1IDEKeGhUIHRoIDEKeUxxIHF1IDEKY0tmIGNoIDEKcWRQIHF1IDEKWWJ4IGJlIDEKZEhzIHN0IDEKamhIIHRoIDEKQnN2IHN0IDEKclp0IHRoIDEKbWhKIHRoIDEKWndxIHF1IDEKa1hmIGthIDEKenZUIHN6IDEKeWlDIGluIDEKZ2tUIG5nIDEKbkp3IGFuIDEKenBWIHN6IDEKdFBxIHRoIDEKY1Z0IHRoIDEKZEJnIG5nIDEKY1JmIGNoIDEKdlJxIHF1IDEKamdBIG5nIDEKYk16IHN6IDEKaEpoIHRoIDEKbUhkIGRlIDEKQ2txIHF1IDEKcWNqIGNoIDEKeUliIGJlIDEKd3FFIHF1IDEKcE1oIHRoIDEKSHFqIHF1IDEKalp1IHF1IDEKaXFPIHF1IDEKdHFDIHRoIDEKcW9LIHF1IDEKS25xIGFuIDEKYlFtIG1lIDEKdXVYIHF1IDEKV3pjIGNoIDEKUHh5IG55IDEKUWdmIG5nIDEKc0Z3IHN0IDEKZ0hmIG5nIDEKa2dOIG5nIDEKckN3IGVyIDEKWWp5IGlqIDEKcG5WIGFuIDEKZmJTIGJlIDEKaUh6IGluIDEKa0d4IGthIDEKa3dTIGthIDEKc0RtIHN0IDEKVmhrIHRoIDEKcGhOIHRoIDEKSmJmIGJlIDEKcFd6IHN6IDEKdnZRIHZhIDEKdk5tIHZhIDEKbFl3IGxlIDEKekh4IHN6IDEKWnpjIGNoIDEKYkR0IHRoIDEKRmN2IGNoIDEKZEpnIG5nIDEKUXdiIHdhIDEKcUZ3IHF1IDEKd21PIG1lIDEKQnZ5IHZhIDEKcWdZIHF1IDEKdllzIHN0IDEKeHdGIHdhIDEKcXdQIHF1IDEKdUVjIGNoIDEKbVdxIHF1IDEKZnpPIHN6IDEKYlBnIG5nIDEKcG5XIGFuIDEKaEd4IHRoIDEKVmtrIGthIDEKWHJ4IGVyIDEKZ0pkIG5nIDEKTGxxIHF1IDEKVnF1IHVuIDEKZmdIIG5nIDEKVmN5IGNoIDEKaFZjIHRoIDEKcndaIGVyIDEKWGxjIGNoIDEKeEpkIGRlIDEKRm5uIGFuIDEKWXBqIGlqIDEKbGhKIHRoIDEKYVVqIGFuIDEKbEJwIHByIDEKZGxXIGxlIDEKcHZWIHZhIDEKTXdyIGVyIDEKWndjIGNoIDEKd2NVIGNoIDEKY1ZxIGNoIDEKeWNVIGNoIDEKTGNxIGNoIDEKcnZRIGVyIDEKZVltIGVyIDEKcUNuIGFuIDEKZEJ4IGRlIDEKSXdxIHF1IDEKZ010IHRoIDEKYmhDIHRoIDEKYkRzIHN0IDEKVmh6IHRoIDEKa0p6IHN6IDEKT2h6IHRoIDEKa0R6IHN6IDEKaFRuIHRoIDEKZXFHIHF1IDEKZ0pyIG5nIDEKWnB6IHN6IDEKaHdRIHRoIDEKZmdZIG5nIDEKc2RWIHN0IDEKbGpWIGxlIDEKeUdnIG5nIDEKdVdnIHF1IDEKc2JPIHN0IDEKcWREIHF1IDEKeUpqIGlqIDEKbndxIGFuIDEKQXBxIHF1IDEKY2NLIGNoIDEKUXdsIGxlIDEKb3lRIG9uIDEKbFB3IGxlIDEKY1l0IHRoIDEKYnJHIGVyIDEKeGtUIGthIDEKZFVqIGRlIDEKcmhSIHRoIDEKeFB3IHdhIDEKeG9GIG9uIDEKaFlqIHRoIDEKaFl3IHRoIDEKbFBuIGFuIDEKekNnIG5nIDEKc0p0IHRoIDEKd0RzIHN0IDEKZlZoIHRoIDEKendXIHN6IDEKeUxqIGlqIDEKYUJ4IGFuIDEKRHZ2IHZhIDEKdEtiIHRoIDEKamZHIGlqIDEKeE1tIG1lIDEKYkxwIHByIDEKeHdXIHdhIDEKYnpIIHN6IDEKY0l3IGNoIDEKemROIHN6IDEKR2d2IHZhIDEKbHdWIGxlIDEKcXlWIHF1IDEKdkJ2IHZhIDEKT3dtIG1lIDEKTHR4IHRoIDEKbXFFIHF1IDEKWGpjIGNoIDEKcHpZIHN6IDEKSmRzIHN0IDEKa01sIGxlIDEKRGRqIGRlIDEKdGZYIHRoIDEKY3FUIGNoIDEKYnVHIHF1IDEKb0hiIHBvIDEKdlJ4IHZhIDEKcXlxIHF1IDEKa3BZIGthIDEKdnFOIHF1IDEKak5xIHF1IDEKY1diIGNoIDEKZ2JKIG5nIDEKb1p3IG9uIDEKY0J6IGNoIDEKUHZ2IHZhIDEKbGpJIGxlIDEKaHZRIHRoIDEKa3dZIGthIDEKaEJnIHRoIDEKa2ROIGRlIDEKeXhIIG55IDEKZnhIIGZvIDEKdFhqIHRoIDEKdUJ4IHF1IDEKdUptIHF1IDEKR3hoIHRoIDEKZmpLIGlqIDEKZ3FPIHF1IDEKZE10IHRoIDEKbFZ4IGxlIDEKUmhwIHRoIDEKY0RuIGNoIDEKWGt2IGthIDEKem1CIHN6IDEKcWFZIGFuIDEKSXZxIHF1IDEKd21QIG1lIDEKYmpxIHF1IDEKY21VIGNoIDEKc2xDIGxlIDEKS3J4IGVyIDEKaVZ2IGluIDEKWnd6IHN6IDEKeVBkIGRlIDEKcVV2IHF1IDEKUGR6IHN6IDEKUXprIHN6IDEKem9VIG9uIDEKeEpmIGZvIDEKVWRxIHF1IDEKUXdqIGlqIDEKS3ZkIGRlIDEKdlF3IHZhIDEKUmRrIGRlIDEKc0lqIHN0IDEKR2d0IHRoIDEKbE53IGxlIDEKcXZyIHF1IDEKeXFEIHF1IDEKZlhsIGxlIDEKanFnIHF1IDEKcW1BIHF1IDEKVGdkIG5nIDEKenBPIHBvIDEKdEV6IHRoIDEKQnF6IHF1IDEKd2ZMIHdhIDEKdll1IHF1IDEKRHh3IHdhIDEKcVdsIHF1IDEKUnpjIGNoIDEKbVFvIG9uIDEKVHRjIHRoIDEKdFZ2IHRoIDEKUnFuIGFuIDEKV2NuIGNoIDEKTnd1IHF1IDEKeG9KIG9uIDEKdkRmIHZhIDEKcGhIIHRoIDEKZkpzIHN0IDEKUHhtIG1lIDEKckZiIGVyIDEKaGxNIHRoIDEKbWtYIGthIDEKbm5RIGFuIDEKWGZuIGFuIDEKc2JaIHN0IDEKWXlmIG55IDEKQmp3IGlqIDEKSWx4IGxlIDEKcXBBIHF1IDEKTXFjIGNoIDEKZ3FaIHF1IDEKc052IHN0IDEKWnZxIHF1IDEKa1N4IGthIDEKdkJkIGRlIDEKd3ZaIHZhIDEKVW9lIGVyIDEKRmp5IGlqIDEKektiIHN6IDEKcHZJIHZhIDEKWmxsIGxlIDEKaGRFIHRoIDEKRnB2IHZhIDEKbGhWIHRoIDEKcnFRIHF1IDEKd2pHIGlqIDEKcExxIHF1IDEKYnBKIHByIDEKd3pWIHN6IDEKSGdxIG5nIDEKemhXIHRoIDEKTHZxIHF1IDEKWGhyIHRoIDEKcXVZIHVuIDEKanFaIHF1IDEKdnVIIHF1IDEKRnpqIHN6IDEKZ3pHIG5nIDEKdEZjIHRoIDEKdmZFIHZhIDEKSWd4IG5nIDEKZnFZIHF1IDEKZ1liIG5nIDEKbEpnIG5nIDEKd2NPIGNoIDEKUXZrIGthIDEKVHFxIHF1IDEKYmRZIGRlIDEKd3VUIHF1IDEKbEh3IGxlIDEKelJtIHN6IDEKSGd3IG5nIDEKdFBrIHRoIDEKSnF2IHF1IDEKdEt4IHRoIDEKeHBBIHByIDEKYmtJIGthIDEKYlNqIGlqIDEKbXhXIG1lIDEKbWpSIGlqIDEKT2lwIGluIDEKd3lZIHdhIDEKZEZjIGNoIDEKcURnIHF1IDEKd1hwIHByIDEKVmJwIHByIDEKanlOIGlqIDEKeXZQIHZhIDEKeVZyIGVyIDEKYVdtIGFuIDEKR2prIGlqIDEKQXB3IHByIDEKWnN3IHN0IDEKalF2IGlqIDEKamJUIGlqIDEKYmRCIGRlIDEKa2NZIGNoIDEKcnFDIHF1IDEKYnhEIGJlIDEKdmx4IGxlIDEKa2pKIGlqIDEKeHFXIHF1IDEKenhFIHN6IDEKc0hmIHN0IDEKanVGIHF1IDEKa3dYIGthIDEKb3FXIHF1IDEKcVd0IHRoIDEKZkhjIGNoIDEKY0hjIGNoIDEKSmptIGlqIDEKeGJBIGJlIDEKUnFqIHF1IDEKSWp5IGlqIDEKdlN4IHZhIDEKcFZqIGlqIDEKclF4IGVyIDEKZm1LIG1lIDEKZm5BIGFuIDEKUGh2IHRoIDEKYmhOIHRoIDEKSHhwIHByIDEKVmpxIHF1IDEKbHFDIHF1IDEKV2hkIHRoIDEKenNGIHN0IDEKdFl0IHRoIDEKSnpxIHF1IDEKTmZmIGZvIDEKcVhzIHF1IDEKeEpqIGlqIDEKbFhuIGFuIDEKWnB2IHZhIDEKcVRoIHRoIDEKbnBIIGFuIDEKa1l4IGthIDEKYkJzIHN0IDEKdkVhIGFuIDEKcGpxIHF1IDEKcUlpIHF1IDEKRmRrIGRlIDEKZk54IGZvIDEKT2ZoIHRoIDEKd1hlIGVyIDEKbXZaIHZhIDEKQ2pzIHN0IDEKRm1tIG1lIDEKcGtSIGthIDEKemZaIHN6IDEKWnBtIG1lIDEKY2JBIGNoIDEKdHZZIHRoIDEKTG1wIG1lIDEKZ0ZkIG5nIDEKYkZ4IGJlIDEKRmptIGlqIDEKd2pGIGlqIDEKYmp2IGlqIDEKZGJUIGRlIDEKam1RIGlqIDEKeEZ3IHdhIDEKY0RrIGNoIDEKaEZ6IHRoIDEKdUdtIHF1IDEKWWh4IHRoIDEKVnRsIHRoIDEKYXpWIGFuIDEKeEpzIHN0IDEKTXh3IHdhIDEKdmdLIG5nIDEKY3dRIGNoIDEKR254IGFuIDEKbGJQIGxlIDEKa2RTIGRlIDEKa0R0IHRoIDEKUHZxIHF1IDEKeUhzIHN0IDEKTGdxIHF1IDEKWG1qIGlqIDEKcHZBIHZhIDEKdlV1IHF1IDEKUWp1IHF1IDEKcURmIHF1IDEKR3hqIGlqIDEKR2Z6IHN6IDEKZ2JZIG5nIDEKU2pmIGlqIDEKT2d3IG5nIDEKaEd0IHRoIDEKYnRUIHRoIDEKZ3dIIG5nIDEKTXdqIGlqIDEKZnZVIHZhIDEKZnJHIGVyIDEKY014IGNoIDEKWWR2IGRlIDEKeGtaIGthIDEKZmpMIGlqIDEKeVB4IG55IDEKZHJYIGVyIDEKanhSIGlqIDEKaFlxIHRoIDEKeEhuIGFuIDEKanJQIGVyIDEKdGNKIHRoIDEKcUp6IHF1IDEKelVkIHN6IDEKalhqIGlqIDEKcURkIHF1IDEKQmpoIHRoIDEKcUZ6IHN6IDEKbXhHIG1lIDEKeE9kIGRlIDEKaGdMIHRoIDEKY3BEIGNoIDEKamhTIHRoIDEKWnFwIHF1IDEKeU5xIHF1IDEKcEhxIHF1IDEKclpxIHF1IDEKV2p5IGlqIDEKVGZiIGJlIDEKTndiIHdhIDEKelFrIHN6IDEKUmtjIGNoIDEKUXZ3IHZhIDEKd2xKIGxlIDEKY0ZwIGNoIDEKb0RiIG9uIDEKbHNZIGxlIDEKWmJuIGFuIDEKd0NkIGRlIDEKenhOIHN6IDEKYlFmIGJlIDEKS2p5IGlqIDEKT3ZrIGthIDEKY3hBIGNoIDEKSHF3IHF1IDEKaHdZIHRoIDEKc0d2IHN0IDEKUnduIGFuIDEKenZIIHN6IDEKeVZ3IHdhIDEKem1YIHN6IDEKcWRNIHF1IDEKZEp2IGRlIDEKd0RqIGlqIDEKVmhtIHRoIDEKZkx0IHRoIDEKYnZDIHZhIDEKeFZuIGFuIDEKSGZ4IGZvIDEKdFFsIHRoIDEKbGhXIHRoIDEKb3FTIHF1IDEKUXlhIGFuIDEKZ1pmIG5nIDEKYkt5IGJlIDEKdGpYIHRoIDEKVmtjIGNoIDEKeWp2IGlqIDEKYmdOIG5nIDEKbE5tIGxlIDEKSnpsIGxlIDEKTHd4IHdhIDEKdmNMIGNoIDEKeVhoIHRoIDEKenRaIHRoIDEKeUp4IG55IDEKbnBWIGFuIDEKc3dHIHN0IDEKc1huIGFuIDEKZUpiIGVyIDEKZGNSIGNoIDEKWnJnIG5nIDEKUGd2IG5nIDEKeFlyIGVyIDEKamxJIGxlIDEKRm1mIG1lIDEKR3FrIHF1IDEKdmxaIGxlIDEKQ3NxIHF1IDEKdVFqIHF1IDEKbExtIGxlIDEKaHdLIHRoIDEKY1F2IGNoIDEKcWZIIHF1IDEKclJ3IGVyIDEKYVVvIGFuIDEKcXBFIHF1IDEKbFBjIGNoIDEKZEhkIGRlIDEKZ3FMIHF1IDEKeldwIHN6IDEKYkJxIGJlIDEKd1dwIHByIDEKY2ZLIGNoIDEKZld4IGZvIDEKcnZWIGVyIDEKemhSIHRoIDEKS2xoIHRoIDEKY2JRIGNoIDEKSm1nIG5nIDEKZlBnIG5nIDEKUW5uIGFuIDEKc01xIHF1IDEKYUZ6IGFuIDEKc0pzIHN0IDEKUHdqIGlqIDEKamNMIGNoIDEKZ21RIG5nIDEKWXFyIHF1IDEKQ2d6IG5nIDEKd3F6IHF1IDEKZm5JIG50IDEKcU90IHRoIDEKdnlVIHZhIDEKd1F6IHN6IDEKdlVhIGFuIDEKeEJ0IHRoIDEKZE5tIGRlIDEKRXd4IHdhIDEKeXBEIHByIDEKd3hMIHdhIDEKcWVOIHF1IDEKdmtCIGthIDEKakJqIGlqIDEKZ1VqIG5nIDEKa1FrIGthIDEKZndPIHdhIDEKcVF0IHRoIDEKUXJsIGVyIDEKZFR4IGRlIDEKZldkIGRlIDEKanhLIGlqIDEKZkhsIGxlIDEKamNZIGNoIDEKb0pzIG9uIDEKc1J4IHN0IDEKdVFnIHF1IDEKaGhZIHRoIDEKc2ROIHN0IDEKbXhSIG1lIDEKWHN2IHN0IDEKUGNxIGNoIDEKcGtaIGthIDEKekRsIGxlIDEKckloIHRoIDEKSG52IGFuIDEKanBBIGlqIDEKaFpqIHRoIDEKWm5kIGFuIDEKaFpkIHRoIDEKcXJPIHF1IDEKU2J4IGJlIDEKdFdwIHRoIDEKSHBkIGRlIDEKSGp6IHN6IDEKemNTIGNoIDEKa1B6IHN6IDEKSHRxIHRoIDEKZ2NHIGNoIDEKWHF4IHF1IDEKbVpjIGNoIDEKWHp2IHN6IDEKS2d3IG5nIDEKYVVmIGFuIDEKWW1xIHF1IDEKd2NZIGNoIDEKb1ZoIHRoIDEKcGRNIGRlIDEKdnpLIHN6IDEKbHJYIGVyIDEKeWRWIGRlIDEKdXFQIHF1IDEKZm1OIG1lIDEKT2NnIGNoIDEKZkxrIGthIDEKY0pzIGNoIDEKdUdmIHF1IDEKY01rIGNoIDEKZ1R4IG5nIDEKeE5jIGNoIDEKYkhsIGxlIDEKdVdwIHF1IDEKZHhMIGRlIDEKenhHIHN6IDEKZFZuIGFuIDEKTmJoIHRoIDEKQ3hzIHN0IDEKY3ZHIGNoIDEKd0NmIHdhIDEKa2pDIGlqIDEKY2ZZIGNoIDEKemNmIGNoIDEKZHBXIGRlIDEKUHF5IHF1IDEKdGxOIHRoIDEKc0lpIGluIDEKcXhDIHF1IDEKS2ptIGlqIDEKelprIHN6IDEKRmtzIHN0IDEKZ1diIG5nIDEKdHFLIHRoIDEKSmx2IGxlIDEKa0NrIGthIDEKd2hUIHRoIDEKT3d2IHZhIDEKekttIHN6IDEKanFsIHF1IDEKdEd6IHRoIDEKZEN3IGRlIDEKeW1RIG1lIDEKeG5GIGFuIDEKd3VGIHF1IDEKcEZxIHF1IDEKanlTIGlqIDEKcGpYIGlqIDEKbE9qIGxlIDEKSm1kIGRlIDEKWnZ6IHN6IDEKanFNIHF1IDEKalRkIGRlIDEKcU9pIHF1IDEKb0pnIG5nIDEKTWp4IGlqIDEKVHBiIHByIDEKV3R2IHRoIDEKanhPIGlqIDEKZEJzIHN0IDEKdE52IHRoIDEKcVRiIHF1IDEKdm5VIGFuIDEKekR4IHN6IDEKcFNxIHF1IDEKeFJtIG1lIDEKcVVmIHF1IDEKbUJiIG1lIDEKcWpJIHF1IDEKc0l5IHN0IDEKZENnIG5nIDEKcUl4IHF1IDEKcFpwIHByIDEKcUR0IHRoIDEKeHJNIGVyIDEKdU9lIHF1IDEKeGdPIG5nIDEKZ3JYIG5nIDEKUGdnIG5nIDEKeVZxIHF1IDEKcUV1IHVuIDEKa0JjIGNoIDEKU2d6IG5nIDEKaGpYIHRoIDEKZ09xIHF1IDEKcG1XIG1lIDEKR253IGFuIDEKeFpsIGxlIDEKaFRkIHRoIDEKR2ZxIHF1IDEKc0xmIHN0IDEKUGdqIG5nIDEKdHdGIHRoIDEKbURrIGthIDEKcWRZIHF1IDEKdnNaIHN0IDEKdmNDIGNoIDEKRGNqIGNoIDEKd1VoIHRoIDEKcUlkIHF1IDEKcXJaIHF1IDEKY2JTIGNoIDEKWHpjIGNoIDEKdldqIGlqIDEKcHZDIHZhIDEKSnJ3IGVyIDEKeXhJIG55IDEKZHFJIHF1IDEKdUNtIHF1IDEKdlhkIGRlIDEKV2RwIGRlIDEKRHpjIGNoIDEKaGRWIHRoIDEKcWJPIHF1IDEKSndrIGthIDEKV3FtIHF1IDEKaVh3IGluIDEKZllsIGxlIDEKcXVRIHVuIDEKa2pEIGlqIDEKbUloIHRoIDEKeFd3IHdhIDEKb0N3IG9uIDEKWmN2IGNoIDEKamROIGRlIDEKdVliIHF1IDEKU3J4IGVyIDEKcGdVIG5nIDEKclFnIG5nIDEKbUhmIG1lIDEKZkJ0IHRoIDEKalZ4IGlqIDEKdlljIGNoIDEKVmdqIG5nIDEKcWFTIGFuIDEKcHhXIHByIDEKbW5KIGFuIDEKQnd3IHdhIDEKVHF6IHF1IDEKakZ2IGlqIDEKeHdNIHdhIDEKRHF3IHF1IDEKbXdJIG1lIDEKdmhXIHRoIDEKc3FYIHF1IDEKdGxSIHRoIDEKYUJoIHRoIDEKcW5aIGFuIDEKZ1hnIG5nIDEKc0NqIHN0IDEKZ3JOIG5nIDEKdFl2IHRoIDEKV3dnIG5nIDEKZllpIGluIDEKYnRGIHRoIDEKd1FuIGFuIDEKWmx0IHRoIDEKY0p6IGNoIDEKWGJuIGFuIDEKdExtIHRoIDEKWmx4IGxlIDEKTm1qIGlqIDEKaGNHIHRoIDEKV3JrIGVyIDEKTmhjIHRoIDEKdnFEIHF1IDEKdWpZIHF1IDEKaUpkIGluIDEKZExmIGRlIDEKY1FuIGNoIDEKV2Z4IGZvIDEKaGtaIHRoIDEKbWhDIHRoIDEKek1xIHF1IDEKekx6IHN6IDEKWGd0IHRoIDEKcUtyIHF1IDEKeWpKIGlqIDEKckptIGVyIDEKVnhjIGNoIDEKQnhuIGFuIDEKY25RIGNoIDEKcWtRIHF1IDEKTmx3IGxlIDEKaFd2IHRoIDEKd2RVIGRlIDEKcXRCIHRoIDEKcUllIHF1IDEKcWVZIHF1IDEKWnJwIGVyIDEKTmhkIHRoIDEKZkRwIHBvIDEKQ25qIGFuIDEKa3hVIGthIDEKQnF2IHF1IDEKdlhyIGVyIDEKa0J4IGthIDEKZkJuIGFuIDEKcE14IHByIDEKa3hSIGthIDEKTHpnIG5nIDEKakJoIHRoIDEKRmpuIGFuIDEKd3BDIHByIDEKZkt5IG55IDEKaHdEIHRoIDEKZnFmIHF1IDEKcUJ5IHF1IDEKWWNxIGNoIDEKTm5zIGFuIDEKam1aIGlqIDEKZ0t3IG5nIDEKZHFBIHF1IDEKQmpnIG5nIDEKZkd4IGZvIDEKTG5wIGFuIDEKd2hVIHRoIDEKcVBkIHF1IDEKeU14IG55IDEKd0VqIGlqIDEKa21KIGthIDEKUXN4IHN0IDEKbEN3IGxlIDEKUXFiIHF1IDEKaHZKIHRoIDEKeGtOIGthIDEKdVZnIHF1IDEKc1FtIHN0IDEKdUpwIHF1IDEKWXpuIGFuIDEKY1hoIHRoIDEKc3JJIGVyIDEKdEJ6IHRoIDEKY1JqIGNoIDEKeUl3IHdhIDEKakhnIG5nIDEKeEZwIHByIDEKd0pxIHF1IDEKcWRGIHF1IDEKdkt2IHZhIDEKc0hjIGNoIDEKaEJmIHRoIDEKakR5IGlqIDEKR2p4IGlqIDEKRmtkIGRlIDEKSGh6IHRoIDEKeFNnIG5nIDEKakZmIGlqIDEKcXZNIHF1IDEKb1J3IG9uIDEKeGdYIG5nIDEKZ2pGIG5nIDEKcUR6IHF1IDEKWWNmIGNoIDEKWGN3IGNoIDEKbmZRIGFuIDEKcUdzIHF1IDEKa0dzIHN0IDEKZnhWIGZvIDEKaVBqIGluIDEKcWdQIHF1IDEKakl2IGlqIDEKVmh1IHRoIDEKQnpqIHN6IDEKSnZnIG5nIDEKVmpmIGlqIDEKd1RxIHF1IDEKcER3IHByIDEKWXN2IHN0IDEKenRWIHRoIDEKbXRaIHRoIDEKakZ5IGlqIDEKZ3FDIHF1IDEKVnNnIG5nIDEKZ2pTIG5nIDEKdlh6IHN6IDEKYnBLIHByIDEKbkRxIGFuIDEKc0t4IHN0IDEKeFlnIG5nIDEKZlpkIGRlIDEKcHhmIHByIDEKanFTIHF1IDEKaFRiIHRoIDEKTmtxIHF1IDEKcXBIIHF1IDEKdkV6IHN6IDEKdnFQIHF1IDEKdkh3IHZhIDEKRGtwIGthIDEKY3FZIGNoIDEKbXFTIHF1IDEKc1Z0IHRoIDEKUHhoIHRoIDEKaHhOIHRoIDEKeVRmIG55IDEKd0NqIGlqIDEKcVF3IHF1IDEKVmZ2IHZhIDEKeVFkIGRlIDEKZ1VjIGNoIDEKd3NRIHN0IDEKZkd3IHdhIDEKd0tmIHdhIDEKd3dCIHdhIDEKdkZ0IHRoIDEKdHdRIHRoIDEKbnJCIGFuIDEKbHBZIGxlIDEKeGxSIGxlIDEKZmRLIGRlIDEKZUZ6IGVyIDEKanlRIGlqIDEKbHdUIGxlIDEKeEN3IHdhIDEKY2dNIGNoIDEKd3RWIHRoIDEKYXFKIGFuIDEKYlh1IHF1IDEKcWRRIHF1IDEKWXhkIGRlIDEKeGNTIGNoIDEKbm1WIGFuIDEKclFkIGVyIDEKR2xrIGxlIDEKcUVtIHF1IDEKdXZPIHF1IDEKc3ZGIHN0IDEKc0p4IHN0IDEKUXlnIG5nIDEKbVhoIHRoIDEKYnREIHRoIDEKd0djIGNoIDEKZlpvIG9uIDEKRXZ4IHZhIDEKdnpEIHN6IDEKdWZDIHF1IDEKUHhxIHF1IDEKcWR0IHRoIDEKckt6IGVyIDEKSmhoIHRoIDEKQ3hrIGthIDEKcXhSIHF1IDEKZ1RsIG5nIDEKcUdmIHF1IDEKd1loIHRoIDEKY0VoIHRoIDEKYnpVIHN6IDEKeldxIHF1IDEKcldiIGVyIDEKV3JwIGVyIDEKc0xjIGNoIDEKSnB1IHF1IDEKSmtmIGthIDEKdmdFIG5nIDEKQnFrIHF1IDEKb1FzIG9uIDEKa2JaIGthIDEKclZmIGVyIDEKcUx3IHF1IDEKTHJjIGNoIDEKeHNSIHN0IDEKaHdCIHRoIDEKUW5rIGFuIDEKY1B6IGNoIDEKVWNxIGNoIDEKZWdKIG5nIDEKUXlxIHF1IDEKWHdyIHByIDEKeGZEIGZvIDEKd3lIIHdhIDEKbEJ3IGxlIDEKTWR4IGRlIDEKUXN5IHN0IDEKenFWIHF1IDEKdnBZIHZhIDEKc2xZIGxlIDEKd2dMIG5nIDEKc25OIGFuIDEKaFZkIHRoIDEKeUt4IG55IDEKYmRXIGRlIDEKbHFMIHF1IDEKeWhEIHRoIDEKdE56IHRoIDEKekpnIG5nIDEKa0l4IGthIDEKZkhwIHByIDEKeXJKIGVyIDEKbHJSIGVyIDEKd3pZIHN6IDEKcGdCIHByIDEKbWZDIG1lIDEKcWtMIHF1IDEKalV1IHF1IDEKcUNoIHRoIDEKemxOIGxlIDEKQmdqIG5nIDEKZ2NFIGNoIDEKelJ4IHN6IDEKamhOIHRoIDEKZUd6IGVyIDEKRnBxIHF1IDEKV3ZpIGluIDEKbUJmIG1lIDEKaGhXIHRoIDEKb1VxIHF1IDEKZHhRIGRlIDEKV2hxIHRoIDEKck1rIGVyIDEKbFdkIGxlIDEKeFd6IHN6IDEKb1FuIGFuIDEKbVd4IG1lIDEKbnVWIGFuIDEKd1d6IHN6IDEKaHZSIHRoIDEKWndkIGRlIDEKc21KIHN0IDEKSGxoIHRoIDEKc0poIHRoIDEKem1ZIHN6IDEKaFpuIHRoIDEKVmpnIG5nIDEKSmh6IHRoIDEKbXFSIHF1IDEKaGNPIHRoIDEKZHFMIHF1IDEKQmZoIHRoIDEKcGtWIGthIDEKdEJ4IHRoIDEKSGtjIGNoIDEKS3FtIHF1IDEKcVd2IHF1IDEKbFh5IGxlIDEKeVJkIGRlIDEKbWpIIGlqIDEKcXpBIHF1IDEKcXhtIHF1IDEKUXZtIHZhIDEKZ2NNIGNoIDEKeHF4IHF1IDEKa0t2IGthIDEKeW9YIHBvIDEKeHJUIGVyIDEKY1dxIGNoIDEKanFXIHF1IDEKc1dqIHN0IDEKU2R3IGRlIDEKZGZSIGRlIDEKS3FuIGFuIDEKR2pkIGRvIDEKUWJkIGRlIDEKeXlLIG55IDEKeG1YIG1lIDEKeHVGIHF1IDEKeVZnIG5nIDEKcW9PIHF1IDEKR2xxIHF1IDEKTWt4IGthIDEKeExiIGJlIDEKZ01yIG5nIDEKc0NwIHN0IDEKYkdoIHRoIDEKY1hvIGNoIDEKelR6IHN6IDEKcWtDIHF1IDEKaFRwIHRoIDEKcU5mIHF1IDEKbVhrIGthIDEKeGNaIGNoIDEKalZtIGlqIDEKYklpIGluIDEKcW5IIGFuIDEKbndDIGFuIDEKZFNnIG5nIDEKcW9EIHF1IDEKdER4IHRoIDEKamRVIGRlIDEKWG13IG1lIDEKa05oIHRoIDEKallyIGVyIDEKWWdwIG5nIDEKYmxKIGxlIDEKbUZ2IHZhIDEKU3hyIGVyIDEKRnpsIGxlIDEKalRxIHF1IDEKY0lwIHByIDEKYWpZIGFuIDEKeVliIGJlIDEKcktiIGVyIDEKcHpCIHN6IDEKZUl5IGVyIDEKd2ZLIHdhIDEKRm1oIHRoIDEKdWZMIHF1IDEKWGxtIGxlIDEKQ3pnIG5nIDEKbFBxIHF1IDEKdHFWIHRoIDEKd0Z5IHdhIDEKYlFjIGNoIDEKa1Z3IGthIDEKbk1oIHRoIDEKY0NqIGNoIDEKb2VFIGVyIDEKd0hmIHdhIDEKZk5mIGZvIDEKbVh2IHZhIDEKTmtnIG5nIDEKaldjIGNoIDEKekZqIHN6IDEKS2Z4IGZvIDEKYmdZIG5nIDEKbFl6IGxlIDEKY2dEIGNoIDEKcGdNIG5nIDEKZmhIIHRoIDEKanJEIGVyIDEKandBIGlqIDEKanlNIGlqIDEKdnpDIHN6IDEKbFFkIGxlIDEKemNIIGNoIDEKbGJYIGxlIDEKdnpHIHN6IDEKbVNyIGVyIDEKeFlmIGZvIDEKcWdCIHF1IDEKallrIGlqIDEKZElxIHF1IDEKd3BHIHByIDEKaFZrIHRoIDEKVGpiIGlqIDEKenZQIHN6IDEKYlpnIG5nIDEKYkZnIG5nIDEKa2ZVIGthIDEKU3h6IHN6IDEKZndGIHdhIDEKUXdnIG5nIDEKZldiIGJlIDEKanFRIGlqIDEKVmZ4IGZvIDEKY0pqIGNoIDEKendKIHN6IDEKeEJnIG5nIDEKRGRtIGRlIDEKYld2IHZhIDEKenBHIHN6IDEKeHJRIGVyIDEKaGNTIHRoIDEKd0huIGFuIDEKaEl5IHRoIDEKWXhqIGlqIDEKc2RDIHN0IDEKeVZ1IHF1IDEKcWpmIHF1IDEKVHp5IHN6IDEKRmZuIGFuIDEKenpYIHN6IDEKSGR4IGRlIDEKZ0xnIG5nIDEKWXFnIHF1IDEKZkxiIGJlIDEKbFFjIGNoIDEKdmpHIGlqIDEKd3BMIHByIDEKY0pyIGNoIDEKYUpxIGFuIDEKWW5xIGFuIDEKV3ZjIGNoIDEKbEt5IGxlIDEKZVlxIHF1IDEKa3hMIGthIDEKZ0NiIG5nIDEKc1JkIHN0IDEKck1kIGVyIDEKQnZoIHRoIDEKa0tnIG5nIDEKd2xLIGxlIDEKbURkIGRlIDEKemtKIHN6IDEKdlJjIGNoIDEKWGxoIHRoIDEKcFJrIGthIDEKeHZOIHZhIDEKbnhJIGFuIDEKZkN4IGZvIDEKWWJ0IHRoIDEKRWJxIHF1IDEKYmtOIGthIDEKYlF5IGJlIDEKckR3IGVyIDEKZGpKIGRlIDEKdG1NIHRoIDEKbndIIGFuIDEKaEp6IHRoIDEKbGNNIGNoIDEKb3pWIG9uIDEKbUxkIGRlIDEKYktjIGNoIDEKZVpmIGVyIDEKRmhnIHRoIDEKWmNqIGNoIDEKcExyIGVyIDEKd3FzIHF1IDEKYlhpIGluIDEKdGdEIHRoIDEKaFFjIHRoIDEKekRwIHN6IDEKb0RnIG5nIDEKc2dNIG5nIDEKYm5EIGFuIDEKZ0hwIG5nIDEKV2tmIGthIDEKcUlzIHF1IDEKd0xkIGRlIDEKenROIHRoIDEKZ2RRIG5nIDEKd0NtIG93IDEKdlZmIHZhIDEKSm13IG1lIDEKaGJDIHRoIDEKc3JXIGVyIDEKbnhOIGFuIDEKcFZzIHN0IDEKdVdxIHF1IDEKaGdNIHRoIDEKbEJjIGNoIDEKd1VvIG9uIDEKZmxIIGxlIDEKeVdnIG5nIDEKampOIGlqIDEKVXduIGFuIDEKbllqIGFuIDEKbXROIHRoIDEKUGdwIG5nIDEKekZjIGNoIDEKb1h6IG9uIDEKaUNnIG5nIDEKTHBjIGNoIDEKR3FkIHF1IDEKclljIGNoIDEKdnFBIHF1IDEKVmhjIHRoIDEKem1GIHN6IDEKQnBjIGNoIDEKSmZxIHF1IDEKb1h2IG9uIDEKbGdYIG5nIDEKSmZ4IGZvIDEKenBTIHN6IDEKZ2NPIGNoIDEKeHdRIHdhIDEKcGtRIGthIDEKd09jIGNoIDEKV2dtIG5nIDEKY09qIGNoIDEKTmZ0IHRoIDEKcHFOIHF1IDEKcXNCIHF1IDEKeWRIIGRlIDEKcVJzIHF1IDEKeWtYIGthIDEKY0RxIGNoIDEKbWZVIG1lIDEKeHpNIHN6IDEKdkd0IHRoIDEKZnVXIHF1IDEKbHFHIHF1IDEKVHFwIHF1IDEKenZEIHN6IDEKd1diIHdhIDEKRnppIGluIDEKcXBLIHF1IDEKb3lxIHF1IDEKZ1FlIG5nIDEKWm13IG1lIDEKcVlwIHF1IDEKV3ZmIHZhIDEKYVFsIGFuIDEKb3FPIHF1IDEKZXFKIHF1IDEKbnZUIGFuIDEKZlVrIGthIDEKaWJIIGluIDEKanZaIGlqIDEKV3d6IHN6IDEKbGdZIG5nIDEKZUZwIGVyIDEKWGd4IG5nIDEKZllzIHN0IDEKa1pzIHN0IDEKdnBEIHZhIDEKcWNaIGNoIDEKQnFvIHF1IDEKakxiIGlqIDEKcndYIGVyIDEKZnlLIG55IDEKU3h2IHZhIDEKc3haIHN0IDEKd2tLIGthIDEKeUpwIHByIDEKdGpUIHRoIDEKcVB2IHF1IDEKeVpqIGlqIDEKUnJtIGVyIDEKbmhKIHRoIDEKdnFKIHF1IDEKeXhZIG55IDEKdnNFIHN0IDEKZmtLIGthIDEKZnVZIHF1IDEKelFvIG9uIDEKWHZyIGVyIDEKbU1xIHF1IDEKT3FtIHF1IDEKRHhzIHN0IDEKTHFhIGFuIDEKV25oIHRoIDEKam1HIGlqIDEKV3FhIGFuIDEKbWhUIHRoIDEKYmdaIG5nIDEKdm1PIHZhIDEKekZtIHN6IDEKS2hrIHRoIDEKeXFCIHF1IDEKblZ2IGFuIDEKUmZ0IHRoIDEKem1MIHN6IDEKaGREIHRoIDEKbldwIGFuIDEKdnZPIHZhIDEKZFlwIGRlIDEKb2hYIHRoIDEKcW9VIHF1IDEKcmpCIGVyIDEKRHdjIGNoIDEKYVdxIGFuIDEKY2xEIGNoIDEKVmRrIGRlIDEKdHdNIHRoIDEKZlp6IHN6IDEKd1FwIHByIDEKZHdEIGRlIDEKaVl2IGluIDEKQXd2IHZhIDEKcGdHIG5nIDEKWG9xIHF1IDEKa3JRIGVyIDEKVnhnIG5nIDEKbHdCIGxlIDEKUHh3IHdhIDEKSndmIHdhIDEKekxoIHRoIDEKYnRIIHRoIDEKcHdZIHByIDEKTWpkIGRlIDEKWHJoIHRoIDEKcVh1IHVuIDEKRXF5IHF1IDEKQnB5IHByIDEKem5ZIGFuIDEKUnFkIHF1IDEKblFmIGFuIDEKWnZ3IHZhIDEKempPIHN6IDEKd05kIGRlIDEKbElxIHF1IDEKdk1xIHF1IDEKR3F0IHRoIDEKbE1mIGxlIDEKSnFuIGFuIDEKZlZ3IHdhIDEKcXZRIHF1IDEKZUhrIGVyIDEKamJLIGlqIDEKZldzIHN0IDEKcVRrIHF1IDEKem5GIGFuIDEKeXhPIG55IDEKRnFyIHF1IDEKbkZiIGFuIDEKb0RwIG9uIDEKalVjIGNoIDEKcUhnIHF1IDEKZ0dxIHF1IDEKcVBzIHF1IDEKakh2IGlqIDEKSXdqIGlqIDEKdnpWIHN6IDEKeVVxIHF1IDEKalF0IHRoIDEKc0ZiIHN0IDEKTHZnIG5nIDEKelR0IHRoIDEKYnZLIHZhIDEKQ2N4IGNoIDEKanlBIGlqIDEKeUVqIGlqIDEKemRHIHN6IDEKdHFUIHRoIDEKcWJIIHF1IDEKbkhkIGFuIDEKSGhqIHRoIDEKalZiIGlqIDEKdUh3IHVuIDEKWmNrIGNoIDEKZ1BxIHF1IDEKbXhxIHF1IDEKd0hzIHN0IDEKZkR5IG55IDEKdGxWIHRoIDEKTHN2IHN0IDEKenZGIHZhIDEKbXF4IHF1IDEKbnFGIGFuIDEKeGdNIG5nIDEKZ3lxIHF1IDEKZ3JKIG5nIDEKalNxIHF1IDEKTW13IG1lIDEKQ2d4IG5nIDEKUmxyIGVyIDEKbXZHIHZhIDEKZnVBIHF1IDEKdVZoIHRoIDEKc016IHN0IDEKd1dyIGVyIDEKcXBEIHF1IDEKaFF3IHRoIDEKeEJjIGNoIDEKZmNXIGNoIDEKaHhMIHRoIDEKcmZLIGVyIDEKbUZuIGFuIDEKUW53IGFuIDEKdGpCIHRoIDEKUmt4IGthIDEKc3JFIGVyIDEKZHJHIGVyIDEKQ2Z5IG55IDEKeVp3IHdhIDEKV3h3IHdhIDEKekNwIHN6IDEKalp0IHRoIDEKTnFmIHF1IDEKamdPIG5nIDEKZldjIGNoIDEKcXJOIHF1IDEKTnpqIHN6IDEKSGp5IGlqIDEKVXh5IG55IDEKb0l5IG9uIDEKcmZYIGVyIDEKb0J3IG9uIDEKeXlWIG55IDEKUWl2IGluIDEKZEtoIHRoIDEKcURrIHF1IDEKdGdRIHRoIDEKeE53IHdhIDEKcWRMIHF1IDEKb3ZZIG9uIDEKZmJaIGJlIDEKcWlJIHF1IDEKYnZUIHZhIDEKallxIHF1IDEKa2JLIGthIDEKTWZuIGFuIDEKUnBkIGRlIDEKcEhiIHByIDEKcXFPIHF1IDEKdmtWIGthIDEKc1dwIHN0IDEKa1BmIGthIDEKcUx5IHF1IDEKcW9FIHF1IDEKd0xoIHRoIDEKemhWIHRoIDEKYnBMIHByIDEKVHFmIHF1IDEKcHpHIHN6IDEKa2NUIGNoIDEKd2pYIGlqIDEKa1B5IGt1IDEKZmRCIGRlIDEKUXhzIHN0IDEKZ1lmIG5nIDEKWXB4IHByIDEKelNrIHN6IDEKdERnIHRoIDEKeGJKIGJlIDEKeWZPIG55IDEKdVFmIHF1IDEKYnBRIHByIDEKZFhjIGNoIDEKbHdQIGxlIDEKdlRzIHN0IDEKSmxxIHF1IDEKQ3F3IHF1IDEKYld5IGJlIDEKY1VxIGNoIDEKWWJrIGthIDEKd3lxIHF1IDEKamhxIHRoIDEKeFV5IG55IDEKTmNqIGNoIDEKa01oIHRoIDEKdlp5IHZhIDEKemNxIGNoIDEKUXNyIGVyIDEKTGh4IHRoIDEKR2NqIGNoIDEKdVF0IHRoIDEKd1luIGFuIDEKZFltIGRlIDEKUXZ4IHZhIDEKUmNnIGNoIDEKcUd6IHF1IDEKYnhKIGJlIDEKakZnIG5nIDEKeExwIHByIDEKbERuIGFuIDEKd3FTIHF1IDEKYklxIHF1IDEKdEJtIHRoIDEKYlFzIHN0IDEKekpiIHN6IDEKamZKIGlqIDEKcVRjIGNoIDEKa2JYIGthIDEKSGx6IGxlIDEKcHVRIHF1IDEKaEtiIHRoIDEKckJiIGVyIDEKdnBXIHZhIDEKWWprIGlqIDEKV25tIGFuIDEKcFpyIGVyIDEKbGRaIGxlIDEKZ01tIG5nIDEKcFpmIHBpIDEKZVlwIGVyIDEKdlRwIHZhIDEKR2tjIGNoIDEKQ2d5IG5nIDEKcUR3IHF1IDEKZ3hXIG5nIDEKQ3d6IHN6IDEKamhZIHRoIDEKRnZrIGthIDEKbmZIIGFuIDEKemNXIGNoIDEKemdDIG5nIDEKRGZrIGthIDEKdnBKIHZhIDEKV3BqIGlqIDEKc0NiIHN0IDEKZmdGIG5nIDEKdFB4IHRoIDEKb0NwIG9uIDEKTnJ4IGVyIDEKSHdtIG1lIDEKZlJwIHByIDEKYWVYIGFuIDEKamRJIGRlIDEKc0J2IHN0IDEKdk92IHZhIDEKZ1F0IHRoIDEKV21rIGthIDEKUHFqIHF1IDEKa2hWIHRoIDEKSGtqIGlqIDEKaGJCIHRoIDEKdnpGIHN6IDEKWWJ6IHN6IDEKc1hiIHN0IDEKeVFyIGVyIDEKaGhWIHRoIDEKdGdXIHRoIDEKYlhvIG9uIDEKTnhwIHByIDEKYU94IGFuIDEKemZiIHN6IDEKUXhwIHByIDEKcXdRIHF1IDEKZmpWIGlqIDEKaGpZIGlqIDEKd3RYIHRoIDEKamdVIG5nIDEKbk1xIGFuIDEKTnd4IHdhIDEKdlBnIG5nIDEKWGZoIHRoIDEKeUZmIG55IDEKZkh6IHN6IDEKblpmIGFuIDEKalB0IHRoIDEKSmdiIG5nIDEKeEJiIGJpIDEKc2pPIHN0IDEKd0R4IHdhIDEKbmpOIGFuIDEKb2hGIHRoIDEKcHFSIHF1IDEKRnp3IHN6IDEKcXJVIHF1IDEKY2pHIGNoIDEKa0Z2IGthIDEKelFkIHN6IDEKdmJFIHZpIDEKVWp0IHRoIDEKcUliIHF1IDEKY0Z0IHRoIDEKYnZZIHZhIDEKU3pxIHF1IDEKd2xIIGxlIDEKcWNZIGNoIDEKZ0V3IG5nIDEKeGhMIHRoIDEKa1ZnIG5nIDEKYmZIIGJlIDEKTnJ6IGVyIDEKc0puIGFuIDEKYlduIGFuIDEKbnZLIGFuIDEKcWlIIHF1IDEKcWJTIHF1IDEKdnhCIHZhIDEKdHZUIHRoIDEKTnJoIHRoIDEKbFl4IGxlIDEKdGtYIHRoIDEKR3p4IHN6IDEKdkN4IHZpIDEKWmJqIGlqIDEKbVdwIG1lIDEKRHF4IHF1IDEKcGZFIHByIDEKaHZXIHRoIDEKRW94IG9uIDEKZGJaIGRlIDEKbE5iIGxlIDEKclRkIGVyIDEKbGpRIGxlIDEKVnZwIHZhIDEKZ0p3IG5nIDEKdXFXIHF1IDEKR2pmIGlqIDEKcERkIGRlIDEKc2dRIG5nIDEKaGtRIHRoIDEKZkpjIGNoIDEKbWRJIGRlIDEKR2NwIGNoIDEKcFhhIGFuIDEKcFFqIGlqIDEKYmdFIG5nIDEKS3p2IHN6IDEKY1BiIGNoIDEKSGN6IGNoIDEKZGpRIGRlIDEKcEdkIGRlIDEKZnlFIG55IDEKZEJiIGRlIDEKZVBqIGVyIDEKZmdPIG5nIDEKeFJxIHF1IDEKeHFLIHF1IDEKcEtwIHByIDEKeG1ZIG1lIDEKaGdPIHRoIDEKd2RHIGRlIDEKaHZaIHRoIDEKc3JGIGVyIDEKQnZmIHZpIDEKeXZEIHZhIDEKeFZnIG5nIDEKZllnIG5nIDEKYnFkIHF1IDEKZUZxIHF1IDEKY3daIGNoIDEKY3FHIGNoIDEKc0twIHN0IDEKaEpxIHRoIDEKdkxkIGRlIDEKaGRLIHRoIDEKcGNOIGNoIDEKdE5mIHRoIDEKeGxLIGxlIDEKckp4IGVyIDEKcWFOIGFuIDEKektmIHN6IDEKc05mIHN0IDEKcVB6IHF1IDEKYnpMIHN6IDEKSmR3IGRlIDEKblJiIGFuIDEKak5zIHN0IDEKdG5WIHRoIDEKeW5JIGFuIDEKdFpwIHRoIDEKZlpwIHByIDEKd01xIHF1IDEKT25xIGFuIDEKekloIHRoIDEKYnZIIHZhIDEKVXZjIGNoIDEKenhKIHN6IDEKVm1xIHF1IDEKdVBtIHF1IDEKbXdEIG1lIDEKalFjIGNoIDEKZ1BrIG5nIDEKdmZWIHZhIDEKVHFsIHF1IDEKYkpsIGxlIDEKbHdPIGxlIDEKd2JHIHdhIDEKZlRkIGRlIDEKWHRxIHRoIDEKaHpYIHRoIDEKUHp2IHN6IDEKUG14IG1lIDEKeFptIG1lIDEKakNwIGlqIDEKYkttIG1lIDEKVG1xIHF1IDEKSG5mIGFuIDEKa2pYIGlqIDEKdmdIIG5nIDEKZlNtIG1lIDEKeWxOIGxlIDEKZ3ZxIHF1IDEKalR6IHN6IDEKdFd3IHRoIDEKeXdCIHdhIDEKYkNxIHF1IDEKZE5rIGRlIDEKeUNxIHF1IDEKUnhqIGlqIDEKblRxIGFuIDEKZ0ZzIG5nIDEKWHdxIHF1IDEKZ0psIG5nIDEKdmNSIGNoIDEKZmJUIGJlIDEKRmNkIGNoIDEKV3htIG1lIDEKcXd2IHF1IDEKU2ZoIHRoIDEKbGNLIGNoIDEKc2JWIHN0IDEKZlNmIGZvIDEKbGJCIGxlIDEKT2N3IGNoIDEKamdNIG5nIDEKbmJJIGFuIDEKcXNLIHF1IDEKWHlmIG55IDEKcHh2IHZhIDEKbVJjIGNoIDEKT2dxIHF1IDEKenVZIHF1IDEKZlh1IHF1IDEKV2JqIGlqIDEKVGJ3IHdhIDEKenJSIGVyIDEKZ21QIG5nIDEKY0NtIGNoIDEKZ3RRIHRoIDEKcGhHIHRoIDEKcWpWIHF1IDEKeWdHIG5nIDEKd0ZiIHdhIDEKcnFMIHF1IDEKcVN4IHF1IDEKeWJLIGJlIDEKbXFKIHF1IDEKUXJxIHF1IDEKcWRJIHF1IDEKYmNHIGNoIDEKaUZiIGluIDEKbWNaIGNoIDEKdkN6IHN6IDEKeEh6IHR6IDEKaGpNIHRoIDEKcXRMIHRoIDEKdG1IIHRoIDEKc2xEIGxlIDEKdlJ6IHN6IDEKZ0NkIG5nIDEKWHhjIGNoIDEKcUtjIGNoIDEKc0l3IHN0IDEKZnNZIHN0IDEKeHJKIGVyIDEKdE5zIHRoIDEKZ2JEIG5nIDEKd0xsIGxlIDEKaEZmIHRoIDEKTnhpIGluIDEKZlJiIGJlIDEKSnJiIGVyIDEKakVxIHF1IDEKaHdNIHRoIDEKdVZ3IHF1IDEKZmdOIG5nIDEKbUFvIG9uIDEKUGpiIGlqIDEKbnBQIGluIDEKSmN5IGNoIDEKeUpiIGJpIDEKanhJIGlqIDEKS2tjIGNoIDEKa3dWIGthIDEKZ1JmIG5nIDEKV2ZtIG1lIDEKVGRwIHBvIDEKd0V6IHN6IDEKTHZrIGthIDEKRHFuIGFuIDEKdHFMIHRoIDEKakpxIHF1IDEKdmRDIGRlIDEKaHhVIHRoIDEKeFVlIGVyIDEKdFFjIHRoIDEKTHprIHN6IDEKZFRqIGRlIDEKVGx6IGxlIDEKeFF3IHdhIDEKRmNxIGNoIDEKd2dFIG5nIDEKQ2tkIGRlIDEKeUtzIHN0IDEKeHdTIHdhIDEKd1J0IHRoIDEKZ2tLIG5nIDEKaFF2IHRoIDEKc0xwIHN0IDEKakFpIGluIDEKZG1HIGRlIDEKaktuIGFuIDEKcVViIHF1IDEKd1h5IHdhIDEKYnpKIHN6IDEKZ3pKIG5nIDEKaE56IHRoIDEKeWdZIG5nIDEKcWhVIHRoIDEKYWZYIGFuIDEKalp3IGlqIDEKWGR4IGRlIDEKVGR4IGRlIDEKak5uIGFuIDEKdlhmIHZhIDEKcWNFIGNoIDEKTW53IGFuIDEKcURoIHRoIDEKVGRqIGRlIDEKZGdKIG5nIDEKc2RSIHN0IDEKcUduIGFuIDEKTWpqIGlqIDEKc3hIIHN0IDEKUHB6IHN6IDEKZ2ZWIG5nIDEKZk95IG55IDEKTnZ4IHZpIDEKcWFWIGFuIDEKeGpsIGxlIDEKeGdaIG5nIDEKY0d2IGNoIDEKWnh1IHF1IDEKTWZwIHByIDEKekZwIHN6IDEKamdKIG5nIDEKYnBHIHByIDEKdkt6IHN6IDEKaHFJIHRoIDEKUWd3IG5nIDEKUXl5IG55IDEKam1JIGlqIDEKVmdkIG5nIDEKeEN0IHRoIDEKeVZzIHN0IDEKdUVxIHF1IDEKZGNOIGNoIDEKQnpiIHN6IDEKZ1ZsIG5nIDEKc1hnIG5nIDEKa1FmIGthIDEKbHJZIGVyIDEKVnRkIHRoIDEKbkhzIGFuIDEKd2pOIGlqIDEKcnpKIGVyIDEKc1l5IHN0IDEKd3hRIHdhIDEKWnRiIHRoIDEKdFdmIHRoIDEKdEN4IHRoIDEKYUZiIGFuIDEKbHFmIHF1IDEKZmVaIGVyIDEKZlB6IHN6IDEKY2pZIGNoIDEKd0toIHRoIDEKUWh5IHRoIDEKZENqIGRlIDEKYmtIIGthIDEKeWpEIGlqIDEKalRzIHN0IDEKaHhJIHRoIDEKbHZLIHZpIDEKTHd6IHN6IDEKc3dRIHN0IDEKZFRrIGRpIDEKZnNPIHN0IDEKbGpFIGxlIDEKd2pNIGlqIDEKdVFrIHF1IDEKeFBnIG5nIDEKdm1DIHZhIDEKcXNEIHF1IDEKZ0R3IG5nIDEKd0prIGthIDEKWnBxIHF1IDEKWWhnIHRoIDEKa05jIGNoIDEKYldsIGxlIDEKRndoIHRoIDEKZkh4IGZvIDEKRm52IGFuIDEKZmRMIGRlIDEKb3FEIHF1IDEKYVl4IGFuIDEKVnF4IHF1IDEKdktmIHZhIDEKQ2J3IHdhIDEKdnlxIHF1IDEKY3FaIGNoIDEKUmZoIHRoIDEKU3djIGNoIDEKcU5pIHF1IDEKcW9XIHF1IDEKamhEIHRoIDEKa0pxIHF1IDEKZ2RGIG5nIDEKcHZGIHZhIDEKY3BWIGNoIDEKcXRDIHRoIDEKZ1dtIG5nIDEKZ1BjIGNoIDEKakJzIHN0IDEKcmxWIGVyIDEKZ1pjIGNoIDEKa1RrIGthIDEKaGZKIHRoIDEKU3Z2IHZhIDEKa21HIGthIDEKc0RxIHF1IDEKaEdiIHRoIDEKQmxxIHF1IDEKUXJ5IGVyIDEKaEh6IHRoIDEKeUx4IG55IDEKbHFGIHF1IDEKd2JCIGJpIDEKaVlyIGluIDEKd0R6IHR6IDEKeHNKIHN0IDEKYnpZIHN6IDEKcE13IHByIDEKVXVqIHF1IDEKaHhLIHRoIDEKWHZmIHZhIDEKa3JaIGVyIDEKZndWIHdhIDEKZ1B3IG5nIDEKcVZuIGFuIDEKUW5xIGFuIDEKZ0RiIG5nIDEKaFZyIHRoIDEKektoIHRoIDEKRnh5IG55IDEKb1pqIG9uIDEKekF5IHN6IDEKak1tIGlqIDEKbXZJIHZhIDEKRndtIG1lIDEKenFsIHF1IDEKZVZ2IGVyIDEKeVdxIHF1IDEKTHdrIGthIDEKTG13IG1lIDEKdlhiIHZhIDEKWGhzIHRoIDEKaGxSIHRoIDEKUXF3IHF1IDEKemJLIHN6IDEKUHhsIGxlIDEKblBtIGFuIDEKd1FvIG9uIDEKRGNiIGNoIDEKaGpUIHRoIDEKcmpKIGVyIDEKYk1jIGNoIDEKaVliIGluIDEKRnFqIHF1IDEKVW9xIHF1IDEKWHZwIHZhIDEKTHdiIHdhIDEKSnBkIGRlIDEKcVVnIHF1IDEKbEp4IGxlIDEKWHdkIGRlIDEKeEtmIGZvIDEKWm5xIGFuIDEKcUNiIHF1IDEKWmJ6IHN6IDEKUXV4IHF1IDEKcU5xIHF1IDEKZnZWIHZhIDEKUXF6IHF1IDEKSGRmIGRlIDEKeVN4IG55IDEKcVNtIHF1IDEKTGhiIHRoIDEKTXZmIHZhIDEKY0RwIGNoIDEKYkhxIHF1IDEKV21nIG5nIDEKeXRHIHRoIDEKZGJKIGRlIDEKRmZnIG5nIDEKaHZNIHRoIDEKV3F5IHF1IDEKZ1hkIG5nIDEKdUZnIHF1IDEKanBSIGlqIDEKWGNjIGNoIDEKVGJwIHByIDEKUXdxIHF1IDEKdFBwIHRoIDEKZk1oIHRoIDEKcWlWIHF1IDEKZGNCIGNoIDEKZEZ4IGRlIDEKWW1qIGlqIDEKTGRxIHF1IDEKbHhWIGxlIDEKY0NrIGNoIDEKaFZ4IHRoIDEKZGxUIGxlIDEKa2hQIHRoIDEKcVZnIHF1IDEKTGpqIGlqIDEKekN2IHN6IDEKeXdWIHdhIDEKeWJaIGJlIDEKdkdoIHRoIDEKQnZqIGlqIDEKWnFxIHF1IDEKR3drIGthIDEKcUxxIHF1IDEKZmtYIGthIDEKTmJ6IHN6IDEKYlhtIG1lIDEKZFFoIHRoIDEKdVlkIHF1IDEKeFlzIHN0IDEKelNzIHN0IDEKeWNaIGNoIDEKbG5VIGFuIDEKdENqIHRoIDEKeG5ZIGFuIDEKcHRRIHRoIDEKc3dPIHN0IDEKaFh1IHRoIDEKbUJ3IG1iIDEKd21GIG1lIDEKeEp4IHhlIDEKZFhqIGRlIDEKZXFnIHF1IDEKbkJmIGFuIDEKWGJkIGRlIDEKZmNRIGNoIDEKeGtTIGthIDEKdE9xIHRoIDEKdVFiIHF1IDEKY3ZWIGNoIDEKc0JoIHRoIDEKZENrIGRlIDEKY0t2IGNoIDEKY1ZmIGNoIDEKd1p4IHdhIDEKQnZtIHZhIDEKbHFKIHF1IDEKZnhSIGZvIDEKdm1GIHZhIDEKeG5xIGFuIDEKYkJnIG5nIDEKdFBkIHRoIDEKZk5zIHN0IDEKRmtwIGthIDEKWXllIGVyIDEKVWJxIHF1IDEKeHpQIHN6IDEKZm1RIG1lIDEKcWNBIGNoIDEKeUtjIGNoIDEKeHZaIHZhIDEKY2JOIGNoIDEKeVlsIGxlIDEKUG13IG1lIDEKd0Z4IHdhIDEKaFJoIHRoIDEKcXBTIHF1IDEKVnFmIHF1IDEKR2hnIHRoIDEKV3ZxIHF1IDEKeGtDIGthIDEKeXRNIHRoIDEKTG5oIHRoIDEKZHhEIGRlIDEKYk13IHdhIDEKeHZVIHZhIDEKUXp4IHN6IDEKc3JNIGVyIDEKdkxnIG5nIDEKY0dxIGNoIDEKVm15IG1lIDEKaGNMIHRoIDEKcEt4IHByIDEKSnhzIHN0IDEKYmxXIGxlIDEKcFFvIG9uIDEKYkVxIHF1IDEKZld0IHRoIDEKc1ltIHN0IDEKbkt3IGFuIDEKZHRGIHRoIDEKa1R6IHN6IDEKZXBYIGVyIDEKZkNwIHByIDEKYkZrIGthIDEKUnpiIHN6IDEKdnFJIHF1IDEKWmhjIHRoIDEKSHZ2IHZhIDEKbVZ0IHRoIDEKSXd4IHdhIDEKcGhSIHRoIDEKd05iIHdhIDEKZlJjIGNoIDEKbGpxIHF1IDEKbHZZIGxlIDEKamNBIGNoIDEKZEd3IGRlIDEKQ3FuIGFuIDEKbUJ4IG1lIDEKTW14IG1lIDEKVnhhIGFuIDEKWGh3IHRoIDEKZXFLIHF1IDEKdEN3IHRoIDEKenZVIHN6IDEKbHhRIGxlIDEKdk12IHZhIDEKZ3FBIHF1IDEKSmJuIGFuIDEKZ0NqIG5nIDEKb1RmIG9uIDEKa2JXIGthIDEKcWpZIHF1IDEKUnFmIHF1IDEKaFloIHRoIDEKeWhFIHRoIDEKZ1lqIG5nIDEKamNJIGNoIDEKcXZKIHF1IDEKcW9DIHF1IDEKcUZjIGNoIDEKcXFIIHF1IDEKTnhxIHF1IDEKd1ZvIG9uIDEKekh2IHN6IDEKeWJTIGJlIDEKSHdjIGNoIDEKTXhhIGFuIDEKeGtMIGthIDEKcW1PIHF1IDEKcWJSIHF1IDEKWmZ5IG55IDEKUmtmIGthIDEKdmdWIG5nIDEKaEJ3IHRoIDEKcFh4IHByIDEKYnJRIGVyIDEKZnZPIHZhIDEKaERjIHRoIDEKeFFhIGFuIDEKd2ZGIHdhIDEKaFp4IHRoIDEKSmd6IG5nIDEKcW5ZIGFuIDEKcVhsIGxlIDEKZU5iIGVyIDEKZnhTIGZvIDEKc05rIHN0IDEKbUZjIGNoIDEKVXV4IHF1IDEKWWRnIG5nIDEKb3pXIG9uIDEKWHpkIGRlIDEKSmZlIGVyIDEKRnR4IHRoIDEKdnpSIHN6IDEKd1prIGthIDEKb0h6IG9uIDEKcXZUIHF1IDEKcW9BIHF1IDEKU2RxIHF1IDEKdHhXIHRoIDEKRWdmIG5nIDEKZE1mIGRlIDEKUmhoIHRoIDEKdlJuIGFuIDEKdWpYIHF1IDEKZlJqIGlqIDEKZ2pBIG5nIDEKZ0RnIG5nIDEKc21aIHN0IDEKaklkIGRlIDEKcWtNIHF1IDEKYkt6IHN6IDEKc0NnIG5nIDEKdVRwIHF1IDEKbFZzIGxlIDEKdVFvIHF1IDEKSmZzIHN0IDEKdkttIHZhIDEKalFoIHRoIDEKZlVmIGZvIDEKdVRmIHF1IDEKQm52IGFuIDEKdGRVIHRoIDEKZHhZIGRlIDEKaGdWIHRoIDEKWmRmIGRlIDEKaHFTIHRoIDEKZUpnIG5nIDEKcUd1IHVuIDEKdm1FIHZhIDEKZ0t6IG5nIDEKbVVnIG5nIDEKVmp5IGlqIDEKdXZKIHF1IDEKbUhyIGVyIDEKTWh2IHRoIDEKenNaIHN0IDEKVnp5IHN6IDEKaktiIGlqIDEKelBwIHN6IDEKcWdEIHF1IDEKWGhmIHRoIDEKT2dwIG5nIDEKandYIGlqIDEKbFl5IGxlIDEKcXpEIHF1IDEKd1hqIGpvIDEKS3B4IHByIDEKeWRZIGRlIDEKdkJxIHF1IDEKWnBwIHByIDEKYkRkIGRlIDEKRmprIGlqIDEKa2RBIGRlIDEKeld0IHRoIDEKd1NkIGRlIDEKa0ZkIGRlIDEKU3hsIGxlIDEKRnZoIHRoIDEKcGJSIHByIDEKcXJEIHF1IDEKdlpzIHN0IDEKdlVtIHZhIDEKd0V5IHdhIDEKampIIGpvIDEKc0RnIG5nIDEKVWpjIGNoIDEKa25JIGFuIDEKZk9hIGFuIDEKQ2pnIG5nIDEKdGJWIHRoIDEKZ3FkIHF1IDEKZVB4IGVyIDEKd1JtIG1lIDEKcHZHIHZhIDEKUXlsIGxlIDEKY3dHIGNoIDEKRHRxIHRoIDEKUGJ6IHN6IDEKUmdxIHF1IDEKZmpVIGlqIDEKakpmIGlqIDEKUnhxIHF1IDEKSnR4IHRoIDEKcXZaIHF1IDEKa0ttIGthIDEKaEZtIHRoIDEKa2NYIGNoIDEKZk5tIG1lIDEKYnBCIHByIDEKeHFZIHF1IDEKaFl5IHRoIDEKZ0dwIG5nIDEKVmZzIHN0IDEKd0R0IHRoIDEKYlRzIHN0IDEKaGZWIHRoIDEKcXpwIHF1IDEKeVV2IHZhIDEKcUdjIGNoIDEKVmRsIGxlIDEKWGp0IHRoIDEKa01qIGlqIDEKaFRnIHRoIDEKSGxjIGNoIDEKdEt6IHRoIDEKV3Z0IHRoIDEKbE16IGxlIDEKTXd4IHdhIDEKV2x2IGxlIDEKeHpHIHN6IDEKZ21EIG5nIDEKek9pIGluIDEKYmJJIGJlIDEKYnBJIHByIDEKZlFnIG5nIDEKcFF2IHZhIDEKdkViIHZhIDEKakZ6IHN6IDEKV2hmIHRoIDEKanZRIGlqIDEKcVl4IHF1IDEKcnhNIGVyIDEKdlBwIHZhIDEKZmpEIGlqIDEKVnd5IHdhIDEKWXFjIGNoIDEKdGNXIHRoIDEKallnIG5nIDEKZ0piIG5nIDEKVGtjIGNoIDEKcWhqIHRoIDEKanhGIGlqIDEKRnB6IHN6IDEKa1hoIHRoIDEKbGdaIG5nIDEKem5JIGFuIDEKcXlOIHF1IDEKdkJqIGlqIDEKalN4IGlqIDEKY3FJIGNoIDEKcVl2IHF1IDEKWnJyIGVyIDEKc0hyIGVyIDEKdnJLIGVyIDEKcGJIIHByIDEKelZoIHRoIDEKZFFiIGRlIDEKbHhGIGxlIDEKc2dXIG5nIDEKR2hmIHRoIDEKeHBxIHF1IDEKcWhOIHRoIDEKRnNmIHN0IDEKUWdhIGFuIDEKUmRwIGRlIDEKZnZLIHZhIDEKWWR6IGRlIDEKd3ZXIHZhIDEKY1BtIGNoIDEKY1F5IGNoIDEKeXdGIHdhIDEKWXBxIHF1IDEKUnNqIHN0IDEKWWd3IG5nIDEKeFZwIHByIDEKeXhMIG55IDEKWXdsIGxlIDEKak1jIGNoIDEKelRsIGxlIDEKYUlxIGFuIDEKcVFpIHF1IDEKdHFJIHRoIDEKSHZwIHZhIDEKd1FkIGRlIDEKaGZHIHRoIDEKY1RkIGNoIDEKYmZRIGJlIDEKS2ZkIGRlIDEKY1hzIGNoIDEKdll4IHZhIDEKUW9jIHJvIDEKdnJMIGVyIDEKcFprIGthIDEKY2RYIGNoIDEKWWduIGFuIDEKbG5PIGFuIDEKbWZZIG1lIDEKZm5WIGFuIDEKbWJaIG1lIDEKZ2JFIG5nIDEKeGpaIGlqIDEKRnB5IHByIDEKbnBFIGFuIDEKUnh5IG55IDEKb1dwIG9uIDEKaFZoIHRoIDEKeUpmIG55IDEKc1FkIHN0IDEKWnZnIG5nIDEKYkRtIG1lIDEKcEx2IHZhIDEKd3dGIHdhIDEKeEJoIHRoIDEKcUttIHF1IDEKd1h4IHdhIDEKSXV4IHF1IDEKZGdCIG5nIDEKZ0pwIG5nIDEKcWd4IHF1IDEKZk5oIGhvIDEKY3ZFIGNoIDEKY2dIIGNoIDEKbE5zIGxlIDEKdkRqIGlqIDEKemNHIGNoIDEKZlpuIG9uIDEKdVV4IHF1IDEKY2xRIGxlIDEKZmRIIGRlIDEKZVpqIGVyIDEKVnFjIGNoIDEKUmN4IGNoIDEKakdoIHRoIDEKcXpNIHN6IDEKUXB3IHByIDEKU3B4IHByIDEKY0d4IGNoIDEKY3FBIGNoIDEKdmJLIHZhIDEKeGVXIGVyIDEKdmtDIGthIDEKeHpCIHN6IDEKeHVSIHF1IDEKT3lxIHF1IDEKTXF4IHF1IDEKcXFqIHF1IDEKeXFZIHF1IDEKY3dMIGNoIDEKcFB0IHRoIDEKZFN4IGRlIDEKZFBrIGRlIDEKdXpIIHF1IDEKZnZIIHZhIDEKcGNIIGNoIDEKaGxZIGxlIDEKcXRYIHRoIDEKTnZzIHN0IDEKaHZMIHRoIDEKelJrIHN6IDEKdE5qIHRoIDEKRGJ2IHZhIDEKaktjIGNoIDEKZEt5IGRlIDEKeVZ6IHN6IDEKaXFKIHF1IDEKemdKIG5nIDEKZUpzIGVyIDEKd094IHdhIDEKclhoIHRoIDEKSHFwIHF1IDEKdld4IHZhIDEKYlR0IHRoIDEKZkN5IG55IDEKYU9xIGFuIDEKb0NnIG5nIDEKcG5FIGFuIDEKRndjIGNoIDEKenJUIGVyIDEKeEhzIHN0IDEKeWRYIGRlIDEKZGtWIGRlIDEKUnF5IHF1IDEKWnlxIHF1IDEKa1hsIGxlIDEKb0p0IHRoIDEKc3hJIHN0IDEKcVp3IHF1IDEKenF4IHF1IDEKY2xaIGNoIDEKc3dYIHN6IDEKYUh3IGFuIDEKcldjIGNoIDEKY1FwIGNoIDEKSndqIGlqIDEKcWVWIHF1IDEKc1FqIHN0IDEKUnBiIHByIDEKbVpxIHF1IDEKckJ4IGVyIDEKbXhWIG1lIDEKTXZ5IG55IDEKY1JsIGNoIDEKRnp2IHN6IDEKcEJzIHN6IDEKaldzIHN0IDEKdnFLIHF1IDEKSXhsIGxlIDEKeWh3IHRoIDEKd3lRIHdhIDEKdUNiIHF1IDEKenJGIHN6IDEKaXlRIGluIDEKcXNQIHF1IDEKaExyIGVyIDEKY3ZYIGNoIDEKU2NxIGNoIDEKenJMIGVyIDEKZWNVIGNoIDEKVnh6IHN6IDEKZkNxIHF1IDEKb3ZYIG9uIDEKVXFuIGFuIDEKc1Z3IHN0IDEKc3BYIHN0IDEKUWt2IGthIDEKZnlXIG55IDEKckJjIGNoIDEKbWRDIGRlIDEKV2prIGlqIDEKalloIHRoIDEKaFhxIHRoIDEKeGttIGthIDEKaGhVIHRoIDEKRHZ6IHN6IDEKdGNxIHRoIDEKd1p5IHdhIDEKanRDIHRoIDEKcW5EIGFuIDEKdm1CIHZhIDEKa2pCIGlqIDEKY2RHIGNoIDEKVmt0IHRoIDEKaE5xIHRoIDEKSmZ0IHRoIDEKaVd2IGluIDEKV3RuIHRoIDEKbGZFIGxlIDEKZFpiIGRlIDEKZXFRIHF1IDEKZ1VxIHF1IDEKcXdMIHF1IDEKaFVxIHRoIDEKaEdjIHRoIDEKbndYIGFuIDEKTmJ0IHRoIDEKampQIGlqIDEKc3FKIHF1IDEKbFFmIGxlIDEKalp6IHN6IDEKd1duIGFuIDEKTXh1IHF1IDEKcUZpIHF1IDEKbWpYIGlqIDEKdkR4IHZhIDEKdkRuIGFuIDEKd1VjIGNoIDEKemhVIHRoIDEKekh3IHN6IDEKVGpsIGxlIDEKeHVYIHF1IDEKalpwIGlqIDEKd1ZjIGNoIDEKZ0ZwIG5nIDEKR3lxIHF1IDEKSmxoIHRoIDEKQmtmIGthIDEKaGhKIHRoIDEKdHZXIHRoIDEKYkl5IG55IDEKTGxnIG5nIDEKekp6IHN6IDEKcWVRIHF1IDEKbmxYIGFuIDEKdGNRIHRoIDEKcXRVIHRoIDEKZmtXIGthIDEKZ0prIG5nIDEKZ1F5IG5nIDEKc1B6IHN0IDEKYm1PIG1lIDEKWXR4IHRoIDEKeXFGIHF1IDEKaUJrIGluIDEKdXpWIHF1IDEKeE5wIHByIDEKelJ6IHN6IDEKcUhxIHF1IDEKeXVZIHF1IDEKanFoIHRoIDEKeEJkIGRlIDEKdnZBIHZhIDEKZVZqIGVyIDEKekdwIHN6IDEKdmNCIGNoIDEKa3BIIGthIDEKbUR3IG1lIDEKdnVHIHF1IDEKdlZ5IG55IDEKbXpTIHN6IDEKanZNIGlqIDEKc2ZWIHN0IDEKaFFxIHRoIDEKd1RtIG1lIDEKUGxxIHF1IDEKZnhKIGZvIDEKcVFxIHF1IDEKRm53IGFuIDEKcUpvIHF1IDEKTnNnIG5nIDEKTGp4IGlqIDEKc1JiIHN0IDEKcGNZIGNoIDEKdlZtIHZhIDEKc1FnIG5nIDEKWXd6IHN6IDEKaHFKIHRoIDEKc2pLIHN0IDEKWmtzIHN0IDEKTWp0IHRoIDEKRHdoIHRoIDEKd2JOIHdhIDEKbXZLIHZhIDEKckxwIGVyIDEKTGJtIG1lIDEKd2pPIGlqIDEKbFF6IGxlIDEKS3dmIHdhIDEKcW1CIHF1IDEKWGJ2IHZhIDEKY0txIGNoIDEKaHFSIHRoIDEKeVZiIGJlIDEKeGNGIGNoIDEKRXd2IHZhIDEKR3BxIHF1IDEKR2JoIHRoIDEKeUhqIGlqIDEKZ1hrIG5nIDEKcU94IHF1IDEKS2J3IHdhIDEKcUh4IHF1IDEKd2pQIGlqIDEKalFsIGxlIDEKRmZxIHF1IDEKb1liIG9uIDEKRnFvIHF1IDEKd1h6IHN6IDEKZklwIHByIDEKcE1mIHByIDEKbnFQIGFuIDEKYmJaIGJlIDEKaHNYIHRoIDEKV2pyIGVyIDEKWnFuIGFuIDEKUHhiIGJlIDEKQnpzIHN0IDEKcGJJIHByIDEKWXZwIHZhIDEKanhNIGlqIDEKanlaIGlqIDEKbXpKIHN6IDEKdllnIG5nIDEKcU1tIHF1IDEKZmhMIHRoIDEKcU9nIHF1IDEKTW5wIGFuIDEKSWZ2IHZhIDEKcVltIHF1IDEKZ3h2IG5nIDEKemZHIHN6IDEKZnFHIHF1IDEKbExxIHF1IDEKaGtLIHRoIDEKb1lrIG9uIDEKbFJnIGxlIDEKbE94IGxlIDEKVnh2IHZhIDEKcUFzIHF1IDEKdEtrIHRoIDEKbGhGIHRoIDEKZEN2IGRlIDEKd3ZZIHZhIDEKd2lWIGluIDEKY3JGIGNoIDEKZkVwIHByIDEKUnJsIGVyIDEKWmp5IGlqIDEKcWJZIHF1IDEKa013IGthIDEKdlppIGluIDEKRnhpIGluIDEKemtTIHN6IDEKdktiIHZhIDEKemJJIHN6IDEKdUhnIHF1IDEKcXpHIHF1IDEKak1rIGlqIDEKRmtjIGNoIDEKZEttIGRlIDEKbkhoIHRoIDEKeEdjIGNoIDEKcXBVIHF1IDEKcmNVIGNoIDEKYVd4IGFuIDEKeGRTIGRlIDEKcWhWIHRoIDEKYUhjIGNoIDEKdm1JIHZhIDEKV2NjIGNoIDEKekJuIGFuIDEKa1FlIGVyIDEKYXdKIGFuIDEKeGREIGRlIDEKeVp4IG55IDEKS2tkIGRlIDEKd0J6IHN6IDEKbHpBIGxlIDEKeXlUIG55IDEKcWVLIHF1IDEKenBFIHN6IDEKekZuIGFuIDEKeXlHIG55IDEKbEx3IGxlIDEKYnZTIHZhIDEKbXZYIHZhIDEKaGxXIHRoIDEKcGdYIG5nIDEKbFF0IHRoIDEKeW1ZIG1lIDEKbWpKIGlqIDEKbVZjIGNoIDEKWHFzIHF1IDEKYktyIGVyIDEKYkh0IHRoIDEKalJ2IGlqIDEKTHB3IHByIDEKelBiIHN6IDEKd2tSIGthIDEKa3hTIGthIDEKaldmIGlqIDEKTmt4IGthIDEKS2NqIGNoIDEKYkpiIGJlIDEKeHdaIHdhIDEKUnFjIGNoIDEKUXpnIG5nIDEKandIIGlqIDEKRHFkIHF1IDEKdkxmIHZhIDEKaFhkIHRoIDEKY2ZEIGNoIDEKc2pYIHN0IDEKaHpJIHRoIDEKcVVkIHF1IDEKdFN4IHRoIDEKaHhBIHRoIDEKZ3hLIG5nIDEKaFZtIHRoIDEKeXpYIHN6IDEKVWNzIGNoIDEKcWFIIGFuIDEKWWZ5IG55IDEKc0pnIG5nIDEKaUhwIGluIDEKaXlDIGluIDEKVGpmIGlqIDEKZEpwIGRlIDEKSmd2IG5nIDEKdUpmIHF1IDEKbk5sIGFuIDEKemRBIHN6IDEKeElxIHF1IDEKcWpLIHF1IDEKdnpZIHN6IDEKd3F2IHF1IDEKWHZ4IHZhIDEKZkpyIGVyIDEKbnFIIGFuIDEKcUdkIHF1IDEKdlFnIG5nIDEKaVF6IGluIDEKdExuIHRoIDEKbFZqIGxlIDEKdnFXIHF1IDEKenJOIGVyIDEKeEt6IHN6IDEKd2FWIGFuIDEKWWRxIHF1IDEKZGtxIHF1IDEKZkNuIGFuIDEKWGN5IGNoIDEKcElsIGxlIDEKaFhsIHRoIDEKYUZzIGFuIDEKaXdNIGluIDEKR3d4IHdhIDEKWGxwIGxlIDEKUWZ1IHF1IDEKanFFIHF1IDEKbHFQIHF1IDEKa1ZxIHF1IDEKeHFKIHF1IDEKTXpmIHN6IDEKbU53IG1lIDEKV3N2IHN0IDEKZm5NIGFuIDEKdVNmIHF1IDEKaENmIHRoIDEKempIIHN6IDEKbVRzIHN0IDEKald6IHN6IDEKRHhrIGthIDEKWnRkIHRoIDEKUnZ2IHZhIDEKZ0J4IG5nIDEKTHp4IHN6IDEKZXpVIGVyIDEKanFIIHF1IDEKUmpoIHRoIDEKRGNnIGNoIDEKYkJoIHRoIDEKZmhPIHRoIDEKaHBIIHRoIDEKWnFhIGFuIDEKa0N4IGthIDEKclJ2IGVyIDEKZGtaIGRlIDEKR2d4IG5nIDEKcFFoIHRoIDEKR2N2IGNoIDEKU2NnIGNoIDEKdkRiIHZhIDEKcGJEIHByIDEKdkVoIHRoIDEKdmxFIGxlIDEKUmpsIGxlIDEKbEZ3IGxlIDEKenFOIHF1IDEKYVBxIGFuIDEKZ2pEIG5nIDEKamNFIGNoIDEKd1N3IHdhIDEKRGdqIG5nIDEKaHVaIHRoIDEKZ1B2IG5nIDEKcEpqIGlqIDEKY1FoIHRoIDEKbXdxIHF1IDEKdnBBIHZhIDEKaEdmIHRoIDEKY1h6IGNoIDEKTGNiIGNoIDEKZkptIG1lIDEKUXp5IHN6IDEKelFtIHN6IDEKSGhuIHRoIDEKeGRZIGRlIDEKdVlsIHF1IDEKWGtqIGlqIDEKanZBIGlqIDEKSnZwIHZhIDEKaXdaIGluIDEKemtxIHF1IDEKTmhiIHRoIDEKa21WIGthIDEKcUtkIHF1IDEKQmNxIGNoIDEKcGZZIHByIDEKcVVqIHF1IDEKZ3FSIHF1IDEKZ3dPIG5nIDEKZ1htIG5nIDEKakhoIHRoIDEKckJuIGFuIDEKdVB3IHF1IDEKcEprIGthIDEKSXBqIGlqIDEKeXFNIHF1IDEKWXFuIGFuIDEKS2J6IHN6IDEKdmZMIHZhIDEKbnBaIGFuIDEKb3FZIHF1IDEKWnFmIHF1IDEKanpVIHN6IDEKdk54IHZhIDEKaFhmIHRoIDEKZkNnIG5nIDEKbnpKIGFuIDEKbUtqIGlqIDEKd21CIG1lIDEKV2pxIHF1IDEKRGJxIHF1IDEKelh5IHN6IDEKeFl3IHdhIDEKZlFmIGZvIDEKZHFQIHF1IDEKS3hxIHF1IDEKamRaIGRlIDEKcXJYIHF1IDEKTHhiIGJlIDEKeWZMIG55IDEKeVltIG1lIDEKc2JIIHN0IDEKd2xWIGxlIDEKdUtwIHF1IDEKaGhOIHRoIDEKWHhxIHF1IDEKakxnIG5nIDEKblFoIHRoIDEKV3FwIHF1IDEKTnFkIHF1IDEKamZEIGlqIDEKSm5xIGFuIDEKQnpuIGFuIDEKbUpyIGVyIDEKcWFYIGFuIDEKcEp3IHByIDEKakh6IHN6IDEKeWFYIGFuIDEKV2hzIHRoIDEKaFlyIHRoIDEKdG1TIHRoIDEKRmh5IHRoIDEKR2dkIG5nIDEKWG15IG1lIDEKUnFoIHRoIDEKRnNuIGFuIDEKcWhBIHRoIDEKZmhYIHRoIDEKSHF4IHF1IDEKd0lvIG9uIDEKSWJ4IGJlIDEKY0Z4IGNoIDEKZFJnIG5nIDEKc25WIGFuIDEKa3F6IHF1IDEKZXFPIGVyIDEKR2t6IHN6IDEKTm56IGFuIDEKeXFFIHF1IDEKY0poIHRoIDEKeHZBIHZhIDEKcU14IHF1IDEKZHdTIGRlIDEKeUFqIGlqIDEKeENxIHF1IDEKZ21FIG5nIDEKYmhQIHRoIDEKcndFIGVyIDEKWG56IGFuIDEKVWh3IHRoIDEKeG5SIGFuIDEKbmZaIGFuIDEKUXB4IHByIDEKcXhPIHF1IDEKbEd0IHRoIDEKcVJjIGNoIDEKUnd4IHdhIDEKdGNNIHRoIDEKZkJkIGRlIDEKUmpjIGNoIDEKZGZZIGRlIDEKaGhSIHRoIDEKYkNqIGlqIDEKZnFMIHF1IDEKbHpTIGxlIDEKTHJtIGVyIDEKZXFFIHF1IDEKdmdMIG5nIDEKd1FyIGVyIDEKYndCIHdhIDEKbEdmIGxlIDEKTndxIHF1IDEKc2RVIHN0IDEKWnh2IHZhIDEKeURtIG1lIDEKTHN3IHN0IDEKY05xIGNoIDEKRHFjIGNoIDEKdkx6IHN6IDEKZFd2IGRlIDEKZmtRIGthIDEKempEIHN6IDEKeVl2IHZhIDEKcWVUIHF1IDEKY3ZMIGNoIDEKd2tBIGthIDEKTnZiIHZhIDEKZGpNIGRlIDEKaGdLIHRoIDEKcFhiIHByIDEKVGx3IGxlIDEKUmh6IGhhIDEKd2tQIGthIDEKd0RrIGthIDEKZUZjIGNoIDEKZWhVIHRoIDEKWGx5IGxlIDEKd3hLIHdhIDEKZFB3IGRlIDEKc0ZkIHN0IDEKdmNJIGNoIDEKRnhkIGRlIDEKZnZSIHZhIDEKanFzIHF1IDEKck1qIGVyIDEKcWJXIHF1IDEKa3BQIGthIDEKQnZ3IHZhIDEKVG1rIGthIDEKaGJQIHRoIDEKaE14IHRoIDEKamdMIG5nIDEKZWZVIGVyIDEKY1FiIGNoIDEKbWNBIGNoIDEKRXdxIHF1IDEKeG1WIG1lIDEKUWNxIGNoIDEKbXpHIHN6IDEKcEttIG1lIDEKRndxIHF1IDEKbFJuIGFuIDEKalBrIGlqIDEKak1iIGlqIDEKbXpPIHN6IDEKb0Z3IG9uIDEKaEpiIHRoIDEKc1ZxIHF1IDEKaVZ6IGluIDEKb3FVIHF1IDEKYmhXIHRoIDEKT3hxIHF1IDEKbVFrIGthIDEKWGZiIGJlIDEKY053IGNoIDEKZmdaIG5nIDEKVHZmIHZhIDEKc0l4IHN0IDEKdVpzIHF1IDEKeHpYIHN6IDEKWWxxIHF1IDEKb0hmIG9uIDEKY3NVIGNoIDEKUXpzIHN0IDEKQmZxIHF1IDEKeUpuIGFuIDEKcGdRIG5nIDEKd3hrIGthIDEKVG53IGFuIDEKYkt4IGJlIDEKYnFYIHF1IDEKUWpzIHN0IDEKcEZoIHRoIDEKWHZsIGxlIDEKa2ZCIGthIDEKbVpsIGxlIDEKQ3NnIG5nIDEKdnJKIGVyIDEKR2Z5IG55IDEKamJQIGlqIDEKWXZsIGxlIDEKSHhiIGJlIDEKbHJEIGVyIDEKcVRsIHF1IDEKYUJjIGNoIDEKZkdiIGJlIDEKbWhTIHRoIDEKelRwIHN6IDEKa1JkIGRlIDEKV3BoIHRoIDEKTnBqIGlqIDEKbHdTIGxlIDEKbUdtIG1lIDEKbnFUIGFuIDEKVWpuIGFuIDEKeGpPIGlqIDEKZE16IHN6IDEKd0tqIGlqIDEKeVpyIGVyIDEKTmpiIGlqIDEKWWxyIGVyIDEKbVZmIG1lIDEKZ1pnIG5nIDEKSGNiIGNoIDEKeGNCIGNoIDEKa01tIGthIDEKbHdDIGxlIDEKRG5mIGFuIDEKaGpXIHRoIDEKclRrIGVyIDEKVnpqIHN6IDEKVnh5IG55IDEKd2xRIGxlIDEKTnJ2IGVyIDEKcGpQIGlqIDEKZndaIHdhIDEKdG5XIHRoIDEKb0p3IG9uIDEKa0p4IGthIDEKVnBqIGlqIDEKcUF3IHF1IDEKUWh0IHRoIDEKYkNuIGFuIDEKdnJVIGVyIDEKaFJjIHRoIDEKY2xDIGNoIDEKckZkIGVyIDEKdHdIIHRoIDEKa0N3IGthIDEKbVNkIGRlIDEKWG53IGFuIDEKZlhtIG1lIDEKVHdmIHdhIDEKRndqIGlqIDEKYmpKIGlqIDEKbGJRIGxlIDEKa3ZTIGthIDEKU216IHN6IDEKZkJwIHByIDEKTnp6IHN6IDEKYlFwIHByIDEKdkx4IHZhIDEKaFZmIHRoIDEKeVVqIGlqIDEKY1pkIGNoIDEKZ0l5IGVnIDEKaFZxIHRoIDEKYVF4IGFuIDEKUWZ2IHZhIDEKbEtiIGxlIDEKemhOIHRoIDEKWmJtIG1lIDEKR2NxIGNoIDEKZ2JUIG5nIDEKcFlrIGthIDEKWHZkIGRlIDEKeE1sIGxlIDEKdUhiIHF1IDEKYlhmIGJlIDEKc05jIGNoIDEKcVZ5IHF1IDEKY3BPIGNoIDEKRmdiIG5nIDEKZVdsIGVyIDEKa0tkIGRlIDEKQ2JqIGlqIDEKbWZIIG1lIDEKcUlhIGFuIDEKc2ZYIHN0IDEKc25IIGFuIDEKSGpnIG5nIDEKTG1mIG1lIDEKeGdmIG5nIDEKRXZ3IHZhIDEKd09rIGthIDEKSGpmIGlqIDEKenVKIHF1IDEKZlptIG1lIDEKbE5xIHF1IDEKeFVnIG5nIDEKbkxzIGFuIDEKamtTIGlqIDEKR3ZwIHZhIDEKalBkIGRlIDEKeXdRIHdhIDEKcXJHIHF1IDEKYmJIIGJlIDEKZ2hKIHRoIDEKbU1oIHRoIDEKWXZ0IHRoIDEKeExxIHF1IDEKQmRxIHF1IDEKekpkIHN6IDEKeFJzIHN0IDEKdmdQIG5nIDEKSGhiIHRoIDEKbnBMIGFuIDEKdkZwIHZhIDEKaFNqIHRoIDEKYmRDIGRlIDEKa0dnIG5nIDEKa1ZmIGthIDEKcXZQIHF1IDEKa3dPIGthIDEKSnF0IHRoIDEKeld4IHN6IDEKc1FrIHN0IDEKaG5WIHRoIDEKcnJEIGVyIDEKalZoIHRoIDEKdnZZIHZhIDEKYmZJIGJlIDEKZlN6IHN6IDEKQ3pmIHN6IDEKa1dsIGxlIDEKakpjIGNoIDEKR3dqIGlqIDEKbEZoIHRoIDEKVnBmIGZvIDEKZmtWIGthIDEKY1lqIGNoIDEKbXJXIGVyIDEKaEJiIHRoIDEKaEp4IHRoIDEKd0lxIHF1IDEKY2RBIGNoIDEKd1F5IHdhIDEKd0NxIHF1IDEKd3FaIHF1IDEKamZYIGlqIDEKanRHIHRoIDEKeGtKIGthIDEKUXpmIHN6IDEKZ0tzIG5nIDEKUXpvIG9uIDEKYndJIHdhIDEKVHNiIHN0IDEKdnZYIHZhIDEKamxSIGxlIDEKcWxRIHF1IDEKZGJYIGRlIDEKSGZjIGNoIDEKQnNqIHN0IDEKWXFrIHF1IDEKWG5jIGNoIDEKYnpaIHN6IDEKZEd0IHRoIDEKWGdnIG5nIDEKandFIHdhIDEKT3ljIGNoIDEKcFFkIGRlIDEKalJ5IGlqIDEKcG1YIG1lIDEKbFp4IGxlIDEKZ0ZxIHF1IDEKbUpkIGRlIDEKc0txIHF1IDEKSWtqIGlqIDEKemtHIHN6IDEKd0dmIHdhIDEKcVJwIHF1IDEKeERuIGFuIDEKZ3ZMIG5nIDEKbUd4IG1lIDEKaUlqIGluIDEKR3pkIHN6IDEKYkx4IGJlIDEKalVsIGxlIDEKUXZjIGNoIDEKbVZoIHRoIDEKdWhGIHRoIDEKZlZrIGthIDEKY25NIGNoIDEKdUZoIHRoIDEKbVhmIG1lIDEKckNiIGVyIDEKbkx3IGFuIDEKdmZIIGZvIDEKaXFWIHF1IDEKcWhEIHRoIDEKc0h4IHN0IDEKWXd5IHdhIDEKbUR4IG1lIDEKY0J0IHRoIDEKQm1xIHF1IDEKeFJjIGNoIDEKYlN6IHN6IDEKdkNqIGlqIDEKVGN2IGNoIDEKYVpxIGFuIDEKSmN4IGNoIDEKbmJGIGFuIDEKUXpiIHN6IDEKdmtRIGthIDEKaHpEIHRoIDEKeEhwIHByIDEKaHFYIHRoIDEKZkV2IHZhIDEKeWpGIGlqIDEKUGprIGlqIDEKc2ZVIHN0IDEKYkdjIGNoIDEKbWNYIGNoIDEKcFhjIGNoIDEKeXZTIHZhIDEKcE1sIGxlIDEKd0pzIHN0IDEKVndxIHF1IDEKeUN3IHdhIDEKcWRzIHF1IDEKclJqIGVyIDEKUWh2IHRoIDEKdWNHIGNoIDEKb0VoIHRoIDEKd1FpIGluIDEKbFNnIG5nIDEKTHF0IHRoIDEKbmxIIGFuIDEKdXFHIHF1IDEKT2FvIGFuIDEKaGxYIHRoIDEKZlB3IHdhIDEKdEliIHRoIDEKeklxIHF1IDEKcW1HIHF1IDEKeEptIG1lIDEKVmd3IG5nIDEKVWt4IGthIDEKenRIIHRoIDEKbGhQIHRoIDEKSnRrIHRoIDEKSHpkIHN6IDEKeXhRIG55IDEKbnJQIGFuIDEKZkhoIHRoIDEKWWN0IHRoIDEKR3FhIGFuIDEKRmd5IG5nIDEKb0JuIGFuIDEKdnVDIHF1IDEKQm56IGFuIDEKdlB1IHF1IDEKeEZmIGZvIDEKamRKIGRlIDEKZkdmIGZvIDEKWWpxIHF1IDEKUWpwIGlqIDEKeFRqIGlqIDEKdk9xIHF1IDEKdkx3IHZhIDEKc01mIHN0IDEKb1ZsIG9uIDEKY3dOIGNoIDEKc2dSIG5nIDEKampRIGlqIDEKd3pSIHN6IDEKemhZIHRoIDEKdmJSIHZhIDEKd2dXIG5nIDEKcXdYIHF1IDEKTnh3IHdhIDEKZVFvIGVyIDEKbVFwIG1lIDEKS3FoIHRoIDEKdHZBIHRoIDEKZGxKIGxlIDEKeVZ4IG55IDEKc1BmIHN0IDEKZFF6IHN6IDEKc1piIHN0IDEKemhTIHRoIDEKa1diIGthIDEKbXFQIHF1IDEKRmZrIGthIDEKeHFsIHF1IDEKZ3FIIHF1IDEKVGx5IGxlIDEKa3BMIGthIDEKcUVnIHF1IDEKYk1nIG5nIDEKeFJqIGlqIDEKeHNDIHN0IDEKamxTIGxlIDEKbHpNIGxlIDEKUGZiIGJlIDEKdUp2IHF1IDEKeVZmIG55IDEKWmdxIHF1IDEKeGJTIGJlIDEKb0ZoIHRoIDEKeHZiIHZhIDEKaGNVIHRoIDEKd3dVIHdhIDEKeUNnIG5nIDEKbVB6IHN6IDEKc0pkIHN0IDEKYm1OIG1lIDEKdVZjIGNoIDEKcWRTIHF1IDEKVndwIHByIDEKVm1sIGxlIDEKSHF5IHF1IDEKTGZ6IHN6IDEKQXlqIGlqIDEKeXhLIG55IDEKSHd2IHZhIDEKZ0lwIG5nIDEKWmd0IHRoIDEKWHR3IHRoIDEKaExmIHRoIDEKTmtkIGRlIDEKak1zIHN0IDEKeEZ0IHRoIDEKeEJ3IHdhIDEKd0hkIGRlIDEKUXp6IHN6IDEKZ1l0IHRoIDEKUHZrIGthIDEKcHZZIHZhIDEKSnh0IHRoIDEKdWdRIHF1IDEKTHFxIHF1IDEKeGxMIGxlIDEKd01iIHdhIDEKU2J6IHN6IDEKdkV2IHZhIDEKcWZ6IHF1IDEKZ2NTIGNoIDEKdENxIHRoIDEKeUhwIHByIDEKemtGIHN6IDEKeHVLIHF1IDEKVGJmIGJlIDEKSXBnIG5nIDEKWXprIHN6IDEKUXd6IHN6IDEKcEZqIGlqIDEKalBtIGlqIDEKRHBxIHF1IDEKcEp6IHN6IDEKd3BOIHByIDEKd3pFIHN6IDEKZ3FEIHF1IDEKWHdtIG1lIDEKb1F4IG9uIDEKbENwIGxlIDEKTWhrIHRoIDEKZFRxIHF1IDEKeFV3IHdhIDEKaGdFIHRoIDEKZ2NCIGNoIDEKaHBKIHRoIDEKbXFLIHF1IDEKZ0JuIGFuIDEKaEl2IHRoIDEKbHFEIHF1IDEKd1B4IHdhIDEKc010IHRoIDEKeVh3IHdhIDEKaktxIHF1IDEKTHJ6IGVyIDEKSHdqIGlqIDEKeWZXIG55IDEKWXl1IHF1IDEKcVlzIHF1IDEKeXZSIHZhIDEKc1J6IHN0IDEKS3l4IG55IDEKbnhSIGFuIDEKY2RKIGNoIDEKTndjIGNoIDEKdGJFIHRoIDEKb2VaIGVyIDEKYmNRIGNoIDEKU3diIHdhIDEKSWtxIHF1IDEKQnZ6IHN6IDEKemhGIHRoIDEKWHF5IHF1IDEKa0tiIGthIDEKV2RrIGRlIDEKd3BQIHByIDEKa1F5IGthIDEKQnFlIHF1IDEKcWZaIHF1IDEKcFB3IHByIDEKQW9oIHRoIDEKcGxKIGxlIDEKWW52IGFuIDEKak1oIHRoIDEKYlFnIG5nIDEKYWZNIGFuIDEKanZPIGlqIDEKZUhmIGVyIDEKaFFnIHRoIDEKa3FZIHF1IDEKekpxIHF1IDEKcFloIHRoIDEKcWVNIHF1IDEKS3BrIGthIDEKa2ZXIGthIDEKV2RzIHN0IDEKYk5jIGNoIDEKdkJ4IHZhIDEKc3VKIHF1IDEKcUV4IHF1IDEKcmZaIGVyIDEKb0hnIG5nIDEKZUZ3IGVyIDEKZlBwIHByIDEKa0RiIGthIDEKdFpuIHRoIDEKZGNLIGNoIDEKeVd2IHZhIDEKVXh2IHZhIDEKeVFlIGVyIDEKWmpxIHF1IDEKV2p2IGlqIDEKeWdPIG5nIDEKb2pRIG9uIDEKS3djIGNoIDEKcEZnIG5nIDEKc01kIHN0IDEKTWZxIHF1IDEKTXp5IHN6IDEKTndwIHByIDEKeXdUIHdhIDEKd0xxIHF1IDEKSHFtIHF1IDEKcXNDIHF1IDEKYk5uIGFuIDEKYlV2IHZhIDEKblJjIGNoIDEKUmxrIGxlIDEKQnFwIHF1IDEKY2ZJIGNoIDEKbVZxIHF1IDEKcUdqIHF1IDEKdmxYIGxlIDEKa2ZHIGthIDEKd1ZkIGRlIDEKY2RFIGNoIDEKaHpFIHRoIDEKRGh2IHRoIDEKYnpqIHN6IDEKdnZMIHZhIDEKYnpRIHN6IDEKd1ZiIHdhIDEKWnhsIGxlIDEKekx3IHN6IDEKaFRxIHRoIDEKVnFwIHF1IDEKaG1XIHRoIDEKZmxEIGxlIDEKS2NkIGNoIDEKcERxIHF1IDEKa3ZZIGthIDEKY1FsIGNoIDEKSXhrIGthIDEKc0dmIHN0IDEKZ0ZoIHRoIDEKUmtkIGRlIDEKcUhsIHF1IDEKckNnIG5nIDEKcUJuIGFuIDEKc0p3IHN0IDEKY1dqIGNoIDEKelhwIHN6IDEKSGhsIHRoIDEKaGpQIHRoIDEKcWxaIHF1IDEKSHhyIGVyIDEKenJFIGVyIDEKZ2tIIG5nIDEKdUhrIHF1IDEKR3ptIHN6IDEKY0JjIGNoIDEKemZmIHN6IDEKekxzIHN0IDEKVXF5IHF1IDEKdmtEIGthIDEKZnFYIHF1IDEKaExqIHRoIDEKZll1IHF1IDEKakt3IGlqIDEKakliIGlqIDEKbnJVIGFuIDEKZkZwIHByIDEKc2JDIHN0IDEKbUd2IHZhIDEKZlhwIHByIDEKUGt2IGthIDEKQ3FlIHF1IDEKY0N4IGNoIDEKck5xIHF1IDEKWndmIHdhIDEKSmdjIGNoIDEKeGxRIGxlIDEKZ0J6IG5nIDEKY0l4IGNoIDEKb2RRIG9uIDEKUW56IGFuIDEKVXp4IHN6IDEKSnB0IHRoIDEKZ3hYIG5nIDEKWmtkIGRlIDEKWGtrIGthIDEKaFJ2IHRoIDEKeWNWIGNoIDEKek1tIHN6IDEKZUJxIHF1IDEKZ0hkIG5nIDEKYnhVIGJlIDEKeGRLIGRlIDEKbVFjIGNoIDEKdFlqIHRoIDEKaGxGIHRoIDEKY1J6IGNoIDEKbEd6IGxlIDEKekZ6IHplIDEKcU9wIHF1IDEKR2djIGNoIDEKb0dtIG9uIDEKWG5wIGFuIDEKd1lnIG5nIDEKd3VKIHF1IDEKc05zIHN0IDEKenFVIHF1IDEKa0NwIGthIDEKV2h3IHRoIDEKblF4IGFuIDEKdndBIHZhIDEKVmNnIGNoIDEKa1dqIGlqIDEKSHFkIHF1IDEKQ3B5IHByIDEKemNMIGNoIDEKY2ZGIGNoIDEKa1huIGFuIDEKYVhqIGFuIDEKU3drIGthIDEKZmhxIHRoIDEKVnhpIGluIDEKR3F1IHVuIDEKVXhkIGRlIDEKemRLIHN6IDEKaFpxIHRoIDEKbXdKIG1lIDEKY3ZEIGNoIDEKbGJaIGxlIDEKUHpsIGxlIDEKaGRPIHRoIDEKaEpuIHRoIDEKcVdwIHF1IDEKZFh5IGRlIDEKZnVVIHF1IDEKZlh5IG55IDEKeG5MIGFuIDEKZ01mIG5nIDEKck5mIGVyIDEKeFFoIHRoIDEKa3FIIHF1IDEKckZ6IGVyIDEKdnBUIHZhIDEKTnd5IHdhIDEKeXFBIHF1IDEKdmhPIHRoIDEKa1ZoIHRoIDEKblliIGFuIDEKanZOIGlqIDEKYklmIGJlIDEKcXFTIHF1IDEKamJGIGlqIDEKZ01rIG5nIDEKYlRkIGRlIDEKUmhkIHRoIDEKdFdxIHRoIDEKZ0x6IG5nIDEKZnNEIHN0IDEKdU10IHRoIDEKeUhxIHF1IDEKWGdqIG5nIDEKTG1tIG1lIDEKdmtVIGthIDEKbEF4IGxlIDEKS3pkIHN6IDEKaEttIHRoIDEKa1FkIGRlIDEKZ0ZjIGNoIDEKd3lYIHdhIDEKemZVIHN6IDEKeHBVIHByIDEKeXdKIHdhIDEKQXlxIHF1IDEKZ0l1IHF1IDEKenVRIHF1IDEKVmZuIGFuIDEKdkJuIGFuIDEKSHR5IHRoIDEKZ1J2IG5nIDEKcFRiIHByIDEKVXF4IHF1IDEKdlRuIGFuIDEKdkpjIGNoIDEKVWl3IGluIDEKSmxwIGxlIDEKelBxIHF1IDEKckN4IGVyIDEKbHFTIHF1IDEKemxaIGxlIDEKek93IHN6IDEKa2xLIGxlIDEKa2ZRIGthIDEKdUp4IHF1IDEKcGtQIGthIDEKR3F6IHF1IDEKSmxjIGNoIDEKeXlEIG55IDEKamhYIHRoIDEKY3JWIGNoIDEKRHd3IHdhIDEKeWp3IGlqIDEKcXBYIHF1IDEKUW1kIGRlIDEKeVd6IHN6IDEKd1BkIGRlIDEKVXFrIHF1IDEKbmJSIGFuIDEKWWRjIGNoIDEKcVFsIHF1IDEKcG1EIG1lIDEKSmtqIGthIDEKalRrIGthIDEKd1lmIHdhIDEKWnp4IHN6IDEKcmtRIGVyIDEKYkRwIHByIDEKcVNzIHF1IDEKZ1hyIG5nIDEKY1piIGNoIDEKTmdwIG5nIDEKaHFRIHRoIDEKV3Z3IHZhIDEKV2J3IHdhIDEKd3ZLIHZhIDEKY0pmIGNoIDEKTXdkIGRlIDEKZGRKIGRlIDEKaXdFIGluIDEKYnhYIGJlIDEKanhUIGlqIDEKWWNuIGNoIDEKd01mIHdhIDEKYnFEIHF1IDEKeXFJIHF1IDEKZFJqIGRlIDEKd1l5IHdhIDEKVHh6IHN6IDEKdnJOIGVyIDEKcVZ1IHVuIDEKbVJqIGlqIDEKRmp4IGlqIDEKZnlRIG55IDEKeGVJIGVyIDEKV3FmIHF1IDEKSmx5IGxlIDEKakRiIGlqIDEKWXp1IHF1IDEKQnhtIG1lIDEKd0xqIGlqIDEKYnFjIGNoIDEKc2dLIG5nIDEKa3FXIHF1IDEKWnNuIGFuIDEKRnFxIHF1IDEKclh6IGVyIDEKbEpxIHF1IDEKakVoIHRoIDEKbkNiIGFuIDEKWHJkIGVyIDEKUnpoIHRoIDEKZ2ZXIG5nIDEKWHRsIHRoIDEKbVR4IG1lIDEKdWZBIHF1IDEKd2pRIGlqIDEKeGxXIGxlIDEKZHFIIHF1IDEKeGhNIHRoIDEKWHd0IHRoIDEKZG5XIGFuIDEKUmZ6IHN6IDEKZktwIHByIDEKa0Z3IGthIDEKUXV2IHF1IDEKbVh3IG1lIDEKVmt3IGthIDEKdEZoIGNoIDEKaEl1IHRoIDEKbFRmIGxlIDEKTXd2IHZhIDEKd3ZUIHZhIDEKa0twIGthIDEKdFJ2IHRoIDEKd1hvIG9uIDEKdnpMIHN6IDEKSmNmIGNoIDEKVGJxIHF1IDEKamRRIGRlIDEKUmJ4IGJlIDEKSnJtIGVyIDEKc1JqIHN0IDEKeld6IHN6IDEKcW5FIGFuIDEKS2NmIGNoIDEKUXFtIHF1IDEKZnBJIHByIDEKaU53IGluIDEKdWpFIHF1IDEKcUh2IHF1IDEKSnZ4IHZhIDEKaEhjIHRoIDEKZnZKIHZhIDEKbnFZIGFuIDEKd3BFIHdhIDEKSHdzIHN0IDEKeHpJIHN6IDEKQ2dnIG5nIDEKY1dkIGNoIDEKcXVWIHVuIDEKYmpOIGlqIDEKeFFwIHByIDEKYnhFIGJlIDEKdVZrIHF1IDEKV3JsIGVyIDEKTHJ4IGVyIDEKSXdsIGxlIDEKYXFCIGFuIDEKVmNwIGNoIDEKV3d0IHRoIDEKYUd4IGFuIDEKZlBuIGFuIDEKbUZxIHF1IDEKcWdkIHF1IDEKWnNkIHN0IDEKVnhzIHN6IDEKS2hxIHRoIDEKd1NzIHN0IDEKb0dxIHF1IDEKWXp2IHN6IDEKZHFYIHF1IDEKbXBRIG1lIDEKS2NwIGNoIDEKc3dEIHN0IDEKclpnIG5nIDEKalltIGlqIDEKdUpsIHF1IDEKdld2IHZhIDEKc3ZPIHN0IDEKcEZkIGRlIDEKWWp4IGlqIDEKdHBJIHRoIDEKZFZ0IHRoIDEKc05tIHN0IDEKbEt0IHRoIDEKbnZVIGFuIDEKSHhmIGZvIDEKcHVXIHF1IDEKd0pnIG5nIDEKZ3hSIG5nIDEKZkFnIG5nIDEKWXFlIHF1IDEKUHd6IHN6IDEKaG1DIHRoIDEKeWxKIGxlIDEKbXFUIHF1IDEKY0NmIGNoIDEKcFpnIG5nIDEKYUZ4IGFuIDEKb1lxIHF1IDEKZlBqIGlqIDEKZEp0IHRoIDEKeHduIGFuIDEKQ2NiIGNoIDEKd0ZuIGFuIDEKd3JZIGVyIDEKQ2RoIHRoIDEKaExjIHRoIDEKWnhnIG5nIDEKTXhjIGNoIDEKaGNZIHRoIDEKelZ3IHN6IDEKaGtWIHRoIDEKdHhFIHRoIDEKeXZUIHZhIDEKTWx3IGxlIDEKenRGIHRoIDEKZkdkIGRlIDEKempFIHN6IDEKZ2pNIG5nIDEKandQIGlqIDEKS3h0IHRoIDEKeUZnIG5nIDEKV2NnIGNoIDEKdGhaIGNoIDEKaHpRIHRoIDEKSnRnIHRoIDEKeXZLIHZhIDEKelZ6IHN6IDEKUHdiIHdhIDEKeHFEIHF1IDEKdXlRIHF1IDEKZ0NtIG5nIDEKempVIHN6IDEKeEdxIHF1IDEKTXF5IHF1IDEKT2N4IGNoIDEKc3FNIHF1IDEKbFJiIGxlIDEKdGZVIHRoIDEKdlpnIG5nIDEKZlpjIGNoIDEKZ3BaIG5nIDEKRnBmIHByIDEKcXRRIHRoIDEKbWhaIHRoIDEKYnFGIHF1IDEKZmdHIG5nIDEKd29UIG9uIDEKelNiIHN6IDEKd3hTIHdhIDEKV3JmIGVyIDEKT3FrIHF1IDEKeExjIGNoIDEKUXpqIHN6IDEKd1hrIGthIDEKdGRYIHRoIDEKSnFjIGNoIDEKZlhrIGthIDEKa0JkIGRlIDEKaXFXIHF1IDEKT2NiIGNoIDEKZlVvIG9uIDEKalhrIGlqIDEKaGJJIHRoIDEKWmNnIGNoIDEKendTIHdhIDEKY1ZtIGNoIDEKdndqIGlqIDEKZ3dHIG5nIDEKenNNIHN0IDEKUHFvIHF1IDEKaFBqIHRoIDEKZndHIHdhIDEKWHdoIHRoIDEKV3doIHRoIDEKVnF3IHF1IDEKdm1ZIHZhIDEKdXZGIHF1IDEKdGZLIHRoIDEKWGJnIG5nIDEKTmZuIGFuIDEKd3BIIHByIDEKeUpxIHF1IDEKd3FPIHF1IDEKbmNWIGNoIDEKd2dNIG5nIDEKZlFrIGthIDEKaHZLIHRoIDEKcUxyIHF1IDEKV2NlIGNoIDEKa0ZuIGFuIDEKckJtIGVyIDEKbWRWIGRlIDEKakZjIGNoIDEKa25YIGFuIDEKbk1mIGFuIDEKc0NjIGNoIDEKcENxIHF1IDEKdUp0IHRoIDEKQ2ZrIGthIDEKQ3hiIGJlIDEKZk93IHdhIDEKYUp6IGFuIDEKZ0x0IHRoIDEKYm1YIG1lIDEKWWZvIG9uIDEKZEpmIGRlIDEKRWF5IGFuIDEKcVNkIHF1IDEKbWpRIGlqIDEKcE5rIGthIDEKTnZoIHRoIDEKeGtYIGthIDEKSnd4IHdhIDEKanZMIGlqIDEKZnBIIHByIDEKcHhPIHByIDEKdlB4IHZhIDEKZFd1IHF1IDEKaGJSIHRoIDEKd29FIG9uIDEKZ3RYIHRoIDEKYmZGIGJlIDEKbXZXIHZhIDEKeHNNIHN0IDEKd0x2IHZhIDEKd0hoIHRoIDEKc0NuIGFuIDEKcEx3IHByIDEKa1h3IGthIDEKeFZsIGxlIDEKaENjIHRoIDEKb1VrIG9uIDEKemNGIGNoIDEKc012IHN0IDEKZHJaIGVyIDEKd2ZPIHdhIDEKeUZ2IHZhIDEKaFhhIHRoIDEKcU11IHVuIDEKZkN2IHZhIDEKZndDIHdhIDEKb1RnIG5nIDEKRmttIGthIDEKZVF0IHRoIDEKUHhkIGRlIDEKa2pHIGlqIDEKdEdzIHRoIDEKZHFCIHF1IDEKZm1YIG1lIDEKeFlpIGluIDEKa0lrIGthIDEKdkRkIGRlIDEKa3ZDIGthIDEKcXRaIHRoIDEKZlBjIGNoIDEKZHBOIGRlIDEKaE5yIHRoIDEKWm5qIGFuIDEKSGtlIGVyIDEKSXFwIHF1IDEKd2ZOIHdhIDEKVmh4IHRoIDEKRGdrIG5nIDEKbWtRIGthIDEKV3hkIGRlIDEKSWN4IGNoIDEKeVl0IHRoIDEKdHF4IHRoIDEKWnZmIHZhIDEKc3hVIHN0IDEKTHFrIHF1IDEKbmZJIGFuIDEKanlxIHF1IDEKV3ZuIGFuIDEKU2R2IGRlIDEKdVljIGNoIDEKUWdtIG5nIDEKY1hhIGNoIDEKd0J4IHdhIDEKcFl4IHByIDEKaldsIGxlIDEKS2Z3IHdhIDEKcWpKIHF1IDEKUGpqIGlqIDEKYWpYIGFuIDEKc1hkIHN0IDEKeEhnIG5nIDEKeGhBIHRoIDEKckdtIGVyIDEKUXRtIHRoIDEKc3JZIGVyIDEKcVB4IHF1IDEKd1J6IHN6IDEKd09nIHdhIDEKZkxnIG5nIDEKaFF0IHRoIDEKamhXIHRoIDEKQ3drIGthIDEKeldsIGxlIDEKd0pjIGNoIDEKUHh2IHZhIDEKbnBJIGFuIDEKbG5XIGFuIDEKa3F5IHF1IDEKeXdnIG5nIDEKc0NkIHN0IDEKcWZGIHF1IDEKcXBnIHF1IDEKTWJ4IGJlIDEKbndOIGFuIDEKd0xzIHN0IDEKV2N2IGNoIDEKVnZyIGVyIDEKVmt4IGthIDEKZG1VIGRlIDEKZkdzIHN0IDEKZ0p6IG5nIDEKZEZ6IHN6IDEKcUNmIHF1IDEKbHZXIGxlIDEKU3ZiIHZhIDEKeEpyIGVyIDEKdVpmIHF1IDEKVGpjIGNoIDEKcElqIGlqIDEKYlZnIG5nIDEKdmRPIGRlIDEKbFRxIHF1IDEKYk1oIHRoIDEKbkRtIGFuIDEKVHpiIHN6IDEKcEN3IHByIDEKUWtnIG5nIDEKZnBZIHByIDEKeVFqIGlqIDEKcWlDIHF1IDEKbVFpIGluIDEKd1VxIHF1IDEKa1ZqIGlqIDEKdGpRIHRoIDEKbVhqIGlqIDEKWGZkIGRlIDEKY2dJIGNoIDEKUGtqIGlqIDEKampGIGlqIDEKanJKIGVyIDEKcXdaIHF1IDEKUnR6IHRoIDEKZkhiIGJlIDEKSGd4IG5nIDEKRHpmIHN6IDEKY2JFIGNoIDEKWGZzIHN0IDEKUmptIGlqIDEKZm1ZIG1lIDEKd1lqIGlqIDEKdUZwIHF1IDEKdldtIHZhIDEKeVZjIGNoIDEKY2dMIGNoIDEKem1SIHN6IDEKemZCIHN6IDEKem5IIGFuIDEKaGdHIHRoIDEKeHVFIHF1IDEKQnNsIGxlIDEKb1d4IG9uIDEKUGpsIGxlIDEKSmRmIGRlIDEKWG1wIG1lIDEKc2dPIG5nIDEKaENqIHRoIDEKd3RSIHRoIDEKZkRzIHN0IDEKYlFiIGJlIDEKcXVNIHVuIDEKZkxsIGxlIDEKTmhwIHRoIDEKem5VIGFuIDEKc2RTIHN0IDEKd1d1IHF1IDEKdEZxIHRoIDEKY0ZxIGNoIDEKV3dsIGxlIDEKTHF5IHF1IDEKbnFRIGFuIDEKem1EIHN6IDEKR3l4IG55IDEKYmtSIGthIDEKbFF3IGxlIDEKUHFtIHF1IDEKRndrIGthIDEKdEh0IHRoIDEKanlMIGlqIDEKcXhBIHF1IDEKbXJDIGVyIDEKcXpMIHF1IDEKakpnIG5nIDEKamZTIGlqIDEKcU1oIHRoIDEKbWxWIGxlIDEKYmtKIGthIDEKa25IIGFuIDEKVXF0IHRoIDEKY3VGIGNoIDEKaVlxIHF1IDEKZlVlIGVyIDEKc0JiIHN0IDEKTmh4IHRoIDEKcmhQIHRoIDEKZFdwIGRlIDEKWXZmIHZhIDEKUnhyIGVyIDEKa3pHIHN6IDEKeHVaIHF1IDEKeHZEIHZhIDEKZndxIHF1IDEKaGpKIHRoIDEKa1pyIGVyIDEKdkpuIGFuIDEKeG5PIGFuIDEKdmNBIGNoIDEKbWZLIG1lIDEKdmpTIGlqIDEKTnZwIHZhIDEKZGZCIGRlIDEKUXNiIHN0IDEKZFhwIHByIDEKelJsIGxlIDEKRWpxIHF1IDEKYUd6IGFuIDEKbkhnIGFuIDEKYnZBIHZhIDEKQmZkIGRlIDEKelZnIG5nIDEKenNZIHN0IDEKaFZ6IHRoIDEKUGptIGlqIDEKc1hpIGluIDEKaUtqIGluIDEKcWFFIGFuIDEKQ2ZqIGlqIDEKek1jIGNoIDEKbWdaIG5nIDEKdmdBIG5nIDEKaXdKIGluIDEKdkd4IHZhIDEKdGZZIHRoIDEKbGpIIGxlIDEKekdqIHN6IDEKYm1LIG1lIDEKblVxIGFuIDEKelJ0IHRoIDEKdEdqIHRoIDEKelZkIHN6IDEKalNyIGVyIDEKZk5xIHF1IDEKeFRnIG5nIDEKbnFFIGFuIDEKV25nIGFuIDEKelZ2IHN6IDEKZ1ZzIG5nIDEKZk5kIGRlIDEKcU53IHF1IDEKWm5jIGNoIDEKdUpzIHF1IDEKeXZKIHZhIDEKeGxNIGxlIDEKSnpjIGNoIDEKdlJoIHRoIDEKZmNLIGNoIDEKd1ZuIGFuIDEKcld3IGVyIDEKY0hrIGNoIDEKdk94IHZhIDEKaVVhIGFuIDEKblduIGFuIDEKenFaIHF1IDEKeEZqIGlqIDEKbkNnIGFuIDEKZllqIGlqIDEKVnN4IHN0IDEKbXRNIHRoIDEKbWhHIHRoIDEKanROIHRoIDEKaGNDIHRoIDEKTndrIGthIDEKZFh1IHF1IDEKbUpxIHF1IDEKeHNPIHN0IDEKcVJuIGFuIDEKUm5qIGFuIDEKa21QIGthIDEKWHRnIHRoIDEKR3ZoIHRoIDEKanF2IHF1IDEKY1ZsIGNoIDEKY2RJIGNoIDEKemRFIHN6IDEKaFprIHRoIDEKQmR4IGRlIDEKaEhuIHRoIDEKaGtHIHRoIDEKdnhKIHZhIDEKbHJBIGVyIDEKbHJUIGVyIDEKaGpWIHRoIDEKcWJJIHF1IDEKbVRnIG5nIDEKZm1WIG1lIDEKckRrIGVyIDEKZE5kIGRlIDEKR3pqIHN6IDEKYVZqIGFuIDEKdk5yIGVyIDEKa1hhIGFuIDEKckdzIGVyIDEKeGFYIGFuIDEKY3JHIGNoIDEKcUphIGFuIDEKakR0IHRoIDEKTWZ4IGZvIDEKeEVhIGFuIDEKUXZ6IHN6IDEKd1JnIG5nIDEKcEZjIGNoIDEKQ3B2IHZhIDEKckprIGVyIDEKZmJRIGJlIDEKWHpnIG5nIDEKcUZ5IHF1IDEKWmZqIGlqIDEKdHdFIHRoIDEKT2FxIGFuIDEKeXNZIHN0IDEKd2RaIGRlIDEKZ21PIG5nIDEKd0duIGFuIDEKd1JrIGthIDEKZ3FTIHF1IDEKQWdxIHF1IDEKVHd2IHZhIDEKUW52IGFuIDEKYlZ2IHZhIDEKY0R3IGNoIDEKdEdxIHRoIDEKZmJxIHF1IDEKVHZ3IHZhIDEKbU52IHZhIDEKZHRFIHRoIDEKcHpQIHN6IDEKVnN3IHN6IDEKcUdxIHF1IDEKcVBjIGNoIDEKcXlDIHF1IDEKbnhGIGFuIDEKakRsIGxlIDEKakh0IHRoIDEKZnhaIGZvIDEKc1FjIGNoIDEKbm1IIGFuIDEKeHJEIGVyIDEKaE1oIHRoIDEKdkhrIGthIDEKaG1TIHRoIDEKWGR0IHRoIDEKWHdsIGxlIDEKdUpyIHF1IDEKc1BrIHN0IDEKWGpwIGlqIDEKVXFpIHF1IDEKa2dEIG5nIDEKamdJIG5nIDEKdUZ3IHF1IDEKeE5kIGRlIDEKZGhJIHRoIDEKTHhvIG9uIDEKU2ZxIHF1IDEKelJwIHN6IDEKeHdLIHdhIDEKZm1CIG1lIDEKdnJWIGVyIDEKcVNmIHF1IDEKalBuIGFuIDEKSGJwIHByIDEKYkp0IHRoIDEKbHFRIHF1IDEKeFNkIGRlIDEKZE1rIGRlIDEKdlZ6IHN6IDEKdmtLIGthIDEKWGRzIGRlIDEKeWJCIGJlIDEKZ3BFIG5nIDEKcWNDIGNoIDEKcHhMIHByIDEKZ1BtIG5nIDEKQnBkIGRlIDEKZHBCIGRlIDEKamxKIGxlIDEKcGtDIGthIDEKeXBQIHByIDEKTnFtIHF1IDEKdGdaIHRoIDEKRXFvIHF1IDEKZFJrIGRlIDEKVWJjIGNoIDEKeGhZIHRoIDEKbEpkIGxlIDEKcHZOIHZhIDEKUWZjIGNoIDEKRGJ3IHdhIDEKc0ZjIGNoIDEKd2tYIGthIDEKeHBSIHByIDEKcGpKIGlqIDEKZ2tRIG5nIDEKck1mIGVyIDEKSnNuIGFuIDEKeE93IHdhIDEKRHF1IHVuIDEKbmJKIGFuIDEKZ3ZGIG5nIDEKRm5wIGFuIDEKanBWIGlqIDEKcXREIHRoIDEKdUVqIHF1IDEKeWhZIHRoIDEKT2hxIHRoIDEKblh5IGFuIDEKcGRVIGRlIDEKbUR6IHN6IDEKaVZrIGluIDEKSHFxIHF1IDEKeHBaIHBvIDEKYWVVIGFuIDEKc2paIHN0IDEKc0dwIHN0IDEKV3FuIGFuIDEKeHFTIHF1IDEKSmpjIGNoIDEKcVBwIHF1IDEKc1h6IHN0IDEKeHZQIHZhIDEKV2JxIHF1IDEKdGpLIHRoIDEKbGhIIHRoIDEKaHFWIHRoIDEKZFlmIGRlIDEKcEZrIGthIDEKc0ZxIHF1IDEKdUhxIHF1IDEKdmhBIHRoIDEKamxFIGxlIDEKc3FCIHF1IDEKcW5yIGFuIDEKRnhxIHF1IDEKekhuIGFuIDEKcGRCIGRlIDEKd0hjIGNoIDEKUHhqIGlqIDEKZ0h4IG5nIDEKbnFKIGFuIDEKb3FYIHF1IDEKWGJ5IGJlIDEKdGJJIHRoIDEKa1NmIGthIDEKdmhEIHRoIDEKcUhqIHF1IDEKTnB4IHByIDEKUXpwIHN6IDEKeGlVIGluIDEKcmpaIGVyIDEKd2pVIGlqIDEKanRCIHRoIDEKWWdxIHF1IDEKYVFmIGFuIDEKeFd1IHF1IDEKYVZmIGFuIDEKcFF4IHByIDEKTG53IGFuIDEKcVdhIGFuIDEKdUhwIHF1IDEKTHZwIHZhIDEKSnhwIHByIDEKekhrIHN6IDEKd3ZVIHZhIDEKV3FoIHRoIDEKaFZzIHRoIDEKWGd5IG5nIDEKZFpqIGRlIDEKdUNxIHF1IDEKR3hsIGxlIDEKSGxnIG5nIDEKV3FkIHF1IDEKRHh6IHN6IDEKaGROIHRoIDEKcHZNIHZhIDEKV3hrIGthIDEKcVdkIHF1IDEKZmlPIGluIDEKZkR3IHdhIDEKYkhqIGlqIDEKaVZoIHRoIDEKUG1nIG5nIDEKZlhjIGNoIDEKeGZMIGZvIDEKeUdjIGNoIDEKeUJuIGFuIDEKaENrIHRoIDEKTGxrIGxlIDEKeU1oIHRoIDEKcXJZIHF1IDEKZ2RYIG5nIDEKcXhHIHF1IDEKWm10IHRoIDEKUnp3IHN6IDEKbkJkIGFuIDEKbVdsIGxlIDEKeHVJIHF1IDEKanlGIGlqIDEKYlZ1IHF1IDEKeWdQIG5nIDEKZEZxIHF1IDEKakZtIGlqIDEKUm1sIGxlIDEKa2xIIGxlIDEKVmZmIGZvIDEKS3prIHN6IDEKTGh2IHRoIDEKY1NqIGNoIDEKUXJoIHRoIDEKdUJ3IHF1IDEKc0NrIGthIDEKcXlTIHF1IDEKY1h1IGNoIDEKd2ZNIHdhIDEKa2RLIGRlIDEKY1hqIGNoIDEKY3RaIHRoIDEKZmpJIGlqIDEKY2dTIGNoIDEKbXdMIG1lIDEKa3pVIHN6IDEKY1pyIGNoIDEKZnFVIHF1IDEKcUppIHF1IDEKZ0RkIG5nIDEKYktxIHF1IDEKYVV3IGFuIDEKc3hFIHN0IDEKbXhVIG1lIDEKY3dZIGNoIDEKZnBDIHByIDEKc1J3IHN0IDEKS2txIHF1IDEKd3hBIHdhIDEKZ1FmIG5nIDEKcFBiIHByIDEKSHd1IGt1IDEKc3VYIHF1IDEKbHFZIHF1IDEKc3hXIHN0IDEKYUZoIHRoIDEKbFdxIHF1IDEKcGJaIHByIDEKYnFtIHF1IDEKa0prIGthIDEKcXRUIHRoIDEKek1kIHN6IDEKaEdzIHRoIDEKeGxIIGxlIDEKZG1xIHF1IDEKWHJrIGVyIDEKT2NmIGNoIDEKbUtjIGNoIDEKenJBIGVyIDEKZ3hFIG5nIDEKcVd1IHVuIDEKeFFmIGZvIDEKWG96IG9uIDEKZm1QIG1lIDEKa2REIGRlIDEKYkJ6IHN6IDEKd3BBIHByIDEKbk1iIGFuIDEKdEhxIHRoIDEKak10IHRoIDEKU3ZxIHF1IDEKak1sIGxlIDEKd0JjIGNoIDEKeW1YIG1lIDEKaGNCIHRoIDEKYnJVIGVyIDEKcGFYIGFuIDEKaGRHIHRoIDEKRndwIHByIDEKc2JZIHN0IDEKbWhCIHRoIDEKcGZaIHByIDEKVm1oIHRoIDEKc0NxIHF1IDEKWmZ3IHdhIDEKTGptIGlqIDEKcHFHIHF1IDEKZHBLIGRlIDEKdGZHIHRoIDEKaWpSIGluIDEKaUp5IGluIDEKcWZOIHF1IDEKY3JTIGNoIDEKY2dUIGNoIDEKd090IHRoIDEKZm5FIGFuIDEKaFdwIHRoIDEKWnB3IHByIDEKd2RPIGRlIDEKdll5IHZhIDEKcXJJIHF1IDEKZG1GIGRlIDEKamhKIHRoIDEKd0hyIGVyIDEKSnpiIHN6IDEKZkV5IG55IDEKaGhaIHRoIDEKd3BRIHByIDEKcVlnIHF1IDEKcXRZIHRoIDEKS2R4IGRlIDEKcWZqIHF1IDEKUmJ2IHZhIDEKYmJPIGJlIDEKWGNuIGNoIDEKa0NkIGRlIDEKR2N4IGNoIDEKem1DIHN6IDEKd0psIGxlIDEKcURjIGNoIDEKSnpyIGVyIDEKWXJ3IGVyIDEKS3N4IHN0IDEKdUt4IHF1IDEKalNjIGNoIDEKTGp6IHN6IDEKeGRCIGRlIDEKeldiIHN6IDEKdndZIHZhIDEKdk1kIGRlIDEKZGJIIGRlIDEKUXN1IHF1IDEKd0hxIHF1IDEKZ0poIHRoIDEKd1pwIHByIDEKYnRPIHRoIDEKWG12IHZhIDEKcXBkIHF1IDEKSm53IGFuIDEKdmxEIGxlIDEKeGNYIGNoIDEKWXZ2IHZhIDEKWmZ0IHRoIDEKSHF6IHF1IDEKeHFNIHF1IDEKSHRoIGNoIDEKenRMIHRoIDEKaU9qIGluIDEKY0l6IGNoIDEKaGhDIHRoIDEKdHZYIHRoIDEKRmdrIG5nIDEKbWpDIGlqIDEKT2pwIGlqIDEKa3ZJIGthIDEKenFiIHF1IDEKcXFXIHF1IDEKaUhnIG5nIDEKanhKIGlqIDEKR2J6IHN6IDEKblFjIGNoIDEKcFhxIHF1IDEKakRkIGRlIDEKcVFyIHF1IDEKdkp4IHZhIDEKemJZIHN6IDEKZlJtIG1lIDEKcUVsIHF1IDEKb2FaIGFuIDEKdmpGIGlqIDEKbHFYIHF1IDEKcFNkIGRlIDEKYlhxIHF1IDEKakp2IGlqIDEKV3J2IGVyIDEKS3B3IHByIDEKeGFZIGFuIDEKakN2IGlqIDEKZmJSIGJlIDEKcFRwIHByIDEKd2RJIGRlIDEKcWZRIHF1IDEKUnJxIHF1IDEKZGJGIGRlIDEKYnpGIHN6IDEKcXdPIHF1IDEKdnJZIGVyIDEKdHdJIHRoIDEKekxmIHN6IDEKYlZjIGNoIDEKWG5sIGFuIDEKV2diIG5nIDEKZnVTIHF1IDEKdklmIHZhIDEKVHd0IHRoIDEKbktkIGFuIDEKRGtoIHRoIDEKdUJkIHF1IDEKa096IGthIDEKek9qIHN6IDEKbnpFIGFuIDEKWmJoIHRoIDEKcU1nIHF1IDEKZ2ZDIG5nIDEKdmdEIG5nIDEKeXRDIHRoIDEKbXFNIHF1IDEKS2puIGFuIDEKeGJYIGJlIDEKemZIIHN6IDEKbXdIIG1lIDEKelFiIHN6IDEKR3prIHN6IDEKcXNXIHF1IDEKa05zIHN0IDEKTHF6IHF1IDEKbm1XIGFuIDEKcU54IHF1IDEKemNRIGNoIDEKcU16IHF1IDEKd0d6IHN6IDEKdUNkIHF1IDEKQnB2IHByIDEKcU5lIHF1IDEKYnBQIHByIDEKbFhmIGxlIDEKY0xxIGNoIDEKcGRYIGRlIDEKcXpVIHF1IDEKS3hkIGRlIDEKanZGIGlqIDEKckZuIGFuIDEKRXRxIHRoIDEKelloIHRoIDEKS3N2IHN0IDEKZkprIGthIDEKZmtDIGthIDEKbXhLIG1lIDEKZmJ6IHN6IDEKdnJXIGVyIDEKbVBxIHF1IDEKeUJ0IHRoIDEKaUNmIGluIDEKc3JIIGVyIDEKaGpCIHRoIDEKZmNHIGNoIDEKRnRnIHRoIDEKdUJwIHF1IDEKeXFUIHF1IDEKZGpGIGRlIDEKdGdVIHRoIDEKV3JqIGVyIDEKeEZjIGNoIDEKeWNDIGNoIDEKZXFBIHF1IDEKcGJHIHByIDEKQ3doIHRoIDEKZkRrIGthIDEKd1R6IHN6IDEKeHJXIGVyIDEKa1FzIHN0IDEKd01sIGxlIDEKeUNuIG5kIDEKZUdwIGVyIDEKdVB2IHF1IDEKV3FlIHF1IDEKeWlJIGluIDEKcnFGIHF1IDEKS2pzIHN0IDEKbHdLIGxlIDEKZmpRIGlqIDEKdUlxIHF1IDEKZHhSIGRlIDEKR3FqIHF1IDEKbkxiIGFuIDEKZ1JkIG5nIDEKcXl2IHF1IDEKd3RaIHRoIDEKY1JrIGNoIDEKaUtmIGluIDEKaGJLIHRoIDEKcnFUIHF1IDEKeG1GIG1lIDEKdkh0IHRoIDEKdHFOIHRoIDEKdkx2IHZhIDEKeHZKIHZhIDEKYmdKIG5nIDEKUWpxIHF1IDEKTHZiIHZhIDEKSHhnIG5nIDEKdFZxIHRoIDEKcmhaIHRoIDEKc2xMIGxlIDEKa2RIIGRlIDEKS2ZiIGJlIDEKRGZoIHRoIDEKQ3FxIHF1IDEKblFrIGFuIDEKV256IGFuIDEKTmpqIGlqIDEKYkpmIGJlIDEKd1JoIHRoIDEKRHBiIHByIDEKc1BqIHN0IDEKWnBuIGFuIDEKbVBqIGlqIDEKUWNsIGNoIDEKekNkIHN6IDEKeXJDIGVyIDEKaENiIHRoIDEKYUJ2IGFuIDEKeXVHIHF1IDEKZmNOIGNoIDEKYlpwIHByIDEKR3RmIHRoIDEKd2JXIHdhIDEKdlBxIHF1IDEKVnRqIHRoIDEKa1dxIHF1IDEKSmJtIG1lIDEKV21iIG1lIDEKcHhZIHByIDEKaFF4IHRoIDEKdE5uIHRoIDEKcWR4IHF1IDEKY1l2IGNoIDEKemxYIGxlIDEKcndGIGVyIDEKY1ptIGNoIDEKeWJKIGJlIDEKcWFCIGFuIDEKdFZqIHRoIDEKelVnIG5nIDEKY2ZDIGNoIDEKaHhCIHRoIDEKVGJ6IHN6IDEKb0ZuIGFuIDEKYlRwIHByIDEKaEJrIHRoIDEKaFFlIHRoIDEKcUJlIGRlIDEKZHBDIGRlIDEKa3BXIGthIDEKWmtqIGlqIDEKTnduIGFuIDEKZ3JDIG5nIDEKdVhxIHF1IDEKVW95IG9uIDEKWmZ1IHF1IDEKeEtiIGJlIDEKaFNiIHRoIDEKYlBjIGNoIDEKcWNnIGNoIDEKeEl1IHF1IDEKZ0J2IG5nIDEKZ1ptIG1lIDEKcVB1IHVuIDEKQmZwIHByIDEKcnhDIGVyIDEKc0xrIHN0IDEKaEdqIHRoIDEKcXZSIHF1IDEKcXBSIHF1IDEKdk5uIGFuIDEKRGZ0IHRoIDEKblJxIGFuIDEKa2hSIHRoIDEKcHFQIHF1IDEKdE5wIHRoIDEKVnd0IHRoIDEKeHdBIHdhIDEKd01uIGFuIDEKU25xIGFuIDEKZGZEIGRlIDEKdkd3IHZhIDEKWHFiIHF1IDEKS3d3IHdhIDEKUWh4IHRoIDEKT3l4IG55IDEKZHZCIGRlIDEKc1ZoIHRoIDEKSGNuIGNoIDEKc2JVIHN0IDEKZkZ3IHdhIDEKa2ZUIGthIDEKcnZXIGVyIDEKWXh3IHdhIDEKbkZrIGFuIDEKTHFkIHF1IDEKaG9RIHRoIDEKTmZqIGlqIDEKZ3JIIG5nIDEKY0prIGNoIDEKUG52IGFuIDEKTnF4IHF1IDEKeWZFIG55IDEKa21JIGthIDEKR216IHN6IDEKYnhTIGJlIDEKcXVVIHVuIDEKcVlmIHF1IDEKekt3IHN6IDEKd2hLIHRoIDEKb2ZZIG9uIDEKcHJIIGVyIDEKalh6IHN6IDEKdlFtIHZhIDEKaVd4IGluIDEKYnpDIHN6IDEKbll4IGFuIDEKcWFLIGFuIDEKR2diIG5nIDEKelNmIHN6IDEKclF6IGVyIDEKaGtXIHRoIDEKVm5sIGFuIDEKR3RkIHRoIDEKck13IGVyIDEKd3ZYIHZhIDEKanlVIGlqIDEKUXFwIHF1IDEKSG5xIGFuIDEKYkZiIGJlIDEKcWtIIHF1IDEKV2NrIGNoIDEKZk13IHdhIDEKemdFIG5nIDEKb0p6IG9uIDEKeHZIIHZhIDEKaFF5IHRoIDEKY1lmIGNoIDEKY3hEIGNoIDEKeURzIHN0IDEKcUJoIHRoIDEKY0p4IGNoIDEKZFBqIGRlIDEKd1dkIGRlIDEKckhuIGFuIDEKaXlNIGluIDEKeXhEIG55IDEKa1BjIGNoIDEKY1h2IGNoIDEKTm1nIG5nIDEKdmtOIGthIDEKbEZqIGxlIDEKeW1VIG1lIDEKcFp2IHZhIDEKZ1p0IHRoIDEKSnF5IHF1IDEKcUF6IHF1IDEKQmN5IGNoIDEKcHFqIHF1IDEKY3FFIGNoIDEKUnd2IHZhIDEKY3JNIGNoIDEKQXh6IHN6IDEKWmpwIGlqIDEKeXhGIG55IDEKdlpoIHRoIDEKc1BiIHN0IDEKdkNzIHN0IDEKZlFxIHF1IDEKcVlxIHF1IDEKaEJwIHRoIDEKSmJrIGthIDEKZ3FLIHF1IDEKa3JxIHF1IDEKQ2Z6IHN6IDEKbWJKIG1lIDEKZlJxIHF1IDEKSXd2IHZhIDEKdUZuIGFuIDEKY1l6IGNoIDEKcURiIHF1IDEKeEhkIGRlIDEKcW1JIHF1IDEKeWNFIGNoIDEKTWhmIHRoIDEKaXVFIHF1IDEKZ1hmIG5nIDEKbFB5IGxlIDEKYlB2IHZhIDEKalhoIHRoIDEKZ094IG5nIDEKTm12IHZhIDEKeERnIG5nIDEKQ3dkIGRlIDEKbGpQIGxlIDEKd3FWIHF1IDEKbnJFIGFuIDEKS213IG1lIDEKZ0p0IHRoIDEKdGdCIHRoIDEKeHpSIHN6IDEKdkpyIGVyIDEKYVVpIGFuIDEKeW5ZIGFuIDEKYlp2IHZhIDEKZkZxIHF1IDEKU3hnIG5nIDEKcUFjIGNoIDEKaVp2IGluIDEKalh1IHF1IDEKZ3BSIG5nIDEKd1ZsIGxlIDEKZE5qIGRlIDEKZkJ3IHdhIDEKTWp5IGlqIDEKa2paIGlqIDEKdExzIHRoIDEKaVlqIGluIDEKd2JPIHdhIDEKcVhiIHF1IDEKdUpxIHF1IDEKcUt0IHRoIDEKdmpPIGlqIDEKd3VEIHF1IDEKYmxRIGxlIDEKeWZCIG55IDEKUXNrIHN0IDEKVXdtIG1lIDEKWnFnIHF1IDEKbm1ZIGFuIDEKcFh3IHByIDEKeVZqIGlqIDEKZ0l3IG5nIDEKSHhrIGthIDEKUGd5IG5nIDEKbFF2IGxlIDEKYm5LIGFuIDEKeHRaIHRoIDEKUWNlIGNoIDEKTmpxIHF1IDEKbXZxIHF1IDEKTXd6IHN6IDEKR3RuIHRoIDEKZkpoIHRoIDEKdkp6IHN6IDEKZ0RrIG5nIDEKZEx3IGRlIDEKb2VVIGVyIDEKY3ZZIGNoIDEKR2JiIGJlIDEKVHFkIHF1IDEKYVRwIGFuIDEKWXdnIG5nIDEKamRUIGRlIDEKV2ttIGthIDEKcHhBIHByIDEKdkRsIGxlIDEKc2ZEIHN0IDEKcnFWIHF1IDEKY0hiIGNoIDEKaVZjIGNoIDEKTWZoIHRoIDEKc1ZtIHN0IDEKbnpSIGFuIDEKUXZzIHN0IDEKa1pnIG5nIDEKV253IGFuIDEKcVpiIHF1IDEKR3ZxIHF1IDEKdlBrIGthIDEKU3hxIHF1IDEKdk5nIG5nIDEKcXJIIHF1IDEKZkxjIGNoIDEKd1ZzIHN0IDEKcUVoIHRoIDEKdXFDIHF1IDEKdFp4IHRoIDEKeWhJIHRoIDEKd05oIHRoIDEKckZqIGVyIDEKeFBxIHF1IDEKcHFXIHF1IDEKUGpjIGNoIDEKallqIGlqIDEKcEZ2IHZhIDEKdkxyIGVyIDEKbHFxIHF1IDEKeEpnIG5nIDEKbFZ6IGxlIDEKY1pjIGNoIDEKaGNGIHRoIDEKdWhKIHRoIDEKY0xqIGNoIDEKcXlXIHF1IDEKemhUIHRoIDEKbXRLIHRoIDEKcFJiIHByIDEKYkN4IGJlIDEKbkpmIGFuIDEKandGIGlqIDEKUGRqIGRlIDEKanhFIGlqIDEKc2xaIGxlIDEKTHhuIGFuIDEKem5MIGFuIDEKbXpWIHN6IDEKbEdxIGxlIDEKUWJ3IHdhIDEKamJZIGlqIDEKelNtIHN6IDEKUXF4IHF1IDEKeXBSIHByIDEKZ0NjIGNoIDEKWXZ4IHZhIDEKaWhJIHRoIDEKWmZ4IGZvIDEKbmpJIG5kIDEKWXB0IHRoIDEKbHhUIGxlIDEKZlZ2IHZhIDEKSnptIHN6IDEKanhBIGlqIDEKZ0RsIG5nIDEKRWFxIGFuIDEKUWNuIGFuIDEKekdiIHN6IDEKakxoIHRoIDEKcWtYIHF1IDEKd2JLIHdhIDEKbk54IGFuIDEKc3FXIHF1IDEKd1J4IHdhIDEKeHJVIGVyIDEKZm5RIGFuIDEKa3pCIHN6IDEKUmNuIGNoIDEKcWJMIHF1IDEKc3JEIGVyIDEKVnh1IHF1IDEKcXZGIHF1IDEKd0pyIGVyIDEKWXhnIG5nIDEKcWlZIHF1IDEKZk1jIGNoIDEKaGJZIHRoIDEKaGdIIHRoIDEKZG1TIGRlIDEKalRuIGFuIDEKWmptIGlqIDEKTmpsIGxlIDEKZHFWIHF1IDEKWWpoIHRoIDEKckt3IGVyIDEKY3hVIGNoIDEKQ2tqIGlqIDEKemZKIHN6IDEKeXRGIHRoIDEKeHJQIGVyIDEKcUVqIHF1IDEKcnhPIGVyIDEKclpuIGFuIDEKYlpxIHF1IDEKY1hxIGNoIDEKd3ZEIHZhIDEKaGNYIHRoIDEKemtPIHN6IDEKaE54IHRoIDEKd0ZnIG5nIDEKa1h1IHF1IDEKVmtuIGFuIDEKR2p6IHN6IDEKUWNkIGNoIDEKeXZGIHZhIDEKeEZ4IHhlIDEKZFNqIGRlIDEKeFBiIGJlIDEKb0ZwIG9uIDEKcUFrIHF1IDEKcnFVIHF1IDEKcEd2IHZhIDEKaHpDIHRoIDEKcUlrIHF1IDEKTGhsIHRoIDEKRndiIHdhIDEKcGdFIG5nIDEKQXd6IHN6IDEKZkJrIGthIDEKeEtkIGRlIDEKUGZ3IHdhIDEKdXFLIHF1IDEKcEpjIGNoIDEKYlRjIGNoIDEKdFdnIHRoIDEKZ2ROIG5nIDEKanJOIGVyIDEKa2xTIGxlIDEKcUVpIHF1IDEKc0ZuIGFuIDEKdHFSIHRoIDEKRm5tIGFuIDEKaFh2IHRoIDEKZnhOIGZvIDEKYnZMIHZhIDEKb0dmIG9uIDEKaFptIHRoIDEKeWZIIG55IDEKZGNFIGNoIDEKcGdXIG5nIDEKd3JCIGVyIDEKa1dtIGthIDEKU2h4IHRoIDEKdHdQIHRoIDEKUXZkIGRlIDEKUWd1IHF1IDEKcEp0IHRoIDEKek52IHN6IDEKSHBoIHRoIDEKa2xGIGxlIDEKdnF6IHF1IDEKc2dHIG5nIDEKa2RaIGRlIDEKZWpYIGVyIDEKUHh1IHF1IDEKcHZUIHZhIDEKS3F4IHF1IDEKUW1iIG1lIDEKeEZrIGthIDEKd1FiIHdhIDEKUGd4IG5nIDEKeXBMIHByIDEKYndFIHdhIDEKeEh0IHRoIDEKa1Z6IHN6IDEKam1GIGlqIDEKSXhxIHF1IDEKcXlQIHF1IDEKclZ2IGVyIDEKWXR3IHRoIDEKcXBaIHF1IDEKdHBaIHRoIDEKempYIHN6IDEKS2hnIHRoIDEKcWZWIHF1IDEKSnp4IHN6IDEKa1RqIGlqIDEKQnpxIHF1IDEKbmpSIGFuIDEKY2dXIGNoIDEKY21JIGNoIDEKa0NiIGthIDEKcFlwIHByIDEKdmtaIGthIDEKd3ZrIGthIDEKVmZxIHF1IDEKbmxaIGFuIDEKcU5qIHF1IDEKckNxIHF1IDEKa2JWIGthIDEKRHFqIHF1IDEKYnJEIGVyIDEKbGJHIGxlIDEKeGhGIHRoIDEKa3haIGthIDEKSXVxIHF1IDEKeUZ4IG55IDEKcVZsIHF1IDEKbGNHIGNoIDEKdldyIGVyIDEKYUJxIGFuIDEKeUprIGthIDEKY3pMIGNoIDEKakl1IHF1IDEKdlVsIGxlIDEKcFpxIHF1IDEKdnRXIHRoIDEKUXh3IHdhIDEKZFl2IGRlIDEKaXFIIHF1IDEKWHdzIHN0IDEKZkRqIGlqIDEKeFZ6IHN6IDEKZEtxIHF1IDEKdmZRIHZhIDEKaHZEIHRoIDEKd2RZIGRlIDEKSHp6IHN6IDEKY1lzIGNoIDEKRnRqIHRoIDEKZHBVIGRlIDEKTGxkIGxlIDEKR3F3IHF1IDEKa2RSIGRlIDEKdlhnIG5nIDEKcXNZIHF1IDEKak5mIGlqIDEKUWpqIGlqIDEKcFZsIGxlIDEKSm14IG1lIDEKcERqIGlqIDEKaUJjIGNoIDEKa0xqIGlqIDEKeG5HIGFuIDEKdlRsIGxlIDEKTmRnIG5nIDEKcHFVIHF1IDEKVWF3IGFuIDEKZnpOIHN6IDEKZ05xIHF1IDEKa2pNIGlqIDEKbG5LIGFuIDEKenhiIHN6IDEKa2NTIGNoIDEKbmpNIGFuIDEKR2R3IGRlIDEKbG5aIGFuIDEKWWdqIG5nIDEKaEtkIHRoIDEKZ3BUIG5nIDEKeXFQIHF1IDEKaWpYIGluIDEKakdmIGlqIDEKYnhJIGJlIDEKdlh4IHZhIDEKVnJ3IGVyIDEKQ3d4IHdhIDEKbkJoIHRoIDEKcXZ5IHF1IDEKc3hCIHN0IDEKbVZrIGthIDEKQ3p4IHN6IDEKZnlWIG55IDEKY1h3IGNoIDEKUW5mIGFuIDEKWXFkIHF1IDEKbHFIIHF1IDEKZGJZIGRlIDEKU3FiIHF1IDEKS3F3IHF1IDEKenBKIHN6IDEKY2JNIGNoIDEKekZnIG5nIDEKc0tiIHN0IDEKcXJLIHF1IDEKekpjIGNoIDEKblJuIGFuIDEKZnFOIHF1IDEKaGZBIHRoIDEKcW9HIHF1IDEKT3d6IHN6IDEKbmxHIGFuIDEKd0l4IHdhIDEKcXJQIHF1IDEKTndnIG5nIDEKcWFXIGFuIDEKaGNUIHRoIDEKd2tCIGthIDEKTmR0IHRoIDEKS3pxIHF1IDEKZ3hCIG5nIDEKQmp6IHN6IDEKdlRmIHZhIDEKakZxIHF1IDEKcU1lIHF1IDEKdWZRIHF1IDEKbnBHIGFuIDEKdVprIHF1IDEKcVR3IHF1IDEKR2x3IGxlIDEKS3FxIHF1IDEKQ3hyIGVyIDEKalpzIHN0IDEKU3F2IHF1IDEKeVBtIG1lIDEKZVFqIGVyIDEKYUloIHRoIDEKZ0RxIHF1IDEKbElwIGxlIDEKak5qIGlqIDEKcU9kIHF1IDEKdmtNIGthIDEKdkZ5IHZhIDEKY2ZWIGNoIDEKS2poIHRoIDEKZ2tQIG5nIDEKckpjIGNoIDEKdVBxIHF1IDEKb3pRIG9uIDEKRGxrIGxlIDEKdlhoIHRoIDEKa3RZIHRoIDEKdld5IHZhIDEKZ1F2IG5nIDEKWXd3IHdhIDEKVHB6IHN6IDEKUWhjIHRoIDEKeHVUIHF1IDEKbmJTIGFuIDEKelFnIG5nIDEKdmdaIG5nIDEKcFVvIG9uIDEKdVdiIHF1IDEKbU1mIG1lIDEKWmNkIGNoIDEKaUJwIGluIDEKZndwIHByIDEKellmIHN6IDEKd0NwIHByIDEKQ3F5IHF1IDEKY2pGIGNoIDEKR2ZoIHRoIDEKbWNXIGNoIDEKY3FWIGNoIDEKdUpkIHF1IDEKaVVqIGluIDEKdmtSIGthIDEKd2dJIG5nIDEKdlVnIG5nIDEKV2RuIGRlIDEKc2pGIHN0IDEKdFB2IHRoIDEKeFJuIGFuIDEKa2xWIGxlIDEKc2JNIHN0IDEKbWZUIG1lIDEKZGJWIGRlIDEKRm1uIGFuIDEKZ2ZVIG5nIDEKY2JCIGNoIDEKWXh6IHN6IDEKS3hrIGthIDEKRHdxIHF1IDEKd2dYIG5nIDEKc1B2IHN0IDEKdkhkIGRlIDEKbmJIIGFuIDEKY0ZuIGFuIDEKcXFYIHF1IDEKakZlIGVyIDEKcUViIHF1IDEKZEZoIHRoIDEKdUVvIHF1IDEKbGNJIGNoIDEKYk1tIG1lIDEKelp3IHN6IDEKaGpPIHRoIDEKaEt4IHRoIDEKamdDIG5nIDEKY25MIGFuIDEKRmRnIG5nIDEKYkdmIGJlIDEKU2p6IHN6IDEKYk1qIGlqIDEKdlh3IHZhIDEKR2ZmIGZvIDEKQ3d3IHdhIDEKanNRIHN0IDEKWmd2IG5nIDEKbFBmIGxlIDEKbm1RIGFuIDEKVmRxIHF1IDEKbGNYIGNoIDEKZ2pUIG5nIDEKbXdFIG1lIDEKcUxtIHF1IDEKY0hxIGNoIDEKWHRuIHRoIDEKTnRxIHRoIDEKZ1drIG5nIDEKUHFkIHF1IDEKcXBQIHF1IDEKc1JmIHN0IDEKcXBMIHF1IDEKY25EIGFuIDEKcXBHIHF1IDEKZHpTIHN6IDEKdFpiIHRoIDEKeWdNIG5nIDEKYnhDIGJlIDEKZGZVIGRlIDEKYm1CIG1lIDEKbEJ6IGxlIDEKZ0p4IG5nIDEKWWt2IGthIDEKWmRrIGRlIDEKd25RIGFuIDEKdFpqIHRoIDEKWnptIHN6IDEKVmZoIHRoIDEKTXdjIGNoIDEKclVvIG9uIDEKcXdwIHF1IDEKdGNJIHRoIDEKdGZEIHRoIDEKdW9aIHF1IDEKZkN3IHdhIDEKaVFxIHF1IDEKcUJnIHF1IDEKc1ZiIHN0IDEKcGpVIGlqIDEKc2NRIGNoIDEKcHFRIHF1IDEKc3ZaIHN0IDEKWnBqIGlqIDEKcGlWIGluIDEKa2JQIGthIDEKd3FNIHF1IDEKclZiIGVyIDEKcVpyIHF1IDEKaHhPIHRoIDEKd1RuIGFuIDEKSnpmIHN6IDEKUWpiIGlqIDEKdVl2IHF1IDEKcHdLIHByIDEKaHZIIHRoIDEKRHFlIHF1IDEKcGZJIHByIDEKbWhWIHRoIDEKamdFIG5nIDEKcmNRIGNoIDEKa21UIGthIDEKV3pqIHN6IDEKeE5zIHN0IDEKUGJqIGlqIDEKenZCIHN6IDEKeGhKIHRoIDEKc3ZxIHF1IDEKTnZuIGFuIDEKc3daIHN0IDEKamdGIG5nIDEKbWZMIG1lIDEKemtMIHN6IDEKalZwIGlqIDEKRGtqIGlqIDEKeHVZIHF1IDEKaEhxIHRoIDEKY1NmIGNoIDEKSnpkIHN6IDEKbHFVIHF1IDEKcU1kIHF1IDEKUWdqIG5nIDEKZnhrIGthIDEKdFJ0IHRoIDEKekZrIHN6IDEKcUVvIHF1IDEKdm9ZIG9uIDEKQXdqIGlqIDEKVHhqIGlqIDEKY0lnIGNoIDEKeFV1IHF1IDEKc1JyIGVyIDEKSnhuIGFuIDEKaVBmIGluIDEKZWpZIGVyIDEKWHRzIHRoIDEKcGZUIHByIDEKUHFhIGFuIDEKenNWIHN0IDEKeXBDIHByIDEKd01zIHN0IDEKcUVjIGNoIDEKdnhZIHZhIDEKZlVnIG5nIDEKRGZmIGZvIDEKZ3FRIHF1IDEKek12IHN6IDEKdkppIGluIDEKZlB2IHZhIDEKZEx6IHN6IDEKY2RNIGNoIDEKZ054IG5nIDEKYUd2IGFuIDEKdnZEIHZhIDEKZEpoIHRoIDEKcnhZIGVyIDEKcldqIGVyIDEKUHZ4IHZhIDEKcmhEIHRoIDEKelJkIHN6IDEKS2d2IG5nIDEKWHZ5IHZhIDEKa1pqIGlqIDEKa3BLIGthIDEKUGZuIGFuIDEKd1VlIGVyIDEKd1d4IHdhIDEKalB3IGlqIDEKZ0xxIHF1IDEKaUpxIHF1IDEKZ1B4IG5nIDEKakhkIGRlIDEKdkpiIHZhIDEKeGhCIHRoIDEKeFF2IHZhIDEKRW9hIGFuIDEKcGpPIGlqIDEKeUZqIGlqIDEKc1hvIG9uIDEKd2JZIHdhIDEKY2pPIGNoIDEKbWxaIGxlIDEKYk52IHZhIDEKa2pQIGlqIDEKeVhuIGFuIDEKcVZqIHF1IDEKZk52IHZhIDEKZ2pXIG5nIDEKblhqIGFuIDEKZHFKIHF1IDEKSG5oIHRoIDEKUXlrIGthIDEKa3ZCIGthIDEKcXlCIHF1IDEKbUR0IHRoIDEKemdQIG5nIDEKWnprIHN6IDEKZk1rIGthIDEKeHpZIHN6IDEKcWJUIHF1IDEKeE90IHRoIDEKeHNBIHN0IDEKZ0xqIG5nIDEKenhIIHN6IDEKY0xtIGNoIDEKRG5rIGFuIDEKekl1IHF1IDEKa3BKIGthIDEKeHJLIGVyIDEKZUliIGVyIDEKSmJwIHByIDEKQnFnIHF1IDEKdFhnIHRoIDEKWmprIGlqIDEKZFJkIGRlIDEKdGpaIHRoIDEKaFFsIHRoIDEKaXlXIGluIDEKSndkIGRlIDEKcVp0IHRoIDEKY0pwIGNoIDEKakJnIG5nIDEKenJHIGVyIDEKaFdmIHRoIDEKWmRzIHN0IDEKcXNaIHF1IDEKY1F4IGNoIDEKY2NOIGNoIDEKeXdNIHdhIDEKZ2JYIG5nIDEKdGZUIHRoIDEKdnd0IHRoIDEKUWJwIHByIDEKeWVZIGVyIDEKYVViIGFuIDEKcUh3IHF1IDEKRmhxIHRoIDEKRm5nIGFuIDEKbHZJIGxlIDEKakNmIGlqIDEKaHFIIHRoIDEKdFRxIHRoIDEKc2ZJIHN0IDEKdnNNIHN0IDEKbERwIGxlIDEKd0piIHdhIDEKYmhYIHRoIDEKclJxIHF1IDEKcXRTIHRoIDEKWndwIHByIDEKSmJoIHRoIDEKaEhiIHRoIDEKcER5IHByIDEKc2pEIHN0IDEKT3lwIHByIDEKcXdEIHF1IDEKamJEIGlqIDEKdnBHIHZhIDEKV2piIGlqIDEKdnBCIHZhIDEKYVhxIGFuIDEKbVd6IHN6IDEKcUhpIHF1IDEKZnlOIG55IDEKbWJRIG1lIDEKeXdDIHdhIDEKb1ZnIG5nIDEKeG1aIG1lIDEKc2xPIGxlIDEKZlhuIGFuIDEKa1lzIHN0IDEKcFZ1IHF1IDEKYmtVIGthIDEKQnJxIHF1IDEKcUNxIHF1IDEKWGN4IGNoIDEKek10IHRoIDEKY1J3IGNoIDEKZ3pRIG5nIDEKUWJnIG5nIDEKanVVIHF1IDEKeFN6IHN6IDEKVmd6IG5nIDEKb013IG9uIDEKZnBFIHByIDEKeGpYIGlqIDEKcUNnIHF1IDEKendNIHN6IDEKdVFsIHF1IDEKcVBrIHF1IDEKcGpEIGlqIDEKUXptIHN6IDEKc0lwIHN0IDEKdW9HIHF1IDEKclZsIGVyIDEKY2JLIGNoIDEKaFhtIHRoIDEKS3NmIHN0IDEKa2JGIGthIDEKd0JtIG1lIDEKaVl0IHRoIDEKc2dIIG5nIDEKR3p2IHN6IDEKeXZFIHZhIDEKeEtxIHF1IDEKc1dmIHN0IDEKekJjIGNoIDEKeWtIIGthIDEKdmpIIGlqIDEKd2hJIHRoIDEKdlBqIGlqIDEKWmh0IHRoIDEKaUp4IGluIDEKY1p0IHRoIDEKZHFVIHF1IDEKaE1kIHRoIDEKY1VqIGNoIDEKdk1nIG5nIDEKcGNKIGNoIDEKQmNtIGNoIDEKalhpIGluIDEKeG9JIG9uIDEKWmtxIHF1IDEKWHpyIGVyIDEKeXpNIHN6IDEKcWpYIHF1IDEKbU5xIHF1IDEKaHBYIHRoIDEKZkJxIHF1IDEKdFhkIHRoIDEKWGtpIGluIDEKSHNx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AAD/AEHggQsLxwoIADUAAAAGAAcAAQAEAAcAAgAEAAgAAwAEAAsABAAEAAwABQAEAA4ABgAEAA8ABwAFABMACAAFABQACQAFAAcACgAFAAgACwAGAAgADAAGAAMADQAGADQADgAGADUADwAGACoAEAAGACsAEQAHACcAEgAHAAwAEwAHAAgAFAAHABcAFQAHAAMAFgAHAAQAFwAHACgAGAAHACsAGQAHABMAGgAHACQAGwAHABgAHAAIAAIAHQAIAAMAHgAIABoAHwAIABsAIAAIABIAIQAIABMAIgAIABQAIwAIABUAJAAIABYAJQAIABcAJgAIACgAJwAIACkAKAAIACoAKQAIACsAKgAIACwAKwAIAC0ALAAIAAQALQAIAAUALgAIAAoALwAIAAsAMAAIAFIAMQAIAFMAMgAIAFQAMwAIAFUANAAIACQANQAIACUANgAIAFgANwAIAFkAOAAIAFoAOQAIAFsAOgAIAEoAOwAIAEsAPAAIADIAPQAIADMAPgAIADQAPwAFABsAQAAFABIAgAAGABcAwAAHADcAAAEIADYAQAEIADcAgAEIAGQAwAEIAGUAAAIIAGgAQAIIAGcAgAIJAMwAwAIJAM0AAAMJANIAQAMJANMAgAMJANQAwAMJANUAAAQJANYAQAQJANcAgAQJANgAwAQJANkAAAUJANoAQAUJANsAgAUJAJgAwAUJAJkAAAYJAJoAQAYGABgAgAYJAJsAwAYLAAgAAAcLAAwAQAcLAA0AgAcMABIAwAcMABMAAAgMABQAQAgMABUAgAgMABYAwAgMABcAAAkMABwAQAkMAB0AgAkMAB4AwAkMAB8AAAoMAAEA//8JAAEA/v8KAAEA/v8LAAEA/v8MAAAA/v8AAAoANwAAAAMAAgABAAIAAwACAAIAAgADAAMAAwAEAAQAAwAFAAQAAgAGAAUAAwAHAAYABQAIAAYABAAJAAcABAAKAAcABQALAAcABwAMAAgABAANAAgABwAOAAkAGAAPAAoAFwAQAAoAGAARAAoACAASAAsAZwATAAsAaAAUAAsAbAAVAAsANwAWAAsAKAAXAAsAFwAYAAsAGAAZAAwAygAaAAwAywAbAAwAzAAcAAwAzQAdAAwAaAAeAAwAaQAfAAwAagAgAAwAawAhAAwA0gAiAAwA0wAjAAwA1AAkAAwA1QAlAAwA1gAmAAwA1wAnAAwAbAAoAAwAbQApAAwA2gAqAAwA2wArAAwAVAAsAAwAVQAtAAwAVgAuAAwAVwAvAAwAZAAwAAwAZQAxAAwAUgAyAAwAUwAzAAwAJAA0AAwANwA1AAwAOAA2AAwAJwA3AAwAKAA4AAwAWAA5AAwAWQA6AAwAKwA7AAwALAA8AAwAWgA9AAwAZgA+AAwAZwA/AAoADwBAAAwAyACAAAwAyQDAAAwAWwAAAQwAMwBAAQwANACAAQwANQDAAQ0AbAAAAg0AbQBAAg0ASgCAAg0ASwDAAg0ATAAAAw0ATQBAAw0AcgCAAw0AcwDAAw0AdAAABA0AdQBABA0AdgCABA0AdwDABA0AUgAABQ0AUwBABQ0AVACABQ0AVQDABQ0AWgAABg0AWwBABg0AZACABg0AZQDABgsACAAABwsADABABwsADQCABwwAEgDABwwAEwAACAwAFABACAwAFQCACAwAFgDACAwAFwAACQwAHABACQwAHQCACQwAHgDACQwAHwAACgwAAQD//wkAAQD+/woAAQD+/wsAAQD+/wwAAAD+/wAABwADAAAABgADAAAAAwADAAAAAQABAAAAAwACAAAABgACAAAABwACAEGwjQsLgAIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDBAQEBAQEBAQFBQUFBgYHCAgHBgYFBQUFBAQEBAQEBAQDAwMDAwMDAwMDAwMDAwMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEGwkAsL/RcMBwAAAAAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAAAQQAAAAAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAUGAAACAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAABBAAAAAAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAABQcAAAMAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAEEAAAAAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAAEBgAAAgAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAAAQQAAAAAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAYHAAAAAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAABBAAAAAAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAABQYAAAIAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAEEAAAAAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAAEBwAAAwAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAAAQQAAAAAAAADAQAAAAAAAAUDAAABAAAAAwEAAAAAAAACAwAAAAAAAAMBAAAAAAAABAMAAAEAAAADAQAAAAAAAAQGAAACAAAAAwEAAAAAAAAFAwAAAQAAAAMBAAAAAAAAAgMAAAAAAAADAQAAAAAAAAQDAAABAAAAAwEAAAAAAAABBAAAAAAAAAMBAAAAAAAABQMAAAEAAAADAQAAAAAAAAIDAAAAAAAAAwEAAAAAAAAEAwAAAQAAAAMBAAAAAAAADAsAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABEAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsLAAAABwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAUAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbioCwv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDAAAgAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA4AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAHgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwsAAEAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA5AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABUAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAANgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuLgLC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADQAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAwAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAQAgAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAJAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoMAACAAQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4yAsL9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAABwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAPAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAABACQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgoAAEAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbjYCwv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAASAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAMAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAyAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACIAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAgAYAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuOgLC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAaAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAIAFAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAgAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALCwAAgAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAD0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAKgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAAAABAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4+AsL9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAAAMAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAD4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAADACAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAALgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAmAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAAACAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbiIDAv1HwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAEwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAYAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAMAJAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAQAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKCgAAQAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAwLAAAAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABIAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAARAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALCwAAAAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAZAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4qAwL9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgwAAMAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAAAUAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAB8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsLAABABwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAOgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAVAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAIADAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbi4DAv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAACAAgAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAMQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAIAIAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAtAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACUAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDAAAwAEAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuMgMC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAdAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAAAGAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAApAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAgAkAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAAAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoKAABAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG42AwL9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABEAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAAAACAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAMwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAjAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgwAAEABAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbjoDAv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAGwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA7AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAIQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwsAAIAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoMAAAAAQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAgAQAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuPgMC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA/AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAAAkAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAC8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAJwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA1AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4iA0L9R8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABMAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAGAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABYAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAAAACgAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgoAAEAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAMCwAAAAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAASAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwsAAAAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAXAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABQAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAGQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuKgNC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoMAACAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAeAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALCwAAQAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA2AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4uA0L9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAANAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAABACAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAALAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAkAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgwAAIABAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbjIDQv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAHAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA8AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAKAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAEAJAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAQAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKCgAAQAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuNgNC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABIAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAARAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAwAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADIAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAIgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAADABgAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG46A0L9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAABoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAwAUAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsLAACABwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAPQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAqAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAEAEAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbj4DQv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAABAAwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAPgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAMAIAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAuAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACYAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAQAIAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuIgOC/UfCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAATAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAWAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAwAkAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAAAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoKAABAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAADAsAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAABEAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsLAAAABwAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAUAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbioDgv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDAAAwAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAABABQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAHwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwsAAEAHAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAA6AAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAsAABUAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAwAMAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuLgOC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgJAAAPAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACg0AAMACAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAxAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALDAAAgAgAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAC0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAJQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoMAADAAQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4yA4L9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAB0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDQAAQAYAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAACACQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAAAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgoAAEAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbjYDgv1DwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICQAADwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAASAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICgAAEQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAAAIAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAzAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAACMAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKDAAAQAEAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgBBuOgOC/UPCAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAbAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAhAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAALCwAAgAcAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACgwAAAABAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAAKwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAoNAADABAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICAAADgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAEG4+A4L9Q8IAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAANAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAkAAA8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAANwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAAD8AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAsMAAAACQAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAoAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIDAAALwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgMAAAnAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAwAADUAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgIAAAOAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAwAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAQbiIDwv1HwgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAKAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA0AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAEwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgLAAAYAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACQAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAcAAAsAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAICwAAFgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAgAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAAMAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACwwAAAAKAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAJAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAACgAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgKAAAQAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBgAACAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAoAAAAAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgFAAAHAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAKCgAAQAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAYAAAkAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgHAAALAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAYAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBQAABwAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAFAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAgAAA4AAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABgAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAgGAAAIAAAACAIAAAMAAAAIAwAAAQAAAAgCAAACAAAACAQAAAUAAAAIAgAAAwAAAAgDAAAEAAAACAIAAAIAAAAIBwAADAAAAAgCAAADAAAACAMAAAEAAAAIAgAAAgAAAAgEAAAGAAAACAIAAAMAAAAIAwAABAAAAAgCAAACAAAACAUAAAcAAAAIAgAAAwAAAAgDAAABAAAACAIAAAIAAAAIBAAABQAAAAgCAAADAAAACAMAAAQAAAAIAgAAAgAAAAwLAAAAAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAUAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAADABAAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAwAMAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAADAAgAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALCwAAAAcAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAABAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAEAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAQAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAEAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG4qA8L9Q8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAAAABgAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAAAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAAAABAAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAAADAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsLAABABwAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAIADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAACABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAgAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAQbi4Dwv1DwcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAFAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAwAQAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAMADAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAwAIAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwwAAEAIAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAQAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAABABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAEAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAABABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuMgPC/UPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAAAYAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAAAABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAAAQAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAAAAAwAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALDAAAQAkAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAACAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAgAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAIAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG42A8L9Q8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAADABQAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAMAEAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAADAAwAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAMACAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsMAADABwAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAEADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAQAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAABABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAQAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAQbjoDwv1DwcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAAAGAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAAAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAAAEAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAAAMAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwsAAIAHAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAgAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAADABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAIAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAACABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuPgPC/UPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAUAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAADABAAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAwAMAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAADAAgAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALDAAAwAgAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAABAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAEAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAQAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAEAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG4iBAL9R8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAAAABgAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAAAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAAAABAAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAAADAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsMAADACQAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAIADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAACABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAgAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAMCwAAAAAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAFAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAwAQAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAMADAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAwAIAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwsAAAAHAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAQAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAABABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAEAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAABABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuKgQC/UPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAAAYAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAAAABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAAAQAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAAAAAwAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALCwAAQAcAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAACAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAgAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAIAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG4uBAL9Q8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAADABQAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAMAEAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAADAAwAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAMACAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsMAACACAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAEADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAQAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAABABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAQAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAQbjIEAv1DwcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAAAGAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAAAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAAAEAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAAAMAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwwAAIAJAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAgAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAADABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAIAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAACABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuNgQC/UPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAUAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAADABAAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAwAMAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAADAAgAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALDAAAAAgAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAABAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAEAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAQAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAEAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAEG46BAL9Q8HBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAnAAAABwYAABAAAAAJCAAAQAIAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA3AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAtAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADUAAAAHBQAACQAAAAkIAADAAQAABwQAAAYAAAAHCAAAIwAAAAkFAACAAAAABwgAADMAAAAHBgAADwAAAAcIAAA/AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAAAABgAABwQAAAUAAAAHCAAAKwAAAAcGAAARAAAACQkAAAAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACEAAAAJBQAAgAAAAAcIAAAxAAAABwYAAA4AAAAHCAAAPQAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAvAAAABwQAAAMAAAAHCAAAOwAAAAcEAAAFAAAABwgAACkAAAAHBgAAEAAAAAkJAAAABAAABwQAAAYAAAAHCAAAHwAAAAcFAAAIAAAABwgAADkAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQkAAAADAAAHBAAABgAAAAcIAAAlAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAEABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAsLAACABwAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAKAAAAAcGAAAQAAAACQkAAIADAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAAOAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA2AAAABwUAAAkAAAAJCAAAAAIAAAcEAAAGAAAABwgAACQAAAAJBQAAgAAAAAcIAAA0AAAABwYAAA8AAAAHCAAAAAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAwAYAAAcEAAAFAAAABwgAACwAAAAHBgAAEQAAAAkJAACABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAiAAAACQUAAIAAAAAHCAAAMgAAAAcGAAAOAAAABwgAAD4AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAMAAAAAcEAAADAAAABwgAADwAAAAHBAAABQAAAAcIAAAqAAAABwYAABAAAAAJCQAAgAQAAAcEAAAGAAAABwgAACAAAAAHBQAACAAAAAcIAAA6AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkIAACAAgAABwQAAAYAAAAHCAAAJgAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAACAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAQbj4EAv1DwcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACcAAAAHBgAAEAAAAAkIAABAAgAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADcAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANQAAAAcFAAAJAAAACQgAAMABAAAHBAAABgAAAAcIAAAjAAAACQUAAIAAAAAHCAAAMwAAAAcGAAAPAAAABwgAAD8AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAFAAAHBAAABQAAAAcIAAArAAAABwYAABEAAAAJCQAAwAQAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAdAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIQAAAAkFAACAAAAABwgAADEAAAAHBgAADgAAAAcIAAA9AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC8AAAAHBAAAAwAAAAcIAAA7AAAABwQAAAUAAAAHCAAAKQAAAAcGAAAQAAAACQkAAMADAAAHBAAABgAAAAcIAAAfAAAABwUAAAgAAAAHCAAAOQAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCQAAwAIAAAcEAAAGAAAABwgAACUAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAQAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAACwwAAAAJAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcHAAAUAAAACQUAAIAAAAAHBwAAGAAAAAcGAAAOAAAABwcAABwAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFwAAAAcEAAADAAAABwcAABsAAAAHBAAABQAAAAcIAAAoAAAABwYAABAAAAAJCQAAQAMAAAcEAAAGAAAABwcAABMAAAAHBQAACAAAAAcIAAA4AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAuAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwgAADYAAAAHBQAACQAAAAkIAAAAAgAABwQAAAYAAAAHCAAAJAAAAAkFAACAAAAABwgAADQAAAAHBgAADwAAAAcIAAAAAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAkJAABABgAABwQAAAUAAAAHCAAALAAAAAcGAAARAAAACQkAAEAFAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAAHgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwgAACIAAAAJBQAAgAAAAAcIAAAyAAAABwYAAA4AAAAHCAAAPgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAwAAAABwQAAAMAAAAHCAAAPAAAAAcEAAAFAAAABwgAACoAAAAHBgAAEAAAAAkJAABABAAABwQAAAYAAAAHCAAAIAAAAAcFAAAIAAAABwgAADoAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABYAAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBwAAGgAAAAcFAAAJAAAACQgAAIACAAAHBAAABgAAAAcIAAAmAAAACQUAAIAAAAAHBwAAGQAAAAcGAAAPAAAACQgAAIABAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAABwcAABIAAAAHBAAABQAAAAcHAAAVAAAABwYAABEAAAAJBwAAAAEAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwBBuIgRC/sPBwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHBwAAFAAAAAkFAACAAAAABwcAABgAAAAHBgAADgAAAAcHAAAcAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwcAABcAAAAHBAAAAwAAAAcHAAAbAAAABwQAAAUAAAAHCAAAJwAAAAcGAAAQAAAACQgAAEACAAAHBAAABgAAAAcHAAATAAAABwUAAAgAAAAHCAAANwAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALQAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcIAAA1AAAABwUAAAkAAAAJCAAAwAEAAAcEAAAGAAAABwgAACMAAAAJBQAAgAAAAAcIAAAzAAAABwYAAA8AAAAHCAAAPwAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAJCQAAAAYAAAcEAAAFAAAABwgAACsAAAAHBgAAEQAAAAkJAAAABQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAB0AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHBgAADAAAAAcFAAAJAAAACQYAAIAGAAAHBAAABgAAAAcIAAAhAAAACQUAAIAAAAAHCAAAMQAAAAcGAAAOAAAABwgAAD0AAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHCAAALwAAAAcEAAADAAAABwgAADsAAAAHBAAABQAAAAcIAAApAAAABwYAABAAAAAJCQAAAAQAAAcEAAAGAAAABwgAAB8AAAAHBQAACAAAAAcIAAA5AAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAWAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwcAABoAAAAHBQAACQAAAAkJAAAAAwAABwQAAAYAAAAHCAAAJQAAAAkFAACAAAAABwcAABkAAAAHBgAADwAAAAkIAABAAQAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwYAAA0AAAAHBAAAAwAAAAcHAAASAAAABwQAAAUAAAAHBwAAFQAAAAcGAAARAAAACQcAAAABAAAHBAAABgAAAAcGAAABAAAABwUAAAgAAAAJBgAAwAAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAALDAAAAAoAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcGAAAMAAAABwUAAAkAAAAJBgAAgAYAAAcEAAAGAAAABwcAABQAAAAJBQAAgAAAAAcHAAAYAAAABwYAAA4AAAAHBwAAHAAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcHAAAXAAAABwQAAAMAAAAHBwAAGwAAAAcEAAAFAAAABwgAACgAAAAHBgAAEAAAAAkJAACAAwAABwQAAAYAAAAHBwAAEwAAAAcFAAAIAAAABwgAADgAAAAJBQAAQAAAAAcFAAAKAAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAAC4AAAAHBAAAAwAAAAcFAAALAAAABwQAAAUAAAAHCAAANgAAAAcFAAAJAAAACQgAAAACAAAHBAAABgAAAAcIAAAkAAAACQUAAIAAAAAHCAAANAAAAAcGAAAPAAAABwgAAAAAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBgAADQAAAAcEAAADAAAACQkAAMAGAAAHBAAABQAAAAcIAAAsAAAABwYAABEAAAAJCQAAgAUAAAcEAAAGAAAABwYAAAEAAAAHBQAACAAAAAkGAADAAAAACQUAAEAAAAAHBQAACgAAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcIAAAeAAAABwQAAAMAAAAHBQAACwAAAAcEAAAFAAAABwYAAAwAAAAHBQAACQAAAAkGAACABgAABwQAAAYAAAAHCAAAIgAAAAkFAACAAAAABwgAADIAAAAHBgAADgAAAAcIAAA+AAAABwQAAAQAAAAHBAAAAgAAAAcEAAAHAAAABwgAADAAAAAHBAAAAwAAAAcIAAA8AAAABwQAAAUAAAAHCAAAKgAAAAcGAAAQAAAACQkAAIAEAAAHBAAABgAAAAcIAAAgAAAABwUAAAgAAAAHCAAAOgAAAAkFAABAAAAABwUAAAoAAAAHBAAABAAAAAcEAAACAAAABwQAAAcAAAAHBwAAFgAAAAcEAAADAAAABwUAAAsAAAAHBAAABQAAAAcHAAAaAAAABwUAAAkAAAAJCAAAgAIAAAcEAAAGAAAABwgAACYAAAAJBQAAgAAAAAcHAAAZAAAABwYAAA8AAAAJCAAAgAEAAAcEAAAEAAAABwQAAAIAAAAHBAAABwAAAAcGAAANAAAABwQAAAMAAAAHBwAAEgAAAAcEAAAFAAAABwcAABUAAAAHBgAAEQAAAAkHAAAAAQAABwQAAAYAAAAHBgAAAQAAAAcFAAAIAAAACQYAAMAAAAAJBQAA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+gBB4LURCxNUSUZGUmVhZEJ1ZmZlclNldHVwAEGEthELXgEAAAAAAAAA/////wAAAAABAAAAAgAAAAMAAAAAAAAA/f////7/////////IExaV1NldHVwRGVjb2RlAG51bWFHZXRSZWZjb3VudABudW1hQ2hhbmdlUmVmY291bnQAQfC2EQsQcGl4R2V0RGltZW5zaW9ucwBBkLcRC0JudW1hRXh0ZW5kQXJyYXkAcGl4Y21hcEdldENvbG9yAHBpeGNtYXBHZXRDb3VudABwaXhDb3B5SW5wdXRGb3JtYXQAQeC3EQsRcGl4U2V0SW5wdXRGb3JtYXQAQYC4EQsRcGl4R2V0SW5wdXRGb3JtYXQAQaC4EQsRcGl4Q29weVJlc29sdXRpb24AQcC4EQsicGl4Q29weUNvbG9ybWFwAHBpeERlc3Ryb3lDb2xvcm1hcABB8LgRCxJwaXhSZXNpemVJbWFnZURhdGEAQZC5EQsRcGl4Q3JlYXRlVGVtcGxhdGUAQbC5EQsXcGl4Q3JlYXRlVGVtcGxhdGVOb0luaXQAQdC5EQshcGl4Q3JlYXRlTm9Jbml0AHBpeENoYW5nZVJlZmNvdW50AEGAuhELMnBpeENyZWF0ZUhlYWRlcgBjb21wb3NlUkdCUGl4ZWwAcGl4YUNoYW5nZVJlZmNvdW50AEHAuhELEWJveENoYW5nZVJlZmNvdW50AEHguhELE3BpeFBhaW50VGhyb3VnaE1hc2sAQYC7EQtAcGl4VW5wYWNrQmluYXJ5AHBpeENvbnZlcnQxVG8zMgBwaXhDb252ZXJ0MVRvMTYAcGl4U2V0TWFza2VkQ21hcABB0LsRCzFwaXhjbWFwQWRkQ29sb3IAcGl4Y21hcEdldEluZGV4AHBpeFJlbW92ZUNvbG9ybWFwAEGQvBELEGNvbXBvc2VSR0JBUGl4ZWwAQbC8EQsWcGl4Y21hcElzQmxhY2tBbmRXaGl0ZQBB0LwRC0JwaXhjbWFwSGFzQ29sb3IAcGl4Y21hcElzT3BhcXVlAHBpeGNtYXBUb0FycmF5cwBib3hhR2V0Qm94R2VvbWV0cnkAQaC9EQs1cGl4Q29ubkNvbXBQaXhhAHBpeGFFeHRlbmRBcnJheQBwaXhhRXh0ZW5kQXJyYXlUb1NpemUAQeC9EQsVYm94YUV4dGVuZEFycmF5VG9TaXplAEGAvhELEHBpeENsaXBSZWN0YW5nbGUAQaC+EQsSYm94Q2xpcFRvUmVjdGFuZ2xlAEHAvhELIWJveGFFeHRlbmRBcnJheQBsc3RhY2tFeHRlbmRBcnJheQBB8L4RCxNuZXh0T25QaXhlbEluUmFzdGVyAEGQvxELGHBpeFNjYWxlQW5kVHJhbnNmZXJBbHBoYQBBsL8RCxJwaXhTZXRSR0JDb21wb25lbnQAQdC/EQsxcGl4U2NhbGVHZW5lcmFsAHBpeFNjYWxlQ29sb3JMSQBwaXhTY2FsZUNvbG9yNHhMSQBBkMARCxFwaXhDcmVhdGVSR0JJbWFnZQBBsMARCxBwaXhTY2FsZUdyYXk0eExJAEHQwBELEXBpeFNjYWxlQ29sb3IyeExJAEHwwBELEHBpeFNjYWxlR3JheTJ4TEkAQZDBEQsRcGl4VW5zaGFycE1hc2tpbmcAQbDBEQsVcGl4VW5zaGFycE1hc2tpbmdHcmF5AEHQwRELEnBpeEZpbmFsQWNjdW11bGF0ZQBB8MERCzZwaXhhY2NHZXRPZmZzZXQAcGl4YWNjTXVsdENvbnN0AHBpeE11bHRDb25zdEFjY3VtdWxhdGUAQbDCEQsScGl4U2V0QWxsQXJiaXRyYXJ5AEHQwhELEHBpeEJsb2NrY29udkdyYXkAQfDCEQsRcGl4QmxvY2tjb252QWNjdW0AQZDDEQsRYmxvY2tjb252QWNjdW1Mb3cAQbDDEQs3cGl4VW5zaGFycE1hc2tpbmdHcmF5RmFzdAAAAAAAAABwaXhVbnNoYXJwTWFza2luZ0dyYXkyRABB8MMRCyJmcGl4R2V0UmVmY291bnQAZnBpeENoYW5nZVJlZmNvdW50AEGgxBELEWZwaXhTZXREaW1lbnNpb25zAEHAxBELF3BpeFVuc2hhcnBNYXNraW5nR3JheTFEAEHgxBELFXBpeFVuc2hhcnBNYXNraW5nRmFzdABBgMURCyNwaXhTY2FsZUFyZWFNYXAAcGl4Q29udmVydFJHQlRvR3JheQBBsMURCyNwaXhDb252ZXJ0MTZUbzgAcGl4QWRkR3JheUNvbG9ybWFwOABB4MURCxFwaXhjbWFwQ29udmVydFRvOABBgMYRCyJwaXhjbWFwR2V0RGVwdGgAcGl4Q29udmVydDFUbzhDbWFwAEGwxhELEHBpeFNjYWxlQXJlYU1hcDIAQdDGEQsRcGl4Q29udmVydFRvOE9yMzIAQfDGEQsScGl4R2V0UkdCQ29tcG9uZW50AEGQxxELFnBpeEdldFJHQkNvbXBvbmVudENtYXAAQbDHEQsTcGl4Q29weVJHQkNvbXBvbmVudABB0McRCxJwaXhTY2FsZVJlc29sdXRpb24AQfDHEQsQcGl4YUNvbnZlcnRUb1BkZgBBkMgRCxBmb3BlbldyaXRlU3RyZWFtAEGwyBELFWNvbnZlcnRTZXBDaGFyc0luUGF0aABB0MgRCxRwaXhhQ29udmVydFRvUGRmRGF0YQBB8MgRCyhwdHJhR2V0TWF4SW5kZXgAcHRyYUNvbmNhdGVuYXRlUGRmVG9EYXRhAEGgyRELJGxfYnl0ZWFDb3B5RGF0YQBtYWtlVHJhaWxlclN0cmluZ1BkZgBB0MkRCxNzYXJyYXlUb1N0cmluZ1JhbmdlAEHwyRELIXNhcnJheUFkZFN0cmluZwBzYXJyYXlFeHRlbmRBcnJheQBBoMoRCxVhcnJheUZpbmRFYWNoU2VxdWVuY2UAQcDKEQsRYXJyYXlGaW5kU2VxdWVuY2UAQeDKEQsQbF9kbmFFeHRlbmRBcnJheQBBgMsRCxNsX2J5dGVhQXBwZW5kU3RyaW5nAEGgyxELGGxfYnl0ZWFFeHRlbmRBcnJheVRvU2l6ZQBBwMsRCxFsX2J5dGVhQXBwZW5kRGF0YQBB4MsRCxJsX2RuYURpZmZBZGpWYWx1ZXMAQYDMEQswZ2VuZXJhdGVQYWdlc09ialN0cmluZ1BkZgAAAAAAAABsX2RuYUdldFJlZmNvdW50AEHAzBELE2xfZG5hQ2hhbmdlUmVmY291bnQAQeDMEQsQbnVtYWFFeHRlbmRBcnJheQBBgM0RCxFudW1hUmVwbGFjZU51bWJlcgBBoM0RCxBudW1hTWFrZVNlcXVlbmNlAEHAzRELEHB0cmFDb21wYWN0QXJyYXkAQeDNEQsRbF9kbmFhRXh0ZW5kQXJyYXkAQYDOEQsncGFyc2VUcmFpbGVyUGRmAGxfYnl0ZWFGaW5kRWFjaFNlcXVlbmNlAEGwzhELMHNhcnJheUNyZWF0ZUxpbmVzRnJvbVN0cmluZwAAAAAAcHRyYUdldFB0clRvSXRlbQBB8M4RCxJwdHJhR2V0QWN0dWFsQ291bnQAQZDPEQsicHRyYUV4dGVuZEFycmF5AGxfYnl0ZWFJbml0RnJvbU1lbQBBwM8RCxNwaXhDb252ZXJ0VG9QZGZEYXRhAEHgzxELEXB0YUNoYW5nZVJlZmNvdW50AEGA0BELJWxfQ0lEYXRhRGVzdHJveQBnZW5lcmF0ZU91dHB1dERhdGFQZGYAQbDQEQs2Z2VuZXJhdGVDb2xvcm1hcFN0cmluZ3NQZGYAAAAAAABnZW5lcmF0ZVByZVhTdHJpbmdzUGRmAEHw0BELGGdlbmVyYXRlQ29udGVudFN0cmluZ1BkZgBBkNERCxVnZW5lcmF0ZVBhZ2VTdHJpbmdQZGYAQbDREQsXZ2VuZXJhdGVGaXhlZFN0cmluZ3NQZGYAQdDREQsUZ2VuZXJhdGVFc2NhcGVTdHJpbmcAQfDREQshcHRhRXh0ZW5kQXJyYXlzAHBpeEdlbmVyYXRlQ0lEYXRhAEGg0hELFHBpeEdlbmVyYXRlRmxhdGVEYXRhAEHA0hELMmJidWZmZXJEZXN0cm95QW5kU2F2ZURhdGEAAAAAAAAAYmJ1ZmZlckV4dGVuZEFycmF5AEGA0xELEHBpeEdldFJhc3RlckRhdGEAQaDTEQsTcGl4Y21hcENvbnZlcnRUb0hleABBwNMRCxQBAAAAVQAAADkcAADtXgkAsYQcAwBB4NMRCxhwaXhjbWFwU2VyaWFsaXplVG9NZW1vcnkAQYDUEQsRcGl4R2VuZXJhdGVHNERhdGEAQaDUEQsQbF9nZW5lcmF0ZUc0RGF0YQBBwNQRCxVleHRyYWN0RzREYXRhRnJvbUZpbGUAQeDUEQv3Gf4AAAABAAEABAAAAAUAAQCmqgcA/gAAAAEAAQADAAAABQABAKaqBwD/AAAAAQABAAMAAAAFAAEAsqoHAAABAAABAAEABAAAAAEAAADBqgcAAAEAAAEAAQADAAAAAQAAAMGqBwABAQAAAQABAAQAAAABAAEA37UHAAEBAAABAAEAAwAAAAEAAQDftQcAAgEAAP////8DAAAABgAAAMyqBwACAQAA/////wQAAAAGAAAAzKoHAAMBAAD//wEAAwAAAAcAAADz7AcAAwEAAP//AQAEAAAABwAAAPPsBwAGAQAAAQABAAMAAAAIAAAAYHcEAAYBAAABAAEABAAAAAgAAABgdwQABwEAAAEAAQADAAAACQABANqqBwAIAQAAAQABAAMAAAAAAAEA6KoHAAkBAAABAAEAAwAAAAAAAQDyqgcACgEAAAEAAQADAAAACgAAAP2qBwANAQAA/////wIAAABBAAEAB6sHAA4BAAD/////AgAAAEEAAQAUqwcADwEAAP////8CAAAAQQABACWrBwAQAQAA/////wIAAABBAAEAKqsHABEBAAD/////BAAAABkAAAAotgcAEQEAAP////8DAAAAGQAAACi2BwASAQAAAQABAAMAAAAPAAAAMKsHABUBAAABAAEAAwAAABAAAAA8qwcAFgEAAAEAAQAEAAAAEQAAAEyrBwAWAQAAAQABAAMAAAARAAAATKsHABcBAAD/////BAAAABgAAACwtwcAFwEAAP////8DAAAAGAAAALC3BwAYAQAA/v///wMAAAASAAEAWasHABkBAAD+////AwAAABMAAQBoqwcAGgEAAAEAAQAFAAAAAwABAHerBwAbAQAAAQABAAUAAAADAAEAg6sHABwBAAABAAEAAwAAABQAAACPqwcAHQEAAP////8CAAAAQQABAKOrBwAeAQAAAQABAAUAAAAEAAEArKsHAB8BAAABAAEABQAAAAQAAQC2qwcAIAEAAP////8EAAAAAAAAAMCrBwAhAQAA/////wQAAAAAAAAAzKsHACIBAAABAAEAAwAAAAAAAQDbqwcAIwEAAP////8DAAAAAAABAOyrBwAoAQAAAQABAAMAAAAWAAEA/qsHACkBAAACAAIAAwAAABcAAQANrAcALAEAAAEAAQADAAAAAAABABisBwAtAQAA/////wMAAAAsAAEAKqwHADEBAAD/////AgAAAEEAAQA7rAcAMgEAABQAFAACAAAAQQABAESsBwA7AQAA/////wIAAABBAAEATawHADwBAAD/////AgAAAEEAAQBUrAcAPgEAAAIAAgAFAAAAQQABAGGsBwA/AQAABgAGAAUAAABBAAEAbKwHAEABAAD/////AwAAABoAAQCCrAcAQQEAAAIAAgADAAAAJQABAIusBwBCAQAAAQABAAQAAAACAAAAmawHAEIBAAABAAEAAwAAAAIAAACZrAcAQwEAAAEAAQAEAAAAAgAAAKOsBwBDAQAAAQABAAMAAAACAAAAo6wHAEQBAAD//wEABAAAABkAAAActgcARQEAAP//AQAEAAAAGAAAAK6sBwBFAQAA//8BAAMAAAAYAAAArqwHAEoBAAD/////DQAAADEAAQG9rAcASgEAAP////8EAAAAMQABAb2sBwBMAQAAAQABAAMAAABBAAAAy+wHAE0BAAD/////AgAAAC4AAQHErAcATgEAAAEAAQADAAAAQQABAM2sBwBQAQAAAgACAAMAAABBAAAA2qwHAFABAAACAAIAAQAAAEEAAADarAcAUQEAAP////8CAAAAQQABAOOsBwBSAQAA/////wMAAAAfAAAB8awHAFIBAAD/////AQAAAB8AAAHxrAcAUwEAAP////8DAAAAIAAAAP6sBwBUAQAA/v///wAAAAAhAAEAC60HAFUBAAD+////AAAAACIAAQAbrQcAVwEAAP///f8BAAAAQQAAASutBwBYAQAAAQABAAkAAABBAAAANK0HAFgBAAABAAEACAAAAEEAAAA0rQcAWAEAAAEAAQAGAAAAQQAAADStBwBZAQAAAQABAAkAAABBAAAAQ60HAFkBAAABAAEACAAAAEEAAABDrQcAWQEAAAEAAQAGAAAAQQAAAEOtBwARAgAAAwADAAUAAABBAAAAUq0HABICAAACAAIAAwAAACcAAABkrQcAEwIAAAEAAQADAAAAKAAAAHWtBwAUAgAABgAGAAUAAAApAAEAhq0HABQCAAAGAAYABAAAACkAAQCGrQcAvAIAAP3//f8BAAAAQQAAAZqtBwDjgAAAAQABAAMAAAAfAAAApK0HAOSAAAD+////AwAAACAAAACtrQcA5YAAAAEAAQAEAAAAIwAAALatBwDlgAAAAQABAAMAAAAjAAAAtq0HAOaAAAABAAEABAAAACQAAADBrQcA5oAAAAEAAQADAAAAJAAAAMGtBwAUggAAAQABAAQAAABBAAEAy60HABWCAAABAAEABAAAAEEAAQDarQcAFoIAAP////8CAAAAQQABAOqtBwAXggAA/////wIAAABBAAEA+K0HABiCAAABAAEACwAAAEEAAQAJrgcAGYIAABAAEAALAAAAQQABAB6uBwAaggAAEAAQAAsAAABBAAEAMq4HAJiCAAD/////AgAAAEEAAQBGrgcAu4MAAP3//f8EAAAAQQAAAVCuBwBJhgAA/f/9/wEAAABBAAABXa4HAGmHAAABAAEABAAAAEEAAABnrgcAc4cAAP3//f8HAAAAQQAAAXWuBwAliAAAAQABAAQAAABBAAAAga4HAD+SAAABAAEADAAAAEEAAACOrgcABaAAAAEAAQAEAAAAQQAAAJauBwASxgAABAAEAAEAAABBAAAAsK4HABPGAAAEAAQAAQAAAEEAAAC7rgcAFMYAAP////8CAAAAQQABAM6uBwAVxgAA/////wIAAABBAAEA4K4HABXGAAD/////AQAAAEEAAQHgrgcAFsYAAP////8BAAAAQQAAAfWuBwAXxgAAAQABAAMAAABBAAAAA68HABjGAAD/////AwAAAEEAAAENrwcAGcYAAAIAAgADAAAAQQAAACCvBwAaxgAA/////wQAAABBAAABNK8HABrGAAD/////AwAAAEEAAAE0rwcAGsYAAP////8FAAAAQQAAATSvBwAbxgAA/////woAAABBAAABP68HABzGAAD/////CgAAAEEAAAFQrwcAHcYAAP7//v8EAAAAQQAAAGGvBwAdxgAA/v/+/wMAAABBAAAAYa8HAB7GAAACAAIABQAAAEEAAABsrwcAXMYAAAEAAQAFAAAAQQAAAHmvBwAfxgAAAgACAAQAAABBAAAAiq8HAB/GAAACAAIAAwAAAEEAAACKrwcAH8YAAAIAAgAFAAAAQQAAAIqvBwAgxgAAAgACAAQAAABBAAAAnK8HACDGAAACAAIAAwAAAEEAAACcrwcAIMYAAAIAAgAFAAAAQQAAAJyvBwAhxgAA/////woAAABBAAABrK8HACLGAAD/////CgAAAEEAAAG5rwcAI8YAAP////8KAAAAQQAAAcavBwAkxgAA/////woAAABBAAAB2a8HACXGAAD/////CgAAAEEAAAHsrwcAJsYAAP////8KAAAAQQAAAf2vBwAnxgAA/////wUAAABBAAABDrAHACjGAAD/////AwAAAEEAAAEcsAcAKMYAAP////8FAAAAQQAAARywBwApxgAAAgACAAUAAABBAAAAKrAHACrGAAABAAEACgAAAEEAAAA4sAcAK8YAAAEAAQAFAAAAQQAAAEmwBwAsxgAAAQABAAUAAABBAAAAV7AHAC3GAAABAAEABAAAAEEAAABpsAcALsYAAAEAAQAFAAAAQQAAAHmwBwAvxgAA/////wIAAABBAAEAjbAHADDGAAAEAAQABQAAAEEAAACgsAcAMcYAAAEAAQAF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6jp6uvoOTo7OHl6e3i5uru4+fr7+A0ODwxNTk9MjY6PjM3Oz8wdHh8cXV5fXJ2en5zd3t/cLS4vLG1ub2ytrq+s7e7v7D0+Pzx9fn98vb6/vP3+//wAQIDBAUGBwgJCgsMDQ4PABESExQVFhcYGRobHB0eHxAhIiMkJSYnKCkqKywtLi8gMTIzNDU2Nzg5Ojs8PT4/MEFCQ0RFRkdISUpLTE1OT0BRUlNUVVZXWFlaW1xdXl9QYWJjZGVmZ2hpamtsbW5vYHFyc3R1dnd4eXp7fH1+f3CBgoOEhYaHiImKi4yNjo+AkZKTlJWWl5iZmpucnZ6fkKGio6SlpqeoqaqrrK2ur6CxsrO0tba3uLm6u7y9vr+wwcLDxMXGx8jJysvMzc7PwNHS09TV1tfY2drb3N3e39Dh4uPk5ebn6Onq6+zt7u/g8fLz9PX29/j5+vv8/f7/9waXhFbmRpYW5CeXRlU3dhcABB4P4RCxJwaXhXcml0ZVN0cmVhbUpwZWcAQYD/EQsRcGl4V3JpdGVTdHJlYW1CbXAAQaD/EQsVcGl4Q2hvb3NlT3V0cHV0Rm9ybWF0AEHA/xELEmxfbWFrZVRlbXBGaWxlbmFtZQBB4P8RCyNtYWtlVGVtcERpcm5hbWUAcGl4R2VuZXJhdGVKcGVnRGF0YQBBkIASCxJsX2dlbmVyYXRlSnBlZ0RhdGEAQbCAEgsSZmdldEpwZWdSZXNvbHV0aW9uAEHQgBILKGZyZWFkSGVhZGVySnBlZwBzZWxlY3REZWZhdWx0UGRmRW5jb2RpbmcAQYCBEgsmcGl4UmVtb3ZlQm9yZGVyAHBpeFJlbW92ZUJvcmRlckdlbmVyYWwAQbCBEgsYcGl4U2hpZnRBbmRUcmFuc2ZlckFscGhhAEHQgRILIGJveGFXcml0ZVN0cmVhbQBwaXhTZXRSZXNvbHV0aW9uAEGAghILFHBpeGFHZXRQaXhEaW1lbnNpb25zAEGgghILFHBpeEFscGhhQmxlbmRVbmlmb3JtAEHAghILFHBpeEJsZW5kV2l0aEdyYXlNYXNrAEHgghILEHBpeENvbnZlcnQyNHRvMzIAQYCDEgsgcGl4Q29udmVydDhUbzMyAG1ha2VQaXhlbFN1bVRhYjgAQbCDEgsTcGl4QWRkQm9yZGVyR2VuZXJhbABB0IMSCxJwaXhFeHBhbmRSZXBsaWNhdGUAQfCDEgsYcGl4RXhwYW5kQmluYXJ5UmVwbGljYXRlAEGQhBILFXBpeEV4cGFuZEJpbmFyeVBvd2VyMgBBtIQSC3D//wAAAAD///////9tYWtlRXhwYW5kVGFiOHgAbWFrZUV4cGFuZFRhYjR4AG1ha2VFeHBhbmRUYWIyeABwaXhSZWR1Y2VSYW5rQmluYXJ5Q2FzY2FkZQAAAAAAAHBpeFJlZHVjZVJhbmtCaW5hcnkyAEGwhRILEm1ha2VTdWJzYW1wbGVUYWIyeABB0IUSCxFwaXhDbG9zZVNhZmVCcmljawBB8IUSCxdzZWxhRmluZE1heFRyYW5zbGF0aW9ucwBBkIYSCxBzZWxHZXRQYXJhbWV0ZXJzAEGwhhILEXByb2Nlc3NNb3JwaEFyZ3MxAEHQhhILEXByb2Nlc3NNb3JwaEFyZ3MyAEHwhhILEGNyZWF0ZTJkSW50QXJyYXkAQZCHEgshc2FycmF5R2V0U3RyaW5nAHNhcnJheUdldFJlZmNvdW50AEHAhxILFHNhcnJheUNoYW5nZVJlZmNvdW50AEHghxILEXNhcnJheVNwbGl0U3RyaW5nAEGAiBILE3BpeFNldE9yQ2xlYXJCb3JkZXIAQaCIEgsTcGl4R2V0R3JheUhpc3RvZ3JhbQBBwIgSCxZwaXhjbWFwQWRkQmxhY2tPcldoaXRlAEHgiBILF3BpeGNtYXBHZXRSYW5rSW50ZW5zaXR5AEGAiRILEG51bWFHZXRTb3J0SW5kZXgAQaCJEgsScGl4Y21hcEFkZE5ld0NvbG9yAEHAiRILE3BpeGNtYXBHZXRGcmVlQ291bnQAQeeJEgt9gAAAAMAAAADgAAAA8AAAAPgAAAD8AAAA/gAAAP8AAID/AADA/wAA4P8AAPD/AAD4/wAA/P8AAP7/AAD//wCA//8AwP//AOD//wDw//8A+P//APz//wD+//8A////gP///8D////g////8P////j////8/////v////////8AQfCKEgsmcGl4UmVuZGVyUHRhQXJiAHBpeGNtYXBBZGROZWFyZXN0Q29sb3IAQaCLEgsWcGl4Y21hcEdldE5lYXJlc3RJbmRleABBwIsSCxNnZW5lcmF0ZVB0YVdpZGVMaW5lAEHgixILM2dlbmVyYXRlUHRhTGluZQBib3hhU29ydEJ5SW5kZXgAbnVtYUdldEJpblNvcnRJbmRleABBoIwSCxNwaXhDb3VudFBpeGVsc0J5Um93AEHAjBILE3BpeENvdW50UGl4ZWxzSW5Sb3cAQeCMEgsScGl4U2V0QmxhY2tPcldoaXRlAEGAjRILEXBpeFJlYWRTdHJlYW1TcGl4AEGgjRILGHBpeERlc2VyaWFsaXplRnJvbU1lbW9yeQBBwI0SCzBwaXhjbWFwRGVzZXJpYWxpemVGcm9tTWVtb3J5AAAAAHBpeFJlYWRTdHJlYW1Qbm0AQYCOEgsVcG5tUmVhZE5leHRBc2NpaVZhbHVlAEGgjhILEXBubVJlYWROZXh0TnVtYmVyAEHAjhILEXBubVJlYWROZXh0U3RyaW5nAEHgjhILE3BubVNraXBDb21tZW50TGluZXMAQYCPEgsRcGl4UmVhZFN0cmVhbVRpZmYAQaCPEgsVcGl4UmVhZEZyb21UaWZmU3RyZWFtAEH0jxILLAEAAAD/////AAAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAEAAAD/////AEGwkBILFQEAAAAAAAAAAQAAAAEAAAAAAAAAAQBB1JASCwgBAAAA/////wBB5JASCw0BAAAAAAAAAAEAAAABAEH8kBILF/////9tYWtlUmV2ZXJzZUJ5dGVUYWI0AEGgkRILE21ha2VSZXZlcnNlQnl0ZVRhYjIAQcCREgsTbWFrZVJldmVyc2VCeXRlVGFiMQBB4JESCxNpbml0WUNiQ3JDb252ZXJzaW9uAEGAkhILFGluaXRDSUVMYWJDb252ZXJzaW9uAEGgkhILFHBpeEVuZGlhblR3b0J5dGVTd2FwAEHAkhILFFRJRkZBZHZhbmNlRGlyZWN0b3J5AEHgkhILEHBpeFJlYWRTdHJlYW1QbmcAQYCTEgs5gAAAAAgAAACIAAAAIgAAAKoAAABVAAAA/wAAAAAAAAAIAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAEHIkxILMQQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAgAAAAIAAAABAAAAAQAAAACAAAAAgAAAAEAQYSUEgsRBAAAAAAAAAACAAAAAAAAAAEAQaCUEgseEAAAACEAAABCAAAAhAAAABABAABIAgAAUAUAAPAPAEHQlBILIWZnZXRKcGVnQ29tbWVudABwaXhSZWFkU3RyZWFtSnBlZwBBgJUSCxBwaXhSZWFkU3RyZWFtQm1wAEGglRILEHBpeENvdW50Q29ubkNvbXAAQcCVEgsTcGl4RGlzdGFuY2VGdW5jdGlvbgBB4JUSCxNkaXN0YW5jZUZ1bmN0aW9uTG93AEGAlhILEmJtZk1ha2VBc2NpaVRhYmxlcwBBoJYSCxBwaXhhR2VuZXJhdGVGb250AEHAlhILEnBpeEdldFRleHRCYXNlbGluZQBB4JYSC6g9cGl4YUdlbmVyYXRlRm9udEZyb21TdHJpbmcAAAAAAABTVWtxQUNZRkFBQW1vSElDUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8va0ZjY2hnYzQ1QmdjNDVBZ2NneEJZNURZNURZNUFnY2dqa000NUE4R29jZ3hCQThNNDVCZkNHZ2NoaHpPUXhaQmlOZS9DRFFSVDZSUStrNFFWNkJIY2d2QkJqQ0MrS29TalFJN3dqai8xNkkrRVVQVHBWMHJJNExpbFZ0QWpqeVB1UjU4amczQ1JkNmRKa2NETUNqK3YvL3FsVnNNZ1FQVlk2dnVnaWg5THIvOFJDRitPcVVVSzZDL2ZIRlY5UlN0ZjhNdWxHMTBmS2NONlgrbFhPQmcrR2V4WDcxd3hTUENmNC8ra0UwdVI1ekUwcnRmQ0ZnM29JcDBSK0dGNURTbVFhTVMvb0cxeGVuMFgyd3loOFdYd29JNDZWUHQva05ZY2Y5SjRoL3BVSEIvLy8ySCt0K2xrQ0J5RGovcjlaQlhIMUJBdFVyN3UvSUVPUWFuclMwZUJ5TzE2dHBWYVNXdGFFVnNOaUc2NldyQmdnMDV3TTRiQ1lOV0RDV0lpRENFUjZIR2hFUkVSRVIzWkhCZlhqYVNRN2lPUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vK1FKZ0s5NURJRFJaQWpDRGNjZ1JNaG40ZzV5QzlDRDBJTCtReGh1SWZDQ1lRVEM0SUpoQml5TEJCN0o0UVg0Z3ZRZ3h4QmVoQml5R0RrUGhka0V3MWtQWlk1Y0VIY2s1QklKT1FjOWFJK3dqRTdETDdSZHNNdTJHWG9aZWhHRFlhRENEUWFEU0NEUWRJT0dFRVhiREx6Q0x0aGw1b2p6a2VMME5NSmhOTmJWb0o2a2NsWHVnZ3lPR2Z1Z253M3Z1Z3YvMHUrOUlON3BCdmRKLy9iclQzVnRkTHlCNE54eUdzT1BSbnY5Ujd4eDMvOUwrRVUvMy9mNGpqL3QrM1RkRHZrRlp5QzdoWWRLa0NDS0hRSTc2U1cvcEQvNlhDS2RBaW4yOUw5TDYvOWVFVU9yRDBrdjhJSU1OS2txL2ovekQ1aCtQNHIvLzk5TGZCS2NEUjl1dEs2Mk5MeEVJSWhubUdHbHBlazNMei9qajVjdi91bDdmK0V2aW1ILy8vMGw2Q0VOcGZySHQveTlsN2tyLzRSVC9mN2YrUHdSVGtHNy90cGF2MjZYdHJ4b1ZJNS92U3h4c1AvN2Z1bDdmZGQxdHYvN0ZSb2ovL0RMZ1FaZ1FDRmhsWWxmdjFreDkvLzI4bVB4LzdydXUzL3Q5SzNwRWgvSUt6a0YzRExnMkJFTkR0QnI5Smg0UzEySC8rMysxN0d3d2x0cGJaQngwdTB1bnIwdjlJTWpockJZWXBPMEtabURpa01Kc1lUQ0RDZUUyR2hwNkRUZGlFRTJLQ2RvOEdjTmozcEpzSm9mamlJaUlpSWlJaUk0aUlpSWlJaGhDSWlJaUlpSXIxU013eVFiT2tFaUdRQ3ZkNGlJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vK1FWbzdJRURrR3djaHBPUVZuSWEwRU5LQ0doeUM3a0hjaG9jZ1pzY2huSElNUHRLazdvSVA3dWx2NmY5WWo1RElEYUgvM2dqanIvLy8rckk0YWlJRVhuZ2dSWkJmQ0JFV1FYc29mS2dndTVERDVZK1F3NVVIZ2hpQ29JRVlRdzVWa0NNSU81VGtGN3NoaHpPUXhaNElKWnh5M0lPNW5JSlo0SVAvLzFpaVBPR2QwUitpUFFnUjNUUUlJWFozL1M3QkJuZXp1aTg3TU9pUGJLSFJIcWZ0Tk5YdlRUVWp5LzlKa2NGalRwT2s5TnNLbUZUdStFdHBwdzA2VnRNamhoTzBPTENkM1MrclNkSVV2eUREK0loYThmUS8vK0svLzMvK0QvdmJRUlQ3ZDlMc2poZ0k3bkg4SXZmL2x3MGJTLzRSVC8vLy83Zi8vcGZxK2xocjYvdi9ZZi90Ly8zLytEL3NPMk5OaHBmaVA2NlhhdDhMLzIvLzNTMHJYSU1EL3J2VUVkOUlzZi80TXA1d0NEZ1lCbE96Z08wZkIzYWVtMm1tbllUdGlwd0NBWlE2RG5BWERneW5hcHdrMjBoLytJaUlpSXk5RVJ4RVJFUkVaSERMaUlpSWlJampqNmtOV2RQLy9xUC9wTWpocThiU1h3b2pzR2tFd21saUlpUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FRQVE0QUFBRURBQUVBQUFDU0F3QUFBUUVEQUFFQUFBQTJBZ0FBQWdFREFBRUFBQUFCQUFBQUF3RURBQUVBQUFBRUFBQUFCZ0VEQUFFQUFBQUJBQUFBRVFFRUFBRUFBQUFJQUFBQUVnRURBQUVBQUFBQkFBQUFGUUVEQUFFQUFBQUJBQUFBRmdFREFBRUFBQUEyQWdBQUZ3RUVBQUVBQUFBZUJRQUFHZ0VGQUFFQUFBRFVCUUFBR3dFRkFBRUFBQURjQlFBQUhBRURBQUVBQUFBQkFBQUFLQUVEQUFFQUFBQUNBQUFBQUFBQUFBQUF3QklBQUFRQUFBREFFZ0FBQkFBPQAAAABTVWtxQU1vR0FBQW1vSFZmLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0laQVVmc2dlQmR5R2R5RGprTWdJK1FQS0NHSU81QWh6T2d5R2lDTWNnWXRVcklLSG9ob3doc2NoczRobndnWGNnUlFoc2dndVFRWHdob3Y2L1FZUUk3cWdSVVVrMlFJZlZGNWhRbW11Z3FDTVRDQkhqLzlGOGo5SnVrbldtN3JTYkNCRlBMdG91MnNqaGxCU09La0UzUWYzK2t2OWZwY01RYVhZOVBUd1JUNld2cFgvMHYxOWFWYmVRMEQ2WDcrdi9YLy9RSVFmajZ4U1M0UUxTM3h4NjlJVnRML0VReThDdmJTcWhxNEk3Ly9wSmVWblREci8rTmlsb3VmajlmcEpMeGFsWXJEdGRyMkRHay9ldGY2Q0Rya2R1elFrdzIxL3cycHJSZllaY05iajEra1FNUXVMMDNoRjVzUVJUK0NFTU1qN3BBanVrLzVEVkRJTmZyK2s5YjA2U3RqK0dYZ1c2cE45L2tOc2RML1hRZy8rblN4LzB2MjB2eFN2MHYvUzMveURBLzE5c1YvNldrUTBENURZLzYrbGtEeWYvU1g5aDY1QlJCRFRkSi9TdExJTHVrMmxXa2wzOTlVMmt3MFRocGEwcjdTMFVBN1MyMHJTVnRKTC9pR3JGTVNQSnYrcVlvRWFBK0tCQTRwaWttS0NXSWlEVkNJTmFRMEtpSWlJaUlvRmhvUmZTb2RiUzF4YnBJZDBoeDhmLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vSUhNRm5NZ1RBMGh5R1FHNDVETGNnMGprUWZ5R1FETnhCdjVETGNnM1FRMkVFSERJRWFFSERJYURrTVRKekllWkJKa0VtVHdoNWtObUVQaEI3SVRDR2laRE9naHNtUTBJSWJKaEhVRU16UEFoOGpZT2VJdVJzRVpGSENaRUhCRGhkb3d3MURMbTBiT0dYR3daY2NHWEhDTURnd1FNRURCQXdRTUVpNFp3UWRBZzJHRUViWVlaYzJFYllZWmN3d2pCNWRtRGd3UU1JTUpvTmJRTnFIdVJ4RjZJN1lRSU4rNkJCckRmK0VFLy9wZjNvRUc5dEFnM3ZDOS8vMTI2YlFXbFhoMGd5T0RkK2w3Zlh3di8wdTFnaW8wbTkwbTkxNng5dXU2MG5YWHlCNEc3a050eDZKd1U5b0VVLzQ5NDRxUC9wY0VVOEVVKzM3ZjdmNGovcTZxMnRwRFhoWWFTaEJCRGVyMVhmSkQ1SWRMLzB2dGY5TDlMLy9lcmdpbjlKdWt2SUhrNUJpQWdndytrbjFmU3IvLy85TDNyMi9mUzMwb2Y5cjFleFdxWHA0UVFZYVdsOVhIL2EydkgrbDkvdC82WDU4bWdOLy9yMDdkSmUwNFFSRFlHR0dndnBWZVhiL2pqNWdUOFg3cjdmK0NYNkNERC9icDZiWFkveEVJSVF3MTZYcThOL3k1WmN2VC9McC9kZTMvaisyUU1kL3IvcDBsNkNEZGYwaDczLy9aRjcvdzM3cjk5L2Z1RC92VnE5U1AzUzlocGQrbExqLzY0NDRhLzl2N3IzOUwwdHQvN1hxOWIwdkRESWJBd1FRdTJFbEtIcS9mcjNmLzIvZGZiMzkvYi9WNmpqU2IxSW8vaGhpRUZiRUVDRktyL2V1UlIrLy8yOGl2eFh0OTEzWFpCY2YvamFldnI4Z2VUa0NIRERDQ0lGM2JFazlYcE42WDdmLzdmNyt4dHBiYVcrbDJsOUszcGZwcUdHRUVyQmhKZkNUQms0d2wrd2YvN2Y5ZnNNSmJhN2NNSmJEU2E5SnZTWDJzUEN3eENRWVFhRkJpa0lRUXdRTU1ZSUdDQmdnZUNCc05DZ2czQ0JoQnVHS0JBMktCQTI0aEFnYkZkT2xZSUdoK05DSWlJaUlpSWlJNGlJaUloeEVHQ0VSRVJFUkVSOUxHSGZWQkYwVGd0ZzBkU0JvRFRZaytoNDBQaVAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy81QTg4N0lIa09RYkxJRThFRmFDR3ZCQm1zZ29zZ2FEY2czSEliSHdhSWJJdlZWSVpUa0dIVlV0djlJT0hSSEJVK0RnNURKQngvL1FSVHI2OWZyLyszWCtJK3YvcGEvL3YvOU4wUTJYbnNoc3Noc2pJYU15R2pNaGxPUUlIeWNaQWh5RFVPUXkrSVp4eldRVVdVT1FZYzdrR015R2R5VGtINDFrSDRzY25aQjRKd1F4aHJJWXAvNjRoRjU2RENMekJGNGFMelFORjgrRHl1Q2d1dUZLdy9BcFhJdk1GVENJN0ZoVTBYbWdZVUwvYXAwdG93My82VGROMlhDVHBCMHJWSnFKSG1IRDZCWWJOaG9ERWp6U2JERExoSm9ObkhTZFE0Y01Kb01KUTBEcEJwaFZDLy94OXYvU2NNRWt3cWY5THBwNmRKdW0xOGNRd1gzVjlYWFd2L3BOOU9rS1gvOWY2WDExL1RwZFgrNnVtckRkUlNTMnlCR0Z2NGlRWnUvOUQvLzRyLy9mLzU4Q1AzWEkvcDdwTDlGOXBlRVl2L3pBRjhOTC9oRlAvLy8vdC91dHJydXRONlNRWXIwRi8vN0ZmKzMvLy8vZzMvMTFkSitsK0kvK2xkN2V5NEtQKzMvL2ZwWDVET09ELzNzYjhqKzZYLzllbjErdi9iLy9kTHIvL1Z1bzByWTBpYi8vYXBoS0dZZHRBaW5iTGZST0MvL1lmLzhOS0dFbXd2YVVPd3Z0SzNTWC83RFBjVUdOamhzVUVIaEJ3d2c4SnVFR0VHRUhEQ0RoaGlvcGlDS2NJT0tlSkhUZDhKTnVoLytJaUlpSXN1YkVSeEVSRVJFWmNOS0lpSWlJaU5EaitFbi9YL0liUWRmLytDai85TnBkNlNYcTNXTERTcndTRWRpZ2tFR0NEckVSRWYvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vNEFJQUlBQTRBQUFFREFBRUFBQUJCQkFBQUFRRURBQUVBQUFBNkFnQUFBZ0VEQUFFQUFBQUJBQUFBQXdFREFBRUFBQUFFQUFBQUJnRURBQUVBQUFBQkFBQUFFUUVFQUFFQUFBQUlBQUFBRWdFREFBRUFBQUFCQUFBQUZRRURBQUVBQUFBQkFBQUFGZ0VEQUFFQUFBQTZBZ0FBRndFRUFBRUFBQURCQmdBQUdnRUZBQUVBQUFCNEJ3QUFHd0VGQUFFQUFBQ0FCd0FBSEFFREFBRUFBQUFCQUFBQUtBRURBQUVBQUFBQ0FBQUFBQUFBQUFBQXdCSUFBQVFBQUFEQUVnQUFCQUE9AAAAAFNVa3FBTElJQUFBbW9IY0dmLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8va01nTXNmVWdlRGFPUUxqa0hISVpBTlQ1QThLNUFpRFFRME9XN2tNcUNFSEladGhOSmtjTXd1R1FHOGczNGdZY2dvOGdvNGhtd1FJRElHSUlMMUVHT0lLTzEvd1JtR2N2QnFFWDNTM2RCR0poVXdtbFFTcEdJTkYyLzljSXhrZmE5VStrMlEyT2xwTmdxYU56V3dnV2syazMzVmVsdWsycTZTVGFkSlUyakhsemNKdFpjR2xTNFJKT3Q5ZjlmOUw2MkdNdyt2QzBucDVIWFMvMG4vNlZmOWRhcHd4cGRqN3JyNldsL2YvL3Y5ZEpMYWtHNzZYL1hYcGYvL3YvajYya2w0STJpNFpWZDhjYVg4VXJTL3hFZ3ZWN2FWTVVQMTlmNjE1K1M3LzZCbUdYQmg3MHRLMjFldjYwbHhlZmttR2xhLzhXeFZaTTlZMzEvUkRZT0VsNXVhcHBNVi8xc0dLaE5mWVgvMUVPdUVIaVI1N0RiWGZVTU9pZUl4d1pnTnZqcGZySTdhOVhRZEpGOXNTT3YrUUwrcUx6U3QvLzlJVzZ4NnRVZzIxK1EycXBIblMzVGY1QnRUa05TaS8wNjcxMHJZcGVETU11Qmk2cE5xMytRWlg2L1MwSjhESGRVbjhmK3YzUy9GYjlMLzYzcjhobkg5ZjI2L3JTMHNnWGo5ZlhwVit2dVA5WDlJZ29meUREMWVsNldRUENSL3BMK3c3WElaVUVHeDY2MG5TM1YwdlNydi9xbTBtMlVCcjYxVDdTMGRBZDEzWFNUZEJMK3IwbDZZWVgrdEp0SzFoaEs3Q1REQ1N0aEpMcGVJcElNVUdKSGFmOXJZb2hzUXNRaUJoREVJTVF0aUVDQ3hFU0NqS0VTS1BkRFFxSWlJaUlpZ3NHaEYxV2gxNnBmYlNTckZ0S2gzb2RrY0hXSS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy81QTdBeWZrRHFHMjY1REpCUnhES21RYW5JWldwREtESU9uSWFCaEIwNUJRR1F3Z2tjZ2lDQ0lJSWdseEJFRUcva0dQSUo1RHpJTjZFRytwREtvUTJha0RGQ0dCQkJEa2RDQ1VJNWtFOGl1UmZJUHhDd0NaQkhJWUdNRmhNSTJ3OE00MkNPRkJuQ0RJTjdKV1F6MlNzRWNLUXp3REJFTkVFTmtFTmtRUkRSQU53UU5nd1FSdGhobkRZUnRoZ3paaGhHRzVjalpRWUlHWERPQ0JoTllZV2syck1CTmN1MkVDQmhwdEJ0QWdkb0dIUVBRZEZ3VHYrbDZUNFFJR0cwR3dpNFVPZzJnZzA3NzdkTlhnMmdnOVFxK20wZzM3cGVHLzhKZi9wZDk2Q2I3U2I5Zi8vMXB2YlMwdlYwclQ5TDMvMHYvMHZXQ0tqVjkxZmRKLy9kSy8wbjFYeDZlWFgwdnZIR3YvMHVYVGtkZTlKdjBtLy82Ky9UMjByU2V2SVpDZ2dyeHBFclBGcFgrTzM2ai82Qy9YMi8vNy9FY2Y5NWRVblNkSVV2Q3NOTENDQ0k2dnZwTCtSUjhpai8vcGUzKytsZnBldisybDFmZmRKZVFQQ09RME9FRXc5VW42K3EzLzB2L1MvUzl2L1MvcS8vdGZZcDFTOU5NSUlNTktrcTF1d1MvLy8vMHZiL2I5K3Q5S1pnMGZkTDNXbTB2L0NDREJwZGZ2Ri93d3NNTHgvcGZwZmYrRXZ6K3lnTXI5K2xkUGRKZTAwRUVRYnB3dzB0VjBybURmOGNmTmhmeEQ5LzIvOC9mb0V3Ly9mL1kwdkVRUVFndzYrbDN3Yi9tQjVnZm9QOHduOXBlLytQNGJCdjkwdmZ2UzlBZzJsMTBsZmYrKy8vN2Z2KzMvMytRYXUvdnRLMGtYVGFYNmJxOWVQZTlML3NoWi8rMzlwZmZmL3RoLzNTOS8rdmhoTC9Ta2NKLy9ISEJyLzIvZjl2MHZTMjMvdmRMMG05THd3d2dtUndiMjBSMVNXL2YvZC8vYiswdmZmMi9iLzNyNzBtOUx3d3lEZE9FRU5zSHBISDMrOUxJVWZ2Lzl2SVVmZjl2dXZyeUdjZjlkWTJLWDFJVWZ3WU1RZ25GaWswcjFiMHYyLy8yKytLKzl0TGJYYnV1K091bTlMOGdlRWNob2dNTUVFUXpYYkZCYjlONld2Zi83ZjcreHZYMXQ2K2swK2svWDZhaGhoQWsyR2t0NlRaRGo0Uy9iLy9iMHY5MkdFdHRMYjB0Z3d2VFMzcEwvUWJRV0dEQkw3Q1FZTUZUQ1ZoYkRCcmZmYmFZVzJyM1lZU3RoaEs3Z3dndUtyMG05SmZhdzhKb01RZ1FZSU1JUWd4Q1FoQWhrSFFHSVJCaEJJNUJFWkJoQVlhR0NCNElHUVNtR0lSQnVnTVFpR2hERGlpQ2c0WVQrRW9aRE9oRDhhRVJFUkVSRVJFUnhFUkVSRGlJTUlSRVJFUkVSSDF4YitxUWZwSkJGMlVBWmhuOUVEVUZUS0I3eG9RWVNCN1Fqai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9rRHhmN0lIZ1FPUVZiSUgxa0NTeUNyWkE4Y0VNeUNCcUhjZ1ljZ1lmSUhoN0lGNFRDaFZDa00xeUdod29WZStsb0hCd2k4Z2ROTU9IUzIvdEw2SC95R1NDa1AvNkJGT3ZydE5lRS8vU3Y5Y1Irdi9wMS8vLy9XNi8vLy9wMXpaa05uWkF2MmJDRGNjaHNIeUxHUTJEbXduWkF1T2JDQmZpQmNjM0VHb2Nob0hOQkFqc2czSElRY2d1T1NITEhMSElKTW01TGlDN2tNb2NtT1dPV09RWGNpdi82MkpEWlBRWkJ2NURZaEY1ejRaeTh5cjB5REdFR00xeURHSm9NZ3h5WVJpRElFWW1RYm9JWXhORjJIUGc4bGthSDZoTWpoRGpRLy9wMFhiMFhtRVltRVljSk5oTkpqMFhuK2d0VVhxTDNSZWFRYlZGNW91MXFrNFRWUXdnWVFZV0RDRG9JTUlNS1hILzliU2JpZzZDRG9JT2x5T2pBYkZWdGh3K2dzRzRxd2JiU3NHS0RZUVFjTVNQSlJTQndkNmRQYlNmcEwvNmY2dGRYcXgxWVZmNlhUQ2V2ZW0xNjhHWURSOWZTdXRMUy85V3hldXFyVi85L3dsLzdwWFhYUS85MXA3cFhqU1c1RFJoRkgrc0x1b3IvLy82Qy8vMzNYNFA5MWJsMXBqZEpLdGhvdkJyNGlRUEtuL3gvWC9GLy8vLzdOQXovdjB0YXZXOWFZYVhoRzMvK1lETTJsL3pDZi8vLyszKzllM1R2U1RlZ2xERmVndi8vYlMvOXYvLyt2dzMvcTNXdDZwZjBQcGZWMyt4WC90Ly8zNjM1RE52OXV0YjBSOXQxWDQvK3ZyZXlPR1ovMi8vK3V2eUd4My8xNmVsdlZJakgvL1hwMy9YLzIvLzNYMy8vV0tqalNlTmIvKzEwcnRXeU1mWC8yLy83cTByWDZ1MWQya3JhU3IvM1JkWWFURExkc0l2Mkd2SkFaLyt3Ly8yR0VyQ0NiQ0xyMkVvTmlSMTYxYjBsLzlnMEhJNkZCaW1LZzJLQ0IyQ0J3d1FQQkEyd1FNRURCQTRNRURoaGlGRkJpc0VUZ3dJVFRDZzJ2Q1REYVEvL0VSRVJFUlpnMklqaUlpSWlJekFhOFJFUkVSRWNjZndnZy85ZjZYK3YrUVpLLy8vMHgvK20wc0YwcTlXMHNXNlh5R1NHa09rSTdZU3I0clloQWtFR0NEckZoQ0k0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vOEFFQUVEZ0FBQVFNQUFRQUFBUDhFQUFBQkFRTUFBUUFBQUZVQ0FBQUNBUU1BQVFBQUFBRUFBQUFEQVFNQUFRQUFBQVFBQUFBR0FRTUFBUUFBQUFFQUFBQVJBUVFBQVFBQUFBZ0FBQUFTQVFNQUFRQUFBQUVBQUFBVkFRTUFBUUFBQUFFQUFBQVdBUU1BQVFBQUFGVUNBQUFYQVFRQUFRQUFBS29JQUFBYUFRVUFBUUFBQUdBSkFBQWJBUVVBQVFBQUFHZ0pBQUFjQVFNQUFRQUFBQUVBQUFBb0FRTUFBUUFBQUFJQUFBQUFBQUFBQUFEQUVnQUFCQUFBQU1BU0FBQUVBQT09AEGQ1BIL5B1TVWtxQUd3S0FBQW1vRlFHei8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzVESUJvY2daZzBQa0R3eTNKdmtGZHlCNFFjaGxEa0dCN3lCNU9uWkJRNUo4aG1ja1EwckJOVXlEU09rUVduSVpYa01xWkJyZ2hzMElORGtNL2tka0Rmc0xxcWhHWUtERUhwMGtHMEhrRkV3b1FhYXFDY1dRenpDTU1QWGZ3ZzBtMGdpODlLeUNnZWtrWW1DcHBwWVFLZ2pjMG0vLzBZeTgvMTZWdFAwRUd3cU50bzIydWd0QkJ0SnYydnBMZEp0SkoxU2JUcEpLd2pub09nZzJzd0dtRkxnaVN0YjMrbFhmLzY5djFiWUxwdXVSMXBMVlgvL1hyL1M2MG13WW9yS1hIL2RmUzY5Si8ydlgvOVV2WXlHVTY5OVBYWHBhLzMvLzQrbDFTMkVjWHF2WEhYMXFyLzhSSU1DUDE3U1Nwd2dnbnF2ajFYcENscGYxKzNTV2xTMmwvdjZTK2J0YnIvSUtia252NjJLSDJGZWwvVkplRUdsVERTLzFXOXRKS2lHTDhmLzFTcmk4M3F4VnIvc1EySzFKQnBYZWwvUkF1T0ZYbTI5T24vL1lNVWsvZGhmK3FFT3VFSFF0V0cydit3OUdFd1p1WGoxL1V1dzE2Ym56YVNEdEYxL3diU0krU2R4L1g5SVE2V1BDYjBZYllyMzhNdnZDTVRWdjhncWx5R3NSL3BYL3Vra0hhUzhncWlNT2trMmxmL3BmcE9sdlhTVFlhLzkvYjIveUJPOWY5Y1RRTXp1dTQvUkJTZ25IcEplMmwrS1g2V3Y2U1Qxai8vN2YvMmxwZGYvcGZrTThlbCt4VnIwL3BFTW9mSVpWMTYrdi8vOXRkYS9wZFpBaDF2UytzZ2U0LzBrdjNmeUdiQkJWZXV0SzEyNmRMdEpMdXErdHRKdUgrRlRWL1NPUjE5ZEpQU1dxcjZTWDJneXgrdXI3UzBMYlMyMG4vb0pmOFBTMjBtd2plTnRmMG5vSU5ZTUpCQnd3azJrazJrRUZ0ZXhGSkJpRXhDWVhYVFd3d2tDQnJFSUVEaW1HRUVyRENRSUxFUkJnc1F3Z2FmRlJTREVJUkRDRU1JTVVJWWhRV1F5QWFIRVJiU3JFUkVSLzBxOTB0ZnVrcXhiV2gzb2R0TGJTeEgvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8veUJURE1wa0ZzRmh5QjRZT1F5QWJvSUxZRkJ5QjRoeUI0dmtNZ0NJSzRpT1FzRldRMDdJWnh5QkVlUXlRMVBJTk5MSVppY0VESU1lV2Nnb0JrRnk0SUdRSUlJb1pCeUNEaGtISUlua01FRURGQ0d5aEJKa0Z6Z2d5RGNZQ0RJTnhnUU1nd29JSUdSRGtFSUlwME8wTWhqcklQeVpEQ2owR0NENGFPRUhFTjNDUEREYURUUWFhcHA2YndqeEJ5YzJFZUlPVG1HRWNidzFUVFQ3cHBKMVU0QjQ2YVBHR21RYWJKZUVDSUpaRFBaRW1ETmhJTTJKUUlIQmdnd1FNRURCQXdTQkF3UU5vNERka0NIUUlHeUNpdzJnUU5rRkZodEJCNWNad1dHQ0lNT0dDQmhCZ2xCZ2dkQkE2VTJDYTVjMkViRHZ3YlNheUNaaDhPZ2crLzZDMzI5SnZiU2IzU0Q3NzcvcTNUZFFxOUlOb0lOL29MMi85Si8vUzdXOUlOOXBCdnYvL3RKNzIwbTB0TC9TYlQzWDIvOUwvOUwrWFhTdmRLOTB2Ly8xcDBuclMrbnB1WFgwdmI2NlgvOUxsMDE3NmIvYi8vL2V1KysxL3lHUXh5QndPT2s2MysrK09OVi82WDh1dTNyK2wvaU9QMnQ2dWs5Q2w0V0hxUjhlN3I2U0gvVWYvUysxOXYzL2YvOTZkR0Y3cTBrdkN3MHFDQkFuNnZwZmYvL3BlOWUzOS8zcFgvYTlYVGFUcWw1QTl3UTJRRW1IV2dtS2VyNlg4aVBrUjEvOUw3WDMwdlNTLy8vOTkxYnBMMVRDQ0RCcEt2NzZWYi85ZitsNzE5Ky9XK2xEL2VyWFdLMHY3d2dndzBxUzlLNFlJTC8vLy9RWDMrMy9wZnBNb0JxL2E5WFRUYXBmV0NDSUZ5NE1OTDY5NGcvNDQrUDlmZEwyLzhKZm5tem9HWjk2ZFgrNlM5Mmdnc01OTFM5Ym15RC8vL2kvdjl2L1AvNkJNUCsvcjIyS1M4UkNCQ0dHbCt0ZURmODRQT0Q4MkRINzkxLy81SERMK0d3Mys2L2EvWGhCQmhwZGRLKy85UFQvL043L3IyLzhiOXlHcFQvcTFlazJsOUJCdXZTNnZ1OWYreUR1UmovKzM5cjdmZi8yRC8ycjE2TUxwZlQ5K2toNy9YL3hmL3QrOWUzOWZXMi83MXEycVY2WHNNTCtxVi8vamprQ00vOWgvYSszNit1Mi8vOWRVM3BlR0RDQ2JkdGFsdy8yLzkzLzl2M3IvZjIvYi8yMHI3MWZyd3d5R1dYQkJWYmFMOEpLLytsOS8vdC9hKzMzWDEvLzdHK2xldmhoNFFJWFlxS05GWDdmV1FSOXYvOXZJTys5ZTN1dTJsdGtORC9ySFVhVGVrUXcvaGhpRUUySXBLK2w2Ly8vN2VseCszM1grMzEzVFhYNlg1QTl1UVVRR0dFRVFhNHRLcjl2Uy9iLy9iL2E5amJTMjB0dlgxNmRKdlMvVENoZ3dnazJHa3I2VERJTGo0Uy9ZZi83Zi8rMmx0cGZkYmFYNlRmcjkwR3dndHNKZDRKTmhjRXRMYi8vYi9yM1lhV3cwdHUwdURCSnA5ZlNYL0I0V0dlTkJOTkNFR1prZ2hDQ0dFR0dabENEQ0RDRHdnMkdoaE4wR0UzWVlKQkJzTUVFRUd3NFlKQkJzVjAwa3cwR2grMVFlRTB4Q0NEQkJoQk1Ra0NDaEJzUWdnd1FZUWVFRzJGQkE4SUdDQnVHSVFRWVlvSU51SVFJTnI4SldDQnI0cUlpRENFUkJoQ0lneWdEdzFJaUl0Q0xoZ2hCZ2hFR0VJTUpyeEVSK2hFYUVSRGlJaVBwYUIvMGcvU0lHd0NjZEpGek9nR2dyNmpFR3ZHZ2FtZ0gyRUw0ai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8rUVA2RURvYitRUEJvSElFbGtEdzlrQ3l5QkpCQThGN0lOVmtEWURFWkRManlHVkNaQlhtQ3FRWlBJYVVFTkVBb0tsdDVBOHNUU2ZWMDAvUzIvNkJ3ZEYzRCtEZy8vcHI2US8rUVd3YmovL01LdnJ0TmVDLzlKTjEvaVAvLyt2ci8vK2szLy8vLzlyLy8vK2s5WmVFQ3pQeStJWlk1QnVQNUF1T1hoSGhES0hMNGd0T1h4Qm93c2NnM0hMaklHQnlISElHOUNNY2krUXp2LyszQkVNeWVFR1FNVUNHUUx6eUJpbWd3VWdSbVJld1ZOQmdxRElaWGdxWVFzRlRJRVV5R3pBVWd1Y3VpcHBnbVJMSU9jdWhERlgvcFloUFRDaEdIQ056Uk9CQnVLQVhwZ29Mb0xCVTB3Vk1Jd3d3Vk5Gemdxb3cyaWNFZ29ZSUdDREJZTUswRUdFRENseFAvN1lSdHZsMjBZT2dnNkNEWVZCTmFNWGZRWG92TkdLNk1VSUp0MFhiQ1RXcUNEaFgzMzZCNmFwSkwvMHVnM2JwQjBuU3NHYkRaWnNOZ2hCc0hCOUJZTmhpRTJHSVFiU2JCc05vSndZa2VyZ3pZTjRQMXA5cFhYWC9xM3ZUYVdycjZWMS9wZjlhdDAydlRYL3Q3ZlRhVCtsLzlZL3JyMDM3MC82WFRUMC9mcjQ0LzZXbnV1a0twZGtGRmtLL3BOKzlEV3YvLzZDLy9TL3JxLzcrWFZKdW05S3QwRFh4RUY5Vi8vLzlmLzk5MStaZ1krNlRmOFZyUVN3dzBZd2FYa0R3T0VmL0gzWC9ILy8vL3NILytrMmsxZEpONlNRWXJ3amovL05nMWRML20wLy8vLzloL3QxL3R2cE42U1FhOUF2Ly9ldi9iLy8vL3czL3JwTjZla3JlbFErdi8vc01KZiszLy8vWDROLzN0K2x0Nlg0K2w2VjMzaGlGLzdmLzkrdCtEL3VscjZMNzBxLy8vLytYQnAvN2YvL1hYNUJRTy85L1RkSk52cEVSLy8xNmQxZlMvOXYvOTE5Ly8xZW1PTks3MXIvLzBydGIxLzloLy8zV2xhL1hySFdyeFNTLy9ZUmRicHNpanRvdXJaRmZULzl2LzkrMEUydnJaM2hvdXJXMGsyNlgvN2FXZ3dnbUdGWWFWc01KSnpXQkR0UFRZYWFZVHRPMjBvYVRZUmhVR25VVXhWNzZWMGtGLzlpb09YUXBpZ3hVTmlnZ2JZUU9HRUR3ZzNDQmdnd2c0TUlIRFlhQ2ltSVdFSERDQ2FhaDlPckRlUC8yRU5Cb05NSVF3aGJFUnhrY01nWXFiUVRDeERFSnBvWDhSb2NmeEVSRVVZRTRqaU9JaUlqLzJFbi9yL0lHNWRKLzEvLy8vL0g2OUp0TElIOU5KZjNTNnVxOUlTaDBDeGRMOGd0NDZpTzJrbDZGYllTQ1FJTUlIV0dJU0NUQ2JXSWlJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FRQVE0QUFBRURBQUVBQUFDb0JRQUFBUUVEQUFFQUFBQkNBZ0FBQWdFREFBRUFBQUFCQUFBQUF3RURBQUVBQUFBRUFBQUFCZ0VEQUFFQUFBQUJBQUFBRVFFRUFBRUFBQUFJQUFBQUVnRURBQUVBQUFBQkFBQUFGUUVEQUFFQUFBQUJBQUFBRmdFREFBRUFBQUJDQWdBQUZ3RUVBQUVBQUFCa0NnQUFHZ0VGQUFFQUFBQWFDd0FBR3dFRkFBRUFBQUFpQ3dBQUhBRURBQUVBQUFBQkFBQUFLQUVEQUFFQUFBQUNBQUFBQUFBQUFBQUF3QklBQUFRQUFBREFFZ0FBQkFBPQBBgPISC+giU1VrcUFGQU1BQUFtb0ZzTlAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9rTWdOcHlCb0xHUVBCb2NqZklFa0VEd1UzSUxqcmtEeHdtbmtHbUtJYStFTmZGc2hwajBReTVrTkljZzBVSUhoeHlDakNMaERTSElhOWtHOHlHWlBDcXBBdkJLNFlSb0NVMGttNFBUQ2hCa01xZ0p4aE1obkNCQmhCNnUvUUlvQnViYnBQU2IwZ2piWUttRUg0UzBiTm80My9yaEJwTnFqSHBLeUJoL1NEWVZOTkxDQlVrRzBFRy8vMFlpN2ZkSk9xdDNTMDJDemphUE5yb0xTZEp2NnF0TERTMnFUMVRhYVZMbzVVRUR3UWI1Z0d4VEFZWGRmL3FsOVBTK3QzclZ3dXJwMFhYUzZTZFcrdjlmOWZwSnd4UmNVcmo3LzlKVXYvN3YxWC9Xa2wyREd2OWFUcGVsMTZYdjY2LzYvcGJrTXlLNzkvUyt0ZjIvLy9INnRKTGJCSHY2LzQvNjZWcGY0aVFZVWZxdWxYaEFpb0hTcng2UzlJZi8vOXVxMGtrdEwvZjB2OUswdi92NjJLSGJxOWY2MHZOTmRocFgrUUo0SlhlNnBWN1gxK3FTWGhCMGt3MHRmNlllMmwwUk5GeGIxL29FRjhXcGYweEMvMTRnd3hDU1RYdjYveUJpaVhPTjRRYXR0ci9zR09tdGNMLzBvTmVFRGFwcE1PMSt0aHBJeHlJUnVPbCtrakRkY0o0bHplbXd3akMvNGJ5TDZUYk5ncC8vNkVOcFkzQ0RwQkc1c1YvcVFhQ0VnamMwcmZ5REtUSWJXaVg2VCs5V3FDRGJWYmtHUlJMdDZUYXYvMS9wV2w5UFNoc05MMTRkSks2Yi8xWDlMWExIZjFTY2YvL2JWdjhndFJWZnBQRVg3MXZYUkFuc2xHNlNYMmwrSzM5YS9xbHJqWC8rMy8xcGFYL3BiMStRYmorbCsybGEvK2xrTTI2LzlMMVQvKzI2L1NmMUlaZzlmNlgvLzBsK3hUMS82VnJrTkRwTjB2U1dRUE9PdlgrMi95R2xCQmtkZXRMci9XclZMVFgra20wbTJIK0NwMWE2UkIzYiswbjFla3UvOUwrMERMSHRMcE5YclF1MHQ2dEtyVUpmWEQwa25wZ3dRdC8rclNUVzBFbllTYnBXMGtGL3dlRXRzSk1UY0YvVHF3MGlCZXBZWVNJWnVyRENURENTc01KQkxhMURFUWtneENZUWEwdGFvTVY4UXJpRXhWTVFpQ2pzUkVHRmlHRUdtOGFIYUVRWVFzSU1JUXdvV1F5QTJuRVI2cElSRVJIM1ZmMjZwZjBrcTl2MXhiU1NIZEtGdHBEdDExV0kvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL2tDMEdENUF6QXhCQThEQ0NHUUNvUVFNdzB5Q0I0RUVFRHdZb1F5QTFZTnhEdVE4SHdnMllRMjR2SVpJTEhrTlErUWFTNElHUXpxeUdXa0lMa3dRTWhzMUlUVWcrcEI5U0Q2a0pRaGpVaG1ISUdEa01VSVp5QWd5QmdHRUdRTUJBZ1pEUFFoYUVFcUlRZ2dtaENvUTFReUJGcVFYNU1nd0dRbDFoQmdnN2hoSHlCdy9DUGtELy8vdkNQRUhEQ1BFSERSeGh4L3IrQ2VFNmk1d0R3eFRDUGtHcERTbVQ5R3dTUTBUSXprTXVaRjhob21SK0VjQjJRMmVRSThnMzhnMzhnMytjQlFmRFVhUGdvWkRaWVFJR0dRTVRKVENCQXd5QmlaS2FCQStRSTRobnNHZkFnRURCV1FlMDBDYld2UnR0R3dSN0NEWVFRZGhFRTloQTB3Z2FRUWRwcHBwcEJOUFR0SUlOc0lOb0lOc0lOcFBMaERnbW1uYWFWeUd6a2dlcGdDUHdnMkVFR0hlMmsrR0h2dWsvL3BkcmVrM3VrM3VrLy82L3QwMmxTWDdhVGErbDRmL1NmLzB2NzBtOXRKdmJYLzk2N1NiVjYwdlMwbnZkTDIvOUt2L1M5YjBuOUovLzMrOXRkMG0wdEw5MG01ZGZYMi85TC85TGwwK1hUOXZmYjNTci8zUy91cjlKOGVyWDlMN3h4WC85TCtYWGIxL1gvZjYvKzZkSjBxL0laQWR5QlkrcENROVgrTy8wUC9vTDdYMzZ2NnY4UngrL1JoVmJXMGhTOExENkJCbnkxZnBML1gvMHZldmIxZjFmLzkwci91bjB2Q3cwbFJ5ZGRYcjkvLytsOXI5L2Y5NlYvM3VsZTZUYVNYa0R6Z2dvZ0pNSFZJSmpkWDYveUZmSVYvLzB2Zjl2UzlKTC8vZEwzU3V1djAwd2dndzFWZjd3a3UvK2wvNlgybDdmLy9wUS8vNjkxYlZMMXNFRUdHbHBWcGVFRlgvLy82WHYrL3ZwYjZUQi8zNnQ3RmFTWCtFRUREcWt2M2l2Ly9oaGYwdnRMMi85TDhJS2RRMC91azM5VTNTWHZoQkVNb21HR2d2K3JnLzQ0K1A5ZmYrLzhKZm5PeW5CcC9mMXErcVh0TUlJRmhocGFYcTg0UWYvLzhYOXBlMy9uUC9CQnY5NjFiN1lyOFJDQ3d3MHZTWHZJVHY1OGVmSDV3Tkg3OS8yLzloZnVHLzlldjNTOElJUXdhWDlKZTMvQ0R3Zy8vemlmMmw3LzQvdGtOUVA5dmJYcFBTOElJTnBkZnZ2Zi8vLzdmdiszMzkva05xZitsN2EyMGw4SU4xZnBKWDM2LzlrR0NQL0RmNlh0Ly83WWYrL3IwWS8vditseDcvWC8zLzdmMy9mcGVsdHYrOWF0MGxlbDhNRXQvU1Q5LzMzY2hzLy8yL2V2YjM5L2IvOWYxcHZTOE1NSUp2YlJIV3BnTWZ2OGNiRC8rMzlyNzkvZjcvdDAybDZ2cGVHR1FhU1lRVDNZWFgvOUwvLzl2M3IyL3I2Mi8vWDI5SzlMd3c4SUlYWXJDUjRTdjIvOXYvOWg1QmdmdGZiM1hiWGJJTngvMS9ycFg4Z3cvaGc4SUt3d21JUzc2VjZXUVhmLy8yOWRpdnZ1dnJidXU5dW80NnZTL0RERUlKc1dra3I5dlMxMi8vMi8vMjl0TGJydFYrbzNkSnZTL0lIbkJBdllNTUVFUTA0YkZMZnB2UzYyLy8yLzM5amV0dExmcmRXcXBYMHYwd29ZWVFTYmFTM3BOa000K2wrMy8rMy9YdTJsMmx0NjlwZnBYcit0QmhoQXJiQ1ZQaEpoaGNKZnQvL3Q2Nys3RFMyMHR1NjJHdlQwMzB2K0cwRnNNSkxhZ2t5Z1dtUmFZTHNOZGYyMUJWcTEyR0VzTU1KZDJFdGd3U2FmWDBndjlCNFdHZk1JRVVBZ05DZ3hTRUlobGt5QytvWm9PUVkwSVhRaGpYSVo5R0RReUdFT0NJWVlLQUlzR0NSQXZveWRvZ1gwWWNHRWlHWG94WDBDVEJrQytpSDdTaDRUUVloSnFnUVlTQkxoaUN1L3QxdlR0d3hDc01RcmJZaFd3dW5TYnY4YUVSRENFUkJnaEVRWklBOEdXSWlOQ0xoZ2hCZ2hFR0NFR0YrSWlQMElqUWlKQThDK0NJaUs2NFFQNnBCK2trZ2YraTR6VUJvRE4waUJLYjBJTmZDaWdhazRIaEkwUU13MUl2WVFqai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8va0Q5QkE2aHJqa00yQ0dZUDVESURVZ2dlQml5QjloQllzZ2VHVkJEVmdnYlEyWmlWSGtHaUNCNHJrRGZ5QjRiSnFRTjVrTmR5Q2lDQkV5RFZOQmJlUVBIeXFxcXFhZi9lNmFSQllzZ2VCZkVYY2dVWW5aRFJaRFV0TGIvOTBoZi8vOU5MMS84Z3Rnc1AvOHh0ZlMybXZCZi9YLzhSLy82cHRmWCt2L1hyLy8vK20xLy8vL1YvLy8vOUswaUdiL2tNejhnMGZrRDRmeUI0Wnh5RzNNaG1qa0R3VXA1RE1ISVlISUhnVGovL3V3UVR5Y3lEVE1obDB3bmhQTG1ReTRCY2hleUJlQzVrZmdwY3dRWUtYTWcxME01RFpCUEFnOEZCU0JCQk01RENDSzVFb1F4NUM0UWNnbWNndUkvOUt4VDB3UVlRMGJtaVFHZ3d5R0JGTWhzbVFJbnBaRFBOTkJrTmswMGNZWkFpYURDR1FYbUZSdHRFZ0hrV2J1dW5lNy8vN2hHRGVFR0ViT0ViT0VFR3dxUWZUMTBDOU5OVTBFRzFRWVJzdXFRY0w0WUlHQ0Jna3lGc0cwQ0RCQXdVd0ZYL3BYUWZSdDBFR2dnZzZWNlRXakRaQlJaRFptbGtGRm93MmpEa0ZHSXcyazVEUmlNRzBFR2lHeTFwMUJ3ZDZmcDBuNlMvK24yNGhCdFhTRHBOZ3pZRjg0Q2dRZzN2b0xpRUdJUWJZaEJ0SnRpRURhVHhMdXVRMFc3Njk5MXBhWC9yZFBDZExwLzB1bi9TNnJwKzZkTGhQLy9XdE5xMzYvL1RZKzM2Nlg3MS9wZE5QV3IwMnZqdGZ0NzJycGRWU1haQXhoQngvWDY2Zjl2L2Y4SmYrOVgvMVkvNjJpNjAybHFLWHVnMC9wdjlSUzEvLy9RWC82L3BmRC9icjNXS2JwSkJiYURTOFJJSGdZUHYvREMvLyt2Ly83L3lnREgvZGJwclZJSlliUnVCaEx3Um12L3g5cGY4WC8vdi83Qi82VjE3dlNoaDRRVkJqOEk4Zi80TDYvNXRQLy8vL1lmN2ZxMnZmVGVxUWE5QXYvNXdOUzJsLzdmLy8vK0cvOUo2NnZWSzlLZ1lYcGYvK3cwdi9iLy8vcjhHLzIrOSsyNlNmOGZYNnUvMksvOXYvKy9XL0lhdi82V2xhU0w3MVMvSDY5Zjd3d3YvYi8vNjYvRC8vL3BiMHYvLzE2dm91R3AvMi8vM1gveUdVNytyZE9yR3JkOUVLUC8rdnR0cjYvKzMvL2RhVGYvMzZ4VkpOdWtrdi82NlhlM3BmKzMvLy9XdjE2c2ZwWEdsLy9hTHJhVGJZUmhZWkNQcC8rMy8rMmxhVFlYMXUwWFdtblY5TC8rd2wzQ2JJanNNSmJEQ1hJd0cvL1lmLzdhVm9LR0ViWHVzenRoTGZxbTJrbC85aUZNd1hCaEpoaEppRk13empJTUVXUVlSQmtNRVpCZ2hoa0VJSVlJTVJNd3dEZzJHbERDVEVMSU1hUXdTaW9xWmdZN2dsQjZILzdYTDRwaW1sWVZ0cDNmYlYzZHAyeENpbUY2RUoydXE5MnYvMmhvTUlNSU5DR0VJYkVSeERCQ0lpSWhoVGVFR3NRd21nd2hkNkVjY2ZzUkVSRUl3RTRqaU9JaUlqWCtFZ2YvLzFmOWY4Z1ZxNi82Ly8vL1MxSDB2U2I4Z2ZvMHY5MHZ1djBtNFdMclhrRnNHc2RSSHRKTDdTMkdDQ3I0ckRGRUR3VVlReVEweUNDcUdsaGdxWGF4RVJILy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vNEFJQUlBT0FBQUJBd0FCQUFBQVl3WUFBQUVCQXdBQkFBQUFlQUlBQUFJQkF3QUJBQUFBQVFBQUFBTUJBd0FCQUFBQUJBQUFBQVlCQXdBQkFBQUFBUUFBQUJFQkJBQUJBQUFBQ0FBQUFCSUJBd0FCQUFBQUFRQUFBQlVCQXdBQkFBQUFBUUFBQUJZQkF3QUJBQUFBZUFJQUFCY0JCQUFCQUFBQVNBd0FBQm9CQlFBQkFBQUEvZ3dBQUJzQkJRQUJBQUFBQmcwQUFCd0JBd0FCQUFBQUFRQUFBQ2dCQXdBQkFBQUFBZ0FBQUFBQUFBQUFBTUFTQUFBRUFBQUF3QklBQUFRQQBB8JQTC8RRU1VrcUFLSU5BQUFtb0NBei8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy95R1FCdy9rTWdHWWNndzVESkJwdklIZzF3UjNrQ3VDQjRORmhicklIaXduWkF4WkZqSWFmVVEyK0JKSnNoclJrR255R3RCQnFtUTA1a05xeUJjUVExWUlOeVpCUk1ocGZoZjFDTXd6UzVocWc5VzRhZ2d3b0lHQ0RDV0M0UVlJUFhyd1IxQlFtNldrbTZwR3pZS21uMkVGUVJzZ3dqaEIvOVVqZVhnMG0xUmlmVmtNdDFWQk5oVUdFMXBBdEJCdEJOLy9oQllkYm9KT2trMm5WSk5najNSNHM4YjhKVWs2VGZ0ZnBZZmRhZlYwOVZiUVhDRGNFSFdYQldDbUFJcmFUZi85ZWxkTDBsZDFWY0xwNmJSZGRLa3FmZjkxVmY5ZlhiRGVxdHd1bTB2OUwxMXYvK3YrdXFTd3hSK3J4LzNTOUxTK3ZmcXRmOWRhN0RIcisvcGVsLzc5ZjEvOWRLcjVCb2hhOUxyLzlMMS9hLzhmWFNxc0kvZXYvSFM5S2tycnYvSVowbjlWYVNYWUlFVTQ2N2VQWDZqMnYrSS90cXVsU3VsZlgrcVgwbGRmL2U5VTZROXdyMVg2cGZKK3UybC9rRnF5Ty90SllyMnZyL3F2QkE5SmhwWC9YZUcwcXF0cTlmMVNTOU5JbDNEUzEvcGc4TVFseUpXdVAvOUpmRjRRYVRGTi8vRU1hVmQzNi9TSVpyaE5MbkNlRUdvYjEvMlU0YlVKL2NMWC9pRFhRUWIwNllkcjB1dzZSdlpDYWVQWDZWMTA2RXdkSzJHRjM4TnFRbkpPemdFLzEvU2tjYlMybmhCdFFqYzJKZlg2a0dyU2dqRERXMy9yK2hEZmkzQ2VrRUcydjYyWG1vUVRkTi9rRGdDSUt0Uy9wT2wrMnFRYmEvSUhDVEQwcmF0Ly9YNlRhL1hTdUdFbC9odGF1ci8wdjlldDkxU2JILytsMWV2SUgwYS9wT2hKQWFmMHQvb2d0V1JZM1dtOXYvR3V0TFgvUzBzZGZwZmJTL1g5TC8wdC9yOUw5di9wdjYzcjE5TDhnWEgvL3RMOWRkS2lEVm45ZlgxOUpmYkZQWFhXa1FhbitucGVrdi8vOTlkZjB0TEliSFcrdlhJSGpqMTFTNmJmOGhyV1FKSHAvU2IvclZmUzAxL3JkZHUvQlVIMmxwYVcyazlKTnBKYTYzcEpYM0Q2NlRYOUlvWmRkcmYrZ3ZydlMzcHNJTWs3LzlOMW9kcGJwT2tyYVFTLzcwa20wbUdFY3hXdldycEpxd3drbkRDQ2JTU3RKTCtvUENXMkVtS0RYV3RVd3drUXkwNnhDSU5ReUtZYVdHR0VFQ0MydkRFUWtneEJNSU5OL1RTc1Y5YkNZaEpNVUNCWWlKQnBwaUdDREMwaHhvTUlSQmdoWUlNSVF3VUxJWkFIRGlJdnBLSWlJajkxWDdxdGZkVXZ1a2xYdHJTNHQwbytsQzIwaDI2M1N4SC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8veUJseVB5Qm1DeTVBOE5VTWhrclFnYUE2Q0I0TktDQjRaaHlHUUJ4WkNEa0hjZzhFVWNnM2NncjM1QmJCNWtHdzZrTlJRUTFRWkFnd1FhQm9nd0JrR2dHUTBWa1BXUXhXUXhXUXhXUVNoQmVzZzBvSU5CQkRDQ0RjTWhtSnlHV3JJYWljaG1Ld1FNaG9FeUQxa0VESVBVUVFpUGpJTVRJYU9JTDBJS01JRURjOEI0V0NCZ2dkc01JTU1nWVprT0NERFFZUWFEQ0RTaG9Od2c3UVFNTUdFRFlZUWVHRTBHRUdnMG1HazF1dXRNSVBCbnRoR1lSQXp3SUdRYU1PbklLTVBXRVpoaVFMOERCRU1yZ1lJaGxkT0JsbmdiY0VEWkRLZ0l6RVlNOEVZUm1JeUdiaENVUndKd1o0QzVnRkFJR0VHQ3dZUU5vRUhTcjdDTXhBMDNJU1lRSWd4amtHSjVCaU1ndkNCQjZhcHFrcXRLOUFnWWJnMmdRTVBCc0lJTlRBVThGVDcwL1QwRzFtQTJMNWdiUndGMzRkQkI4Ti80UVQvK2d2NzBFM3RvSnZldXYvWFQyMG02cGZTRGhCQmhwN2FUNGIvcEJWLzZYYTNvSU43b0lON2FULyszWDdhVHBhWDAyay91bDdmK2svL3BmK2svYVQrdjEvK3FUMWRhWC9UYU1MNlh0LzZYLzZYTUpvd3N3bnJlNjN2WC83YXZlMnJwYVhpNlRmZnBmZi8vL2hMLzl2U2I5SnYxLy82LzBtMTY4aGtBM0gwbnAvcjN4eFMvL1M5dEwyL2Y5L3hISC90R0YyNmVoWHdwQS9mb2g3YlcvVWUvVWYvUy8vYjByOUsvLzIwdnRLMHJTUzhMRHBJRXpaMTlWdjlmK2w5cGYrLzcvLys5ZTZ2cGVGaHJoSG1SL2F0NnIvci82WHYrM3I5TDlYKzJscTN0MWFTWGtEeWdnWWdKTUhTU0NqZit2dklPK1FkLy8wdjB2YjYvcTlmLzc5TFNiU3IwMHdnZ3cxMG10SjlLdC8rdi9RWHQvdC9ldjZWLy9wUHRwZXZxbUVFR0dsci9lRWwvL1gvMHYwdmIxZnBYNllmN2FUOThiYVNYM2dnUVlhU1NYcFBoQXYvLy85TDIvMi85TDhKU1FDci8rdmFkSkwvQ0NERFM2cjdqLy8rUDlMOUwvL1MvQ1ROWWEvM1MxZEpxK3Zwb0lJZzBBUVlhV3YxeVhEWitPUC8wL2IvYi93bCtaRElnTlA5OTkrNlMrMDBFRmhoMTE2dk9DQi8vL3hmNlh0LzVaLzRKaC8vcGUzZWw0aUVGaGhwYXFsM2czLy9PQVgvZnQvdC84TDl3Yi9iU2ZlcllwTHdnaEJnMEY5YVQ3Zjg0RDV3SC8vT2IvUzl2L0g5c2hyMWYvMWFycGVFRUdHdlg5N2YxLy8vdCszLy8vN2tGVS83cFdyNk1KdFY0UUlOcGVxU1Q3Ly8vLzdmNlh0OS9mMkRmOS8vN3I4SVBYMXhmZDYvOWtOR24vdCszKzM5ZlcyLy91bGFTVGVsOSszNlh1Ly83Ly90LzE3ZS92N2IvdHBlK2szcGZEQmYxcGYrc2NjaGxkLzdmdHI3ZnIydTcvLzFldjE0TU1JSnZkVXBnR0g5Ni9iLyszLy85MTlkLzcxYTlVM3BlR0dFRTdkeU9xU1g3OWUvLzdmdHBlM3YvN2YvYXZ1cVY2K0dESU5ZRUVFTzJFbkNXMzkvOS8vdC8vdDkxdDF0LzA5YVY2dnBlR0hoQXJZcUtMdEw2ZlN5R2Q5Ly8yOGhvZnRMMi9YMTJ5RGQ2OWJYL1NiMGlHeC9ERHdRVFlhWVNXM3JlbC9mLzdmNy90N2RiZGYvZjhiMVY5ZmhoaUVFMklwTDlONi90Ly9oditLOXZiWHRkdi9WNnFOWDB2eUI1UVF5N0REQ0NJTnNXdFBxM3BmdC8vc1BYZi90TGV0dlMyNmpkMHIxL1RCSUdHRUVtMmwzcE42WDdmLzdmOWV4dHBiYVczYTlyMVN2cGZyaGd3Z2syMGw5SmhrTmo0UzEySC8rMysvdTJsc05MK3V3azE5TjZTL2RCaGhCYkRDVk40Sk1NSllJTDloLy90NlhYdXcwdHRMYmhoTFlZUy9TdnBmOFBCWVlNSUpPMEtZTUZRaElVbXdZVk5OUFRiUTAzVFRkaGhCSnNNSkp0d3drbXhWTk9yYWFIOUpCNFRURkVGQVpER3FDREVJSUlnMEFaQmlzTVVRejFrUFdReFhrTmxiQmhTQyttUWxSREdtR0tJWlZZWlF3aUdWV3djUWlEVFcwL1FKUVpES3JYMnNQQ2FCZ3ZSVGcyQkloQTB1R1M0S1ArL3RlNFlMREVMMkZocituL3hvUkVHQ0VSSUtnWWlKQlZERVJ4RVJ4RU9EQkNEQkNJTUVJTUYwNGlJK29pTkNJa0R3MWJFUkVmckNCL1dFSDYwZ2YwcU1NSDZWSUlHVTRHb0tmU0lFc0dLQ0RWOVVRTkE5SWVOQTFKQUhuaEQ0ai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vK1FQa0VETUZXK3lHUUJQQkE4TlNBbVFaNElIaHFRUTJvSUVvREZrR3VDR2xIa0R3TjRJTE15QjROTTFJTE15QjROTXlHck5MWWVRUEY0ZzE0a0ZDNFVncVFRTHdGQ3BiZTlwRUdiaUI0TmZJdTVBczVOTWczNGhyOVgrcXU2UWQxdDNYYiswdlVmLy85RzEvUyt2SUdZWmovL3RyNjdUWGhmL1M2L3hIMS8vYlgvLy85TC9YLy8vYlgvLy85THIvLy85SnRmLy8vLy84bC9rTlRpSHdnMmYvK2szTGhwR2daY2xNaHFlUWFKNUJwL0lOVTlCa0dpQ0JlTWduWkRMZ0lNSU1obXdneURYTWcxUVNtUTFLRTNJRjRKWVFVSHlHYkJCZHlCR2hKQkRYY2hyY1FmQ0M0WkdnZ3dFLy94Q0R3Z3dRTUlZSVBKT0NEMHdVRjF5Q2owMHdWTUVEQlVHRU1GQ2dnOGdZOGgrOGhqUlNFUUUxLy85SnNKNllVS0VjTU1JWVJzanFCRk1oc09DNkJZS21tUTBIVFJzZ3dVSU5TREIxUmdjSTZCaUNnejRPQ0Jud1NEQkJ0QWd6NE9DbUFSZi90aEd4dlRDT0ZDT0RvSU5oSkpyUmczK2d2UnQwWU42TUd3Z2czcGhHeFZxa0dndnZ2Ymg2ZHFrdi9TNkQ2TURhQ0RvSUhTOUo5QkJ5QmpDRGZOTElHSmh0SnlCZkVFSFNiSUtNUmdWb0lISUtNVkoxSWFNSUpuVHJUYVRwYVgvN2U4UW0wbWtuU2JJTjhWbkFNQ24vUzZZcHVLZW00aEIwdUpkcGNnb3ozKzl0Yi8vOUxxNkRwYVRyOVhWL2hCZFYxYXZUYVhRZmYrNjFTNjZwTC85dDNyLzZiMWVuL1M2YWVuVy9Yb2YvZFcvYlNkZEw4Z3BEK2xqN2FUcnIvLytsLy9UMDJ2VmovMW93blRhVjBLU1cyUXpNdjZiL3hyLy8vMEYvLzM5ZmY5cjFyMDYwbHVFRFh4RUx1cS8vLytsLyt2di9CL3ZUYTNURmVxV3cwRFM4aGtCb0kvK0d2MS94Zi8rL3I3SkFabjcrbjJtNlNyMGJNTUplUXlBWG1iUC9qN1gvdi8vLy9aMUF2OTB2MTlVbUhoQkpCajhJOFAvOGlBTVhyL25FLy8vLzloLzN0cE4wM2RKTi9RWVhvTC8rY0JzMmwvN2YvLy8rRy8zUy9XM1hmU1NCcjB2ci8yR0V2L2IvLy9yOEgvL1c2K2tyOW9mUy8vOWlGLzdmLy8vK1ExNmYzOVBvdW0zcGZqNlg5MytHQy85di8rNjF2d2Y5MG0xMGxiMVMvLzlMKzltQTF2KzMvLy9YNy8zOU42VDNTWC8vMDdyNlgvdC8vdisva010My9kTFgwcmRWSWQvLzExdTl2Uy85di8rMHRLLy8xOWppa20rcS8vMTZiYlgxLzl2Lzkvclg2OVlxblZ0dlMvL3RkTDBYV3lEajYvKzMvL2FWcE5yMzlvdXIvWEZKZi82TCtHZ21HUW83YVcydmYvdC8vdDFEU3NJd3ZwV1c4Tkw2cEp0MGwvOXNKY01KTU1Ld3dsc01MeVhBdi8ySC8rMmxEQ0NZYVgybEZNVmJUdXJkS2wvN0VLRGlFeFRGU2NOQW9nUnJESU1helFNSFVHSkFqVnNnK3BER3B0Sk9DSFVRMERRR0VvcGlGa0NLb1lTZHFUaGxmQktEMFAvNjBZMDdXR0Z0Lyt3dXY5aUZDRFh4Q2FhM3BxbmYvOE1JV2dZUU1FRENFTUVJY1JIRmdoRVJFUXdVNUJCaFloaE5CaERUNGpRNC9pSWlJaEd3N3hIRWNSRVJILzBnLzlmNFNmLy95QitCZitsLzZYLzlmLytyYStQVmZYV0NmL3EydUM2cjlOb0xwdXE5UkhIUy9JR2VPbHRwVjlydHBKZWhXd3dTSUhnMDhFRENEckRFS0VDRElNdFZZWUlmYXhFUi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vK0FDQUNBQTRBQUFFREFBRUFBQUFUQndBQUFRRURBQUVBQUFCS0FnQUFBZ0VEQUFFQUFBQUJBQUFBQXdFREFBRUFBQUFFQUFBQUJnRURBQUVBQUFBQkFBQUFFUUVFQUFFQUFBQUlBQUFBRWdFREFBRUFBQUFCQUFBQUZRRURBQUVBQUFBQkFBQUFGZ0VEQUFFQUFBQktBZ0FBRndFRUFBRUFBQUNaRFFBQUdnRUZBQUVBQUFCUURnQUFHd0VGQUFFQUFBQllEZ0FBSEFFREFBRUFBQUFCQUFBQUtBRURBQUVBQUFBQ0FBQUFBQUFBQUFBQXdCSUFBQVFBQUFEQUVnQUFCQUE9AAAAAFNVa3FBSEFQQUFBbW9DUVAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9JWkp4MFF5UXpqa000NURKQTN2SUhocjJSYnlCOUJBOEd5MDAvSUhnOFhaRE1zaVhrR3pxSUsvQWtrMlEyblNJTlV5RzI1RFZvUTFhRUdTQ0dVb0lOamtGRXlHUElaVXlHclBCVlhxd1FhaE5VbTRQQ0JoUVFZUU1Gd1FjWUlHRUQxMzFJWm9hTnNPazZTYlZJSTRiQlFnd21saEF0SEREQ09FSDc5WVFOSU5xbnJaQm9IclFRYkNwcCtFRlNDRFlRUWIvMXdqa1hiU2VrYmZTYlQ5SnNGVFI4MnVFRnBPazMvK2dzT3RxazZTVGFkSkxZUjlaNGJoQnYwRlNUZFg5ZnBZZjZTZWx0UDZjSUxoQnRCT3N3Q2twc05GZFg2NjZTK20xL3A3cEpiZ3RKNmJSZGRCVlZOcFgrK3Y2OUxwSzJHMTY0WFQxL3BhL3Y3OWEvNjlkV0dLSjJrclkrM3VsNlhTNlYvNjlmOWEwdUdQL3JYL1drdi8vOWY5ZlNwc09sL3ZXbDZXdjcvWC8vMXBhNmtHdTlmLzB2UzY5Zit2OGZXNlM4SXpmNi94ci8xdXU5OXlHZ2EvcXRhU2JCSDFIUzI4ZlM5SWF0ZjhSL2RWZEpMd2xmLzZTK3E5Zi9mZFZwRDlQcEw5VlhrdnFtR2wvL3VxeENXMnIvLzE4RURWYlN2OGdlcklsM3RwVlc3Q3ZTL1ZLdlFla3cwdGV2YjdTVnJ4Ly9wQkpjWFJIOU1OQmYveWhReENySVVaWGYvMGt2YWhBMVlwdi9xSU1NSlFtditsK3BCcGNJT3VlRzhKMHc5ZjFaTGd5Sk5WdUMvOUpDRFhoQjlOV0cydjFzTlFqbklXdngwdjZ1dWczRXdUU3UxOWNNTkloL1NzR2NGLy82VXVOcGRhQkI4STVoc01JMmx2NE40UWFUZVA2WDZpRzF4YnB0SkJCdGlGLzVEVTFTQ09OMDcvLzlCdXQ2MVNEdGZrRmdhbDI5SU5yZjVCWkV5REluUy9TMS9icElOdEpmNGRKSzFiLzB2OUp1dnJWWEJoZiszMDNUZi8vNld1KzlVMlAvdWt2M1g2cGRhVG9TR0RaOUpYcm9nZXJJbDc5T3JmNUE4UzYvMHYvV3RldjlKYjNTL0ZKL1MxL3BYckgvLzIvL3YwdDY5ZlgvMHYyMHYwdGRLaUdsMzYvWDBReW4vKzIwbnIrdElocGovdjE2WFMvU1g4ZjZYOUw1QlE5ZEwwbHIvLzdWcjcrazJsNlY5ZXVRUER4L3BKZE52K1EybzdyUzYyL1ZkVXNKLy90cmJEL0JTQlBpV3VsZjZUMGszU1hmcnBKZFd3M3JWUGV0SWhpZWwzVi8wZ3YrOUxkV3dneUtQL3FsZm9iYVcyazZTVGFwYTlYcEpYVERDSC9YdWxyRFN1d2szUzZRUzNwWWVsdGhKaWJhYlMxMG0wa0dzTUlKT3drMmx0cEJCZEx5amdna2d4Q2FEWDlQdHBFTXdHc1VRMHhERUpzSkpNTkJCQmJYZ3hGWVlUQ1lUL3RiRmZDNFRFTERGRU11ZUlpUWEwSkNHQ0JxNkZJVWd3aEVHQ0VNSU1JUXdVRmtNazNFUmRheEVSRWY2MHZiVkwvcWt2YlNYOStrdTdTUzhXMHFIZWt0dElkdExiUzNheEgvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzhnTUJaRDF5Qm9EUTVBOEdYUWhrZzMxSUdnRkFaQThHME1nZUdzUVF5UTJvSUc0NUFrdnlDMkd2TWdxb1RJYTZRaHRCQ0dnYklOUXFRWUZDRFdvSWJCQkJCQkRBZ2hnUVF3SUlPZ2d1SUlOWVpEVElJWUlJR0tnUkVBMEV3RFlSQU5CTUJxZ3lHZ29JWUdFTVZFSHJJWTBJWXF5QytoQWlaQnZNaGc1REw0Z1FMTXpBOFBCQXlHc240TUlISXFHWm9FRC8vOWJ3UWNHQ0Rnd2dmLzY0SjlwY0xDWVFPeUcwa0JHZ2VRYm9JUWdnMUFaQlFZQ013ZVFMeklHSmtNdVpETG1ReTVvK0dXWmdxT1pnWVpETnhId29aQnBPUmFJK0ZESU5KeUtkSGhORU5sQ0JqQVpvQmdFRE5BenlHek5IQXp1djdDTkJBMVo4STBDQjJDSU1IWjRHRXp3THdnUU8wMDAwMUNhZEp0b0lJR0hCQTJFRUREWUlHMEVEelljK0h0Tk5VMWRFQzlFZ2RKbXdVTDVzbUVmQmgyNE5oSU80TjRmRG9JUC82WGUrZ2cyN2FDRGUyazAxdSszNjRlZzN3a3ZRUWJRUVlmdWdud3c5L1NhLzlMMXZTYjIwbTkwbi8vcC90SjB2K25RVGE3YVRXMy9wUC82WGZlazN1azN0cGZYNy9kTnEzV2wrMmtHNzlMMi85TC85TDF2U2I3U2IvLy90SzFWNnRKVXZTMG5SaGQwdmYvUy8vQ1hjd3N3bnBQdWsrNlgvLy90cE9scGZ1Z20rL3IyLzlMLzlMbUZYMzZiK20vMy85dW51dEp2NjhkYlMvWDI4Y1YvL1MrNjl2Vy9XL1gvL1hSaGR2MHRmSVpBYVE1QThVZnA5L3IvNi8vUVh1djMwL3EvNGpqNy8ycmFUZENsNFdIcEVINXRiNlVlL1VmL1MrNjl2WCt2Lys2dGYwblZMd3NPbEJNM2RQOWIvWC9wZTYrMzkvMy8vcTlQVGRXa2w0V0RXa2ViL3ZTWC9YLzB2dXZiMWZwWDByL2JyNzlYcXZJSGhZSVpkaFdIV0VFNlRhVC8va0YzeUM3Ly9wZTYrL1hyWC8vcnBhdHBXa3ZoTk1JSU1OVWtvL3ZTOXYvci8wdnV2djc2NzByL2VyM3B1blZMN1VFRUdIWHZwZWdxLy8vL1M5LzIvLy9waC8zdXQrazNTWDloQWd3MHRLdmZDUy8vci82WDJsN2VyNlN2cFEvOWVuVmp0S3ZYQ0NERFNTUzliaGdnWC8vLytsNy90LzZYNFNaMUJXKzNYL1Q2KytFRVFhQk1NTkwvcDRoLzY2OGY2QyswdmYvUy9DVElnR3ordXQwMWFTWDAwRUZoZzB0Vis0UCtPUC8wL2YrLzhKZm1JWVA5NnVuMjNTUzlwb0lMRERTNnJTZWVDQi8vL3hmNlh0LzVaSDhFdy83M1hYdlM4UkNDd1lhWDZYZURmLzg4R1grSDdmN2Yrd1g3aGgvNjlYVnNWWGdnaEREclgwdmIvbmdmUEEvLzU3ZjYrMy9qKzJRMmhINzE3KzYrRUVHR2wwbDc3ZisrLy83ZnQxN2YvKzJRVjlmN1cxOVBTOElFR0hYNlMzdjliNy8vdC9yLy85YmtGTkg3MDlOcWphYlNYd2cydi9UOTMvLy8rMzdkZTMzWGYyRy83LzZTOUw0UWVyMVNRdmYxLzdJTjZ2L2IvWDIvLzlzUCs2NlY5TjlmYTc5VisvWCs5LyszN2RlM3Y3KzIvL1h2cmV2d3d2NnBYLytPT1F6Si8rMyt2dCtsNlcvL2UydWtrK2w0WU1JSjdmVkd3ei92WDdELyszN2RmOS9mMi83cGRYcE42WGhoaEFyZlJkVXFmMzYvLy9iL1gyOS8vYi83L2Y3NjhNTWhxaVlJSnJiUzBFdC9mKy8vN2Z0MTdmcGIxdC83cGFXcVQ2K0dIaEJDMjJscFUvdnBmZi83ZjYrMzM5ci82WDMzU1Y2UkJSSGhoNFFWc1V4Q0oydDlYcmtHNzdmLzdlUVVQdDE3ZTliMXRrQzhWL2V4djc2VmVEQjRRVGhoTUphOVcrdi8vOXZYLzc3UzdTMi83M1NyMG05TDhNTVFnbXhHbGY3MHRkdi85ditLOTl2Mzl2UzNYOWlrcjYvSUhoWUlORUJoaEJFRlM3UzcwbTlMOXYvOXY5L2IzUzIwdi91bUtyVjlmd21DaGhnZ1NiYVZQMDNoTHJ2Lzl2K3ZZN1M3UzI5TDEzNmIwdjdVTU1JTFlZU1c5V0dRTHZwZnQvL3NQUzMvYlMyMHR1NjdTOTByMGwvb01NSUpOdEw4Sk1NSllTMXd3Ly8yLy8zWWFXMmx0Mmx0aFdxcFgwdjF3MmdzTU1FbGJ3U1lNRWxJT2ZXMkd0M2ZiYXJiWHVHd2dyWWFDdTdDVnNHRXYwcjZDKzZRUEMyRENTcG9RZ3hvUWtOV0RDcXE2dHhycHB1d1lTVU1NRWxiZ3drbkZlNnRwb2YxaDRUUVloRURHcEJpc0lJTUlJSWcxQ2hCZ1FHSVJEUUlJSUlJWUVaQnVJREJoU0M5VFJEakNEMU94Q0lab2hpRVF6UkRCeENJTll3Tk5OVUNUQmtNc1F2dFVIaE5CaGVpWEJWQ2xXR3J3WkNBWC83ci80WVdHRnVHRmhoZjEvNDRpSU1FSWlET29aSWFEVUdRRVFpSXVJaHdZSVNDbUdJZ3dRaGd2eEVSOUlSSEVSSUhncndJaUkxMWhHZ0d3Q3pyb08rcUNCK2xvUDlKR0NOUUd3R1hwRUNZR1lQU0NCa3VCc0J0OVEwcUJyMG9vU0djaUhqUU1KSFFEeDZJR29idjhJUngvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy95QjQ5UElaSXNFRHdaSUlIZ3h4QThySUhncVdRVnJJRXNNMnlHblpEVXZ5R1FvSU04eUI0S25oU0IvTWdlRFpNaHRUQ1d3OGdlQ1RJYW1CSUZJSGcySVVnekVFRmVDR1hBS0MxdDdyWHJwcCt2OVdwQSs0Z2VDcnlNSElIdmsweUJmaUNwMWI3cWw2US8rdmYydnIvLy9vNHRlbDAxNUF6Qm1qLzZ0Zjlwcnd2L3EvNjRqNFgvMHJTLy9yL3ZmOWYvLzByWC8vLyttLy8vLzlkZi8vLzZiLy8vLzFkTC8vLytyZ2lHcFRJdmtHMlpEUy9JYVg1RFVwa3BrTk9DR1hHUWY4aG1PUitRVHlHbkJLWkRYb1EwNEk1a05xaEp5R1ZCTGlCYytRYW5JWjRJWjRJU0NPQ09DRGE1QlV3Z3Z4QmVDSkJGY2l1UXo4UXhmL3E0Z2c4RURCQXdnZUNCNElQQ0Jnb0xya0MvQkJoQmdvUU1FREJRZ1lJR0ZCUW9JMWdva016Z1dPTWc5VmtLR1F3ZFk0NC8vcXducGhRaGhIRERSMUJRYkpubnBrRkNDR2RHbGtNNkVHZ3lEY2hNSTRRWkJ1aE5ESUVJVkd4MGFnZVFxQVpvR0FRTUVvTUp1Q0RCQmhMLzZ1bnBoSENoR3h3Z2cyRkNDWTlQOUF2Q3A2YUNEZWd3amcxcUVnMEY5cHBoYkNCMG1nMU1CaGYvVm8ySzlHeVlRUWNJSUhTY0tyV2paTWdZOGdvL1FXUVVlamhzSTRiSUdQUnNtazJRTCtqWk5BZzVCUi9UaFNCSGtNZTlQYnRwUFgvK3IwSDBFRzBnNlRwWEx4NE10UEVKM2ZTMklKaUU3RUowbTNRSU5oSU82cFB1LzYwMzlhWC9wWHZFSnRMU0RwTmo4K0dXbi9TNmFlblZ1S0RwY1M1cFhJRis5dEp1MWRKMXBMLzZlbTZldGY5SjZiL1FYVFRkTnBQVGE5UC8vNjFhWFdsLzYzL3E2V2wvMS9wZFYxOS9YUS8vZGZ0MDM5VnY5TmowMy83ZXZ2K2w3dnVrOU5yOWorNnVqQ2FUcGFRcXZaQnA0Z1EvcS82UXBhLy8vaEwvLy9TNnYvcS83U3ZTcmNJTlA2dDkvLy8vOUJmLzk3LzMrMnZUZE4wNlNTV3cwRFM4UklIZ3JVOWYvLy8wdi8xLy9aUURYLzNYVmo5SUlMRERRYStReUFhdFAxNU9KK3YrTC8vMzlmbW9NejkxZGZUZGJlZ3BzZzB2SVpBWmxEZC84ZmYvMy8vLy9zSCs2NnRwUHFrdzhKSkJpdkNQai8vS2dERjB2K2VULy8vLzIvK25yM2ZTYjBrZ2E4SUYvL1BCdDdTLzl2Ly8rdndiL2JXMWJxN1NTZnFnMTZYMS83ZGYrMy8vLy9odi9yOWI5Sy93d3ZTLy85aGhMLzIvLy8vOGcyRWZ0K2wwcmRmcTBQLzkzK0dJWC90Ly8zOVg1QlVuL3BON2VqRzlVdng5TDB2L0Jndi9iLy82MS9ELzM5YXBOdlNYLy83djN5NGJmL2IvL2Y2L0laa1ArNldyMHQycVgvLzFkNzRTLzl2Ly9YMi8vMTkrMVNmMGlHSC8vWFgxdlMvOXYvKzYwdi8vYldLNlN0dXYvLyttMjE5Zi9iLy9mMXRmcnRldGpwdlZKZi9zTHBkcTNyLzdmLzlwWFRhLytzYldrMnhTWC85b3d0b0p0dEdGaGtIZlQvOXYvOXVyUVRhOXBXU0hiUmZ0YlMrbFgvdGhCY05KaGtPT3d3bHNNSmNxd3l2K3cvLzIwckNVTUkydjlwd3dsOWFUYlMvL3hYRENDYkNzUXJZMWhyYTZzR3RycmJhVU5CTVF0YlNZcGl0L1Z2U0JmL2FrNFp6Q0ZNYlVrQnNSRFBVMlFZcmxBT2F3enlCRmJrSHJJUFdhdVVBNXJDRkFiR2xFSU5aQWhQRENDcHFVQm1wMmdTZzlELzloZE5OQnJEQzIvL1lYWCt4Q25rbUY4VTAxdlhUdGYvaG9hQmhBd1FhRU1FSU9Jaml5T0dRQ3dDd3dnWVdJTUVHZ3doL0VjY2ZvUkVSRUkyQ1BFY1J4RVJFYS93Z2cvLy9oSi82LzBuL1gvSUhpaVgvLy9wZGZUK24vK3RwZVBYOWZoZlgxYlN5QjQ5Tkt2cHRMNy8xSUhnMXdFWUExQ3hkS3ZTRWR0Skx5Qm1EVS8ybC9ZUzJ3a2w4ZUdHRUVRUERYY0pCQmhCcFlZaE1RZ1FNZ1VWd3NHYUFlQ3NGN1dJaUkvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FRQVFBNEFBQUVEQUFFQUFBRE9Cd0FBQVFFREFBRUFBQUIzQWdBQUFnRURBQUVBQUFBQkFBQUFBd0VEQUFFQUFBQUVBQUFBQmdFREFBRUFBQUFCQUFBQUVRRUVBQUVBQUFBSUFBQUFFZ0VEQUFFQUFBQUJBQUFBRlFFREFBRUFBQUFCQUFBQUZnRURBQUVBQUFCM0FnQUFGd0VFQUFFQUFBQm9Ed0FBR2dFRkFBRUFBQUFlRUFBQUd3RUZBQUVBQUFBbUVBQUFIQUVEQUFFQUFBQUJBQUFBS0FFREFBRUFBQUFDQUFBQUFBQUFBQUFBd0JJQUFBUUFBQURBRWdBQUJBQT0AQcDmEwuAMFNVa3FBRUFSQUFBbW9DcS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLytReVhlNURKRFZjaG5jZ3RoTXlCNE5Ga1RNZ2VKQkE4RktFMDZ5QjlhZDVEYnhJZ1NjQ3BOa0ZZZFNHblFnck9RYktFTnFoQTNnaG1XUXoyUVZSeUJ4WkRNb1FiSjRYVWcwWVFsNElIaEJoVW00T2dnd29JR0NCaFl3UVpCdUpnZ1lJSGhmMUNKd2F6amFTZEpOcHFFR0ZRYVlXZ1N3bWc5ZDZ5R2FuUVFiMTBtK2dqeE1LRUdFR2xoQXRIaGhoSHlmLzRRYVZwSXczclpCcGVsUVFiQ3BwK0VGU0NEYUNEZS9YU09Nd2JTZlNEcEpOMzFUWUtxTXlyYUMwblFUZlQvcFlhVzBndjA2ZEtrNEl6OCtLNFFiOUJVazJrLyt1Z3Q5K25wYlRYVnRCY0lOd25XWUFuVE5nMzc3ZjErdjFhUytrM2RWWEM2ZW0wWVhTcWtyU3Y5OVV2WC9TOE42cTNDNmRKLzB0TGZmL3I5L1M2cEpzTjBSQjZySDIvUzlKTFhYL3Iwdi8vV3d4UmZxdDZYdlhwYVgxZnY5ZitscWxUaGpyZit0ZlMvLy8vLy82cGJkZjkxMHZyUzlYK3RkZjlMU1dzS1ExTHBmci85ZnV2L2YvSCsxcmNJekgrdjhhUzlMUzE3L3lHd1U5NlMwa2xzRWYyT3ZlUHBmajNYK0kvMnYwbDRTdnIvUy9TU3RmMy85Sndrd3FldlhmOUwrbTYvcnZkTGloVzZ2cGZwTDhqbWt0cGY1QThXeUV1KzZTaGUxNi9yU1hnZ2Vrd3dnci9YdmJYcjJFMzEvU1NYZ21wSFBZYVd2KzN0cEpORUd0L0gxLzB2aUhoQnBNVTMvU3lHb1loYVpDZy92LzBnU1M3b0lOV3RmOWlmRFZDU0M2VC9YK1FhOVBueDFUcGgzLzB5RUFrcHIzQmEvcFFhWEJCdlRVTU50ZjlocEk0bUQrUFg5SnBkQnZSd25WMkYvMkhoQk9ReGhGajlmMW1CaC9UeEJCMGdqaURZWVJ4TDF3YlNJUDZUZGovWDlRZ2JTeGRKdFFnZzJ4WC9rTlZQaEE2dC8xL1NGL3VucElOd3ZlbERNYlNDT0cxYi9JTTR2WDZUYVc5T3FRT0d2b2d6Q21ENlRhVC81QlNFTCtrNlg3YVNUYlNYK0cwa20rLzlmK3IvcjBuREJmKy9UcE4vOVYxcGFXUmp2NlZOai8ra3Q3ZGVRUEJlOWYwblFqOTlYUzhnZVdFSmUvNnQvNjFmcGYrbHY4S3YwcWI3Uy9GWDlMWDlhNngxL1gyLyt2MHYvcFhYLzB2MjB2MTEwdDY5ZnI2SVpjZi92djlkYVZFTlh0K3ZYLzlMN2JTNi85U0dvLy9TOUphLzEvc1ZhNnQrbGRaQXU2VjZYMS8rbDl0ZjExMDY5Ly9wWkE5Ulg2L1QvNUJXaGRkSzYzcDBrclNTd25yOUpPdHNQOGh0ZVFMTXB2MHRMdEwxZlM3LzE3N1liMXFtdldrM1g3YVhhU1d2L1NYVGNIcjBuVGE2SUdCRFhiU3ZTZWt1K3IwdHRKaGhGSUJPL1hYUzF0THRKMHUxQ1hyb1BTU2RXd2ozZi9wdEpOYlFTYmFUYVNUYVFRWFh3OEpiRENDaUUxMTE3RFNJWnNCQmx1c01KRU5TQWc0WVFURENTc01JSUlMZXRrTlFna21LRFFZVnIwMHJGUkdyRUtKckRPS1lxbUtDQzJGcURFVmd3bUVHbm9kcW12aGJDWVNoaEFnc1JFaHBocENEQkJyMGhVTUlSQmhDR0NEQ0VNS0N5R1NjQ0l0cGRDSWlJLzZTKzlWWDJ1dnZTWDlxbFh2V3VyYVNWWXRwVU85SmRxd3R0SWR0TGJTMm1GaVAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLytRRXdhdGU4Z2FBcHdRUEFycUlaSU50WkExRFUxSUhncGFFRHdaQ0NDM3dRUEE0anlDMkRKTWdwSXlHMEJrRmRRUVVDWkRVS1NCQXVRMUNaQXVESVlCa0Z3WkRBTWd1RElZRElNQXlHcHFRMTlDR05DR1luSU5ZTWcxRFJCVUJrR3NiQkVZRGNoZ1FRd3dRWUxsT0dDSUJjMUE1R0F4SUVWRU5ua01xWkJpaEJwNGhvSzVPQjRLSkJiQlUxSWJZeE9EQkVhRE9SY0dwWUlILy82M2hBNE1JSEJoQnhYLytRWERVSnJ3c0lNSVBEWVJvQ01NR0hEaEdnT0dHQ0RCQmdnWVFZTERCQnVFSERDQ013NFlZWVJtSFlZYVBCQTNEQkJoTUVHRXdTWVlWOTExMkVHcEJYb1FpQWdRTkVERkNENkVHczVCNkVEQnlDVUNCQTVBeFFobVVJWnRDR2JRaG1VUjhHZzBCU29uRE1aQnJ3SUVEWkJxT1FpQWdRTU1nMW5JUWdJSU5aQnZRZzBZRE5BelFnWUxJS01kSEFiMHA4QzY5TUlvQ0IzUWRCQjZJYUVNSWhzdGhFTTlvSUdtbW1tbXFhdXJwQk5zSUcwRTJ3Z2JTRHpBT1pnOXFucDl5R1VkSU4xQlY4NE5vekJoN2hzSkIzQnZmZEJQLzZXNnR1a0dIaHRJTVBEYVQvN3Y2YVFidzJsU1Q4SU5oQWdiVDNRVDdmK0VuLzlMdnZTYjJ3azN2WFgvZGZ1ay9wZWtIU2IrMHZEZitrLy9wZXZwUDlQNlQ5UC91dmFWcGYvYUNEYWU2WHQvNlgvNFFYOTZUZTJrM3QvLzdwZDA5T2xwZlRwTi9yN2YvWC82WGF6Q2VrMzZUZnBmLzMrcmF0MXBlcjAzTUw5VnYvci8rbHpDemE3ZXQ3cmUvLys2MnZhVHJwZU9rNjM2WDMvcGYvcGZhWHQ5UDlQLy8vZFBlOVhYL3BYVCt2dDQ0Ly82WHYvZXQrdCt1T1AvekNwTnBOcENsNURJQm9jZ2VEajlPdC9RLzZRLytsOTE3Ky83L2orNld0K3JwSmVGaDZSREgzVDlMdCt2L3BlNiszcGZwZi85L3Z0MWVsNFdEckNETnpyZXYvMS82WDNYdC9mOTlmN3EybDFwT2xYaFlhcEJIMi8vcXYvLzlMM1gyL2ZwWDF2KzYrMWJTdEpmQ3c2MEU2dDAvcitRSWZJRU92L29MN3I3MTlmNi8vNmZiMzB2SU05a00yd1FRWWFTUVNmMXZTOXYvLy9TOTE5dnIrdlcvM1MxL1NiU1M5Qm9NSUlNTkxxSzZmU3IvK3YvUysvMysrdStyL3Z2dW0wdWt2Vk1JRUdHdXZyZUVGLy8vL3BlNlh0KytrcjZURC9lbnAxNmJYKzhJSU1PdEw2ZkJCTCt1cS8rbDkvdDYrdjZVSC9hNit4MmtsL2hCQmcwa2w5ZUlMLy8vL1MvUysvOUw4Sk1wd1pmLzAzdFBTWDFoQkVHc1hERFM2cjdsUUdYL1hYai9TOXY5di9TL0JCU29EYis2V3ZWV3FYdTBFRmd3MEZyNlR3ZjhjZi9wL3BlLytFdnphTUgvZTM2dHVsWDFnZ3NNTkxyKzU4SUgvLy9GKzMrMy9rOVA0SU1QOTY2Yjl1bDlvTUlJTEREUytrcWZJUFQvK2ZCby9mNlh0LzhMOW9OLzY2OU54cGVJaEJDR0dscXV0N2Y4K0dNK0dQL3o2ZnYvZit3WDdZTi8zOVdxYlNYaEFndzYvNmZiL3crSC8vYis2OXYvSDlzZ3lEUDNTYlYvMHZDQ0RCcGRhUyszOWYvLzdmdXZ0Ly83a0RqVCsvL1RhL0NDRGFYcGZlLy8vLyt3L3V2ZnV1NjdCLzNycTZSdmVsOElQLzBrL2Q2NzczLzRiOTE5di8vYkRmK3VycWw2WHdnZW0vV0wzZi85eUJoUC83ZjNYM3Y3KzIvN2YxKzNwZkRDL3Frdi9YLzMvN2Z1dnQrdis3LzlOcTNTWDE4TUw3MVYvZjQ0NUJxcC83ZjNYdC9YcGR2L2EvNlRldmhoZ2dtNzFXYkJ2LzErdy8vdCs2Ky9mMzdmKzlkYXEzcGVHR0VGdm91cVNYNzllLy83ZjMrM3Y3KzIvK3VyZlhwZUdHRUUzYmZwZC9mLy8vdC9wZmYxOWJmKzNUZGRKTjZYZ3daRFhGd2doZDBuQ1NUKytsOS8vdCszKzMydmEvK2wrdXEzL2hoNFFWdGhLSVJQTytyLzMvL2J5QmlQUzl2ZXQ2MnlHVTlmMnZ0NlQ2UkRLand3OElKdGlta2tuMWIwc2dYanYvOXY5djl2dEx1dHYrOTY2NnB2Uy9ERHdRTERDWUt2LzB2Mi8vMi80cjMyL2RkdjkxMVkyTmIwdnd3eENDYkVWNzZiMHV0di85djkvdmRMdEw3UzdwaXZTZnI4Z3oyUWE0RERDQ0lNc05wSlBxM3IvLy90NlhYdDkxdDF0LzY5YVY2L3BrTXp3d1lRU0RZYVhmVGVscnQvL3QvdjdHMmx0cGJlbHRwZTF2cFY5cUREQ0NWc0pLK2t3eUdhUHBmdC8vdC8xN3RwYmFXMzEyclZhVGVrdnJRWVlJSk5ocFZlRW13dUVGK3cvLzIvMzkyMHR0TDdTMjB0OUs5TCs4TU5CYkRDUytrd1lTVUphN2YvN0QxNi9iUzIwdHUwdURCZmFWOUpmMGc4RnNHRWx0UVNZWUxaQjBLRlRERFZOTlBUYlVGVGROTjJHRWsyR0VrMjRZU1RZcHF0SzAxQy9XSGhZWWhJTk5DRUdLQ0VKRFREQmdxYWFlbTJocDZhYmhoaEJKc0dFRW13MEdFazJ2MVlhY2Z2UWVFMEdFUXpLeUdjUUVFR0VFQ0lhaFFRSUJoaUNJTndaREFNZ3VEeUNnR3dZVWd3bmFJT0lJWVR1eENJTlFNTVVRYWdjT0lSRFVCaGhidUNUQmtNd0d2c0xEd2cwR0Y4aEFaUVVnUU5uREpNTXI5YjEvdUdGaGd0d3d0aE5WVmYrS1FpSU1FSWlEQkNJZ3luRElCUkVSR2hGd1lJU0JQcUlrTkdvZ3dYNGlJL1FpT0lpUVBCWmNSRVI5Y0l6QTJnYitxQ0IvV0VINjBnL3JRTmRKSkd4bE9NamdiUWFPcEFtZzJEMUNCaitvYVFnMWVnb29nYWhwYVhqUU1LYWdQQmpSQTFEYnY0UTFzSWNmLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vSUZtcEEwQWt2VWhraGxRUVBBcmdJTWdlRnNnZUJ4QkFrZ2dUQTBySWE5a05lL0laQUpCQTh2SUhnVCtGSUhqbVFQQlM4Z3llRXRoNUE5SElhMkJJZ2ZrRUR3VWlGSUh4QkE4RlVnaHRrSmJlSHRML0lFbGtNdS9TMjkxVWdlTDVBOENmMFlPUVBITk5NaGxlUVpQLys2ZDBnNGROTjNyZnBWOUlmL1h2MDB2WC95Qm9Hb1AvODRuK2w3K3YvcTYvN1ZlQy8vVjE2N0NEWGhmL1YxL3hILy82dGYvMy85SjY5Zi8vOXRmLy8vMHYvLy8vMi8vLy85TFgvLy8vYnIvLy85TFFJZzJVeUU4Z3FUSWEwOGhxenlEWlRJc3lHdTVCb2Z5RFU1RjhoaVpEVmdpekliWnlHczVFbVFWcUVWeUdhNUY0aGxueUdsQkRaQkE4RzF5REpoQThOUUMvOVcyQ0JCNElHQ0JoQThFRHdRUENCZ3BESzdJTHp3VUlHRUdDaEF3UU1GQ0JoQTFCUW9JMWhsUVVGSWFFNUYwSU9uVWdtcEJjNUJqeURGWkUwLy9yRUlQQ1lRWVF3bk5RR0hwa01zNUJ1ZlhJRnpoTk1obG5UQ0RJR0RoTUlaRFlkUXVTc2d3Y2c1Lzc3Ly8vVnRQUVlVSTJPRWVHd29SNGlJRFJUQ2hkQXNLbW1GVENQallWQmhIQllWVWNGaERCUVVnWG9RSTRoc29wQmpnMmpZRnpRQ0R3TnpZTHIvNnNJNEwwd2p3c0lJSFFRYkJVRUdzSi9vTDAwOEpvSU1QVFFRYTFRUWNGOXFtdWc2VHRWLytrOUJ2UndkQkJvSkIwbTlKOUhCc2hsK1FNZm9MSVpmbzRWSENaREw5SEJ0Qk5rQy9vNE5oQkJ5QmoxVU9rUTJlUVkrNmJ2YlYvUy8vYnA5QWcyZ2c2VHBXUUw4azFFSjNmUzJJUVloT3hDZEozUUlHMG5kRzNybUk4RFRkL1dtNjBxUy85THA0cDEwblNmVm5nelFnLzZYQ1lUd2c2dHhUcGNRblZ4LzZlOTBtNjYvL2I3cHRMM1crcnEvMEYwMDNWMDNUYTlOZisydXRXbHJwZitsNzA5T2wvNzcvaEwvM1hwNjZmLytyMWJTNjEvL2JIcTEvU2ZYci9TNnA2OXV0ZkhIOTkwNmVtOFVrdHNocFlRMlA2WDcrdi8rLzZYdjdwZTJ2Vi8ybHpIN1MxUy9DQncvMi8waHI3Ly85QmYvNy9YMy85K2sycjFTVzJnMHZTLy8xLy8vQ1gvL2UvOEgrMmxwWHZWcWtsdG9OTHhFZ2VCT1J2ci85Zit2LzYvL3NoaHAvOTkxaXVsQkFzR0RSd3cxOGhrQXJWK3Z4OS8vRi8vNyt2eW5CbyszV2xkTk42UU1QQkFrZ3dZUzhFVHYvOWVsLzMvLy8vc1AvVzk5OUpKaDZTUVlyd2pNWC84cEF5N2YvenlmLy8vK3cvL2RMU3QrbTlLZzE2QmYvejRLKzB2L2IvLy8vdzMrM1gzdmFwZnBBMTZYMS83YVgvdC8vLzErRGYrdHE5SnZTdnBZWVhwZi8rd3dndi9iLy8vL3diL2JwNnRidlN2Mmg5TCs3L1lyLzIvLzcvdnlDdVIvci9veHZTUy9ILzEvOE1MLzIvLyt0TDhIL2VyU2VsMzYvOUw2L3ZCZ3YvYi8vZi84UC9hL2FwTjJrbC8vKzIycjZNQXJmOXYvLytuOGcxTy8vVHBQU1RiNi8vK2wvNFMvOXYvKzB0Yi8vVnRiN1ZLNzBpQzhmL3IxZHJlbC83Zi8vOWYvNjlSL3ZwSmYvL3EyKzNwZiszLyszV3RyOWVyN1QwazIzMS8vWVhTN1gxLzl2Ly9TdEp0ZisxajQwcmlrcS8vUmhiUVREYlJoV3lCQStuLzdmLzdmYUN0ZTBydEcxcW5TYmRmLzIwdUdrM1lTNFlYdi8yLy8yMG9hVFlSdGY3SnV3d2d0M3BYcEpmL3NJTGd3Z21HUXNNTUlMWVlYbElHWi8ySC8rMmxEQkJNTUpmRFNqaXV2U3QwbC85aXJNUEZNVXhWc1VuRFR0UFRZYWFZVHRPMkdFb3BpRm9NMFdFbXFUZW5WdWtQLzZqbUVuYWtnQzZJYUU3RElNREpJREJUaG9rTkNkeUM2Y2d1bkxHU0dDRVlISkFOeENoTUxJYUJFUXFha01HbjBDVEI2Lyt3dElNSU5CcllMZi8yRi8rd3A1SU5lZ21tRnROUFcvLzRORFFNSU1FRFFnd2hCc1JIRU1qaGtoQXNHRURDeEJoQm9HRVA0alE0L2lJaUloSEFUaU9JNGlJaVAvaEJBMy9YK0VnLy8vcGY5ZjZUL3IvWkE4T0xmLy8rbDE2VDEvLy9hNi9TK2s5YWovL2E1QXJxMHE5SnRMLy93WVlRTGR0S3ZTRWNkVjhnYUlkZHRLdlRTMjBrdmoyR0VrdnJZWUlJZ2VDc09FZ2d5QjZzSU90aUZGRUZzR1JQRTZBWmdzTERDWVhzRmtEWURTY1JFY2YvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy80QUlBSUFBRGdBQUFRTUFBUUFBQUlFSUFBQUJBUU1BQVFBQUFJc0NBQUFDQVFNQUFRQUFBQUVBQUFBREFRTUFBUUFBQUFRQUFBQUdBUU1BQVFBQUFBRUFBQUFSQVFRQUFRQUFBQWdBQUFBU0FRTUFBUUFBQUFFQUFBQVZBUU1BQVFBQUFBRUFBQUFXQVFNQUFRQUFBSXNDQUFBWEFRUUFBUUFBQURjUkFBQWFBUVVBQVFBQUFPNFJBQUFiQVFVQUFRQUFBUFlSQUFBY0FRTUFBUUFBQUFFQUFBQW9BUU1BQVFBQUFBSUFBQUFBQUFBQUFBREFFZ0FBQkFBQUFNQVNBQUFFQUE9PQBB0JYUC+g0U1VrcUFCQVRBQUFtb0RnZi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8rUXlReTdJR3dHWFBJWklMTGtOQS9rRHdWcklXM0lIZ3ZCQThGcUUwMHNnZUM5cHA1QldoSUZTdklIaHBPUVBEVG9RSzNJTFliMDFUVElOT0VMbUNKd3lwQlk4RlZzZ3kya1ExNkJTQ29jRURCU0RRQkVGZkNCY1dJTkp3UWVGL3FEQ0RTQ0QwbTRlQ0JoU0RaV0VHRndUd1FNSVBDMVZLUWE2a2VNUFRwSnU4SU1LRUdtdUVDd2cwZklQM2RjSUdnZzJrRTlKdWtrZUd3cURRYVdFQ3dqNDJFRUcvL3dpUmhwTjZPTjBsWkRTZXRCQnNGVFh3Z3FRUU5vSnYvOUhuSmV0cElKMTIwMVNTYkNwbzBKcm9MUVRkUC8rRUZoNmIxZWttMDYwbXdScDVtTndRYjhKVXJhdC8vMXV1a2srbGFla2xoQmFCQTZRZFpzQ3NLY0F3cWRLL3F1a3YzL3BYdXZiZ3VtNFRhTUxwVXEzVDd1OUtsdFZhUzYxYmZwY0xwNi9wS3FwMXZyMS8xL3FsY05wSksyd3ZmZEwwdGYzLy9YL1MrcXNHTWp2ckhwdXV2UzZYUy8vNi8vU1ZXdzBjNlgvcTYrbHIvZi8vL3BmWGhqMWIvOUwwdXYzK212WC85SkpMeUd0aVg5UFgrdXZyKy9WZVBwZjdZUjlmL1hHa3ZxcXV2LzFYK3Uwa2x3VWkzcEwvLzY2V3ZmK1FiaS91cVdrbFZoR2FZL1hqNlhwRDNYK0kvMzdwVnVDVC8zNlNYNlZwZjEvMGxwUWw2dlMvcXYwbGJyLzcyMHUwaDdoWCsvNlhrV2ZWcGZ2KzZwUlZiWHBMK2t2Z2dhcXcwci9JSGdtRUxkN2FXd2xkcS8vU1Nyd2c2cUdFdGZwVzlob0pLdTJ2Uy8wa3ZDYWtXaXNOTC9YZzhNVjVETnA0My85SUw0aDRRYVRFSnYvNHd3U1NrRVVmNlg2Z2tscmhCMCt2K3lYQm1wclcvLzBRMDZsNW1LMGsxRER2LzVKZ1VJSnJ2QmYrbEIxd2did25URGJYL1llanloMXNkTC90TGhQbzhUVzlmcWd3MGtteUMvRXUvLzBrY0dIOU54QkEya0VHd3dqYVg2aHZJWW1sZVA2WDZVRUcwdHAwbjBjYllZUytseUdxRVNDRFNkLy8raGJYRjRUYVFTQnVLLzhodEo4STh3MG0vOUw5SjY3M1ZJTnNMMytZYlNRUWJTdjhnZmxaQTRDZjZUYVc5ZEpCc05KZVFQeWpENlRlMy8vK2svKzJsVHRmK0cwbHRXLytrdjByUyt2U2NHQy85K25yLzErdXRjaWp2NlNUWTEvNlMzdDEvU1g2dkVmdXU2LzcvcTMrUVBEWmk3ZnBhLzByL1JBOFBoQzU2Vk43YS9pbCtscit0ZFkvK3Z0MS8vcGYra3JyLzZYOS82V3VsdlgvMS8vKzJrOWYxcFVRMS8zMHZTNm9obXY2WDIydHIvNlJCc0gvLzlkVit2OXV2MG0vU0MxMTB2VmYvcGZzVi85YVRya0RFTGVsNlgvLzl0ZnBmcFhYMDYvcFpBOEhqL1NTNmQrc2d5M3V1bCszOUpXa2xoQi8vdXRzTi9CU0I0YjRsZGROcGVsZXI2WDFycEpYM0R0Y0tuL3BkYmFUcFZwSmFhMWYvVGNQK2swbTB0SXRYYVgxNnQwbCt2cEpPa3cwR1FnNzFyNytoMmwyazJsVnFFditIcGJhMkVlUnJuL1M5cGF0cEp0aEp1bGJTUVgvRDBrbTBtZFdtS3RmZEp0Sk5ZWVN1R0Vtd2tyYVFTLzRlRXR0Qk1RZzA5ZGUya1FhVWl5Z3dpR3VUazVwdEttR0VFRUZ0ZXhFSkppbWd3ditrbURCTFdLMklUQmdrckJna0NDMnF3WVdEQkJoQnAwaFNEV0dJWHd1RXhDb01RZ1FMRVJJYXVpUWhnZ3dyOFVnd2hFR0NFTUVHRUlZVUZrTWtNeU1nZUMvRU11K3F3WndNZ01vNEI0YXh3RGc4QjRheHdHMEx4RVcxU3hFUkVmZXRMOVV2MjZwTDlKZlZ2cEwyMGt2K3FTeGJTVWQxUzI2WVcya08ybHRwYjF0TllqLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vNUFXQnFyL0lHb05NRU1nazVESkJhR0VEWUdLeUI0RmxaQThDalFndGdZZ2hrSi9JR1lNVUlIQ0xJS2drQ0tzQzVRQ0hRTmNsb2FDV0JxbElHWVZBTUZXR0NvQmNxd1hLZ0NEb0RCVUJybW9GUTFCZzZnMUVRR21WWWFSRXdaQ3JEU0lvQ3FESUdLRURHaERDZ2huR0VNQXlCQ2NoZ3ZaRFJXUVVZUXphRU5FeUdsTWhzQmZCQXlDdU1XUllGWWpZYUJLY05QUUlpWUYvLzlyZUVISXVHMEhCaEE0ci8vSU1FWkJjT3VhQWVHbkNEQkErd2c0UHdnZi8vOTRRY01JT0dFSC8rdUUxdGV0TUlPeURJS0JGQVBJS0N3aHBpNURLRlFpZ0dFUXpDQ0dhUVF6Q0NHYVFRekNFYUJta2dGTm9rQmxzaHB6Q0p3Y01ocGFFUWdJbkJ3eUdsb1JBMGZEOGczSUlOUGtEQ0NEVE1nb1JrREU3UjhORHF2VENKQVFOUXpNRVlRSWhzb0daZ1EyYUJuczBCaUVhQVh0Tk5OTklKcDZiYVFJRzJhQXUwQ0J0bWdMc0lJUHROTzAxWWFJR0VVUU1JU253eTlkbzBBaDNnNkNENUJRRzVCUmJrRzlvSU8wMDAwMGdtbTBuYUNDRERjTmhCQmh1RzZEellZTkF4YXA5MW9OcE4xQlY4NEt3Z2d3MTIwRUh3YjM4SkIvL1MvdlNiMjBtOTBucmYrdlZ0SnRLa3ZRUWJRUWJ2Y0pOWWIvMEUvL3BkcmVrRzl0SU43YVQ3L3Y5NzAvcGZUb0lOKzJndmIvcEwvOUwrOUp2MG0vUy8vdExXbTFiUy85MG0xOUwyLzlKLy9TNzcwbjNTYjIrdi9mYi9TZXRMMG0wRTk3cjdmK2wvK2w2emE5WDNYNi8vM1hhdDAybHBmNlRhTnI5ZTMvMS8rbHphYzJ1M3BON3BONzEvL3JyVGFUMXBmVDAzMzZYdi9yLytsK3YzcS9xLy8vNzEzNjJ2WGpxNlQrdnQ0NHBmL3BlM1h0OVg5WDZ2LzlxMnUzVHBhL3BYMzlmZi8vNkMvWDI5WDlYL0VjZmY1dFYwbTZGTHlHUUNtNUE4TkQ5UHYwa08vcEQvNlh2WHY5LzMvLzE5MDJsYXBlRmc5U0dLRS90TC8vLy8wdnRmYjBuOUovLzdYU2ZiM3BMd3NPcUNlKzNxdmZyLzZYdlh0L2ZYZlgrOVAvcFdsWGhZYXBCR1p2MHZxdC9yLzB2dGZ2Ly8xdisxdmJTYlNkVjhGaDFvSnRiNzZYLy8vUzk2OXZWOVZmci9mMHY2YnBMeUI0ZXlEVllTRERTMHVuU2ZTL3lHZU1obmhmL1MrMTkrdnF2Vy8rdjl0ZEpMMEdFd2dndzlKSi8vUysvLy85TDNyMi92KytyL3RkSnRYU2JXdld3Z1FZYVdzZlRlbFcvL1gvcGZhKzMvcGZwTVA5NmIrcnJwTDdUQ0NEQnBhWHI0UVMvLy8vb0wrdnZWL1Y5S0gvZi9zVTJrditFRUdHbHBWN2VDQy8vMS85TDIvMi85TDlKbW9GbjdwYVRmNnBmNFFRWWFTWDZYRXdHbi8vNC8wdjB2Zi9TL0NDa0lDbi8vMG1tNlMvd1FSRFRLd1lhV2wvY2dRWm44TGhmL1gyLzIvOEpma0tkbElDdCsxZEp2YWJTcjZhQ0N3dzYrdEo0UCtPUC8wLzB2Yi95eHdRWDV0V0QvZXIvdjE5NkNDd3cwdGYrWmgzLy8vRiszL2YrMS9CTVArLy9iYlNTOWhCb0lMRERTNlZKSnZCaC8vek1HdjkvcGUzL3dYN1FiL2RMU2JTNDB2RVFnV0dEUy8vdzMvLy8zN2Y3LzhGKzJEZi92L2JWZUVFSVlhV3RlM2h2Nm1ZRVptQkgvNW52OWZiL3gvYklLWVQ5dGJYMDlMd2dndzB2MGt2Zi9mZi85djNyMi8vOXlDd24vNjZiU1YxOEVFRERycGYrLy8vLzl2N1g3N3J1dHNndEIvLy96YWRKZkNEYVg5Sk43M3IvMy83ZnZYdC8vOWgvMjB0TDBuZEw0UWVyMGxqN2ZyL3lHWlpCSS85djdYMy8vMjIvL2ZiMXZyNFFmZjZUMy8vM2kvL2I5Njl2ZjM5c1ArMnRycEpONlh3d1gvWC8vLy8vMi90ZmI5TDB0Ly9ycCt2WDRZWDNTU3Y3Nnh4c2hwSS85aCs5ZTMzOS9iLy85NnQ2WGhoaEJQZXFTTmdZKyt2NGYvMi92Ky8vOXYvYlNkTHBKdnJ3d1lRVnUzTHJYL2ZYdS8vdCs2WHZ2VzliYi8vZTJxWHBlR0dFRTNlbHFyZit2My8rMzkvdDlyMzcvN2RmKzNwZUdHUTJ5c0lKcDIwc0lLdjIrdi8vMi8wdmIrdlM3LzlkTDB2WHd3OEVDRzJ3azRTVyt2WDIvL3czN2Y3ZTM3KzNYcGUrMmtrM3BlR0hoQk9HS2lpZVUvdDlaRExqLy8yOGhtUjZYMzZYYVcyUXk0Kzl0TFM5VytpRFJIaGc4SUt3d21FcTNyZXZXMy8rMyszKzN0KzNXLy8vRy9YcGZndzhJSnNXQ3FuNmIwdGR2Lzl2WGl2ZmRML3ZyZFc2NDBtOWZ3d3hDQ2JGTDlYMHY3Ly9iNjM5dnV0dExiMTdxT3FXOUw4Z2VIc2hwMkdHQ0NJRzkycTMxRDB2Mi8vMi82OXZiUzIwdHZyMTNkSjlMOU1GRERDQ0NiYVZQcTNwZnQvL3QvdjhiYVhwYmV1M3RWMDMxK21FZ3d3Z1Z0cExlazNoTDl2Lzl2LzkyMHR1dnRMdEw2VzlKZnZEQmhCSzJFdDlKaGtNMk5MWGIvL2IxMnZlMHRocGJkMXRoYTNTZlgvd3d3Z3JZWVNTdkNURENXQ1g3RC8vYi8vZGhwYllTMjdDWGFUdGFWNlMvcEE2Q3d3d2wrQ1FZTUVsSUVCNld3MTcvYlZkcnR3MkV0aHBkMmxzTUpmN2VrRi93OExZTUlKTzBJVEl3WEVKRFREQnFtcWVtdzQwOU5kZ3dna3d3d2drMjRNSkpzMURUVzBrMm1oLzBIaFVHUXlRSUdDRG9NVUVFQ2tOQ2dNMWl5R3hRUVlWa01LTWdYVU1NSkFnYlFJaUF6ZzNacUpFR3BRd1lKRUdwUXc1MEpFTlJXeFhXQ3d5RFdvL2F3OEpvTVFnUU1oc0JnZ1FZU0JBdUdKSUF4cnJZWVVnUUl3VWhnUTRZaFlZaGJEUWhiWDRTWWV2c0pJUEJOQmd2a21Cd0NrYUJVNFpBZ3pmKy92N2hnc01MY0dGaGhVNzEvNDBJaURDRVJJTElnUkVnc0NCRWNSRWFFUTRNRUpBc1RpSU1FSU1FOVVJaVA1QmJCcThoa2hubVFXeS9FZ2VESU9RVXVJWkF1RUR3WnVJSGd6MEVSOUlSSEVXWmdTZ1ZmMEVEOUxRZjFRUVAwdEIvcEk1Zy9TcEJFUXVTZStpQnlBM0hxRURINlVNS0lOZlVVUU5nSlhmQ29HRk5ZSGhseGhBd3ZvZ2JBekIvaENPUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLytRUEZySUdvRjhJSFlHM1BJWkliZGtNZzRDWkE4Q0lJWkFiMlFKN0lFME5iTWcyNTVESUF3NUE4UE1oa0x3cEE4SDhnZUJaTWdwekNDd3cvQ2tEeTBJSGdWaHFRUEZESUhnY2FFRlhSTGJ5QjRMMElOdkwva0ZpeURSbnBiZTZhWHJoTlAxNyswaUI0UE1oa0wwYktRUEIvdE1obFRJS2MvL1hmU0Q2N3ZXLzJsNlEvK3ZmcXZyLy8venlmNlc3WGtEVW8vOUxTLzYvQy8vVGErdUdnd3ZCZitsZXY4Ui8vK3JYLyt2L1YvMS8vL3ExLy8vL1YvLy8vOUswdi8vLzl2Ly8vL1MvLy8vL2JYLy8vOUxuQTJ5Y05LUWt5RExNZzIva0cyZVEyNlpFb1Eyb0lOVCtRMG5Ja3lERXlEYTVFb1FWemtOcUNFbVFaVGtSeURUQkY0aG1veUdxNUF3NUE4Rk55QnhmLzAzQkFnOEVESWJXb0lIZ2dlUTE5Y0lHRkJjZ3dmQlFnWVFNRkNCZ2dZS0NCaEExQ2hNRVU0WmtGQlNHd1FSS2lDNHl5RDFFR0VFTkhrRnhoRXFJYUJ2LzFjUWc4SmhCaERDRHdnOU1nMVVJR0thNEttbVFhS0poQXdWQmhESUdLS0U4ZzBVSUVVOVY3WC8vNnNKNkRDaFFqdzJFUkFGenhFR0d5Z3lCalFobzAwQ3lDZ01KcGtEQWFEQ1BqWkF2b2cxSWFORlI0V2lNQjVCTkNCaEJEUDVCUWpJRVV0SEFVRWdHQVgvNnVqWXIwd2p3c0k4TENDRFlTUVFmWDlCZW1FOVVFRzlNSThMMVFRY0w3VFRTWWFJR0RwTUlOVFlFTC82c0pBK2pnMmdnNFFRT2syRlNhd2p4UDlCZWp4dEhpZUVlSnBCaDZPRGFCQTE2UWNGOTZmcDk2U1MvOVhwdmhCMEVIUVFkSnZTZlFJTmtNMlpES25vTEladm9FSFFUWkRMbWdRYlNjaGx6UUlOaElPUXk1cXI1RFJNaG5uL2UybGRWWC8xZStrRzBuU2RMSVpYcXpNR2dVN3ZwY1V4Q2RpblNiZElPazdvMmVzaGwrN3VrNjAyay9wZityMDhRbldsZFc5WGhQK2x3bW5oT3R4Q2JTNGhQdi9mZjlhV3YvcFg5V2s2VDE5WFRmNlhUVGROMDNUcGRPdi8wNmFUYVQrbC8rMzN1bDFyZi8vb0wvOWZiWDYvOXRmMjByUzYvOUxGNjExNjlYci9TNnJyMjY2NkhIL3JUcDBueFNTMnlHcHhBdS83ZnQvNnYvditsN3Z1bDdhL2Y3N2MycTMzU1g0UWFmcGY5Q2wvLy80UVgvKy8vVi8ydlh1bHFxVzZEWDZiL1gvLy85TC8vL1MrSC8xcTJrMms5SkpiYUJwZUlndS8vL1gvcGYvOTcvc0grMnJkZkZXdElMRERRYStReVEzMS9YWC8vOVAvOWYvNXFEVS8xcmROUHBKYmFQRVF6WGtNZ0NzUjYvSDMvOGYvKy9yN0lnR243L1RxMWRKQmg0UVZCaXZCRkIvLy9TLzcvLy8vMkgvYVZyMTZxdzhKSkJyd2pRVC84Z1ladDYvNTlQLy8vL1lmNzcwM3R2U1Q2U1FOZWdYLzh6QlQybC83Zi8vOWZodis2L1NidGF2NkRYaEJmWC90cGYrMy8vLy9odi9YU3ZUZWtuNlVHRjZYLy90cGYrMy8vLy9nMys5TjcvNlY2dEQvL2Qvc01KZiszLy8vMzVCazAvdGRkSk50Vi9IMHYvL1loZiszLy9kYVg1QWtSKy8wM28zdnBMLy8wdjI4TUwvMi8vLy84SC90SzEwa203V3YvUy9kL3d6Q0JmKzMvKy8xKy83NzFlbHZTWC8vMWQvcEQvN2YvL1dyZmtHdVArMHRYMWI5SWdSSC8vcjYzaEwvMi8vN1hyL2YxKy9TcHR0SmYvOWVtNzMwdi9iLy9mMXYvN1Y2ZXIwcjlMLy9YU3R0YjEvOXYvL3JwdGZyKzFqWTBudFVxLysxOTdYMS85di8rMHJTMS85WHFxVnRpcVgvOWJRVnRvd3JaRFlQci83RC8vYjdTWWE5cFcyakN4dTZWNi8vdGhHL2FUZGhMYkM5LyszLys2Vm9LMS95S1BZUzNyU2JhUy8vaGhMaGhKaGtNT3d3bHcxNUFnYVArMy8vYVZwTU1FYy9hVmhPR0V1dWxmUy8vaUZvTUlKaGhXS3RoaEpZZDJ1ckJyYTkyMmxCZ2dtSzF0SmltSy9lcmFTQmYvYXNxSXBnd1ZxR3dZSkJBMkdDRGhoQThJRzJFREJBd1FPREJCdzJHbEZNTENLY0REQ1ZWQnUxaEpoNkgvN0NqbTBFeFFhblFNb1VRMkY3SUVGNTBEQkxob2tOZ2h5R0M1REJjRURuUUhJZ0VPZ0Z3WUlLRTFrTmdPVUdFMHdvT3RvS3c5Zi9hNkRRYURDMkN3Ly9zRi8reENuMGd3dmltZzF2WFcwLy9oaERRTUlNRURRZ3doRFlpT0xMaGtobEJZTUVEQ3hEQkJvTUVPK0k0NC9pSWtDVGhJTEdCSGdUaVF5UWFPeEhJSGgrRVJFYS94RkJFTTU4Zkgvc0lKLzYvd2svLy9wUCtsL2tEd0lLLy8vL1gvM3IrdXZTdGYvLy84ZXYwbnJDK3Y5cFpBOFd2U3IwZzJsLy83YVh0cGZxSlRnaTRHd0dlUDE2UWp0cEplUU5BYW5YdEwrMHRzSkplaFd3d2drbFgyR0Vna21nNnd4Q0JJZ1ppQ0NCK0RyRENoZkN5QnRET2RrY0RNTWNNTEVSRWYvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy80QUlBSUFBT0FBQUJBd0FCQUFBQVRBa0FBQUVCQXdBQkFBQUFjd0lBQUFJQkF3QUJBQUFBQVFBQUFBTUJBd0FCQUFBQUJBQUFBQVlCQXdBQkFBQUFBUUFBQUJFQkJBQUJBQUFBQ0FBQUFCSUJBd0FCQUFBQUFRQUFBQlVCQXdBQkFBQUFBUUFBQUJZQkF3QUJBQUFBY3dJQUFCY0JCQUFCQUFBQUJ4TUFBQm9CQlFBQkFBQUF2aE1BQUJzQkJRQUJBQUFBeGhNQUFCd0JBd0FCQUFBQUFRQUFBQ2dCQXdBQkFBQUFBZ0FBQUFBQUFBQUFBTUFTQUFBRUFBQUF3QklBQUFRQQBBwMsUCxNmb3BlblJlYWRGcm9tTWVtb3J5AEHgyxQLEmZvcGVuVGlmZk1lbXN0cmVhbQBBgMwUCxB0aWZmU2Vla0NhbGxiYWNrAEGgzBQLJnBpeFJlbmRlckJveEFyYgBwaXhDbGlwQm94VG9Gb3JlZ3JvdW5kAEHQzBQLFHBpeFNjYW5Gb3JGb3JlZ3JvdW5kAEHwzBQLE3BpeENsaXBUb0ZvcmVncm91bmQAQZTNFAuAAQEAAAADAAAABwAAAA8AAAAfAAAAPwAAAH8AAAD/AAAA/wEAAP8DAAD/BwAA/w8AAP8fAAD/PwAA/38AAP//AAD//wEA//8DAP//BwD//w8A//8fAP//PwD//38A////AP///wH///8D////B////w////8f////P////3//////AEGgzhQLFXBpeEFkZFNpbmdsZVRleHRibG9jawBBwM4UCxFibWZHZXRMaW5lU3RyaW5ncwBB4M4UCxBibWZHZXRXb3JkV2lkdGhzAEGAzxQLEWJtZkdldFN0cmluZ1dpZHRoAEGgzxQLMXNhcnJheUNyZWF0ZVdvcmRzRnJvbVN0cmluZwAAAAAAcGl4U2VlZGZpbGxCaW5hcnkAQeDPFAsRcGl4RXF1YWxXaXRoQWxwaGEAQYDQFAsScGl4Q29udmVydExvc3NsZXNzAEGg0BQLEHBpeFVzZXNDbWFwQ29sb3IAQcDQFAsQcGl4RXF1YWxXaXRoQ21hcABB4NAUCxFzZWVkZmlsbEJpbmFyeUxvdwBBgNEUCxBwaXhhQW55Q29sb3JtYXBzAEGg0RQLEnBpeGFHZXRCb3hHZW9tZXRyeQBBwNEUCyFmcmVhZEhlYWRlckpwMmsAcmVhZEhlYWRlck1lbUpwMmsAQfDRFAsRcmVhZEhlYWRlck1lbUpwZWcAQZDSFAsQcGl4YUdldERlcHRoSW5mbwBBsNIUCxdwaXhHZW5lcmF0ZUhhbGZ0b25lTWFzawBB0NIUCxZsX2dlbmVyYXRlQ0lEYXRhRm9yUGRmAEHw0hQLFmxfZ2VuZXJhdGVGbGF0ZURhdGFQZGYAQZDTFAsT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AAhfAAAIHwAACZ8AFAdjAAAIfwAACD8AAAnfABIHGwAACG8AAAgvAAAJvwAACA8AAAiPAAAITwAACf8AEAUBABcFAQETBREAGwUBEBEFBQAZBQEEFQVBAB0FAUAQBQMAGAUBAhQFIQAcBQEgEgUJABoFAQgWBYEAQAUAABAFAgAXBYEBEwUZABsFARgRBQcAGQUBBhUFYQAdBQFgEAUEABgFAQMUBTEAHAUBMBIFDQAaBQEMFgXBAEAFAADeEgSVAAAAAP///////////////wBBkMAVC9EDAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AEHwwxULGBEACgAREREAAAAABQAAAAAAAAkAAAAACwBBkMQVCyERAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAQcHEFQsBCwBBysQVCxgRAAoKERERAAoAAAIACQsAAAAJAAsAAAsAQfvEFQsBDABBh8UVCxUMAAAAAAwAAAAACQwAAAAAAAwAAAwAQbXFFQsBDgBBwcUVCxUNAAAABA0AAAAACQ4AAAAAAA4AAA4AQe/FFQsBEABB+8UVCx4PAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAQbLGFQsOEgAAABISEgAAAAAAAAkAQePGFQsBCwBB78YVCxUKAAAAAAoAAAAACQsAAAAAAAsAAAsAQZ3HFQsBDABBqccVC34MAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAQbDIFQuKDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5l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ZXN0ZWQuAHRleHRvcmRfZm9yY2VfbWFrZV9wcm9wX3dvcmRzAEZvcmNlIHByb3BvcnRpb25hbCB3b3JkIHNlZ21lbnRhdGlvbiBvbiBhbGwgcm93cwB0ZXh0b3JkX2ZwX2Nob3BwaW5nAERvIGZpeGVkIHBpdGNoIGNob3BwaW5nAHRleHRvcmRfcmVzdG9yZV91bmRlcmxpbmVzAENob3AgdW5kZXJsaW5lcyAmIHB1dCBiYWNrAHRleHRvcmRfdW5kZXJsaW5lX29mZnNldABGcmFjdGlvbiBvZiB4IHRvIGlnbm9yZQB0ZXh0b3JkX2ZwX21pbl93aWR0aABNaW4gd2lkdGggb2YgZGVjZW50IGJsb2JzAHRleHRvcmRfbWF4X3BpdGNoX2lxcgBYaCBmcmFjdGlvbiBub2lzZSBpbiBwaXRjaAB0ZXh0b3JkX2ZwaXFyX3JhdGlvAFBpdGNoIElRUi9HYXAgSVFSIHRocmVzaG9sZAB0ZXh0b3JkX3NwYWNlc2l6ZV9yYXRpb3Byb3AATWluIHJhdGlvIHNwYWNlL25vbnNwYWNlAHRleHRvcmRfc3BhY2VzaXplX3JhdGlvZnAAdGV4dG9yZF93b3Jkc19kZWZpbml0ZV9zcHJlYWQATm9uLWZ1enp5IHNwYWNpbmcgcmVnaW9uAHdvcmRzX2RlZmF1bHRfZml4ZWRfbGltaXQAQWxsb3dlZCBzaXplIHZhcmlhbmNlAHdvcmRzX2RlZmF1bHRfZml4ZWRfc3BhY2UARnJhY3Rpb24gb2YgeGhlaWdodAB3b3Jkc19kZWZhdWx0X3Byb3Bfbm9uc3BhY2UAd29yZHNfaW5pdGlhbF91cHBlcgBNaW4gaW5pdGlhbCBjbHVzdGVyIHNwYWNpbmcAd29yZHNfaW5pdGlhbF9sb3dlcgBNYXggaW5pdGlhbCBjbHVzdGVyIHNpemUAdGV4dG9yZF9waXRjaF9zY2FsZWJpZ3dvcmRzAFNjYWxlIHNjb3JlcyBvbiBiaWcgd29yZHMAdGV4dG9yZF9waXRjaF9yb3dzaW1pbGFyaXR5AEZyYWN0aW9uIG9mIHhoZWlnaHQgZm9yIHNhbWVuZXNzAHRleHRvcmRfd29yZHNfdmV0b19wb3dlcgBSb3dzIHJlcXVpcmVkIHRvIG91dHZvdGUgYSB2ZXRvAHRleHRvcmRfd29yZHNfZGVmX3Byb3AAVGhyZXNob2xkIGZvciBkZWZpbml0ZSBwcm9wAHRleHRvcmRfd29yZHNfZGVmX2ZpeGVkAFRocmVzaG9sZCBmb3IgZGVmaW5pdGUgZml4ZWQAdGV4dG9yZF93b3Jkc19waXRjaHNkX3RocmVzaG9sZABQaXRjaCBzeW5jIHRocmVzaG9sZAB0ZXh0b3JkX3dvcmRzX21pbmxhcmdlAEZyYWN0aW9uIG9mIHZhbGlkIGdhcHMgbmVlZGVkAHRleHRvcmRfd29yZHNfaW5pdGlhbF91cHBlcgB0ZXh0b3JkX3dvcmRzX2luaXRpYWxfbG93ZXIAdGV4dG9yZF93b3Jkc19kZWZhdWx0X25vbnNwYWNlAHRleHRvcmRfd29yZHNfbWluX21pbnNwYWNlAHRleHRvcmRfd29yZHNfZGVmYXVsdF9taW5zcGFjZQB0ZXh0b3JkX3dvcmRzX2RlZmF1bHRfbWF4c3BhY2UATWF4IGJlbGlldmFibGUgdGhpcmQgc3BhY2UAdGV4dG9yZF93b3Jkc19tYXhzcGFjZQBNdWx0aXBsZSBvZiB4aGVpZ2h0AHRleHRvcmRfd29yZHNfd2lkdGhfaWxlAElsZSBvZiBibG9iIHdpZHRocyBmb3Igc3BhY2UgZXN0AHRleHRvcmRfd2lkdGhfc21vb3RoX2ZhY3RvcgBTbW9vdGhpbmcgd2lkdGggc3RhdHMAdGV4dG9yZF93b3Jkc3RhdHNfc21vb3RoX2ZhY3RvcgBTbW9vdGhpbmcgZ2FwIHN0YXRzAHRleHRvcmRfcGl0Y2hfcmFuZ2UATWF4IHJhbmdlIHRlc3Qgb24gcGl0Y2gAdGV4dG9yZF9kZWJ1Z19ibG9jawBCbG9jayB0byBkbyBkZWJ1ZyBvbgB0ZXh0b3JkX2RvdG1hdHJpeF9nYXAATWF4IHBpeGVsIGdhcCBmb3IgYnJva2VuIHBpeGVkIHBpdGNoAHRleHRvcmRfdGVzdF9tb2RlAERvIGN1cnJlbnQgdGVzdAB0ZXh0b3JkX2Jsb2Nrc2FsbF90ZXN0aW5nAER1bXAgc3RhdHMgd2hlbiBtb2FuaW5nAHRleHRvcmRfYmxvY2tzYWxsX3Byb3AATW9hbiBhYm91dCBmaXhlZCBwaXRjaCBibG9ja3MAdGV4dG9yZF9ibG9ja3NhbGxfZml4ZWQATW9hbiBhYm91dCBwcm9wIGJsb2NrcwB0ZXh0b3JkX3Nob3dfZml4ZWRfd29yZHMARGlzcGxheSBmb3JjZWQgZml4ZWQgcGl0Y2ggd29yZHMAdGV4dG9yZF9zaG93X25ld193b3JkcwBEaXNwbGF5IHNlcGFyYXRlIHdvcmRzAHRleHRvcmRfc2hvd19pbml0aWFsX3dvcmRzAHRleHRvcmRfYmFsYW5jZV9mYWN0b3IARGluZyByYXRlIGZvciB1bmJhbGFuY2VkIGNoYXIgY2VsbHMAdGV4dG9yZF9wcm9qZWN0aW9uX3NjYWxlAERpbmcgcmF0ZSBmb3IgbWlkLWN1dHMAdGV4dG9yZF9ibG9ja25kb2NfZml4ZWQAQXR0ZW1wdCB3aG9sZSBkb2MvYmxvY2sgZml4ZWQgcGl0Y2gAdGV4dG9yZF9waXRjaF9jaGVhdABVc2UgY29ycmVjdCBhbnN3ZXIgZm9yIGZpeGVkL3Byb3AAdGV4dG9yZF9zaG93X3BhZ2VfY3V0cwBEcmF3IHBhZ2UtbGV2ZWwgY3V0cwB0ZXh0b3JkX3Nob3dfcm93X2N1dHMARHJhdyByb3ctbGV2ZWwgY3V0cwB0ZXh0b3JkX2RlYnVnX3BpdGNoX21ldHJpYwBXcml0ZSBmdWxsIG1ldHJpYyBzdHVmZgB0ZXh0b3JkX2Zhc3RfcGl0Y2hfdGVzdABEbyBldmVuIGZhc3RlciBwaXRjaCBhbGdvcml0aG0AdGV4dG9yZF9kaXNhYmxlX3BpdGNoX3Rlc3QAVHVybiBvZmYgZHAgZml4ZWQgcGl0Y2ggYWxnb3JpdGhtAHRleHRvcmRfZGVidWdfcGl0Y2hfdGVzdABEZWJ1ZyBvbiBmaXhlZCBwaXRjaCB0ZXN0AHRleHRvcmRfYWxsX3Byb3AAQWxsIGRvYyBpcyBwcm9wb3J0aWFsIHRleHQAdGV4dG9yZF90YWJ2ZWN0b3JfdmVydGljYWxfYm94X3JhdGlvAEZyYWN0aW9uIG9mIGJveCBtYXRjaGVzIHJlcXVpcmVkIHRvIGRlY2xhcmUgYSBsaW5lIHZlcnRpY2FsAHRleHRvcmRfdGFidmVjdG9yX3ZlcnRpY2FsX2dhcF9mcmFjdGlvbgBtYXggZnJhY3Rpb24gb2YgbWVhbiBibG9iIHdpZHRoIGFsbG93ZWQgZm9yIHZlcnRpY2FsIGdhcHMgaW4gdmVydGljYWwgdGV4dAB0ZXh0b3JkX3RhYmxlZmluZF9yZWNvZ25pemVfdGFibGVzAEVuYWJsZXMgdGhlIHRhYmxlIHJlY29nbml6ZXIgZm9yIHRhYmxlIGxheW91dCBhbmQgZmlsdGVyaW5nLgB0ZXh0b3JkX3RhYmxlZmluZF9zaG93X3N0YXRzAFNob3cgcGFnZSBzdGF0cyB1c2VkIGluIHRhYmxlIGZpbmRpbmcAdGV4dG9yZF90YWJsZWZpbmRfc2hvd19tYXJrAERlYnVnIHRhYmxlIG1hcmtpbmcgc3RlcHMgaW4gZGV0YWlsAHRleHRvcmRfc2hvd190YWJsZXMAU2hvdyB0YWJsZSByZWdpb25zAHRleHRvcmRfdGFiZmluZF9zaG93X2ZpbmFsdGFicwBTaG93IHRhYiB2ZWN0b3JzAHRleHRvcmRfdGFiZmluZF9zaG93X2luaXRpYWx0YWJzAFNob3cgdGFiIGNhbmRpZGF0ZXMAdGV4dG9yZF90YWJmaW5kX29ubHlfc3Ryb2tld2lkdGhzAE9ubHkgcnVuIHN0cm9rZSB3aWR0aHMAdGV4dG9yZF90YWJmaW5kX3Nob3dfc3Ryb2tld2lkdGhzAHBpdHN5bmNfZmFrZV9kZXB0aABNYXggYWR2YW5jZSBmYWtlIGdlbmVyYXRpb24AcGl0c3luY19vZmZzZXRfZnJlZWN1dF9mcmFjdGlvbgBGcmFjdGlvbiBvZiBjdXQgZm9yIGZyZWUgY3V0cwBwaXRzeW5jX2pvaW5lZF9lZGdlAERpc3QgaW5zaWRlIGJpZyBibG9iIGZvciBjaG9wcGluZwBwaXRzeW5jX2xpbmVhcl92ZXJzaW9uAFVzZSBuZXcgZmFzdCBhbGdvcml0aG0AdGV4dG9yZF9vbGRibF9qdW1wbGltaXQAWCBmcmFjdGlvbiBmb3IgbmV3IHBhcnRpdGlvbgBvbGRibF9kb3RfZXJyb3Jfc2l6ZQBNYXggYXNwZWN0IHJhdGlvIG9mIGEgZG90AG9sZGJsX2hvbGVkX2xvc3Njb3VudABNYXggbG9zdCBiZWZvcmUgZmFsbGJhY2sgbGluZSB1c2VkAG9sZGJsX3hoZnJhY3QARnJhY3Rpb24gb2YgZXN0IGFsbG93ZWQgaW4gY2FsYwB0ZXh0b3JkX29jcm9wdXNfbW9kZQBNYWtlIGJhc2VsaW5lcyBmb3Igb2Nyb3B1cwBvbGRibF94aGZpeABGaXggYnVnIGluIG1vZGVzIHRocmVzaG9sZCBmb3IgeGhlaWdodHMAb2xkYmxfY29ycmZpeABJbXByb3ZlIGNvcnJlbGF0aW9uIG9mIGhlaWdodHMAdGV4dG9yZF9vbGRibF9tZXJnZV9wYXJ0cwBNZXJnZSBzdXNwZWN0IHBhcnRpdGlvbnMAdGV4dG9yZF9vbGRibF9zcGxpdF9zcGxpbmVzAFNwbGl0IHN0ZXBwZWQgc3BsaW5lcwB0ZXh0b3JkX29sZGJsX3BhcmFkZWYAVXNlIHBhcmEgZGVmYXVsdCBtZWNoYW5pc20AdGV4dG9yZF9kZWJ1Z19iYXNlbGluZXMARGVidWcgYmFzZWxpbmUgZ2VuZXJhdGlvbgB0ZXh0b3JkX29sZGJsX2RlYnVnAERlYnVnIG9sZCBiYXNlbGluZSBnZW5lcmF0aW9uAHRleHRvcmRfcmVhbGx5X29sZF94aGVpZ2h0AFVzZSBvcmlnaW5hbCB3aXNlb3dsIHhoZWlnaHQAdGV4dG9yZF9kZWJ1Z19ibG9iAFByaW50IHRlc3QgYmxvYiBpbmZvcm1hdGlvbgB0ZXh0b3JkX25ld19pbml0aWFsX3hoZWlnaHQAVXNlIHRlc3QgeGhlaWdodCBtZWNoYW5pc20AdGV4dG9yZF9sbXNfbGluZV90cmlhbHMATnVtYmVyIG9mIGxpbmV3IGZpdHMgdG8gZG8AdGV4dG9yZF94aGVpZ2h0X2Vycm9yX21hcmdpbgBBY2NlcHRlZCB2YXJpYXRpb24AdGV4dG9yZF9kZXNjeF9yYXRpb19tYXgATWF4IGRlc2MveGhlaWdodAB0ZXh0b3JkX2Rlc2N4X3JhdGlvX21pbgBNaW4gZGVzYy94aGVpZ2h0AHRleHRvcmRfYXNjeF9yYXRpb19tYXgATWF4IGNhcC94aGVpZ2h0AHRleHRvcmRfYXNjeF9yYXRpb19taW4ATWluIGNhcC94aGVpZ2h0AHRleHRvcmRfZGVzY2hlaWdodF9tb2RlX2ZyYWN0aW9uAE1pbiBwaWxlIGhlaWdodCB0byBtYWtlIGRlc2NoZWlnaHQAdGV4dG9yZF9hc2NoZWlnaHRfbW9kZV9mcmFjdGlvbgBNaW4gcGlsZSBoZWlnaHQgdG8gbWFrZSBhc2NoZWlnaHQAdGV4dG9yZF94aGVpZ2h0X21vZGVfZnJhY3Rpb24ATWluIHBpbGUgaGVpZ2h0IHRvIG1ha2UgeGhlaWdodAB0ZXh0b3JkX21pbl9ibG9iX2hlaWdodF9mcmFjdGlvbgBNaW4gYmxvYiBoZWlnaHQvdG9wIHRvIGluY2x1ZGUgYmxvYiB0b3AgaW50byB4aGVpZ2h0IHN0YXRzAHRleHRvcmRfdW5kZXJsaW5lX3dpZHRoAE11bHRpcGxlIG9mIGxpbmVfc2l6ZSBmb3IgdW5kZXJsaW5lAHRleHRvcmRfb2NjdXBhbmN5X3RocmVzaG9sZABGcmFjdGlvbiBvZiBuZWlnaGJvdXJob29kAHRleHRvcmRfZXhjZXNzX2Jsb2JzaXplAE5ldyByb3cgbWFkZSBpZiBibG9iIG1ha2VzIHJvdyB0aGlzIGJpZwB0ZXh0b3JkX21pbl9saW5lc2l6ZQAqIGJsb2IgaGVpZ2h0IGZvciBpbml0aWFsIGxpbmVzaXplAHRleHRvcmRfbWlueGgAZnJhY3Rpb24gb2YgbGluZXNpemUgZm9yIG1pbiB4aGVpZ2h0AHRleHRvcmRfb3ZlcmxhcF94AEZyYWN0aW9uIG9mIGxpbmVzcGFjZSBmb3IgZ29vZCBvdmVybGFwAHRleHRvcmRfZXhwYW5zaW9uX2ZhY3RvcgBGYWN0b3IgdG8gZXhwYW5kIHJvd3MgYnkgaW4gZXhwYW5kX3Jvd3MAdGV4dG9yZF9jaG9wX3dpZHRoAE1heCB3aWR0aCBiZWZvcmUgY2hvcHBpbmcAdGV4dG9yZF93aWR0aF9saW1pdABNYXggd2lkdGggb2YgYmxvYnMgdG8gbWFrZSByb3dzAHRleHRvcmRfbGluZXNwYWNlX2lxcmxpbWl0AE1heCBpcXIvbWVkaWFuIGZvciBsaW5lc3BhY2UAdGV4dG9yZF9za2V3X2xhZwBMYWcgZm9yIHNrZXcgb24gcm93IGFjY3VtdWxhdGlvbgB0ZXh0b3JkX3NrZXdfaWxlAElsZSBvZiBncmFkaWVudHMgZm9yIHBhZ2Ugc2tldwB0ZXh0b3JkX3NwbGluZV9vdXRsaWVyX2ZyYWN0aW9uAEZyYWN0aW9uIG9mIGxpbmUgc3BhY2luZyBmb3Igb3V0bGllcgB0ZXh0b3JkX3NwbGluZV9zaGlmdF9mcmFjdGlvbgBGcmFjdGlvbiBvZiBsaW5lIHNwYWNpbmcgZm9yIHF1YWQAdGV4dG9yZF9taW5feGhlaWdodABNaW4gY3JlZGlibGUgcGl4ZWwgeGhlaWdodAB0ZXh0b3JkX21heF9ibG9iX292ZXJsYXBzAE1heCBudW1iZXIgb2YgYmxvYnMgYSBiaWcgYmxvYiBjYW4gb3ZlcmxhcAB0ZXh0b3JkX3NwbGluZV9tZWRpYW53aW4AU2l6ZSBvZiB3aW5kb3cgZm9yIHNwbGluZSBzZWdtZW50YXRpb24AdGV4dG9yZF9zcGxpbmVfbWluYmxvYnMATWluIGJsb2JzIGluIGVhY2ggc3BsaW5lIHNlZ21lbnQAdGV4dG9yZF9taW5fYmxvYnNfaW5fcm93AE1pbiBibG9icyBiZWZvcmUgZ3JhZGllbnQgY291bnRlZAB0ZXh0b3JkX3Rlc3RfeQBjb29yZCBvZiB0ZXN0IHB0AHRleHRvcmRfdGVzdF94AHRleHRvcmRfc2tld3Ntb290aF9vZmZzZXQyAEZvciBzbW9vdGggZmFjdG9yAHRleHRvcmRfc2tld3Ntb290aF9vZmZzZXQAdGV4dG9yZF9pbnRlcnBvbGF0aW5nX3NrZXcASW50ZXJwb2xhdGUgYWNyb3NzIGdhcHMAdGV4dG9yZF9iaWFzZWRfc2tld2NhbGMAQmlhcyBza2V3IGVzdGltYXRlcyB3aXRoIGxpbmUgbGVuZ3RoAHRleHRvcmRfZGVidWdfeGhlaWdodHMAVGVzdCB4aGVpZ2h0IGFsZ29yaXRobXMAdGV4dG9yZF9maXhfbWFrZXJvd19idWcAUHJldmVudCBtdWx0aXBsZSBiYXNlbGluZXMAdGV4dG9yZF9maXhfeGhlaWdodF9idWcAVXNlIHNwbGluZSBiYXNlbGluZQB0ZXh0b3JkX29sZF94aGVpZ2h0AFVzZSBvbGQgeGhlaWdodCBhbGdvcml0aG0AdGV4dG9yZF9vbGRfYmFzZWxpbmVzAFVzZSBvbGQgYmFzZWxpbmUgYWxnb3JpdGhtAHRleHRvcmRfc3RyYWlnaHRfYmFzZWxpbmVzAEZvcmNlIHN0cmFpZ2h0IGJhc2VsaW5lcwB0ZXh0b3JkX3BhcmFsbGVsX2Jhc2VsaW5lcwBGb3JjZSBwYXJhbGxlbCBiYXNlbGluZXMAdGV4dG9yZF90ZXN0X2xhbmRzY2FwZQBUZXN0cyByZWZlciB0byBsYW5kL3BvcnQAdGV4dG9yZF9zaG93X2ZpbmFsX2Jsb2JzAERpc3BsYXkgYmxvYiBib3VuZHMgYWZ0ZXIgcHJlLWFzcwB0ZXh0b3JkX3Nob3dfZmluYWxfcm93cwBEaXNwbGF5IHJvd3MgYWZ0ZXIgZmluYWwgZml0dGluZwB0ZXh0b3JkX3Nob3dfZXhwYW5kZWRfcm93cwBEaXNwbGF5IHJvd3MgYWZ0ZXIgZXhwYW5kaW5nAHRleHRvcmRfc2hvd19wYXJhbGxlbF9yb3dzAERpc3BsYXkgcGFnZSBjb3JyZWxhdGVkIHJvd3MAdGV4dG9yZF9zaG93X2luaXRpYWxfcm93cwBEaXNwbGF5IHJvdyBhY2N1bXVsYXRpb24AdGV4dG9yZF9oZWF2eV9ucgBWaWdvcm91c2x5IHJlbW92ZSBub2lzZQB0ZXh0b3JkX3RhYmZpbmRfc2hvd19pbWFnZXMAU2hvdyBpbWFnZSBibG9icwBnYXBtYXBfYmlnX2dhcHMAZ2FwbWFwX25vX2lzb2xhdGVkX3F1YW50YQBFbnN1cmUgZ2FwcyBub3QgbGVzcyB0aGFuIDJxdWFudGEgd2lkZQBnYXBtYXBfdXNlX2VuZHMAVXNlIGxhcmdlIHNwYWNlIGF0IHN0YXJ0IGFuZCBlbmQgb2Ygcm93cwBnYXBtYXBfZGVidWcAU2F5IHdoaWNoIGJsb2NrcyBoYXZlIHRhYmxlcwB0ZXh0b3JkX2ZwX2Nob3Bfc25hcABNYXggZGlzdGFuY2Ugb2YgY2hvcCBwdCBmcm9tIHZlcnRleAB0ZXh0b3JkX2ZwX2Nob3BfZXJyb3IATWF4IGFsbG93ZWQgYmVuZGluZyBvZiBjaG9wIGNlbGxzAGVkZ2VzX2JveGFyZWEATWluIGFyZWEgZnJhY3Rpb24gb2YgZ3JhbmRjaGlsZCBmb3IgYm94AGVkZ2VzX2NoaWxkYXJlYQBNaW4gYXJlYSBmcmFjdGlvbiBvZiBjaGlsZCBvdXRsaW5lAGVkZ2VzX3BhdGhhcmVhX3JhdGlvAE1heCBsZW5zcS9hcmVhIGZvciBhY2NlcHRhYmxlIGNoaWxkIG91dGxpbmUAZWRnZXNfbWluX25vbmhvbGUATWluIHBpeGVscyBmb3IgcG90ZW50aWFsIGNoYXIgaW4gYm94AGVkZ2VzX2NoaWxkcmVuX2ZpeABSZW1vdmUgYm94eSBwYXJlbnRzIG9mIGNoYXItbGlrZSBjaGlsZHJlbgBlZGdlc19jaGlsZHJlbl9jb3VudF9saW1pdABNYXggaG9sZXMgYWxsb3dlZCBpbiBibG9iAGVkZ2VzX2NoaWxkcmVuX3Blcl9ncmFuZGNoaWxkAEltcG9ydGFuY2UgcmF0aW8gZm9yIGNodWNraW5nIG91dGxpbmVzAGVkZ2VzX2RlYnVnAHR1cm4gb24gZGVidWdnaW5nIGZvciB0aGlzIG1vZHVsZQBlZGdlc19tYXhfY2hpbGRyZW5fbGF5ZXJzAE1heCBsYXllcnMgb2YgbmVzdGVkIGNoaWxkcmVuIGluc2lkZSBhIGNoYXJhY3RlciBvdXRsaW5lAGVkZ2VzX21heF9jaGlsZHJlbl9wZXJfb3V0bGluZQBNYXggbnVtYmVyIG9mIGNoaWxkcmVuIGluc2lkZSBhIGNoYXJhY3RlciBvdXRsaW5lAGVkZ2VzX3VzZV9uZXdfb3V0bGluZV9jb21wbGV4aXR5AFVzZSB0aGUgbmV3IG91dGxpbmUgY29tcGxleGl0eSBtb2R1bGUAdGV4dG9yZF9zaG93X2ZpeGVkX2N1dHMARHJhdyBmaXhlZCBwaXRjaCBjZWxsIGJvdW5kYXJpZXMAZGV2YW5hZ2FyaV9zcGxpdF9kZWJ1Z2ltYWdlAFdoZXRoZXIgdG8gY3JlYXRlIGEgZGVidWcgaW1hZ2UgZm9yIHNwbGl0IHNoaXJvLXJla2hhIHByb2Nlc3MuAGRldmFuYWdhcmlfc3BsaXRfZGVidWdsZXZlbABEZWJ1ZyBsZXZlbCBmb3Igc3BsaXQgc2hpcm8tcmVraGEgcHJvY2Vzcy4AdGV4dG9yZF90YWJmaW5kX3Nob3dfY29sb3JfZml0AFNob3cgc3Ryb2tlIHdpZHRocwB0ZXh0b3JkX3RhYmZpbmRfZmluZF90YWJsZXMAcnVuIHRhYmxlIGRldGVjdGlvbgB0ZXh0b3JkX3RhYmZpbmRfc2hvd19ibG9ja3MAU2hvdyBmaW5hbCBibG9jayBib3VuZHMAdGV4dG9yZF90YWJmaW5kX3Nob3dfY29sdW1ucwBTaG93IGNvbHVtbiBib3VuZHMAdGV4dG9yZF90YWJmaW5kX3Nob3dfcGFydGl0aW9ucwBTaG93IHBhcnRpdGlvbiBib3VuZHMsIHdhaXRpbmcgaWYgPjEAdGV4dG9yZF90YWJmaW5kX3Nob3dfcmVqZWN0X2Jsb2JzAFNob3cgYmxvYnMgcmVqZWN0ZWQgYXMgbm9pc2UAdGV4dG9yZF90YWJmaW5kX3Nob3dfaW5pdGlhbF9wYXJ0aXRpb25zAFNob3cgcGFydGl0aW9uIGJvdW5kcwB0ZXh0b3JkX3NwYWNlX3NpemVfaXNfdmFyaWFibGUASWYgdHJ1ZSwgd29yZCBkZWxpbWl0ZXIgc3BhY2VzIGFyZSBhc3N1bWVkIHRvIGhhdmUgdmFyaWFibGUgd2lkdGgsIGV2ZW4gdGhvdWdoIGNoYXJhY3RlcnMgaGF2ZSBmaXhlZCBwaXRjaC4AdGV4dG9yZF91bmRlcmxpbmVfdGhyZXNob2xkAEZyYWN0aW9uIG9mIHdpZHRoIG9jY3VwaWVkAHRleHRvcmRfZGVidWdfcHJpbnRhYmxlAE1ha2UgZGVidWcgd2luZG93cyBwcmludGFibGUAdGV4dG9yZF90ZXN0cmVnaW9uX2JvdHRvbQBCb3R0b20gZWRnZSBvZiBkZWJ1ZyByZWN0YW5nbGUAdGV4dG9yZF90ZXN0cmVnaW9uX3JpZ2h0AFJpZ2h0IGVkZ2Ugb2YgZGVidWcgcmVjdGFuZ2xlAHRleHRvcmRfdGVzdHJlZ2lvbl90b3AAVG9wIGVkZ2Ugb2YgZGVidWcgcmVwb3J0aW5nIHJlY3RhbmdsZQB0ZXh0b3JkX3Rlc3RyZWdpb25fbGVmdABMZWZ0IGVkZ2Ugb2YgZGVidWcgcmVwb3J0aW5nIHJlY3RhbmdsZQB0ZXh0b3JkX2RlYnVnX2J1Z3MAVHVybiBvbiBvdXRwdXQgcmVsYXRlZCB0byBidWdzIGluIHRhYiBmaW5kaW5nAHRleHRvcmRfZGVidWdfdGFiZmluZABEZWJ1ZyB0YWIgZmluZGluZwBNaWNyb0ZlYXR1cmVzAGNsYXNzaWZ5X3RyYWluaW5nX2ZpbGUAVHJhaW5pbmcgZmlsZQAvc3JjL3NyYy9jY3V0aWwvc3RybmdzLmNwcAAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzJJTGIwRWJSS2lTMV9FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUktpUzFfRQBjbGFzc2lmeV9waWNvX2ZlYXR1cmVfbGVuZ3RoAFBpY28gRmVhdHVyZSBMZW5ndGgAY2xhc3NpZnlfbm9ybV9hZGpfY3VybABOb3JtIGFkanVzdCBjdXJsIC4uLgBjbGFzc2lmeV9ub3JtX2Fkal9taWRwb2ludABOb3JtIGFkanVzdCBtaWRwb2ludCAuLi4AY2xhc3NpZnlfbWF4X3Nsb3BlAFNsb3BlIGFib3ZlIHdoaWNoIGxpbmVzIGFyZSBjYWxsZWQgdmVydGljYWwAY2xhc3NpZnlfbWluX3Nsb3BlAFNsb3BlIGJlbG93IHdoaWNoIGxpbmVzIGFyZSBjYWxsZWQgaG9yaXpvbnRhbABjbGFzc2lmeV9wcF9zaWRlX3BhZABQcm90byBQcnVuZXIgU2lkZSBQYWQAY2xhc3NpZnlfcHBfZW5kX3BhZABQcm90byBQcnVuZSBFbmQgUGFkAGNsYXNzaWZ5X3BwX2FuZ2xlX3BhZABQcm90byBQcnVuZXIgQW5nbGUgUGFkAGNsYXNzaWZ5X2NwX3NpZGVfcGFkX3RpZ2h0AENsYXNzIFBydW5lciBTaWRlIFBhZCBUaWdodABjbGFzc2lmeV9jcF9zaWRlX3BhZF9tZWRpdW0AQ2xhc3MgUHJ1bmVyIFNpZGUgUGFkIE1lZGl1bQBjbGFzc2lmeV9jcF9zaWRlX3BhZF9sb29zZQBDbGFzcyBQcnVuZXIgU2lkZSBQYWQgTG9vc2UAY2xhc3NpZnlfY3BfZW5kX3BhZF90aWdodABDbGFzcyBQcnVuZXIgRW5kIFBhZCBUaWdodABjbGFzc2lmeV9jcF9lbmRfcGFkX21lZGl1bQBDbGFzcyBQcnVuZXIgRW5kIFBhZCBNZWRpdW0AY2xhc3NpZnlfY3BfZW5kX3BhZF9sb29zZQBDbGFzcyBQcnVuZXIgRW5kIFBhZCBMb29zZQBjbGFzc2lmeV9jcF9hbmdsZV9wYWRfdGlnaHQAQ0xhc3MgUHJ1bmVyIEFuZ2xlIFBhZCBUaWdodABjbGFzc2lmeV9jcF9hbmdsZV9wYWRfbWVkaXVtAENsYXNzIFBydW5lciBBbmdsZSBQYWQgTWVkaXVtAGNsYXNzaWZ5X2NwX2FuZ2xlX3BhZF9sb29zZQBDbGFzcyBQcnVuZXIgQW5nbGUgUGFkIExvb3NlAGNsYXNzaWZ5X251bV9jcF9sZXZlbHMATnVtYmVyIG9mIENsYXNzIFBydW5lciBMZXZlbHMAVW5rbm93bkZvbnQAY2xhc3NpZnlfZm9udF9uYW1lAERlZmF1bHQgZm9udCBuYW1lIHRvIGJlIHVzZWQgaW4gdHJhaW5pbmcAZGVidWdfZmlsZQBGaWxlIHRvIHNlbmQgdHByaW50ZiBvdXRwdXQgdG8Ad29yZHJlY19kaXNwbGF5X3NwbGl0cwBEaXNwbGF5IHNwbGl0cwBwb2x5X3dpZGVfb2JqZWN0c19iZXR0ZXIATW9yZSBhY2N1cmF0ZSBhcHByb3ggb24gd2lkZSB0aGluZ3MAcG9seV9kZWJ1ZwBEZWJ1ZyBvbGQgcG9seQBlcXVhdGlvbmRldGVjdF9zYXZlX21lcmdlZF9pbWFnZQBTYXZlIHRoZSBtZXJnZWQgaW1hZ2UAZXF1YXRpb25kZXRlY3Rfc2F2ZV9zZWVkX2ltYWdlAFNhdmUgdGhlIHNlZWQgaW1hZ2UAZXF1YXRpb25kZXRlY3Rfc2F2ZV9zcHRfaW1hZ2UAU2F2ZSBzcGVjaWFsIGNoYXJhY3RlciBpbWFnZQBlcXVhdGlvbmRldGVjdF9zYXZlX2JpX2ltYWdlAFNhdmUgaW5wdXQgYmkgaW1hZ2UATGlzdCBmb3VuZCB0aGlzID0gbnVsbHB0ciEAQXR0ZW1wdGVkIHRvIChkZSlzZXJpYWxpc2UgYSBsaW5rIGVsZW1lbnQAQ2FuJ3QgYXNzaWduIHRvIGxpc3RzAENhbid0IGNyZWF0ZSBhIGxpc3QgYnkgYXNzaWdubWVudABXYXJuaW5nOiBsYW5nX3Rlc3NlcmFjdF8gaXMgbnVsbHB0ciEKAHBhcnRfZ3JpZC9iZXN0X2NvbHVtbnMgaXMgbnVsbHB0ciEhCgBfYmkAX3NlZWQAX21lcmdlZABvd25zX2Jsb2JzKCkgPT0gb3RoZXItPm93bnNfYmxvYnMoKQAvc3JjL3NyYy90ZXh0b3JkL2NvbHBhcnRpdGlvbi5jcHAATWVyZ2luZzoAKHcxICsgdzIpID4gMABwcmV2X293bmVyID09IG90aGVyIHx8IHByZXZfb3duZXIgPT0gbnVsbHB0cgBDTElTVF9JVEVSQVRPUjo6c2V0X3RvX2xpc3QAQ0xJU1RfSVRFUkFUT1I6OmRhdGEAQ0xJU1RfSVRFUkFUT1I6OmN5Y2xlZF9saXN0AENMSVNUX0lURVJBVE9SOjptYXJrX2N5Y2xlX3B0AENMSVNUX0lURVJBVE9SOjpmb3J3YXJkAENMSVNUX0lURVJBVE9SOjphZGRfYmVmb3JlX3RoZW5fbW92ZQBDTElTVF9JVEVSQVRPUjo6ZXh0cmFjdABDTElTVF9JVEVSQVRPUjo6bW92ZV90b19maXJzdABDTElTVF9JVEVSQVRPUjo6YWRkX2xpc3RfYWZ0ZXIAQ29tcHV0ZWQgbGVmdC1pbGxlZ2FsIHBhcnRpdGlvbgoAQ29tcHV0ZWQgcmlnaHQtaWxsZWdhbCBwYXJ0aXRpb24KAE1hZGUgcGFydGl0aW9uIHdpdGggYmFkIHJpZ2h0IGNvb3JkcwBNYWRlIHBhcnRpdGlvbiB3aXRoIGJhZCBsZWZ0IGNvb3JkcwBSZWNvbXB1dGVkIGJveCBmb3IgcGFydGl0aW9uICVwCgBidWNrZXRzX1tpbmRleCAtIDFdID4gMAAvc3JjL3NyYy9jY3N0cnVjdC9zdGF0aXN0Yy5jcHAAYmxvYi0+b3duZXIoKSA9PSBudWxscHRyIHx8IGJsb2ItPm93bmVyKCkgPT0gdGhpcwBDTElTVF9JVEVSQVRPUjo6YWRkX3RvX2VuZABDTElTVF9JVEVSQVRPUjo6YWRkX2JlZm9yZV9zdGF5X3B1dABDTElTVF9JVEVSQVRPUjo6YXRfZmlyc3QAQ0xJU1RfSVRFUkFUT1I6OmFkZF9hZnRlcl9zdGF5X3B1dABDTElTVF9JVEVSQVRPUjo6YXRfbGFzdABDTElTVF9JVEVSQVRPUjo6ZW1wdHkATkhTUklVVlQAQ29sUGFydDolYyhNJWQtJWMlZC1CJWQvJWQsJWQvJWQpLT4oJWRCLSVkJWMtJWRNLyVkLCVkLyVkKSB3LW9rPSVkLCB2LW9rPSVkLCB0eXBlPSVkJWMlZCwgZmM9JWQsIGxjPSVkLCBib3hlcz0lZCB0cz0lZCBicz0lZCBscz0lZCBycz0lZAoAJXM6AEVycm9yOiVzAGVycm9yAElsbGVnYWwgZXJyb3IgYWN0aW9uAHBhcnQgIT0gbnVsbHB0ciAmJiBtYXRoX2Jsb2NrcyAhPSBudWxscHRyAC9zcmMvc3JjL2NjbWFpbi9lcXVhdGlvbmRldGVjdC5jcHAAcGFydABjcDEgIT0gbnVsbHB0ciAmJiBjcDIgIT0gbnVsbHB0cgAhIlVuZGVmaW5lZCBmbG93IHR5cGUgZm9yIGltYWdlISIAISJVbmRlZmluZWQgZmxvdyB0eXBlIGZvciB0ZXh0ISIAISJTaG91bGQgbmV2ZXIgZ2V0IGhlcmUhIgAqZmlyc3RfY29sID49IDAgJiYgKmxhc3RfY29sID49IDAAL3NyYy9zcmMvdGV4dG9yZC9jb2xwYXJ0aXRpb25zZXQuY3BwACpmaXJzdF9jb2wgPD0gKmxhc3RfY29sAEVMSVNUMl9JVEVSQVRPUjo6Zm9yd2FyZABFTElTVDJfSVRFUkFUT1I6OmF0X2xhc3QARUxJU1QyX0lURVJBVE9SOjphdF9maXJzdABFTElTVDJfSVRFUkFUT1I6OmRhdGEARUxJU1QyX0lURVJBVE9SOjpjeWNsZWRfbGlzdABFTElTVDJfSVRFUkFUT1I6Om1hcmtfY3ljbGVfcHQARUxJU1QyX0lURVJBVE9SOjpzZXRfdG9fbGlzdABsaXN0X3RvX2l0ZXJhdGUgaXMgbnVsbHB0cgBzZWVkICE9IG51bGxwdHIgJiYgcGFydHNfb3ZlcmxhcCAhPSBudWxscHRyAENMSVNUX0lURVJBVE9SOjpkYXRhX3JlbGF0aXZlAHNlZWQgIT0gbnVsbHB0ciAmJiBwYXJ0c190b19tZXJnZSAhPSBudWxscHRyICYmIGNwc19zdXBlcl9iYm94XyAhPSBudWxscHRyAHNlZWQgIT0gbnVsbHB0ciAmJiBwYXJ0c190b19tZXJnZSAhPSBudWxscHRyAGNwc19zdXBlcl9iYm94XwBwYXJ0ICYmIHNwbGl0dGVkX2JveGVzAHBhcnRzX3RvX21lcmdlW2ldICE9IG51bGxwdHIgJiYgcGFydHNfdG9fbWVyZ2VbaV0gIT0gcGFydABfc3B0AHBpeCAhPSBudWxscHRyICYmIHBpeEdldERlcHRoKHBpeCkgPT0gMzIgJiYgYmxvYiAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvZXF1YXRpb25kZXRlY3RiYXNlLmNwcABibG9ibmJveCAhPSBudWxscHRyAGAA44CIAOOAiQDjgIoA44CLAOOAjQDjgIwAKnVuaWNoYXJfcmVwciAhPSAnXDAnAC9zcmMvc3JjL2NjdXRpbC91bmljaGFybWFwLmNwcADZgADvrIEAZmkA76yCAGZsAGlkIDwgdGhpcy0+c2l6ZSgpAC9zcmMvc3JjL2NjdXRpbC91bmljaGFyc2V0LmNwcABFTElTVF9JVEVSQVRPUjo6ZGF0YQBFTElTVF9JVEVSQVRPUjo6c2V0X3RvX2xpc3QARUxJU1RfSVRFUkFUT1I6OmZvcndhcmQAVGhpcyBpczogJXAgIEN1cnJlbnQgaXM6ICVwAE5leHQgZWxlbWVudCBvbiB0aGUgbGlzdCBpcyBudWxscHRyAExpc3Qgd291bGQgaGF2ZSByZXR1cm5lZCBhIG51bGxwdHIgZGF0YSBwb2ludGVyAEVMSVNUX0lURVJBVE9SOjpjeWNsZWRfbGlzdABFTElTVF9JVEVSQVRPUjo6bWFya19jeWNsZV9wdABDaG9pY2VzICE9IG51bGxwdHIAL3NyYy9zcmMvY2xhc3NpZnkvYWRhcHRtYXRjaC5jcHAAQWRhcHRpdmVDbGFzc2lmaWVyAEFkYXB0ZWRUZW1wbGF0ZXMgIT0gbnVsbHB0cgBBRCBNYXRjaGVzID0gIAAlcyAgAFVuaWNoYXItaWQ9JWQsIHJhdGluZz0lZywgYWRhcHRlZD0lZCwgY29uZmlnPSVkLCBtaXNzZXM9JWQsICVkIGZvbnRzCgBBAHAAJXgAJWMlZCVjJWQARUxJU1RfSVRFUkFUT1I6OmFkZF90b19lbmQARUxJU1RfSVRFUkFUT1I6OmFkZF9iZWZvcmVfc3RheV9wdXQARUxJU1RfSVRFUkFUT1I6OmF0X2ZpcnN0AEVMSVNUX0lURVJBVE9SOjphZGRfYWZ0ZXJfc3RheV9wdXQARUxJU1RfSVRFUkFUT1I6OmF0X2xhc3QARUxJU1RfSVRFUkFUT1I6Om1vdmVfdG9fbGFzdABDb252ZXJ0TWF0Y2hlc1RvQ2hvaWNlcwBFTElTVF9JVEVSQVRPUjo6bGVuZ3RoAGkgdiB4IEkgViBYAEFNIE1hdGNoZXMgPSAgAHRvcD0lZCwgdnMgWyVkLCAlZF0sIGJvdHRvbT0lZCwgdnMgWyVkLCAlZF0KACVzOiAlMi4xZiUlKENQJTIuMWYsIElNJTIuMWYgKyBDTiUuMmYoJWQpICsgTVAlMi4xZiArIFZQJTIuMWYpCgBpbnRfcmVzdWx0X2NvbmZpZyA+PSAwICYmIGludF9yZXN1bHRfY29uZmlnIDwgZnMuc2l6ZQBJbnRlZ2VyIE1hdGNoZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoAQ29uZmlnICVkLCByYXRpbmc9JWQKAEY9JTNkLCBDPQAlNGQARiA9ICUzZCwgUCA9ICUzZCwgRSA9ICUzZCwgQ29uZmlncyA9IAAxAGNuAEJMIE1hdGNoZXMgPSAgAENQOiVkIGNsYXNzZXMsICVkIGZlYXR1cmVzOgoAJXM6SW5pdGlhbD0lZCwgRT0lZCwgWGh0LWFkaj0lZCwgTj0lZCwgUmF0PSUuMmYKAElOVkFMSURfVU5JQ0hBUl9JRABTaGFwZQAgTnVtIHVuaWNoYXJzPQAgY19pZD0AIGZvbnRzID0AIC4uLiAARj0lM2QoJWQsJWQsJWQpLAAgJXM9JWQsADE2R0VORVJJQ18yRF9BUlJBWUlpRQBtaW5ydW5zLT5kaW0xKCkgPT0gd2lkdGgAL3NyYy9zcmMvY2NzdHJ1Y3Qvbm9ybWFsaXMuY3BwAG1pbnJ1bnMtPmRpbTIoKSA9PSBoZWlnaHQAUG9seTI6c3RhcnRpbmcgYXQgKCVkLCVkKSslZD0oJWQsJWQpLCVkIHRvICglZCwlZCkKAEN1dGxpbmU6RmluYWwgcGVycD0lZAoAcGVycCAhPSAwAC9zcmMvc3JjL2Njc3RydWN0L3BvbHlhcHJ4LmNwcABDdXRsaW5lOkE9JWQsIG1heD0lLjJmKCUuMmYlJSksIG1zZD0lLjJmKCUuMmYlJSkKAHBvcy54ICgpID09IGNfb3V0bGluZS0+c3RhcnRfcG9zICgpLnggKCkgJiYgcG9zLnkgKCkgPT0gY19vdXRsaW5lLT5zdGFydF9wb3MgKCkueSAoKQAhYmxvYl9pdC5kYXRhKCktPmpvaW5lZF90b19wcmV2KCkAaW1hZ2VfbmFtZSAmJiBuYW1lACUwNGQAV2FybmluZzogaW5wdXQgdG9fYmxvY2sgaXMgbnVsbHB0ciEKAE45dGVzc2VyYWN0NkNDVXRpbEUAT2JqZWN0Q2FjaGUoJXApOjp+T2JqZWN0Q2FjaGUoKTogV0FSTklORyEgTEVBSyEgb2JqZWN0ICVwIHN0aWxsIGhhcyBjb3VudCAlZCAoaWQgJXMpCgAuYQBVbmFibGUgdG8gc2F2ZSBhZGFwdGVkIHRlbXBsYXRlcyB0byAlcyEKAApTYXZpbmcgYWRhcHRlZCB0ZW1wbGF0ZXMgdG8gJXMgLi4uAHB0ciAhPSBudWxscHRyAC9zcmMvc3JjL2N1dGlsL2VtYWxsb2MuY3BwAGRlc3RydWN0b3IgIT0gbnVsbHB0cgAvc3JjL3NyYy9jdXRpbC9vbGRsaXN0LmNwcABDb25maWcgIT0gbnVsbHB0cgAvc3JjL3NyYy9jbGFzc2lmeS9hZGFwdGl2ZS5jcHAARnJlZVRlbXBDb25maWcARnJlZVBlcm1Db25maWcAV3JpdGVUZW1wQ29uZmlnAFdyaXRlUGVybUNvbmZpZwBXYXJuaW5nOiBleGVjdXRpbmcgV3JpdGVJbnRUZW1wbGF0ZXMoKSB3aXRoICVkIGNsYXNzZXMgaW4gVGVtcGxhdGVzLCB3aGlsZSB0YXJnZXRfdW5pY2hhcnNldCBzaXplIGlzICVkCgBDbGFzcy0+TnVtQ29uZmlncyA9PSB0aGlzLT5mb250c2V0X3RhYmxlXy5nZXQoQ2xhc3MtPmZvbnRfc2V0X2lkKS5zaXplAC9zcmMvc3JjL2NsYXNzaWZ5L2ludHByb3RvLmNwcAAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzJJTGIwRWJQOF9JT19GSUxFUktOOXRlc3NlcmFjdDdGb250U2V0RUUAMTlUZXNzUmVzdWx0Q2FsbGJhY2sySWJQOF9JT19GSUxFUktOOXRlc3NlcmFjdDdGb250U2V0RUUAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViUDhfSU9fRklMRVJLTjl0ZXNzZXJhY3Q4Rm9udEluZm9FRQAxOVRlc3NSZXN1bHRDYWxsYmFjazJJYlA4X0lPX0ZJTEVSS045dGVzc2VyYWN0OEZvbnRJbmZvRUUATjl0ZXNzZXJhY3Q4Q2xhc3NpZnlFAE45dGVzc2VyYWN0OENDU3RydWN0RQBOOXRlc3NlcmFjdDVDVXRpbEUAdW5pY2hhciAAIG5vdCBmb3VuZCBpbiBjbGFzc2lmaWNhdGlvbiBsaXN0AGJldHRlciByYXRpbmcgZm9yIGFkYXB0ZWQgACB0aGFuIGZvciBjb3JyZWN0IAAgdG8gYmxhbWU6IABTZXRCbGFtZSgpOiAlcwBUcnV0aCAAIChubyBjaGFyIGJveGVzKQAgQ2hvaWNlIABjdADugIMAxb9oAO6AhgDFv2kA7oCHAMW/bADugIgAxb/FvwDugIkAY29ycgBjbABjaG9wAGNsL0xNAHBnbHQAc3NfaGV1cgBzc19wcABjbC9vbGRfTE0AYWRhcHQAbm9fdHJfc3BsAG5vX3RyAHVua24ATjl0ZXNzZXJhY3Q3V29yZHJlY0UATjl0ZXNzZXJhY3QxOFNoaXJvUmVraGFTcGxpdHRlckUAMTZHRU5FUklDXzJEX0FSUkFZSWZFADE2R0VORVJJQ18yRF9BUlJBWUlhRQBzcmMuZGF3Z3MgPT0gbnVsbHB0cgAvc3JjL3NyYy9sc3RtL3JlY29kZWJlYW0uaABfZGVidWcucGRmAEFsbERlYnVnSW1hZ2VzAE45dGVzc2VyYWN0OVRlc3NlcmFjdEUATjl0ZXNzZXJhY3QxNEVxdWF0aW9uRGV0ZWN0RQBOOXRlc3NlcmFjdDE4RXF1YXRpb25EZXRlY3RCYXNlRQBOOXRlc3NlcmFjdDEyUGFnZUl0ZXJhdG9yRQBDb3JydXB0ZWQgd29yZCEgYmVzdF9jaG9pY2VbbGVuPSVkXSA9ICVzLCBib3hfd29yZFtsZW49JWRdOiAAd29yZF9yZXMtPmJveF93b3JkLT5sZW5ndGgoKSA9PSB3b3JkX2xlbmd0aF8AL3NyYy9zcmMvY2NtYWluL3BhZ2VpdGVyYXRvci5jcHAAQm91bmRpbmcgYm94PSglZCwlZCktPiglZCwlZCkKAEVMSVNUX0lURVJBVE9SOjplbXB0eQBwYWdlX3JlcyA9PSBvdGhlci5wYWdlX3JlcwAvc3JjL3NyYy9jY3N0cnVjdC9wYWdlcmVzLmNwcABvdGhlci53b3JkX3JlcyAhPSBudWxscHRyICYmIHdvcmRfcmVzICE9IG51bGxwdHIAIkVycm9yOiBJbmNvbXBhcmFibGUgUEFHRV9SRVNfSVRzIiA9PSBudWxscHRyAE45dGVzc2VyYWN0MTdMVFJSZXN1bHRJdGVyYXRvckUAdW5pY2hhcl9pZABibG9iX2luZGljZXMtPnNpemUoKSA9PSB3b3JkX2xlbmd0aF8AL3NyYy9zcmMvY2NtYWluL3Jlc3VsdGl0ZXJhdG9yLmNwcADigI8A4oCOAGl0Xy0+d29yZCgpLT5iZXN0X2Nob2ljZSAhPSBudWxscHRyAHJ0bABsdHIAU3Ryb25nIFNjcmlwdCBkaXJzICAgICBbJXAvUD0lc106IABMb2dpY2FsIHRleHRsaW5lIG9yZGVyIFslcC9QPSVzXTogAE51bSBzcGFjZXM9JWQsIHRleHQ9JXMKACVkIHdvcmRzIHByaW50ZWQKAE4gAEwgAFIgAFogAD8gAE5leHQoUklMX1dPUkQpOiAlZCAtPiAlZAoATmV4dChSSUxfV09SRCk6ICVkIC0+IEVPTAoATjl0ZXNzZXJhY3QxNU11dGFibGVJdGVyYXRvckUATjl0ZXNzZXJhY3QxNFJlc3VsdEl0ZXJhdG9yRQBGcmFrdHVyAEltYWdlIHRvbyBsYXJnZTogKCVkLCAlZCkKAE45dGVzc2VyYWN0MTZJbWFnZVRocmVzaG9sZGVyRQByb3cgPj0gY29sdW1uAC9zcmMvc3JjL2Njc3RydWN0L21hdHJpeC5oAHJvdyAtIGNvbHVtbiA8IHRoaXMtPmRpbTJfADE2R0VORVJJQ18yRF9BUlJBWUlQMTZCTE9CX0NIT0lDRV9MSVNURQA2TUFUUklYADEzQmFuZFRyaU1hdHJpeElQMTZCTE9CX0NIT0lDRV9MSVNURQBKb2luZWQAfEJyb2tlbnwwfDEA4oCqAOKArABtZgBpZgB0YgBwZgBvZgAlZzoAW0pdAFtCXQAgJXMKACVnOiBjX2lkPSVkPSVzACBGb250IFZlY3RvcjoAIk11c3QgaW1wbGVtZW50IENsYXNzaWZ5U2FtcGxlISIgPT0gbnVsbHB0cgAvc3JjL3NyYy9jbGFzc2lmeS9zaGFwZWNsYXNzaWZpZXIuY3BwAE45dGVzc2VyYWN0MTVTaGFwZUNsYXNzaWZpZXJFAE5vIGJ1aWx0LWluIHRlbXBsYXRlcyBmb3IgY2xhc3Mvc2hhcGUgJWQKAE45dGVzc2VyYWN0MTRUZXNzQ2xhc3NpZmllckUATjl0ZXNzZXJhY3Q0RGF3Z0UARk9SV0FSRAAgICAgICAgAExBU1QAICAgIABFT1cAICAgACVsbGQgOiBuZXh0ID0gJWxsZCwgdW5pY2hhcl9pZCA9ICVkLCAlcyAlcyAlcwoAJWxsZCA6IG5vIGVkZ2VzIGluIHRoaXMgbm9kZQoAZm9yd2FyZF9lZGdlKGVkZ2UpAC9zcmMvc3JjL2RpY3QvZGF3Zy5oAHVuaWNoYXJfaWRzX29mAE45dGVzc2VyYWN0MTJTcXVpc2hlZERhd2dFAOKAgADigIEA4oCCAOKAgwDigIQA4oCFACVsbGQgKCVkICVkKTogAFIsAEIALEUAfCVsbGR8JXMlcyVzfCVkfABlZGdlX2NoYXJfb2YoKSBnaXZlbiBub2RlX3JlZiAlbGxkIG5leHRfbm9kZSAlbGxkIGRpcmVjdGlvbiAlZCB3b3JkX2VuZCAlZCB1bmljaGFyX2lkICVkLCBleHBsb3Jpbmcgbm9kZToKAG5vZGVfcmVmIDwgbm9kZXNfLnNpemUoKQAvc3JjL3NyYy9kaWN0L3RyaWUuY3BwAGVkZ2VfY2hhcl9vZgBOOXRlc3NlcmFjdDRUcmllRQBuZXR3b3JrX2lvXyA9PSBudWxscHRyAC9zcmMvc3JjL2xzdG0vbmV0d29ya3NjcmF0Y2guaABzcmMuaW50X21vZGVfID09IGludF9tb2RlXwAvc3JjL3NyYy9sc3RtL25ldHdvcmtpby5jcHAAMCA8PSBpbmRpY2VzX1tGRF9CQVRDSF0AL3NyYy9zcmMvbHN0bS9zdHJpZGVtYXAuY3BwAE1heEluZGV4T2ZEaW0AaW50X21vZGVfID09IHNyYy5pbnRfbW9kZV8AbnVtX2J5dGVzID09IDEgfHwgbnVtX2J5dGVzID09IDIgfHwgbnVtX2J5dGVzID09IDQgfHwgbnVtX2J5dGVzID09IDgAL3NyYy9zcmMvY2N1dGlsL2hlbHBlcnMuaABSZXZlcnNlTgAhaXNfd3JpdGluZ18AL3NyYy9zcmMvY2N1dGlsL3NlcmlhbGlzLmNwcABzaXplID4gMABjb3VudCA+PSAwAGlzX3dyaXRpbmdfAFNJWkVfTUFYIC8gc2l6ZSA+IGNvdW50AEludmFsaWQASW5wdXQAQ29udm9sdmUATWF4cG9vbABQYXJhbGxlbABSZXBsaWNhdGVkAFBhckJpZGlMU1RNAERlcFBhclVETFNUTQBQYXIyZExTVE0AU2VyaWVzAFJlY29uZmlnAFJUTFJldmVyc2VkAFRUQlJldmVyc2VkAFhZVHJhbnNwb3NlAExTVE0AU3VtbUxTVE0ATG9naXN0aWMATGluTG9naXN0aWMATGluVGFuaABUYW5oAFJlbHUATGluZWFyAFNvZnRtYXgAU29mdG1heE5vQ1RDAExTVE1Tb2Z0bWF4AExTVE1CaW5hcnlTb2Z0bWF4AFRlbnNvckZsb3cATXVzdCBvdmVycmlkZSBOZXR3b3JrOjpEZWJ1Z1dlaWdodHMgZm9yIHR5cGUgJWQKAE11c3Qgb3ZlcnJpZGUgTmV0d29yazo6QmFja3dhcmQgZm9yIHR5cGUgJWQKAE11c3Qgb3ZlcnJpZGUgTmV0d29yazo6Rm9yd2FyZCBmb3IgdHlwZSAlZAoASW52YWxpZCBuZXR3b3JrIGxheWVyIHR5cGU6JXMKAGluZGV4ID49IDAAPwBOOXRlc3NlcmFjdDdOZXR3b3JrRQBOOXRlc3NlcmFjdDhDb252b2x2ZUUAIkludmFsaWQgZnVsbHktY29ubmVjdGVkIHR5cGUhIiA9PSBudWxscHRyAC9zcmMvc3JjL2xzdG0vZnVsbHljb25uZWN0ZWQuY3BwAC9zcmMvc3JjL2xzdG0vd2VpZ2h0bWF0cml4LmNwcAB1LmRpbTEoKSA9PSBudW1fb3V0cHV0cwB1LmRpbTIoKSA9PSB2LmRpbTIoKQB2LmRpbTEoKSA9PSBudW1faW5wdXRzADE2R0VORVJJQ18yRF9BUlJBWUlkRQBOOXRlc3NlcmFjdDE1VHJhbnNwb3NlZEFycmF5RQBtdWx0aXBsaWVyXyAhPSBudWxscHRyAGludF9tb2RlXwBudW1fb3V0cHV0cyA9PSBvdGhlci51cGRhdGVzXy5kaW0xKCkAbnVtX2lucHV0cyA9PSBvdGhlci51cGRhdGVzXy5kaW0yKCkAJTRkOiUtM2QgAFRvdGFsIGNvdW50PSVkCgBNaW49JS4yZiBSZWFsbHk9JWQKAExvd2VyIHF1YXJ0aWxlPSUuMmYKAE1lZGlhbj0lLjJmLCBpbGUoMC41KT0lLjJmCgBVcHBlciBxdWFydGlsZT0lLjJmCgBNYXg9JS4yZiBSZWFsbHk9JWQKAFJhbmdlPSVkCgBNZWFuPSAlLjJmCgBTRD0gJS4yZgoARnQARnMARnIARmwARnAARmMARm0ATjl0ZXNzZXJhY3QxNEZ1bGx5Q29ubmVjdGVkRQBJbnB1dDo6QmFja3dhcmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQhIQoATjl0ZXNzZXJhY3Q1SW5wdXRFACF2X2lvLmludF9tb2RlXwAvc3JjL3NyYy9sc3RtL2xzdG0uY3BwAFRlbnNvckZsb3cgbm90IGNvbXBpbGVkIGluISAtRElOQ0xVREVfVEVOU09SRkxPVwoAbm9fID09IG5ldHdvcmstPk51bUlucHV0cygpAC9zcmMvc3JjL2xzdG0vcGx1bWJpbmcuY3BwAG5pXyA9PSBuZXR3b3JrLT5OdW1JbnB1dHMoKQBzdGFja19zaXplID4gMQAvc3JjL3NyYy9sc3RtL3Nlcmllcy5jcHAAb3RoZXIudHlwZSgpID09IHR5cGVfAHBsdW1iaW5nLT5zdGFja18uc2l6ZSgpID09IHN0YWNrXy5zaXplKCkATnVtIChFeHRlbmRlZCkgb3V0cHV0cyx3ZWlnaHRzIGluIFNlcmllczoKAFRvdGFsIHdlaWdodHMgPSAlZAoAICAlczolZCwgJWQKAE51bSBvdXRwdXRzLHdlaWdodHMgaW4gU2VyaWVzOgoAU3ViLWNsYXNzZXMgb2YgUGx1bWJpbmcgbXVzdCBpbXBsZW1lbnQgc3BlYygpIQBOOXRlc3NlcmFjdDhQbHVtYmluZ0UATjl0ZXNzZXJhY3Q2U2VyaWVzRQBSeQBUeHkAUngATjl0ZXNzZXJhY3Q4UmV2ZXJzZWRFAE45dGVzc2VyYWN0OFJlY29uZmlnRQAhc3JjLmludF9tb2RlXwBudW1fZmVhdHVyZXMgKyBmZWF0dXJlX29mZnNldCA8PSBzcmMuTnVtRmVhdHVyZXMoKQByZXN1bHQtPldpZHRoKCkgPT0gb3V0cHV0LT5XaWR0aCgpAC9zcmMvc3JjL2xzdG0vcGFyYWxsZWwuY3BwAHdpZHRoIDw9IFdpZHRoKCkAbnVtX2ZlYXR1cmVzICsgZmVhdHVyZV9vZmZzZXQgPD0gTnVtRmVhdHVyZXMoKQBMMnh5AExieHMATGJ4AFIATjl0ZXNzZXJhY3Q4UGFyYWxsZWxFAE1wAE45dGVzc2VyYWN0N01heHBvb2xFAG5vID09IG5zAExTVE0gU29mdG1heAAlZCBpcyBpbnZhbGlkIHR5cGUgb2YgTFNUTSEKACBHYXRlIHdlaWdodHMgAExmeABMZnhzAExTAExFAE45dGVzc2VyYWN0NExTVE1FAE45dGVzc2VyYWN0NkJCR3JpZEk4QkxPQk5CT1gxNEJMT0JOQk9YX0NMSVNUMTNCTE9CTkJPWF9DX0lURUUATjl0ZXNzZXJhY3Q4R3JpZEJhc2VFAE45dGVzc2VyYWN0MTFBbGlnbmVkQmxvYkUATjl0ZXNzZXJhY3Q4QmxvYkdyaWRFAE45dGVzc2VyYWN0N0ludEdyaWRFAE45dGVzc2VyYWN0MTVDQ05vblRleHREZXRlY3RFAE45dGVzc2VyYWN0N1RhYkZpbmRFAE45dGVzc2VyYWN0NkJCR3JpZElOU18xMkNvbFBhcnRpdGlvbkVOU18xOENvbFBhcnRpdGlvbl9DTElTVEVOU18xN0NvbFBhcnRpdGlvbl9DX0lURUVFAE45dGVzc2VyYWN0MTJDb2x1bW5GaW5kZXJFAEJsb2NrIGJveDoATjl0ZXNzZXJhY3QxNkNvbFBhcnRpdGlvbkdyaWRFAExlZnQgZ2FwPSVkLCByaWdodD0lZCwgYWJvdmU9JWQsIGJlbG93PSVkLCBob3J6PSVkLCB2ZXJ0PSVkCkdvb2Q9ICAgICVkICAgICAgICAlZCAgICAgICAgJWQgICAgICAgICVkCgBCb3ggKCVkLCVkKS0+KCVkLCVkKTogaC13aWR0aD0lLjFmLCB2LXdpZHRoPSUuMWYgcC13aWR0aD0lMS5mCgBOOXRlc3NlcmFjdDExU3Ryb2tlV2lkdGhFAExlZnQgQWxpZ25lZABMZWZ0IFJhZ2dlZABDZW50ZXIAUmlnaHQgQWxpZ25lZABSaWdodCBSYWdnZWQAU2VwYXJhdG9yAG5vbmFtZS50aWYAZmFpbGVkX3ZhcnMudHh0AC9zcmMvc3JjL2FwaS9iYXNlYXBpLmNwcABXYXJuaW5nOiBVc2VyIGRlZmluZWQgaW1hZ2UgZHBpIGlzIG91dHNpZGUgb2YgZXhwZWN0ZWQgcmFuZ2UgKCVkIC0gJWQpIQoAV2FybmluZzogSW52YWxpZCByZXNvbHV0aW9uICVkIGRwaS4gVXNpbmcgJWQgaW5zdGVhZC4KAEVzdGltYXRlZCBpbnRlcm5hbCByZXNvbHV0aW9uICVkIG91dCBvZiByYW5nZSEgQ29ycmVjdGVkIHRvICVkLgoATjl0ZXNzZXJhY3QxMVRlc3NCYXNlQVBJRQBOOXRlc3NlcmFjdDE4VGVzc1Jlc3VsdFJlbmRlcmVyRQB7IGlmKE1vZHVsZVsnVGVzc2VyYWN0UHJvZ3Jlc3MnXSkgTW9kdWxlWydUZXNzZXJhY3RQcm9ncmVzcyddKCQwKTsgfQAhd29yZF9yZXMtPnBhcnRfb2ZfY29tYm8AIXdfaXQuY3ljbGVkX2xpc3QoKQAhd3JfaXQuY3ljbGVkX2xpc3QoKQAhd29yZF9yZXNfaXQuY3ljbGVkX2xpc3QoKQBFTElTVF9JVEVSQVRPUjo6bW92ZV90b19maXJzdABFTElTVF9JVEVSQVRPUjo6ZXh0cmFjdABMaXN0IGN1cnJlbnQgcG9zaXRpb24gaXMgbnVsbHB0cgBFTElTVDJfSVRFUkFUT1I6OmV4dHJhY3QAd29yZC0+YmVzdF9jaG9pY2UtPmxlbmd0aCgpID09IHdvcmQtPnJlamVjdF9tYXAubGVuZ3RoKCkAL3NyYy9zcmMvY2NtYWluL291dHB1dC5jcHAARGljdCB3b3JkOiAiJXMiOiAlZAoAaW5kZXggPCBsZW4AL3NyYy9zcmMvY2NzdHJ1Y3QvcmVqY3RtYXAuaABBZGRpbmcgaHlwaGVuIGJlZ2lubmluZyBkYXdnIFslZCwgJWxsZF0KAEFkZGluZyBiZWdpbm5pbmcgcHVuYyBkYXdnIFslZCwgJWxsZF0KAEFkZGluZyBiZWdpbm5pbmcgZGF3ZyBbJWQsICVsbGRdCgB1bmljaGFyc2V0XyA9PSBzZWNvbmQudW5pY2hhcnNldF8AL3NyYy9zcmMvY2NzdHJ1Y3QvcmF0bmdzLmNwcABjb3B5X2h5cGhlbl9pbmZvOiAAJXMgOiAAIDogUj0lZywgQz0lZywgRj0lZywgUGVybT0lZCwgeGh0PVslZywlZ10sIGFtYmlnPSVkCgBwb3MACnN0cgAJJXMACnN0YXRlOgAKQwAJJWQgAAklLjNmAFNQX1VOS05PV04ARFJPUEMAU1VQRVIAU1VCAE5PUk0AbGVuZ3RoID4gMCAmJiBsZW5ndGggPD0gVU5JQ0hBUl9MRU4AdW5pY2hhcl90b19pZABzdGFydCA+PSAwICYmIHN0YXJ0ICsgbnVtIDw9IGxlbmd0aF8AcG9zID49IDAAL3NyYy9zcmMvY2NzdHJ1Y3QvcmVqY3RtYXAuY3BwAHBvcyA8IGxlbgBsZW4gPiAwAAoKVEVTVFdEOjoAY2xhc3NpZnlfd29yZF9wYXNzMSBzdGFydAoAbWFrZV9yZWplY3RfbWFwOiBpbml0aWFsIG1hcABtYWtlX3JlamVjdF9tYXA6IGFmdGVyIE5OAGNsYXNzaWZ5X3dvcmRfcGFzczIgLSBTVEFSVABjbGFzc2lmeV93b3JkX3Bhc3MyIC0gUHJlIFhodABjbGFzc2lmeV93b3JkX3Bhc3MyIC0gRU5EAGZpeHNwYWNlAE1NIHBhc3MgU1RBUlQATU0gcGFzcyBFTkQAQWZ0ZXIgUG9vciBxdWFsaXR5IHJlamVjdGlvbgB1bnJlal9nb29kX3F1YWxpdHlfd29yZHMgLSBTVEFSVAB1bnJlal9nb29kX3F1YWxpdHlfd29yZHMgLSBFTkQAV3JpdGUgcmVzdWx0cyBwYXNzACAiJXMiIAAiJXMiCgAqKioqICIlYyIgKioqKgoAbnVsbCBiZXN0IGNob2ljZQoAVGVzcyBBY2NlcHRlZDogJXMKAERvbmUgZmxhZzogJXMKCgBUAEYAUl9URVNTX0ZBSUxVUkU6ICVzCgBSX1NNQUxMX1hIVDogJXMKAFJfRURHRV9DSEFSOiAlcwoAUl8xSUxfQ09ORkxJQ1Q6ICVzCgBSX1BPU1ROTl8xSUw6ICVzCgBSX1JFSl9DQkxPQjogJXMKAFJfTU1fUkVKRUNUOiAlcwoAUl9CQURfUkVQRVRJVElPTjogJXMKAFJfUE9PUl9NQVRDSDogJXMKAFJfTk9UX1RFU1NfQUNDRVBURUQ6ICVzCgBSX0NPTlRBSU5TX0JMQU5LUzogJXMKAFJfQkFEX1BFUk1VVEVSOiAlcwoAUl9IWVBIRU46ICVzCgBSX0RVQklPVVM6ICVzCgBSX05PX0FMUEhBTlVNUzogJXMKAFJfTU9TVExZX1JFSjogJXMKAFJfWEhUX0ZJWFVQOiAlcwoAUl9CQURfUVVBTElUWTogJXMKAFJfRE9DX1JFSjogJXMKAFJfQkxPQ0tfUkVKOiAlcwoAUl9ST1dfUkVKOiAlcwoAUl9VTkxWX1JFSjogJXMKAFJfSFlQSEVOX0FDQ0VQVDogJXMKAFJfTk5fQUNDRVBUOiAlcwoAUl9NTV9BQ0NFUFQ6ICVzCgBSX1FVQUxJVFlfQUNDRVBUOiAlcwoAUl9NSU5JTUFMX1JFSl9BQ0NFUFQ6ICVzCgAiJXMiAEJsYW5rcz0gJWQKAEZsYWdzID0gJWQgPSAwJW8KAFRSVUUARkFMU0UgACAgIFdfU0VHTUVOVEVEID0gJXMKACAgIFdfSVRBTElDID0gJXMKACAgIFdfQk9MID0gJXMKACAgIFdfRU9MID0gJXMKACAgIFdfTk9STUFMSVpFRCA9ICVzCgAgICBXX1NDUklQVF9IQVNfWEhFSUdIVCA9ICVzCgAgICBXX1NDUklQVF9JU19MQVRJTiA9ICVzCgAgICBXX0RPTlRfQ0hPUCA9ICVzCgAgICBXX1JFUF9DSEFSID0gJXMKACAgIFdfRlVaWllfU1AgPSAlcwoAICAgV19GVVpaWV9OT04gPSAlcwoAQ29ycmVjdD0gJXMKAFJlamVjdGVkIGNibG9iIGNvdW50ID0gJWQKAFNjcmlwdCA9ICVkCgBNb3N0IGNoYXJhY3RlcnMgb2YgJXMgYXJlIHN1YnNjcmlwdCBvciBzdXBlcnNjcmlwdC4KVGhhdCBzZWVtcyB3cm9uZywgc28gSSdsbCBhc3N1bWUgd2UgZ290IHRoZSBiYXNlbGluZSB3cm9uZwoAU2V0U2NyaXB0UG9zaXRpb24gb24gJXMKACVzIENoYXJhY3RlciAlc1tib3Q6JWQgdG9wOiAlZF0gIGJvdF9yYW5nZVslZCwlZF0gIHRvcF9yYW5nZVslZCwgJWRdIHN1Yl90aHJlc2hbYm90OiVkIHRvcDolZF0gIHN1cF90aHJlc2hfYm90ICVkCgBCbGFtZSByZWFzb25zOgoATWlzYWRhcHRpb24gbG9nOgoATGFzdENoYW5jZUJsYW1lAFJlamVjdGVkIHRydXRoAENob2ljZSBpcyBpbmNvcnJlY3QgYWZ0ZXIgcmVjb2duaXRpb24AQ29ycmVjdGVkICVzCgBtb2RhbF9mb250ICE9IG51bGxwdHIAL3NyYy9zcmMvY2NtYWluL2NvbnRyb2wuY3BwAFFVQUxJVFk6IG51bV9jaHM9ICVkICBudW1fcmVqcz0gJWQgJTUuM2YgYmxvYl9xdWFsPSAlZCAlNS4zZiBvdXRsaW5lX2VycnM9ICVkICU1LjNmIGNoYXJfcXVhbD0gJWQgJTUuM2YgZ29vZF9jaF9xdWFsPSAlZCAlNS4zZgoAQk9MIENSVU5DSCBERUxFVElORyglZCk6ICIlcyIKAEVPTCBDUlVOQ0ggREVMRVRJTkcoJWQpOiAiJXMiCgByZWplY3RfbWFwLmxlbmd0aCgpID09IGxlbgBib3hfd29yZC0+bGVuZ3RoKCkgPT0gbGVuAGJlc3RfY2hvaWNlLT5sZW5ndGgoKSA9PSAwIHx8IHJhdGluZ3MgIT0gbnVsbHB0cgBFTElTVF9JVEVSQVRPUjo6YWRkX2JlZm9yZV90aGVuX21vdmUAMjlfVGVzc01lbWJlclJlc3VsdENhbGxiYWNrXzBfMklMYjBFaThXRVJEX1JFU2lpRQAxOVRlc3NSZXN1bHRDYWxsYmFjazJJaWlpRQBUIENSVU5DSElORzogIiVzIgoAUDEgQ1JVTkNISU5HOiAiJXMiCgBQMiBDUlVOQ0hJTkc6ICIlcyIKAFAzIENSVU5DSElORzogIiVzIgoATk8gQ1JVTkNIOiAiJXMiCgBQb3RlbnRpYWwgcG9vciByYXRpbmcgb24gIiVzIgoAUG90ZW50aWFsIHBvb3IgY2VydCBvbiAiJXMiCgBQb3RlbnRpYWwgZ2FyYmFnZSBvbiAiJXMiCgBUZXJyaWJsZV93b3JkX2NydW5jaCAoJWQpIG9uICIlcyIKADAgPD0gbGVuAC9zcmMvc3JjL2NjdXRpbC9zdHJuZ3MuaABnYXJiYWdlX3dvcmQ6ICIlcyIKAExFTjogJWQgIGJhZDogJWQgIGlzb19OOiAlZCAgaXNvX0E6ICVkICByZWo6ICVkCgBSRUpFQ1QgQUxMICNjaGFyczogJWQgI1JlamVjdHM6ICVkOyAKAE5PIFBBR0UgUkVKRUNUSU9OICNjaGFyczogJWQgICMgUmVqZWN0czogJWQ7IAoAUkVKRUNUSU5HIEJMT0NLICVkICAjY2hhcnM6ICVkOyAgI1JlamVjdHM6ICVkCgBOT1QgUkVKRUNUSU5HIEJMT0NLICVkICNjaGFyczogJWQgICMgUmVqZWN0czogJWQ7IAoAUkVKRUNUSU5HIFJPVyAlZCAgI2NoYXJzOiAlZDsgICNSZWplY3RzOiAlZAoATk9UIFJFSkVDVElORyBST1cgJWQgI2NoYXJzOiAlZCAgIyBSZWplY3RzOiAlZDsgCgAyOV9UZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfMF8xSUxiMEV2Tjl0ZXNzZXJhY3QxNkRvY1F1YWxDYWxsYmFja3NFaUUAMTNUZXNzQ2FsbGJhY2sxSWlFAHJlYWRfcGFyYW1zX2ZpbGU6IENhbid0IG9wZW4gJXMKAFdhcm5pbmc6IFBhcmFtZXRlciBub3QgZm91bmQ6ICVzCgAlcwklZAklcwoAJXMJJXMJJXMKACVzCSVnCSVzCgBTa2lwcGluZyBiZWNhdXNlIG9uZSBvZiB0aGUgd29yZHMgaXMgV19SRVBfQ0hBUgoAVG9wIGNob2ljZSAiJXMgJXMiIHZlcmlmaWVkIGJ5IGJpZ3JhbSBtb2RlbC4KAEV4YW1pbmluZyBhbHQgY2hvaWNlcyBmb3IgIiVzICVzIi4KAFRvcCBjaG9pY2UgIiVzICVzIiB2ZXJpZmllZCAoc2FucyBjYXNlKSBieSBiaWdyYW0gbW9kZWwuCgBUaGlzIHdhcyB0aGUgdW5pcXVlIGJpZ3JhbSBjaG9pY2UuAFRoZXJlIHdlcmUgbWFueSBjaG9pY2VzOiB7AH0AVGhlcmUgd2VyZSAAIGNvbXBhdGlibGUgYmlncmFtcy4AUmVwbGFjZWQgIiVzICVzIiB3aXRoICIlcyAlcyIgd2l0aCBiaWdyYW0gbW9kZWwuICVzCgAiLCAiAEFsdGVybmF0ZXMgZm9yICIlcyI6IHsiJXMifQoAcmVzZXJ2ZWRfID4gbGVuZ3RoXwBhcHBlbmRfdW5pY2hhcl9pZF9zcGFjZV9hbGxvY2F0ZWQAaW5kZXggPCBsZW5ndGhfAHNldF91bmljaGFyX2lkAHN0YXJ0ID49IDAgJiYgc3RhcnQgPD0gbGVuZ3RoXwBlbmQgPj0gMCAmJiBlbmQgPD0gbGVuZ3RoXwBEaWN0aW9uYXJ5IGNvcnJlY3Rpb24gcmVwbGFjZXMgYmVzdCBjaG9pY2UgJyVzJyB3aXRoICclcycKAEVMSVNUX0lURVJBVE9SOjphZGRfbGlzdF9iZWZvcmUARUxJU1RfSVRFUkFUT1I6OmFkZF9saXN0X2FmdGVyAEVMSVNUX0lURVJBVE9SOjphZGRfYWZ0ZXJfdGhlbl9tb3ZlAFByb2Nlc3NpbmcAQWxyZWFkeSBkb25lACVzIHdvcmQgd2l0aCBsYW5nICVzIGF0OgB3b3JkX2RhdGEtPndvcmQtPmJveF93b3JkICE9IG51bGxwdHIAbm8gYmVzdCB3b3JkcyEhCgAlcyAob2NyIHRvb2sgJS4yZiBzZWMpCgBFTElTVDJfSVRFUkFUT1I6OmFkZF9iZWZvcmVfc3RheV9wdXQARUxJU1RfSVRFUkFUT1I6OnNvcnQAYmxhbWVyX2J1bmRsZSAhPSBudWxscHRyAENvbnN1bWVXb3JkUmVzdWx0cwBUcnlpbmcgd29yZCB1c2luZyBsYW5nICVzLCBvZW0gJWQKAExhbmcgcmVzdWx0AHdvcnNlAGJldHRlcgAlZCBuZXcgd29yZHMgJXMgdGhhbiAlZCBvbGQgd29yZHM6IHI6ICVnIHYgJWcgYzogJWcgdiAlZyB2YWxpZCBkaWN0OiAlZCB2ICVkCgBCZXN0IGNob2ljZTogYWNjZXB0ZWQ9JWQsIGFkYXB0YWJsZT0lZCwgZG9uZT0lZCA6IAA8TnVsbCBjaG9pY2U+CgBPbGQgbWlzZml0cz0lZCB3aXRoIHgtaGVpZ2h0ICVmLCBuZXc9JWQgd2l0aCB4LWhlaWdodCAlZgoAT2xkIHJhdGluZz0gJWYsIGNlcnRhaW50eT0lZiwgbmV3PSVmLCAlZgoATmV3IFhIVCBNYXRjaDolcyA9ICVzIAAgLT4gJXMgPSAlcyAAQ0VSVABHVUVTUwBTVElMTCBET1VCVAAgJXMtPiVzICVzICVzCgBEaXNjYXJkaW5nIGNob2ljZSAiJXMiIHdpdGggYW4gb3Zlcmx5IGxvdyBjZXJ0YWludHkgJS4zZiB2cyBiZXN0IGNob2ljZSBjZXJ0YWludHkgJS4zZiAoVGhyZXNob2xkOiAlLjNmKQoARGlzY2FyZGluZyBkdXBsaWNhdGUgY2hvaWNlICIlcyIsIHJhdGluZyAlZyB2cyAlZwoAQmVzdABTZWNvbmRhcnkATmV3ICVzAFBvb3IAIFdvcmQgQ2hvaWNlAGJveF93b3JkICE9IG51bGxwdHIAYmxvYl9jb3VudCA9PSBib3hfd29yZC0+bGVuZ3RoKCkAQ2xhc3MgJXM6IGhlaWdodD0lZCwgYm90dG9tPSVkLCVkIHRvcD0lZCwlZCwgYWN0dWFsPSVkLCVkOiAAIHhodCByYW5nZSBtaW49JWQsIG1heD0lZAoAIGJvdHRvbSBzaGlmdCBtaW49JWQsIG1heD0lZAoAIGFscmVhZHkgT0sKAEFwcGx5aW5nIGJvdHRvbSBzaGlmdD0lZAoAYmFzZWxpbmUgc2hpZnQ9JWcKAE1lZGlhbiB4aHQ9JWYKAE1vZGUyMDpBOiBOZXcgeC1oZWlnaHQgPSAlZiAobm9ybSksICVmIChvcmlnKQoATWlzZml0AENsYXNzICVzIGlzICVzIHdpdGggdG9wICVkIHZzIGxpbWl0cyBvZiAlZC0+JWQsICsvLSVkCgBzdWIAc3VwZXIAQ2FuZGlkYXRlIGZvciBzdXBlcnNjcmlwdCBkZXRlY3Rpb246ICVzICgAJWQuJWQgJXMtbGVhZGluZyAAJWQuJWQgJXMtdHJhaWxpbmcgACBDZXJ0YWludGllcyAtLSBBdmVyYWdlOiAlLjJmICBVbmxpa2VseSB0aHJlc2g6ICUuMmYgIABPcmlnLiBsZWFkaW5nIChtaW4pOiAlLjJmICAAT3JpZy4gdHJhaWxpbmcgKG1pbik6ICUuMmYgIAAgcmVjb2duaXppbmcgZmlyc3QgJWQgY2hvcHBlZCBibG9icwoAIFRoZSBsZWFkaW5nIGJpdHMgbG9vayBsaWtlICVzICVzCgAgcmVjb2duaXppbmcgbWlkZGxlICVkIGNob3BwZWQgYmxvYnMKACByZWNvZ25pemluZyBsYXN0ICVkIGNob3BwZWQgYmxvYnMKACBUaGUgdHJhaWxpbmcgYml0cyBsb29rIGxpa2UgJXMgJXMKAFJFSkVDVABBQ0NFUFQAJXMgc3VwZXJzY3JpcHQgZml4OiAlcwoAd29yZC0+cmF0aW5ncy0+ZGltZW5zaW9uKCkgPT0gcmF0MSArIHJhdDIAL3NyYy9zcmMvY2NtYWluL3RmYWNlcHAuY3BwAEJsYW1lIGZyb20gcGFydCAxOiAAQmxhbWUgZnJvbSBwYXJ0IDI6IAAgUmVqZWN0aW5nOiBzdXBlcnNjcmlwdCBpcyBpdGFsaWMuCgAgUmVqZWN0aW5nOiBwdW5jdHVhdGlvbiBwcmVzZW50LgoAIFJlamVjdGluZzogZG9uJ3QgYmVsaWV2ZSBjaGFyYWN0ZXIgJXMgd2l0aCBjZXJ0YWludHkgJS4yZiB3aGljaCBpcyBsZXNzIHRoYW4gdGhyZXNob2xkICUuMmYKACBSZWplY3Rpbmc6IGNoYXJhY3RlciAlcyBzZWVtcyB0b28gc21hbGwgQCAlLjJmIHZlcnN1cyBleHBlY3RlZCAlLjJmCgAgQWNjZXB0OiB3b3JzdCByZXZpc2VkIGNlcnRhaW50eSBpcyAlLjJmCgByZWNvZ193b3JkOiBEaXNjYXJkZWQgbG9uZyBzdHJpbmcgIiVzIiAoJWQgY2hhcmFjdGVycyB2cyAlZCBibG9icykKAFdvcmQgaXMgYXQ6AC9zcmMvc3JjL3dvcmRyZWMvdGZhY2UuY3BwAHJhd19jaG9pY2UgaGFzIHRvdGFsIG9mIHN0YXRlcyA9ICVkIHZzIHJhdGluZ3MgZGltIG9mICVkCgBDb29rZWQgIyVkIGhhcyB0b3RhbCBvZiBzdGF0ZXMgPSAlZCB2cyByYXRpbmdzIGRpbSBvZiAlZAoACkJlc3QgUmF3IENob2ljZQAKQ29va2VkIENob2ljZSAjAEluaXRpYWw6AEZpbmFsIFJhdGluZ3MgTWF0cml4OgoACkZpbHRlcmluZyBhZ2FpbnN0IGJlc3QgY2hvaWNlAFdvcnN0Q2VydGFpbnR5RGlmZldvcnNlVGhhbgBpICVkIGogJWQgQ2hvaWNlLT5CbG9iW2ldLkNlcnRhaW50eSAlLjRnIFdvcnN0T3RoZXJDaG9pY2VDZXJ0YWludHkgJWcgVGhyZXNob2xkICVnCgBEaXNjYXJkaW5nIGJhZCBjaG9pY2UgIyVkCgBSYXRpbmdzIE1hdHJpeCAodG9wIDMgY2hvaWNlcykKAGNvbD0lZCByb3c9JWQgACVzIHJhdD0lZyBjZXJ0PSVnIAAJJWQAJWQJACAJAEZpbmFsIHNlYW0gbGlzdDoAUGFpbiBwb2ludHMgcXVldWUgaXMgZW1wdHkKAG51bV9mdXRpbGVfY2xhc3NpZmljYXRpb25zICVkCgBEb25lIHdpdGggU2VnU2VhcmNoIChBY2NlcHRhYmxlQ2hvaWNlRm91bmQ6ICVkKQoAQmVzdCBjaG9pY2UgaXM6IGluY29ycmVjdCwgdG9wIGNob2ljZSwgZGljdGlvbmFyeSB3b3JkACB3aXRoIHBlcm11dGVyIABDb3JyZWN0IHNlZ21lbnRhdGlvbiBzdGF0ZSB3YXMgbm90IGV4cGxvcmVkAENvcnJlY3Qgc2VnbWVudGF0aW9uIHBhdGhzIHdlcmUgcHJ1bmVkIGJ5IExNCgBCZXN0IGNvcnJlY3Qgc2VnbWVudGF0aW9uIHJhdGluZyAAIHZzLiBiZXN0IGNob2ljZSByYXRpbmcgACUuOGcAUHVuY3R1YXRpb24AVG9wIENob2ljZQBUb3AgTG93ZXIgQ2FzZQBUb3AgVXBwZXIgQ2FzZQBOZ3JhbQBOdW1iZXIAVXNlciBQYXR0ZXJuAENvbXBvdW5kAHNlZ3NlYXJjaCBzdGFydGluZyB0byBsb29rIGZvciBibGFtZQoAQ29ycmVjdCBzZWdtZW50YXRpb246CgBjb2w9ACByb3c9AApGYWlsZWQgdG8gaW5zZXJ0IHBhaW4gcG9pbnQKADI5X1Rlc3NNZW1iZXJSZXN1bHRDYWxsYmFja18yXzJJTGIwRWJOOXRlc3NlcmFjdDEyTE1QYWluUG9pbnRzRWRQOFdFUkRfUkVTaWlFADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliaWlFAEdlbmVyYXRpbmcgcGFpbiBwb2ludCBmb3IgY29sPSVkIHJvdz0lZCB0eXBlPSVzCgBEaXNjYXJkZWQgcGFpbiBwb2ludCB3aXRoIGEgYmFkIHNoYXBlCgBBZGRlZCBwYWluIHBvaW50IHdpdGggcHJpb3JpdHkgJWcKAFBhaW4gcG9pbnRzIGhlYXAgaXMgZnVsbAoAd29yZF9yZXMgIT0gbnVsbHB0cgAvc3JjL3NyYy93b3JkcmVjL2Fzc29jaWF0ZS5jcHAAIChmaXhlZCBwaXRjaCkAQXNzb2NpYXRlVXRpbHM6OkNvbXB1dGVTdGF0cygpIGZvciBjb2w9JWQsIHJvdz0lZCVzCgBub3JtYWxpemluZyBoZWlnaHQgPSAlZyAoc2NhbGUgJWcgeGhlaWdodCAlZyBhc2NlbmRlcnMgJWcpCgBiYWRfc2hhcGUAd2hfcmF0aW89JWcgKG1heF9jaGFyX3doX3JhdGlvPSVnKSBnYXBfc3VtPSVkICVzCgBsZWZ0X2dhcCAlZywgbGVmdF9zZWFtICVnICVzCgByaWdodF9nYXAgJWcgcmlnaHRfc2VhbSAlZyAlcwoAZnVsbF93aF9yYXRpbyAlZyBmdWxsX3doX3JhdGlvX3RvdGFsICVnIGZ1bGxfd2hfcmF0aW9fdmFyICVnCgBzaGFwZV9jb3N0ICVnCgByYXRpbmdzLT5kaW1lbnNpb24oKSA9PSBwZW5kaW5nLT5zaXplKCkAL3NyYy9zcmMvd29yZHJlYy9zZWdzZWFyY2guY3BwAHJhdGluZ3MtPmRpbWVuc2lvbigpID09IGJlc3RfY2hvaWNlX2J1bmRsZS0+YmVhbS5zaXplKCkACgpVcGRhdGVTZWdTZWFyY2hOb2RlczogY29sPSVkLCByb3dzPVslZCwlZF0sIGFsbGp1c3Q9JWQKAEFkZGVkIGNoaWxkIGNvbD0lZCB0byBwZW5kaW5nCgB3b3JkX3Jlcy0+U3RhdGVzQWxsVmFsaWQoKQBOTyBwYWluIHBvaW50IChDbGFzc2lmaWVkKSBmb3IgY29sPSVkIHJvdz0lZCB0eXBlPSVzCgAgc2NyaXB0PSVkLCBmb250MT0lZCwgZm9udDI9JWQsIHlzaGlmdD0lZywgY2xhc3NpZmllcj0lZAoAciUuMmYgYyUuMmYgeFslZywlZ106ICVkICVzAGp1c3RfY2xhc3NpZmllZAAKVXBkYXRlU3RhdGU6IGNvbD0lZCByb3c9JWQgJXMAKHBhcmVudD0lcCkKAE5vIHBhcmVudHMgZm91bmQgdG8gcHJvY2VzcwoAUGFyZW50IHZpdGVyYmkgbGlzdABDb25zaWRlcmluZwBQYXJlbnQgJXMgaGFzIGNvbXBldGl0aW9uICVzCgBCYXNlbGluZSBkaWZmICVnIGZvciAlZCB2ICVkCgBQb3NBbmRTaXplIGZvciAlZCB2ICVkOiBibCBkaWZmID0gJWcsIHJhbmdlcyAlZywgJWcgLyAlZyAtPiVnCgAlcyBWaXRlcmJpU3RhdGVFbnRyeQAoTkVXKQAgc3RyPSVzACB3aXRoIHJhdGluZ3Nfc3VtPSUuNGYgbGVuZ3RoPSVkIGNvc3Q9JS42ZgAgdG9wX2Nob2ljZV9mbGFncz0weCV4ACBpbmNvbnNpc3RlbnQ9KHB1bmMgJWQgY2FzZSAlZCBjaGFydHlwZSAlZCBzY3JpcHQgJWQgZm9udCAlZCkAIHBlcm11dGVyPSVkACBuZ3JhbV9jbF9jb3N0PSVnIGNvbnRleHQ9JXMgbmdyYW0gcHJ1bmVkPSVkACBzaGFwZV9jb3N0PSVnACAlcwBYSF9HT09EAFhIX1NVQk5PUk1BTABYSF9JTkNPTlNJU1RFTlQAQWRkVml0ZXJiaVN0YXRlRW50cnkgZm9yIHVuaWNoYXIgJXMgcmF0aW5nPSUuNGYgY2VydGFpbnR5PSUuNGYgdG9wX2Nob2ljZV9mbGFncz0weCV4ACBwYXJlbnRfdnNlPSVwCgBjdXJyX3N0YXRlICE9IG51bGxwdHIAL3NyYy9zcmMvd29yZHJlYy9sYW5ndWFnZV9tb2RlbC5jcHAAQWRkVml0ZXJiaVN0YXRlRW50cnk6IHZpdGVyYmkgbGlzdCBpcyBmdWxsIQoATGFuZ3VhZ2UgbW9kZWwgY29tcG9uZW50cyB2ZXJ5IGVhcmx5IHBydW5lZCB0aGlzIGVudHJ5CgBMYW5ndWFnZSBtb2RlbCBjb21wb25lbnRzIGVhcmx5IHBydW5lZCB0aGlzIGVudHJ5CgBBZGp1c3RlZCBjb3N0ID0gJWcKAExhbmd1YWdlIG1vZGVsIGNvbXBvbmVudHMgZGlkIG5vdCBsaWtlIHRoaXMgZW50cnkKAERpc2NhcmRlZCBWaXRlcmJpRW50cnkgd2l0aCBoaWdoIGNvc3QgJWcgbWF4IGNvc3QgJWcKAERpc2NhcmRlZCBWaXRlcmJpRW50cnkgd2l0aCBoaWdoIGNvc3QgJWcKACFjdXJyX3N0YXRlLT52aXRlcmJpX3N0YXRlX2VudHJpZXMuZW1wdHkoKQBTZXQgdml0ZXJiaV9zdGF0ZV9lbnRyaWVzX3BydW5hYmxlX21heF9jb3N0IHRvICVnCgBVcGRhdGVkIHZpdGVyYmkgbGlzdABVcGRhdGVCZXN0Q2hvaWNlKCkgY29uc3RydWN0ZWQgd29yZABSYXcgZmVhdHVyZXMgZXh0cmFjdGVkIGZyb20gJXMgKGNvc3Q9JWcpIFsgAF0KACVnIABVcGRhdGVkIHJhdyBjaG9pY2UKAFVwZGF0ZWQgYmVzdCBjaG9pY2UKAE5ldyBzdGF0ZSAAc2V0X2h5cGhlbl93b3JkOiAAICVkAElOQ09OU0lTVEVOVABTVUJOT1JNQUwATk9STUFMAApTdG9wcGVyOiAgJXMgKHdvcmQ9JWMsIGNhc2U9JWMsIHhodF9vaz0lcz1bJWcsJWddKQoAU3RvcHBlcjogIFJhdGluZyA9ICU0LjFmLCBDZXJ0YWludHkgPSAlNC4xZiwgVGhyZXNob2xkID0gJTQuMWYKAEFjY2VwdGFibGVDaG9pY2UoKSByZXR1cm5lZCBmYWxzZSAobm9fZGFuZ19hbWJpZzolZCBjZXJ0OiUuNGcgdGhyZXNoOiVnIHVuaWZvcm06JWQpCgBTdG9wcGVyOiBOb24tdW5pZm9ybSBjZXJ0YWludHkgPSAlNC4xZiAobT0lNC4xZiwgcz0lNC4xZiwgdD0lNC4xZikKAENvbnNpc3RlbmN5IGNvdWxkIG5vdCBiZSBjYWxjdWxhdGVkLgoALCB4aHRCQUQALCB4aHRTVUIATm9uLQAlc1dvcmQ6ICVzICU0LjJmJXMALCBXACwgQwAsIFAALCBGACAlNC4yZiAtLT4gJTQuMmYKAGZ1bGxfd2hfcmF0aW9fdmFyICs9ICglZy0lZyleMgoAaSA9PSAwAHRvdGFsX2Jsb2JzID09IHdvcmRfcmVzLT5yYXRpbmdzLT5kaW1lbnNpb24oKQAKUnVubmluZyBOb0Rhbmdlcm91c0FtYmlnKCkgZm9yICVzCgByZXBsYWNlYWJsZQBhbWJpZ3VvdXMATG9va2luZyBmb3IgJXMgbmdyYW1zIHN0YXJ0aW5nIHdpdGggJXM6CgBjYW5kaWRhdGUgbmdyYW06IABjdXJyZW50IG5ncmFtIGZyb20gc3BlYzogAGNvbXBhcmlzb24gcmVzdWx0OiAlZAoAZml4cHQrPSglZCAlZCAlZCAlZCAlcykKAHJlcGxhY2UgYW1iaWd1aXR5IHdpdGggJXMgOiAAZm91bmQgYW1iaWd1aXR5OiAAClJlc3VsdGluZyBhbWJpZ19ibG9iX2Nob2ljZXM6CgBTdG9wcGVyOiBQb3NzaWJsZSBhbWJpZ3VvdXMgd29yZCA9ICVzCgBmaXhwdC0+ZGFuZ2Vyb3VzKz0oJWQgJWQgJWQgJWQgJXMpCgBwZXJtdXRlX2Rhd2dfZGVidWcAJXMgcGVybXV0ZV9jaG9pY2VzOiBjaGFyX2Nob2ljZV9pbmRleD0lZCBsaW1pdD0lZyByYXRpbmc9JWcsIGNlcnRhaW50eT0lZyB3b3JkPSVzCgBwZXJtdXRlX2Nob2ljZXMoKTogYXR0ZW1wdHNfbGVmdCBpcyAwCgAlcyBjaGVjayBmcmFnbWVudHM6IGNob2ljZT0lcyB3b3JkX2VuZGluZz0lZAoAcHJldl9mcmFnbWVudCAlcwoAdGhpc19mcmFnbWVudCAlcwoAU2tpcCBjaG9pY2Ugd2l0aCBpbmNvbXBsZXRlIGZyYWdtZW50CgBOb24tbWF0Y2hpbmcgZnJhZ21lbnQgcGllY2UKAEJ1aWx0IGNoYXJhY3RlciAlcyBmcm9tIGZyYWdtZW50cwoAUmVjb3JkIGZyYWdtZW50IGNvbnRpbnVhdGlvbgoAUmVjb3JkIGZyYWdtZW50IGJlZ2lubmluZwoATm9uLXN0YXJ0aW5nIGZyYWdtZW50IHBpZWNlIHdpdGggbm8gcHJldl9mcmFnbWVudAoAV29yZCBjYW4gbm90IGVuZCB3aXRoIGEgZnJhZ21lbnQKAGNoZWNraW5nIHVuaWdyYW1zIGluIGFuIG5ncmFtICVzCgBnZXRVbmljaGFyc2V0KCkuZW5jb2RlX3N0cmluZyhuZ3JhbV9zdHIsIHRydWUsICZlbmNvZGluZywgbnVsbHB0ciwgbnVsbHB0cikAL3NyYy9zcmMvZGljdC9wZXJtZGF3Zy5jcHAAdWNoX2lkICE9IElOVkFMSURfVU5JQ0hBUl9JRABPSwBub3QgT0sAdW5pZ3JhbSAlcyBpcyAlcwoAZm91bmQgd29yZCA9ICVzCgBGYWlsZWQgdG8gb3BlbiBvdXRwdXRfYW1iaWdfd29yZHNfZmlsZSAlcwoAbGFzdCB1bmljaGFyIG5vdCBPSyBhdCBpbmRleCAlZCBpbiAlcwoAJXM6PG5vbmU+CgBjaG9pY2VzICE9IG51bGxwdHIAL3NyYy9zcmMvZGljdC9zdG9wcGVyLmNwcABvbGRfY2hvaWNlICE9IG51bGxwdHIAUmVwbGFjZUFtYmlnKCkgAE1vZGlmaWVkIGJsb2JfY2hvaWNlczogAFtFbXB0eV0AKCAAcmVzZXJ2ZWRfID49IGxlbgAvc3JjL3NyYy9jY3N0cnVjdC9yYXRuZ3MuaABHZW5lcmF0ZVRvcENob2ljZUluZm86IHRvcF9jaG9pY2VfZmxhZ3M9MHgleAoAdnNlICE9IG51bGxwdHIAQ29tcHV0ZUFkanVzdGVkUGF0aENvc3QgJWcgUGFyYW1zTW9kZWwgZmVhdHVyZXM6CgAlcz0lZwoAdnNlLT5uZ3JhbV9pbmZvICE9IG51bGxwdHIAcGZvbnQgJXMgcGZvbnQgJXMgZm9udCAlcyBmb250MiAlcyBjb21tb24gJXMoJWQpCgBmb250aW5mb19pZCA8IGZvbnRpbmZvX3RhYmxlXy0+c2l6ZSgpAHRlbXBfZmlkIDwgMCB8fCBmb250aW5mb190YWJsZV8tPnNpemUoKQBzcGFjaW5nIGZvciAlcyglZCkgJXMoJWQpIGNvbCAlZDogZXhwZWN0ZWQgJWcgYWN0dWFsICVnCgBuZ3JhbV9pbmZvLT5jb250ZXh0X3VuaWNoYXJfc3RlcF9sZW4gPD0gbGFuZ3VhZ2VfbW9kZWxfbmdyYW1fb3JkZXIAR2VuZXJhdGVOZ3JhbUluZm8AcHJvYiglcyB8ICVzKT0lZwoARm91bmQgc21hbGwgcHJvYiAlZwoALWxvZyBbIHAoJXMpICogcCglcyB8ICVzKSBdID0gLWxvZzIoJWcqJWcpID0gJWcKAEh5cGhlbmF0ZWQgd29yZCBmb3VuZAoARm91bmQgY29tcG91bmQgbWFya2VyCgBDb21wb3VuZCB3b3JkIGZvdW5kCgBUZXN0IExldHRlciBPSyBmb3IgdW5pY2hhciAlZCwgbm9ybWVkICVkCgBMZXR0ZXIgd2FzIE9LIGZvciB1bmljaGFyICVkLCBub3JtZWQgJWQKAExldHRlciAlcyBub3QgT0shCgBjb250YWluc191bmljaGFyX2lkKHVuaWNoYXJfaWQpAC9zcmMvc3JjL2NjdXRpbC91bmljaGFyc2V0LmgAJXMgVlNFcyAobWF4X2Nvc3Q9JWcgcHJuX2xlbj0lZCB0b3RfbGVuPSVkKToKAGZpcnN0X3VuaWNoYXIgIT0gbnVsbHB0cgBjX2l0LmRhdGEoKSAhPSBudWxscHRyAGxlbiAhPSAwAENvbXB1dGVEZW5vbQBDbGFzc2lmeWluZyBwYWluIHBvaW50ICVzIHByaW9yaXR5PSUuNGYsIGNvbD0lZCwgcm93PSVkCgBwYWluX3BvaW50cyAhPSBudWxscHRyAHBhaW5fcG9pbnQuVmFsaWQoKnJhdGluZ3MpAFVwZGF0ZWQgcmF0aW5ncyBtYXRyaXggd2l0aCBhIG5ldyBlbnRyeToATE1fUFBUWVBFX0JMQU1FUgBMTV9QUFRZUEVfQU1CSUdTAExNX1BQVFlQRV9QQVRIAExNX1BQVFlQRV9TSEFQRQBEZXRlY3RlZCBtaXNzaW5nIGNob3AgKHRvbGVyYW5jZT0AKSBhdCBCb3VuZGluZyBCb3g9AApObyBjaG9wIGZvciB0cnV0aCBhdCB4PQBNaXNzaW5nIGNob3BzIGZvciBsYXN0IAAgdHJ1dGggYm94KGVzKQAKTWF4aW1hbGx5IGNob3BwZWQgd29yZCBib3hlczoKAFRydXRoICBib3VuZGluZyAgYm94ZXM6CgApLT4oACUyZDogICAAICU2LjJmIEAgKCVkLCVkKSwgcD0lZCwgbj0lZCAALCAgIAAoJWQsJWQpLS0oJWQsJWQpAENob3AxAENob3AyACFibG9iX2Nob2ljZV9pdC5lbXB0eSgpAC9zcmMvc3JjL2Njc3RydWN0L2JsYW1lci5jcHAAZmlyc3RfY2hvaWNlICE9IG51bGxwdHIAQ2xhc3NpZmllci9PbGQgTE0gdHJhZGVvZmYgaXMgdG8gYmxhbWUAcm93ID49IGNvbABjb29yZC5WYWxpZCgqcmVzdWx0KQAvc3JjL3NyYy9jY3N0cnVjdC9tYXRyaXguY3BwAGJsb2JfbnVtYmVyIGZyb20gZml4cHQgPSAlZAoAYmxvYl9udW1iZXIgPSAlZAoAR29vZCBzZWFtIHBpY2tlZD0ACioqIG5vIHNlYW0gcGlja2VkICoqKiAKAFBhcnRpYWwgcHJpb3JpdHkgICAgAEZ1bGwgbXlfcHJpb3JpdHkgJTAuMGYsICAAQ29tYm8gcHJpb3JpdHkgICAgICAgAFB1c2hpbmcgbmV3IHNlYW0gd2l0aCBwcmlvcml0eSAlZyA6AHNlYW06IABPbGQgc2VhbSBzdGF5aW5nIHdpdGggcHJpb3JpdHkgJWcKAE5ldyBzZWFtIHdpdGggcHJpb3JpdHkgJWcgYmVhdHMgb2xkIHdvcnN0IHNlYW0gd2l0aCAlZwoAcmF0aW5nX2NlaWxpbmcgPSAlOC40ZgoAcmF0aW5nX2NlaWxpbmcgPSBObyBMaW1pdAoAICh3aXRoIGFzc29jKQBTdGFydGluZyBTZWdTZWFyY2ggb24gcmF0aW5ncyBtYXRyaXglczoKAEJsYW1lciBjb21wdXRpbmcgY29ycmVjdF9zZWdtZW50YXRpb25fY29scwoAQm94IHggY29vcmQgdnMuIHRydXRoOiAAQmxhbWVyIGZhaWxlZCB0byBmaW5kIGNvcnJlY3Qgc2VnbWVudGF0aW9uICh0b2xlcmFuY2U9ACBibG9iID09IG51bGxwdHIAKQoAIHBhdGggbGVuZ3RoIAAgdnMuIHRydXRoIABzdHJfcHRyID09IHN0cl9lbmQAcmVzZXRfaHlwaGVuX3ZhcnM6IGxhc3Rfd29yZF9vbl9saW5lICVkIC0+ICVkCgBzcGxpdF9pbmRleCA+IDAAc3BsaXRfcHQgPjAgJiYgc3BsaXRfcHQgPCB3b3JkLT5jaG9wcGVkX3dvcmQtPk51bUJsb2JzKCkATG9va2luZyBmb3IgdHJ1dGggc3BsaXQgYXQAIGVuZDFfeCAAIGJlZ2luMl94IAAKbm9ybV90cnV0aF93b3JkIGJveGVzOgoAU3BsaXQgZm91bmQAVHJ1dGggc3BsaXQgbm90IGZvdW5kACAobm8gdHJ1dGggY2hhciBib3hlcykKAFBPU1QgRklYX1FVT1RFUyBGQUlMIFN0cmluZzoiJXMiOyBTdHJsZW49JWQ7ICNCbG9icz0lZAoAd29yZC0+cmF3X2Nob2ljZSAhPSBudWxscHRyAHdvcmQtPmJlc3RfY2hvaWNlICE9IG51bGxwdHIARXhhbWluaW5nIGZvbnRzIGluICVzCgBGb250ICVzLCB0b3RhbCBzY29yZSA9ICVkCgBXb3JkIG1vZGFsIGZvbnQ9JXMsIHNjb3JlPSVkLCAybmQgY2hvaWNlICVzLyVkCgBXb3JkIG1vZGFsIGZvbnQ9JXMsIHNjb3JlPSVkLiBObyAybmQgY2hvaWNlCgBCQUQgdGVzc2VkaXRfcmVqZWN0X21vZGUKAFBlcm11dGVyIFR5cGUgPSAlZAoAQ2VydGFpbnR5OiAlZiAgICAgUmF0aW5nOiAlZgoARGljdCB3b3JkOiAlZAoAd29yZC0+cmVqZWN0X21hcC5sZW5ndGgoKSA9PSBibG9iY291bnQAL3NyYy9zcmMvY2NtYWluL3JlamVjdC5jcHAAIkZhdGFsIGVycm9yIGVuY291bnRlcmVkISIgPT0gbnVsbHB0cgAvc3JjL3NyYy9jY3V0aWwvZ2xvYmFsb2MuY3BwAG9uZV9lbGxfY29uZmxpY3QgZGV0ZWN0ZWQKAG5vbi1kaWN0IG9yIGFtYmlnIHdvcmQgZGV0ZWN0ZWQKAHNldF9kb25lKCk6IGRvbmU9JWQKAE8ASQAKUmVqZWN0ZXI6ICVzICh3b3JkPSVjLCBjYXNlPSVjLCB1bmFtYmlnPSVjLCBtdWx0aXBsZT0lYykKAFJlamVjdGVyOiBDZXJ0YWludHkgPSAlNC4xZiwgVGhyZXNob2xkID0gJTQuMWYgICAAQUNDRVBURUQKAFJFSkVDVEVECgAyOV9UZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViOFdFUkRfUkVTUks0VEJPWFMzX0UAMTlUZXNzUmVzdWx0Q2FsbGJhY2sySWJSSzRUQk9YUzJfRQAiAE5vIHRydXRoIGZvciB3b3JkIC0gc2tpcHBpbmcKACF3b3JkLT5jaG9wcGVkX3dvcmQtPmJsb2JzLmVtcHR5KCkAcmVjb2dfd29yZCBBU1NFUlQgRkFJTCBTdHJpbmc6IiVzIjsgU3RybGVuPSVkOyAjQmxvYnM9JWQKAHdvcmQtPmJlc3RfY2hvaWNlLT5sZW5ndGgoKSA9PSB3b3JkLT5ib3hfd29yZC0+bGVuZ3RoKCkATm90IGFsbCB3b3JkcyBoYXZlIHZhbGlkIHN0YXRlcyByZWxhdGl2ZSB0byByYXRpbmdzIG1hdHJpeCEhAHdvcmQtPlN0YXRlc0FsbFZhbGlkKCkAUGVybXV0ZXIgVHlwZSBGbGlwcGVkIGZyb20gJWQgdG8gJWQKACh3b3JkLT5iZXN0X2Nob2ljZSA9PSBudWxscHRyKSA9PSAod29yZC0+cmF3X2Nob2ljZSA9PSBudWxscHRyKQAuZG9jAGRvY193b3JkX2ZpbGUAL3NyYy9zcmMvZGljdC9kaWN0LmNwcAByZXBldGl0aW9ucy0+c2l6ZSgpID09IHdvcmQubGVuZ3RoKCkACkFkZGluZyB3b3JkOiAAQWRkaW5nIGxldHRlciAlZAoAZXhwbG9yaW5nIGVkZ2UgJWxsZCBpbiBub2RlICVsbGQKAGFkZGluZyBub2RlICVsbGQKAFJlLWluaXRpYWxpemluZyBkb2N1bWVudCBkaWN0aW9uYXJ5Li4uCgBlZGdlX2NoYXJfb2YodGhlX25leHRfbm9kZSwgTk9fRURHRSwgQkFDS1dBUkRfRURHRSwgZmFsc2UsIHVuaWNoYXJfaWQsICZiYWNrX2VkZ2VfcHRyLCAmYmFja19lZGdlX2luZGV4KQBuZXcgZWRnZSBpbiBub2Rlc19bJWxsZF06IABwb3BfYmFjawBlZGdlX2NoYXJfb2Yobm9kZTEsIG5vZGUyLCBkaXJlY3Rpb24sIHdvcmRfZW5kLCB1bmljaGFyX2lkLCAmZWRnZV9wdHIsICZlZGdlX2luZGV4KQByZW1vdmVkIGVkZ2UgaW4gbm9kZXNfWyVsbGRdOiAAbWlzYWRhcHQgdG8gd29yZCAoACk6IAAKCkFkYXB0aW5nIHRvIHdvcmQgPSAlcwoACkxlYXJuaW5nICVzCgA9PT09PT09PT09PT09PT09PT09PT09Ckxvb2tzTGlrZUdhcmJhZ2UoKSBnb3QgAEFkYXB0aW5nIHRvIGNoYXIgPSAlcywgdGhyPSAlZyBmb250X2lkPSAlZAoAQ2FuJ3QgYWRhcHQgdG8gJXMgbm90IGluIHVuaWNoYXJzZXQKAEFkYXB0VG9DaGFyAEZvdW5kIGdvb2QgbWF0Y2ggdG8gcGVybSBjb25maWcgJWQgPSAlNC4xZiUlLgoASW5jcmVhc2luZyByZWxpYWJpbGl0eSBvZiB0ZW1wIGNvbmZpZyAlZCB0byAlZC4KAEZvdW5kIHBvb3IgbWF0Y2ggdG8gdGVtcCBjb25maWcgJWQgPSAlNC4xZiUlLgoAQ2Fubm90IG1ha2UgbmV3IHRlbXBvcmFyeSBjb25maWc6IG1heGltdW0gbnVtYmVyIGV4Y2VlZGVkLgoAQ2Fubm90IG1ha2UgbmV3IHRlbXAgcHJvdG9zOiBtYXhpbXVtIG51bWJlciBleGNlZWRlZC4KAE1ha2luZyBuZXcgdGVtcCBjb25maWcgJWQgZm9udGluZm8gaWQgJWQgdXNpbmcgJWQgb2xkIGFuZCAlZCBuZXcgcHJvdG9zLgoAQ2xhc3MtPk51bUNvbmZpZ3MgPCBNQVhfTlVNX0NPTkZJR1MAQWRkSW50Q29uZmlnAEFkZFByb3RvVG9Qcm90b1BydW5lcjphc3NlcnQgZmFpbGVkOiAlZCA8ICVkAFByb3RvSWQgPCBDbGFzcy0+TnVtUHJvdG9zAEFkZFByb3RvVG9Qcm90b1BydW5lcgAhc3RkOjppc25hbihBbmdsZSkATGluZWFyIGZpbGwgZnJvbSAlZCB0byAlZABDaXJjdWxhciBmaWxsIGZyb20gJWQgdG8gJWQAQ29udmVydFByb3RvAENvbnZlcnRlZCBmZmVhdCB0byAoQT0lZCxCPSVkLEM9JWQsTD0lZCkAc2l6ZSA+IDAgfHwgKHNpemUgPT0gMCAmJiBwdHIgIT0gbnVsbHB0cikAQnVmZmVyICE9IG51bGxwdHIgfHwgc2l6ZSA9PSAwAFNpemUgPiAwAEJ1ZmZlciAhPSBudWxscHRyAEZpbmQgQmFkIEZlYXR1cmVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KAE1hdGNoIENvbXBsZXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgBGaW5kIEdvb2QgUHJvdG9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KAFJ1bm5pbmcgVXBkYXRlQW1iaWdzR3JvdXAgZm9yICVzIGNsYXNzX2lkPSVkCgBNYWtpbmcgY29uZmlnICVkIG9mICVzIHBlcm1hbmVudAoATWFraW5nIGNvbmZpZyAlZCBmb3IgJXMgKENsYXNzSWQgJWQpIHBlcm1hbmVudDogZm9udGluZm8gaWQgJWQsIGFtYmlndWl0aWVzICcAJy4KAE51bVRpbWVzU2VlbiBmb3IgY29uZmlnIG9mICVzIGlzICVkCgBhbWJpZ19jbGFzcyAhPSBudWxscHRyAFRlbXBDb25maWdSZWxpYWJsZQBBbWJpZyAlcyBoYXMgbm90IGJlZW4gc2VlbiBlbm91Z2ggdGltZXMsIG5vdCBtYWtpbmcgY29uZmlnIGZvciAlcyBwZXJtYW5lbnQKACEiSG93IGRpZCBOb3JtYWxpemVPdXRsaW5lcyBnZXQgY2FsbGVkIGluIGNoYXJhY3RlciBtb2RlPyIAL3NyYy9zcmMvY2xhc3NpZnkvbWZvdXRsaW5lLmNwcABQaWQgIT0gTk9fUFJPVE8ASW5pdEFkYXB0ZWRDbGFzcwBBZGRlZCBuZXcgY2xhc3MgJyVzJyB3aXRoIGNsYXNzIGlkICVkIGFuZCAlZCBwcm90b3MuCgBCbG9iIGxlYXJuZWQgd2FzIGludmFsaWQhCgAvc3JjL3NyYy9jbGFzc2lmeS9vY3JmZWF0dXJlcy5jcHAAV3JpdGVGZWF0dXJlACFzdGQ6OmlzbmFuKEZlYXR1cmUtPlBhcmFtc1tpXSkAL3NyYy9zcmMvY2xhc3NpZnkvbWYuY3BwAFJ1bm5pbmcgd29yZF9hZGFwdGFibGUoKSBmb3IgJXMgcmF0aW5nICUuNGYgY2VydGFpbnR5ICUuNGYKAGFkYXB0aW9uIGRpc2FibGVkCgB0ZXNzX3dvdWxkX2FkYXB0IGJpdCBpcyBmYWxzZQoAdGVzc19hY2NlcHRlZCBiaXQgaXMgZmFsc2UKAHdvcmQgbm90IGluIGRhd2dzCgB3b3JkIGhhcyBlbGwgY29uZmxpY3QKAHdvcmQgY29udGFpbnMgc3BhY2VzCgB3b3JkIGlzIGFtYmlndW91cwoAcmV0dXJuaW5nIHN0YXR1cyAlZAoAQmVzdCBjaG9pY2UgY2VydGFpbnR5PSVnLCBzcGFjZT0lZywgc2NhbGVkPSVnLCBmaW5hbD0lZwoAClNlY29uZCBjaG9pY2UgcGF0aDoKAGRpcmRpZmYgPT0gMCB8fCBkaXJkaWZmID09IDMyIHx8IGRpcmRpZmYgPT0gLTMyAC9zcmMvc3JjL2Njc3RydWN0L2NvdXRsbi5jcHAAY291bnQgPT0gMTI4IHx8IGNvdW50ID09IC0xMjgAUGF0aCB0b3RhbCByYXRpbmcgPSAlZwoAJWQgJWQ9JXMgcj0lZywgYz0lZywgcz0lZCwgZT0lZCwgcGVybT0lZAoAbnVsbF9jaGFyAGxhYmVsPSVkLCB1aWQ9JWQ9JXMAIERhd2dTdGFydAAgU3RhcnQAIEVuZAAgc2NvcmU9JWcsIGM9JWcsJXMlcyVzIHBlcm09JWQsIGhhc2g9JWx4ACBwcmV2OgBlbnRyeS5kYXRhLmRhd2dzID09IG51bGxwdHIAL3NyYy9zcmMvbHN0bS9yZWNvZGViZWFtLmNwcAB1bmljaGFyc2V0LmNvbnRhaW5zX3VuaWNoYXJfaWQodW5pY2hhcl9pZCkAZGVmX2xldHRlcl9pc19va2F5OiBjdXJyZW50IHVuaWNoYXI9JXMgd29yZF9lbmQ9JWQgbnVtIGFjdGl2ZSBkYXdncz0lZAoAUmVjZWl2ZWQgRGF3Z1Bvc2l0aW9uIHdpdGggbm8gZGF3ZyBvciBwdW5jX2Rhd2cuICB3dGg/CgBMZXR0ZXIgZm91bmQgaW4gZGF3ZyAlZAoAQXBwZW5kIHRyYW5zaXRpb24gZnJvbSBwdW5jIGRhd2cgdG8gY3VycmVudCBkYXdnczogAExldHRlciBmb3VuZCBpbiBwdW5jdHVhdGlvbiBkYXdnCgBFeHRlbmQgcHVuY3R1YXRpb24gZGF3ZzogAFJldHVybiB0byBwdW5jdHVhdGlvbiBkYXdnOiAAQWN0aXZlIGRhd2c6IFslZCwgJWxsZF0gZWRnZT0lbGxkCgBQdW5jdHVhdGlvbiBjb25zdHJhaW50IG5vdCBzYXRpc2ZpZWQgYXQgZW5kIG9mIHdvcmQuCgBBcHBlbmQgY3VycmVudCBkYXdnIHRvIHVwZGF0ZWQgYWN0aXZlIGRhd2dzOiAAUmV0dXJuaW5nICVkIGZvciBwZXJtdXRlciBjb2RlIGZvciB0aGlzIGNoYXJhY3Rlci4KAFBhdHRlcm4gZGF3ZzogWyVkLCAlbGxkXSBlZGdlPSVsbGQKAExldHRlciBmb3VuZCBpbiBwYXR0ZXJuIGRhd2cgJWQKACByZXR1cm5lZAAlc1slZCwgJWxsZF0gW3B1bmM6ICVsbGQlc10KACFpbnRfbW9kZV8AL3NyYy9zcmMvbHN0bS9uZXR3b3JraW8uaABMaW5lIGNhbm5vdCBiZSByZWNvZ25pemVkISEKAEltYWdlIHRvbyBsYXJnZSB0byBsZWFybiEhIFNpemUgPSAlZHglZAoASW52ZXJ0aW5nIGltYWdlOiBvbGQgbWluPSVnLCBtZWFuPSVnLCBzZD0lZywgaW52ICVnLCVnLCVnCgA8bnVsbD4APFVuZGVjb2RhYmxlPgAlcz0lZCBPbiBbJWQsICVkKSwgc2NvcmVzPQAsIE1lYW49JWcsIG1heD0lZwoAICUuM2coJXM9JWQ9JS4zZykAaGVpZ2h0ID09IE51bUZlYXR1cmVzKCkAQmFkIHBpeCBmcm9tIEltYWdlRGF0YSEKAEltYWdlIHRvbyBzbWFsbCB0byBzY2FsZSEhICglZHglZCB2cyBtaW4gd2lkdGggb2YgJWQpCgBzcmNfcGl4ICE9IG51bGxwdHIAL3NyYy9zcmMvY2NzdHJ1Y3QvaW1hZ2VkYXRhLmNwcABTY2FsaW5nIHBpeCBvZiBzaXplICVkLCAlZCBieSBmYWN0b3IgJWcgbWFkZSBudWxsIHBpeCEhCgBFWFRSQUNURUQgKCVkKTogIgBURVNURUQgKCVkKTogIgBSRVRVUk5FRCAoJWQpOiAiACVzLyUxZCAAIgoARklYIFNQQUNJTkcgIiVzIiA9PiAiACEiYCcsLjo7AERlc3RpbmF0aW9uIGxpc3QgbXVzdCBiZSBlbXB0eSBiZWZvcmUgZXh0cmFjdGluZyBhIHN1Ymxpc3QARUxJU1QuYXNzaWduX3RvX3N1Ymxpc3QAQ2FuJ3QgZXh0cmFjdCBzdWJsaXN0IGZyb20gcG9pbnRzIG9uIGRpZmZlcmVudCBsaXN0cwBDYW4ndCBleHRyYWN0IGEgc3VibGlzdCBtYXJrZWQgYnkgZGVsZXRlZCBwb2ludHMAQ2FuJ3QgZmluZCBzdWJsaXN0IGVuZCBwb2ludCBpbiBvcmlnaW5hbCBsaXN0AEVMSVNUX0lURVJBVE9SOjpleHRyYWN0X3N1Ymxpc3QAb3RoZXJfaXQgbnVsbHB0cgBFTElTVF9JVEVSQVRPUi5leHRyYWN0X3N1Ymxpc3QARlAgZml4c3BhY2Ugd29ya2luZyBvbiAiJXMiCgBibG9iX2NvdW50IDw9IDUxMgAvc3JjL3NyYy9jY21haW4vZml4c3BhY2UuY3BwAEZQIGZpeHNwYWNlIE5vaXNlIG1ldHJpY3MgZm9yICIlcyI6IAAlMS4xZiAARUxJU1RfSVRFUkFUT1I6OmRhdGFfcmVsYXRpdmUAb2Zmc2V0IDwgLWwARmFpbGVkIHRvIGZpbmQgYSBjaG9pY2UgZm9yICVzLCBvY2N1cnJpbmcgJWQgdGltZXMKAHByX2l0LT53b3JkKCkgIT0gbnVsbHB0cgBQYXNzJWQ6ICVzIFslc10KAHdyX2l0LmRhdGEoKS0+cGFydF9vZl9jb21ibwAhcmVhbF93b3JkLT5mbGFnKFdfRlVaWllfU1ApICYmICFyZWFsX3dvcmQtPmZsYWcoV19GVVpaWV9OT04pAFVzZWQgJWQvJWQgb3ZlcmxhcHBlZCAlZC8lZCBub24tb3ZlcmxhcGVkIGRpYWNyaXRpY3Mgb24gd29yZDoATnVtIGJsb2JsZXNzIG91dGxpbmVzID0gJWQKAEFkZGVkIHRvIGxlZnQgYmxvYgoAQWRkZWQgdG8gcmlnaHQgYmxvYgoARml0dGVkIGJldHdlZW4gYmxvYnMKAE5vIE5vaXNlIGJsb2IgY2xhc3NpZmllZCBhcyAlcz0lZyglZykgYXQ6AEFsbCBOb2lzZSBibG9iIGNsYXNzaWZpZWQgYXMgJXM9JWcsIGRlbHRhPSVnIGF0OgAgYmxvYiBjbGFzc2lmaWVkIGFzICVzPSVnLCBkZWx0YT0lZykgYXQ6AEFkZGluZwBOZXcAJXMgbm9pc2UgY29tYmluYXRpb24gACB5aWVsZHMgY2VydGFpbnR5ICVnLCBiZWF0aW5nIHRhcmdldCBvZiAlZwoAaXQud29yZCgpID09IHdvcmRfcmVzAHdvcmQgeGhlaWdodD0lZywgcm93PSVnLCByYW5nZT1bJWcsJWddCgBHb3Qgd29yZCB3aXRoIG51bGwgcmF3IGNob2ljZSB4aGVpZ2h0PSVnLCByb3c9JWcKACVkIG5vaXNlIG91dGxpbmVzIG92ZXJsYXAgYmxvYiBhdDoAVGVtcGxhdGVzICE9IG51bGxwdHIAQWRkQWRhcHRlZENsYXNzAENsYXNzICE9IG51bGxwdHIAVW51c2VkQ2xhc3NJZEluIChUZW1wbGF0ZXMtPlRlbXBsYXRlcywgQ2xhc3NJZCkAQ2xhc3MtPk51bVBlcm1Db25maWdzID09IDAAVGVtcGxhdGVzLT5DbGFzc1tDbGFzc0lkXSA9PSBudWxscHRyAExlZ2FsQ2xhc3NJZCAoQ2xhc3NJZCkAQWRkSW50Q2xhc3MAUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IGNsYXNzZXMgYXJlIGFkZGVkIHRvIHRlbXBsYXRlcwAgaW4gaW5jcmVhc2luZyBvcmRlciBvZiBDbGFzc0lkcwoAU3dpdGNoIHRvIGJhY2t1cCBhZGFwdGl2ZSBjbGFzc2lmaWVyIChOdW1BZGFwdGF0aW9uc0ZhaWxlZD0lZCkKAFJlc2V0dGluZyBhZGFwdGl2ZSBjbGFzc2lmaWVyIChOdW1BZGFwdGF0aW9uc0ZhaWxlZD0lZCkKAEVuZCBvZiBQYXNzIDEARW5kIG9mIFBhc3MgMgBFbmQgb2YgUGFzcyAzAEVuZCBvZiBQYXNzIDQARmluYWwgUGFyYWdyYXBoIFNlZ21lbnRhdGlvbgBNZW1vcnkgbGVhayEgQ29udmVydEh5cG90aGVzaXplTW9kZWxSdW5zVG9QYXJhZ3JhcGhzKCkgY2FsbGVkIG1vcmUgdGhhbiBvbmNlIQoAY29tcGFyZV9jYl8gIT0gbnVsbHB0cgBnZXRfaW5kZXgAVmFsaWRGaXJzdExpbmUoKSBzaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCBzdHJvbmcgbW9kZWxzIQoAVmFsaWRCb2R5TGluZSgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aXRoIHN0cm9uZyBtb2RlbHMhCgBFbmNvdW50ZXJlZCBiYWQgdmFsdWUgaW4gaHlwb3RoZXNpcyBsaXN0OiAlYwoAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViUktQSzE0UGFyYWdyYXBoTW9kZWxTNF9FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUktQSzE0UGFyYWdyYXBoTW9kZWxTNF9FAEdlb21ldHJpY0NsYXNzaWZ5ACMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgAjIyMjIyBHZW9tZXRyaWNDbGFzc2lmeSggcm93c1slZDolZCkgKSAgICMjIyMKAFRvbyBtdWNoIHZhcmlldHkgZm9yIHNpbXBsZSBvdXRsaW5lIGNsYXNzaWZpY2F0aW9uLgBOb3QgZW5vdWdoIHZhcmlldHkgZm9yIHNpbXBsZSBvdXRsaW5lIGNsYXNzaWZpY2F0aW9uLgBsZWZ0AHJpZ2h0ACMgQ2Fubm90IGRldGVybWluZSAlcyBpbmRlbnQgbGlrZWx5IHRvIHN0YXJ0IHBhcmFncmFwaHMuCgAjIEluZGVudCBvZiAlZCBsb29rcyBsaWtlIGEgZmlyc3QgbGluZSAlZCUlIG9mIHRoZSB0aW1lLgoATWFya1Jvd3NXaXRoTW9kZWwARG9uJ3QgY2FsbCBGaXJzdFdvcmRXb3VsZEhhdmVGaXQociwgcywgSlVTVElGSUNBVElPTl9VTktOT1dOKS4KAD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgBOb3QgZW5vdWdoIGZ1bGwgbGluZXMgdG8ga25vdyB3aGljaCBsaW5lcyBzdGFydCBwYXJhcy4AIyBOb3QgZW5vdWdoIHZhcmlldHkgZm9yIGNsZWFyIG91dGxpbmUgY2xhc3NpZmljYXRpb24uIEd1ZXNzaW5nIHRoZXNlIGFyZSAlcyBhbGlnbmVkIGJhc2VkIG9uIHNjcmlwdC4KACMgJXMKAEdlb21ldHJ5OiBUYWJTdG9wIGNsdXN0ZXIgdG9sZXJhbmNlID0gJWQ7ICVkIGxlZnQgdGFiczsgJWQgcmlnaHQgdGFicwoAQ2FsY3VsYXRlVGFiU3RvcHMAUmVjb21wdXRlTWFyZ2luc0FuZENsZWFySHlwb3RoZXNlcwBJbnZhbGlkIGFyZ3VtZW50cyByb3dzWyVkLCAlZCkgd2hpbGUgcm93cyBpcyBvZiBzaXplICVkLgoAIyBUb28gZmV3IHJvd3NbJWQsICVkKSBmb3IgJXMuCgBDcm93bkNvbXBhdGlibGUoKSBzaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCBjcm93biBtb2RlbHMhCgBTdHJvbmdFdmlkZW5jZUNsYXNzaWZ5ACMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoAIyBTdHJvbmdFdmlkZW5jZUNsYXNzaWZ5KCByb3dzWyVkOiVkKSApCgBJbml0aWFsIHN0cm9uZyBzaWduYWxzLgBVbnNtZWFyZWQgaHlwb3RoZXNlcy5zLgBQYXJhZ3JhcGhNb2RlbFNtZWFyZXIATW9kZWxTdHJvbmdFdmlkZW5jZQBDb3VsZCBub3QgZGV0ZXJtaW5lIGEgbW9kZWwgZm9yIHRoaXMgcGFyYWdyYXBoOgoASW50ZXJuYWxQYXJhZ3JhcGhNb2RlbEJ5T3V0bGluZQBNYXJnaW5zIGRvbid0IG1hdGNoISBTb2Z0d2FyZSBlcnJvci4KAFRyeWluZyB0byBzZXQgYSBsaW5lIHRvIGJlIFNUQVJUIHdoZW4gaXQncyBhbHJlYWR5IEJPRFkuCgBUcnlpbmcgdG8gc2V0IGEgbGluZSB0byBiZSBCT0RZIHdoZW4gaXQncyBhbHJlYWR5IFNUQVJULgoAI3JvdwBzcGFjZQAuLgBsd29yZFt3aWR0aFNFTF0AcndvcmRbd2lkdGhTRUxdAHRleHQAWwBzAFMAZQBFAEFjdGl2ZSBQYXJhZ3JhcGggTW9kZWxzOgoAICVkOiAlcwoAbWFyZ2luOiAlZCwgZmlyc3RfaW5kZW50OiAlZCwgYm9keV9pbmRlbnQ6ICVkLCBhbGlnbm1lbnQ6ICVzAExFRlQAUklHSFQAQ0VOVEVSAFVOS05PV04AJS0AWyUzZCwlM2Q7JTNkLCUzZF0AOgBDckwAQ3JSAFtsbWFyZyxsaW5kO3JpbmQscm1hcmddAG1vZGVsADMxX1Rlc3NGdW5jdGlvblJlc3VsdENhbGxiYWNrXzBfMklMYjBFYlJLTjl0ZXNzZXJhY3QxNExpbmVIeXBvdGhlc2lzRVMzX0UAMTlUZXNzUmVzdWx0Q2FsbGJhY2sySWJSS045dGVzc2VyYWN0MTRMaW5lSHlwb3RoZXNpc0VTM19FADMxX1Rlc3NGdW5jdGlvblJlc3VsdENhbGxiYWNrXzBfMklMYjBFYlJLUDE0UGFyYWdyYXBoTW9kZWxTM19FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUktQMTRQYXJhZ3JhcGhNb2RlbFMzX0UAOiciLj8hXX0pACciKHtbAGl2eGxtZElWWExNRAAwMTIzNDU3ODkAXX0pADo7LS4sAFt7KAAwT28qLiwrLgB4AEVycm9yOiBDb3VsZCBub3Qgb3BlbiBmaWxlICVzCgBib3hfZmlsZQAvc3JjL3NyYy9jY21haW4vcmVjb2d0cmFpbmluZy5jcHAAVE9ETyhhbnRvbm92YSk6IGNsZWFuIHVwIHJlY29nX3RyYWluaW5nX3NlZ21lbnRlZDsgIEl0IGV4YW1pbmVkIG9ubHkgYSBzbWFsbCBmcmFjdGlvbiBvZiB0aGUgYW1iaWdzIGltYWdlLgoAcmVjb2dfdHJhaW5pbmdfc2VnbWVudGVkOiBleGFtaW5lZCAlZCAvICVkIHdvcmRzLgoATm90IG91dHB1dHRpbmcgaWxsZWdhbCB1bmljaGFyICVzCgAJJXMJJS40ZgklLjRmCgBCb3ggZmlsZSBmb3JtYXQgZXJyb3Igb24gbGluZSAlaTsgaWdub3JlZAoAJWQgJWQgJWQgJWQgJWQAQmFkIGJveCBjb29yZGluYXRlcyBpbiBib3hmaWxlIHN0cmluZyEgJXMKAFdvcmRTdHIAQmFkIFVURi04IHN0ciAlcyBzdGFydHMgd2l0aCAweCUwMnggYXQgY29sICVkCgAudHh0AGErAG91dHB1dF9maWxlAEdlbmVyYXRlZCB0cmFpbmluZyBkYXRhIGZvciAlZCB3b3JkcwoALmxzdG1mAEZhaWxlZCB0byByZWFkIHRyYWluaW5nIGRhdGEgZnJvbSAlcyEKAEZhaWxlZCB0byByZWFkIGJveGVzIGZyb20gJXMKAEZhaWxlZCB0byB3cml0ZSB0cmFpbmluZyBkYXRhIHRvICVzIQoAU2VyaWFsaXplIGZhaWxlZDogJXMKAE5vIGJsb2NrIG92ZXJsYXBwaW5nIHRleHRsaW5lOiAlcwoALmJveABEZXNlcmlhbGl6ZSBoZWFkZXIgZmFpbGVkOiAlcwoARGVzZXJpYWxpemVza2lwIGZhaWxlZAoARGVzZXJpYWxpemUgZmFpbGVkOiAlcyByZWFkICVkLyVkIHBhZ2VzCgBMb2FkZWQgJWQvJWQgcGFnZXMgKCVkLSVkKSBvZiBkb2N1bWVudCAlcwoARkFJTFVSRSEgQ291bGRuJ3QgZmluZCBhIG1hdGNoaW5nIGJsb2IAQVBQTFlfQk9YRVM6CgAgICBCb3hlcyByZWFkIGZyb20gYm94ZmlsZTogICU2ZAoAICAgQm94ZXMgZmFpbGVkIHJlc2VnbWVudGF0aW9uOiAgJTZkCgBBUFBMWV9CT1hFUzogVW5sYWJlbGxlZCB3b3JkIGF0IDoAICAgRm91bmQgJWQgZ29vZCBibG9icy4KACAgIExlYXZpbmcgJWQgdW5sYWJlbGxlZCBibG9icyBpbiAlZCB3b3Jkcy4KACAgICVkIHJlbWFpbmluZyB1bmxhYmVsbGVkIHdvcmRzIGRlbGV0ZWQuCgBBUFBMWV9CT1g6IEZBSUxVUkU6IGNhbid0IGZpbmQgY2xhc3NfaWQgZm9yICclcycKAEFQUExZX0JPWDogRkFJTFVSRTogY2FuJ3QgZmluZCBzZWdtZW50YXRpb24gZm9yICclcycKAEFwcGx5Ym94ACVkKyVkOgBTZWdtZW50OgBDb21wbGV0ZSBtYXRjaCwgcmF0aW5nID0gJWcsIGJlc3Q9JWcsIHNlZ2xlbmd0aD0lZCwgYmVzdD0lZAoATWF0Y2gAQW1iaWcATWF0Y2ggZm91bmQgZm9yICVkPSVzOiVzLCBhdCAlZCslZCwgcmVjdXJzaW5nLi4uCgBFbmQgcmVjdXJzaW9uIGZvciAlZD0lcwoAQVBQTFlfQk9YRVM6IGJveGZpbGUgbGluZSAlZC8lcyAoKCVkLCVkKSwoJWQsJWQpKTogJXMKAApBUFBMWV9CT1g6IGluIFJlc2VnbWVudFdvcmRCb3goKSBmb3IgJXMKAENoZWNraW5nIHdvcmQ6AENoZWNraW5nIGJsb2I6AEN1cnJlbnQgbWlzcyBtZXRyaWMgPSAlZywgbmV4dCA9ICVnCgBCbG9iIG1hdGNoOiBibG9iOgBNYXRjaGVzIGJveDoAV2l0aCBuZXh0IGJveDoARkFJTCEKAEVMSVNUMl9JVEVSQVRPUjo6YWRkX3RvX2VuZABFTElTVDJfSVRFUkFUT1I6OmFkZF9hZnRlcl9zdGF5X3B1dABhICE9IDAgJiYgYiAhPSAwAC9zcmMvc3JjL2NjbWFpbi9hcHBseWJveC5jcHAACkFQUExZX0JPWDogaW4gUmVzZWdtZW50Q2hhckJveCgpIGZvciAlcwoAQ2hlY2tpbmcgd29yZCBib3g6AEluZGV4IFslZCwgJWQpIHNlZW0gZ29vZC4KACVkIEJsb2JzIG1hdGNoOiBibG9iIGJveDoAQmVzdCBzdGF0ZSA9IABDb3JyZWN0IHRleHQgPSBbWyAAXV0KACVzIABNYXhpbWFsbHkgY2hvcHBpbmcgd29yZCBhdDoAIXdvcmRfcmVzLT5jaG9wcGVkX3dvcmQtPmJsb2JzLmVtcHR5KCkAcm93IHhoZWlnaHQ9JWcsIGJ1dCBtZWRpYW4geGhlaWdodCA9ICVnCgBjb21ibyAhPSBudWxscHRyAEVMSVNUMl9JVEVSQVRPUjo6ZGF0YV9yZWxhdGl2ZQBMaXN0IGlzIGVtcHR5AFBsZWFzZSBjYWxsIFNldEltYWdlIGJlZm9yZSBhdHRlbXB0aW5nIHJlY29nbml0aW9uLgoAV2FybmluZzogQ291bGQgbm90IHNldCBlcXVhdGlvbiBkZXRlY3RvcgoAb3NkAFdhcm5pbmc6IEF1dG8gb3JpZW50YXRpb24gYW5kIHNjcmlwdCBkZXRlY3Rpb24gcmVxdWVzdGVkLCBidXQgZGF0YSBwYXRoIGlzIHVuZGVmaW5lZAoAV2FybmluZzogQXV0byBvcmllbnRhdGlvbiBhbmQgc2NyaXB0IGRldGVjdGlvbiByZXF1ZXN0ZWQsIGJ1dCBvc2QgbGFuZ3VhZ2UgZmFpbGVkIHRvIGxvYWQKAHNwbGl0dGVyXy5vcmlnX3BpeCgpAC9zcmMvc3JjL2NjbWFpbi90ZXNzZXJhY3RjbGFzcy5jcHAAc2VnbWVudGF0aW9uX2Jsb2NrX2xpc3RfAC9zcmMvc3JjL3RleHRvcmQvZGV2YW5hZ2FyaV9wcm9jZXNzaW5nLmNwcABCZWZvcmUgcmVmcmVzaGluZyBibG9iczoKAE5ldyBCbG9icyBmb3VuZDogJWQKAEFmdGVyIHJlZnJlc2hpbmcgYmxvYnM6CgBFTElTVDJfSVRFUkFUT1I6OmFkZF9saXN0X2FmdGVyAGxpc3RfdG9fYWRkIGlzIG51bGxwdHIARUxJU1QyX0lURVJBVE9SOjptb3ZlX3RvX2ZpcnN0AEVMSVNUMl9JVEVSQVRPUjo6YWRkX2FmdGVyX3RoZW5fbW92ZQBCb3VuZGluZyBib3ggY291bGRuJ3QgYmUgYXNjZXJ0YWluZWQKAEJsb2NrIGxpc3Qgc3RhdHM6CkJsb2NrcyA9ICVkClJvd3MgPSAlZApXb3JkcyA9ICVkCkJsb2JzID0gJWQKAERpc2NhcmRpbmcgcGFyZW50IHdpdGggY2hpbGQgY291bnQ9JWQsIGdjPSVkCgBEaXNjYXJkaW5nIHBhcmVudCBvZiBhcmVhICVkLCBjaGlsZCBhcmVhPSVkLCBtYXglZyB3aXRoIGdjPSVkCgBEaXNjYXJkaW5nIHBhcmVudCBvZiBhcmVhICVkLCBjaGlsZCBhcmVhPSVkLCBtYXglZyB3aXRoIGNoaWxkIGxlbmd0aD0lZAoARGlzY2FyZGluZyBwYXJlbnQgb2YgYXJlYSAlZCwgY2hpbGQgYXJlYT0lZCwgbWF4JWcgd2l0aCBjaGlsZCByZWN0PSVkCgBEaXNjYXJkIG91dGxpbmUgb24gY2hpbGRfY291bnQ9JWQgPiBtYXhfY2hpbGRyZW5fcGVyX291dGxpbmU9JWQKAERpc2dhcmQgb3V0bGluZSBvbiBjaGlsZF9jb3VudD0lZCArIGdyYW5kY2hpbGRfY291bnQ9JWQgPiBtYXhfY291bnQ9JWQKAHRyaWdodC54KCkgPD0gd2lkdGgAL3NyYy9zcmMvdGV4dG9yZC9zY2FuZWRnLmNwcAB0cmlnaHQueSgpIDw9IGhlaWdodABJbGxlZ2FsIHN1bSBvZiBjaGFpbiBjb2RlcwBjaGVja19wYXRoX2xlZ2FsAGNoYWluc3VtPSVkAEJMT0NLX0xJTkVfSVQ6OmdldF9saW5lAFk9JWQAQ2FuJ3QgZmluZCByZWN0YW5nbGUgZm9yIGxpbmUAWSBjb29yZGluYXRlIGluIGJsb2NrIG91dCBvZiBib3VuZHMAc3BsaXRfc3RyYXRlZ3kgPT0gTUlOSU1BTF9TUExJVCB8fCBzcGxpdF9zdHJhdGVneSA9PSBNQVhJTUFMX1NQTElUAG9yaWdfcGl4XwBTcGxpdHRpbmcgc2hpcm8tcmVraGEgLi4uCgBNaW5pbWFsAE1heGltYWwAU3BsaXQgc3RyYXRlZ3kgPSAlcwoAbm8AeWVzAEluaXRpYWwgcGFnZXNlZyBhdmFpbGFibGUgPSAlcwoAUGVyZm9ybWluZyBhIGdsb2JhbCBjbG9zZSBvcGVyYXRpb24uLgoAd29yZF9waXgAQ0MgZHJvcHBlZCBmcm9tIHNwbGl0dGluZzogJWQsJWQgKCVkLCAlZCkKAHBhZ2VzZWdfc3BsaXQAb2NyX3NwbGl0AFNraXBwaW5nIHNwbGl0dGluZyBDQyBhdCAoJWQsICVkKTogc2hpcm9yZWtoYSBpbiBsb3dlciBoYWxmLi4KAFNraXBwaW5nIHNwbGl0dGluZyBDQyBhdCAoJWQsICVkKTogc3Ryb2tlIHdpZHRoIHRvbyBodWdlLi4KAHBpeF9iaW5hcnlfICE9IG51bGxwdHIAL3NyYy9zcmMvY2NtYWluL3BhZ2VzZWdtYWluLmNwcABFbXB0eSBwYWdlCgAhdG9fYmxvY2tzLT5lbXB0eSgpAC9zcmMvc3JjL3RleHRvcmQvdGV4dG9yZC5jcHAARUxJU1QyX0lURVJBVE9SOjplbXB0eQBOOXRlc3NlcmFjdDZCQkdyaWRJTlNfMTFXb3JkV2l0aEJveEVOU18xN1dvcmRXaXRoQm94X0NMSVNURU5TXzE2V29yZFdpdGhCb3hfQ19JVEVFRQBkZXN0cG9zLnggKCkgPT0gc3RhcnQueCAoKSAmJiBkZXN0cG9zLnkgKCkgPT0gc3RhcnQueSAoKQBkZXN0aW5kZXggPD0gc3RlcGNvdW50AGNsZWFudXBfYmxvY2tzOiAjIHJvd3MgPSAlZCAvICVkCgBjbGVhbnVwX2Jsb2NrczogIyBibG9ja3MgPSAlZCAvICVkCgBFTElTVDJfSVRFUkFUT1I6Omxlbmd0aABCbG9iIGF0ICglZCwlZCkgLT4gKCVkLCVkKSwgb2xzPSVkLCB0Yz0lZCwgYmxkaWZmPSVnCgBSb3cgZW5kaW5nIGF0ICglZCwlZyk6AFJFSkVDVEVEAEFDQ0VQVEVEACBSPSVnLCBkYz0lZCwgbmM9JWQsICVzCgB0aGlzID09IGl0LT5kYXRhKCkAIXdvcmQtPmNibG9iX2xpc3QoKS0+ZW1wdHkoKQAvc3JjL3NyYy90ZXh0b3JkL3RvcmRtYWluLmNwcABFTElTVDJfSVRFUkFUT1I6OnNvcnQASXRlcmF0b3Igbm90IHNldCB0byBhIGxpc3QARkFMU0UAL3NyYy9zcmMvdGV4dG9yZC93b3Jkc2VnLmNwcABSb3cgd2l0aG91dCBlbm91Z2ggY2hhciBjZWxscyEKAExlZnRtb3N0IGJsb2IgaXMgYXQgKCVkLCVkKQoAIWNlbGxfaXQuZW1wdHkgKCkgJiYgIXJvdy0+Y2hhcl9jZWxscy5zaW5nbGV0b24gKCkAL3NyYy9zcmMvdGV4dG9yZC9mcGNob3AuY3BwAHdvcmQgIT0gbnVsbHB0cgBsZWZ0X2NoLmVtcHR5KCkgJiYgcmlnaHRfY2guZW1wdHkoKQBvdXRsaW5lID09IG51bGxwdHIAdG9wLT5zdGVwcyAhPSBudWxscHRyAHRvcC0+c3RlcHMgPT0gbnVsbHB0cgBib3R0b20t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ZXN0X2Zha2UgPCBJTlQxNl9NQVgAeD0lZCwgQz0lZywgcz0lZywgc3E9JWcsIHByZXY9JWQKAFdvcmQgZW5kaW5nIGF0ICglZCwlZCksIGxlbj0lZCwgc3luYyByYXRpbmc9JWcsIAAoRikAJWQsIABiZXN0X2VuZCAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvcGl0c3luYzEuY3BwAGJlc3RfZW5kID09IG51bGxwdHIAIW91dHNlZ19pdC5lbXB0eSAoKQBJbXBvc3NpYmxlIHNxc3VtPSVnLCBtZWFuPSVnLCB0b3RhbD0lZAoAb2Zmc2V0ID49IDAAbWFkZSBmYWtlIGF0ICVkCgBSb3cgZW5kaW5nIGF0ICglZCwlZCksIGxlbj0lZCwgc3luYyByYXRpbmc9JWcsIAB0dW5lX3Jvd19waXRjaDpzdGFydCBwaXRjaD0lZywgYmVzdF9kZWx0YT0lZCwgY291bnQ9JWQKAHR1bmVfcm93X3BpdGNoOm91dHB1dCBwaXRjaD0lZywgc2Q9JWcKAC9zcmMvc3JjL3RleHRvcmQvdG9waXRjaC5jcHAASW5pdGlhbGx5OgBCbG9jayAlZCBoYXMgKCVkLCVkLCVkKQAgKFdyb25nbHkpACBmaXhlZCwgKCVkLCVkLCVkKQAgcHJvcCwgJWQgZHVubm8KAD8/ADpzZC9wPSVnOm9jYz0lZzppbml0X3Jlcz0lcwoAdHJ5X2RvYzpwcm9wcz0lZDpmaXhlZD0lZDpwaXRjaD0lZDpmaW5hbF9waXRjaD0lZzpwaXRjaF9zZD0lZzpzcF9zZD0lZzpzZC90cmM9JWc6c2QvcD0lZzpzZC90cmMvcD0lZwoAQmxvY2sgJWQgYXQgKCVkLCVkKS0+KCVkLCVkKQoARmlyc3QgZnAgaXRlcmF0aW9uOmluaXRpYWxfcGl0Y2g9JWcsIGdhcF9pcXI9JWcsIHBpdGNoX2lxcj0lZywgcGl0Y2g9JWcKAFJldmlzZWQgZnAgaXRlcmF0aW9uOmluaXRpYWxfcGl0Y2g9JWcsIGdhcF9pcXI9JWcsIHBpdGNoX2lxcj0lZywgcGl0Y2g9JWcKAEJsaz0lZDpSb3c9JWQ6JWM6cF9pcXI9JWc6Z19pcXI9JWc6ZG1fcF9pcXI9JWc6ZG1fZ19pcXI9JWc6JWM6AENob29zaW5nIG5vbiBkbSB2ZXJzaW9uOnBpdGNoX2lxcj0lZywgZ2FwX2lxcj0lZywgZG1fcGl0Y2hfaXFyPSVnLCBkbV9nYXBfaXFyPSVnCgBDaG9vc2luZyBkbSB2ZXJzaW9uOnBpdGNoX2lxcj0lZywgZ2FwX2lxcj0lZywgZG1fcGl0Y2hfaXFyPSVnLCBkbV9nYXBfaXFyPSVnCgByZXZfcF9pcXI9JWc6cmV2X2dfaXFyPSVnOnBpdGNoPSVnOgBwX2lxci9nPSVnOnBfaXFyL3g9JWc6aXFyX3Jlcz0lYzoAY2x1c3Rlcl9jb3VudD0lZDoAICVnKCVkKQBObyBjbHVzdGVycyBiZWxvdyBub25zcGFjZSB0aHJlc2hvbGQhIQoATm8gY2x1c3RlcnMgYWJvdmUgbm9uc3BhY2UgdGhyZXNob2xkISEKAE5vIGNsdXN0ZXJzIGJlbG93IHNwYWNlIHRocmVzaG9sZCEhCgBObyBjbHVzdGVycyBhYm92ZSBzcGFjZSB0aHJlc2hvbGQhIQoASW5pdGlhbCBlc3RpbWF0ZXM6cHJfbm9uc3A9JWcsIHByX3NwYWNlPSVnLCBmcF9ub25zcD0lZywgZnBfc3BhY2U9JWcKAEJhZCBib3ggam9pbmVkIHRvIHByZXYgYXQAQWZ0ZXIgcmVwZWF0ZWQgd29yZDoAYm94X2l0LmVtcHR5KCkgfHwgIWJveF9pdC5kYXRhKCktPmpvaW5lZF90b19wcmV2KCkAUGFnZSBkb2Vzbid0IHNlZW0gdG8gY29udGFpbiBmaXhlZCBwaXRjaCByb3dzCgBjb21wdXRlX2ZpeGVkX3BpdGNoX2NqayBmaW5pc2hlZCBhZnRlciAldSBpdGVyYXRpb24gKGxpbWl0PSV1KQoARlBBbmFseXplcjogZmluYWwgcmVzdWx0CgBSb3cgJWQ6IHBpdGNoX2RlY2lzaW9uPSVkLCBmaXhlZF9waXRjaD0lZiwgbWF4X25vbnNwYWNlPSVkLCBzcGFjZV9zaXplPSVmLCBzcGFjZV90aHJlc2hvbGQ9JWQsIHhoZWlnaHQ9JWYKAENoYXIgJXU6IGlzX2ZpbmFsPSVkIGlzX2dvb2Q9JWQgbnVtX2Jsb2JzPSVkOiAAZmluYWxpemVkXwAvc3JjL3NyYy90ZXh0b3JkL2Nqa3BpdGNoLmNwcABwaXRjaF8gPiAwLjBmAGJsb2NrLT54aGVpZ2h0ID4gMAByb3cgIT0gbnVsbHB0cgByb3ctPnhoZWlnaHQgPiAwAHVfbGluZS0+Y2Jsb2IgKCkgIT0gbnVsbHB0cgAvc3JjL3NyYy90ZXh0b3JkL3VuZGVybGluLmNwcABCbG9jayBhdmVyYWdlIHhoZWlnaHQ9JS40ZiwgYXNjcmlzZT0lLjRmLCBkZXNjZHJvcD0lLjRmCgBjb3JyZWN0aW5nIHJvdyB4aGVpZ2h0OiByb3ctPnhoZWlnaHQgJS40Ziwgcm93LT5hY3Jpc2UgJS40ZiByb3ctPmRlc2Nkcm9wICUuNGYKAHVzaW5nIGF2ZXJhZ2UgeGhlaWdodAoAbG93ZXJjYXNlLCBjb3JyZWN0ZWQgYXNjcmlzZQoAYWxsIGNhcHMKAHNtYWxsIGNhcHMKAGFsbCBjYXBzIHdpdGggaXJyZWd1bGFyIHhoZWlnaHQKAGNvcnJlY3RlZCByb3ctPnhoZWlnaHQgPSAlLjRmLCByb3ctPmFjcmlzZSA9ICUuNGYsIHJvdy0+ZGVzY2Ryb3AgPSAlLjRmCgBtaW5faGVpZ2h0PSVkLCBtYXhfaGVpZ2h0PSVkLCBtb2RlPSVkLCBjb3VudD0lZCwgdG90YWw9JWQKAGZvdW5kICVkIG1vZGVzOiAAJWQgAFg9JWQsIGFzYz0lZCwgY291bnQ9JWQsIHJhdGlvPSVnCgBTaW5nbGUgbW9kZSB4aGVpZ2h0IHNldCB0byAlZwoATXVsdGktbW9kZSB4aGVpZ2h0IHNldCB0byAlZywgYXNjPSVnCgBTa2lwcGluZyByZXBlYXRlZCBjaGFyIHdoZW4gY29tcHV0aW5nIHhoZWlnaHQKAERlc2Nkcm9wOiAlZCAocG90ZW50aWFsIGFzY2VuZGVycyAlZCwgZGVzY2VuZGVycyAlZCkKAFJvdyBiYXNlbGluZSBnZW5lcmF0aW9uIGZhaWxlZCBvbiByb3cgYXQgKCVkLCVkKQoACklucHV0IGhlaWdodD0lZywgRXN0aW1hdGUgeC1oZWlnaHQ9JWQgcGl4ZWxzLCBqdW1wbGltaXQ9JS4yZgoAYmxvYmNvdW50PSVkLCBtb2RlX2NvdW50PSVkLCBtb2RlX3Q9JWQKAG1vZGVbJWRdPSVkIABPdXRwdXQgeGhlaWdodD0lZwoAd2FybmluZzogUm93IExpbmUgaGVpZ2h0IDwgMDsgJTQuMmYKAFRvbyBtYW55IHNlZ21lbnRzIHRvIHJlc2VnbWVudCBzcGxpbmUhIQoAU3BsaXR0aW5nIHNwbGluZSBhdCAlZCB3aXRoIHN0ZXAgJWcgYXQgKCVkLCVkKQoAUmVzZWdtZW50aW5nIHNwbGluZSBmYWlsZWQgLSBpbnN1ZmZpY2llbnQgcHRzICglZCwlZCwlZCwlZCkKAEZpcnN0IHR1cm4gaXMgJWQgYXQgKCVkLCVkKQoAVHVybiAlZCBpcyAlZCBhdCAoJWQsJWQpLCBtaWQgcHQgaXMgJWRAJWQsIGZpbmFsIEAlZAoAJWQoJWQsJWQpLCAARml0dGVkIGxpbmUgeT0lZyB4ICsgJWcKAERpZmYgb2YgY29tbW9uIGJsb2IgdG8gc3VzcGVjdCBwYXJ0PSVnIGF0ICglZywlZykKAE1lcmdlZCAlZCBibG9icyBiYWNrIGludG8gcGFydCAlZCBmcm9tICVkIHN0YXJ0aW5nIGF0ICglZCwlZCkKAERpZmY9JS4yZiwgRGVsdGE9JS4zZiwgRHJpZnQ9JS4zZiwgAFA9JWQKAENvbnN0cmFpbmVkIGZpdCB0byBkaXIgJWcsICVnID0gJWQsICVkIDolZCBkaXN0YW5jZXM6CgBSZXN1bHQgPSAlZAoAJWQ6ICVkLCAlZCAtPiAlZwoATGluZWFyIHNwbGluaW5nIGJhc2VsaW5lIG9mICVkIGJsb2JzIGF0ICglZCwlZCksIGludG8gJWQgc2VnbWVudHMgb2YgJWQgYmxvYnMKAFNlZ21lbnRpbmcgYmFzZWxpbmUgb2YgJWQgYmxvYnMgYXQgKCVkLCVkKQoATWFkZSAlZCBzZWdtZW50cyBvbiByb3cgYXQgKCVkLCVkKQoAYmxvYi0+Y2Jsb2IoKSAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvbWFrZXJvdy5jcHAAVW5kZXJsaW5lZCBibG9iIGF0OgBXYXM6AExhcmdlIGJsb2Igb3ZlcmxhcHMgJWQgYmxvYnMgYXQ6AFRlc3RpbmcgdW5kZXJsaW5lIG9uIGJsb2IgYXQgKCVkLCVkKS0+KCVkLCVkKSwgYmFzZT0lZApPY2NzOgAlZCAlZCAlZAoAQm90dG9tPSVkLCB0b3A9JWQsIGJhc2U9JWQsIHg9JWQKAEZpdHRpbmcgaW5pdGlhbCBiYXNlbGluZXMuLi4KAFBhZ2Ugc2tldyBhbmdsZSA9ICVnCgBBZGp1c3RpbmcgYmxvY2sgdG8gc2tldyBhbmdsZSAlZwoAUm93IGVtcHR5IGF0OgBNb2RlIGF0ICVnIGhhcyBlcnJvciAlZyBmcm9tIG1vZGVsIAoAQXR0ZW1wdGluZyBsaW5lc3BhY2luZyBtb2RlbCBmaXQgd2l0aCBtb2RlICVnIHRvIHJvdyBhdDoATGluZXNwYWNpbmcgbW9kZWwgb25seSBtb3ZlcyBjdXJyZW50IGxpbmUgYnkgJWcgZm9yIHJvdyBhdDoATGluZXNwYWNpbmcgbW9kZWwgbm90IGNsb3NlIGVub3VnaCB0byBhbnkgbW9kZSBmb3Igcm93IGF0OgBDb25zdHJhaW5lZCBlcnJvciA9ICVnLCBvcmlnaW5hbCA9ICVnACBhbmdsZXMgPSAlZywgJWcsIGRlbHRhPSVnIHZzIHRocmVzaG9sZCAlZwoAUmVwbGFjaW5nIHdpdGggY29uc3RyYWluZWQgYmFzZWxpbmUsIGdvb2QgPSAlZAoAS2VlcGluZyBvbGQgYmFzZWxpbmUKAFNwYWNpbmcgJWcsIGluICVkIHJvd3MsICVkIGdhcHMgZml0dGVkIG91dCBvZiAlZCBub24tdHJpdmlhbAoARmluYWwgbGluZXNwYWNpbmcgbW9kZWwgPSAlZyArIG9mZnNldCAlZywgZXJyb3IgJWcKACVkOiAlZwoATWVkaWFuIG9mZnNldCA9ICVnLCBjb21wYXJlZCB0byBtZWFuIG9mICVnLgoATGluZXNwYWNpbmcgb2YgeT0lZyB4ICsgJWcgaW1wcm92ZWQgdG8gJWcgeCArICVnLCBybXM9JWcKAEVzdGltYXRlIG9mIGxpbmVzcGFjaW5nID0gJWcKAEJhc2VsaW5lICglZywlZyktPiglZywlZyksIGFuZ2xlPSVnLCBpbnRlcmNlcHQ9JWcKAFF1YW50IGZhY3Rvcj0lZywgZXJyb3I9JWcsIGdvb2Q9JWQsIGJveDoASW5pdGlhbCBibG9jayBza2V3IGFuZ2xlID0gJWcsIGdvb2QgPSAlZAoARUxJU1QyX0lURVJBVE9SOjphZGRfYmVmb3JlX3RoZW5fbW92ZQBuZXdfZWxlbWVudCBpcyBudWxscHRyAEF0dGVtcHRpbmcgdG8gYWRkIGFuIGVsZW1lbnQgd2l0aCBub24gbnVsbHB0ciBsaW5rcywgdG8gYSBsaXN0AExpc3QgcGFyYW1ldGVyIGVycm9yAFRlc3QgYmxvYiBhc3NpZ25lZCB0byByb3cgYXQgKCVnLCVnKSBvbiBwYXNzICVkCgBUZXN0IGJsb2IgYXNzaWduZWQgdG8gbm8gcm93IG9uIHBhc3MgJWQKAFRlc3QgYmxvYiB5PSglZywlZyksIHJvdz0oJWYsJWYpLCBzaXplPSVnLCBvdmVybGFwPSVmCgBNZXJnaW5nIHJvd3MgYXQgKCVnLCVnKSwgKCVnLCVnKQoAVGVzdCBibG9iIHk9KCVnLCVnKSwgcm93PSglZiwlZiksIHNpemU9JWcsIG92ZXJsYXA9JWYtPiVmCgBFTElTVDJfSVRFUkFUT1I6OmJhY2t3YXJkAFByZXZpb3VzIGVsZW1lbnQgb24gdGhlIGxpc3QgaXMgbnVsbHB0cgBFeHBhbmRpbmcgYm90dG9tIG9mIHJvdyBhdCAlZiBmcm9tICVmIHRvICVmCgBFYXRpbmcgcm93IGJlbG93IGF0ICVmCgBUcnVuY2F0aW5nIGxpbWl0IHRvICVmIGR1ZSB0byB0b3VjaGluZyByb3cgYXQgJWYKAE5vdCBleHBhbmRpbmcgbGltaXQgYmV5b25kICVmIGR1ZSB0byB0b3VjaGluZyByb3cgYXQgJWYKAEV4cGFuZGluZyB0b3Agb2Ygcm93IGF0ICVmIGZyb20gJWYgdG8gJWYKAEVhdGluZyByb3cgYWJvdmUgYXQgJWYKAEVMSVNUMl9JVEVSQVRPUjo6bW92ZV90b19sYXN0AFJvdyBhdCAlZyB5aWVsZHMgc3BhY2luZyBvZiAlZwoAQmxvYiBiYXNlZCBzcGFjaW5nPSglZywlZyksIG9mZnNldD0lZwAgcm93IGJhc2VkPSVnKCVnKQAKRXN0aW1hdGUgbGluZSBzaXplPSVnLCBzcGFjaW5nPSVnLCBvZmZzZXQ9JWcKAEFkanVzdGluZyByb3cgbGltaXRzIGZvciBibG9jayglZCwlZCkKAFJvdyBhdCAlZiBoYXMgbWluICVmLCBtYXggJWYsIHNpemUgJWYKAFJvdyBhdCAlZyglZyksIGRyb3BvdXQgZGlzdD0lZCwAIHRvbyBmYXIgLSBkZWxldGluZwoAIG5lYXJlciBuZWlnaGJvdXIgKCVkKSBhdCAlZwoAIGVxdWFsIGJ1dCBtb3JlIGJlbGlldmFibGUgYXQgJWcgKCVnLyVnKQoAIGtlZXBpbmcKAGluZGV4ID49IDAgJiYgaW5kZXggPCBsaW5lX2NvdW50AGJsb2NrLT5wZGJsay5wb2x5X2Jsb2NrKCkgIT0gbnVsbHB0cgAvc3JjL3NyYy9jY3N0cnVjdC9ibG9iYm94LmgAcm90YXRpb24ueCgpID49IGtDb3NTbWFsbEFuZ2xlAC9zcmMvc3JjL2Njc3RydWN0L2Jsb2Jib3guY3BwAElucHV0IGltYWdlIHRvbyBsYXJnZSEgKCVkLCAlZCkKAEVtcHR5IHBhZ2UhIQoARm91bmQgJWQgYmxvY2tzLCAlZCB0b19ibG9ja3MKAEJsb2NrIG1lZGlhbiBzaXplID0gKCVkLCAlZCkKAEJsayAlZCwgdHlwZSAlZCByZXJvdGF0aW9uKCUuMmYsICUuMmYpLCBjaGFyKCUuMmYsJS4yZiksIGJveDoAY29sdW1uX3NldCAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvY29sZmluZC5jcHAAQ2hhbmdlZCBjb2x1bW4gZ3JvdXBzIGF0IGdyaWQgaW5kZXggJWQsIHk9JWQKAGNvbXBsZXRlZF9ibG9ja3NfLmxlbmd0aCgpID09IHRvX2Jsb2Nrc18ubGVuZ3RoKCkAL3NyYy9zcmMvdGV4dG9yZC93b3JraW5ncGFydHNldC5jcHAAIXBhcnQtPmJveGVzKCktPmVtcHR5KCkAc2lkZSBzdGVwID0gJS4yZiwgdG9wIHNwYWNpbmcgPSAlZCwgYm90dG9tIHNwYWNpbmc9JWQKAFNwYWNpbmdzIHVuZXF1YWw6IHVwcGVyOiVkLyVkLCBsb3dlcjolZC8lZCwgc2l6ZXMgJWQgJWQgJWQKAEFkZGVkIGxpbmUgdG8gY3VycmVudCBibG9jay4KAFNwYWNpbmdzIGVxdWFsOiB1cHBlcjolZC8lZCwgbG93ZXI6JWQvJWQsIG1lZGlhbjolZC8lZAoAU3BhY2luZyBydW4gZW5kZWQuIENhdXNlOgBObyBtb3JlIGxpbmVzCgBTcGFjaW5nIGNoYW5nZS4gU3BhY2luZ3M6CgAgTG93ZXIgcGFydG5lcjoAIG51bGxwdHIgbG93ZXIgcGFydG5lcjoKAFRvcCA9ICVkLCBib3R0b20gPSAlZAoATWVhbiBzcGFjaW5nID0gJWQvJWQKAFNldHRpbmcgbWVhbiBvbjoATWFraW5nIGJsb2NrIGF0ICglZCwlZCktPiglZCwlZCkKAE93bmVyc2hpcCBpbmNvcnJlY3QgZm9yIGJsb2I6AFBhcnQ9AE5vdCBvd25lZAoAT3duZXIgcGFydDoAYmJsb2ItPm93bmVyKCkgPT0gcGFydAAhdGV4dF90eXBlIHx8IGJibG9iLT5yZWdpb25fdHlwZSgpID49IEJSVF9VTktOT1dOACF0ZXh0X3R5cGUgfHwgb2xfaXQuZGF0YSgpLT5wYXRobGVuZ3RoKCkgPiAwAFJpZ2h0IHJ1biBmcm9tIHk9JWQgdG8gJWQgdGVybWluYXRlZCB3aXRoIHN1bSAlZC0lZCwgbmV3ICVkLSVkCgBMZWZ0IHJ1biBmcm9tIHk9JWQgdG8gJWQgdGVybWluYXRlZCB3aXRoIHN1bSAlZC0lZCwgbmV3ICVkLSVkCgBNYWtpbmcgYmxvY2sgYXQ6AFBhcnRpdGlvbiB3aXRoIHBhcnRuZXIgaGFzIG5vIHdvcmtpbmcgc2V0IToAQmV0d2VlbgBSZWFsAE1hdGNoIGlzICVzIGZvcjoAVGFyZ2V0IGNvbHVtbj0lZCwgb25seSBoYWQgJWQKACFpdC5jeWNsZWRfbGlzdCgpAGl0Mi5kYXRhKCkgIT0gcHRyAE9vb3BzISBQYXJ0aXRpb246KCVkIHBhcnRuZXJzKQBoYXMgc2luZ2xldG9uIHBhcnRuZXI6KCVkIHBhcnRuZXJzAGJ1dCBpdHMgc2luZ2xldG9uIHBhcnRuZXIgaXM6AE5VTEwKAHBhcnRuZXItPlNpbmdsZXRvblBhcnRuZXIoZmFsc2UpID09IHBhcnQAVXBwZXIATG93ZXIAUmVmaW5pbmcgJWQgJXMgcGFydG5lcnMgYnkgb3ZlcmxhcCBmb3I6CgBSZW1vdmluZyBwYXJ0bmVyOgBSZWZpbmluZyAlZCAlcyBwYXJ0bmVycyBieSB0eXBlIGZvcjoKAEtlZXBpbmcgcGFydG5lcjoAUmVmaW5pbmcgJWQgJXMgcGFydG5lcnMgYnkgbWVyZ2UgZm9yOgoARmluZGluZyBiZXN0IG1lcmdlIGNhbmRpZGF0ZSBmcm9tICVkLCAlZCBuZWlnaGJvdXJzIGZvciBib3g6AENhbmRpZGF0ZSBub3QgY29uZmlybWVkOgBOZXcgYmVzdCBtZXJnZSBjYW5kaWRhdGUgaGFzIGluY3JlYXNlICVkLCBhcmVhICVkLCBvdmVyIGJveDoATkMgb3ZlcmxhcCBmYWlsZWQ6Q2FuZGlkYXRlOgBmYWlscyB0byBiZSBhIGdvb2QgbWVyZ2Ugd2l0aDoARXhhbWluaW5nIG1lcmdlIGNhbmRpZGF0ZToAVG9vIGZhciBhd2F5OiBoX2Rpc3QgPSAlZAoAVG9vIGZhciBhd2F5OiB2X2Rpc3QgPSAlZAoAQ2FuZGlkYXRlIGZhaWxzIG92ZXJsYXAgYW5kIGRpYWNyaXRpYyB0ZXN0cyEKAEJsb2IgaXMgbm90IGEgZGlhY3JpdGljOgBPS0RpYWNyaXRpYyEKAHkgcmFuZ2VzIGRvbid0IG92ZXJsYXA6ICVkLSVkIC8gJWQtJWQKAG1lcmdlMSAhPSBudWxscHRyICYmIG1lcmdlMiAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvY29scGFydGl0aW9uZ3JpZC5jcHAAVmVydGljYWwgcGFydGl0aW9uCgBWb3ZlcmxhcCAlZCAoJWQpCgBFeGNlc3NpdmUgYm94IG92ZXJsYXAKAENMSVNUX0lURVJBVE9SOjphZGRfYWZ0ZXJfdGhlbl9tb3ZlAG5ld19kYXRhIGlzIG51bGxwdHIARmluZGluZyBmaWd1cmUgY2FwdGlvbnMgZm9yIGltYWdlIHBhcnQ6AENvbnNpZGVyaW5nIHBhcnRuZXI6AEJlc3QgY2FwdGlvbiBjYW5kaWRhdGU6AExpbmUgY291bnQ9JWQsIGJpZ2dlc3QgZ2FwICVkLCBzbWFsbGVzdCVkLCBtZWFuIGhlaWdodCAlZAoARW5kIHBhcnRuZXI6AFNldCBjYXB0aW9uIHR5cGUgZm9yIHBhcnRpdGlvbjoAYmJsb2ItPm93bmVyKCkgPT0gdGhpcyB8fCBiYmxvYi0+b3duZXIoKSA9PSBudWxscHRyAENsaWNrIGF0ICglZCwgJWQpCgBOOXRlc3NlcmFjdDZCQkdyaWRJTlNfMTBDb2xTZWdtZW50RU5TXzE2Q29sU2VnbWVudF9DTElTVEVOU18xNUNvbFNlZ21lbnRfQ19JVEVFRQAwIDw9IHJvdyAmJiByb3cgPCByb3dfY291bnQoKQAvc3JjL3NyYy90ZXh0b3JkL3RhYmxlcmVjb2cuY3BwADAgPD0gcm93X3N0YXJ0ICYmIHJvd19zdGFydCA8PSByb3dfZW5kICYmIHJvd19lbmQgPCByb3dfY291bnQoKQAwIDw9IGNvbHVtbl9zdGFydCAmJiBjb2x1bW5fc3RhcnQgPD0gY29sdW1uX2VuZCAmJiBjb2x1bW5fZW5kIDwgY29sdW1uX2NvdW50KCkAMCA8PSBjb2x1bW4gJiYgY29sdW1uIDwgY29sdW1uX2NvdW50KCkAdGV4dC0+Ym91bmRpbmdfYm94KCkuYm90dG9tKCkgPCB0ZXh0LT5ib3VuZGluZ19ib3goKS50b3AoKQBtaW5fbGlzdC5sZW5ndGgoKSA9PSBtYXhfbGlzdC5sZW5ndGgoKQBtaW5fbGlzdC5nZXQoMCkgPCBtYXhfbGlzdC5nZXQoMCkAbWluX2xpc3QuZ2V0KG1pbl9saXN0Lmxlbmd0aCgpIC0gMSkgPCBtYXhfbGlzdC5nZXQobWF4X2xpc3QubGVuZ3RoKCkgLSAxKQB0ZXh0LT5ib3VuZGluZ19ib3goKS5sZWZ0KCkgPCB0ZXh0LT5ib3VuZGluZ19ib3goKS5yaWdodCgpAGNlbGxfeV8ubGVuZ3RoKCkgPj0gMiAmJiBjZWxsX3hfLmxlbmd0aCgpID49IDIAY2hlY2sAYm91bmRpbmdfYm94LT5hcmVhKCkgPj0gb2xkX2FyZWEAcGFnZV93aWR0aCA+IDAAL3NyYy9zcmMvdGV4dG9yZC90YWJsZWZpbmQuY3BwAHBhZ2VfaGVpZ2h0ID4gMAAmcGFydCAhPSBsZWFkZXIAcGFydC0+SXNUZXh0VHlwZSgpAHBhcnQgIT0gbnVsbHB0cgBwYXJ0LT5tZWRpYW5fd2lkdGgoKSA+IDAAIW93bnNfYmxvYnMoKSB8fCBwcmV2X293bmVyID09IHRoaXMgfHwgcHJldl9vd25lciA9PSBudWxscHRyACFpdC5lbXB0eSgpAGJveGVzXy5lbXB0eSgpAC9zcmMvc3JjL3RleHRvcmQvY29scGFydGl0aW9uLmgAQWRkZWQgYm94ICglZCwlZCktPiglZCwlZCkgbGVmdF9ibG9iX3hfPSVkLCByaWdodF9ibG9iX3hfID0gJWQKAEFkZGluZyBub2lzZSBibG9iIHdpdGggZGlzdGFuY2UgJWQsIHRocj0lZzpib3g6AFRvIHBhcnRpdGlvbjoAQXQgKCVkLCVkKSwgcGl4ID0gJWQsIHByZXY9JWQKAENvbnNpZGVyaW5nIHBhcnQgZm9yIG1lcmdlIGF0OgBJbiBkaWZmZXJlbnQgY29sdW1ucwoAQ29uc2lkZXJpbmcgbWVyZ2Ugd2l0aCBuZWlnaGJvdXIgYXQ6AFJ1bm5pbmcgZ3JpZC1iYXNlZCBtZXJnZSBiZXR3ZWVuOgoATmVpZ2hib3VyIGZhaWxlZCBoZ2FwIHRlc3QKAE5laWdoYm91ciBmYWlsZWQgb3ZlcmxhcCBvciB0eXBlc21hdGNoIHRlc3QKAENvbnNpZGVyaW5nIHBhcnRpdGlvbiBmb3IgR3JpZFNwbGl0OgBTZWFyY2hpbmcgYm94ICglZCwlZCktPiglZCwlZCkKAFNwbGl0dGluZyBwYXJ0IGF0ICVkOgBTcGxpdCByZXN1bHQ6AFNwbGl0IGhhZCBubyBlZmZlY3QKAFBhcnQgY2Fubm90IGJlIHNwbGl0OiBibG9iICglZCwlZCktPiglZCwlZCkgaW4gY29sdW1uIGdhcAoAQ29tcHV0ZWQgbWFyZ2lucyBmb3IgcGFydDoASW5zZXJ0ZWQgJWQgYmxvYnMgaW50byBncmlkLCAlZCByZWplY3RlZC4KAHBhcnRfZ3JpZF8uZ3JpZGhlaWdodCgpID09IGdyaWRoZWlnaHRfAENvbHVtbiBjYW5kaWRhdGVzAEltcHJvdmVkIGNvbHVtbnMARmluYWwgQ29sdW1ucwBiZXN0X2NvbHVtbnNfW2ldICE9IG51bGxwdHIAc2V0X2NvdW50ID09IGdyaWRoZWlnaHQoKQBTZXQgaWQgJWQgZGlkIG5vdCBtYXRjaCBhdCB5PSVkLCBsaW5lc2V0ID0lcAoAQmlnZ2VzdCB1bmFzc2lnbmVkIHJhbmdlID0gJWQtICVkCgBSYW5nZSBtb2RhbCBjb2x1bW4gaWQgPSAlZAoAU2hydW5rIHJhbmdlID0gJWQtICVkCgBDb2x1bW4gaWQgJWQgYXBwbGllcyB0byByYW5nZSA9ICVkIC0gJWQKAFN0YXJ0aW5nIGV4cGFuc2lvbiBhdCAlZCwgc3RlcD0lZCwgbGltaXQ9JWQKAEF0ICVkLCBCYXJyaWVyIHNpemU9JWQKAEF0ICVkLCBnb29kIHNpemUgPSAlZAoAUGFydGl0aW9uIHNldCBvZiAlZCBwYXJ0cywgJWQgZ29vZCwgY292ZXJhZ2U9JWQrJWQgKCVkLCVkKS0+KCVkLCVkKQoAY29sdW1uX3N0YXRzLmdldF90b3RhbCgpID4gMABDb21wYXRpYmxlQ29sdW1ucyB0ZXN0aW5nIGNvbXBhdGliaWxpdHkKAENvbXBhdGlibGVDb2x1bW5zIHRydWUgZHVlIHRvIGVtcHR5IG90aGVyCgBDb21wYXRpYmxlQ29sdW1ucyBpZ25vcmluZyBpbWFnZSBwYXJ0aXRpb24KAENvbXBhdGlibGVDb2x1bW5zIGZhbHNlIGR1ZSB0byBwYXJ0aXRpb24gZWRnZSBvdXRzaWRlCgBDb21wYXRpYmxlQ29sdW1ucyBmYWxzZSBkdWUgdG8gZ29vZCB3aWR0aCBpbiBtdWx0aXBsZSBjb2xzCgBDb21wYXRpYmxlQ29sdW1ucyBmYWxzZSBkdWUgdG8gMiBwYXJ0cyBvZiBnb29kIHdpZHRoCgBwYXJ0MSAlZC0lZCwgcGFydDIgJWQtJWQKAENvbXBhdGlibGVDb2x1bW5zIHRydWUhCgBjb2x1bW5fY2FuZGlkYXRlICE9IG51bGxwdHIAIXBhcnRfaXQuZW1wdHkoKQBGb3VuZCAlZCAlczoKAENvbnNpZGVyaW5nIG5ldyBjb2x1bW4gY2FuZGlkYXRlOgoATm90IGEgbGVnYWwgY29sdW1uIGNhbmRpZGF0ZToKAEdvb2Qgb25lCgBEdXBsaWNhdGUKAEFkZGVkIHRvIGVuZAoAQm91bmRpbmcgYm94IGludmFsaWQKAE1hcmdpbnMgaW52YWxpZAoAS2V5IGluc2lkZSBib3g6ICVkIHYgJWQgb3IgJWQgdiAlZAoAZ2V0AENvbnN0cmFpbnQgaXMgWyVkLCVkXQAgZm9yACVzICVzICglZCwlZCktPiglZCwlZCkgdz0lZCBzPSVkLCBzb3J0IGtleT0lZCwgYm94ZXM9JWQsIHBhcnRuZXJzPSVkCgBNZXJnaW5nIGNvbnN0cmFpbnRzCgBNZXJnZQBUZXN0aW5nIGNvbnN0cmFpbnQgY29tcGF0aWJpbGl0eQoAUmVzdWx0aW5nIHJhbmdlID0gWyVkLCVkXQoASW1wb3NzaWJsZTogaGFzIG5vIGNvbnN0cmFpbnRzAFRoaXMgdmVjdG9yIGhhcyBpdCBhcyBhIHBhcnRuZXIAVmVydGljYWwgc2tldyB2ZWN0b3I9KCVkLCVkKQoAWmVybyBsZW5ndGggaW4gZXZhbHVhdGUAQWZ0ZXIgYWxyZWFkeSBkZWxldGluZyAlZCBib3hlcywgAFN0YXJ0aW5nIGV2YWx1YXRpb24AQm94ICglZCwlZCktPiglZCwlZCkgaGFzIGd1dHRlciAlZCwgbmRpc3QgJWQKAEJveCBhbmQgcHJldiBnb29kLCBnYXA9JWQsIHRhcmdldCAlZywgZ29vZGxlbmd0aD0lZAoAQmFkIEJveCAoJWQsJWQpLT4oJWQsJWQpIHdpdGggZ3V0dGVyICVkLCBuZGlzdCAlZAoARXZhbHVhdGluZzoAQmFkIEJveCAoJWQsJWQpLT4oJWQsJWQpIHdpdGggZ3V0dGVyICVkLCBtZWFuIGd1dHRlciAlZAoAUmVqZWN0aW5nIGJhZCB0YWIgVmVjdG9yIHdpdGggJWQgZ3V0dGVyIHZzICVnIG1pbgoARmluYWwgZ3V0dGVyICVkLCB2cyBsaW1pdCBvZiAlZywgcmVxdWlyZWQgc2hpZnQgPSAlZAoARXZhbHVhdGlvbiBjb21wbGV0ZToATG9va2luZyBpbiBndXR0ZXIKAExvb2tpbmcgZm9yIG5laWdoYm91cgoARm91bmQgbmVpZ2hib3VyOgBBZGphY2VudCBibG9iOiBjb25zaWRlcmluZyBib3g6AEdpdmluZyB1cCBkdWUgdG8gYmlnIGdhcCA9ICVkIHZzICVkCgBDb2xsaXNpb24gd2l0aCBsaWtlIHRhYiBvZiB0eXBlICVkIGF0ICVkLCVkCgBHb29kIHJlc3VsdAoAV3Jvbmcgd2F5CgBJbnN1ZmZpY2llbnQgb3ZlcmxhcAoAR2l2aW5nIHVwIGR1ZSB0byBlbmQgb2Ygc2VhcmNoCgBNZXJnaW5nAGJ5IGRlbGV0aW5nAFByb2R1Y2luZwBHYXJiYWdlIHJlc3VsdCBvZiBtZXJnZT8AQ0xJU1RfSVRFUkFUT1I6Om1vdmVfdG9fbGFzdABDb2x1bW4gb2Ygd2lkdGggJWQgaGFzICVkID0gJS4yZiUlIGxpbmVzCgBCb3ggZWRnZSAoJWQsJWQtJWQpACBsb29raW5nIGZvciBpbXByb3ZlbWVudCBmb3IARXh0ZW5kZWQgdmVjdG9yAENyZWF0ZWQgbmV3IHZlY3RvcgBDb25zdHJ1Y3RlZCBhIG5ldyB0YWIgdmVjdG9yOgAhbGVmdF9rZXlfdGFiXyAmJiAhcmlnaHRfa2V5X3RhYl8ATW92ZWQgJWQgbGFyZ2UgYmxvYnMgdG8gbm9ybWFsIGxpc3QKAGJsb2ItPmNibG9iKCktPmFyZWEoKSAhPSAwAEltYWdlQ29tcG9uZW50AENvbXBvbmVudCBoYXMgJWQgcGFydHMKAFNlYXJjaGluZyBmb3IgbWVyZ2Ugd2l0aCBpbWFnZSBwYXJ0OgBUZXh0IGJveD0AQ29uc2lkZXJpbmcgbWVyZ2Ugd2l0aCBwYXJ0OgBGdWxseSBjb250YWluZWQKAE5vdCB3aXRoaW4gdGV4dCBib3gKAFRvbyBzdHJvbmcgdGV4dAoAUmVhbCBjYW5kaWRhdGUKAE1lcmdpbmcgaW1hZ2UgcGFydDoAd2l0aCBwYXJ0OgBvdGhlciA9PSB0aGlzACFwYXJ0X2xpc3QtPmVtcHR5KCkAL3NyYy9zcmMvdGV4dG9yZC9pbWFnZWZpbmQuY3BwAENvbm5jb21waW1hZ2UAQSBjb21wb25lbnQARGV0ZWN0ZWQgJWQgZGlhY3JpdGljcwoAUmVnaW9uRmxvd1R5cGVzRnJvbVByb2plY3Rpb25WYWx1ZSBjb3VudD0lZCwgbm9pc3k9JWQsIHNjb3JlPSVkLAAgUHJvamVjdGlvbiB2YWx1ZT0lZCwgZmxvdz0lZCwgYmxvYl90eXBlPSVkCgBQYXJ0aXRpb24gaHJlc3VsdD0lZCwgdnJlc3VsdD0lZCBmcm9tOgBHcmFkaWVudHM6IHRvcCA9ICVkLCBib3R0b20gPSAlZCwgbGVmdD0gJWQsIHJpZ2h0PSAlZCBmb3IgYm94OgBCbG9iIG5vdCBhdmFpbGFibGUgdG8gYmUgYSBkaWFjcml0aWMgYXQ6AEZvdW5kICVkIHNtYWxsIGRpYWNyaXRpY3MsICVkIG1lZGl1bQoAVGVzdGluZyBibG9iIGZvciBkaWFjcml0aWNuZXNzIGF0OgBOZWlnaGJvdXIgbm90IHN0cm9uZyBlbm91Z2g6AE5laWdoYm91ciBub3QgYmlnIGVub3VnaDoAeGdhcD0lZCwgeT0lZCwgdG90YWwgZGlzdD0lZAoATmVpZ2hib3VyIHdpdGggbWVkaWFuIHNpemUgJWQgdG9vIGZhciBhd2F5OgBDb21wdXRpbmcgcmVkdWNlZCBib3ggZm9yIDoATmV3IGJlc3Q6AFNocnVua2VuIGJveCBkb2Vzbid0IHdpbjoATmV3IGJlc3QgeSBvdmVybGFwOgBOZXcgeSBvdmVybGFwIGJveCBkb2Vzbid0IHdpbjoATmVpZ2hib3VyIHdyb25nIHNpZGUgb2YgYSB0YWI6AERpYWNyaXRpY0Jsb2IgT0shICh4LW92ZXJsYXA6AERpYWNyaXRpY0Jsb2IgT0shICh5LW92ZXJsYXA6AERpYWNyaXRpY0Jsb2IgZmFpbHM6AEJlc3QgeCt5IGdhcCA9ICVkLCB5ID0gJWQKAFhHYXBGaWxsZWQ9JWQsIE5vaXNlQmV0d2Vlbj0lZAoAU21vb290aGluZyBwYXJ0IGF0OgBSZXN1bHQgaW4gZGlyICVkID0gJWQgYXQgZGlzdCAlZAoATW9kaWZpZWQgcGFydDoAVG90YWxzOiBodGV4dD0lZCslZCwgdnRleHQ9JWQrJWQsIGltYWdlPSVkKyVkLCBhdCBkaXN0PSVkCgBQYXJ0IGhhcyB4LWdhcD0lZCwgeT0lZCwgZGlzdD0lZCBhdDoASHRleHQAVnRleHQAJXMgJWQKAFdlYWsgJWQKAEltYWdlICVkCgBNZXJnZSBjYW5kaWRhdGU6AE1lcmdpbmc6aG92ZXJsYXA9JWQsIHZvdmVybGFwPSVkLCBPTEk9JWQKAE92ZXJsYXBwZWQgd2hlbiBtZXJnZWQgd2l0aCBpbmNyZWFzZSAlZDogAE5vIGNhbmRpZGF0ZSBuZWlnaGJvdXIgcmV0dXJuZWQKAENvbWJpbmVkIGJveCBvdmVybGFwcyBhbm90aGVyIHRoYXQgaXMgbm90IE9LIGRlc3BpdGUgYWxsb3dhbmNlIG9mICVkOgBSZWFzb246AC4uLmFuZDoAT3ZlcmxhcDoAQWRkaW5nIGNhbmRpZGF0ZToAMjlfVGVzc01lbWJlclJlc3VsdENhbGxiYWNrXzBfMklMYjBFYk45dGVzc2VyYWN0MTFTdHJva2VXaWR0aEVQS05TMF8xMkNvbFBhcnRpdGlvbkVTNF9FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUEtOOXRlc3NlcmFjdDEyQ29sUGFydGl0aW9uRVMzX0UAcDEgIT0gbnVsbHB0ciAmJiBwMiAhPSBudWxscHRyAC9zcmMvc3JjL3RleHRvcmQvc3Ryb2tld2lkdGguY3BwACFwMS0+SXNFbXB0eSgpICYmICFwMi0+SXNFbXB0eSgpADI5X1Rlc3NNZW1iZXJSZXN1bHRDYWxsYmFja18wXzJJTGIwRWJOOXRlc3NlcmFjdDExU3Ryb2tlV2lkdGhFUE5TMF8xMkNvbFBhcnRpdGlvbkVQNFRCT1hFADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUE45dGVzc2VyYWN0MTJDb2xQYXJ0aXRpb25FUDRUQk9YRQByaWdodF9wYXJ0ICE9IG51bGxwdHIAcHVyZV9oPSVkLCBwdXJlX3Y9JWQKAENsZWFuIG9uIHBhc3MgMyEKAFNldE5laWdoYm91ckZsb3dzIChjdXJyZW50IGZsb3c9JWQsIHR5cGU9JWQpIG9uOgBTZXRGbG93czogaF9jb3VudD0lZCwgdl9jb3VudD0lZAoASGdhcHMgWyVkLCVkXSwgdmdhcHMgWyVkLCVkXToASG9yeiBhdDoAVmVydCBhdDoATmVpdGhlciBhdDoARkdOIGluIGRpciAlZCBmb3IgYmxvYjoATmVpZ2hib3VyIGF0OgBCYWQgc2l6ZQoAT24gd3Jvbmcgc2lkZQoAT3ZlcmxhcHMgd3Jvbmcgd2F5CgBEb2Vzbid0IG92ZXJsYXAgZW5vdWdoCgBnb29kbmVzcyA9ICVnIHZzIGJlc3Qgb2YgJWcsIGdvb2Q9JWQsIG92ZXJsYXA9JWQsIGdhcD0lZAoAQ2hlY2tpbmcgZm9yIEJyb2tlbiBDSksgKG1heCBzaXplPSVkKToAQmFkIGZpbmFsIGFzcGVjdHJhdGlvOgBUb28gbWFueSBuZWlnaGJvdXJzOiAlZAoAQmFkIHN0cm9rZSB3aWR0aHM6AERvbmUhIEZpbmFsIGJveDoAQWRkZWQ6AFRlc3RpbmcgZm9yIG92ZXJsYXAgd2l0aDoARmluYWwgYm94IG92ZXJsYXBzIG5lYXJlc3QKAGdhcHMgPSAlZCwgJWQsIG1lcmdlZF9ib3g6AENoZWNraW5nIGZvciB2ZXJ0aWNhbCBsaW5lcwoAVG9vIGZldyBib3hlcwBFdmFsdWF0ZWQgdGFiAEJlZ2lubmluZyByZWFsIHRhYiBzZWFyY2ggd2l0aCB2ZXJ0aWNhbCA9ICVkLCVkLi4uCgBDb25maXJtaW5nIHRhYiB2ZWN0b3Igb2YgJWQgcHRzIHN0YXJ0aW5nIGF0ICVkLCVkCgBCb3ggd2FzICVkLCAlZAoAQWZ0ZXIgZml0dGluZwBSYWdnZWQgdGFiIHVzZWQgdG9vIG1hbnkgdXNlZCBwb2ludHM6ICVkIG91dCBvZiAlZAoAVGFiIHZlY3RvciBmYWlsZWQgYmFzaWMgdGVzdHM6IHB0IGNvdW50ICVkIHZzIG1pbiAlZCwgbGVuZ3RoICVkIHZzIG1pbiAlZCwgbWluIGdyYWQgJWcKAFN0YXJ0aW5nIGFsaWdubWVudCBydW4gYXQgYmxvYjoAQWxpZ25tZW50IHJ1biBlbmRlZCB3aXRoICVkIHB0cyBhdCBibG9iOgBMZWZ0AFJpZ2h0AFN0YXJ0aW5nICVzICVzIHNlYXJjaCBhdCAlZC0lZCwlZCwgc2VhcmNoX3NpemU9JWQsIGd1dHRlcj0lZAoATmVpZ2hib3VyIHRvbyBmYXIgYXQgKCVkLCVkKS0+KCVkLCVkKQoAbmVpZ2hib3VyIGF0ICglZCwlZCktPiglZCwlZCksIG5feD0lZCwgbl95PSVkLCB4YXRuPSVkCgBndXR0ZXIKAGFsaWduZWQsIHNlZWtpbmclZCwgbD0lZCwgcj0lZAoAQmFja3VwCgBCZXR0ZXIgYmFja3VwCgBDb2x1bW4gZWRnZXMgZm9yIGJsb2IgYXQgKCVkLCVkKS0+KCVkLCVkKSBhcmUgWyVkLCAlZF0KAE5laWdoYm91ciBhdCAoJWQsJWQpLT4oJWQsJWQpCgBOb3QgYSBsZWZ0IHRhYgoATWF5YmUgYSBsZWZ0IHRhYgoATWF5YmUgTm90IGEgbGVmdCB0YWIKAE5vdCBhIHJhZ2dlZCBsZWZ0CgBOb3QgYSByaWdodCB0YWIKAE1heWJlIGEgcmlnaHQgdGFiCgBNYXliZSBOb3QgYSByaWdodCB0YWIKAE5vdCBhIHJhZ2dlZCByaWdodAoAUmFnZ2VkAEFsaWduZWQATGVmdCByZXN1bHQgPSAlcywgUmlnaHQgcmVzdWx0PSVzCgBNYXggbmVpZ2hib3VyIHNpemU9JWQgZm9yIGNhbmRpZGF0ZSBsaW5lIGJveCBhdDoAZ2FwIGlxciA9ICVnLCBibG9iX2NvdW50PSVkLCBsaW1pdHM9JWcsJWcKAE5vIHBhdGgKAFRvdGFsIGNvc3QgPSAlZCB2cyBhbGxvd2VkICVkCgBtaW5fc3RlcCA+IDAAL3NyYy9zcmMvY2NzdHJ1Y3QvZHBwb2ludC5jcHAAUGFnZVNlZ0lucHV0AE5vTGluZXMATm9JbWFnZXMAdG9fYmxvY2tzLT5zaW5nbGV0b24oKQBFc3RpbWF0aW5nIHJlc29sdXRpb24gYXMgJWQKAEphcGFuZXNlAEtvcmVhbgBPU0Q6IFdlYWsgbWFyZ2luICglLjJmKSwgaG9yaXogdGV4dGxpbmVzLCBub3QgQ0pLOiBEb24ndCByb3RhdGUuCgBPU0Q6IFdlYWsgbWFyZ2luICglLjJmKSBmb3IgJWQgYmxvYiB0ZXh0IGJsb2NrLCBidXQgdXNpbmcgb3JpZW50YXRpb24gYW55d2F5OiAlZAoAVmVydGljYWw9JWQsIG9yaWVudGF0aW9uPSVkLCBmaW5hbCByb3RhdGlvbj0oJWYsICVmKSsoJWYsJWYpCgBkZW5vcm1fID09IG51bGxwdHIAVGFiR3V0dGVyIHRvdGFsICVkICBtZWRpYW5fZ2FwICUuMmYgIG1lZGlhbl9oZ3QgJS4yZgoAVG9vIGZldyBjaGFyYWN0ZXJzLiBTa2lwcGluZyB0aGlzIHBhZ2UKAENMSVNUX0lURVJBVE9SOjpsZW5ndGgAc2NyaXB0X3RhYmxlX3NpemVfdXNlZCA9PSBzY3JpcHRfdGFibGVfc2l6ZV9yZXNlcnZlZABhZGRfc2NyaXB0AFRleHREaXIgaGJveD0lZCB2cyB2Ym94PSVkLCAlZEgsICVkViwgJWROIG9zZCBibG9icwoAanVua25vaXNlbWFzay5wbmcAanVua2NjcGhvdG9tYXNrLnBuZwBBdCAlZCwgJWQsIG5vaXNlID0gJWQsIGdvb2Q9JWQsIG9yaWc9JWQsIHRocj0lZAoAZ3JpZF94ID49IDAgJiYgZ3JpZF94IDwgZ3JpZHdpZHRoKCkAL3NyYy9zcmMvdGV4dG9yZC9iYmdyaWQuaABncmlkX3kgPj0gMCAmJiBncmlkX3kgPCBncmlkaGVpZ2h0KCkAMjlfVGVzc01lbWJlclJlc3VsdENhbGxiYWNrXzBfMUlMYjBFYk45dGVzc2VyYWN0N1RhYkZpbmRFaUUAMTlUZXNzUmVzdWx0Q2FsbGJhY2sxSWJpRQBDYXNjYWRlUmVkdWNlZABIYWxmdG9uZU1hc2sASGFsZnRvbmVSZXBsaWNhdGVkAEZpbmVNYXNrAENvYXJzZU1hc2sATWFza0RpbGF0ZWQARmluYWxNYXNrAEVycm9yIGluIHBhcmFtZXRlcnMgZm9yIExpbmVGaW5kZXI6OkZpbmRBbmRSZW1vdmVMaW5lcwoATGluZUZpbmRpbmcAdmhsaW5lZmluZGluZy5wZGYARmluZGluZyBsaW5lIHZlY3RvciBzdGFydGluZyBhdCBiYm94ICglZCwlZCkKAEltYWdlIHJlc29sdXRpb24gPSAlZCwgbWF4IGxpbmUgd2lkdGggPSAlZCwgbWluIGxlbmd0aD0lZAoALnV6bgAlZCAlZCAlZCAlZCAlKnMARmFpbGVkIGxvYWRpbmcgbGFuZ3VhZ2UgJyVzJwoAVGVzc2VyYWN0IGNvdWxkbid0IGxvYWQgYW55IGxhbmd1YWdlcyEKAFVzaW5nIHBhcmFtcyBtb2RlbCBvZiB0aGUgcHJpbWFyeSBsYW5ndWFnZQoAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViUktOOXRlc3NlcmFjdDhGb250SW5mb0VTM19FADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUktOOXRlc3NlcmFjdDhGb250SW5mb0VTM19FAEVycm9yOiBmYWlsZWQgdG8gbG9hZCAlcwoAcGxlYXNlIGNhbGwgaW5pdGlhbGl6ZV9wYXR0ZXJucygpIGJlZm9yZSByZWFkX3BhdHRlcm5fbGlzdCgpCgBFcnJvciBvcGVuaW5nIHBhdHRlcm4gZmlsZSAlcwoAUGxlYXNlIHByb3ZpZGUgYXQgbGVhc3QgJWQgY29uY3JldGUgY2hhcmFjdGVycyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYXR0ZXJuCgBJbnZhbGlkIHVzZXIgcGF0dGVybiAlcwoASW5zZXJ0aW5nIGV4cGFuZGVkIHVzZXIgcGF0dGVybiAlcwoARXJyb3I6IGZhaWxlZCB0byBpbnNlcnQgcGF0dGVybiAnJXMnCgBSZWFkICVkIHZhbGlkIHBhdHRlcm5zIGZyb20gJXMKAFV0ZjggYnVmZmVyIHRvbyBiaWcsIHNpemU+JWQgZm9yICVzCgBFcnJvcjogd29yZCAnJXMnIG5vdCBpbiBEQVdHIGFmdGVyIGFkZGluZyBpdAoAUmVhZCAlZCB3b3JkcyBzbyBmYXIKAFJlYWQgJWQgd29yZHMgdG90YWwuCgB1bmljaGFyc2V0X3NpemUgPiAwAC9zcmMvc3JjL2RpY3QvZGF3Zy5jcHAAMjlfVGVzc01lbWJlclJlc3VsdENhbGxiYWNrXzBfMElMYjFFUE45dGVzc2VyYWN0NERhd2dFTlMwXzEwRGF3Z0xvYWRlckVFADE4VGVzc1Jlc3VsdENhbGxiYWNrSVBOOXRlc3NlcmFjdDREYXdnRUUAUmVhZGluZyBzcXVpc2hlZCBkYXdnCgBCYWQgbWFnaWMgbnVtYmVyIG9uIGRhd2c6ICVkIHZzICVkCgBudW1fZWRnZXNfID4gMAB0eXBlOiAlZCBsYW5nOiAlcyBwZXJtOiAlZCB1bmljaGFyc2V0X3NpemU6ICVkIG51bV9lZGdlczogJWQKAE5PX0VER0UKACVsbGQgOiBuZXh0ID0gJWxsZCwgdW5pY2hhcl9pZCA9ICclZCcsICVzICVzICVzCgBpc19sb2FkZWRfAC9zcmMvc3JjL2NjdXRpbC90ZXNzZGF0YW1hbmFnZXIuY3BwAFByZS00LjAuMABjb25maWcAdW5pY2hhcnNldAB1bmljaGFyYW1iaWdzAGludHRlbXAAcGZmbXRhYmxlAG5vcm1wcm90bwBwdW5jLWRhd2cAd29yZC1kYXdnAG51bWJlci1kYXdnAGZyZXEtZGF3ZwBjdWJlLXdvcmQtZGF3ZwBzaGFwZXRhYmxlAGJpZ3JhbS1kYXdnAHVuYW1iaWctZGF3ZwBwYXJhbXMtbW9kZWwAbHN0bQBsc3RtLXB1bmMtZGF3ZwBsc3RtLXdvcmQtZGF3ZwBsc3RtLXJlY29kZXIAdmVyc2lvbgB0cmFpbmVkZGF0YQBFcnJvciBvcGVuaW5nIGRhdGEgZmlsZSAlcwoAUGxlYXNlIG1ha2Ugc3VyZSB0aGUgVEVTU0RBVEFfUFJFRklYIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCB0byB5b3VyICJ0ZXNzZGF0YSIgZGlyZWN0b3J5LgoARXJyb3Igc2V0dGluZyBwYXJhbSAlcwoARmFpbGVkIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmcgcGFyYW1zLgoAbHN0bV9yZWNvZ25pemVyXy0+TG9hZChsc3RtX3VzZV9tYXRyaXggPyBsYW5ndWFnZSA6IG51bGxwdHIsIG1ncikAL3NyYy9zcmMvY2NtYWluL3Rlc3NlZGl0LmNwcABFcnJvcjogTFNUTSByZXF1ZXN0ZWQsIGJ1dCBub3QgcHJlc2VudCEhIExvYWRpbmcgdGVzc2VyYWN0LgoARXJyb3I6IFNpemUgb2YgdW5pY2hhcnNldCBpcyBncmVhdGVyIHRoYW4gTUFYX05VTV9DTEFTU0VTCgBQYXJhbXNNb2RlbDo6VW5rbm93biBwYXJhbWV0ZXIgJXMKAE1pc3NpbmcgZmllbGQgJXMuCgAwIDw9IGluZGV4ICYmIGluZGV4IDwgYml0X3NpemVfAC9zcmMvc3JjL2NjdXRpbC9iaXR2ZWN0b3IuaABXb3JkSW5kZXgAUFRSQUlOX0RJR0lUU19TSE9SVABQVFJBSU5fRElHSVRTX01FRABQVFJBSU5fRElHSVRTX0xPTkcAUFRSQUlOX05VTV9TSE9SVABQVFJBSU5fTlVNX01FRABQVFJBSU5fTlVNX0xPTkcAUFRSQUlOX0RPQ19TSE9SVABQVFJBSU5fRE9DX01FRABQVFJBSU5fRE9DX0xPTkcAUFRSQUlOX0RJQ1RfU0hPUlQAUFRSQUlOX0RJQ1RfTUVEAFBUUkFJTl9ESUNUX0xPTkcAUFRSQUlOX0ZSRVFfU0hPUlQAUFRSQUlOX0ZSRVFfTUVEAFBUUkFJTl9GUkVRX0xPTkcAUFRSQUlOX1NIQVBFX0NPU1RfUEVSX0NIQVIAUFRSQUlOX05HUkFNX0NPU1RfUEVSX0NIQVIAUFRSQUlOX05VTV9CQURfUFVOQwBQVFJBSU5fTlVNX0JBRF9DQVNFAFBUUkFJTl9YSEVJR0hUX0NPTlNJU1RFTkNZAFBUUkFJTl9OVU1fQkFEX0NIQVJfVFlQRQBQVFJBSU5fTlVNX0JBRF9TUEFDSU5HAFBUUkFJTl9OVU1fQkFEX0ZPTlQAUFRSQUlOX1JBVElOR19QRVJfQ0hBUgBQYXJhbXNNb2RlbDo6SW5jb21wbGV0ZSBsaW5lICVzCgAgJWYAUmVhZGluZyBhbWJpZ3VpdGllcwoAYW1iaWdfZmlsZS0+RkdldHMoYnVmZmVyLCBrQnVmZmVyU2l6ZSkgIT0gbnVsbHB0ciAmJiBzdHJsZW4oYnVmZmVyKSA+IDAAL3NyYy9zcmMvY2N1dGlsL2FtYmlncy5jcHAAcmVhZCBsaW5lICVzCgBpZF90b19pbnNlcnQgIT0gSU5WQUxJRF9VTklDSEFSX0lEAFJlcGxhY2VhYmxlAERhbmdlcm91cwAlcyBBbWJpZ3VpdGllcyBmb3IgJXM6CgB3cm9uZ19uZ3JhbToAY29ycmVjdF9mcmFnbWVudHM6AFJldmVyc2UgACVzQW1iaWdzIGZvciBhZGFwdGlvbiBmb3IgJXM6CgBpbmRleCA+PSAwICYmIGluZGV4IDw9IHNpemVfdXNlZF8AaW5zZXJ0AFRvbyBtYW55IHVuaWNoYXJzIGluIGFtYmlndWl0eSBvbiBsaW5lICVkCgAJIAAlcyAleCAlZCwlZCwlZCwlZCwlZywlZywlZywlZywlZywlZyAlNjNzICVkICVkICVkICU2M3MAJXMgJXggJWQsJWQsJWQsJWQsJWcsJWcsJWcsJWcsJWcsJWcgJTYzcyAlZCAlZCAlZAAlcyAleCAlZCwlZCwlZCwlZCAlNjNzICVkICVkICVkACVzICV4ICVkLCVkLCVkLCVkICU2M3MgJWQAJXMgJXggJTYzcyAlZAAlcyAleCAlNjNzACVzICV4AG51bGxfc2lkXyA9PSAwAExhdGluAEN5cmlsbGljAEdyZWVrAEhhbgBIaXJhZ2FuYQBLYXRha2FuYQBUaGFpAEhhbmd1bAAyOV9UZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEVQY045dGVzc2VyYWN0NVRGaWxlRVMwX2lFADE5VGVzc1Jlc3VsdENhbGxiYWNrMklQY1MwX2lFAEZhaWxlZCB0byBsb2FkIGFueSBsc3RtLXNwZWNpZmljIGRpY3Rpb25hcmllcyBmb3IgbGFuZyAlcyEhCgB1c2VyX3dvcmRzX2ZpbGUAQSBmaWxlbmFtZSBvZiB1c2VyLXByb3ZpZGVkIHdvcmRzLgB1c2VyX3dvcmRzX3N1ZmZpeABBIHN1ZmZpeCBvZiB1c2VyLXByb3ZpZGVkIHdvcmRzIGxvY2F0ZWQgaW4gdGVzc2RhdGEuAHVzZXJfcGF0dGVybnNfZmlsZQBBIGZpbGVuYW1lIG9mIHVzZXItcHJvdmlkZWQgcGF0dGVybnMuAHVzZXJfcGF0dGVybnNfc3VmZml4AEEgc3VmZml4IG9mIHVzZXItcHJvdmlkZWQgcGF0dGVybnMgbG9jYXRlZCBpbiB0ZXNzZGF0YS4AbG9hZF9zeXN0ZW1fZGF3ZwBMb2FkIHN5c3RlbSB3b3JkIGRhd2cuAGxvYWRfZnJlcV9kYXdnAExvYWQgZnJlcXVlbnQgd29yZCBkYXdnLgBsb2FkX3VuYW1iaWdfZGF3ZwBMb2FkIHVuYW1iaWd1b3VzIHdvcmQgZGF3Zy4AbG9hZF9wdW5jX2Rhd2cATG9hZCBkYXdnIHdpdGggcHVuY3R1YXRpb24gcGF0dGVybnMuAGxvYWRfbnVtYmVyX2Rhd2cATG9hZCBkYXdnIHdpdGggbnVtYmVyIHBhdHRlcm5zLgBsb2FkX2JpZ3JhbV9kYXdnAExvYWQgZGF3ZyB3aXRoIHNwZWNpYWwgd29yZCBiaWdyYW1zLgB4aGVpZ2h0X3BlbmFsdHlfc3Vic2NyaXB0cwBTY29yZSBwZW5hbHR5ICgwLjEgPSAxMCUpIGFkZGVkIGlmIHRoZXJlIGFyZSBzdWJzY3JpcHRzIG9yIHN1cGVyc2NyaXB0cyBpbiBhIHdvcmQsIGJ1dCBpdCBpcyBvdGhlcndpc2UgT0suAHhoZWlnaHRfcGVuYWx0eV9pbmNvbnNpc3RlbnQAU2NvcmUgcGVuYWx0eSAoMC4xID0gMTAlKSBhZGRlZCBpZiBhbiB4aGVpZ2h0IGlzIGluY29uc2lzdGVudC4Ac2VnbWVudF9wZW5hbHR5X2RpY3RfZnJlcXVlbnRfd29yZABTY29yZSBtdWx0aXBsaWVyIGZvciB3b3JkIG1hdGNoZXMgd2hpY2ggaGF2ZSBnb29kIGNhc2UgYW5kIGFyZSBmcmVxdWVudCBpbiB0aGUgZ2l2ZW4gbGFuZ3VhZ2UgKGxvd2VyIGlzIGJldHRlcikuAHNlZ21lbnRfcGVuYWx0eV9kaWN0X2Nhc2Vfb2sAU2NvcmUgbXVsdGlwbGllciBmb3Igd29yZCBtYXRjaGVzIHRoYXQgaGF2ZSBnb29kIGNhc2UgKGxvd2VyIGlzIGJldHRlcikuAHNlZ21lbnRfcGVuYWx0eV9kaWN0X2Nhc2VfYmFkAERlZmF1bHQgc2NvcmUgbXVsdGlwbGllciBmb3Igd29yZCBtYXRjaGVzLCB3aGljaCBtYXkgaGF2ZSBjYXNlIGlzc3VlcyAobG93ZXIgaXMgYmV0dGVyKS4Ac2VnbWVudF9wZW5hbHR5X2RpY3Rfbm9ud29yZABTY29yZSBtdWx0aXBsaWVyIGZvciBnbHlwaCBmcmFnbWVudCBzZWdtZW50YXRpb25zIHdoaWNoIGRvIG5vdCBtYXRjaCBhIGRpY3Rpb25hcnkgd29yZCAobG93ZXIgaXMgYmV0dGVyKS4Ac2VnbWVudF9wZW5hbHR5X2dhcmJhZ2UAU2NvcmUgbXVsdGlwbGllciBmb3IgcG9vcmx5IGNhc2VkIHN0cmluZ3MgdGhhdCBhcmUgbm90IGluIHRoZSBkaWN0aW9uYXJ5IGFuZCBnZW5lcmFsbHkgbG9vayBsaWtlIGdhcmJhZ2UgKGxvd2VyIGlzIGJldHRlcikuAG91dHB1dF9hbWJpZ193b3Jkc19maWxlAE91dHB1dCBmaWxlIGZvciBhbWJpZ3VpdGllcyBmb3VuZCBpbiB0aGUgZGljdGlvbmFyeQBkYXdnX2RlYnVnX2xldmVsAFNldCB0byAxIGZvciBnZW5lcmFsIGRlYnVnIGluZm8sIHRvIDIgZm9yIG1vcmUgZGV0YWlscywgdG8gMyB0byBzZWUgYWxsIHRoZSBkZWJ1ZyBtZXNzYWdlcwBoeXBoZW5fZGVidWdfbGV2ZWwARGVidWcgbGV2ZWwgZm9yIGh5cGhlbmF0ZWQgd29yZHMuAG1heF92aXRlcmJpX2xpc3Rfc2l6ZQBNYXhpbXVtIHNpemUgb2Ygdml0ZXJiaSBsaXN0LgB1c2Vfb25seV9maXJzdF91ZnQ4X3N0ZXAAc3RvcHBlcl9ub25kaWN0X2NlcnRhaW50eV9iYXNlAENlcnRhaW50eSB0aHJlc2hvbGQgZm9yIG5vbi1kaWN0IHdvcmRzAHN0b3BwZXJfcGhhc2UyX2NlcnRhaW50eV9yZWplY3Rpb25fb2Zmc2V0AFJlamVjdCBjZXJ0YWludHkgb2Zmc2V0AHN0b3BwZXJfc21hbGx3b3JkX3NpemUAU2l6ZSBvZiBkaWN0IHdvcmQgdG8gYmUgdHJlYXRlZCBhcyBub24tZGljdCB3b3JkAHN0b3BwZXJfY2VydGFpbnR5X3Blcl9jaGFyAENlcnRhaW50eSB0byBhZGQgZm9yIGVhY2ggZGljdCBjaGFyIGFib3ZlIHNtYWxsIHdvcmQgc2l6ZS4Ac3RvcHBlcl9hbGxvd2FibGVfY2hhcmFjdGVyX2JhZG5lc3MATWF4IGNlcnRhaW50bHkgdmFyaWF0aW9uIGFsbG93ZWQgaW4gYSB3b3JkIChpbiBzaWdtYSkAc3RvcHBlcl9kZWJ1Z19sZXZlbABTdG9wcGVyIGRlYnVnIGxldmVsAHN0b3BwZXJfbm9fYWNjZXB0YWJsZV9jaG9pY2VzAE1ha2UgQWNjZXB0YWJsZUNob2ljZSgpIGFsd2F5cyByZXR1cm4gZmFsc2UuIFVzZWZ1bCB3aGVuIHRoZXJlIGlzIGEgbmVlZCB0byBleHBsb3JlIGFsbCBzZWdtZW50YXRpb25zAHRlc3NlZGl0X3RydW5jYXRlX3dvcmRjaG9pY2VfbG9nAE1heCB3b3JkcyB0byBrZWVwIGluIGxpc3QAd29yZF90b19kZWJ1ZwBXb3JkIGZvciB3aGljaCBzdG9wcGVyIGRlYnVnIGluZm9ybWF0aW9uIHNob3VsZCBiZSBwcmludGVkIHRvIHN0ZG91dAB3b3JkX3RvX2RlYnVnX2xlbmd0aHMATGVuZ3RocyBvZiB1bmljaGFycyBpbiB3b3JkX3RvX2RlYnVnAGZyYWdtZW50c19kZWJ1ZwBEZWJ1ZyBjaGFyYWN0ZXIgZnJhZ21lbnRzAHNlZ21lbnRfbm9uYWxwaGFiZXRpY19zY3JpcHQARG9uJ3QgdXNlIGFueSBhbHBoYWJldGljLXNwZWNpZmljIHRyaWNrcy4gU2V0IHRvIHRydWUgaW4gdGhlIHRyYWluZWRkYXRhIGNvbmZpZyBmaWxlIGZvciBzY3JpcHRzIHRoYXQgYXJlIGN1cnNpdmUgb3IgaW5oZXJlbnRseSBmaXhlZC1waXRjaABzYXZlX2RvY193b3JkcwBTYXZlIERvY3VtZW50IFdvcmRzAGRvY19kaWN0X3BlbmRpbmdfdGhyZXNob2xkAFdvcnN0IGNlcnRhaW50eSBmb3IgdXNpbmcgcGVuZGluZyBkaWN0aW9uYXJ5AGRvY19kaWN0X2NlcnRhaW50eV90aHJlc2hvbGQAV29yc3QgY2VydGFpbnR5IGZvciB3b3JkcyB0aGF0IGNhbiBiZSBpbnNlcnRlZCBpbnRvIHRoZSBkb2N1bWVudCBkaWN0aW9uYXJ5AG1heF9wZXJtdXRlcl9hdHRlbXB0cwBNYXhpbXVtIG51bWJlciBvZiBkaWZmZXJlbnQgY2hhcmFjdGVyIGNob2ljZXMgdG8gY29uc2lkZXIgZHVyaW5nIHBlcm11dGF0aW9uLiBUaGlzIGxpbWl0IGlzIGVzcGVjaWFsbHkgdXNlZnVsIHdoZW4gdXNlciBwYXR0ZXJucyBhcmUgc3BlY2lmaWVkLCBzaW5jZSBvdmVybHkgZ2VuZXJpYyBwYXR0ZXJucyBjYW4gcmVzdWx0IGluIGRhd2cgc2VhcmNoIGV4cGxvcmluZyBhbiBvdmVybHkgbGFyZ2UgbnVtYmVyIG9mIG9wdGlvbnMuAFNwYWNlIHdhcyBnYXJibGVkIGluIHJlY29kaW5nISEKAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAYW1iaWdzX2RlYnVnX2xldmVsAERlYnVnIGxldmVsIGZvciB1bmljaGFyIGFtYmlndWl0aWVzAHVzZV9kZWZpbml0ZV9hbWJpZ3NfZm9yX2NsYXNzaWZpZXIAVXNlIGRlZmluaXRlIGFtYmlndWl0aWVzIHdoZW4gcnVubmluZyBjaGFyYWN0ZXIgY2xhc3NpZmllcgB1c2VfYW1iaWdzX2Zvcl9hZGFwdGlvbgBVc2UgYW1iaWdzIGZvciBkZWNpZGluZyB3aGV0aGVyIHRvIGFkYXB0IHRvIGEgY2hhcmFjdGVyAGNvbmZpZ3MvAHRlc3Njb25maWdzLwBURVNTREFUQV9QUkVGSVgALi8AXABlcXUAV2FybmluZzogZXF1YXRpb24gcmVnaW9uIGRldGVjdGlvbiByZXF1ZXN0ZWQsIGJ1dCAlcyBmYWlsZWQgdG8gbG9hZCBmcm9tICVzCgBzcGxpdHRlcl8uc3BsaXR0ZWRfaW1hZ2UoKQBtZ3ItPkdldENvbXBvbmVudChURVNTREFUQV9JTlRURU1QLCAmZnApAEVycm9yIGxvYWRpbmcgc2hhcGUgdGFibGUhCgBtZ3ItPkdldENvbXBvbmVudChURVNTREFUQV9QRkZNVEFCTEUsICZmcCkAbWdyLT5HZXRDb21wb25lbnQoVEVTU0RBVEFfTk9STVBST1RPLCAmZnApAApSZWFkaW5nIHByZS1hZGFwdGVkIHRlbXBsYXRlcyBmcm9tICVzIC4uLgoACgpTVU1NQVJZIE9GIEFEQVBURUQgVEVNUExBVEVTOgoKAE51bSBjbGFzc2VzID0gJWQ7ICBOdW0gcGVybWFuZW50IGNsYXNzZXMgPSAlZAoKACAgIElkICBOQyBOUEMgIE5QIE5QUAoALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgAlNWQgICVzICUzZCAlM2QgJTNkICUzZAoAJXMgJWQARXJyb3I6IHVuaWNoYXIgJXMgaW4gbm9ybXByb3RvIGZpbGUgaXMgbm90IGluIHVuaWNoYXIgc2V0LgoAJTc5cyAlNzlzICVkAEludmFsaWQgcHJvdG90eXBlOiAlcwoASW52YWxpZCBwcm90b3R5cGUgc3R5bGUgc3BlY2lmaWNhdGlvbjolcwoAU2FtcGxlQ291bnQgPj0gMAAvc3JjL3NyYy9jbGFzc2lmeS9jbHVzdHRvb2wuY3BwAFByb3RvLT5NZWFuICE9IG51bGxwdHIAUmVhZE5GbG9hdHMoZnAsIDEsICYoUHJvdG8tPlZhcmlhbmNlLlNwaGVyaWNhbCkpICE9IG51bGxwdHIAUHJvdG8tPlZhcmlhbmNlLkVsbGlwdGljYWwgIT0gbnVsbHB0cgBJbnZhbGlkIHByb3RvdHlwZSBzdHlsZQoASGl0IEVPRiBpbiBSZWFkTkZsb2F0cyEKAFJlYWQgb2YgJWQgZmxvYXRzIGZhaWxlZCEKAGZwLT5GR2V0cyhsaW5lLCBrTWF4TGluZVNpemUpICE9IG51bGxwdHIAJTc5cyAlNzlzICVmICVmAHNzY2FuZihsaW5lLCAiJSIgUVVPVEVEX1RPS0VOU0laRSAicyAlIiBRVU9URURfVE9LRU5TSVpFICJzICVmICVmIiwgbGluZWFyX3Rva2VuLCBlc3NlbnRpYWxfdG9rZW4sICZQYXJhbURlc2NbaV0uTWluLCAmUGFyYW1EZXNjW2ldLk1heCkgPT0gNABzc2NhbmYobGluZSwgIiVkIiwgJlNhbXBsZVNpemUpID09IDEAU2FtcGxlU2l6ZSA+PSAwICYmIFNhbXBsZVNpemUgPD0gTUFYU0FNUExFU0laRQBFcnJvciBkdXJpbmcgcmVhZCBvZiBzaGFwZXRhYmxlIHBmZm10YWJsZSEKACUzMHMgJWQAcmVzZXJ2ZWQgPD0gbGltaXQARGVTZXJpYWxpemUAQmFkIHJlYWQgb2YgaW50dGVtcCEKAG51bV9jb25maWdzIDw9IE1heE51bUNvbmZpZ3MAVW51c2VkQ2xhc3NJZEluIChUZW1wbGF0ZXMsIDApAFJlYWRJbnRUZW1wbGF0ZXMATm9uLWNvbnRpZ3VvdXMgY2xhc3MgaWRzIGluIGludHRlbXAKAENsYXNzIGlkICVkIGV4Y2VlZHMgTnVtQ2xhc3Nlc0luIChUZW1wbGF0ZXMpICVkCgAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzJJTGIwRWJQTjl0ZXNzZXJhY3Q1VEZpbGVFUE5TMF83Rm9udFNldEVFADE5VGVzc1Jlc3VsdENhbGxiYWNrMkliUE45dGVzc2VyYWN0NVRGaWxlRVBOUzBfN0ZvbnRTZXRFRQB2ZWNfc2l6ZSA+PSAwAC9zcmMvc3JjL2Njc3RydWN0L2ZvbnRpbmZvLmNwcABzcGFjaW5nX3ZlYyAhPSBudWxscHRyICYmIHNwYWNpbmdfdmVjLT5zaXplKCkgPiB1Y2hfaWQAL3NyYy9zcmMvY2NzdHJ1Y3QvZm9udGluZm8uaAAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzJJTGIwRWJQTjl0ZXNzZXJhY3Q1VEZpbGVFUE5TMF84Rm9udEluZm9FRQAxOVRlc3NSZXN1bHRDYWxsYmFjazJJYlBOOXRlc3NlcmFjdDVURmlsZUVQTlMwXzhGb250SW5mb0VFAHRlc3NlZGl0X3Jlc2VnbWVudF9mcm9tX2JveGVzAFRha2Ugc2VnbWVudGF0aW9uIGFuZCBsYWJlbGluZyBmcm9tIGJveCBmaWxlAHRlc3NlZGl0X3Jlc2VnbWVudF9mcm9tX2xpbmVfYm94ZXMAQ29udmVyc2lvbiBvZiB3b3JkL2xpbmUgYm94IGZpbGUgdG8gY2hhciBib3ggZmlsZQB0ZXNzZWRpdF90cmFpbl9mcm9tX2JveGVzAEdlbmVyYXRlIHRyYWluaW5nIGRhdGEgZnJvbSBib3hlZCBjaGFycwB0ZXNzZWRpdF9tYWtlX2JveGVzX2Zyb21fYm94ZXMAR2VuZXJhdGUgbW9yZSBib3hlcyBmcm9tIGJveGVkIGNoYXJzAHRlc3NlZGl0X3RyYWluX2xpbmVfcmVjb2duaXplcgBCcmVhayBpbnB1dCBpbnRvIGxpbmVzIGFuZCByZW1hcCBib3hlcyBpZiBwcmVzZW50AHRlc3NlZGl0X2R1bXBfcGFnZXNlZ19pbWFnZXMARHVtcCBpbnRlcm1lZGlhdGUgaW1hZ2VzIG1hZGUgZHVyaW5nIHBhZ2Ugc2VnbWVudGF0aW9uAHRlc3NlZGl0X3BhZ2VzZWdfbW9kZQBQYWdlIHNlZyBtb2RlOiAwPW9zZCBvbmx5LCAxPWF1dG8rb3NkLCAyPWF1dG8sIDM9Y29sLCA0PWJsb2NrLCA1PWxpbmUsIDY9d29yZCwgNz1jaGFyIChWYWx1ZXMgZnJvbSBQYWdlU2VnTW9kZSBlbnVtIGluIHB1YmxpY3R5cGVzLmgpAHRlc3NlZGl0X29jcl9lbmdpbmVfbW9kZQBXaGljaCBPQ1IgZW5naW5lKHMpIHRvIHJ1biAoVGVzc2VyYWN0LCBMU1RNLCBib3RoKS4gRGVmYXVsdHMgdG8gbG9hZGluZyBhbmQgcnVubmluZyB0aGUgbW9zdCBhY2N1cmF0ZSBhdmFpbGFibGUuAHRlc3NlZGl0X2NoYXJfYmxhY2tsaXN0AEJsYWNrbGlzdCBvZiBjaGFycyBub3QgdG8gcmVjb2duaXplAHRlc3NlZGl0X2NoYXJfd2hpdGVsaXN0AFdoaXRlbGlzdCBvZiBjaGFycyB0byByZWNvZ25pemUAdGVzc2VkaXRfY2hhcl91bmJsYWNrbGlzdABMaXN0IG9mIGNoYXJzIHRvIG92ZXJyaWRlIHRlc3NlZGl0X2NoYXJfYmxhY2tsaXN0AHRlc3NlZGl0X2FtYmlnc190cmFpbmluZwBQZXJmb3JtIHRyYWluaW5nIGZvciBhbWJpZ3VpdGllcwBwYWdlc2VnX2RldmFuYWdhcmlfc3BsaXRfc3RyYXRlZ3kAV2hldGhlciB0byB1c2UgdGhlIHRvcC1saW5lIHNwbGl0dGluZyBwcm9jZXNzIGZvciBEZXZhbmFnYXJpIGRvY3VtZW50cyB3aGlsZSBwZXJmb3JtaW5nIHBhZ2Utc2VnbWVudGF0aW9uLgBvY3JfZGV2YW5hZ2FyaV9zcGxpdF9zdHJhdGVneQBXaGV0aGVyIHRvIHVzZSB0aGUgdG9wLWxpbmUgc3BsaXR0aW5nIHByb2Nlc3MgZm9yIERldmFuYWdhcmkgZG9jdW1lbnRzIHdoaWxlIHBlcmZvcm1pbmcgb2NyLgB0ZXNzZWRpdF93cml0ZV9wYXJhbXNfdG9fZmlsZQBXcml0ZSBhbGwgcGFyYW1ldGVycyB0byB0aGUgZ2l2ZW4gZmlsZS4AdGVzc2VkaXRfYWRhcHRpb25fZGVidWcAR2VuZXJhdGUgYW5kIHByaW50IGRlYnVnIGluZm9ybWF0aW9uIGZvciBhZGFwdGlvbgBiaWRpX2RlYnVnAERlYnVnIGxldmVsIGZvciBCaURpAERlYnVnIGxldmVsAFBhZ2UgbnVtYmVyIHRvIGFwcGx5IGJveGVzIGZyb20ALmV4cABhcHBseWJveF9leHBvc3VyZV9wYXR0ZXJuAEV4cG9zdXJlIHZhbHVlIGZvbGxvd3MgdGhpcyBwYXR0ZXJuIGluIHRoZSBpbWFnZSBmaWxlbmFtZS4gVGhlIG5hbWUgb2YgdGhlIGltYWdlIGZpbGVzIGFyZSBleHBlY3RlZCB0byBiZSBpbiB0aGUgZm9ybSBbbGFuZ10uW2ZvbnRuYW1lXS5leHBbbnVtXS50aWYAYXBwbHlib3hfbGVhcm5fY2hhcnNfYW5kX2NoYXJfZnJhZ3NfbW9kZQBMZWFybiBib3RoIGNoYXJhY3RlciBmcmFnbWVudHMgKGFzIGlzIGRvbmUgaW4gdGhlIHNwZWNpYWwgbG93IGV4cG9zdXJlIG1vZGUpIGFzIHdlbGwgYXMgdW5mcmFnbWVudGVkIGNoYXJhY3RlcnMuAGFwcGx5Ym94X2xlYXJuX25ncmFtc19tb2RlAEVhY2ggYm91bmRpbmcgYm94IGlzIGFzc3VtZWQgdG8gY29udGFpbiBuZ3JhbXMuIE9ubHkgbGVhcm4gdGhlIG5ncmFtcyB3aG9zZSBvdXRsaW5lcyBvdmVybGFwIGhvcml6b250YWxseS4AdGVzc2VkaXRfZGlzcGxheV9vdXR3b3JkcwBEcmF3IG91dHB1dCB3b3JkcwB0ZXNzZWRpdF9kdW1wX2Nob2ljZXMARHVtcCBjaGFyIGNob2ljZXMAdGVzc2VkaXRfdGltaW5nX2RlYnVnAFByaW50IHRpbWluZyBzdGF0cwB0ZXNzZWRpdF9maXhfZnV6enlfc3BhY2VzAFRyeSB0byBpbXByb3ZlIGZ1enp5IHNwYWNlcwB0ZXNzZWRpdF91bnJlal9hbnlfd2QARG9uJ3QgYm90aGVyIHdpdGggd29yZCBwbGF1c2liaWxpdHkAdGVzc2VkaXRfZml4X2h5cGhlbnMAQ3J1bmNoIGRvdWJsZSBoeXBoZW5zPwB0ZXNzZWRpdF9yZWRvX3hoZWlnaHQAQ2hlY2svQ29ycmVjdCB4LWhlaWdodAB0ZXNzZWRpdF9lbmFibGVfZG9jX2RpY3QAQWRkIHdvcmRzIHRvIHRoZSBkb2N1bWVudCBkaWN0aW9uYXJ5AHRlc3NlZGl0X2RlYnVnX2ZvbnRzAE91dHB1dCBmb250IGluZm8gcGVyIGNoYXIAdGVzc2VkaXRfZGVidWdfYmxvY2tfcmVqZWN0aW9uAEJsb2NrIGFuZCBSb3cgc3RhdHMAdGVzc2VkaXRfZW5hYmxlX2JpZ3JhbV9jb3JyZWN0aW9uAEVuYWJsZSBjb3JyZWN0aW9uIGJhc2VkIG9uIHRoZSB3b3JkIGJpZ3JhbSBkaWN0aW9uYXJ5LgB0ZXNzZWRpdF9lbmFibGVfZGljdF9jb3JyZWN0aW9uAEVuYWJsZSBzaW5nbGUgd29yZCBjb3JyZWN0aW9uIGJhc2VkIG9uIHRoZSBkaWN0aW9uYXJ5LgB0ZXNzZWRpdF9iaWdyYW1fZGVidWcAQW1vdW50IG9mIGRlYnVnIG91dHB1dCBmb3IgYmlncmFtIGNvcnJlY3Rpb24uAGVuYWJsZV9ub2lzZV9yZW1vdmFsAFJlbW92ZSBhbmQgY29uZGl0aW9uYWxseSByZWFzc2lnbiBzbWFsbCBvdXRsaW5lcyB3aGVuIHRoZXkgY29uZnVzZSBsYXlvdXQgYW5hbHlzaXMsIGRldGVybWluaW5nIGRpYWNyaXRpY3MgdnMgbm9pc2UAZGVidWdfbm9pc2VfcmVtb3ZhbABEZWJ1ZyByZWFzc2lnbm1lbnQgb2Ygc21hbGwgb3V0bGluZXMAbm9pc2VfY2VydF9iYXNlY2hhcgBIaW5nZXBvaW50IGZvciBiYXNlIGNoYXIgY2VydGFpbnR5AG5vaXNlX2NlcnRfZGlzam9pbnQASGluZ2Vwb2ludCBmb3IgZGlzam9pbnQgY2VydGFpbnR5AG5vaXNlX2NlcnRfcHVuYwBUaHJlc2hvbGQgZm9yIG5ldyBwdW5jIGNoYXIgY2VydGFpbnR5AG5vaXNlX2NlcnRfZmFjdG9yAFNjYWxpbmcgb24gY2VydGFpbnR5IGRpZmYgZnJvbSBIaW5nZXBvaW50AG5vaXNlX21heHBlcmJsb2IATWF4IGRpYWNyaXRpY3MgdG8gYXBwbHkgdG8gYSBibG9iAG5vaXNlX21heHBlcndvcmQATWF4IGRpYWNyaXRpY3MgdG8gYXBwbHkgdG8gYSB3b3JkAGRlYnVnX3hfaHRfbGV2ZWwAUmVlc3RpbWF0ZSBkZWJ1ZwBkZWJ1Z19hY2NlcHRhYmxlX3dkcwBEdW1wIHdvcmQgcGFzcy9mYWlsIGNoawAoJ2AiAGNoc19sZWFkaW5nX3B1bmN0AExlYWRpbmcgcHVuY3R1YXRpb24AKS4sOzo/IQBjaHNfdHJhaWxpbmdfcHVuY3QxADFzdCBUcmFpbGluZyBwdW5jdHVhdGlvbgApJ2AiAGNoc190cmFpbGluZ19wdW5jdDIAMm5kIFRyYWlsaW5nIHB1bmN0dWF0aW9uAHF1YWxpdHlfcmVqX3BjAGdvb2RfcXVhbGl0eV9kb2MgbHRlIHJlamVjdGlvbiBsaW1pdABxdWFsaXR5X2Jsb2JfcGMAZ29vZF9xdWFsaXR5X2RvYyBndGUgZ29vZCBibG9icyBsaW1pdABxdWFsaXR5X291dGxpbmVfcGMAZ29vZF9xdWFsaXR5X2RvYyBsdGUgb3V0bGluZSBlcnJvciBsaW1pdABxdWFsaXR5X2NoYXJfcGMAZ29vZF9xdWFsaXR5X2RvYyBndGUgZ29vZCBjaGFyIGxpbWl0AHF1YWxpdHlfbWluX2luaXRpYWxfYWxwaGFzX3JlcWQAYWxwaGFzIGluIGEgZ29vZCB3b3JkAHRlc3NlZGl0X3Rlc3NfYWRhcHRpb25fbW9kZQBBZGFwdGF0aW9uIGRlY2lzaW9uIGFsZ29yaXRobSBmb3IgdGVzcwB0ZXNzZWRpdF9taW5pbWFsX3Jlal9wYXNzMQBEbyBtaW5pbWFsIHJlamVjdGlvbiBvbiBwYXNzIDEgb3V0cHV0AHRlc3NlZGl0X3Rlc3RfYWRhcHRpb24AVGVzdCBhZGFwdGlvbiBjcml0ZXJpYQB0ZXNzZWRpdF9tYXRjaGVyX2xvZwBMb2cgbWF0Y2hlciBhY3Rpdml0eQB0ZXNzZWRpdF90ZXN0X2FkYXB0aW9uX21vZGUAdGVzdF9wdABUZXN0IGZvciBwb2ludAB0ZXN0X3B0X3gAeGNvb3JkAHRlc3RfcHRfeQB5Y29vcmQAbXVsdGlsYW5nX2RlYnVnX2xldmVsAFByaW50IG11bHRpbGFuZyBkZWJ1ZyBpbmZvLgBwYXJhZ3JhcGhfZGVidWdfbGV2ZWwAUHJpbnQgcGFyYWdyYXBoIGRlYnVnIGluZm8uAHBhcmFncmFwaF90ZXh0X2Jhc2VkAFJ1biBwYXJhZ3JhcGggZGV0ZWN0aW9uIG9uIHRoZSBwb3N0LXRleHQtcmVjb2duaXRpb24gKG1vcmUgYWNjdXJhdGUpAGxzdG1fdXNlX21hdHJpeABVc2UgcmF0aW5ncyBtYXRyaXgvYmVhbSBzZWFyY2ggd2l0aCBsc3RtACV8IABvdXRsaW5lc19vZGQATm9uIHN0YW5kYXJkIG51bWJlciBvZiBvdXRsaW5lcwBpaiE/JSI6OwBvdXRsaW5lc18yAGRvY3F1YWxfZXhjdXNlX291dGxpbmVfZXJycwBBbGxvdyBvdXRsaW5lIGVycnMgaW4gdW5yZWplY3Rpb24/AHRlc3NlZGl0X2dvb2RfcXVhbGl0eV91bnJlagBSZWR1Y2UgcmVqZWN0aW9uIG9uIGdvb2QgZG9jcwB0ZXNzZWRpdF91c2VfcmVqZWN0X3NwYWNlcwBSZWplY3Qgc3BhY2VzPwB0ZXNzZWRpdF9yZWplY3RfZG9jX3BlcmNlbnQAJXJlaiBhbGxvd2VkIGJlZm9yZSByZWogd2hvbGUgZG9jAHRlc3NlZGl0X3JlamVjdF9ibG9ja19wZXJjZW50ACVyZWogYWxsb3dlZCBiZWZvcmUgcmVqIHdob2xlIGJsb2NrAHRlc3NlZGl0X3JlamVjdF9yb3dfcGVyY2VudAAlcmVqIGFsbG93ZWQgYmVmb3JlIHJlaiB3aG9sZSByb3cAdGVzc2VkaXRfd2hvbGVfd2RfcmVqX3Jvd19wZXJjZW50AE51bWJlciBvZiByb3cgcmVqZWN0cyBpbiB3aG9sZSB3b3JkIHJlamVjdHMgd2hpY2ggcHJldmVudHMgd2hvbGUgcm93IHJlamVjdGlvbgB0ZXNzZWRpdF9wcmVzZXJ2ZV9ibGtfcmVqX3BlcmZlY3Rfd2RzAE9ubHkgcmVqIHBhcnRpYWxseSByZWplY3RlZCB3b3JkcyBpbiBibG9jayByZWplY3Rpb24AdGVzc2VkaXRfcHJlc2VydmVfcm93X3Jlal9wZXJmZWN0X3dkcwBPbmx5IHJlaiBwYXJ0aWFsbHkgcmVqZWN0ZWQgd29yZHMgaW4gcm93IHJlamVjdGlvbgB0ZXNzZWRpdF9kb250X2Jsa3Jlal9nb29kX3dkcwBVc2Ugd29yZCBzZWdtZW50YXRpb24gcXVhbGl0eSBtZXRyaWMAdGVzc2VkaXRfZG9udF9yb3dyZWpfZ29vZF93ZHMAdGVzc2VkaXRfcHJlc2VydmVfbWluX3dkX2xlbgBPbmx5IHByZXNlcnZlIHdkcyBsb25nZXIgdGhhbiB0aGlzAHRlc3NlZGl0X3Jvd19yZWpfZ29vZF9kb2NzAEFwcGx5IHJvdyByZWplY3Rpb24gdG8gZ29vZCBkb2NzAHRlc3NlZGl0X2dvb2RfZG9jX3N0aWxsX3Jvd3Jlal93ZAByZWogZ29vZCBkb2Mgd2QgaWYgbW9yZSB0aGFuIHRoaXMgZnJhY3Rpb24gcmVqZWN0ZWQAdGVzc2VkaXRfcmVqZWN0X2JhZF9xdWFsX3dkcwBSZWplY3QgYWxsIGJhZCBxdWFsaXR5IHdkcwB0ZXNzZWRpdF9kZWJ1Z19kb2NfcmVqZWN0aW9uAFBhZ2Ugc3RhdHMAdGVzc2VkaXRfZGVidWdfcXVhbGl0eV9tZXRyaWNzAE91dHB1dCBkYXRhIHRvIGRlYnVnIGZpbGUAYmxhbmRfdW5yZWoAdW5yZWogcG90ZW50aWFsIHdpdGggbm8gY2hlY2tzAHF1YWxpdHlfcm93cmVqX3BjAHVubHZfdGlsZGVfY3J1bmNoaW5nAE1hcmsgdi5iYWQgd29yZHMgZm9yIHRpbGRlIGNydW5jaABBZGQgZm9udCBpbmZvIHRvIGhvY3Igb3V0cHV0AGNydW5jaF9lYXJseV9tZXJnZV90ZXNzX2ZhaWxzAEJlZm9yZSB3b3JkIGNydW5jaD8AY3J1bmNoX2Vhcmx5X2NvbnZlcnRfYmFkX3VubHZfY2hzAFRha2Ugb3V0IH5eIGVhcmx5PwBjcnVuY2hfdGVycmlibGVfcmF0aW5nAGNydW5jaCByYXRpbmcgbHQgdGhpcwBjcnVuY2hfdGVycmlibGVfZ2FyYmFnZQBBcyBpdCBzYXlzAGNydW5jaF9wb29yX2dhcmJhZ2VfY2VydABjcnVuY2ggZ2FyYmFnZSBjZXJ0IGx0IHRoaXMAY3J1bmNoX3Bvb3JfZ2FyYmFnZV9yYXRlAGNydW5jaCBnYXJiYWdlIHJhdGluZyBsdCB0aGlzAGNydW5jaF9wb3RfcG9vcl9yYXRlAFBPVEVOVElBTCBjcnVuY2ggcmF0aW5nIGx0IHRoaXMAY3J1bmNoX3BvdF9wb29yX2NlcnQAUE9URU5USUFMIGNydW5jaCBjZXJ0IGx0IHRoaXMAY3J1bmNoX3BvdF9nYXJiYWdlAFBPVEVOVElBTCBjcnVuY2ggZ2FyYmFnZQBjcnVuY2hfZGVsX3JhdGluZwBjcnVuY2hfZGVsX2NlcnQAY3J1bmNoX2RlbF9taW5faHQARGVsIGlmIHdvcmQgaHQgbHQgeGh0IHggdGhpcwBjcnVuY2hfZGVsX21heF9odABEZWwgaWYgd29yZCBodCBndCB4aHQgeCB0aGlzAGNydW5jaF9kZWxfbWluX3dpZHRoAERlbCBpZiB3b3JkIHdpZHRoIGx0IHhodCB4IHRoaXMAY3J1bmNoX2RlbF9oaWdoX3dvcmQARGVsIGlmIHdvcmQgZ3QgeGh0IHggdGhpcyBhYm92ZSBibABjcnVuY2hfZGVsX2xvd193b3JkAERlbCBpZiB3b3JkIGd0IHhodCB4IHRoaXMgYmVsb3cgYmwAY3J1bmNoX3NtYWxsX291dGxpbmVzX3NpemUAU21hbGwgaWYgbHQgeGh0IHggdGhpcwBjcnVuY2hfcmF0aW5nX21heABGb3IgYWRqIGxlbmd0aCBpbiByYXRpbmcgcGVyIGNoAGNydW5jaF9wb3RfaW5kaWNhdG9ycwBIb3cgbWFueSBwb3RlbnRpYWwgaW5kaWNhdG9ycyBuZWVkZWQAY3J1bmNoX2xlYXZlX29rX3N0cmluZ3MARG9uJ3QgdG91Y2ggc2Vuc2libGUgc3RyaW5ncwBjcnVuY2hfYWNjZXB0X29rAFVzZSBhY2NlcHRhYmlsaXR5IGluIG9rc3RyaW5nAGNydW5jaF9sZWF2ZV9hY2NlcHRfc3RyaW5ncwBEb24ndCBwb3QgY3J1bmNoIHNlbnNpYmxlIHN0cmluZ3MAY3J1bmNoX2luY2x1ZGVfbnVtZXJhbHMARmlkZGxlIGFscGhhIGZpZ3VyZXMAY3J1bmNoX2xlYXZlX2xjX3N0cmluZ3MARG9uJ3QgY3J1bmNoIHdvcmRzIHdpdGggbG9uZyBsb3dlciBjYXNlIHN0cmluZ3MAY3J1bmNoX2xlYXZlX3VjX3N0cmluZ3MAY3J1bmNoX2xvbmdfcmVwZXRpdGlvbnMAQ3J1bmNoIHdvcmRzIHdpdGggbG9uZyByZXBldGl0aW9ucwBjcnVuY2hfZGVidWcAZml4c3Bfbm9uX25vaXNlX2xpbWl0AEhvdyBtYW55IG5vbi1ub2lzZSBibGJzIGVpdGhlciBzaWRlPwBmaXhzcF9zbWFsbF9vdXRsaW5lc19zaXplAHRlc3NlZGl0X3ByZWZlcl9qb2luZWRfcHVuY3QAUmV3YXJkIHB1bmN0dWF0aW9uIGpvaW5zAGZpeHNwX2RvbmVfbW9kZQBXaGF0IGNvbnN0aXR1ZXMgZG9uZSBmb3Igc3BhY2luZwBkZWJ1Z19maXhfc3BhY2VfbGV2ZWwAQ29udGV4dHVhbCBmaXhzcGFjZSBkZWJ1ZwAuLABudW1lcmljX3B1bmN0dWF0aW9uAFB1bmN0LiBjaHMgZXhwZWN0ZWQgV0lUSElOIG51bWJlcnMAeF9odF9hY2NlcHRhbmNlX3RvbGVyYW5jZQBNYXggYWxsb3dlZCBkZXZpYXRpb24gb2YgYmxvYiB0b3Agb3V0c2lkZSBvZiBmb250IGRhdGEAeF9odF9taW5fY2hhbmdlAE1pbiBjaGFuZ2UgaW4geGh0IGJlZm9yZSBhY3R1YWxseSB0cnlpbmcgaXQAc3VwZXJzY3JpcHRfZGVidWcARGVidWcgbGV2ZWwgZm9yIHN1YiAmIHN1cGVyc2NyaXB0IGZpeGVyAHN1cGVyc2NyaXB0X3dvcnNlX2NlcnRhaW50eQBIb3cgbWFueSB0aW1lcyB3b3JzZSBjZXJ0YWludHkgZG9lcyBhIHN1cGVyc2NyaXB0IHBvc2l0aW9uIGdseXBoIG5lZWQgdG8gYmUgZm9yIHVzIHRvIHRyeSBjbGFzc2lmeWluZyBpdCBhcyBhIGNoYXIgd2l0aCBhIGRpZmZlcmVudCBiYXNlbGluZT8Ac3VwZXJzY3JpcHRfYmV0dGVyZWRfY2VydGFpbnR5AFdoYXQgcmVkdWN0aW9uIGluIGJhZG5lc3MgZG8gd2UgdGhpbmsgc3VmZmljaWVudCB0byBjaG9vc2UgYSBzdXBlcnNjcmlwdCBvdmVyIHdoYXQgd2UnZCB0aG91Z2h0LiAgRm9yIGV4YW1wbGUsIGEgdmFsdWUgb2YgMC42IG1lYW5zIHdlIHdhbnQgdG8gcmVkdWNlIGJhZG5lc3Mgb2YgY2VydGFpbnR5IGJ5IGF0IGxlYXN0IDQwJQBzdXBlcnNjcmlwdF9zY2FsZWRvd25fcmF0aW8AQSBzdXBlcnNjcmlwdCBzY2FsZWQgZG93biBtb3JlIHRoYW4gdGhpcyBpcyB1bmJlbGlldmFibHkgc21hbGwuICBGb3IgZXhhbXBsZSwgMC4zIG1lYW5zIHdlIGV4cGVjdCB0aGUgZm9udCBzaXplIHRvIGJlIG5vIHNtYWxsZXIgdGhhbiAzMCUgb2YgdGhlIHRleHQgbGluZSBmb250IHNpemUuAHN1YnNjcmlwdF9tYXhfeV90b3AATWF4aW11bSB0b3Agb2YgYSBjaGFyYWN0ZXIgbWVhc3VyZWQgYXMgYSBtdWx0aXBsZSBvZiB4LWhlaWdodCBhYm92ZSB0aGUgYmFzZWxpbmUgZm9yIHVzIHRvIHJlY29uc2lkZXIgd2hldGhlciBpdCdzIGEgc3Vic2NyaXB0LgBzdXBlcnNjcmlwdF9taW5feV9ib3R0b20ATWluaW11bSBib3R0b20gb2YgYSBjaGFyYWN0ZXIgbWVhc3VyZWQgYXMgYSBtdWx0aXBsZSBvZiB4LWhlaWdodCBhYm92ZSB0aGUgYmFzZWxpbmUgZm9yIHVzIHRvIHJlY29uc2lkZXIgd2hldGhlciBpdCdzIGEgc3VwZXJzY3JpcHQuAHRlc3NlZGl0X3dyaXRlX2Jsb2NrX3NlcGFyYXRvcnMAV3JpdGUgYmxvY2sgc2VwYXJhdG9ycyBpbiBvdXRwdXQAdGVzc2VkaXRfd3JpdGVfcmVwX2NvZGVzAFdyaXRlIHJlcGV0aXRpb24gY2hhciBjb2RlAHRlc3NlZGl0X3dyaXRlX3VubHYAV3JpdGUgLnVubHYgb3V0cHV0IGZpbGUAdGVzc2VkaXRfY3JlYXRlX3R4dABXcml0ZSAudHh0IG91dHB1dCBmaWxlAHRlc3NlZGl0X2NyZWF0ZV9ob2NyAFdyaXRlIC5odG1sIGhPQ1Igb3V0cHV0IGZpbGUAdGVzc2VkaXRfY3JlYXRlX3RzdgBXcml0ZSAudHN2IG91dHB1dCBmaWxlAHRlc3NlZGl0X2NyZWF0ZV9wZGYAV3JpdGUgLnBkZiBvdXRwdXQgZmlsZQB0ZXh0b25seV9wZGYAQ3JlYXRlIFBERiB3aXRoIG9ubHkgb25lIGludmlzaWJsZSB0ZXh0IGxheWVyAFNldCBKUEVHIHF1YWxpdHkgbGV2ZWwAdXNlcl9kZWZpbmVkX2RwaQBTcGVjaWZ5IERQSSBmb3IgaW5wdXQgaW1hZ2UAbWluX2NoYXJhY3RlcnNfdG9fdHJ5AFNwZWNpZnkgbWluaW11bSBjaGFyYWN0ZXJzIHRvIHRyeSBkdXJpbmcgT1NEAHVucmVjb2duaXNlZF9jaGFyAE91dHB1dCBjaGFyIGZvciB1bmlkZW50aWZpZWQgYmxvYnMAc3VzcGVjdF9sZXZlbABTdXNwZWN0IG1hcmtlciBsZXZlbABzdXNwZWN0X3NwYWNlX2xldmVsAE1pbiBzdXNwZWN0IGxldmVsIGZvciByZWplY3Rpbmcgc3BhY2VzAHN1c3BlY3Rfc2hvcnRfd29yZHMARG9uJ3Qgc3VzcGVjdCBkaWN0IHdkcyBsb25nZXIgdGhhbiB0aGlzAHN1c3BlY3RfY29uc3RyYWluXzFJbABVTkxWIGtlZXAgMUlsIGNoYXJzIHJlamVjdGVkAHN1c3BlY3RfcmF0aW5nX3Blcl9jaABEb24ndCB0b3VjaCBiYWQgcmF0aW5nIGxpbWl0AHN1c3BlY3RfYWNjZXB0X3JhdGluZwBBY2NlcHQgZ29vZCByYXRpbmcgbGltaXQAdGVzc2VkaXRfbWluaW1hbF9yZWplY3Rpb24AT25seSByZWplY3QgdGVzcyBmYWlsdXJlcwB0ZXNzZWRpdF96ZXJvX3JlamVjdGlvbgBEb24ndCByZWplY3QgQU5ZVEhJTkcAdGVzc2VkaXRfd29yZF9mb3Jfd29yZABNYWtlIG91dHB1dCBoYXZlIGV4YWN0bHkgb25lIHdvcmQgcGVyIFdFUkQAdGVzc2VkaXRfemVyb19rZWx2aW5fcmVqZWN0aW9uAERvbid0IHJlamVjdCBBTllUSElORyBBVCBBTEwAdGVzc2VkaXRfY29uc2lzdGVudF9yZXBzAEZvcmNlIGFsbCByZXAgY2hhcnMgdGhlIHNhbWUAdGVzc2VkaXRfcmVqZWN0X21vZGUAUmVqZWN0aW9uIGFsZ29yaXRobQB0ZXNzZWRpdF9yZWplY3Rpb25fZGVidWcAQWRhcHRpb24gZGVidWcAdGVzc2VkaXRfZmxpcF8wTwBDb250ZXh0dWFsIDBPIE8wIGZsaXBzAHRlc3NlZGl0X2xvd2VyX2ZsaXBfaHlwaGVuAEFzcGVjdCByYXRpbyBkb3QvaHlwaGVuIHRlc3QAdGVzc2VkaXRfdXBwZXJfZmxpcF9oeXBoZW4AcmVqX3RydXN0X2RvY19kYXdnAFVzZSBET0MgZGF3ZyBpbiAxMWwgY29uZi4gZGV0ZWN0b3IAcmVqXzFJbF91c2VfZGljdF93b3JkAFVzZSBkaWN0d29yZCB0ZXN0AHJlal8xSWxfdHJ1c3RfcGVybXV0ZXJfdHlwZQBEb24ndCBkb3VibGUgY2hlY2sAcmVqX3VzZV90ZXNzX2FjY2VwdGVkAEluZGl2aWR1YWwgcmVqZWN0aW9uIGNvbnRyb2wAcmVqX3VzZV90ZXNzX2JsYW5rcwByZWpfdXNlX2dvb2RfcGVybQByZWpfdXNlX3NlbnNpYmxlX3dkAEV4dGVuZCBwZXJtdXRlciBjaGVjawByZWpfYWxwaGFzX2luX251bWJlcl9wZXJtAHJlal93aG9sZV9vZl9tb3N0bHlfcmVqZWN0X3dvcmRfZnJhY3QAaWYgPnRoaXMgZnJhY3QAdGVzc2VkaXRfaW1hZ2VfYm9yZGVyAFJlaiBibGJzIG5lYXIgaW1hZ2UgZWRnZSBsaW1pdAAtPyo9AG9rX3JlcGVhdGVkX2NoX25vbl9hbHBoYW51bV93ZHMAQWxsb3cgTk4gdG8gdW5yZWoASWwxW10AY29uZmxpY3Rfc2V0X0lfbF8xAElsMSBjb25mbGljdCBzZXQAbWluX3NhbmVfeF9odF9waXhlbHMAUmVqZWN0IGFueSB4LWh0IGx0IG9yIGVxIHRoYW4gdGhpcwB0ZXNzZWRpdF9jcmVhdGVfYm94ZmlsZQBPdXRwdXQgdGV4dCB3aXRoIGJveGVzAHRlc3NlZGl0X3BhZ2VfbnVtYmVyAC0xIC0+IEFsbCBwYWdlcyAsIGVsc2Ugc3BlY2lmaWMgcGFnZSB0byBwcm9jZXNzAHRlc3NlZGl0X3dyaXRlX2ltYWdlcwBDYXB0dXJlIHRoZSBpbWFnZSBmcm9tIHRoZSBJUEUAaW50ZXJhY3RpdmVfZGlzcGxheV9tb2RlAFJ1biBpbnRlcmFjdGl2ZWx5PwAudGlmAGZpbGVfdHlwZQBGaWxlbmFtZSBleHRlbnNpb24AdGVzc2VkaXRfb3ZlcnJpZGVfcGVybXV0ZXIAQWNjb3JkaW5nIHRvIGRpY3Rfd29yZAB0ZXNzZWRpdF9sb2FkX3N1YmxhbmdzAExpc3Qgb2YgbGFuZ3VhZ2VzIHRvIGxvYWQgd2l0aCB0aGlzIG9uZQB0ZXNzZWRpdF91c2VfcHJpbWFyeV9wYXJhbXNfbW9kZWwASW4gbXVsdGlsaW5ndWFsIG1vZGUgdXNlIHBhcmFtcyBtb2RlbCBvZiB0aGUgcHJpbWFyeSBsYW5ndWFnZQBtaW5fb3JpZW50YXRpb25fbWFyZ2luAE1pbiBhY2NlcHRhYmxlIG9yaWVudGF0aW9uIG1hcmdpbgB0ZXh0b3JkX3RhYmZpbmRfc2hvd192bGluZXMARGVidWcgbGluZSBmaW5kaW5nAHRleHRvcmRfdXNlX2Nqa19mcF9tb2RlbABVc2UgQ0pLIGZpeGVkIHBpdGNoIG1vZGVsAHBvbHlfYWxsb3dfZGV0YWlsZWRfZngAQWxsb3cgZmVhdHVyZSBleHRyYWN0b3JzIHRvIHNlZSB0aGUgb3JpZ2luYWwgb3V0bGluZQB0ZXNzZWRpdF9pbml0X2NvbmZpZ19vbmx5AE9ubHkgaW5pdGlhbGl6ZSB3aXRoIHRoZSBjb25maWcgZmlsZS4gVXNlZnVsIGlmIHRoZSBpbnN0YW5jZSBpcyBub3QgZ29pbmcgdG8gYmUgdXNlZCBmb3IgT0NSIGJ1dCBzYXkgb25seSBmb3IgbGF5b3V0IGFuYWx5c2lzLgB0ZXh0b3JkX2VxdWF0aW9uX2RldGVjdABUdXJuIG9uIGVxdWF0aW9uIGRldGVjdG9yAHRleHRvcmRfdGFiZmluZF92ZXJ0aWNhbF90ZXh0AEVuYWJsZSB2ZXJ0aWNhbCBkZXRlY3Rpb24AdGV4dG9yZF90YWJmaW5kX2ZvcmNlX3ZlcnRpY2FsX3RleHQARm9yY2UgdXNpbmcgdmVydGljYWwgdGV4dCBwYWdlIG1vZGUAdGV4dG9yZF90YWJmaW5kX3ZlcnRpY2FsX3RleHRfcmF0aW8ARnJhY3Rpb24gb2YgdGV4dGxpbmVzIGRlZW1lZCB2ZXJ0aWNhbCB0byB1c2UgdmVydGljYWwgcGFnZSBtb2RlAHRleHRvcmRfdGFiZmluZF9hbGlnbmVkX2dhcF9mcmFjdGlvbgBGcmFjdGlvbiBvZiBoZWlnaHQgdXNlZCBhcyBhIG1pbmltdW0gZ2FwIGZvciBhbGlnbmVkIGJsb2JzLgB0ZXNzZWRpdF9wYXJhbGxlbGl6ZQBSdW4gaW4gcGFyYWxsZWwgd2hlcmUgcG9zc2libGUAcHJlc2VydmVfaW50ZXJ3b3JkX3NwYWNlcwBQcmVzZXJ2ZSBtdWx0aXBsZSBpbnRlcndvcmQgc3BhY2VzAAwAcGFnZV9zZXBhcmF0b3IAUGFnZSBzZXBhcmF0b3IgKGRlZmF1bHQgaXMgZm9ybSBmZWVkIGNvbnRyb2wgY2hhcmFjdGVyKQBsc3RtX2Nob2ljZV9tb2RlAEFsbG93cyB0byBpbmNsdWRlIGFsdGVybmF0aXZlIHN5bWJvbHMgY2hvaWNlcyBpbiB0aGUgaE9DUiBvdXRwdXQuIFZhbGlkIGlucHV0IHZhbHVlcyBhcmUgMCwgMSBhbmQgMi4gMCBpcyB0aGUgZGVmYXVsdCB2YWx1ZS4gV2l0aCAxIHRoZSBhbHRlcm5hdGl2ZSBzeW1ib2wgY2hvaWNlcyBwZXIgdGltZXN0ZXAgYXJlIGluY2x1ZGVkLiBXaXRoIDIgdGhlIGFsdGVybmF0aXZlIHN5bWJvbCBjaG9pY2VzIGFyZSBhY2N1bXVsYXRlZCBwZXIgY2hhcmFjdGVyLgB0ZXh0b3JkX3NpbmdsZV9oZWlnaHRfbW9kZQBTY3JpcHQgaGFzIG5vIHhoZWlnaHQsIHNvIHVzZSBhIHNpbmdsZSBtb2RlAHRvc3Bfb2xkX3RvX21ldGhvZABTcGFjZSBzdGF0cyB1c2UgcHJlY2hvcHBpbmc/AHRvc3Bfb2xkX3RvX2NvbnN0cmFpbl9zcF9rbgBDb25zdHJhaW4gcmVsYXRpdmUgdmFsdWVzIG9mIGludGVyIGFuZCBpbnRyYS13b3JkIGdhcHMgZm9yIG9sZF90b19tZXRob2QuAHRvc3Bfb25seV91c2VfcHJvcF9yb3dzAEJsb2NrIHN0YXRzIHRvIHVzZSBmaXhlZCBwaXRjaCByb3dzPwB0b3NwX2ZvcmNlX3dvcmRicmVha19vbl9wdW5jdABGb3JjZSB3b3JkIGJyZWFrcyBvbiBwdW5jdCB0byBicmVhayBsb25nIGxpbmVzIGluIG5vbi1zcGFjZSBkZWxpbWl0ZWQgbGFuZ3MAdG9zcF91c2VfcHJlX2Nob3BwaW5nAHRvc3Bfb2xkX3RvX2J1Z19maXgARml4IHN1c3BlY3RlZCBidWcgaW4gb2xkIGNvZGUAdG9zcF9ibG9ja191c2VfY2VydF9zcGFjZXMAT25seSBzdGF0IE9CVklPVVMgc3BhY2VzAHRvc3Bfcm93X3VzZV9jZXJ0X3NwYWNlcwB0b3NwX25hcnJvd19ibG9ic19ub3RfY2VydAB0b3NwX3Jvd191c2VfY2VydF9zcGFjZXMxAHRvc3BfcmVjb3ZlcnlfaXNvbGF0ZWRfcm93X3N0YXRzAFVzZSByb3cgYWxvbmUgd2hlbiBpbmFkZXF1YXRlIGNlcnQgc3BhY2VzAHRvc3Bfb25seV9zbWFsbF9nYXBzX2Zvcl9rZXJuAEJldHRlciBndWVzcwB0b3NwX2FsbF9mbGlwc19mdXp6eQBQYXNzIEFOWSBmbGlwIHRvIGNvbnRleHQ/AHRvc3BfZnV6enlfbGltaXRfYWxsAERvbid0IHJlc3RyaWN0IGtuLT5zcCBmdXp6eSBsaW1pdCB0byB0YWJsZXMAdG9zcF9zdGF0c191c2VfeGh0X2dhcHMAVXNlIHdpdGhpbiB4aHQgZ2FwIGZvciB3ZCBicmVha3MAdG9zcF91c2VfeGh0X2dhcHMAdG9zcF9vbmx5X3VzZV94aHRfZ2FwcwBPbmx5IHVzZSB3aXRoaW4geGh0IGdhcCBmb3Igd2QgYnJlYWtzAHRvc3BfcnVsZV85X3Rlc3RfcHVuY3QARG9uJ3QgY2huZyBrbiB0byBzcGFjZSBuZXh0IHRvIHB1bmN0AHRvc3BfZmxpcF9mdXp6X2tuX3RvX3NwAERlZmF1bHQgZmxpcAB0b3NwX2ZsaXBfZnV6el9zcF90b19rbgB0b3NwX2ltcHJvdmVfdGhyZXNoAEVuYWJsZSBpbXByb3ZlbWVudCBoZXVyaXN0aWMAdG9zcF9kZWJ1Z19sZXZlbABEZWJ1ZyBkYXRhAHRvc3BfZW5vdWdoX3NwYWNlX3NhbXBsZXNfZm9yX21lZGlhbgBvciBzaG91bGQgd2UgdXNlIG1lYW4AdG9zcF9yZWRvX2tlcm5fbGltaXQATm8uc2FtcGxlcyByZXFkIHRvIHJlZXN0aW1hdGUgZm9yIHJvdwB0b3NwX2Zld19zYW1wbGVzAE5vLmdhcHMgcmVxZCB3aXRoIDEgbGFyZ2UgZ2FwIHRvIHRyZWF0IGFzIGEgdGFibGUAdG9zcF9zaG9ydF9yb3cATm8uZ2FwcyByZXFkIHdpdGggZmV3IGNlcnQgc3BhY2VzIHRvIHVzZSBjZXJ0cwB0b3NwX3Nhbml0eV9tZXRob2QASG93IHRvIGF2b2lkIGJlaW5nIHNpbGx5AHRvc3Bfb2xkX3NwX2tuX3RoX2ZhY3RvcgBGYWN0b3IgZm9yIGRlZmluaW5nIHNwYWNlIHRocmVzaG9sZCBpbiB0ZXJtcyBvZiBzcGFjZSBhbmQga2VybiBzaXplcwB0b3NwX3RocmVzaG9sZF9iaWFzMQBob3cgZmFyIGJldHdlZW4ga2VybiBhbmQgc3BhY2U/AHRvc3BfdGhyZXNob2xkX2JpYXMyAHRvc3BfbmFycm93X2ZyYWN0aW9uAEZyYWN0IG9mIHhoZWlnaHQgZm9yIG5hcnJvdwB0b3NwX25hcnJvd19hc3BlY3RfcmF0aW8AbmFycm93IGlmIHcvaCBsZXNzIHRoYW4gdGhpcwB0b3NwX3dpZGVfZnJhY3Rpb24ARnJhY3Qgb2YgeGhlaWdodCBmb3Igd2lkZQB0b3NwX3dpZGVfYXNwZWN0X3JhdGlvAHdpZGUgaWYgdy9oIGxlc3MgdGhhbiB0aGlzAHRvc3BfZnV6enlfc3BhY2VfZmFjdG9yAEZyYWN0IG9mIHhoZWlnaHQgZm9yIGZ1enogc3AAdG9zcF9mdXp6eV9zcGFjZV9mYWN0b3IxAHRvc3BfZnV6enlfc3BhY2VfZmFjdG9yMgB0b3NwX2dhcF9mYWN0b3IAZ2FwIHJhdGlvIHRvIGZsaXAgc3AtPmtlcm4AdG9zcF9rZXJuX2dhcF9mYWN0b3IxAGdhcCByYXRpbyB0byBmbGlwIGtlcm4tPnNwAHRvc3Bfa2Vybl9nYXBfZmFjdG9yMgB0b3NwX2tlcm5fZ2FwX2ZhY3RvcjMAdG9zcF9pZ25vcmVfYmlnX2dhcHMAeGh0IG11bHRpcGxpZXIAdG9zcF9pZ25vcmVfdmVyeV9iaWdfZ2FwcwB0b3NwX3JlcF9zcGFjZQByZXAgZ2FwIG11bHRpcGxpZXIgZm9yIHNwYWNlAHRvc3BfZW5vdWdoX3NtYWxsX2dhcHMARnJhY3Qgb2Yga2VybnMgcmVxZCBmb3IgaXNvbGF0ZWQgcm93IHN0YXRzAHRvc3BfdGFibGVfa25fc3BfcmF0aW8ATWluIGRpZmZlcmVuY2Ugb2Yga24gJiBzcCBpbiB0YWJsZQB0b3NwX3RhYmxlX3hodF9zcF9yYXRpbwBFeHBlY3Qgc3BhY2VzIGJpZ2dlciB0aGFuIHRoaXMAdG9zcF90YWJsZV9mdXp6eV9rbl9zcF9yYXRpbwBGdXp6eSBpZiBsZXNzIHRoYW4gdGhpcwB0b3NwX2Z1enp5X2tuX2ZyYWN0aW9uAE5ldyBmdXp6eSBrbiBhbGcAdG9zcF9mdXp6eV9zcF9mcmFjdGlvbgBOZXcgZnV6enkgc3AgYWxnAHRvc3BfbWluX3NhbmVfa25fc3AARG9uJ3QgdHJ1c3Qgc3BhY2VzIGxlc3MgdGhhbiB0aGlzIHRpbWUga24AdG9zcF9pbml0X2d1ZXNzX2tuX211bHQAVGhyZXNoIGd1ZXNzIC0gbXVsdCBrbiBieSB0aGlzAHRvc3BfaW5pdF9ndWVzc194aHRfbXVsdABUaHJlc2ggZ3Vlc3MgLSBtdWx0IHhodCBieSB0aGlzAHRvc3BfbWF4X3NhbmVfa25fdGhyZXNoAE11bHRpcGxpZXIgb24ga24gdG8gbGltaXQgdGhyZXNoAHRvc3BfZmxpcF9jYXV0aW9uAERvbid0IGF1dG9mbGlwIGtuIHRvIHNwIHdoZW4gbGFyZ2Ugc2VwYXJhdGlvbgB0b3NwX2xhcmdlX2tlcm5pbmcATGltaXQgdXNlIG9mIHhodCBnYXAgd2l0aCBsYXJnZSBrbnMAdG9zcF9kb250X2Zvb2xfd2l0aF9zbWFsbF9rZXJucwBMaW1pdCB1c2Ugb2YgeGh0IGdhcCB3aXRoIG9kZCBzbWFsbCBrbnMAdG9zcF9uZWFyX2xoX2VkZ2UARG9uJ3QgcmVkdWNlIGJveCBpZiB0aGUgdG9wIGxlZnQgaXMgbm9uIGJsYW5rAHRvc3Bfc2lsbHlfa25fc3BfZ2FwAERvbid0IGxldCBzcCBtaW51cyBrbiBnZXQgdG9vIHNtYWxsAHRvc3BfcGFzc193aWRlX2Z1enpfc3BfdG9fY29udGV4dABIb3cgd2lkZSBmdXp6aWVzIG5lZWQgY29udGV4dAB0ZXh0b3JkX25vX3JlamVjdHMARG9uJ3QgcmVtb3ZlIG5vaXNlIGJsb2JzAHRleHRvcmRfc2hvd19ibG9icwBEaXNwbGF5IHVuc29ydGVkIGJsb2JzAHRleHRvcmRfc2hvd19ib3hlcwB0ZXh0b3JkX21heF9ub2lzZV9zaXplAFBpeGVsIHNpemUgb2Ygbm9pc2UAdGV4dG9yZF9iYXNlbGluZV9kZWJ1ZwBCYXNlbGluZSBkZWJ1ZyBsZXZlbAB0ZXh0b3JkX2Jsb2Jfc2l6ZV9iaWdpbGUAUGVyY2VudGlsZSBmb3IgbGFyZ2UgYmxvYnMAdGV4dG9yZF9ub2lzZV9hcmVhX3JhdGlvAEZyYWN0aW9uIG9mIGJvdW5kaW5nIGJveCBmb3Igbm9pc2UAdGV4dG9yZF9ibG9iX3NpemVfc21hbGxpbGUAUGVyY2VudGlsZSBmb3Igc21hbGwgYmxvYnMAdGV4dG9yZF9pbml0aWFseF9pbGUASWxlIG9mIHNpemVzIGZvciB4aGVpZ2h0IGd1ZXNzAHRleHRvcmRfaW5pdGlhbGFzY19pbGUAdGV4dG9yZF9ub2lzZV9zaXplZnJhY3Rpb24ARnJhY3Rpb24gb2Ygc2l6ZSBmb3IgbWF4aW1hAHRleHRvcmRfbm9pc2Vfc2l6ZWxpbWl0AEZyYWN0aW9uIG9mIHggZm9yIGJpZyB0IGNvdW50AHRleHRvcmRfbm9pc2VfdHJhbnNsaW1pdABUcmFuc2l0aW9ucyBmb3Igbm9ybWFsIGJsb2IAdGV4dG9yZF9ub2lzZV9ub3JtcmF0aW8ARG90IHRvIG5vcm0gcmF0aW8gZm9yIGRlbGV0aW9uAHRleHRvcmRfbm9pc2VfcmVqd29yZHMAUmVqZWN0IG5vaXNlLWxpa2Ugd29yZHMAdGV4dG9yZF9ub2lzZV9yZWpyb3dzAFJlamVjdCBub2lzZS1saWtlIHJvd3MAdGV4dG9yZF9ub2lzZV9zeWZyYWN0AHhoIGZyYWN0IGhlaWdodCBlcnJvciBmb3Igbm9ybSBibG9icwB0ZXh0b3JkX25vaXNlX3N4ZnJhY3QAeGggZnJhY3Qgd2lkdGggZXJyb3IgZm9yIG5vcm0gYmxvYnMAdGV4dG9yZF9ub2lzZV9oZnJhY3QASGVpZ2h0IGZyYWN0aW9uIHRvIGRpc2NhcmQgb3V0bGluZXMgYXMgc3BlY2tsZSBub2lzZQB0ZXh0b3JkX25vaXNlX3NuY291bnQAc3VwZXIgbm9ybSBibG9icyB0byBzYXZlIHJvdwB0ZXh0b3JkX25vaXNlX3Jvd3JhdGlvAHRleHRvcmRfbm9pc2VfZGVidWcARGVidWcgcm93IGdhcmJhZ2UgZGV0ZWN0b3IAdGV4dG9yZF9ibHNoaWZ0X21heHNoaWZ0AE1heCBiYXNlbGluZSBzaGlmdAB0ZXh0b3JkX2Jsc2hpZnRfeGZyYWN0aW9uAE1pbiBzaXplIG9mIGJhc2VsaW5lIHNoaWZ0AG1lcmdlX2ZyYWdtZW50c19pbl9tYXRyaXgATWVyZ2UgdGhlIGZyYWdtZW50cyBpbiB0aGUgcmF0aW5ncyBtYXRyaXggYW5kIGRlbGV0ZSB0aGVtIGFmdGVyIG1lcmdpbmcAd29yZHJlY19ub19ibG9jawBEb24ndCBvdXRwdXQgYmxvY2sgaW5mb3JtYXRpb24Ad29yZHJlY19lbmFibGVfYXNzb2MAQXNzb2NpYXRvciBFbmFibGUAZm9yY2Vfd29yZF9hc3NvYwBmb3JjZSBhc3NvY2lhdG9yIHRvIHJ1biByZWdhcmRsZXNzIG9mIHdoYXQgZW5hYmxlX2Fzc29jIGlzLiBUaGlzIGlzIHVzZWQgZm9yIENKSyB3aGVyZSBjb21wb25lbnQgZ3JvdXBpbmcgaXMgbmVjZXNzYXJ5LgB3b3JkcmVjX3dvcnN0X3N0YXRlAFdvcnN0IHNlZ21lbnRhdGlvbiBzdGF0ZQBmcmFnbWVudHNfZ3VpZGVfY2hvcHBlcgBVc2UgaW5mb3JtYXRpb24gZnJvbSBmcmFnbWVudHMgdG8gZ3VpZGUgY2hvcHBpbmcgcHJvY2VzcwByZXBhaXJfdW5jaG9wcGVkX2Jsb2JzAEZpeCBibG9icyB0aGF0IGFyZW4ndCBjaG9wcGVkAHRlc3NlZGl0X2NlcnRhaW50eV90aHJlc2hvbGQAR29vZCBibG9iIGxpbWl0AGNob3BfZGVidWcAQ2hvcCBkZWJ1ZwBjaG9wX2VuYWJsZQBDaG9wIGVuYWJsZQBjaG9wX3ZlcnRpY2FsX2NyZWVwAFZlcnRpY2FsIGNyZWVwAGNob3Bfc3BsaXRfbGVuZ3RoAFNwbGl0IExlbmd0aABjaG9wX3NhbWVfZGlzdGFuY2UAU2FtZSBkaXN0YW5jZQBjaG9wX21pbl9vdXRsaW5lX3BvaW50cwBNaW4gTnVtYmVyIG9mIFBvaW50cyBvbiBPdXRsaW5lAGNob3Bfc2VhbV9waWxlX3NpemUATWF4IG51bWJlciBvZiBzZWFtcyBpbiBzZWFtX3BpbGUAY2hvcF9uZXdfc2VhbV9waWxlAFVzZSBuZXcgc2VhbV9waWxlAGNob3BfaW5zaWRlX2FuZ2xlAE1pbiBJbnNpZGUgQW5nbGUgQmVuZABjaG9wX21pbl9vdXRsaW5lX2FyZWEATWluIE91dGxpbmUgQXJlYQBjaG9wX3NwbGl0X2Rpc3Rfa25vYgBTcGxpdCBsZW5ndGggYWRqdXN0bWVudABjaG9wX292ZXJsYXBfa25vYgBTcGxpdCBvdmVybGFwIGFkanVzdG1lbnQAY2hvcF9jZW50ZXJfa25vYgBTcGxpdCBjZW50ZXIgYWRqdXN0bWVudABjaG9wX2NlbnRlcmVkX21heHdpZHRoAFdpZHRoIG9mIChzbWFsbGVyKSBjaG9wcGVkIGJsb2JzIGFib3ZlIHdoaWNoIHdlIGRvbid0IGNhcmUgdGhhdCBhIGNob3AgaXMgbm90IG5lYXIgdGhlIGNlbnRlci4AY2hvcF9zaGFycG5lc3Nfa25vYgBTcGxpdCBzaGFycG5lc3MgYWRqdXN0bWVudABjaG9wX3dpZHRoX2NoYW5nZV9rbm9iAFdpZHRoIGNoYW5nZSBhZGp1c3RtZW50AGNob3Bfb2tfc3BsaXQAT0sgc3BsaXQgbGltaXQAY2hvcF9nb29kX3NwbGl0AEdvb2Qgc3BsaXQgbGltaXQAY2hvcF94X3lfd2VpZ2h0AFggLyBZICBsZW5ndGggd2VpZ2h0AHNlZ21lbnRfYWRqdXN0X2RlYnVnAFNlZ21lbnRhdGlvbiBhZGp1c3RtZW50IGRlYnVnAGFzc3VtZV9maXhlZF9waXRjaF9jaGFyX3NlZ21lbnQAaW5jbHVkZSBmaXhlZC1waXRjaCBoZXVyaXN0aWNzIGluIGNoYXIgc2VnbWVudGF0aW9uAHdvcmRyZWNfZGVidWdfbGV2ZWwARGVidWcgbGV2ZWwgZm9yIHdvcmRyZWMAd29yZHJlY19tYXhfam9pbl9jaHVua3MATWF4IG51bWJlciBvZiBicm9rZW4gcGllY2VzIHRvIGFzc29jaWF0ZQB3b3JkcmVjX3NraXBfbm9fdHJ1dGhfd29yZHMAT25seSBydW4gT0NSIGZvciB3b3JkcyB0aGF0IGhhZCB0cnV0aCByZWNvcmRlZCBpbiBCbGFtZXJCdW5kbGUAd29yZHJlY19kZWJ1Z19ibGFtZXIAUHJpbnQgYmxhbWVyIGRlYnVnIG1lc3NhZ2VzAHdvcmRyZWNfcnVuX2JsYW1lcgBUcnkgdG8gc2V0IHRoZSBibGFtZSBmb3IgZXJyb3JzAHNlZ3NlYXJjaF9kZWJ1Z19sZXZlbABTZWdTZWFyY2ggZGVidWcgbGV2ZWwAc2Vnc2VhcmNoX21heF9wYWluX3BvaW50cwBNYXhpbXVtIG51bWJlciBvZiBwYWluIHBvaW50cyBzdG9yZWQgaW4gdGhlIHF1ZXVlAHNlZ3NlYXJjaF9tYXhfZnV0aWxlX2NsYXNzaWZpY2F0aW9ucwBNYXhpbXVtIG51bWJlciBvZiBwYWluIHBvaW50IGNsYXNzaWZpY2F0aW9ucyBwZXIgY2h1bmsgdGhhdCBkaWQgbm90IHJlc3VsdCBpbiBmaW5kaW5nIGEgYmV0dGVyIHdvcmQgY2hvaWNlLgBzZWdzZWFyY2hfbWF4X2NoYXJfd2hfcmF0aW8ATWF4aW11bSBjaGFyYWN0ZXIgd2lkdGgtdG8taGVpZ2h0IHJhdGlvAHNhdmVfYWx0X2Nob2ljZXMAU2F2ZSBhbHRlcm5hdGl2ZSBwYXRocyBmb3VuZCBkdXJpbmcgY2hvcHBpbmcgYW5kIHNlZ21lbnRhdGlvbiBzZWFyY2gAbGFuZ3VhZ2VfbW9kZWxfZGVidWdfbGV2ZWwATGFuZ3VhZ2UgbW9kZWwgZGVidWcgbGV2ZWwAbGFuZ3VhZ2VfbW9kZWxfbmdyYW1fb24AVHVybiBvbi9vZmYgdGhlIHVzZSBvZiBjaGFyYWN0ZXIgbmdyYW0gbW9kZWwAbGFuZ3VhZ2VfbW9kZWxfbmdyYW1fb3JkZXIATWF4aW11bSBvcmRlciBvZiB0aGUgY2hhcmFjdGVyIG5ncmFtIG1vZGVsAGxhbmd1YWdlX21vZGVsX3ZpdGVyYmlfbGlzdF9tYXhfbnVtX3BydW5hYmxlAE1heGltdW0gbnVtYmVyIG9mIHBydW5hYmxlICh0aG9zZSBmb3Igd2hpY2ggUHJ1bmFibGVQYXRoKCkgaXMgdHJ1ZSkgZW50cmllcyBpbiBlYWNoIHZpdGVyYmkgbGlzdCByZWNvcmRlZCBpbiBCTE9CX0NIT0lDRXMAbGFuZ3VhZ2VfbW9kZWxfdml0ZXJiaV9saXN0X21heF9zaXplAE1heGltdW0gc2l6ZSBvZiB2aXRlcmJpIGxpc3RzIHJlY29yZGVkIGluIEJMT0JfQ0hPSUNFcwBsYW5ndWFnZV9tb2RlbF9uZ3JhbV9zbWFsbF9wcm9iAFRvIGF2b2lkIG92ZXJseSBzbWFsbCBkZW5vbWluYXRvcnMgdXNlIHRoaXMgYXMgdGhlIGZsb29yIG9mIHRoZSBwcm9iYWJpbGl0eSByZXR1cm5lZCBieSB0aGUgbmdyYW0gbW9kZWwuAGxhbmd1YWdlX21vZGVsX25ncmFtX25vbm1hdGNoX3Njb3JlAEF2ZXJhZ2UgY2xhc3NpZmllciBzY29yZSBvZiBhIG5vbi1tYXRjaGluZyB1bmljaGFyLgBsYW5ndWFnZV9tb2RlbF9uZ3JhbV91c2Vfb25seV9maXJzdF91ZnQ4X3N0ZXAAVXNlIG9ubHkgdGhlIGZpcnN0IFVURjggc3RlcCBvZiB0aGUgZ2l2ZW4gc3RyaW5nIHdoZW4gY29tcHV0aW5nIGxvZyBwcm9iYWJpbGl0aWVzLgBsYW5ndWFnZV9tb2RlbF9uZ3JhbV9zY2FsZV9mYWN0b3IAU3RyZW5ndGggb2YgdGhlIGNoYXJhY3RlciBuZ3JhbSBtb2RlbCByZWxhdGl2ZSB0byB0aGUgY2hhcmFjdGVyIGNsYXNzaWZpZXIgAGxhbmd1YWdlX21vZGVsX25ncmFtX3JhdGluZ19mYWN0b3IARmFjdG9yIHRvIGJyaW5nIGxvZy1wcm9icyBpbnRvIHRoZSBzYW1lIHJhbmdlIGFzIHJhdGluZ3Mgd2hlbiBtdWx0aXBsaWVkIGJ5IG91dGxpbmUgbGVuZ3RoIABsYW5ndWFnZV9tb2RlbF9uZ3JhbV9zcGFjZV9kZWxpbWl0ZWRfbGFuZ3VhZ2UAV29yZHMgYXJlIGRlbGltaXRlZCBieSBzcGFjZQBsYW5ndWFnZV9tb2RlbF9taW5fY29tcG91bmRfbGVuZ3RoAE1pbmltdW0gbGVuZ3RoIG9mIGNvbXBvdW5kIHdvcmRzAGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfbm9uX2ZyZXFfZGljdF93b3JkAFBlbmFsdHkgZm9yIHdvcmRzIG5vdCBpbiB0aGUgZnJlcXVlbnQgd29yZCBkaWN0aW9uYXJ5AGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfbm9uX2RpY3Rfd29yZABQZW5hbHR5IGZvciBub24tZGljdGlvbmFyeSB3b3JkcwBsYW5ndWFnZV9tb2RlbF9wZW5hbHR5X3B1bmMAUGVuYWx0eSBmb3IgaW5jb25zaXN0ZW50IHB1bmN0dWF0aW9uAGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfY2FzZQBQZW5hbHR5IGZvciBpbmNvbnNpc3RlbnQgY2FzZQBsYW5ndWFnZV9tb2RlbF9wZW5hbHR5X3NjcmlwdABQZW5hbHR5IGZvciBpbmNvbnNpc3RlbnQgc2NyaXB0AGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfY2hhcnR5cGUAUGVuYWx0eSBmb3IgaW5jb25zaXN0ZW50IGNoYXJhY3RlciB0eXBlAGxhbmd1YWdlX21vZGVsX3BlbmFsdHlfZm9udABQZW5hbHR5IGZvciBpbmNvbnNpc3RlbnQgZm9udABsYW5ndWFnZV9tb2RlbF9wZW5hbHR5X3NwYWNpbmcAUGVuYWx0eSBmb3IgaW5jb25zaXN0ZW50IHNwYWNpbmcAbGFuZ3VhZ2VfbW9kZWxfcGVuYWx0eV9pbmNyZW1lbnQAUGVuYWx0eSBpbmNyZW1lbnQAd29yZHJlY19kaXNwbGF5X3NlZ21lbnRhdGlvbnMARGlzcGxheSBTZWdtZW50YXRpb25zAGxhbmd1YWdlX21vZGVsX3VzZV9zaWdtb2lkYWxfY2VydGFpbnR5AFVzZSBzaWdtb2lkYWwgc2NvcmUgZm9yIGNlcnRhaW50eQBkaWN0XyAhPSBudWxscHRyAGFsbG93X2Jsb2JfZGl2aXNpb24AVXNlIGRpdmlzaWJsZSBibG9icyBjaG9wcGluZwBwcmlvcml0aXplX2RpdmlzaW9uAFByaW9yaXRpemUgYmxvYiBkaXZpc2lvbiBvdmVyIGNob3BwaW5nAHRlc3NlZGl0X3NpbmdsZV9tYXRjaABUb3AgY2hvaWNlIG9ubHkgZnJvbSBDUABFbmFibGUgYWRhcHRpdmUgY2xhc3NpZmllcgBjbGFzc2lmeV9kZWJ1Z19sZXZlbABDbGFzc2lmeSBkZWJ1ZyBsZXZlbABjbGFzc2lmeV9ub3JtX21ldGhvZABOb3JtYWxpemF0aW9uIE1ldGhvZCAgIC4uLgBjbGFzc2lmeV9jaGFyX25vcm1fcmFuZ2UAQ2hhcmFjdGVyIE5vcm1hbGl6YXRpb24gUmFuZ2UgLi4uAGNsYXNzaWZ5X21pbl9ub3JtX3NjYWxlX3gATWluIGNoYXIgeC1ub3JtIHNjYWxlIC4uLgBjbGFzc2lmeV9tYXhfbm9ybV9zY2FsZV94AE1heCBjaGFyIHgtbm9ybSBzY2FsZSAuLi4AY2xhc3NpZnlfbWluX25vcm1fc2NhbGVfeQBNaW4gY2hhciB5LW5vcm0gc2NhbGUgLi4uAGNsYXNzaWZ5X21heF9ub3JtX3NjYWxlX3kATWF4IGNoYXIgeS1ub3JtIHNjYWxlIC4uLgBjbGFzc2lmeV9tYXhfcmF0aW5nX3JhdGlvAFZldG8gcmF0aW8gYmV0d2VlbiBjbGFzc2lmaWVyIHJhdGluZ3MAY2xhc3NpZnlfbWF4X2NlcnRhaW50eV9tYXJnaW4AVmV0byBkaWZmZXJlbmNlIGJldHdlZW4gY2xhc3NpZmllciBjZXJ0YWludGllcwB0ZXNzX2NuX21hdGNoaW5nAENoYXJhY3RlciBOb3JtYWxpemVkIE1hdGNoaW5nAHRlc3NfYm5fbWF0Y2hpbmcAQmFzZWxpbmUgTm9ybWFsaXplZCBNYXRjaGluZwBjbGFzc2lmeV9lbmFibGVfYWRhcHRpdmVfbWF0Y2hlcgBjbGFzc2lmeV91c2VfcHJlX2FkYXB0ZWRfdGVtcGxhdGVzAFVzZSBwcmUtYWRhcHRlZCBjbGFzc2lmaWVyIHRlbXBsYXRlcwBjbGFzc2lmeV9zYXZlX2FkYXB0ZWRfdGVtcGxhdGVzAFNhdmUgYWRhcHRlZCB0ZW1wbGF0ZXMgdG8gYSBmaWxlAGNsYXNzaWZ5X2VuYWJsZV9hZGFwdGl2ZV9kZWJ1Z2dlcgBFbmFibGUgbWF0Y2ggZGVidWdnZXIAY2xhc3NpZnlfbm9ubGluZWFyX25vcm0ATm9uLWxpbmVhciBzdHJva2UtZGVuc2l0eSBub3JtYWxpemF0aW9uAG1hdGNoZXJfZGVidWdfbGV2ZWwATWF0Y2hlciBEZWJ1ZyBMZXZlbABtYXRjaGVyX2RlYnVnX2ZsYWdzAE1hdGNoZXIgRGVidWcgRmxhZ3MAY2xhc3NpZnlfbGVhcm5pbmdfZGVidWdfbGV2ZWwATGVhcm5pbmcgRGVidWcgTGV2ZWw6IABtYXRjaGVyX2dvb2RfdGhyZXNob2xkAEdvb2QgTWF0Y2ggKDAtMSkAbWF0Y2hlcl9yZWxpYWJsZV9hZGFwdGl2ZV9yZXN1bHQAR3JlYXQgTWF0Y2ggKDAtMSkAbWF0Y2hlcl9wZXJmZWN0X3RocmVzaG9sZABQZXJmZWN0IE1hdGNoICgwLTEpAG1hdGNoZXJfYmFkX21hdGNoX3BhZABCYWQgTWF0Y2ggUGFkICgwLTEpAG1hdGNoZXJfcmF0aW5nX21hcmdpbgBOZXcgdGVtcGxhdGUgbWFyZ2luICgwLTEpAG1hdGNoZXJfYXZnX25vaXNlX3NpemUAQXZnLiBub2lzZSBibG9iIGxlbmd0aABtYXRjaGVyX3Blcm1hbmVudF9jbGFzc2VzX21pbgBNaW4gIyBvZiBwZXJtYW5lbnQgY2xhc3NlcwBtYXRjaGVyX21pbl9leGFtcGxlc19mb3JfcHJvdG90eXBpbmcAUmVsaWFibGUgQ29uZmlnIFRocmVzaG9sZABtYXRjaGVyX3N1ZmZpY2llbnRfZXhhbXBsZXNfZm9yX3Byb3RvdHlwaW5nAEVuYWJsZSBhZGFwdGlvbiBldmVuIGlmIHRoZSBhbWJpZ3VpdGllcyBoYXZlIG5vdCBiZWVuIHNlZW4AbWF0Y2hlcl9jbHVzdGVyaW5nX21heF9hbmdsZV9kZWx0YQBNYXhpbXVtIGFuZ2xlIGRlbHRhIGZvciBwcm90b3R5cGUgY2x1c3RlcmluZwBjbGFzc2lmeV9taXNmaXRfanVua19wZW5hbHR5AFBlbmFsdHkgdG8gYXBwbHkgd2hlbiBhIG5vbi1hbG51bSBpcyB2ZXJ0aWNhbGx5IG91dCBvZiBpdHMgZXhwZWN0ZWQgdGV4dGxpbmUgcG9zaXRpb24AcmF0aW5nX3NjYWxlAFJhdGluZyBzY2FsaW5nIGZhY3RvcgBjZXJ0YWludHlfc2NhbGUAQ2VydGFpbnR5IHNjYWxpbmcgZmFjdG9yAHRlc3NlZGl0X2NsYXNzX21pc3Nfc2NhbGUAU2NhbGUgZmFjdG9yIGZvciBmZWF0dXJlcyBub3QgdXNlZABjbGFzc2lmeV9hZGFwdGVkX3BydW5pbmdfZmFjdG9yAFBydW5lIHBvb3IgYWRhcHRlZCByZXN1bHRzIHRoaXMgbXVjaCB3b3JzZSB0aGFuIGJlc3QgcmVzdWx0AGNsYXNzaWZ5X2FkYXB0ZWRfcHJ1bmluZ190aHJlc2hvbGQAVGhyZXNob2xkIGF0IHdoaWNoIGNsYXNzaWZ5X2FkYXB0ZWRfcHJ1bmluZ19mYWN0b3Igc3RhcnRzAGNsYXNzaWZ5X2FkYXB0X3Byb3RvX3RocmVzaG9sZABUaHJlc2hvbGQgZm9yIGdvb2QgcHJvdG9zIGR1cmluZyBhZGFwdGl2ZSAwLTI1NQBjbGFzc2lmeV9hZGFwdF9mZWF0dXJlX3RocmVzaG9sZABUaHJlc2hvbGQgZm9yIGdvb2QgZmVhdHVyZXMgZHVyaW5nIGFkYXB0aXZlIDAtMjU1AGRpc2FibGVfY2hhcmFjdGVyX2ZyYWdtZW50cwBEbyBub3QgaW5jbHVkZSBjaGFyYWN0ZXIgZnJhZ21lbnRzIGluIHRoZSByZXN1bHRzIG9mIHRoZSBjbGFzc2lmaWVyAGNsYXNzaWZ5X2NoYXJhY3Rlcl9mcmFnbWVudHNfZ2FyYmFnZV9jZXJ0YWludHlfdGhyZXNob2xkAEV4Y2x1ZGUgZnJhZ21lbnRzIHRoYXQgZG8gbm90IGxvb2sgbGlrZSB3aG9sZSBjaGFyYWN0ZXJzIGZyb20gdHJhaW5pbmcgYW5kIGFkYXB0aW9uAGNsYXNzaWZ5X2RlYnVnX2NoYXJhY3Rlcl9mcmFnbWVudHMAQnJpbmcgdXAgZ3JhcGhpY2FsIGRlYnVnZ2luZyB3aW5kb3dzIGZvciBmcmFnbWVudHMgdHJhaW5pbmcAbWF0Y2hlcl9kZWJ1Z19zZXBhcmF0ZV93aW5kb3dzAFVzZSB0d28gZGlmZmVyZW50IHdpbmRvd3MgZm9yIGRlYnVnZ2luZyB0aGUgbWF0Y2hpbmc6IE9uZSBmb3IgdGhlIHByb3RvcyBhbmQgb25lIGZvciB0aGUgZmVhdHVyZXMuAGNsYXNzaWZ5X2xlYXJuX2RlYnVnX3N0cgBDbGFzcyBzdHIgdG8gZGVidWcgbGVhcm5pbmcAY2xhc3NpZnlfY2xhc3NfcHJ1bmVyX3RocmVzaG9sZABDbGFzcyBQcnVuZXIgVGhyZXNob2xkIDAtMjU1AGNsYXNzaWZ5X2NsYXNzX3BydW5lcl9tdWx0aXBsaWVyAENsYXNzIFBydW5lciBNdWx0aXBsaWVyIDAtMjU1OiAgICAgICAAY2xhc3NpZnlfY3BfY3V0b2ZmX3N0cmVuZ3RoAENsYXNzIFBydW5lciBDdXRvZmZTdHJlbmd0aDogICAgICAgICAAY2xhc3NpZnlfaW50ZWdlcl9tYXRjaGVyX211bHRpcGxpZXIASW50ZWdlciBNYXRjaGVyIE11bHRpcGxpZXIgIDAtMjU1OiAgIABpbDFfYWRhcHRpb25fdGVzdABEb24ndCBhZGFwdCB0byBpL0kgYXQgYmVnaW5uaW5nIG9mIHdvcmQAY2xhc3NpZnlfYmxuX251bWVyaWNfbW9kZQBBc3N1bWUgdGhlIGlucHV0IGlzIG51bWJlcnMgWzAtOV0uAHNwZWNrbGVfbGFyZ2VfbWF4X3NpemUATWF4IGxhcmdlIHNwZWNrbGUgc2l6ZQBzcGVja2xlX3JhdGluZ19wZW5hbHR5AFBlbmFsdHkgdG8gYWRkIHRvIHdvcnN0IHJhdGluZyBmb3Igbm9pc2UAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8xSUxiMEV2Tjl0ZXNzZXJhY3Q3Rm9udFNldEVFADEzVGVzc0NhbGxiYWNrMUlOOXRlc3NlcmFjdDdGb250U2V0RUUAMzFfVGVzc0Z1bmN0aW9uUmVzdWx0Q2FsbGJhY2tfMF8ySUxiMEViUktOOXRlc3NlcmFjdDdGb250U2V0RVMzX0UAMTlUZXNzUmVzdWx0Q2FsbGJhY2sySWJSS045dGVzc2VyYWN0N0ZvbnRTZXRFUzNfRQAzMV9UZXNzRnVuY3Rpb25SZXN1bHRDYWxsYmFja18wXzFJTGIwRXZOOXRlc3NlcmFjdDhGb250SW5mb0VFADEzVGVzc0NhbGxiYWNrMUlOOXRlc3NlcmFjdDhGb250SW5mb0VFAGhvY3JfZm9udF9pbmZvACAgPGRpdiBjbGFzcz0nb2NyX3BhZ2UnAHBhZ2UAIHRpdGxlPSdpbWFnZSAiAHVua25vd24AIjsgYmJveCAAOyBwcGFnZW5vIAAnPgoAICAgPGRpdiBjbGFzcz0nb2NyX2NhcmVhJwBibG9jawAKICAgIDxwIGNsYXNzPSdvY3JfcGFyJwAgZGlyPSdydGwnAHBhcgAgbGFuZz0nACcACiAgICAgPHNwYW4gY2xhc3M9J29jcl9saW5lJwBsaW5lAAogICAgICA8c3BhbiBjbGFzcz0nb2NyeF93b3JkJwB3b3JkACB0aXRsZT0nYmJveCAAOyB4X3djb25mIAA7IHhfZm9udCAAOyB4X2ZzaXplIAAgZGlyPSdsdHInADxzdHJvbmc+ADxlbT4APC9lbT4APC9zdHJvbmc+AAogICAgICAgPHNwYW4gY2xhc3M9J29jcnhfY2luZm8nAHRpbWVzdGVwADwvc3Bhbj4APHNwYW4gY2xhc3M9J29jcl9nbHlwaCcAY2hvaWNlACB0aXRsZT0neF9jb25mcyAAbHN0bV9jaG9pY2VzACBjaG9zZW49JwAnPgAKICAgICA8L3NwYW4+AAogICAgPC9wPgoAICAgPC9kaXY+CgAgIDwvZGl2PgoAJXNfJWRfJWRfJWQAIGlkPScAYmVzdF9jaG9pY2UgIT0gbnVsbHB0cgAvc3JjL3NyYy9jY21haW4vbHRycmVzdWx0aXRlcmF0b3IuY3BwACB0aXRsZT0iYmJveCAAOyB4X3NpemUgADsgeF9kZXNjZW5kZXJzIAA7IHhfYXNjZW5kZXJzIAAiPgA7IHRleHRhbmdsZSAAOyBiYXNlbGluZSAAJmx0OwAmZ3Q7ACZhbXA7ACZxdW90OwAmIzM5OwAlc18lZF8lZAAlc18lZAAxCQAJAAktMQkKADIJADMJADQJADUJACVzICVkICVkICVkICVkICVkCgBQYWdlIG51bWJlcjogJWQKT3JpZW50YXRpb24gaW4gZGVncmVlczogJWQKUm90YXRlOiAlZApPcmllbnRhdGlvbiBjb25maWRlbmNlOiAlLjJmClNjcmlwdDogJXMKU2NyaXB0IGNvbmZpZGVuY2U6ICUuMmYKAENvbW1vbgBOVUxMAHRlc3MtPnBpeF9iaW5hcnkoKSAhPSBudWxscHRyAC9zcmMvc3JjL2NjbWFpbi9vc2RldGVjdC5jcHAAcGl4ICE9IG51bGxwdHIAV2FybmluZy4gSW52YWxpZCByZXNvbHV0aW9uICVkIGRwaS4gVXNpbmcgJWQgaW5zdGVhZC4KACVsZCAwIG9iago8PAogIC9UeXBlIC9QYWdlcwogIC9LaWRzIFsgACVsZCAwIFIgAF0KICAvQ291bnQgJWQKPj4KZW5kb2JqCgBGRUZGACVsZCAwIG9iago8PAogIC9Qcm9kdWNlciAoVGVzc2VyYWN0ICVzKQogIC9DcmVhdGlvbkRhdGUgKEQ6JXMpCiAgL1RpdGxlIDwlcz4KPj4KZW5kb2JqCgB4cmVmCjAgJWxkCjAwMDAwMDAwMDAgNjU1MzUgZiAKACUwMTBsZCAwMDAwMCBuIAoAdHJhaWxlcgo8PAogIC9TaXplICVsZAogIC9Sb290ICVsZCAwIFIKICAvSW5mbyAlbGQgMCBSCj4+CnN0YXJ0eHJlZgolbGQKJSUlJUVPRgoANC4wLjAARHJvcHBpbmcgaW52YWxpZCBjb2RlcG9pbnQgJWQKACUwNFgAJTA0WCUwNFgAaXRfICE9IG51bGxwdHIAaW4gZmlsZSAlcywgbGluZSAlZAAvc3JjL3NyYy9jY3V0aWwvdW5pY2hhci5jcHAARVJST1I6IElsbGVnYWwgVVRGOCBlbmNvdW50ZXJlZC4KAEluZGV4ICVkIGNoYXIgPSAweCV4CgBBc3NlcnQgZmFpbGVkAFdBUk5JTkc6IElsbGVnYWwgVVRGOCBlbmNvdW50ZXJlZAoAMCA8PSBzaXplX3VzZWRfAHVuc2lnbmVkX3NpemUAc2l6ZV91c2VkXyA+IDAAYmFjawAvWE9iamVjdCA8PCAvSW0xICVsZCAwIFIgPj4KACVsZCAwIG9iago8PAogIC9UeXBlIC9QYWdlCiAgL1BhcmVudCAlbGQgMCBSCiAgL01lZGlhQm94IFswIDAgJS4yZiAlLjJmXQogIC9Db250ZW50cyAlbGQgMCBSCiAgL1Jlc291cmNlcwogIDw8CiAgICAlcyAgICAvUHJvY1NldCBbIC9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VJIC9JbWFnZUMgXQogICAgL0ZvbnQgPDwgL2YtMC0wICVsZCAwIFIgPj4KICA+Pgo+PgplbmRvYmoKACVsZCAwIG9iago8PAogIC9MZW5ndGggJWxkIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQoAZW5kc3RyZWFtCmVuZG9iagoAanBnX3F1YWxpdHkAL0pQWERlY29kZQAvQ0NJVFRGYXhEZWNvZGUAL0RDVERlY29kZQAvRmxhdGVEZWNvZGUAICAgIC9LIC0xCgAgIC9Db2xvclNwYWNlIFsgL0luZGV4ZWQgL0RldmljZVJHQiAlZCAlcyBdCgAgIC9Db2xvclNwYWNlIC9EZXZpY2VSR0IKACAgL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKACVsZCAwIG9iago8PAogIC9MZW5ndGggJWxkCiAgL1N1YnR5cGUgL0ltYWdlCgAgIC9XaWR0aCAlZAogIC9IZWlnaHQgJWQKICAvQml0c1BlckNvbXBvbmVudCAlZAogIC9GaWx0ZXIgJXMKICAvRGVjb2RlUGFybXMKICA8PAogICAgL1ByZWRpY3RvciAlZAogICAgL0NvbG9ycyAlZAolcyAgICAvQ29sdW1ucyAlZAogICAgL0JpdHNQZXJDb21wb25lbnQgJWQKICA+Pgo+PgpzdHJlYW0KAHEgACAwIDAgACAwIDAgY20AIC9JbTEgRG8AIFEKAEJUCjMgVHIAIFRtIAAgVGQgAC9mLTAtMCAlZCBUZiAAIFR6ACBbIDwAPiBdIFRKACAKAEVUCgAlJVBERi0xLjUKJSUlYyVjJWMlYwoAMSAwIG9iago8PAogIC9UeXBlIC9DYXRhbG9nCiAgL1BhZ2VzICVsZCAwIFIKPj4KZW5kb2JqCgAzIDAgb2JqCjw8CiAgL0Jhc2VGb250IC9HbHlwaExlc3NGb250CiAgL0Rlc2NlbmRhbnRGb250cyBbICVsZCAwIFIgXQogIC9FbmNvZGluZyAvSWRlbnRpdHktSAogIC9TdWJ0eXBlIC9UeXBlMAogIC9Ub1VuaWNvZGUgJWxkIDAgUgogIC9UeXBlIC9Gb250Cj4+CmVuZG9iagoANCAwIG9iago8PAogIC9CYXNlRm9udCAvR2x5cGhMZXNzRm9udAogIC9DSURUb0dJRE1hcCAlbGQgMCBSCiAgL0NJRFN5c3RlbUluZm8KICA8PAogICAgIC9PcmRlcmluZyAoSWRlbnRpdHkpCiAgICAgL1JlZ2lzdHJ5IChBZG9iZSkKICAgICAvU3VwcGxlbWVudCAwCiAgPj4KICAvRm9udERlc2NyaXB0b3IgJWxkIDAgUgogIC9TdWJ0eXBlIC9DSURGb250VHlwZTIKICAvVHlwZSAvRm9udAogIC9EVyAlZAo+PgplbmRvYmoKADUgMCBvYmoKPDwKICAvTGVuZ3RoICVsdSAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KADYgMCBvYmoKPDwgL0xlbmd0aCAlbHUgPj4Kc3RyZWFtCiVzZW5kc3RyZWFtCmVuZG9iagoAL0NJREluaXQgL1Byb2NTZXQgZmluZHJlc291cmNlIGJlZ2luCjEyIGRpY3QgYmVnaW4KYmVnaW5jbWFwCi9DSURTeXN0ZW1JbmZvCjw8CiAgL1JlZ2lzdHJ5IChBZG9iZSkKICAvT3JkZXJpbmcgKFVDUykKICAvU3VwcGxlbWVudCAwCj4+IGRlZgovQ01hcE5hbWUgL0Fkb2JlLUlkZW50aWZ5LVVDUyBkZWYKL0NNYXBUeXBlIDIgZGVmCjEgYmVnaW5jb2Rlc3BhY2VyYW5nZQo8MDAwMD4gPEZGRkY+CmVuZGNvZGVzcGFjZXJhbmdlCjEgYmVnaW5iZnJhbmdlCjwwMDAwPiA8RkZGRj4gPDAwMDA+CmVuZGJmcmFuZ2UKZW5kY21hcApDTWFwTmFtZSBjdXJyZW50ZGljdCAvQ01hcCBkZWZpbmVyZXNvdXJjZSBwb3AKZW5kCmVuZAoANyAwIG9iago8PAogIC9Bc2NlbnQgJWQKICAvQ2FwSGVpZ2h0ICVkCiAgL0Rlc2NlbnQgLTEKICAvRmxhZ3MgNQogIC9Gb250QkJveCAgWyAwIDAgJWQgJWQgXQogIC9Gb250RmlsZTIgJWxkIDAgUgogIC9Gb250TmFtZSAvR2x5cGhMZXNzRm9udAogIC9JdGFsaWNBbmdsZSAwCiAgL1N0ZW1WIDgwCiAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yCj4+CmVuZG9iagoAJXMvcGRmLnR0ZgBDYW4gbm90IG9wZW4gZmlsZSAiJXMiIQoAOCAwIG9iago8PAogIC9MZW5ndGggJWxkCiAgL0xlbmd0aDEgJWxkCj4+CnN0cmVhbQoATjl0ZXNzZXJhY3QxNVRlc3NQREZSZW5kZXJlckUAaXRfLT53b3JkKCktPnVjaF9zZXQgIT0gbnVsbHB0cgByZXN1bHRfaXQuaXRfLT53b3JkKCkgIT0gTlVMTAByZXN1bHRfaXQuaXRfLT53b3JkKCkgIT0gbnVsbHB0cgBPcmllbnRhdGlvbiBpZCAjJWQAJTEycwk6ICVmCgBDYW5ub3QgY29udmVydCBSQVcgaW1hZ2UgdG8gUGl4IHdpdGggYnBwID0gJWQKAC50cgBDYXRjaFNpZ25hbHMgaGFzIG5vIG5vbi1saW51eCBpbXBsZW1lbnRhdGlvbiEKAGVuZwBQbGVhc2UgY2FsbCBJbml0IGJlZm9yZSBhdHRlbXB0aW5nIHRvIHNldCBhbiBpbWFnZS4KAFBsZWFzZSBjYWxsIFNldEltYWdlIGJlZm9yZSBTZXRTb3VyY2VSZXNvbHV0aW9uLgoAMzRfQ29uc3RUZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfNV8wSUxiMEViTjl0ZXNzZXJhY3QxMlBhZ2VJdGVyYXRvckVOUzBfMTdQYWdlSXRlcmF0b3JMZXZlbEVQaVMzX1MzX1MzX0UAMThUZXNzUmVzdWx0Q2FsbGJhY2tJYkUAMzRfQ29uc3RUZXNzTWVtYmVyUmVzdWx0Q2FsbGJhY2tfNl8wSUxiMEViTjl0ZXNzZXJhY3QxMlBhZ2VJdGVyYXRvckVOUzBfMTdQYWdlSXRlcmF0b3JMZXZlbEVpUGlTM19TM19TM19FAEltYWdlIGZpbGUgJXMgY2Fubm90IGJlIHJlYWQhCgBQYWdlICVkIDogJXMKAHRlc3NpbnB1dC50aWYARXJyb3IsIGZhaWxlZCB0byBvcGVuIGZpbGUgIiVzIgoAUGFnZSAlZAoAYXBwbHlib3hfcGFnZQBXcml0ZSBvZiBUUiBmaWxlIGZhaWxlZDogJXMKAEVycm9yLCBjYW5ub3QgcmVhZCBpbnB1dCBmaWxlICVzOiAlcwoATlN0M19fMjEzYmFzaWNfZmlsZWJ1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTRiYXNpY19pZnN0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBhcHBseWJveF9kZWJ1ZwBjbGFzc2lmeV9lbmFibGVfbGVhcm5pbmcAMABUcnlpbmcgdG8gYWRhcHQgIiVzIiB0byAiJXMiCgBpbmRleCA+PSAwICYmIGluZGV4IDwgc2l6ZV91c2VkXwAvc3JjL3NyYy9jY3V0aWwvZ2VuZXJpY3ZlY3Rvci5oAHJlbW92ZQBzdGRvdXQAd2IAcGRmAP////8AAAD/Qm9ndXMgbWVzc2FnZSBjb2RlICVkAEFMSUdOX1RZUEUgaXMgd3JvbmcsIHBsZWFzZSBmaXgATUFYX0FMTE9DX0NIVU5LIGlzIHdyb25nLCBwbGVhc2UgZml4AEJvZ3VzIGJ1ZmZlciBjb250cm9sIG1vZGUASW52YWxpZCBjb21wb25lbnQgSUQgJWQgaW4gU09TAEludmFsaWQgY3JvcCByZXF1ZXN0AERDVCBjb2VmZmljaWVudCBvdXQgb2YgcmFuZ2UARENUIHNjYWxlZCBibG9jayBzaXplICVkeCVkIG5vdCBzdXBwb3J0ZWQAQ29tcG9uZW50IGluZGV4ICVkOiBtaXNtYXRjaGluZyBzYW1wbGluZyByYXRpbyAlZDolZCwgJWQ6JWQsICVjAEJvZ3VzIEh1ZmZtYW4gdGFibGUgZGVmaW5pdGlvbgBCb2d1cyBpbnB1dCBjb2xvcnNwYWNlAEJvZ3VzIEpQRUcgY29sb3JzcGFjZQBCb2d1cyBtYXJrZXIgbGVuZ3RoAFdyb25nIEpQRUcgbGlicmFyeSB2ZXJzaW9uOiBsaWJyYXJ5IGlzICVkLCBjYWxsZXIgZXhwZWN0cyAlZABTYW1wbGluZyBmYWN0b3JzIHRvbyBsYXJnZSBmb3IgaW50ZXJsZWF2ZWQgc2NhbgBJbnZhbGlkIG1lbW9yeSBwb29sIGNvZGUgJWQAVW5zdXBwb3J0ZWQgSlBFRyBkYXRhIHByZWNpc2lvbiAlZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgU3M9JWQgU2U9JWQgQWg9JWQgQWw9JWQASW52YWxpZCBwcm9ncmVzc2l2ZSBwYXJhbWV0ZXJzIGF0IHNjYW4gc2NyaXB0IGVudHJ5ICVkAEJvZ3VzIHNhbXBsaW5nIGZhY3RvcnMASW52YWxpZCBzY2FuIHNjcmlwdCBhdCBlbnRyeSAlZABJbXByb3BlciBjYWxsIHRvIEpQRUcgbGlicmFyeSBpbiBzdGF0ZSAlZABKUEVHIHBhcmFtZXRlciBzdHJ1Y3QgbWlzbWF0Y2g6IGxpYnJhcnkgdGhpbmtzIHNpemUgaXMgJXUsIGNhbGxlciBleHBlY3RzICV1AEJvZ3VzIHZpcnR1YWwgYXJyYXkgYWNjZXNzAEJ1ZmZlciBwYXNzZWQgdG8gSlBFRyBsaWJyYXJ5IGlzIHRvbyBzbWFsbABTdXNwZW5zaW9uIG5vdCBhbGxvd2VkIGhlcmUAQ0NJUjYwMSBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AFRvbyBtYW55IGNvbG9yIGNvbXBvbmVudHM6ICVkLCBtYXggJWQAVW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbiByZXF1ZXN0AEJvZ3VzIERBQyBpbmRleCAlZABCb2d1cyBEQUMgdmFsdWUgMHgleABCb2d1cyBESFQgaW5kZXggJWQAQm9ndXMgRFFUIGluZGV4ICVkAEVtcHR5IEpQRUcgaW1hZ2UgKEROTCBub3Qgc3VwcG9ydGVkKQBSZWFkIGZyb20gRU1TIGZhaWxlZABXcml0ZSB0byBFTVMgZmFpbGVkAERpZG4ndCBleHBlY3QgbW9yZSB0aGFuIG9uZSBzY2FuAElucHV0IGZpbGUgcmVhZCBlcnJvcgBPdXRwdXQgZmlsZSB3cml0ZSBlcnJvciAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEZyYWN0aW9uYWwgc2FtcGxpbmcgbm90IGltcGxlbWVudGVkIHlldABIdWZmbWFuIGNvZGUgc2l6ZSB0YWJsZSBvdmVyZmxvdwBNaXNzaW5nIEh1ZmZtYW4gY29kZSB0YWJsZSBlbnRyeQBNYXhpbXVtIHN1cHBvcnRlZCBpbWFnZSBkaW1lbnNpb24gaXMgJXUgcGl4ZWxzAEVtcHR5IGlucHV0IGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBpbnB1dCBmaWxlAENhbm5vdCB0cmFuc2NvZGUgZHVlIHRvIG11bHRpcGxlIHVzZSBvZiBxdWFudGl6YXRpb24gdGFibGUgJWQAU2NhbiBzY3JpcHQgZG9lcyBub3QgdHJhbnNtaXQgYWxsIGRhdGEASW52YWxpZCBjb2xvciBxdWFudGl6YXRpb24gbW9kZSBjaGFuZ2UATm90IGltcGxlbWVudGVkIHlldABSZXF1ZXN0ZWQgZmVhdHVyZSB3YXMgb21pdHRlZCBhdCBjb21waWxlIHRpbWUAQXJpdGhtZXRpYyB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAEJhY2tpbmcgc3RvcmUgbm90IHN1cHBvcnRlZABIdWZmbWFuIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQASlBFRyBkYXRhc3RyZWFtIGNvbnRhaW5zIG5vIGltYWdlAFF1YW50aXphdGlvbiB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAE5vdCBhIEpQRUcgZmlsZTogc3RhcnRzIHdpdGggMHglMDJ4IDB4JTAyeABJbnN1ZmZpY2llbnQgbWVtb3J5IChjYXNlICVkKQBDYW5ub3QgcXVhbnRpemUgbW9yZSB0aGFuICVkIGNvbG9yIGNvbXBvbmVudHMAQ2Fubm90IHF1YW50aXplIHRvIGZld2VyIHRoYW4gJWQgY29sb3JzAENhbm5vdCBxdWFudGl6ZSB0byBtb3JlIHRoYW4gJWQgY29sb3JzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogU09TIGJlZm9yZSBTT0YARmFpbGVkIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSAlcwBSZWFkIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZQBTZWVrIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZQBXcml0ZSBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUgLS0tIG91dCBvZiBkaXNrIHNwYWNlPwBBcHBsaWNhdGlvbiB0cmFuc2ZlcnJlZCB0b28gZmV3IHNjYW5saW5lcwBVbnN1cHBvcnRlZCBtYXJrZXIgdHlwZSAweCUwMngAVmlydHVhbCBhcnJheSBjb250cm9sbGVyIG1lc3NlZCB1cABJbWFnZSB0b28gd2lkZSBmb3IgdGhpcyBpbXBsZW1lbnRhdGlvbgBSZWFkIGZyb20gWE1TIGZhaWxlZABXcml0ZSB0byBYTVMgZmFpbGVkAENvcHlyaWdodCAoQykgMjAxMiwgVGhvbWFzIEcuIExhbmUsIEd1aWRvIFZvbGxiZWRpbmcAOGQgIDE1LUphbi0yMDEyAENhdXRpb246IHF1YW50aXphdGlvbiB0YWJsZXMgYXJlIHRvbyBjb2Fyc2UgZm9yIGJhc2VsaW5lIEpQRUcAQWRvYmUgQVBQMTQgbWFya2VyOiB2ZXJzaW9uICVkLCBmbGFncyAweCUwNHggMHglMDR4LCB0cmFuc2Zvcm0gJWQAVW5rbm93biBBUFAwIG1hcmtlciAobm90IEpGSUYpLCBsZW5ndGggJXUAVW5rbm93biBBUFAxNCBtYXJrZXIgKG5vdCBBZG9iZSksIGxlbmd0aCAldQBEZWZpbmUgQXJpdGhtZXRpYyBUYWJsZSAweCUwMng6IDB4JTAyeABEZWZpbmUgSHVmZm1hbiBUYWJsZSAweCUwMngARGVmaW5lIFF1YW50aXphdGlvbiBUYWJsZSAlZCAgcHJlY2lzaW9uICVkAERlZmluZSBSZXN0YXJ0IEludGVydmFsICV1AEZyZWVkIEVNUyBoYW5kbGUgJXUAT2J0YWluZWQgRU1TIGhhbmRsZSAldQBFbmQgT2YgSW1hZ2UAICAgICAgICAlM2QgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkAEpGSUYgQVBQMCBtYXJrZXI6IHZlcnNpb24gJWQuJTAyZCwgZGVuc2l0eSAlZHglZCAgJWQAV2FybmluZzogdGh1bWJuYWlsIGltYWdlIHNpemUgZG9lcyBub3QgbWF0Y2ggZGF0YSBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiB0eXBlIDB4JTAyeCwgbGVuZ3RoICV1ACAgICB3aXRoICVkIHggJWQgdGh1bWJuYWlsIGltYWdlAE1pc2NlbGxhbmVvdXMgbWFya2VyIDB4JTAyeCwgbGVuZ3RoICV1AFVuZXhwZWN0ZWQgbWFya2VyIDB4JTAyeAAgICAgICAgICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUAUXVhbnRpemluZyB0byAlZCA9ICVkKiVkKiVkIGNvbG9ycwBRdWFudGl6aW5nIHRvICVkIGNvbG9ycwBTZWxlY3RlZCAlZCBjb2xvcnMgZm9yIHF1YW50aXphdGlvbgBBdCBtYXJrZXIgMHglMDJ4LCByZWNvdmVyeSBhY3Rpb24gJWQAUlNUJWQAU21vb3RoaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBub25zdGFuZGFyZCBzYW1wbGluZyByYXRpb3MAU3RhcnQgT2YgRnJhbWUgMHglMDJ4OiB3aWR0aD0ldSwgaGVpZ2h0PSV1LCBjb21wb25lbnRzPSVkACAgICBDb21wb25lbnQgJWQ6ICVkaHglZHYgcT0lZABTdGFydCBvZiBJbWFnZQBTdGFydCBPZiBTY2FuOiAlZCBjb21wb25lbnRzACAgICBDb21wb25lbnQgJWQ6IGRjPSVkIGFjPSVkACAgU3M9JWQsIFNlPSVkLCBBaD0lZCwgQWw9JWQAQ2xvc2VkIHRlbXBvcmFyeSBmaWxlICVzAE9wZW5lZCB0ZW1wb3JhcnkgZmlsZSAlcwBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IEpQRUctY29tcHJlc3NlZCB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IHBhbGV0dGUgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBSR0IgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUAVW5yZWNvZ25pemVkIGNvbXBvbmVudCBJRHMgJWQgJWQgJWQsIGFzc3VtaW5nIFlDYkNyAEZyZWVkIFhNUyBoYW5kbGUgJXUAT2J0YWluZWQgWE1TIGhhbmRsZSAldQBVbmtub3duIEFkb2JlIGNvbG9yIHRyYW5zZm9ybSBjb2RlICVkAENvcnJ1cHQgSlBFRyBkYXRhOiBiYWQgYXJpdGhtZXRpYyBjb2RlAEluY29uc2lzdGVudCBwcm9ncmVzc2lvbiBzZXF1ZW5jZSBmb3IgY29tcG9uZW50ICVkIGNvZWZmaWNpZW50ICVkAENvcnJ1cHQgSlBFRyBkYXRhOiAldSBleHRyYW5lb3VzIGJ5dGVzIGJlZm9yZSBtYXJrZXIgMHglMDJ4AENvcnJ1cHQgSlBFRyBkYXRhOiBwcmVtYXR1cmUgZW5kIG9mIGRhdGEgc2VnbWVudABDb3JydXB0IEpQRUcgZGF0YTogYmFkIEh1ZmZtYW4gY29kZQBXYXJuaW5nOiB1bmtub3duIEpGSUYgcmV2aXNpb24gbnVtYmVyICVkLiUwMmQAUHJlbWF0dXJlIGVuZCBvZiBKUEVHIGZpbGUAQ29ycnVwdCBKUEVHIGRhdGE6IGZvdW5kIG1hcmtlciAweCUwMnggaW5zdGVhZCBvZiBSU1QlZABJbnZhbGlkIFNPUyBwYXJhbWV0ZXJzIGZvciBzZXF1ZW50aWFsIEpQRUcAQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIG1hbnkgc2NhbmxpbmVzACVzOiAAV2FybmluZywgAC4KAE5vbmUATFpXAFBhY2tCaXRzAFRodW5kZXJTY2FuAE5lWFQASlBFRwBPbGQtc3R5bGUgSlBFRwBDQ0lUVCBSTEUAQ0NJVFQgUkxFL1cAQ0NJVFQgR3JvdXAgMwBDQ0lUVCBHcm91cCA0AElTTyBKQklHAERlZmxhdGUAQWRvYmVEZWZsYXRlAFBpeGFyTG9nAFNHSUxvZwBTR0lMb2cyNABzY2hlbWUgPT0gQ09NUFJFU1NJT05fU0dJTE9HMjQgfHwgc2NoZW1lID09IENPTVBSRVNTSU9OX1NHSUxPRwB0aWZfbHV2LmMAVElGRkluaXRTR0lMb2cATWVyZ2luZyBTR0lMb2cgY29kZWMtc3BlY2lmaWMgdGFncyBmYWlsZWQAJXM6IE5vIHNwYWNlIGZvciBMb2dMdXYgc3RhdGUgYmxvY2sAVW5rbm93biBkYXRhIGZvcm1hdCAlZCBmb3IgTG9nTHV2IGNvbXByZXNzaW9uAFVua25vd24gZW5jb2RpbmcgJWQgZm9yIExvZ0x1diBjb21wcmVzc2lvbgBUSUZGU2NhbmxpbmVTaXplAFRJRkZWU3RyaXBTaXplAFRJRkZWVGlsZVNpemUASW52YWxpZCBZQ2JDciBzdWJzYW1wbGluZwBUSUZGVGlsZVJvd1NpemUASW50ZWdlciBvdmVyZmxvdyBpbiAlcwBwc2V1ZG8tAFRJRkZTZXRGaWVsZAAlczogVW5rbm93biAlc3RhZyAldQAlczogQ2Fubm90IG1vZGlmeSB0YWcgIiVzIiB3aGlsZSB3cml0aW5nAExvZ0x1dkNsZWFudXAAQ29tcHJlc3Npb24gYWxnb3JpdGhtIGRvZXMgbm90IHN1cHBvcnQgcmFuZG9tIGFjY2VzcwAlcyAlcyBlbmNvZGluZyBpcyBub3QgaW1wbGVtZW50ZWQAQ29tcHJlc3Npb24gc2NoZW1lICV1ICVzIGVuY29kaW5nIGlzIG5vdCBpbXBsZW1lbnRlZABzY2FubGluZQAlcyAlcyBkZWNvZGluZyBpcyBub3QgaW1wbGVtZW50ZWQAQ29tcHJlc3Npb24gc2NoZW1lICV1ICVzIGRlY29kaW5nIGlzIG5vdCBpbXBsZW1lbnRlZABjYyVyb3dsZW4gPT0gMABMb2dMdXZFbmNvZGVUaWxlAExvZ0x1dkVuY29kZVN0cmlwAEluYXBwcm9wcmlhdGUgcGhvdG9tZXRyaWMgaW50ZXJwcmV0YXRpb24gJWQgZm9yIFNHSUxvZyBjb21wcmVzc2lvbjsgJXMAbXVzdCBiZSBlaXRoZXIgTG9nTFVWIG9yIExvZ0wAWSwgTABYWVosIEx1dgBTR0lMb2cgY29tcHJlc3Npb24gc3VwcG9ydGVkIG9ubHkgZm9yICVzLCBvciByYXcgZGF0YQBzID09IDAATG9nTDE2RW5jb2RlAHNwLT50YnVmbGVuID49IG5waXhlbHMAdGQtPnRkX25zdHJpcHMgPiAwAHRpZl93cml0ZS5jAFNlZWsgZXJyb3IgYXQgc2NhbmxpbmUgJWx1AFdyaXRlIGVycm9yIGF0IHNjYW5saW5lICVsdQB0ZC0+dGRfcGhvdG9tZXRyaWMgPT0gUEhPVE9NRVRSSUNfTE9HTABObyBzdXBwb3J0IGZvciBjb252ZXJ0aW5nIHVzZXIgZGF0YSBmb3JtYXQgdG8gTG9nTAAlczogTm8gc3BhY2UgZm9yIFNHSUxvZyB0cmFuc2xhdGlvbiBidWZmZXIATG9nTHV2RW5jb2RlMzIATG9nTHV2RW5jb2RlMjQAdGQtPnRkX3Bob3RvbWV0cmljID09IFBIT1RPTUVUUklDX0xPR0xVVgBTR0lMb2cgY29tcHJlc3Npb24gY2Fubm90IGhhbmRsZSBub24tY29udGlndW91cyBkYXRhAE5vIHN1cHBvcnQgZm9yIGNvbnZlcnRpbmcgdXNlciBkYXRhIGZvcm1hdCB0byBMb2dMdXYATG9nTHV2RGVjb2RlVGlsZQBMb2dMdXZEZWNvZGVTdHJpcABMb2dMMTZEZWNvZGUATG9nTDE2RGVjb2RlOiBOb3QgZW5vdWdoIGRhdGEgYXQgcm93ICVkIChzaG9ydCAlZCBwaXhlbHMpAExvZ0x1dkRlY29kZTMyAExvZ0x1dkRlY29kZTMyOiBOb3QgZW5vdWdoIGRhdGEgYXQgcm93ICVkIChzaG9ydCAlZCBwaXhlbHMpAExvZ0x1dkRlY29kZTI0AExvZ0x1dkRlY29kZTI0OiBOb3QgZW5vdWdoIGRhdGEgYXQgcm93ICVkIChzaG9ydCAlZCBwaXhlbHMpAEZhaWxlZCB0byBhbGxvY2F0ZSBmaWVsZCBpbmZvIGFycmF5AEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yICVzICglbGQgZWxlbWVudHMgb2YgJWxkIGJ5dGVzIGVhY2gpAFNHSUxvZ0RhdGFGbXQAU0dJTG9nRW5jb2RlAHNjaGVtZSA9PSBDT01QUkVTU0lPTl9QSVhBUkxPRwB0aWZfcGl4YXJsb2cuYwBNZXJnaW5nIFBpeGFyTG9nIGNvZGVjLXNwZWNpZmljIHRhZ3MgZmFpbGVkAE5vIHNwYWNlIGZvciBQaXhhckxvZyBzdGF0ZSBibG9jawB0aWZfcHJlZGljdC5jAFRJRkZQcmVkaWN0b3JJbml0AE1lcmdpbmcgUHJlZGljdG9yIGNvZGVjLXNwZWNpZmljIHRhZ3MgZmFpbGVkAHNwLT5lbmNvZGVwZnVuYyAhPSBOVUxMAHNwLT5lbmNvZGV0aWxlICE9IE5VTEwAT3V0IG9mIG1lbW9yeSBhbGxvY2F0aW5nICVkIGJ5dGUgdGVtcCBidWZmZXIuAHJvd3NpemUgPiAwAChjYzAlcm93c2l6ZSk9PTAAUHJlZGljdG9yRW5jb2RlUm93AHNwLT5lbmNvZGVyb3cgIT0gTlVMTABQcmVkaWN0b3JTZXR1cABIb3Jpem9udGFsIGRpZmZlcmVuY2luZyAiUHJlZGljdG9yIiBub3Qgc3VwcG9ydGVkIHdpdGggJWQtYml0IHNhbXBsZXMARmxvYXRpbmcgcG9pbnQgIlByZWRpY3RvciIgbm90IHN1cHBvcnRlZCB3aXRoICVkIGRhdGEgZm9ybWF0ACJQcmVkaWN0b3IiIHZhbHVlICVkIG5vdCBzdXBwb3J0ZWQAUHJlZGljdG9yRGVjb2RlVGlsZQBzcC0+ZGVjb2RldGlsZSAhPSBOVUxMAHNwLT5kZWNvZGVwZnVuYyAhPSBOVUxMAFByZWRpY3RvckRlY29kZVJvdwBzcC0+ZGVjb2Rlcm93ICE9IE5VTEwAICBQcmVkaWN0b3I6IABub25lIABob3Jpem9udGFsIGRpZmZlcmVuY2luZyAAZmxvYXRpbmcgcG9pbnQgcHJlZGljdG9yIAAldSAoMHgleCkKAFByZWRpY3RvclZTZXRGaWVsZABzcC0+dnNldHBhcmVudCAhPSBOVUxMAFByZWRpY3RvclZHZXRGaWVsZABzcC0+dmdldHBhcmVudCAhPSBOVUxMAFByZWRpY3RvcgBQaXhhckxvZ0NsZWFudXAAVElGRlByZWRpY3RvckNsZWFudXAAJWQgYml0IGlucHV0IG5vdCBzdXBwb3J0ZWQgaW4gUGl4YXJMb2cAUGl4YXJMb2dFbmNvZGUAUGl4YXJMb2dQcmVFbmNvZGUAUGl4YXJMb2cgY29tcHJlc3Npb24gY2FuJ3QgaGFuZGxlICVkIGJpdCBsaW5lYXIgZW5jb2RpbmdzAFBpeGFyTG9nRGVjb2RlACVzOiBzdHJpZGUgJWQgaXMgbm90IGEgbXVsdGlwbGUgb2Ygc2FtcGxlIGNvdW50LCAlZCwgZGF0YSB0cnVuY2F0ZWQuAFBpeGFyTG9nRGVjb2RlOiB1bnN1cHBvcnRlZCBiaXRzL3NhbXBsZTogJWQAUGl4YXJMb2dQcmVEZWNvZGUAUGl4YXJMb2cgY29tcHJlc3Npb24gY2FuJ3QgaGFuZGxlIGJpdHMgZGVwdGgvZGF0YSBmb3JtYXQgY29tYmluYXRpb24gKGRlcHRoOiAlZCkAKHNjaGVtZSA9PSBDT01QUkVTU0lPTl9ERUZMQVRFKSB8fCAoc2NoZW1lID09IENPTVBSRVNTSU9OX0FET0JFX0RFRkxBVEUpAHRpZl96aXAuYwBUSUZGSW5pdFpJUABNZXJnaW5nIERlZmxhdGUgY29kZWMtc3BlY2lmaWMgdGFncyBmYWlsZWQATm8gc3BhY2UgZm9yIFpJUCBzdGF0ZSBibG9jawBaSVBDbGVhbnVwAFpJUEVuY29kZQBzcC0+c3RhdGUgPT0gWlNUQVRFX0lOSVRfRU5DT0RFACVzOiBFbmNvZGVyIGVycm9yOiAlcwBaSVBQb3N0RW5jb2RlACVzOiB6bGliIGVycm9yOiAlcwBaSVBQcmVFbmNvZGUAWklQU2V0dXBFbmNvZGUAJXM6ICVzAFpJUERlY29kZQBzcC0+c3RhdGUgPT0gWlNUQVRFX0lOSVRfREVDT0RFACVzOiBEZWNvZGluZyBlcnJvciBhdCBzY2FubGluZSAlZCwgJXMAJXM6IE5vdCBlbm91Z2ggZGF0YSBhdCBzY2FubGluZSAlZCAoc2hvcnQgJWQgYnl0ZXMpAFpJUFByZURlY29kZQBaSVBTZXR1cERlY29kZQBaSVBWU2V0RmllbGQAJXMgY29tcHJlc3Npb24gc3VwcG9ydCBpcyBub3QgY29uZmlndXJlZABUSUZGSW5pdENDSVRURmF4NABNZXJnaW5nIENDSVRUIEZheCA0IGNvZGVjLXNwZWNpZmljIHRhZ3MgZmFpbGVkAHRlLT5ydW5sZW4gPT0gNjQqKHNwYW4+PjYpAHRpZl9mYXgzLmMAcHV0c3BhbgBGYXg0RGVjb2RlAFByZW1hdHVyZSBFT0wATGluZSBsZW5ndGggbWlzbWF0Y2gAJXM6ICVzIGF0IGxpbmUgJXUgb2YgJXMgJXUgKGdvdCAldSwgZXhwZWN0ZWQgJXUpACVzOiBQcmVtYXR1cmUgRU9GIGF0IGxpbmUgJXUgb2YgJXMgJXUgKHggJXUpACVzOiBCYWQgY29kZSB3b3JkIGF0IGxpbmUgJXUgb2YgJXMgJXUgKHggJXUpACVzOiBVbmNvbXByZXNzZWQgZGF0YSAobm90IHN1cHBvcnRlZCkgYXQgbGluZSAldSBvZiAlcyAldSAoeCAldSkAR3JvdXA0T3B0aW9ucwBJbml0Q0NJVFRGYXgzAE1lcmdpbmcgY29tbW9uIENDSVRUIEZheCBjb2RlYy1zcGVjaWZpYyB0YWdzIGZhaWxlZABUSUZGSW5pdENDSVRURmF4MwAlczogTm8gc3BhY2UgZm9yIHN0YXRlIGJsb2NrAEZheDNDbGVhbnVwAEZheDNQcmVFbmNvZGUARmF4M0RlY29kZTFEAEZheDNQcmVEZWNvZGUAQml0cy9zYW1wbGUgbXVzdCBiZSAxIGZvciBHcm91cCAzLzQgZW5jb2RpbmcvZGVjb2RpbmcAUm93IHBpeGVscyBpbnRlZ2VyIG92ZXJmbG93IChyb3dwaXhlbHMgJXUpAGZvciBHcm91cCAzLzQgcnVuIGFycmF5cwBGYXgzU2V0dXBTdGF0ZQAlczogTm8gc3BhY2UgZm9yIEdyb3VwIDMvNCByZWZlcmVuY2UgbGluZQBGYXgzRGVjb2RlMkQAAIDA4PD4/P7/eCA9PSBsYXN0eABfVElGRkZheDNmaWxscnVucwBGYXgzUHJpbnREaXIAICBHcm91cCA0IE9wdGlvbnM6ACVzdW5jb21wcmVzc2VkIGRhdGEAICBHcm91cCAzIE9wdGlvbnM6ACVzMi1kIGVuY29kaW5nACVzRU9MIHBhZGRpbmcAICglbHUgPSAweCVseCkKACAgRmF4IERhdGE6ACBjbGVhbgAgcmVjZWl2ZXIgcmVnZW5lcmF0ZWQAIHVuY29ycmVjdGVkIGVycm9ycwAgKCV1ID0gMHgleCkKACAgQmFkIEZheCBMaW5lczogJWx1CgAgIENvbnNlY3V0aXZlIEJhZCBGYXggTGluZXM6ICVsdQoARmF4M1ZTZXRGaWVsZABzcC0+dnNldHBhcmVudCAhPSAwAFRJRkZGaWVsZFdpdGhUYWcASW50ZXJuYWwgZXJyb3IsIHVua25vd24gdGFnIDB4JXgAZmlwICE9IE5VTEwAdGlmX2RpcmluZm8uYwBGYXgzVkdldEZpZWxkAEZheE1vZGUARmF4RmlsbEZ1bmMAQmFkRmF4TGluZXMAQ2xlYW5GYXhEYXRhAENvbnNlY3V0aXZlQmFkRmF4TGluZXMATWVyZ2luZyBDQ0lUVCBGYXggMyBjb2RlYy1zcGVjaWZpYyB0YWdzIGZhaWxlZABHcm91cDNPcHRpb25zAEZheDNEZWNvZGVSTEUAc2NoZW1lPT1DT01QUkVTU0lPTl9PSlBFRwB0aWZfb2pwZWcuYwBUSUZGSW5pdE9KUEVHAE1lcmdpbmcgT2xkIEpQRUcgY29kZWMtc3BlY2lmaWMgdGFncyBmYWlsZWQATm8gc3BhY2UgZm9yIE9KUEVHIHN0YXRlIGJsb2NrAHNwIT1OVUxMAE9KUEVHUHJpbnREaXIAICBKcGVnSW50ZXJjaGFuZ2VGb3JtYXQ6ICVsdQoAICBKcGVnSW50ZXJjaGFuZ2VGb3JtYXRMZW5ndGg6ICVsdQoAICBKcGVnUVRhYmxlczoAICVsdQAgIEpwZWdEY1RhYmxlczoAICBKcGVnQWNUYWJsZXM6ACAgSnBlZ1Byb2M6ICV1CgAgIEpwZWdSZXN0YXJ0SW50ZXJ2YWw6ICV1CgBPSlBFR1ZTZXRGaWVsZABKcGVnUVRhYmxlcyB0YWcgaGFzIGluY29ycmVjdCBjb3VudABKcGVnRGNUYWJsZXMgdGFnIGhhcyBpbmNvcnJlY3QgY291bnQASnBlZ0FjVGFibGVzIHRhZyBoYXMgaW5jb3JyZWN0IGNvdW50AHNwLT5zdWJzYW1wbGluZ2NvcnJlY3RfZG9uZT09MABTdWJzYW1wbGluZyB0YWcgbm90IGFwcHJvcHJpYXRlIGZvciB0aGlzIFBob3RvbWV0cmljIGFuZC9vciBTYW1wbGVzUGVyUGl4ZWwAU3Vic2FtcGxpbmcgdGFnIGlzIG5vdCBzZXQsIHlldCBzdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIFslZCwlZF0gZG9lcyBub3QgbWF0Y2ggZGVmYXVsdCB2YWx1ZXMgWzIsMl07IGFzc3VtaW5nIHN1YnNhbXBsaW5nIGluc2lkZSBKUEVHIGRhdGEgaXMgY29ycmVjdABTdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIFslZCwlZF0gZG9lcyBub3QgbWF0Y2ggc3Vic2FtcGxpbmcgdGFnIHZhbHVlcyBbJWQsJWRdOyBhc3N1bWluZyBzdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIGlzIGNvcnJlY3QAU3Vic2FtcGxpbmcgdGFnIGlzIG5vdCBzZXQsIHlldCBzdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIGRvZXMgbm90IG1hdGNoIGRlZmF1bHQgdmFsdWVzIFsyLDJdIChub3IgYW55IG90aGVyIHZhbHVlcyBhbGxvd2VkIGluIFRJRkYpOyBhc3N1bWluZyBzdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIGlzIGNvcnJlY3QgYW5kIGRlc3Vic2FtcGxpbmcgaW5zaWRlIEpQRUcgZGVjb21wcmVzc2lvbgBTdWJzYW1wbGluZyBpbnNpZGUgSlBFRyBkYXRhIGRvZXMgbm90IG1hdGNoIHN1YnNhbXBsaW5nIHRhZyB2YWx1ZXMgWyVkLCVkXSAobm9yIGFueSBvdGhlciB2YWx1ZXMgYWxsb3dlZCBpbiBUSUZGKTsgYXNzdW1pbmcgc3Vic2FtcGxpbmcgaW5zaWRlIEpQRUcgZGF0YSBpcyBjb3JyZWN0IGFuZCBkZXN1YnNhbXBsaW5nIGluc2lkZSBKUEVHIGRlY29tcHJlc3Npb24AU3Vic2FtcGxpbmcgdmFsdWVzIFslZCwlZF0gYXJlIG5vdCBhbGxvd2VkIGluIFRJRkYAQ29ycnVwdCBKUEVHIGRhdGEAc3AtPnBsYW5lX3NhbXBsZV9vZmZzZXQ9PTAAVW5rbm93biBtYXJrZXIgdHlwZSAlZCBpbiBKUEVHIGRhdGEATWlzc2luZyBKUEVHIHRhYmxlcwBDb3JydXB0IEpwZWdBY1RhYmxlcyB0YWcgdmFsdWUAT3V0IG9mIG1lbW9yeQBDb3JydXB0IEpwZWdEY1RhYmxlcyB0YWcgdmFsdWUAQ29ycnVwdCBKcGVnUVRhYmxlcyB0YWcgdmFsdWUAc3AtPnN1YnNhbXBsaW5nY29ycmVjdD09MABDb3JydXB0IFNPUyBtYXJrZXIgaW4gSlBFRyBkYXRhAENvcnJ1cHQgU09GIG1hcmtlciBpbiBKUEVHIGRhdGEASlBFRyBjb21wcmVzc2VkIGRhdGEgaW5kaWNhdGVzIHVuZXhwZWN0ZWQgbnVtYmVyIG9mIHNhbXBsZXMASlBFRyBjb21wcmVzc2VkIGRhdGEgaW5kaWNhdGVzIHVuZXhwZWN0ZWQgbnVtYmVyIG9mIGJpdHMgcGVyIHNhbXBsZQBKUEVHIGNvbXByZXNzZWQgZGF0YSBpbmRpY2F0ZXMgdW5leHBlY3RlZCBoZWlnaHQASlBFRyBjb21wcmVzc2VkIGRhdGEgaW5kaWNhdGVzIHVuZXhwZWN0ZWQgd2lkdGgASlBFRyBjb21wcmVzc2VkIGRhdGEgaW5kaWNhdGVzIHVuZXhwZWN0ZWQgc3Vic2FtcGxpbmcgdmFsdWVzAENvcnJ1cHQgREhUIG1hcmtlciBpbiBKUEVHIGRhdGEAbGVuPjAAT0pQRUdSZWFkQmxvY2sAc3AtPmluX2J1ZmZlcl90b2dvPjAAbj4wAE9KUEVHUmVhZEJ1ZmZlckZpbGwAbjw9T0pQRUdfQlVGRkVSACh1aW50MTYpbjw9c3AtPmluX2J1ZmZlcl9maWxlX3RvZ28AU3RyaXAgb2Zmc2V0cyBhcmUgbWlzc2luZwBDb3JydXB0IERRVCBtYXJrZXIgaW4gSlBFRyBkYXRhAENvcnJ1cHQgRFJJIG1hcmtlciBpbiBKUEVHIGRhdGEAc3AtPmluX2J1ZmZlcl90b2dvPT0wAE9KUEVHUmVhZFNraXAAT0pQRUdSZWFkQnl0ZQBPSlBFR1JlYWRCeXRlQWR2YW5jZQBPSlBFR1JlYWRCeXRlUGVlawBzcC0+bGlianBlZ19zZXNzaW9uX2FjdGl2ZSE9MABPSlBFR0xpYmpwZWdTZXNzaW9uQWJvcnQAT0pQRUdFbmNvZGUAT0pQRUcgZW5jb2Rpbmcgbm90IHN1cHBvcnRlZDsgdXNlIG5ldy1zdHlsZSBKUEVHIGNvbXByZXNzaW9uIGluc3RlYWQAT0pQRUdQcmVFbmNvZGUARnJhY3Rpb25hbCBzY2FubGluZSBub3QgcmVhZABjYz4wAE9KUEVHRGVjb2RlUmF3AE9KUEVHUG9zdERlY29kZQBzcC0+bGlianBlZ19zZXNzaW9uX2FjdGl2ZT09MABzcC0+c3Vic2FtcGxpbmdfY29udmVydF95Y2JjcmJ1Zj09MABzcC0+c3Vic2FtcGxpbmdfY29udmVydF95Y2JjcmltYWdlPT0wAExpYkpwZWcAVW5leHBlY3RlZCBlcnJvcgBQcmVtYXR1cmUgZW5kIG9mIEpQRUcgZGF0YQBzcC0+b3V0X3N0YXRlPD1vc29zRW9pAE9KUEVHV3JpdGVTdHJlYW0AT0pQRUdXcml0ZVN0cmVhbUNvbXByZXNzZWQAT0pQRUdXcml0ZVN0cmVhbVNvcwAyNTU+PTYrc3AtPnNhbXBsZXNfcGVyX3BpeGVsX3Blcl9wbGFuZSoyAE9KUEVHV3JpdGVTdHJlYW1Tb2YAMjU1Pj04K3NwLT5zYW1wbGVzX3Blcl9waXhlbF9wZXJfcGxhbmUqMwBKUEVHTUVNACVsZCVjACVzCgBzPjAAT0pQRUdSZWFkU2Vjb25kYXJ5U29zAHM8MwBzcC0+c29zX2VuZFswXS5sb2chPTAAc3AtPnNvc19lbmRbc10ubG9nPT0wAHNwLT5yZWFkaGVhZGVyX2RvbmU9PTAAU2FtcGxlc1BlclBpeGVsICVkIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY29tcHJlc3Npb24gc2NoZW1lAEluY29tcGF0aWJsZSB2ZXJ0aWNhbCBzdWJzYW1wbGluZyBhbmQgaW1hZ2Ugc3RyaXAvdGlsZSBsZW5ndGgARGVwcmVjaWF0ZWQgYW5kIHRyb3VibGVzb21lIG9sZC1zdHlsZSBKUEVHIGNvbXByZXNzaW9uIG1vZGUsIHBsZWFzZSBjb252ZXJ0IHRvIG5ldy1zdHlsZSBKUEVHIGNvbXByZXNzaW9uIGFuZCBub3RpZnkgdmVuZG9yIG9mIHdyaXRpbmcgc29mdHdhcmUASnBlZ0ludGVyY2hhbmdlRm9ybWF0AEpwZWdJbnRlcmNoYW5nZUZvcm1hdExlbmd0aABKcGVnUVRhYmxlcwBKcGVnRGNUYWJsZXMASnBlZ0FjVGFibGVzAEpwZWdQcm9jAEpwZWdSZXN0YXJ0SW50ZXJ2YWwAc2NoZW1lID09IENPTVBSRVNTSU9OX0pQRUcAdGlmX2pwZWcuYwBUSUZGSW5pdEpQRUcATWVyZ2luZyBKUEVHIGNvZGVjLXNwZWNpZmljIHRhZ3MgZmFpbGVkAE5vIHNwYWNlIGZvciBKUEVHIHN0YXRlIGJsb2NrAHNwICE9IDAASlBFR0NsZWFudXAASlBFR0VuY29kZQBmcmFjdGlvbmFsIHNjYW5saW5lIGRpc2NhcmRlZABKUEVHUHJlRW5jb2RlACFzcC0+Y2luZm8uY29tbS5pc19kZWNvbXByZXNzb3IAU3RyaXAvdGlsZSB0b28gbGFyZ2UgZm9yIEpQRUcASlBFR0VuY29kZVJhdwBQaG90b21ldHJpY0ludGVycHJldGF0aW9uICVkIG5vdCBhbGxvd2VkIGZvciBKUEVHAEJpdHNQZXJTYW1wbGUgJWQgbm90IGFsbG93ZWQgZm9yIEpQRUcASlBFRyB0aWxlIGhlaWdodCBtdXN0IGJlIG11bHRpcGxlIG9mICVkAEpQRUcgdGlsZSB3aWR0aCBtdXN0IGJlIG11bHRpcGxlIG9mICVkAFJvd3NQZXJTdHJpcCBtdXN0IGJlIG11bHRpcGxlIG9mICVkIGZvciBKUEVHAFRJRkZqcGVnX3RhYmxlc19kZXN0AE5vIHNwYWNlIGZvciBKUEVHVGFibGVzAAABAgMEBQYHCAkKCwABAgMEBQYHCAkKC0pQRUdMaWIAZnJhY3Rpb25hbCBzY2FubGluZSBub3QgcmVhZABKUEVHUHJlRGVjb2RlAHNwLT5jaW5mby5jb21tLmlzX2RlY29tcHJlc3NvcgBJbXByb3BlciBKUEVHIHN0cmlwL3RpbGUgc2l6ZSwgZXhwZWN0ZWQgJWR4JWQsIGdvdCAlZHglZABKUEVHIHN0cmlwL3RpbGUgc2l6ZSBleGNlZWRzIGV4cGVjdGVkIGRpbWVuc2lvbnMsIGV4cGVjdGVkICVkeCVkLCBnb3QgJWR4JWQASW1wcm9wZXIgSlBFRyBjb21wb25lbnQgY291bnQASW1wcm9wZXIgSlBFRyBkYXRhIHByZWNpc2lvbgBJbXByb3BlciBKUEVHIHNhbXBsaW5nIGZhY3RvcnMgJWQsJWQKQXBwYXJlbnRseSBzaG91bGQgYmUgJWQsJWQuAENhbm5vdCBob25vdXIgSlBFRyBzYW1wbGluZyBmYWN0b3JzIHRoYXQgZXhjZWVkIHRob3NlIHNwZWNpZmllZC4ARGVjb21wcmVzc29yIHdpbGwgdHJ5IHJlYWRpbmcgd2l0aCBzYW1wbGluZyAlZCwlZC4ASW1wcm9wZXIgSlBFRyBzYW1wbGluZyBmYWN0b3JzAEpQRUdTZXR1cERlY29kZQBCb2d1cyBKUEVHVGFibGVzIGZpZWxkAP/ZSlBFR1ByaW50RGlyACAgSlBFRyBUYWJsZXM6ICglbHUgYnl0ZXMpCgAgIEZheCBSZWNlaXZlIFBhcmFtZXRlcnM6ICUwOGx4CgAgIEZheCBTdWJBZGRyZXNzOiAlcwoAICBGYXggUmVjZWl2ZSBUaW1lOiAlbHUgc2VjcwoAICBGYXggRENTOiAlcwoASlBFR1ZTZXRGaWVsZABKUEVHVkdldEZpZWxkAFRJRkZGaWxsU3RyaXAAJXM6IEludmFsaWQgc3RyaXAgYnl0ZSBjb3VudCAlbHUsIHN0cmlwICVsdQAlczogUmVhZCBlcnJvciBvbiBzdHJpcCAlbHU7IGdvdCAlbHUgYnl0ZXMsIGV4cGVjdGVkICVsdQAlczogRGF0YSBidWZmZXIgdG9vIHNtYWxsIHRvIGhvbGQgc3RyaXAgJWx1ACh0aWYtPnRpZl9mbGFncyZUSUZGX05PUkVBRFJBVyk9PTAAdGlmX3JlYWQuYwBUSUZGUmVhZFJhd1N0cmlwMQAlczogU2VlayBlcnJvciBhdCBzY2FubGluZSAlbHUsIHN0cmlwICVsdQAlczogUmVhZCBlcnJvciBhdCBzY2FubGluZSAlbHU7IGdvdCAlbHUgYnl0ZXMsIGV4cGVjdGVkICVsdQAlczogUmVhZCBlcnJvciBhdCBzY2FubGluZSAlbHUsIHN0cmlwICVsdTsgZ290ICVsdSBieXRlcywgZXhwZWN0ZWQgJWx1ACVzOiBObyBzcGFjZSBmb3IgZGF0YSBidWZmZXIgYXQgc2NhbmxpbmUgJWxkACVsdTogSW52YWxpZCB0aWxlIGJ5dGUgY291bnQsIHRpbGUgJWx1AFRJRkZGaWxsVGlsZQAlczogRGF0YSBidWZmZXIgdG9vIHNtYWxsIHRvIGhvbGQgdGlsZSAlbGQAVElGRlJlYWRSYXdUaWxlMQAlczogU2VlayBlcnJvciBhdCByb3cgJWxkLCBjb2wgJWxkLCB0aWxlICVsZAAlczogUmVhZCBlcnJvciBhdCByb3cgJWxkLCBjb2wgJWxkOyBnb3QgJWx1IGJ5dGVzLCBleHBlY3RlZCAlbHUAJXM6IFJlYWQgZXJyb3IgYXQgcm93ICVsZCwgY29sICVsZCwgdGlsZSAlbGQ7IGdvdCAlbHUgYnl0ZXMsIGV4cGVjdGVkICVsdQBKUEVHVGFibGVzAEZheFJlY3ZQYXJhbXMARmF4U3ViQWRkcmVzcwBGYXhSZWN2VGltZQBGYXhEY3MATmVYVERlY29kZTogTm90IGVub3VnaCBkYXRhIGZvciBzY2FubGluZSAlbGQATm90IGVub3VnaABUb28gbXVjaABUaHVuZGVyRGVjb2RlOiAlcyBkYXRhIGF0IHNjYW5saW5lICVsZCAoJWx1ICE9ICVsdSkAUGFja0JpdHNEZWNvZGU6IGRpc2NhcmRpbmcgJWxkIGJ5dGVzIHRvIGF2b2lkIGJ1ZmZlciBvdmVycnVuAFBhY2tCaXRzRGVjb2RlOiBOb3QgZW5vdWdoIGRhdGEgZm9yIHNjYW5saW5lICVsZABzY2hlbWUgPT0gQ09NUFJFU1NJT05fTFpXAHRpZl9sencuYwBUSUZGSW5pdExaVwBObyBzcGFjZSBmb3IgTFpXIHN0YXRlIGJsb2NrAHRpZi0+dGlmX2RhdGEgIT0gMABMWldDbGVhbnVwAHNwLT5lbmNfaGFzaHRhYiAhPSBOVUxMAExaV0VuY29kZQBuYml0cyA8PSBCSVRTX01BWABzcCAhPSBOVUxMAExaV1ByZUVuY29kZQBMWldTZXR1cEVuY29kZQBObyBzcGFjZSBmb3IgTFpXIGhhc2ggdGFibGUATFpXRGVjb2RlAHNwLT5kZWNfY29kZXRhYiAhPSBOVUxMAExaV0RlY29kZTogU3RyaXAgJWQgbm90IHRlcm1pbmF0ZWQgd2l0aCBFT0kgY29kZQBMWldEZWNvZGU6IENvcnJ1cHRlZCBMWlcgdGFibGUgYXQgc2NhbmxpbmUgJWQATFpXRGVjb2RlOiBXcm9uZyBsZW5ndGggb2YgZGVjb2RlZCBzdHJpbmc6IGRhdGEgcHJvYmFibHkgY29ycnVwdGVkIGF0IHNjYW5saW5lICVkAExaV0RlY29kZTogTm90IGVub3VnaCBkYXRhIGF0IHNjYW5saW5lICVkIChzaG9ydCAlbGQgYnl0ZXMpAExaV0RlY29kZTogQm9ndXMgZW5jb2RpbmcsIGxvb3AgaW4gdGhlIGNvZGUgdGFibGU7IHNjYW5saW5lICVkAExaV1ByZURlY29kZQBPbGQtc3R5bGUgTFpXIGNvZGVzLCBjb252ZXJ0IGZpbGUATFpXRGVjb2RlQ29tcGF0AExaV0RlY29kZUNvbXBhdDogQ29ycnVwdGVkIExaVyB0YWJsZSBhdCBzY2FubGluZSAlZABMWldEZWNvZGVDb21wYXQ6IFdyb25nIGxlbmd0aCBvZiBkZWNvZGVkIHN0cmluZzogZGF0YSBwcm9iYWJseSBjb3JydXB0ZWQgYXQgc2NhbmxpbmUgJWQATFpXRGVjb2RlQ29tcGF0OiBOb3QgZW5vdWdoIGRhdGEgYXQgc2NhbmxpbmUgJWQgKHNob3J0ICVsZCBieXRlcykATFpXU2V0dXBEZWNvZGUATm8gc3BhY2UgZm9yIExaVyBjb2RlIHRhYmxlAG4gPiAwAHRpZl9kdW1wbW9kZS5jAER1bXBNb2RlRW5jb2RlAER1bXBNb2RlRGVjb2RlOiBOb3QgZW5vdWdoIGRhdGEgZm9yIHNjYW5saW5lICVkAG51bWFEZXN0cm95AEVycm9yIGluICVzOiAlcwoAcGl4R2V0RGF0YQBwaXhHZXRXcGwAbnVtYUdldElBcnJheQBudW1hR2V0SVZhbHVlAG51bWFHZXRDb3VudABudW1hQWRkTnVtYmVyAGlucHV0IGRhdGEgbm90IGRlZmluZWQAcmVhbGxvY05ldwBuZXdkYXRhIG5vdCBtYWRlAG51bWFDcmVhdGUAbnVtYmVyIGFycmF5IG5vdCBtYWRlAGNtYXAgbm90IGRlZmluZWQAaW5kZXggb3V0IG9mIGJvdW5kcwAmcnZhbCwgJmd2YWwsICZidmFsIG5vdCBhbGwgZGVmaW5lZABwaXhDb3B5AHJlYWxsb2NhdGlvbiBvZiBkYXRhIGZhaWxlZABwaXhDb3B5VGV4dABwaXhTZXRUZXh0AHBkZXN0IG5vdCBkZWZpbmVkAHN0cmluZ1JlcGxhY2UAV2FybmluZyBpbiAlczogc3JjIG5vdCBkZWZpbmVkCgBzdHJpbmdOZXcAc3RyaW5nQ29weQBwaXhHZXRUZXh0AHBpeFNldFlSZXMAcGl4R2V0WVJlcwBwaXhTZXRYUmVzAHBpeEdldFhSZXMAcGl4Q29weVNwcABwaXhTZXRTcHAAc3BwIG11c3QgYmUgPj0gMQBwaXhHZXRTcHAAcGl4U2V0Q29sb3JtYXAAY21hcHMgbm90IGRlZmluZWQAcGl4Y21hcENvcHkAbmFsbG9jID4gMjU2AGNtYXBkIG5vdCBtYWRlAGNtYXAgYXJyYXkgbm90IG1hZGUAcGl4Y21hcERlc3Ryb3kAcGl4X21hbGxvYyBmYWlsIGZvciBkYXRhAHBpeFNldERhdGEAcGl4RnJlZURhdGEAcGl4U2V0V3BsAHBpeFNldERlcHRoAGQgbXVzdCBiZSA+PSAxAHBpeFNldEhlaWdodABoIG11c3QgYmUgPj0gMABwaXhTZXRXaWR0aAB3aWR0aCBtdXN0IGJlID49IDAAcGl4MSBhbmQgcGl4MiBub3QgYm90aCBkZWZpbmVkAHBpeFNpemVzRXF1YWwAcGl4R2V0V2lkdGgAcGl4U2V0UGFkQml0cwBwaXhEZXN0cm95AHBpeEdldFJlZmNvdW50AGRlcHRoIG11c3QgYmUgezEsIDIsIDQsIDgsIDE2LCAyNCwgMzJ9AEVycm9yIGluICVzOiByZXF1ZXN0ZWQgdyA9ICVkLCBoID0gJWQsIGQgPSAlZAoAd3BsID49IDJeMjkATEVQVF9DQUxMT0MgZmFpbCBmb3IgcGl4ZABwaXhHZXRIZWlnaHQAcGl4R2V0Q29sb3JtYXAAJnBpeGVsIG5vdCBkZWZpbmVkAHBpeEdldFBpeGVsAGRlcHRoIG11c3QgYmUgaW4gezEsMiw0LDgsMTYsMzJ9IGJwcABwaXhhRGVzdHJveQBib3hhRGVzdHJveQBib3hEZXN0cm95AGJveEdldFJlZmNvdW50AHBpeGQgbm90IDEsIDIsIDQsIDgsIDE2IG9yIDMyIGJwcABzaG91bGRuJ3QgZ2V0IGhlcmUAZGVwdGggbm90IDIsIDQsIDgsIDE2IG9yIDMyIGJwcABwaXhDb252ZXJ0MVRvOABwaXhDb252ZXJ0MVRvNABwaXhDb252ZXJ0MVRvMgBwaXhSYXN0ZXJvcABkZXB0aHMgb2YgcGl4cyBhbmQgcGl4ZCBkaWZmZXIAT3BlcmF0aW9uICV4IGludmFsaWQKAE9wZXJhdGlvbiAlZCBpbnZhbGlkCgBPcGVyYXRpb24gJWQgbm90IHBlcm1pdHRlZCBoZXJlIQoAbm8gY29sb3JtYXAgaW4gcGl4cwBkZXB0aCBub3QgaW4gezIsNCw4fQBwaXhtIG5vdCAxIGJwcABubyByb29tIGluIGNtYXAAbm8gZnJlZSBjb2xvciBlbnRyaWVzACZpbmRleCBub3QgZGVmaW5lZABXYXJuaW5nIGluICVzOiBJbnZhbGlkIHR5cGU7IGNvbnZlcnRpbmcgYmFzZWQgb24gc3JjCgBwaXhzIG11c3QgYmUgezEsMiw0LDh9IGJwcABXYXJuaW5nIGluICVzOiBub3QgMSBicHA7IGNhbid0IHJlbW92ZSBjbWFwIHRvIGJpbmFyeQoAV2FybmluZyBpbiAlczogcGl4ZWwgdmFsdWUgb3V0IG9mIGJvdW5kcwoAJmJsYWNrd2hpdGUgbm90IGRlZmluZWQAY29sb3JtYXAgYXJyYXlzIG5vdCBtYWRlACZybWFwLCAmZ21hcCwgJmJtYXAgbm90IGFsbCBkZWZpbmVkAGNhbGxvYyBmYWlsIGZvciAqbWFwAGJveEdldEdlb21ldHJ5AGJveGFHZXRCb3gAYm94Q2xvbmUAYm94Q29weQB3IGFuZCBoIG5vdCBib3RoID49IDAAYm94Q3JlYXRlAHggPCAwIGFuZCBib3ggb2ZmICtxdWFkAHkgPCAwIGFuZCBib3ggb2ZmICtxdWFkAGJveFNldEdlb21ldHJ5AHBpeGFHZXRQaXgARXJyb3IgaW4gJXM6IG5vIHBpeCBhdCBwaXhhWyVkXQoAcGl4IG5vdCBmb3VuZCEAaW52YWxpZCBhY2Nlc3N0eXBlAGJveGFHZXRDb3VudABwaXhDb25uQ29tcAAmcGl4YSBub3QgZGVmaW5lZABFcnJvciBpbiAlczogcGl4MSBvciBwaXgyIG5vdCBtYWRlCgBFcnJvciBpbiAlczogc3RhY2sgbm90IG1hZGUKAEVycm9yIGluICVzOiBib3ggbm90IG1hZGUKAGxzdGFja0Rlc3Ryb3kAV2FybmluZyBpbiAlczogbWVtb3J5IGxlYWsgb2YgJWQgaXRlbXMgaW4gbHN0YWNrCgBsc3RhY2sgbm90IGRlZmluZWQAbHN0YWNrUmVtb3ZlAGJveGFDb3B5AGJveGFjIG5vdCBtYWRlAHBpeGFBZGRQaXgAcGl4YUdldENvdW50AHBpeFhvcgBjYW5ub3QgaGF2ZSBwaXhzMiA9PSBwaXhkAGRlcHRocyBvZiBwaXhzKiB1bmVxdWFsAFdhcm5pbmcgaW4gJXM6IGJveCBkb2Vzbid0IG92ZXJsYXAgcGl4CgBib3ggb3V0c2lkZSByZWN0YW5nbGUAYm94YUFkZEJveABib3hjIG5vdCBtYWRlAHBpeFNlZWRmaWxsQkIAc3RhY2sgbm90IGRlZmluZWQAYm94IG5vdCBtYWRlAHBpeFNlZWRmaWxsOEJCAEVycm9yIGluICVzOiBzdGFjayBub3QgZGVmaW5lZAoAcG9wRmlsbHNlZwBFcnJvciBpbiAlczogYXV4c3RhY2sgbm90IGRlZmluZWQKAGxzdGFja0FkZABuZXcgbHN0YWNrIGFycmF5IG5vdCBkZWZpbmVkAGxzdGFja0dldENvdW50AHB1c2hGaWxsc2VnQkIARXJyb3IgaW4gJXM6IGZpbGxzZWcgbm90IG1hZGUKAHBpeFNlZWRmaWxsNEJCAGxzdGFjayBhcnJheSBub3QgbWFkZQBsc3RhY2tDcmVhdGUAYm94YUNyZWF0ZQBib3hhIHB0cnMgbm90IG1hZGUAcGl4YSBub3QgbWFkZQBwaXhhQ3JlYXRlAHBpeCBwdHJzIG5vdCBtYWRlAGJveGEgbm90IG1hZGUAcGl4Q29ubkNvbXBCQgBzY2FsZSBmYWN0b3IgPD0gMABwaXhkIG5vdCBkZWZpbmVkAHBpeGQgbm90IDMyIGJwcABpbnZhbGlkIGNvbXAAV2FybmluZyBpbiAlczogaW1hZ2VzIHNpemVzIG5vdCBlcXVhbAoAcGl4U2NhbGUAcGl4cyBub3QgezEsMiw0LDgsMTYsMzJ9IGJwcABwaXhzIHVuZGVmaW5lZCBvciBub3QgMzIgYnBwAFdhcm5pbmcgaW4gJXM6IHNjYWxpbmcgZmFjdG9ycyA8IDAuNzsgZG8gcmVndWxhciBzY2FsaW5nCgBFcnJvciBpbiAlczogcGl4ZCBub3QgbWFkZQoAcGl4ciBub3QgZGVmaW5lZABwaXhnIG5vdCBkZWZpbmVkAHBpeGIgbm90IGRlZmluZWQAaW5wdXQgcGl4IG5vdCBhbGwgOCBicHAAd2lkdGhzIG5vdCB0aGUgc2FtZQBoZWlnaHRzIG5vdCB0aGUgc2FtZQBwaXhzIHVuZGVmaW5lZCwgY21hcHBlZCBvciBub3QgOCBicHAAcGl4U2NhbGVHcmF5TEkAcGl4cyBub3QgZGVmaW5lZCBvciAxIGJwcABXYXJuaW5nIGluICVzOiBubyBzaGFycGVuaW5nIHJlcXVlc3RlZDsgY2xvbmUgcmV0dXJuZWQKAHBpeHMgbm90IDggYnBwIG9yIGhhcyBjbWFwAFdhcm5pbmcgaW4gJXM6IHB0ciBhZGRyZXNzIGlzIE5VTEwhAHBpeGFjY0Rlc3Ryb3kAcGl4YWNjIG5vdCBkZWZpbmVkAHBpeGFjY0ZpbmFsAGRlc3QgZGVwdGggbm90IDgsIDE2LCAzMiBicHAAcGl4YWNjR2V0UGl4AHBpeGFjY1N1YnRyYWN0AHBpeEFjY3VtdWxhdGUAcGl4cyBub3QgMSwgOCwgMTYgb3IgMzIgYnBwAG9wIG11c3QgYmUgaW4ge0xfQVJJVEhfQURELCBMX0FSSVRIX1NVQlRSQUNUfQBwaXhhY2NBZGQAcGl4YWNjIG5vdCBtYWRlAHBpeGFjY0NyZWF0ZQBXYXJuaW5nIGluICVzOiBpbmRleCBub3QgaW4gY29sb3JtYXA7IHVzaW5nIGxhc3QgY29sb3IKAFdhcm5pbmcgaW4gJXM6IHZhbCA9ICVkIHRvbyBsYXJnZSBmb3IgZGVwdGg7IHVzaW5nIG1heHZhbCA9ICVkCgBXYXJuaW5nIGluICVzOiBrZXJuZWwgdG9vIGxhcmdlOyByZWR1Y2luZyEKAEluZm8gaW4gJXM6IHdjID0gJWQsIGhjID0gJWQKAEVycm9yIGluICVzOiB3YyA+PSB3IHx8IGhjID49aAoAYmxvY2tjb252TG93AHBpeHMgbm90IDEsIDggb3IgMzIgYnBwAEVycm9yIGluICVzOiBkZXB0aCBub3QgMSwgOCBvciAzMiBicHAKAGhhbGZ3aWR0aCBtdXN0IGJlIDEgb3IgMgBmcGl4RGVzdHJveQBmcGl4IG5vdCBkZWZpbmVkAGZwaXhHZXRXcGwAZnBpeEdldERhdGEAZnBpeENyZWF0ZQBFcnJvciBpbiAlczogcmVxdWVzdGVkIHcgPSAlZCwgaCA9ICVkCgByZXF1ZXN0ZWQgYnl0ZXMgPj0gMl4zMQBMRVBUX0NBTExPQyBmYWlsIGZvciBmcGl4ZABmcGl4U2V0RGF0YQBmcGl4U2V0V3BsAHBpeENvcHlCb3JkZXIAcGl4IG5vdCAyLCA0LCA4IG9yIDMyIGJwcABXYXJuaW5nIGluICVzOiBzY2FsaW5nIGZhY3RvcnMgbm90IDwgMC43OyBkbyByZWd1bGFyIHNjYWxpbmcKAHBpeGQgdG9vIHNtYWxsAHBpeENvbnZlcnRUbzgAZGVwdGggbm90IHsxLDIsNCw4LDE2LDMyfQBwaXhzIG5vdCAxNiBicHAAcGl4cyBub3QgZGVmaW5lZCBvciBub3QgOCBicHAAZGVwdGggbm90IGluIHsxLDIsNCw4fQBwaXhjbWFwQ3JlYXRlAGN0YSBub3QgbWFkZQBwaXhDb252ZXJ0NFRvOABwaXhzIG5vdCA0IGJwcABjbWFwcyBub3QgMiBvciA0IGJwcABwaXhDb252ZXJ0MlRvOABwaXhzIG5vdCAyIGJwcABwaXhzIG5vdCBjbWFwcGVkAGFscGhhIGluIGNtYXBzIG5vdCBzdXBwb3J0ZWQAcGl4ZCBub3QgZGVmaW5lZCBvciBub3QgMzIgYnBwAHBpeHMgbm90IGRlZmluZWQgb3Igbm90IDMyIGJwcABzcm93IG5vdCBtYWRlAHNjb2wgbm90IG1hZGUAcGl4U2NhbGVCaW5hcnkAcGl4cyBtdXN0IGJlIDEgYnBwAHNjYWxlQmluYXJ5TG93AHBpeFNldFBpeGVsAHggb3V0IG9mIGJvdW5kcwB5IG91dCBvZiBib3VuZHMAcGl4Q3JlYXRlAGNvbnZlcnNpb24gdG8gcGRmIGZhaWxlZABFcnJvciBpbiAlczogcGRmIGRhdGEgbm90IHdyaXR0ZW4gdG8gZmlsZQoAbF9iaW5hcnlXcml0ZQBuYnl0ZXMgbXVzdCBiZSA+IDAAb3BlcmF0aW9uIG5vdCBvbmUgb2Ygeyd3JywnYSd9AGIAbm8gaW5wdXQAZ2VuUGF0aG5hbWUAbm8gY3VycmVudCBkaXIgZm91bmQAcGF0aG91dCBub3QgbWFkZQAvdG1wAC90bXAvAFRNUERJUgBzdHJpbmdDYXQAc2l6ZSA8IDE7IHRvbyBzbWFsbABubyB0ZXJtaW5hdGluZyBudWwgYnl0ZQBkZXN0IHRvbyBzbWFsbCBmb3IgYXBwZW5kAHN0cmluZ0xlbmd0aABwYXRoIG5vdCBkZWZpbmVkAFdhcm5pbmcgaW4gJXM6IGludmFsaWQgY29tcHJlc3Npb24gdHlwZTsgdXNpbmcgcGVyLXBhZ2UgZGVmYXVsdAoARXJyb3IgaW4gJXM6IHBpeFslZF0gbm90IHJldHJpZXZlZAoARXJyb3IgaW4gJXM6IGVuY29kaW5nIHR5cGUgc2VsZWN0aW9uIGZhaWxlZCBmb3IgcGl4WyVkXQoARXJyb3IgaW4gJXM6IHBkZiBlbmNvZGluZyBmYWlsZWQgZm9yIHBpeFslZF0KAEVycm9yIGluICVzOiBubyBwZGYgZmlsZXMgbWFkZQoAbF9ieXRlYURlc3Ryb3kAcGEgbm90IGRlZmluZWQAcHRyYVJlbW92ZQBpbmRleCBub3QgaW4gWzAgLi4uIGltYXhdACZtYXhpbmRleCBub3QgZGVmaW5lZABwYV9kYXRhIG5vdCBkZWZpbmVkAEVycm9yIGluICVzOiBjYW4ndCBwYXJzZSBmaWxlICVkOyBza2lwcGluZwoAbm8gcGFyc2FibGUgcGRmIGZpbGVzIGZvdW5kAG51bWFhRGVzdHJveQBiYSBub3QgZGVmaW5lZABkYXRhcyBub3QgZGVmaW5lZABsX2JpbmFyeUNvcHkAZGF0YWQgbm90IG1hZGUAZGFsb2Mgbm90IGRlZmluZWQAeHJlZgowICVkCjAwMDAwMDAwMDAgNjU1MzUgZiAKACUwMTBkIDAwMDAwIG4gCgB0cmFpbGVyCjw8Ci9TaXplICVkCi9Sb290IDEgMCBSCi9JbmZvIDIgMCBSCj4+CnN0YXJ0eHJlZgolZAolJSUlRU9GCgBzYXJyYXlUb1N0cmluZwBpbnZhbGlkIGFkZG5sZmxhZwBmaXJzdCBub3QgdmFsaWQAc3RyIG5vdCBmb3VuZABkZXN0IG5vdCBtYWRlACZpdmFsIG5vdCBkZWZpbmVkAGxfZG5hR2V0SVZhbHVlAGRhIG5vdCBkZWZpbmVkAHN0cmluZyBub3QgZGVmaW5lZAAgMCBSAGRhdGEgJiBzZXF1ZW5jZSBub3QgYm90aCBkZWZpbmVkACZvZmZzZXQgYW5kICZmb3VuZCBub3QgZGVmaW5lZABsX2J5dGVhR2V0U2l6ZQBsX2RuYUFkZE51bWJlcgBuZXcgYXJyYXkgbm90IHJldHVybmVkAG5ld2RhdGEgbm90IGRlZmluZWQAbF9kbmFHZXRJQXJyYXkAZGFzIG5vdCBkZWZpbmVkAG5hYSBub3QgZGVmaW5lZABudW1hYUdldE51bWEAbnVtYUNsb25lAGxfYnl0ZWFHZXREYXRhAGRhIG5vdCBtYWRlAGxfZG5hQ3JlYXRlAGRvdWJsZSBhcnJheSBub3QgbWFkZQBiYSBub3QgbWFkZQBsX2J5dGVhQ3JlYXRlAGJhIGFycmF5IG5vdCBtYWRlAG5hcGFnZSBub3QgZGVmaW5lZAAgJWQgMCBSIAAzIDAgb2JqCjw8Ci9UeXBlIC9QYWdlcwovS2lkcyBbJXNdCi9Db3VudCAlZAo+PgoAbF9kbmFEZXN0cm95AG51bWFhQWRkTnVtYQBudW1hYUdldENvdW50AG51bWFTZXRWYWx1ZQBsX2RuYUdldENvdW50AGRhYSBub3QgZGVmaW5lZABsX2RuYWFHZXREbmEAaW52YWxpZCBhY2Nlc3NmbGFnAGxfZG5hQ2xvbmUAbmFhIG5vdCBtYWRlAG51bWFhQ3JlYXRlAG51bWEgcHRyIGFycmF5IG5vdCBtYWRlAGxfZG5hYURlc3Ryb3kARXJyb3IgaW4gJXM6IGluZGV4ID0gJWQ7ICE9IG5hY3R1YWwKAGxfZG5hYUFkZERuYQBpbnZhbGlkIGNvcHlmbGFnAGxfZG5hYUdldENvdW50AGJhcyBub3QgZGVmaW5lZAAlUERGLTEuAFBERiBoZWFkZXIgc2lnbmF0dXJlIG5vdCBmb3VuZABzdGFydHhyZWYKAHN0YXJ0eHJlZiBub3QgZm91bmQhACVkCgB4cmVmbG9jIG5vdCBmb3VuZCEAaW52YWxpZCB4cmVmbG9jIQAwICVkAG5vYmogbm90IGZvdW5kACVkIDAgb2JqAEVycm9yIGluICVzOiBiYWQgdHJhaWxlciBmb3Igb2JqZWN0ICVkCgBJbmZvIGluICVzOiByZWJ1aWxkaW5nIHBkZiB0cmFpbGVyCgAgMCBvYmoKAHhyZWYAJmRhIG5vdCBkZWZpbmVkAHNlcXVlbmNlIG5vdCBkZWZpbmVkAGxfZG5hRW1wdHkAdGV4dHN0ciBub3QgZGVmaW5lZAANCgBpbmRleCBub3QgaW4gWzAgLi4uIG5hbGxvYy0xXQBkYWEgbm90IG1hZGUAbF9kbmFhQ3JlYXRlAGxfZG5hIHB0ciBhcnJheSBub3QgbWFkZQBwdHJhRGVzdHJveQBwdHJhQWRkAGl0ZW0gbm90IGRlZmluZWQAZXh0ZW5zaW9uIGZhaWx1cmUAbm8gYnl0ZXMgdG8gaW5pdGlhbGl6ZQBjaWQgbm90IG1hZGUAbHBkIG5vdCBtYWRlAHBkZiBvdXRwdXQgbm90IG1hZGUAcGRmZGF0YURlc3Ryb3kAcHRhRGVzdHJveQBwdGFHZXRSZWZjb3VudABsX2dlbmVyYXRlUGRmAGxwZCBub3QgZGVmaW5lZABjaWQgbm90IGZvdW5kAHBkZmRhdGFHZXRDaWQAaW52YWxpZCBpbWFnZSBpbmRleAAlZCAwIG9iagpbIC9JbmRleGVkIC9EZXZpY2VSR0IKJWQKJXMKXQplbmRvYmoKAC9JbWFnZU1hc2sgdHJ1ZQovQ29sb3JTcGFjZSAvRGV2aWNlR3JheQAvQ29sb3JTcGFjZSAvRGV2aWNlR3JheQAvQml0c1BlckNvbXBvbmVudCAxCi9JbnRlcnBvbGF0ZSB0cnVlAC9GaWx0ZXIgL0NDSVRURmF4RGVjb2RlCi9EZWNvZGVQYXJtcwo8PAovSyAtMQovQ29sdW1ucyAlZAo+PgAvQ29sb3JTcGFjZSAvRGV2aWNlUkdCAC9Db2xvclNwYWNlIC9EZXZpY2VDTVlLAEVycm9yIGluICVzOiBpbiBqcGVnOiBzcHAgIT0gMSwgMyBvciA0CgAvQml0c1BlckNvbXBvbmVudCA4AC9GaWx0ZXIgL0RDVERlY29kZQBFcnJvciBpbiAlczogaW4ganAyazogc3BwICE9IDEgJiYgc3BwICE9IDMKAC9GaWx0ZXIgL0pQWERlY29kZQAvQ29sb3JTcGFjZSAlZCAwIFIAL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKL0RlY29kZSBbMSAwXQBFcnJvciBpbiAlczogdW5rbm93biBjb2xvcnNwYWNlOiBzcHAgPSAlZAoAL0JpdHNQZXJDb21wb25lbnQgJWQAL0ZpbHRlciAvRmxhdGVEZWNvZGUAL0RlY29kZVBhcm1zCjw8CiAgL0NvbHVtbnMgJWQKICAvUHJlZGljdG9yIDE0CiAgL0NvbG9ycyAlZAogIC9CaXRzUGVyQ29tcG9uZW50ICVkCj4+CgAlZCAwIG9iago8PAovTGVuZ3RoICVsdQovU3VidHlwZSAvSW1hZ2UKJXMKL1dpZHRoICVkCi9IZWlnaHQgJWQKJXMKJXMKJXM+PgpzdHJlYW0KAGNhbGxvYyBmYWlsIGZvciBidWYAcSAlLjRmICUuNGYgJS40ZiAlLjRmICUuNGYgJS40ZiBjbSAvSW0lZCBEbyBRCgBjc3RyIG5vdCBtYWRlADUgMCBvYmoKPDwgL0xlbmd0aCAlZCA+PgpzdHJlYW0KJXNlbmRzdHJlYW0KZW5kb2JqCgBwdGFHZXRQdABpbnZhbGlkIGluZGV4AC9JbSVkICVkIDAgUiAgIAB4c3RyIG5vdCBtYWRlADQgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAzIDAgUgovTWVkaWFCb3ggWyVkICVkICVkICVkXQovQ29udGVudHMgNSAwIFIKL1Jlc291cmNlcwo8PAovWE9iamVjdCA8PCAlcyA+PgovUHJvY1NldCBbIC9JbWFnZUIgL0ltYWdlSSAvSW1hZ2VDIF0KPj4KPj4KZW5kb2JqCgBwdGFTZXRQdAAlUERGLTEuNQoAMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMyAwIFIKPj4KZW5kb2JqCgAyIDAgb2JqCjw8CgAvQ3JlYXRpb25EYXRlIChEOiVzKQoAL1Byb2R1Y2VyIChsZXB0b25pY2E6ICVzKQoAL1RpdGxlICVzCgBFcnJvciBpbiAlczogdGl0bGUgc3RyaW5nIGlzIG5vdCBhc2NpaQoAPj4KZW5kb2JqCgAzIDAgb2JqCjw8Ci9UeXBlIC9QYWdlcwovS2lkcyBbIDQgMCBSIF0KL0NvdW50IDEKPj4KAAplbmRzdHJlYW0KZW5kb2JqCgA8ZmVmZgAlMDR4AGxlcHRvbmljYS0lZC4lZC4lZAAlWSVtJWQlSCVNJVMAJWMlMDJkJyUwMmQnAHB0YUFkZFB0AG5ldyB4IGFycmF5IG5vdCByZXR1cm5lZABuZXcgeSBhcnJheSBub3QgcmV0dXJuZWQAcHRhQ3JlYXRlAHggYXJyYXkgbm90IG1hZGUAeSBhcnJheSBub3QgbWFkZQAmY2lkIG5vdCBkZWZpbmVkAGludmFsaWQgY29udmVyc2lvbiB0eXBlAFdhcm5pbmcgaW4gJXM6IHBpeHMgaGFzIGNtYXA7IHVzaW5nIGZsYXRlIGVuY29kaW5nCgBXYXJuaW5nIGluICVzOiBwaXhzIGhhcyA8IDggYnBwOyB1c2luZyBmbGF0ZSBlbmNvZGluZwoAV2FybmluZyBpbiAlczogcGl4cyBoYXMgPiAxIGJwcDsgdXNpbmcgZmxhdGUgZW5jb2RpbmcKAGpwZWcgZGF0YSBub3QgbWFkZQBnNCBkYXRhIG5vdCBtYWRlAGZsYXRlIGRhdGEgbm90IG1hZGUAY21hcGRhdGEgbm90IG1hZGUAZGF0YWNvbXAgbm90IG1hZGUAZGF0YTg1IG5vdCBtYWRlAGRhdGFpbiBub3QgZGVmaW5lZAB6bGliQ29tcHJlc3MARXJyb3IgaW4gJXM6IGNhbGxvYyBmYWlsIGZvciBidWZmZXIKAGRlZmxhdGVJbml0IGZhaWxlZABXYXJuaW5nIGluICVzOiBwdHIgYWRkcmVzcyBpcyBOVUxMCgBiYnVmZmVyRGVzdHJveQBXYXJuaW5nIGluICVzOiAmbmJ5dGVzIGlzIE5VTEwKAFdhcm5pbmcgaW4gJXM6IGNhbGxvYyBmYWlsdXJlIGZvciBhcnJheQoAYmIgbm90IGRlZmluZWQAYmJ1ZmZlclJlYWQAc3JjIG5vdCBkZWZpbmVkAG5vIGJ5dGVzIHRvIHJlYWQAbmV3IHB0ciBhcnJheSBub3QgcmV0dXJuZWQAYmJ1ZmZlcldyaXRlAGRlc3Qgbm90IGRlZmluZWQAJm5vdXQgbm90IGRlZmluZWQAYmIgbm90IG1hZGUAYmJ1ZmZlckNyZWF0ZQBieXRlIGFycmF5IG5vdCBtYWRlAG5vIGNvbG9ycwAlMDJ4ACZvdXRzaXplIG5vdCBkZWZpbmVkAGVuY29kZUFzY2lpODUAaW5hcnJheSBub3QgZGVmaW5lZABpbnNpemUgbm90ID4gMABjaGFyYSBub3QgbWFkZQBvdXRidWYgbm90IG1hZGUAY3BjIG5vdCAzIG9yIDQAJnJ2YWwsICZndmFsLCAmYnZhbCwgJmF2YWwgbm90IGFsbCBkZWZpbmVkAHBpeGNtYXBHZXRSR0JBAGZpbGVwYXRoIHVuZGVmaW5lZCBvciBlbXB0eQBsZXB0X3JtZmlsZQBkYXRhY29tcCBub3QgZXh0cmFjdGVkAG5vIG91dHB1dCBkYXRhIHJlcXVlc3RlZABzdHJlYW0gbm90IG9wZW5lZCB0byBmaWxlAGZpbGVpbiBub3QgdGlmZgBpbmFycmF5IG5vdCBtYWRlAHRpZiBub3Qgb3BlbiBmb3IgcmVhZABmaWxlaW4gaXMgbm90IGc0IGNvbXByZXNzZWQAV2FybmluZyBpbiAlczogbW9yZSB0aGFuIDEgc3RyaXAKAEVycm9yIHBvc3QtZW5jb2RpbmcgYmVmb3JlIGRpcmVjdG9yeSB3cml0ZQBFcnJvciBmbHVzaGluZyBkYXRhIGJlZm9yZSBkaXJlY3Rvcnkgd3JpdGUAQ2Fubm90IHdyaXRlIGRpcmVjdG9yeSwgb3V0IG9mIHNwYWNlAEVycm9yIHdyaXRpbmcgZGlyZWN0b3J5IGNvdW50AEVycm9yIHdyaXRpbmcgZGlyZWN0b3J5IGNvbnRlbnRzAEVycm9yIHdyaXRpbmcgZGlyZWN0b3J5IGxpbmsAVW5rbm93bgBfVElGRlZHZXRGaWVsZAAlczogSW52YWxpZCAlc3RhZyAiJXMiIChub3Qgc3VwcG9ydGVkIGJ5IGNvZGVjKQBOb25zdGFuZGFyZCB0aWxlIHdpZHRoICVkLCBjb252ZXJ0IGZpbGUATm9uc3RhbmRhcmQgdGlsZSBsZW5ndGggJWQsIGNvbnZlcnQgZmlsZQBfVElGRlZTZXRGaWVsZAAlczogU29ycnksIGNhbm5vdCBuZXN0IFN1YklGRHMAJXM6IEZhaWxlZCB0byBhbGxvY2F0ZSBzcGFjZSBmb3IgbGlzdCBvZiBjdXN0b20gdmFsdWVzACVzOiBCYWQgZmllbGQgdHlwZSAlZCBmb3IgIiVzIgBUYWcgVmFsdWUAJXM6IEJhZCB2YWx1ZSAlZCBmb3IgIiVzIiB0YWcAJXM6IEJhZCB2YWx1ZSAldSBmb3IgIiVzIiB0YWcAJXM6IEludmFsaWQgSW5rTmFtZXMgdmFsdWU7IGV4cGVjdGluZyAlZCBuYW1lcywgZm91bmQgJWQAKGNjICYgNykgPT0gMABfVElGRlN3YWI2NEJpdERhdGEAKGNjICYgMykgPT0gMABfVElGRlN3YWIzMkJpdERhdGEAKGNjICUgMykgPT0gMABfVElGRlN3YWIyNEJpdERhdGEAKGNjICYgMSkgPT0gMABfVElGRlN3YWIxNkJpdERhdGEAVGFnIABfVElGRlNldHVwRmllbGRJbmZvAFNldHRpbmcgdXAgZmllbGQgaW5mbyBmYWlsZWQAU3ViZmlsZVR5cGUAT2xkU3ViZmlsZVR5cGUASW1hZ2VXaWR0aABCaXRzUGVyU2FtcGxlAFRocmVzaGhvbGRpbmcAQ2VsbFdpZHRoAENlbGxMZW5ndGgARmlsbE9yZGVyAERvY3VtZW50TmFtZQBJbWFnZURlc2NyaXB0aW9uAE1ha2UATW9kZWwAT3JpZW50YXRpb24AU2FtcGxlc1BlclBpeGVsAFJvd3NQZXJTdHJpcABNaW5TYW1wbGVWYWx1ZQBNYXhTYW1wbGVWYWx1ZQBYUmVzb2x1dGlvbgBZUmVzb2x1dGlvbgBQbGFuYXJDb25maWd1cmF0aW9uAFBhZ2VOYW1lAFhQb3NpdGlvbgBZUG9zaXRpb24ARnJlZU9mZnNldHMARnJlZUJ5dGVDb3VudHMAR3JheVJlc3BvbnNlVW5pdABHcmF5UmVzcG9uc2VDdXJ2ZQBSZXNvbHV0aW9uVW5pdABQYWdlTnVtYmVyAENvbG9yUmVzcG9uc2VVbml0AFRyYW5zZmVyRnVuY3Rpb24AU29mdHdhcmUARGF0ZVRpbWUAQXJ0aXN0AEhvc3RDb21wdXRlcgBXaGl0ZVBvaW50AFByaW1hcnlDaHJvbWF0aWNpdGllcwBDb2xvck1hcABIYWxmdG9uZUhpbnRzAFRpbGVXaWR0aABUaWxlTGVuZ3RoAFRpbGVCeXRlQ291bnRzAFN1YklGRABJbmtOYW1lcwBOdW1iZXJPZklua3MARG90UmFuZ2UAVGFyZ2V0UHJpbnRlcgBFeHRyYVNhbXBsZXMAU2FtcGxlRm9ybWF0AFNNaW5TYW1wbGVWYWx1ZQBTTWF4U2FtcGxlVmFsdWUAQ2xpcFBhdGgAWENsaXBQYXRoVW5pdHMAWUNsaXBQYXRoVW5pdHMAWUNiQ3JDb2VmZmljaWVudHMAWUNiQ3JTdWJzYW1wbGluZwBZQ2JDclBvc2l0aW9uaW5nAFJlZmVyZW5jZUJsYWNrV2hpdGUAWE1MUGFja2V0AE1hdHRlaW5nAERhdGFUeXBlAEltYWdlRGVwdGgAVGlsZURlcHRoAEltYWdlRnVsbFdpZHRoAEltYWdlRnVsbExlbmd0aABUZXh0dXJlRm9ybWF0AFRleHR1cmVXcmFwTW9kZXMARmllbGRPZlZpZXdDb3RhbmdlbnQATWF0cml4V29ybGRUb1NjcmVlbgBNYXRyaXhXb3JsZFRvQ2FtZXJhAENvcHlyaWdodABSaWNoVElGRklQVEMAUGhvdG9zaG9wAEVYSUZJRkRPZmZzZXQASUNDIFByb2ZpbGUAR1BTSUZET2Zmc2V0AFN0b05pdHMASW50ZXJvcGVyYWJpbGl0eUlGRE9mZnNldABETkdWZXJzaW9uAEROR0JhY2t3YXJkVmVyc2lvbgBVbmlxdWVDYW1lcmFNb2RlbABMb2NhbGl6ZWRDYW1lcmFNb2RlbABDRkFQbGFuZUNvbG9yAENGQUxheW91dABMaW5lYXJpemF0aW9uVGFibGUAQmxhY2tMZXZlbFJlcGVhdERpbQBCbGFja0xldmVsAEJsYWNrTGV2ZWxEZWx0YUgAQmxhY2tMZXZlbERlbHRhVgBXaGl0ZUxldmVsAERlZmF1bHRTY2FsZQBCZXN0UXVhbGl0eVNjYWxlAERlZmF1bHRDcm9wT3JpZ2luAERlZmF1bHRDcm9wU2l6ZQBDb2xvck1hdHJpeDEAQ29sb3JNYXRyaXgyAENhbWVyYUNhbGlicmF0aW9uMQBDYW1lcmFDYWxpYnJhdGlvbjIAUmVkdWN0aW9uTWF0cml4MQBSZWR1Y3Rpb25NYXRyaXgyAEFuYWxvZ0JhbGFuY2UAQXNTaG90TmV1dHJhbABBc1Nob3RXaGl0ZVhZAEJhc2VsaW5lRXhwb3N1cmUAQmFzZWxpbmVOb2lzZQBCYXNlbGluZVNoYXJwbmVzcwBCYXllckdyZWVuU3BsaXQATGluZWFyUmVzcG9uc2VMaW1pdABDYW1lcmFTZXJpYWxOdW1iZXIATGVuc0luZm8AQ2hyb21hQmx1clJhZGl1cwBBbnRpQWxpYXNTdHJlbmd0aABTaGFkb3dTY2FsZQBETkdQcml2YXRlRGF0YQBNYWtlck5vdGVTYWZldHkAQ2FsaWJyYXRpb25JbGx1bWluYW50MQBDYWxpYnJhdGlvbklsbHVtaW5hbnQyAFJhd0RhdGFVbmlxdWVJRABPcmlnaW5hbFJhd0ZpbGVOYW1lAE9yaWdpbmFsUmF3RmlsZURhdGEAQWN0aXZlQXJlYQBNYXNrZWRBcmVhcwBBc1Nob3RJQ0NQcm9maWxlAEFzU2hvdFByZVByb2ZpbGVNYXRyaXgAQ3VycmVudElDQ1Byb2ZpbGUAQ3VycmVudFByZVByb2ZpbGVNYXRyaXgARXJyb3Igd3JpdGluZyBkYXRhIGZvciBmaWVsZCAiJXMiAE5vIHNwYWNlIHRvIHdyaXRlIHBlci1zYW1wbGUgdmFsdWVzAE5vIHNwYWNlIHRvIHdyaXRlIGFycmF5AE5vIHNwYWNlIHRvIHdyaXRlIHBlci1zYW1wbGUgc2hvcnRzAE5vIHNwYWNlIHRvIHdyaXRlIFJBVElPTkFMIGFycmF5ACIlcyI6IEluZm9ybWF0aW9uIGxvc3Qgd3JpdGluZyB2YWx1ZSAoJWcpIGFzICh1bnNpZ25lZCkgUkFUSU9OQUwAJXM6IEVycm9yIHdyaXRpbmcgU3ViSUZEIGRpcmVjdG9yeSBsaW5rAEVycm9yIGZldGNoaW5nIGRpcmVjdG9yeSBjb3VudABFcnJvciBmZXRjaGluZyBkaXJlY3RvcnkgbGluawBvcGVuVGlmZgBtb2Rlc3RyaW5nIG5vdCBkZWZpbmVkAFRJRkZPcGVuACVzOiBDYW5ub3Qgb3BlbgBUSUZGQ2xpZW50T3BlbgAlczogT3V0IG9mIG1lbW9yeSAoVElGRiBzdHJ1Y3R1cmUpAE9uZSBvZiB0aGUgY2xpZW50IHByb2NlZHVyZXMgaXMgTlVMTCBwb2ludGVyLgBDYW5ub3QgcmVhZCBUSUZGIGhlYWRlcgBFcnJvciB3cml0aW5nIFRJRkYgaGVhZGVyAE5vdCBhIFRJRkYgb3IgTURJIGZpbGUsIGJhZCBtYWdpYyBudW1iZXIgJWQgKDB4JXgpAFRoaXMgaXMgYSBCaWdUSUZGIGZpbGUuICBUaGlzIGZvcm1hdCBub3Qgc3VwcG9ydGVkCmJ5IHRoaXMgdmVyc2lvbiBvZiBsaWJ0aWZmLgBOb3QgYSBUSUZGIGZpbGUsIGJhZCB2ZXJzaW9uIG51bWJlciAlZCAoMHgleCkAJXM6IEZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSBhdCBvZmZzZXQgJXUAJXM6IGludmFsaWQgVElGRiBkaXJlY3Rvcnk7IHRhZ3MgYXJlIG5vdCBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyACVzOiB3cm9uZyBkYXRhIHR5cGUgJWQgZm9yICIlcyI7IHRhZyBpZ25vcmVkACVzOiB1bmtub3duIGZpZWxkIHdpdGggdGFnICVkICgweCV4KSBlbmNvdW50ZXJlZABSZWdpc3RlcmluZyBhbm9ueW1vdXMgZmllbGQgd2l0aCB0YWcgJWQgKDB4JXgpIGZhaWxlZABQbGFuYXJjb25maWcgdGFnIHZhbHVlIGFzc3VtZWQgaW5jb3JyZWN0LCBhc3N1bWluZyBkYXRhIGlzIGNvbnRpZyBpbnN0ZWFkIG9mIGNodW5reQBJbWFnZUxlbmd0aAB0aWxlcwBzdHJpcHMAJXM6IGNhbm5vdCBoYW5kbGUgemVybyBudW1iZXIgb2YgJXMAVGlsZU9mZnNldHMAU3RyaXBPZmZzZXRzAHRvIHJlYWQgIlRyYW5zZmVyRnVuY3Rpb24iIHRhZwBQaG90b21ldHJpYyB0YWcgaXMgbWlzc2luZywgYXNzdW1pbmcgZGF0YSBpcyBZQ2JDcgBQaG90b21ldHJpYyB0YWcgdmFsdWUgYXNzdW1lZCBpbmNvcnJlY3QsIGFzc3VtaW5nIGRhdGEgaXMgWUNiQ3IgaW5zdGVhZCBvZiBSR0IAQml0c1BlclNhbXBsZSB0YWcgaXMgbWlzc2luZywgYXNzdW1pbmcgOCBiaXRzIHBlciBzYW1wbGUAU2FtcGxlc1BlclBpeGVsIHRhZyBpcyBtaXNzaW5nLCBhc3N1bWluZyBjb3JyZWN0IFNhbXBsZXNQZXJQaXhlbCB2YWx1ZSBpcyAzAFNhbXBsZXNQZXJQaXhlbCB0YWcgaXMgbWlzc2luZywgYXNzdW1pbmcgY29ycmVjdCBTYW1wbGVzUGVyUGl4ZWwgdmFsdWUgaXMgMQBDb2xvcm1hcABTdHJpcEJ5dGVDb3VudHMAJXM6IFRJRkYgZGlyZWN0b3J5IGlzIG1pc3NpbmcgcmVxdWlyZWQgIiVzIiBmaWVsZCwgY2FsY3VsYXRpbmcgZnJvbSBpbWFnZWxlbmd0aAAlczogQm9ndXMgIiVzIiBmaWVsZCwgaWdub3JpbmcgYW5kIGNhbGN1bGF0aW5nIGZyb20gaW1hZ2VsZW5ndGgAJXM6IFdyb25nICIlcyIgZmllbGQsIGlnbm9yaW5nIGFuZCBjYWxjdWxhdGluZyBmcm9tIGltYWdlbGVuZ3RoACVzOiBjYW5ub3QgaGFuZGxlIHplcm8gc2NhbmxpbmUgc2l6ZQAlczogY2Fubm90IGhhbmRsZSB6ZXJvIHRpbGUgc2l6ZQAlczogY2Fubm90IGhhbmRsZSB6ZXJvIHN0cmlwIHNpemUAZm9yIGNob3BwZWQgIlN0cmlwQnl0ZUNvdW50cyIgYXJyYXkAZm9yIGNob3BwZWQgIlN0cmlwT2Zmc2V0cyIgYXJyYXkAZm9yICJTdHJpcEJ5dGVDb3VudHMiIGFycmF5ACVzOiBDYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgdW5rbm93biB0YWcgdHlwZSAlZAB1bmV4cGVjdGVkIGNvdW50IGZvciBmaWVsZCAiJXMiLCAldSwgZXhwZWN0ZWQgMjsgaWdub3JlZABFcnJvciBmZXRjaGluZyBkYXRhIGZvciBmaWVsZCAiJXMiAGZvciBzdHJpcCBhcnJheQB0byBmZXRjaCBzdHJpcCB0YWcAdG8gZmV0Y2ggcGVyLXNhbXBsZSB2YWx1ZXMAQ2Fubm90IGhhbmRsZSBkaWZmZXJlbnQgcGVyLXNhbXBsZSB2YWx1ZXMgZm9yIGZpZWxkICIlcyIAY2Fubm90IHJlYWQgVElGRl9BTlkgdHlwZSAlZCBmb3IgZmllbGQgIiVzIgB0byBmZXRjaCBhcnJheSBvZiByYXRpb25hbHMAJXM6IFJhdGlvbmFsIHdpdGggemVybyBkZW5vbWluYXRvciAobnVtID0gJXUpAFRJRkZOdW1iZXJPZlRpbGVzAFRJRkZOdW1iZXJPZlN0cmlwcwAlczogVElGRiBkaXJlY3RvcnkgaXMgbWlzc2luZyByZXF1aXJlZCAiJXMiIGZpZWxkAFRhZyAlZABpbmNvcnJlY3QgY291bnQgZm9yIGZpZWxkICIlcyIgKCV1LCBleHBlY3RpbmcgJXUpOyB0YWcgaWdub3JlZABpbmNvcnJlY3QgY291bnQgZm9yIGZpZWxkICIlcyIgKCV1LCBleHBlY3RpbmcgJXUpOyB0YWcgdHJpbW1lZABwZGlyAHRpZl9kaXJyZWFkLmMAJXM6IFNlZWsgZXJyb3IgYWNjZXNzaW5nIFRJRkYgZGlyZWN0b3J5ACVzOiBDYW4gbm90IHJlYWQgVElGRiBkaXJlY3RvcnkgY291bnQAdG8gcmVhZCBUSUZGIGRpcmVjdG9yeQAlLjEwMHM6IENhbiBub3QgcmVhZCBUSUZGIGRpcmVjdG9yeQAlczogQ2FuIG5vdCByZWFkIFRJRkYgZGlyZWN0b3J5AGZvciBJRkQgbGlzdAAiJXMiOiBCYWQgbW9kZQBwbmJ5dGVzIG5vdCBkZWZpbmVkAGxfYmluYXJ5UmVhZABmaWxlIHN0cmVhbSBub3Qgb3BlbmVkACZuYnl0ZXMgbm90IGRlZmluZWQARXJyb3IgaW4gJXM6IGNhbGxvYyBmYWlsIGZvciBkYXRhCgAmbnJlYWQgbm90IGRlZmluZWQAY2FsbG9jIGZhaWwgZm9yIGRhdGEASW5mbyBpbiAlczogJWx1IGJ5dGVzIHJlcXVlc3RlZDsgJWx1IGJ5dGVzIHJlYWQKACZmb3JtYXQgbm90IGRlZmluZWQAdHJ1bmNhdGVkIGZpbGUAZmFpbGVkIHRvIHJlYWQgZmlyc3QgMTIgYnl0ZXMgb2YgZmlsZQAmY29tcHR5cGUgbm90IGRlZmluZWQAcgB0aWYgbm90IG9wZW5lZABObyBzcGFjZSBmb3IgIlRyYW5zZmVyRnVuY3Rpb24iIHRhZwBmb3BlblRpZmYAVElGRnN0cmVhbQBieXRlIGJ1ZmZlciBub3QgZGVmaW5lZAD/T/9RAAAADGpQICANCocKZm5ieXRlc0luRmlsZQByYgBmaWxlIG5vdCBmb3VuZABudWxsIGlucHV0IGZvciBib3RoIHN0cmluZ3MAcGF0aG5hbWUgbm90IGRlZmluZWQAcGl4V3JpdGUAcGl4V3JpdGVTdHJlYW0AdW5rbm93biBmb3JtYXQAZmFpbHVyZSB0byB3cml0ZSBwaXggdG8gbWVtb3J5ACZkYXRhIGFuZCAmbmJ5dGVzIG5vdCBib3RoIGRlZmluZWQAcGRmIGRhdGEgbm90IG1hZGUAZmFpbHVyZSB3cml0aW5nIHBkZiBkYXRhIHRvIHN0cmVhbQAmZGF0YSBvciAmbmJ5dGVzIG5vdCBkZWZpbmVkAHBpeFdyaXRlTWVtUGRmAHBpeFdyaXRlU3RyZWFtV2ViUABwaXhXcml0ZVN0cmVhbUpwMmsAZnVuY3Rpb24gbm90IHByZXNlbnQAcGl4V3JpdGVTdHJlYW1HaWYAcGl4YyBub3QgbWFkZQBoZXhkYXRhIG5vdCBtYWRlAG91dHN0ciBub3QgbWFkZQBoZXhkYXRhIG5vdCBkZWZpbmVkAHNhIG5vdCBtYWRlACUhQWRvYmUtUFMAJSUlJUJvdW5kaW5nQm94OiAlNy4yZiAlNy4yZiAlNy4yZiAlNy4yZgBnc2F2ZQB7MSBleGNoIHN1Yn0gc2V0dHJhbnNmZXIgICAgJWludmVydCBiaW5hcnkAL2JwbCAlZCBzdHJpbmcgZGVmICAgICAgICAgJSVicGwgYXMgYSBzdHJpbmcAJTcuMmYgJTcuMmYgdHJhbnNsYXRlICAgICAgICAgJSVzZXQgaW1hZ2Ugb3JpZ2luIGluIHB0cwAlNy4yZiAlNy4yZiBzY2FsZSAgICAgICAgICAgICAlJXNldCBpbWFnZSBzaXplIGluIHB0cwAlZCAlZCAlZCAgICAgICAgICAgICAgICAgJSVpbWFnZSBkaW1lbnNpb25zIGluIHBpeGVscwBbJWQgJWQgJWQgJWQgJWQgJWRdICAgICAlJW1hcHBpbmcgbWF0cml4OiBbdyAwIDAgLWggMCBoXQB7Y3VycmVudGZpbGUgYnBsIHJlYWRoZXhzdHJpbmcgcG9wfSBpbWFnZQB7Y3VycmVudGZpbGUgYnBsIHJlYWRoZXhzdHJpbmcgcG9wfSBmYWxzZSAzIGNvbG9yaW1hZ2UAe2N1cnJlbnRmaWxlIGJwbCByZWFkaGV4c3RyaW5nIHBvcH0gYmluZCBpbWFnZQB7Y3VycmVudGZpbGUgYnBsIHJlYWRoZXhzdHJpbmcgcG9wfSBiaW5kIGZhbHNlIDMgY29sb3JpbWFnZQAKc2hvd3BhZ2UACmdyZXN0b3JlAFdhcm5pbmcgaW4gJXM6IHJlcyAlZCBvdXQgb2YgYm91bmRzOyB1c2luZyBkZWZhdWx0IHJlczsgbm8gc2NhbGluZwoAV2FybmluZyBpbiAlczogbGVmdCBlZGdlIDwgMC4wIGluY2gKAFdhcm5pbmcgaW4gJXM6IHJpZ2h0IGVkZ2UgPiA4LjUgaW5jaAoAV2FybmluZyBpbiAlczogYm90dG9tIGVkZ2UgPCAwLjAgaW5jaAoAV2FybmluZyBpbiAlczogdG9wIGVkZ2UgPiAxMS4wIGluY2gKAGRlcHRoIG5vdCBpbiB7MSwgMiwgNCwgOCwgMTYsIDMyfQBkIG5vdCBpbiB7MSwyLDQsOCwxNiwyNCwzMn0AUDQKIyBSYXcgUEJNIGZpbGUgd3JpdHRlbiBieSBsZXB0b25pY2EgKHd3dy5sZXB0b25pY2EuY29tKQolZCAlZAoAUDUKIyBSYXcgUEdNIGZpbGUgd3JpdHRlbiBieSBsZXB0b25pY2EgKHd3dy5sZXB0b25pY2EuY29tKQolZCAlZAolZAoAUDYKIyBSYXcgUFBNIGZpbGUgd3JpdHRlbiBieSBsZXB0b25pY2EgKHd3dy5sZXB0b25pY2EuY29tKQolZCAlZAoyNTUKAGltYWdlIHdyaXRlIGZhaWwAUDcKIyBBcmJpdHJhcnkgUEFNIGZpbGUgd3JpdHRlbiBieSBsZXB0b25pY2EgKHd3dy5sZXB0b25pY2EuY29tKQoAV0lEVEggJWQKAEhFSUdIVCAlZAoAREVQVEggJWQKAE1BWFZBTCAlZAoAVFVQTFRZUEUgQkxBQ0tBTkRXSElURQoAVFVQTFRZUEUgR1JBWVNDQUxFCgBUVVBMVFlQRSBSR0IKAFRVUExUWVBFIFJHQl9BTFBIQQoARU5ESERSCgB3AGEAbW9kZXN0ciBub3QgJ3cnIG9yICdhJwBXYXJuaW5nIGluICVzOiBpbnZhbGlkIGNvbXByZXNzaW9uIHR5cGUgZm9yIGJwcCA+IDEKAHRpZiB3cml0ZSBlcnJvcgB0aWYgc3RyZWFtIG5vdCBkZWZpbmVkAFdhcm5pbmcgaW4gJXM6IHRvbyBtYW55IGNvbG9ycyBpbiBjbWFwIGZvciB0aWZmOyB0cnVuY2F0aW5nCgBXYXJuaW5nIGluICVzOiB1bmtub3duIHRpZmYgY29tcHJlc3Npb247IHVzaW5nIG5vbmUKAEJpZyB0cm91YmxlOiB0aWZmYnBsID0gJWQsIGJwbCA9ICVkCgBjYWxsb2MgZmFpbCBmb3IgbGluZWJ1ZgBDYW4gbm90IGNoYW5nZSAiSW1hZ2VMZW5ndGgiIHdoZW4gdXNpbmcgc2VwYXJhdGUgcGxhbmVzACVkOiBTYW1wbGUgb3V0IG9mIHJhbmdlLCBtYXggJWQAdGQtPnRkX3BsYW5hcmNvbmZpZyA9PSBQTEFOQVJDT05GSUdfQ09OVElHAFRJRkZHcm93U3RyaXBzACVzOiBObyBzcGFjZSB0byBleHBhbmQgc3RyaXAgYXJyYXlzACVzOiBObyBzcGFjZSBmb3Igb3V0cHV0IGJ1ZmZlcgAlczogRmlsZSBub3Qgb3BlbiBmb3Igd3JpdGluZwBDYW4gbm90IHdyaXRlIHNjYW5saW5lcyB0byBhIHRpbGVkIGltYWdlACVzOiBNdXN0IHNldCAiSW1hZ2VXaWR0aCIgYmVmb3JlIHdyaXRpbmcgZGF0YQAlczogTXVzdCBzZXQgIlBsYW5hckNvbmZpZ3VyYXRpb24iIGJlZm9yZSB3cml0aW5nIGRhdGEAdGlsZQBzdHJpcAAlczogTm8gc3BhY2UgZm9yICVzIGFycmF5cwBub3QgYWxsIGFycmF5cyBkZWZpbmVkAG5vdCBhbGwgc2EgdGhlIHNhbWUgc2l6ZQB0b28gbWFueSA0LWFyZyB0YWcgY2FsbHMAY2hhcioAbF91aW50OCoAV2FybmluZyBpbiAlczogYXJyYXkgdHlwZSBub3QgY2hhciogb3IgbF91aW50OCo7IGlnbm9yZQoAbF91aW50MTYAJXUAdmFsICVzIG5vdCBvZiB0eXBlICVzCgBjdXN0b20gdGFnKHMpIG5vdCB3cml0dGVuAGxfdWludDMyAGxfaW50MzIAbF9mbG9hdDY0ACVsZgBsX3VpbnQxNi1sX3VpbnQxNgAldS0ldQB1bmtub3duIHR5cGU7IHRhZyhzKSBub3Qgd3JpdHRlbgBwbmdfcHRyIG5vdCBtYWRlAGluZm9fcHRyIG5vdCBtYWRlAGludGVybmFsIHBuZyBlcnJvcgBwaXgxIG5vdCBtYWRlAHBuZ193cml0ZV9pbmZvIHdhcyBuZXZlciBjYWxsZWQgYmVmb3JlIHBuZ193cml0ZV9yb3cAemxpYiBlcnJvcgBJbnZhbGlkIHpsaWIgY29tcHJlc3Npb24gbWV0aG9kIG9yIGZsYWdzIGluIElEQVQAQ2FsbCB0byBOVUxMIHdyaXRlIGZ1bmN0aW9uAE91dCBvZiBNZW1vcnkAbGlicG5nIGVycm9yOiAlcwAKAE5vIElEQVRzIHdyaXR0ZW4gaW50byBmaWxlAElFTkQAdEVYdAB6ZXJvIGxlbmd0aCBrZXl3b3JkAE91dCBvZiBtZW1vcnkgd2hpbGUgcHJvY2VzaW5nIGtleXdvcmQAaW52YWxpZCBrZXl3b3JkIGNoYXJhY3RlciAweCUwMlgAdHJhaWxpbmcgc3BhY2VzIHJlbW92ZWQgZnJvbSBrZXl3b3JkAGxlYWRpbmcgc3BhY2VzIHJlbW92ZWQgZnJvbSBrZXl3b3JkAGV4dHJhIGludGVyaW9yIHNwYWNlcyByZW1vdmVkIGZyb20ga2V5d29yZABaZXJvIGxlbmd0aCBrZXl3b3JkAGtleXdvcmQgbGVuZ3RoIG11c3QgYmUgMSAtIDc5IGNoYXJhY3RlcnMAbGlicG5nIHdhcm5pbmc6ICVzAHpUWHQAVW5rbm93biBjb21wcmVzc2lvbiB0eXBlICVkAEVtcHR5IGxhbmd1YWdlIGZpZWxkIGluIGlUWHQgY2h1bmsAaVRYdABJbnZhbGlkIHRpbWUgc3BlY2lmaWVkIGZvciB0SU1FIGNodW5rAHRJTUUAVmFsaWQgcGFsZXR0ZSByZXF1aXJlZCBmb3IgcGFsZXR0ZWQgaW1hZ2VzAHNQTFQAVW5yZWNvZ25pemVkIHVuaXQgdHlwZSBmb3IgcEhZcyBjaHVuawBwSFlzACUxMi4xMmUAc0NBTABwQ0FMAFVucmVjb2duaXplZCB1bml0IHR5cGUgZm9yIG9GRnMgY2h1bmsAb0ZGcwBJbnZhbGlkIG51bWJlciBvZiBoaXN0b2dyYW0gZW50cmllcyBzcGVjaWZpZWQAaElTVABJbnZhbGlkIGJhY2tncm91bmQgcGFsZXR0ZSBpbmRleABiS0dEAElnbm9yaW5nIGF0dGVtcHQgdG8gd3JpdGUgMTYtYml0IGJLR0QgY2h1bmsgd2hlbiBiaXRfZGVwdGggaXMgOABJZ25vcmluZyBhdHRlbXB0IHRvIHdyaXRlIGJLR0QgY2h1bmsgb3V0LW9mLXJhbmdlIGZvciBiaXRfZGVwdGgASW52YWxpZCBudW1iZXIgb2YgdHJhbnNwYXJlbnQgY29sb3JzIHNwZWNpZmllZAB0Uk5TAElnbm9yaW5nIGF0dGVtcHQgdG8gd3JpdGUgdFJOUyBjaHVuayBvdXQtb2YtcmFuZ2UgZm9yIGJpdF9kZXB0aABJZ25vcmluZyBhdHRlbXB0IHRvIHdyaXRlIDE2LWJpdCB0Uk5TIGNodW5rIHdoZW4gYml0X2RlcHRoIGlzIDgAQ2FuJ3Qgd3JpdGUgdFJOUyB3aXRoIGFuIGFscGhhIGNoYW5uZWwASW52YWxpZCBudW1iZXIgb2YgY29sb3JzIGluIHBhbGV0dGUASWdub3JpbmcgcmVxdWVzdCB0byB3cml0ZSBhIFBMVEUgY2h1bmsgaW4gZ3JheXNjYWxlIFBORwBXcml0aW5nIHplcm8tbGVuZ3RoIHVua25vd24gY2h1bmsAY0hSTQBJZ25vcmluZyBhdHRlbXB0IHRvIHNldCBuZWdhdGl2ZSBjaHJvbWF0aWNpdHkgdmFsdWUASWdub3JpbmcgYXR0ZW1wdCB0byBzZXQgY2hyb21hdGljaXR5IHZhbHVlIGV4Y2VlZGluZyAyMTQ3NC44MwBJbnZhbGlkIGNIUk0gd2hpdGUgcG9pbnQASW52YWxpZCBjSFJNIHJlZCBwb2ludABJbnZhbGlkIGNIUk0gZ3JlZW4gcG9pbnQASW52YWxpZCBjSFJNIGJsdWUgcG9pbnQASWdub3JpbmcgYXR0ZW1wdCB0byBzZXQgY0hSTSBSR0IgdHJpYW5nbGUgd2l0aCB6ZXJvIGFyZWEASW52YWxpZCBzQklUIGRlcHRoIHNwZWNpZmllZABzQklUAFVua25vd24gY29tcHJlc3Npb24gdHlwZSBpbiBpQ0NQIGNodW5rAEVtYmVkZGVkIHByb2ZpbGUgbGVuZ3RoIGluIGlDQ1AgY2h1bmsgaXMgbmVnYXRpdmUARW1iZWRkZWQgcHJvZmlsZSBsZW5ndGggdG9vIGxhcmdlIGluIGlDQ1AgY2h1bmsAVHJ1bmNhdGluZyBwcm9maWxlIHRvIGFjdHVhbCBsZW5ndGggaW4gaUNDUCBjaHVuawBpQ0NQAEludmFsaWQgc1JHQiByZW5kZXJpbmcgaW50ZW50IHNwZWNpZmllZABzUkdCAGdBTUEASW52YWxpZCBiaXQgZGVwdGggZm9yIGdyYXlzY2FsZSBpbWFnZQBJbnZhbGlkIGJpdCBkZXB0aCBmb3IgUkdCIGltYWdlAEludmFsaWQgYml0IGRlcHRoIGZvciBwYWxldHRlZCBpbWFnZQBJbnZhbGlkIGJpdCBkZXB0aCBmb3IgZ3JheXNjYWxlK2FscGhhIGltYWdlAEludmFsaWQgYml0IGRlcHRoIGZvciBSR0JBIGltYWdlAEludmFsaWQgaW1hZ2UgY29sb3IgdHlwZSBzcGVjaWZpZWQASW52YWxpZCBjb21wcmVzc2lvbiB0eXBlIHNwZWNpZmllZABJbnZhbGlkIGZpbHRlciB0eXBlIHNwZWNpZmllZABJbnZhbGlkIGludGVybGFjZSB0eXBlIHNwZWNpZmllZABJSERSAHpsaWIgZmFpbGVkIHRvIGluaXRpYWxpemUgY29tcHJlc3NvciAtLSB2ZXJzaW9uIGVycm9yAHpsaWIgZmFpbGVkIHRvIGluaXRpYWxpemUgY29tcHJlc3NvciAtLSBzdHJlYW0gZXJyb3IAemxpYiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBjb21wcmVzc29yIC0tIG1lbSBlcnJvcgB6bGliIGZhaWxlZCB0byBpbml0aWFsaXplIGNvbXByZXNzb3IAUG90ZW50aWFsIG92ZXJmbG93IGluIHBuZ196YWxsb2MoKQBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHN0b3JlIHRleHQAdGV4dCBjb21wcmVzc2lvbiBtb2RlIGlzIG91dCBvZiByYW5nZQBMaW1pdGluZyBnYW1tYSB0byAyMTQ3NC44MwBTZXR0aW5nIGdhbW1hPTAASWdub3JpbmcgaW52YWxpZCBudW1fdHJhbnMgdmFsdWUAdFJOUyBjaHVuayBoYXMgb3V0LW9mLXJhbmdlIHNhbXBsZXMgZm9yIGJpdF9kZXB0aABJbnZhbGlkIHBhbGV0dGUgbGVuZ3RoAEltYWdlIHdpZHRoIGlzIHplcm8gaW4gSUhEUgBJbnZhbGlkIGltYWdlIHdpZHRoIGluIElIRFIASW1hZ2Ugd2lkdGggaXMgdG9vIGxhcmdlIGZvciB0aGlzIGFyY2hpdGVjdHVyZQBJbWFnZSB3aWR0aCBleGNlZWRzIHVzZXIgbGltaXQgaW4gSUhEUgBJbWFnZSBoZWlnaHQgaXMgemVybyBpbiBJSERSAEludmFsaWQgaW1hZ2UgaGVpZ2h0IGluIElIRFIASW1hZ2UgaGVpZ2h0IGV4Y2VlZHMgdXNlciBsaW1pdCBpbiBJSERSAEludmFsaWQgYml0IGRlcHRoIGluIElIRFIASW52YWxpZCBjb2xvciB0eXBlIGluIElIRFIASW52YWxpZCBjb2xvciB0eXBlL2JpdCBkZXB0aCBjb21iaW5hdGlvbiBpbiBJSERSAFVua25vd24gaW50ZXJsYWNlIG1ldGhvZCBpbiBJSERSAFVua25vd24gY29tcHJlc3Npb24gbWV0aG9kIGluIElIRFIATU5HIGZlYXR1cmVzIGFyZSBub3QgYWxsb3dlZCBpbiBhIFBORyBkYXRhc3RyZWFtAFVua25vd24gZmlsdGVyIG1ldGhvZCBpbiBJSERSAEludmFsaWQgZmlsdGVyIG1ldGhvZCBpbiBJSERSAEludmFsaWQgSUhEUiBkYXRhAEF0dGVtcHRlZCB0byBzZXQgYm90aCByZWFkX2RhdGFfZm4gYW5kIHdyaXRlX2RhdGFfZm4gaW4AdGhlIHNhbWUgc3RydWN0dXJlLiAgUmVzZXR0aW5nIHJlYWRfZGF0YV9mbiB0byBOVUxMAFdyaXRlIEVycm9yAEluZm8gaW4gJXM6IHJlbW92aW5nIGNvbG9ybWFwOyBtYXkgYmUgYmV0dGVyIHRvIGNvbXByZXNzIGxvc3NsZXNzbHkKAEluZm8gaW4gJXM6IGNvbnZlcnRpbmcgZnJvbSAlZCB0byA4IGJwcAoAaW50ZXJuYWwganBlZyBlcnJvcgBXYXJuaW5nIGluICVzOiB0ZXh0IGlzICVsdSBieXRlczsgY2xpcHBpbmcgdG8gNjU0MzMKAGNhbGxvYyBmYWlsIGZvciByb3didWZmZXIAV3JpdGUgZXJyb3IAJmZkYXRhIG5vdCBkZWZpbmVkAHBpeFdyaXRlTWVtQm1wACZmc2l6ZSBub3QgZGVmaW5lZABXYXJuaW5nIGluICVzOiAyIGJwcCBmaWxlcyBjYW4ndCBiZSByZWFkOyBjb252ZXJ0aW5nIHRvIDggYnBwCgBpbWFnZSBkYXRhIGlzIHRvbyBsYXJnZQBmYWlsZWQgdG8gbWFrZSBkaXJuYW1lAC9sZXB0LlhYWFhYWABta3N0ZW1wIGZhaWxlZAByZXN1bHQgbm90IGRlZmluZWQARXJyb3IgaW4gJXM6IHJlc3VsdCBhcnJheSB0b28gc21hbGwgZm9yIHBhdGgKAGRpciBzdGFydHMgd2l0aCAnLi4nAHBhdGhKb2luAGZuYW1lIHN0YXJ0cyB3aXRoICcuLicAcGl4cyBub3QgOCBvciAzMiBicHAAbm8gcmVzdWx0cyByZXF1ZXN0ZWQAcGl4V3JpdGVKcGVnAHdiKwBwaXggbm90IHdyaXR0ZW4gdG8gc3RyZWFtACZ0eXBlIG5vdCBkZWZpbmVkAHR5cGUgc2VsZWN0aW9uIGZhaWx1cmUAJm5jb2xvcnMgbm90IGRlZmluZWQAcGl4TnVtQ29sb3JzAGQgbm90IGluIHsyLCA0LCA4LCAzMn0AV2FybmluZyBpbiAlczogY29sb3JtYXAgc2l6ZSAlZCBkaWZmZXJzIGZyb20gYWN0dWFsIGNvbG9ycwoAcGEgbm90IG1hZGUAcHRyYUNyZWF0ZQBuZWdhdGl2ZSBib3JkZXIgcmVtb3ZlZCEAd2lkdGggbXVzdCBiZSA+IDAAaGVpZ2h0IG11c3QgYmUgPiAwAHBpeHMgYW5kIHBpeGQgbm90IGJvdGggZGVmaW5lZABwaXhzIG5vdCAzMiBicHAgYW5kIDQgc3BwAFdhcm5pbmcgaW4gJXM6IG9ubHkgZ290ICVkIGNvbXBvbmVudHMKAGJveGFXcml0ZU1lbQBJbmZvIGluICVzOiB3b3JrLWFyb3VuZDogd3JpdGluZyB0byBhIHRlbXAgZmlsZQoAdG1wZmlsZSBzdHJlYW0gbm90IG9wZW5lZAAKQm94YSBWZXJzaW9uICVkCgBOdW1iZXIgb2YgYm94ZXMgPSAlZAoAYm94IG5vdCBmb3VuZAAgIEJveFslZF06IHggPSAlZCwgeSA9ICVkLCB3ID0gJWQsIGggPSAlZAoAcGl4U2V0QWxsAGNtYXAgZW50cnkgZG9lcyBub3QgZXhpc3QAcGl4cyBub3QgMzIgYnBwAFdhcm5pbmcgaW4gJXM6IG5vIGFscGhhIGNoYW5uZWw7IHJldHVybmluZyBjbG9uZQoAcGl4czEgbm90IGRlZmluZWQAcGl4czIgbm90IGRlZmluZWQAcGl4czEgb3IgcGl4czIgaXMgMSBicHAAbm8gYWxwaGE7IHBpeHMyIG5vdCByZ2JhAGRlcHRocyBub3QgcmVndWxhcml6ZWQhIGJhZCEAcGl4Q29udmVydFRvMzIAZGVwdGggbm90IDEsIDIsIDQsIDgsIDE2LCAzMiBicHAAcGl4cyBub3QgMjQgYnBwAHBpeHMgbm90IDggYnBwAHBpeEFkZEJvcmRlcgBuZWdhdGl2ZSBib3JkZXIgYWRkZWQhAGRlcHRoIG5vdCBpbiB7MSwyLDQsOCwxNiwzMn0AZmFjdG9yIDw9IDA7IGludmFsaWQAaW52YWxpZCBkZXB0aAoAaW52YWxpZCBzY2FsZSBmYWN0b3I6IDw9IDAAZmFjdG9yIG11c3QgYmUgaW4gezIsNCw4LDE2fQBwaXhzIG11c3QgYmUgYmluYXJ5AGxldmVscyBtdXN0IG5vdCBleGNlZWQgNABXYXJuaW5nIGluICVzOiBubyByZWR1Y3Rpb24gYmVjYXVzZSBsZXZlbDEgbm90ID4gMAoAdGFiIG5vdCBtYWRlAHBpeHMgbm90IGJpbmFyeQBsZXZlbCBtdXN0IGJlIGluIHNldCB7MSwyLDMsNH0AaHMgbXVzdCBiZSBhdCBsZWFzdCAyAHBpeHMgbm90IDEgYnBwAGhzaXplIGFuZCB2c2l6ZSBub3QgPj0gMQBwcm9jZXNzTW9ycGhBcmdzMSBmYWlsZWQAcGl4RXJvZGUAJnhwIChldGMpIGRlZmluZWQAJnBpeHQgbm90IGRlZmluZWQAc2VsIG5vdCBkZWZpbmVkAHNlbCBvZiBzaXplIDAAcGl4RGlsYXRlAHBpeENsZWFyQWxsAHNlbERlc3Ryb3kAcGl4ZCBub3QgcmV0dXJuZWQAcGl4Q2xvc2UAaCBhbmQgdyBtdXN0IGJvdGggYmUgPiAwAHNlbENyZWF0ZUJyaWNrAHNlbCBub3QgbWFkZQBzZWxTZXRPcmlnaW4Ac2VsQ3JlYXRlAGRhdGEgbm90IGFsbG9jYXRlZABwaXhDbG9zZUJyaWNrAHBpeE9wZW5CcmljawBwaXhPcGVuAHBpeEVyb2RlQnJpY2sAcGl4RGlsYXRlQnJpY2sAaW5kZXggbm90IHZhbGlkAFdhcm5pbmcgaW4gJXM6IHB0ciBhZGRyZXNzIGlzIE5VTEwhCgBzYXJyYXlEZXN0cm95AHNhcnJheUdldENvdW50AHN0ciBub3QgZGVmaW5lZABzZXBhcmF0b3JzIG5vdCBkZWZpbmVkAHNlcHMgbm90IGRlZmluZWQAc3RydG9rU2FmZQAmc2F2ZXB0ciBub3QgZGVmaW5lZABwdHIgYXJyYXkgbm90IG1hZGUAc2FycmF5Q3JlYXRlAHBpeENsb25lAHBpeEJsb2NrY29udgBXYXJuaW5nIGluICVzOiBwaXggaGFzIGNvbG9ybWFwOyByZW1vdmluZwoAZGVwdGggbm90IDggb3IgMzIgYnBwACZlbXB0eSBub3QgZGVmaW5lZABwaXhaZXJvAHBpeEludmVydABwaXhHZXREZXB0aABwaXhBbmQAbnVtYUdldEZWYWx1ZQBuYSBub3QgZGVmaW5lZABudW1hR2V0RkFycmF5AG51bWFTZXRDb3VudABkZXB0aCBub3QgaW4gezEsMiw0LDgsMTZ9AHBpeENvdW50UGl4ZWxzAHBpeCBub3QgZGVmaW5lZCBvciBub3QgMSBicHAAY29ubmVjdGl2aXR5IG5vdCA0IG9yIDgARXJyb3IgaW4gJXM6IGNvbm5lY3Rpdml0eSBtdXN0IGJlIDQgb3IgOAoAcGl4U2V0TWFza2VkAFdhcm5pbmcgaW4gJXM6IG5vIG1hc2s7IG5vdGhpbmcgdG8gZG8KAFdhcm5pbmcgaW4gJXM6IHBpeGQgYW5kIHBpeG0gc2l6ZXMgZGlmZmVyCgBjb25uZWN0aXZpdHkgbm90IGluIHs0LDh9AHJhbmt2YWwgbm90IGluIFswLjAgLi4uIDEuMF0AaW52YWxpZCBzb3J0b3JkZXIAYXJyYXkgbm90IG1hZGUAaWFycmF5IG5vdCBtYWRlAFdhcm5pbmcgaW4gJXM6IG5vIGZyZWUgY29sb3IgZW50cmllcwoAcHRhR2V0Q291bnQAcHRhR2V0SVB0AHB0YWQgbm90IGRlZmluZWQAcHRhSm9pbgBpc3RhcnQgPiBpZW5kOyBubyBwdHMAcGl4IG5vdCBkZWZpbmVkAHB0YSBub3QgbWFkZQBwdGEgbm90IGRlZmluZWQAZGVwdGggbm90IGluIHsxLDIsNCw4LDMyfQBjdGEgbm90IGRlZmluZWQoISkAcGl4UmVuZGVyUHRhAHBpeCBpcyBjb2xvcm1hcHBlZABXYXJuaW5nIGluICVzOiB3aWR0aCA8IDE7IHNldHRpbmcgdG8gMQoAcHRhaiBub3QgbWFkZQBib3hhcyBub3QgZGVmaW5lZABib3hhU29ydABXYXJuaW5nIGluICVzOiBib3hhcyBpcyBlbXB0eQoAaW52YWxpZCBzb3J0IHR5cGUAV2FybmluZyBpbiAlczogaW52YWxpZCBzb3J0IHR5cGUKAG5haW5kZXggbm90IG1hZGUAbmFpbmRleCBub3QgZGVmaW5lZABib3hhQmluU29ydABuYXMgbm90IGRlZmluZWQAaW52YWxpZCBzb3J0IG9yZGVyAFdhcm5pbmcgaW4gJXM6IGxhcmdlIGFycmF5OiAlZCBlbGVtZW50cwoAcHRyYVJlbW92ZUxhc3QAbmFkIG5vdCBkZWZpbmVkAG51bWFKb2luAGlzdGFydCA+IGllbmQ7IG5vdGhpbmcgdG8gYWRkAHB0cmFJbnNlcnQAaW5kZXggbm90IGluIFswIC4uLiBuYWxsb2NdAG5vdGhpbmcgdG8gZG8AbnVtYUdldE1heABwaXggdW5kZWZpbmVkIG9yIG5vdCAxIGJwcAByb3cgb3V0IG9mIGJvdW5kcwBwaXhSZWFkAEVycm9yIGluICVzOiBpbWFnZSBmaWxlIG5vdCBmb3VuZDogJXMKAHBpeFJlYWRTdHJlYW0AYm1wOiBubyBwaXggcmV0dXJuZWQAanBlZzogbm8gcGl4IHJldHVybmVkAHBuZzogbm8gcGl4IHJldHVybmVkAHRpZmY6IG5vIHBpeCByZXR1cm5lZABwbm06IG5vIHBpeCByZXR1cm5lZABnaWY6IG5vIHBpeCByZXR1cm5lZABqcDI6IG5vIHBpeCByZXR1cm5lZAB3ZWJwOiBubyBwaXggcmV0dXJuZWQARXJyb3IgaW4gJXM6IFBvc3RTY3JpcHQgcmVhZGluZyBpcyBub3Qgc3VwcG9ydGVkCgBFcnJvciBpbiAlczogUGRmIHJlYWRpbmcgaXMgbm90IHN1cHBvcnRlZAoAc3BpeDogbm8gcGl4IHJldHVybmVkAFVua25vd24gZm9ybWF0OiBubyBwaXggcmV0dXJuZWQAaW52YWxpZCBkYXRhAGludmFsaWQgaWQgc3RyaW5nAGludmFsaWQgd2lkdGgAaW52YWxpZCBoZWlnaHQAYXJlYSB0b28gbGFyZ2UAaW52YWxpZCBuY29sb3JzAGZhaWxlZCB0byBtYWtlIGhlYWRlcgBFcnJvciBpbiAlczogcGl4ZGF0YV9zaXplID0gJWQsIG1lbWRhdGFfc2l6ZSA9ICVkLCBpbWRhdGFfc2l6ZSA9ICVkIG5vdCBhbGwgZXF1YWwhCgBubyBlbnRyaWVzAG5jb2xvcnMgPiAyNTYAcGl4Y21hcEFkZFJHQkEAcGl4UmVhZFN0cmVhbVdlYlAAcGl4UmVhZFN0cmVhbUpwMmsAcGl4UmVhZFN0cmVhbUdpZgBoZWFkZXIgcmVhZCBmYWlsZWQAaW52YWxpZCBicHMAaW52YWxpZCBzcHAAcmVhZCBhYmVuZAByZWFkIGVycm9yIGluIDQAZXJyb3IgaW4gNQAxNiBicHAgZXJyb3IAcmVhZCBlcnJvciB0eXBlIDYAcmVhZCBlcnJvciB0eXBlIDcAJnZhbCBub3QgZGVmaW5lZABzdHJlYW0gbm90IG9wZW4AJWQAZnJlYWRIZWFkZXJQbm0AUCVkCgBpbnZhbGlkIHJlYWQgZm9yIHR5cGUAaW52YWxpZCBwbm0gZmlsZQBubyBkYXRhIGluIGZpbGUAZm91bmQgbm8gbmV4dCB0YWcAV0lEVEgAZmFpbGVkIHJlYWRpbmcgd2lkdGgASEVJR0hUAGZhaWxlZCByZWFkaW5nIGhlaWdodABERVBUSABmYWlsZWQgcmVhZGluZyBkZXB0aABNQVhWQUwAZmFpbGVkIHJlYWRpbmcgbWF4dmFsAFRVUExUWVBFAGZhaWxlZCByZWFkaW5nIHR1cGxlIHR5cGUARU5ESERSAG1pc3NpbmcgTEYgYWZ0ZXIgRU5ESERSAEluZm8gaW4gJXM6IGludmFsaWQgc2l6ZTogdyA9ICVkLCBoID0gJWQKAEluZm8gaW4gJXM6IGludmFsaWQgbWF4dmFsID0gJWQKAEluZm8gaW4gJXM6IGludmFsaWQgZGVwdGggPSAlZAoAJWQgJWQKAGludmFsaWQgcmVhZCBmb3IgdyxoAGludmFsaWQgcmVhZCBmb3IgbWF4dmFsICgyLDUpAG1heHZhbCA9ICVkCgBpbnZhbGlkIG1heHZhbABpbnZhbGlkIHJlYWQgZm9yIG1heHZhbCAoMyw2KQBXYXJuaW5nIGluICVzOiB1bmV4cGVjdGVkIG1heHZhbCA9ICVkCgBlbmQgb2YgZmlsZSByZWFjaGVkAGNoYXIgcmVhZCBpcyBub3QgYSBkaWdpdABubyB3aGl0ZXNwYWNlIGZvdW5kAGludmFsaWQgcmVhZABidWZmIG5vdCBkZWZpbmVkAHNpemUgaXMgdG9vIHNtYWxsAGJ1ZmYgc2l6ZSB0b28gc21hbGwAdGlmIG5vdCBkZWZpbmVkAFdhcm5pbmcgaW4gJXM6IGJwcCA9ICVkOyBzdHJpcHBpbmcgMTYgYml0IHJnYiBzYW1wbGVzIGRvd24gdG8gOAoAc3BwIG5vdCBpbiBzZXQgezEsMyw0fQBsaW5lIHJlYWQgZmFpbABjYWxsb2MgZmFpbCBmb3IgdGlmZmRhdGEAZmFpbGVkIHRvIHJlYWQgdGlmZmRhdGEAaW52YWxpZCBicHM7ID4gOABjbWFwIG5vdCBtYWRlAHBpeFJvdGF0ZTkwAHBpeHMgbm90IGluIHsxLDIsNCw4LDE2LDMyfSBicHAAaW52YWxpZCBkaXJlY3Rpb24ARXJyb3IgaW4gJXM6IGlsbGVnYWwgZGVwdGg6ICVkCgBwaXhGbGlwTFIAYnVmZmVyIG5vdCBtYWRlAGNhbGxvYyBmYWlsIGZvciB0YWIAcGl4RmxpcFRCACVzAE5vICJnZXQiIHJvdXRpbmUgc2V0dXAATm8gInB1dCIgcm91dGluZSBzZXR1cGw7IHByb2JhYmx5IGNhbiBub3QgaGFuZGxlIGltYWdlIGZvcm1hdABTb3JyeSwgY2FuIG5vdCBoYW5kbGUgaW1hZ2VzIHdpdGggJWQtYml0IHNhbXBsZXMATWlzc2luZyBuZWVkZWQgJXMgdGFnAE1pc3NpbmcgcmVxdWlyZWQgIkNvbG9ybWFwIiB0YWcAT3V0IG9mIG1lbW9yeSBmb3IgY29sb3JtYXAgY29weQBTb3JyeSwgY2FuIG5vdCBoYW5kbGUgY29udGlndW91cyBkYXRhIHdpdGggJXM9JWQsIGFuZCAlcz0lZCBhbmQgQml0cy9TYW1wbGU9JWQAU2FtcGxlcy9waXhlbABTb3JyeSwgY2FuIG5vdCBoYW5kbGUgUkdCIGltYWdlIHdpdGggJXM9JWQAQ29sb3IgY2hhbm5lbHMAU29ycnksIGNhbiBub3QgaGFuZGxlIHNlcGFyYXRlZCBpbWFnZSB3aXRoICVzPSVkAElua1NldABTb3JyeSwgTG9nTCBkYXRhIG11c3QgaGF2ZSAlcz0lZABDb21wcmVzc2lvbgBTb3JyeSwgTG9nTHV2IGRhdGEgbXVzdCBoYXZlICVzPSVkIG9yICVkAFNvcnJ5LCBjYW4gbm90IGhhbmRsZSBMb2dMdXYgaW1hZ2VzIHdpdGggJXM9JWQAUGxhbmFyY29uZmlndXJhdGlvbgBTb3JyeSwgY2FuIG5vdCBoYW5kbGUgaW1hZ2Ugd2l0aCAlcz0lZABTb3JyeSwgY2FuIG5vdCBoYW5kbGUgaW1hZ2UATm8gc3BhY2UgZm9yIFlDYkNyLT5SR0IgY29udmVyc2lvbiBzdGF0ZQBObyBzcGFjZSBmb3IgdGlsZSBidWZmZXIAJWxkOiBTdHJpcCBvdXQgb2YgcmFuZ2UsIG1heCAlbGQARmlsZSBub3Qgb3BlbiBmb3IgcmVhZGluZwBDYW4gbm90IHJlYWQgdGlsZXMgZnJvbSBhIHN0cmlwcGVkIGltYWdlAENhbiBub3QgcmVhZCBzY2FubGluZXMgZnJvbSBhIHRpbGVkIGltYWdlACVsZDogVGlsZSBvdXQgb2YgcmFuZ2UsIG1heCAlbGQAJWx1OiBDb2wgb3V0IG9mIHJhbmdlLCBtYXggJWx1ACVsdTogRGVwdGggb3V0IG9mIHJhbmdlLCBtYXggJWx1AE5vIHNwYWNlIGZvciBDSUUgTCphKmIqLT5SR0IgY29udmVyc2lvbiBzdGF0ZS4AQXNzdW1pbmcgOC1iaXQgY29sb3JtYXAATm8gc3BhY2UgZm9yIFBhbGV0dGUgbWFwcGluZyB0YWJsZQBObyBzcGFjZSBmb3IgcGhvdG9tZXRyaWMgY29udmVyc2lvbiB0YWJsZQBObyBzcGFjZSBmb3IgQiZXIG1hcHBpbmcgdGFibGUATm8gc3BhY2UgZm9yIHN0cmlwIGJ1ZmZlcgBTb3JyeSwgcmVxdWVzdGVkIGNvbXByZXNzaW9uIG1ldGhvZCBpcyBub3QgY29uZmlndXJlZAAlbHU6IFJvdyBvdXQgb2YgcmFuZ2UsIG1heCAlbHUAJWx1OiBTYW1wbGUgb3V0IG9mIHJhbmdlLCBtYXggJWx1ACVzOiBFcnJvciBmZXRjaGluZyBkaXJlY3RvcnkgY291bnQAJXM6IEVycm9yIGZldGNoaW5nIGRpcmVjdG9yeSBsaW5rAGVuZF9pbmZvIG5vdCBtYWRlAEhlbHA6IHNwcCA9IDMgYW5kIGRlcHRoID0gJWQgIT0gOAohIQBub3QgaW1wbGVtZW50ZWQgZm9yIHRoaXMgZGVwdGgASW5mbyBpbiAlczogY29udmVydGluZyAoZ3JheSArIGFscGhhKSA9PT4gUkdCQQoASW5mbyBpbiAlczogdHJhbnNwYXJlbmN5LCAxIHNwcCwgbm8gY29sb3JtYXAsIG5vIHRyYW5zcGFyZW5jeSBhcnJheTogY29udmVudGlvbiBpcyBmdWxseSB0cmFuc3BhcmVudCBpbWFnZQoASW5mbyBpbiAlczogY29udmVydGluZyAoZnVsbHkgdHJhbnNwYXJlbnQgMSBzcHApID09PiBSR0JBCgBJbmZvIGluICVzOiBjb252ZXJ0aW5nIChjbWFwICsgYWxwaGEpID09PiBSR0JBCgBjbWFwLCB0Uk5TLCBidXQgbm8gdHJhbnNwYXJlbmN5IGFycmF5AEluZm8gaW4gJXM6IGNvbnZlcnRpbmcgMSBicHAgY21hcCB3aXRoIGFscGhhID09PiBSR0JBCgBJbmZvIGluICVzOiBudW1fdHJhbnMgPSAxOyBzZWNvbmQgY29sb3Igb3BhcXVlIGJ5IGRlZmF1bHQKAEluZm8gaW4gJXM6IGNvbnZlcnRpbmcgOCBicHAgY21hcCB3aXRoIGFscGhhID09PiBSR0JBCgBFcnJvciBpbiAlczogc3BwID09IDEsIGNtYXAsIHRyYW5zIGFycmF5LCBpbnZhbGlkIGRlcHRoOiAlZAoASW1hZ2UgaXMgdG9vIGhpZ2ggdG8gcHJvY2VzcyB3aXRoIHBuZ19yZWFkX3BuZygpAElIRFIASUVORABJREFUAFRvbyBtYW55IElEQVRzIGZvdW5kAFBMVEUAYktHRABjSFJNAGdBTUEAaElTVABvRkZzAHBDQUwAc0NBTABwSFlzAHNCSVQAc1JHQgBpQ0NQAHNQTFQAdEVYdAB0SU1FAHRSTlMAelRYdABpVFh0AE5vIHNwYWNlIGluIGNodW5rIGNhY2hlIGZvciBpVFh0AE1pc3NpbmcgSUhEUiBiZWZvcmUgaVRYdABObyBtZW1vcnkgdG8gcHJvY2VzcyBpVFh0IGNodW5rAFRydW5jYXRlZCBpVFh0IGNodW5rAE1hbGZvcm1lZCBpVFh0IGNodW5rAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHByb2Nlc3MgaVRYdCBjaHVuawBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHN0b3JlIGlUWHQgY2h1bmsAaW52YWxpZCBjaHVua2xlbmd0aABFeGNlZWRlZCBzaXplIGxpbWl0IHdoaWxlIGV4cGFuZGluZyBjaHVuawBwbmdfaW5mbGF0ZSBsb2dpYyBlcnJvcgBOb3QgZW5vdWdoIG1lbW9yeSB0byBkZWNvbXByZXNzIGNodW5rAFVua25vd24gelRYdCBjb21wcmVzc2lvbiB0eXBlICVkAEJ1ZmZlciBlcnJvciBpbiBjb21wcmVzc2VkIGRhdGFzdHJlYW0gaW4gJXMgY2h1bmsARGF0YSBlcnJvciBpbiBjb21wcmVzc2VkIGRhdGFzdHJlYW0gaW4gJXMgY2h1bmsASW5jb21wbGV0ZSBjb21wcmVzc2VkIGRhdGFzdHJlYW0gaW4gJXMgY2h1bmsAQ2FsbCB0byBOVUxMIHJlYWQgZnVuY3Rpb24ATm8gc3BhY2UgaW4gY2h1bmsgY2FjaGUgZm9yIHpUWHQATWlzc2luZyBJSERSIGJlZm9yZSB6VFh0AE91dCBvZiBtZW1vcnkgcHJvY2Vzc2luZyB6VFh0IGNodW5rAFRydW5jYXRlZCB6VFh0IGNodW5rAFVua25vd24gY29tcHJlc3Npb24gdHlwZSBpbiB6VFh0IGNodW5rAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHByb2Nlc3MgelRYdCBjaHVuawBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHN0b3JlIHpUWHQgY2h1bmsATWlzc2luZyBJSERSIGJlZm9yZSB0Uk5TAEludmFsaWQgdFJOUyBhZnRlciBJREFUAER1cGxpY2F0ZSB0Uk5TIGNodW5rAEluY29ycmVjdCB0Uk5TIGNodW5rIGxlbmd0aABNaXNzaW5nIFBMVEUgYmVmb3JlIHRSTlMAWmVybyBsZW5ndGggdFJOUyBjaHVuawB0Uk5TIGNodW5rIG5vdCBhbGxvd2VkIHdpdGggYWxwaGEgY2hhbm5lbABPdXQgb2YgcGxhY2UgdElNRSBjaHVuawBEdXBsaWNhdGUgdElNRSBjaHVuawBJbmNvcnJlY3QgdElNRSBjaHVuayBsZW5ndGgASWdub3JpbmcgaW52YWxpZCB0aW1lIHZhbHVlAE5vIHNwYWNlIGluIGNodW5rIGNhY2hlIGZvciB0RVh0AE1pc3NpbmcgSUhEUiBiZWZvcmUgdEVYdABObyBtZW1vcnkgdG8gcHJvY2VzcyB0ZXh0IGNodW5rAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHByb2Nlc3MgdGV4dCBjaHVuawBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHByb2Nlc3MgdGV4dCBjaHVuawBObyBzcGFjZSBpbiBjaHVuayBjYWNoZSBmb3Igc1BMVABNaXNzaW5nIElIRFIgYmVmb3JlIHNQTFQASW52YWxpZCBzUExUIGFmdGVyIElEQVQAbWFsZm9ybWVkIHNQTFQgY2h1bmsAc1BMVCBjaHVuayBoYXMgYmFkIGxlbmd0aABzUExUIGNodW5rIHRvbyBsb25nAHNQTFQgY2h1bmsgcmVxdWlyZXMgdG9vIG11Y2ggbWVtb3J5AE5vIG1lbW9yeSBmb3Igc1BMVCBwYWxldHRlcwBPdXQgb2YgbWVtb3J5IHdoaWxlIHByb2Nlc3Npbmcgc1BMVCBjaHVuawBNaXNzaW5nIElIRFIgYmVmb3JlIGlDQ1AASW52YWxpZCBpQ0NQIGFmdGVyIElEQVQAT3V0IG9mIHBsYWNlIGlDQ1AgY2h1bmsARHVwbGljYXRlIGlDQ1AgY2h1bmsATWFsZm9ybWVkIGlDQ1AgY2h1bmsASWdub3Jpbmcgbm9uemVybyBjb21wcmVzc2lvbiB0eXBlIGluIGlDQ1AgY2h1bmsAUHJvZmlsZSBzaXplIGZpZWxkIG1pc3NpbmcgZnJvbSBpQ0NQIGNodW5rAElnbm9yaW5nIHRydW5jYXRlZCBpQ0NQIHByb2ZpbGUAZGVjbGFyZWQgcHJvZmlsZSBzaXplID0gJWx1AGFjdHVhbCBwcm9maWxlIGxlbmd0aCA9ICVsdQBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHByb2Nlc3MgaUNDUCBjaHVuawBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHByb2Nlc3MgaUNDUCBwcm9maWxlAE1pc3NpbmcgSUhEUiBiZWZvcmUgc1JHQgBJbnZhbGlkIHNSR0IgYWZ0ZXIgSURBVABPdXQgb2YgcGxhY2Ugc1JHQiBjaHVuawBEdXBsaWNhdGUgc1JHQiBjaHVuawBJbmNvcnJlY3Qgc1JHQiBjaHVuayBsZW5ndGgAVW5rbm93biBzUkdCIGludGVudABJZ25vcmluZyBpbmNvcnJlY3QgZ0FNQSB2YWx1ZSB3aGVuIHNSR0IgaXMgYWxzbyBwcmVzZW50AGluY29ycmVjdCBnYW1tYT0oJWQvMTAwMDAwKQoASWdub3JpbmcgaW5jb3JyZWN0IGNIUk0gdmFsdWUgd2hlbiBzUkdCIGlzIGFsc28gcHJlc2VudABTZXR0aW5nIG5lZ2F0aXZlIGdhbW1hIHRvIHplcm8ATWlzc2luZyBJSERSIGJlZm9yZSBzQklUAEludmFsaWQgc0JJVCBhZnRlciBJREFUAE91dCBvZiBwbGFjZSBzQklUIGNodW5rAER1cGxpY2F0ZSBzQklUIGNodW5rAEluY29ycmVjdCBzQklUIGNodW5rIGxlbmd0aABNaXNzaW5nIElIRFIgYmVmb3JlIHBIWXMASW52YWxpZCBwSFlzIGFmdGVyIElEQVQARHVwbGljYXRlIHBIWXMgY2h1bmsASW5jb3JyZWN0IHBIWXMgY2h1bmsgbGVuZ3RoAE1pc3NpbmcgSUhEUiBiZWZvcmUgc0NBTABJbnZhbGlkIHNDQUwgYWZ0ZXIgSURBVABEdXBsaWNhdGUgc0NBTCBjaHVuawBzQ0FMIGNodW5rIHRvbyBzaG9ydABPdXQgb2YgbWVtb3J5IHdoaWxlIHByb2Nlc3Npbmcgc0NBTCBjaHVuawBtYWxmb3JtZWQgd2lkdGggc3RyaW5nIGluIHNDQUwgY2h1bmsAVHJ1bmNhdGVkIHNDQUwgY2h1bmsAbWFsZm9ybWVkIGhlaWdodCBzdHJpbmcgaW4gc0NBTCBjaHVuawBJbnZhbGlkIHNDQUwgZGF0YQBNaXNzaW5nIElIRFIgYmVmb3JlIHBDQUwASW52YWxpZCBwQ0FMIGFmdGVyIElEQVQARHVwbGljYXRlIHBDQUwgY2h1bmsATm8gbWVtb3J5IGZvciBwQ0FMIHB1cnBvc2UASW52YWxpZCBwQ0FMIGRhdGEASW52YWxpZCBwQ0FMIHBhcmFtZXRlcnMgZm9yIGVxdWF0aW9uIHR5cGUAVW5yZWNvZ25pemVkIGVxdWF0aW9uIHR5cGUgZm9yIHBDQUwgY2h1bmsATm8gbWVtb3J5IGZvciBwQ0FMIHBhcmFtcwBJbnN1ZmZpY2llbnQgbWVtb3J5IGZvciBwQ0FMIHB1cnBvc2UASW5zdWZmaWNpZW50IG1lbW9yeSBmb3IgcENBTCB1bml0cwBJbnN1ZmZpY2llbnQgbWVtb3J5IGZvciBwQ0FMIHBhcmFtcwBJbnN1ZmZpY2llbnQgbWVtb3J5IGZvciBwQ0FMIHBhcmFtZXRlcgBNaXNzaW5nIElIRFIgYmVmb3JlIG9GRnMASW52YWxpZCBvRkZzIGFmdGVyIElEQVQARHVwbGljYXRlIG9GRnMgY2h1bmsASW5jb3JyZWN0IG9GRnMgY2h1bmsgbGVuZ3RoAE1pc3NpbmcgSUhEUiBiZWZvcmUgaElTVABJbnZhbGlkIGhJU1QgYWZ0ZXIgSURBVABNaXNzaW5nIFBMVEUgYmVmb3JlIGhJU1QARHVwbGljYXRlIGhJU1QgY2h1bmsASW5jb3JyZWN0IGhJU1QgY2h1bmsgbGVuZ3RoAEludmFsaWQgcGFsZXR0ZSBzaXplLCBoSVNUIGFsbG9jYXRpb24gc2tpcHBlZABJbnN1ZmZpY2llbnQgbWVtb3J5IGZvciBoSVNUIGNodW5rIGRhdGEATWlzc2luZyBJSERSIGJlZm9yZSBnQU1BAEludmFsaWQgZ0FNQSBhZnRlciBJREFUAE91dCBvZiBwbGFjZSBnQU1BIGNodW5rAER1cGxpY2F0ZSBnQU1BIGNodW5rAEluY29ycmVjdCBnQU1BIGNodW5rIGxlbmd0aABJZ25vcmluZyBnQU1BIGNodW5rIHdpdGggZ2FtbWE9MABnYW1tYSA9ICglZC8xMDAwMDApAE1pc3NpbmcgSUhEUiBiZWZvcmUgY0hSTQBJbnZhbGlkIGNIUk0gYWZ0ZXIgSURBVABNaXNzaW5nIFBMVEUgYmVmb3JlIGNIUk0ARHVwbGljYXRlIGNIUk0gY2h1bmsASW5jb3JyZWN0IGNIUk0gY2h1bmsgbGVuZ3RoAHd4PSVmLCB3eT0lZiwgcng9JWYsIHJ5PSVmCgBneD0lZiwgZ3k9JWYsIGJ4PSVmLCBieT0lZgoATWlzc2luZyBJSERSIGJlZm9yZSBiS0dEAEludmFsaWQgYktHRCBhZnRlciBJREFUAE1pc3NpbmcgUExURSBiZWZvcmUgYktHRABEdXBsaWNhdGUgYktHRCBjaHVuawBJbmNvcnJlY3QgYktHRCBjaHVuayBsZW5ndGgASW5jb3JyZWN0IGJLR0QgY2h1bmsgaW5kZXggdmFsdWUATWlzc2luZyBJSERSIGJlZm9yZSBQTFRFAEludmFsaWQgUExURSBhZnRlciBJREFUAER1cGxpY2F0ZSBQTFRFIGNodW5rAElnbm9yaW5nIFBMVEUgY2h1bmsgaW4gZ3JheXNjYWxlIFBORwBJbnZhbGlkIHBhbGV0dGUgY2h1bmsAVHJ1bmNhdGluZyBpbmNvcnJlY3QgdFJOUyBjaHVuayBsZW5ndGgAVHJ1bmNhdGluZyBpbmNvcnJlY3QgaW5mbyB0Uk5TIGNodW5rIGxlbmd0aABObyBzcGFjZSBpbiBjaHVuayBjYWNoZSBmb3IgdW5rbm93biBjaHVuawBJREFUAHVua25vd24gY3JpdGljYWwgY2h1bmsAZXJyb3IgaW4gdXNlciBjaHVuawBPdXQgb2YgbWVtb3J5IHdoaWxlIHByb2Nlc3NpbmcgdW5rbm93biBjaHVuawBObyBpbWFnZSBpbiBmaWxlAEluY29ycmVjdCBJRU5EIGNodW5rIGxlbmd0aABPdXQgb2YgcGxhY2UgSUhEUgBJbnZhbGlkIElIRFIgY2h1bmsAUE5HIHVuc2lnbmVkIGludGVnZXIgb3V0IG9mIHJhbmdlAGNodW5rIGRhdGEgaXMgdG9vIGxhcmdlAGludmFsaWQgY2h1bmsgdHlwZQBDUkMgZXJyb3IASW52YWxpZCBhdHRlbXB0IHRvIHJlYWQgcm93IGRhdGEASURBVABEZWNvbXByZXNzaW9uIGVycm9yAE5VTEwgcm93IGJ1ZmZlciBmb3Igcm93ICVsZCwgcGFzcyAlZABQYWxldHRlIGlzIE5VTEwgaW4gaW5kZXhlZCBpbWFnZQBwbmdfZG9fcmdiX3RvX2dyYXkgZm91bmQgbm9uZ3JheSBwaXhlbABwbmdfZG9fcXVhbnRpemUgcmV0dXJuZWQgcm93Ynl0ZXM9MABJZ25vcmluZyBiYWQgYWRhcHRpdmUgZmlsdGVyIHR5cGUASURBVABOb3QgZW5vdWdoIGltYWdlIGRhdGEARXh0cmEgY29tcHJlc3NlZCBkYXRhAERlY29tcHJlc3Npb24gRXJyb3IARXh0cmEgY29tcHJlc3Npb24gZGF0YQBSb3cgaGFzIHRvbyBtYW55IGJ5dGVzIHRvIGFsbG9jYXRlIGluIG1lbW9yeQBpbnZhbGlkIGJhY2tncm91bmQgZ2FtbWEgdHlwZQBJZ25vcmluZyBleHRyYSBwbmdfcmVhZF91cGRhdGVfaW5mbygpIGNhbGw7IHJvdyBidWZmZXIgbm90IHJlYWxsb2NhdGVkAElEQVQASUhEUgBJRU5EAFBMVEUATWlzc2luZyBJSERSIGJlZm9yZSBJREFUAE1pc3NpbmcgUExURSBiZWZvcmUgSURBVABiS0dEAGNIUk0AZ0FNQQBoSVNUAG9GRnMAcENBTABzQ0FMAHBIWXMAc0JJVABzUkdCAGlDQ1AAc1BMVAB0RVh0AHRJTUUAdFJOUwB6VFh0AGlUWHQATm90IGEgUE5HIGZpbGUAUE5HIGZpbGUgY29ycnVwdGVkIGJ5IEFTQ0lJIGNvbnZlcnNpb24AiVBORw0KGgoxLjQuMjIAQXBwbGljYXRpb24gd2FzIGNvbXBpbGVkIHdpdGggcG5nLmggZnJvbSBsaWJwbmctJS4yMHMAQXBwbGljYXRpb24gIGlzICBydW5uaW5nIHdpdGggcG5nLmMgZnJvbSBsaWJwbmctJS4yMHMASW5jb21wYXRpYmxlIGxpYnBuZyB2ZXJzaW9uIGluIGFwcGxpY2F0aW9uIGFuZCBsaWJyYXJ5ADEuMi41AHpsaWIgbWVtb3J5IGVycm9yAHpsaWIgdmVyc2lvbiBlcnJvcgBVbmtub3duIHpsaWIgZXJyb3IASXQncyBhbiBlcnJvciB0byBzZXQgYm90aCByZWFkX2RhdGFfZm4gYW5kIHdyaXRlX2RhdGFfZm4gaW4gdGhlIABzYW1lIHN0cnVjdHVyZS4gIFJlc2V0dGluZyB3cml0ZV9kYXRhX2ZuIHRvIE5VTEwAUmVhZCBFcnJvcgAmY29tbWVudCBub3QgZGVmaW5lZAByZWR1Y3Rpb24gbm90IGluIHsxLDIsNCw4fQBJbmZvIGluICVzOiByZWFkaW5nIGx1bWluYW5jZSBjaGFubmVsIG9ubHkKAHNwcCBtdXN0IGJlIDEgb3IgMywgb3IgWUNDSyBvciBDTVlLAHJvd2J1ZmZlciBvciBwaXggbm90IG1hZGUARXJyb3IgaW4gJXM6IHJlYWQgZXJyb3IgYXQgc2NhbmxpbmUgJWQKAGJhZCBkYXRhAG91dHB1dCBzcHAgPSAlZCwgc3BwID0gJWQKAEVycm9yIGluICVzOiBmYWlsIHdpdGggJWQgd2FybmluZyhzKSBvZiBiYWQgZGF0YQoAV2FybmluZyBpbiAlczogJWQgd2FybmluZyhzKSBvZiBiYWQgZGF0YQoAcGl4UmVhZE1lbUJtcABibWYgc2l6ZSBlcnJvcgBub3QgYm1mIGZvcm1hdABjYW5ub3QgcmVhZCBjb21wcmVzc2VkIEJNUCBmaWxlcwB3aWR0aCA8IDEAd2lkdGggdG9vIGxhcmdlAGhlaWdodCA8IDEAaGVpZ2h0IHRvbyBsYXJnZQBucGl4ZWxzIHRvbyBsYXJnZQBkZXB0aCBub3QgaW4gezEsIDIsIDQsIDgsIDE2LCAyNCwgMzJ9AGludmFsaWQgaW1hZ2VieXRlcwBpbnZhbGlkOiBjbWFwIHNpemUgPCAwIG9yIDEAaW52YWxpZCBjbWFwOiB0b28gbGFyZ2UAc2l6ZSBpbmNvbW1lbnN1cmF0ZSB3aXRoIGltYWdlIGRhdGEAY21hcEJ1ZiBhbGxvYyBmYWlsACZjb3VudCBub3QgZGVmaW5lZABzdGFjayBub3QgbWFkZQoAcGl4U2VlZGZpbGwAcGl4U2VlZGZpbGw4AHB1c2hGaWxsc2VnAHBpeFNlZWRmaWxsNAAhcGl4cyBvciBwaXhzIG5vdCAxIGJwcABwaXhkIG5vdCBtYWRlAGJtZkNyZWF0ZQBibWYgbm90IG1hZGUAZm9udCBwaXhhIG5vdCBtYWRlAGZvbnR0YWIgbm90IG1hZGUAYmFzZWxpbmV0YWIgbm90IG1hZGUAd2lkdGh0YWIgbm90IG1hZGUAYm1mR2V0UGl4AEVycm9yIGluICVzOiBubyBiaXRtYXAgcmVwcmVzZW50YXRpb24gZm9yICVkCgBwaXhhIG5vdCBmb3VuZABibWZHZXRXaWR0aABXYXJuaW5nIGluICVzOiBwdHIgYWRkcmVzcyBpcyBudWxsIQoAYm1mRGVzdHJveQAmYmwgbm90IGFsbCBkZWZpbmVkAEluZm8gaW4gJXM6IG5yb3dzID0gJWQ7IHNraXBwaW5nIGZvbnRzaXplICVkCgAzIHJvd3Mgbm90IGdlbmVyYXRlZAA5NSBjaGFycyBub3QgZ2VuZXJhdGVkAHBpeGFSZXBsYWNlUGl4AGJveGFSZXBsYWNlQm94AGJveGFSZW1vdmVCb3gAaW5kZXggbm90IGluIHswLi4ubiAtIDF9ACZ5IG5vdCBkZWZpbmVkAHBpeCBub3QgcmVhZABpbnZhbGlkIGZvbnQgc2l6ZQBkYXRhIG5vdCBtYWRlAHBpeFJlYWRNZW0Ac2l6ZSA8IDEyAGpwMms6IG5vIHBpeCByZXR1cm5lZABwaXhSZWFkTWVtV2ViUABwaXhSZWFkTWVtSnAyawBwaXhSZWFkTWVtR2lmAHBpeFJlYWRNZW1Qbm0AY2RhdGEgbm90IGRlZmluZWQAcGl4UmVhZE1lbVRpZmYAdGlmZmVycm9yAHRpZmYgc3RyZWFtIG5vdCBvcGVuZWQAb3BlcmF0aW9uIG5vdCBkZWZpbmVkACZkYXRhc2l6ZSBub3QgZGVmaW5lZABvcCBub3QgJ3InIG9yICd3JwBiYWQgd2hlbmNlIHZhbHVlAEJhZCBmaWxlOiBhbW91bnQgdG9vIGJpZzogJWx1CgBmaWxlZGF0YSBub3QgZGVmaW5lZABwaXhSZWFkTWVtUG5nAGludmFsaWQgZmlsZXNpemUAcGl4UmVhZE1lbUpwZWcARXJyb3IgaW4gJXM6IHBpeCBub3QgcmVhZAoAZGVjb2RlQmFzZTY0AGludmFsaWQgY2hhciBpbiBpbmFycmF5AGJ5dGVhIG5vdCBtYWRlAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8AJmJhc2VsaW5lIG5vdCBkZWZpbmVkAGJtZkdldEJhc2VsaW5lAGJveGFDbGVhcgBubyBwdHJzIGRlZmluZWQAYm94YUdldEV4dGVudABwaXhTZXRJblJlY3QAcGl4Q2xlYXJJblJlY3QAZ2VuZXJhdGVQdGFCb3gAYm94IGhhcyB3ID0gMCBvciBoID0gMABubyBvdXRwdXQgcmVxdWVzdGVkAHBpeHMgbm90IGRlZmluZWQgb3Igbm90IDEgYnBwAGJveCBub3Qgd2l0aGluIGltYWdlACZsb2Mgbm90IGRlZmluZWQAaW52YWxpZCBib3gAaW52YWxpZCBzY2FuZmxhZwBFcnJvciBpbiAlczogbm8gYml0bWFwIGZvbnRzOyByZXR1cm5pbmcgYSBjb3B5CgBXYXJuaW5nIGluICVzOiBubyB0ZXh0c3RyaW5nIGRlZmluZWQ7IHJldHVybmluZyBhIGNvcHkKAGxpbmUgc3RyaW5nIHNhIG5vdCBtYWRlAHBpeFNldFRleHRsaW5lAGJtZiBub3QgZGVmaW5lZAB0ZXN0c3RyIG5vdCBkZWZpbmVkAHNhd29yZHMgbm90IG1hZGUAbmEgbm90IG1hZGUAbm8gd29yZHMgaW4gdGV4dHN0cgBzYSBub3QgZGVmaW5lZAAmdyBub3QgZGVmaW5lZABwaXhPcgBwaXhtIHVuZGVmaW5lZCBvciBub3QgMSBicHAAcHNhbWUgbm90IGRlZmluZWQAcGl4MSBub3QgZGVmaW5lZABwaXgyIG5vdCBkZWZpbmVkAEluZm8gaW4gJXM6IHBpeCBzaXplcyBkaWZmZXIKAEluZm8gaW4gJXM6IG5vIGNvbG9ybWFwcywgcGl4IGRlcHRocyB1bmVxdWFsLCBhbmQgb25lIG9mIHRoZW0gaXMgUkdCCgBJbmZvIGluICVzOiBvbmUgcGl4IGlzIDE2IGJwcAoASW5mbyBpbiAlczogZmFpbHVyZSB0byBjb252ZXJ0IHRvIDggYnBwCgBwaXhzIGhhcyBjb2xvcm1hcABkZXB0aCA+IGQAJmNvbG9yIG5vdCBkZWZpbmVkAHBpeHMgbm90IGRlZmluZWQAJnNhbWUgbm90IGRlZmluZWQASW5mbyBpbiAlczogYm90aCBpbWFnZXMgZG9uJ3QgaGF2ZSBjb2xvcm1hcAoASW5mbyBpbiAlczogcGl4IGRlcHRoIG5vdCBpbiB7MSwgMiwgNCwgOH0KAGNtYXBFcXVhbABjbWFwMSBub3QgZGVmaW5lZABjbWFwMiBub3QgZGVmaW5lZABJbmZvIGluICVzOiBjb2xvcm1hcCBzaXplcyBhcmUgZGlmZmVyZW50CgAmb3BhcXVlIG5vdCBkZWZpbmVkAHBpeGFHZXRCb3gAYm94YSBub3QgZGVmaW5lZABwaXhTdWJ0cmFjdABwaXhhQ29weQBwaXhhQWRkQm94AGJveCBub3QgZGVmaW5lZAAmaGFzY21hcCBub3QgZGVmaW5lZABwaXhhIG5vdCBkZWZpbmVkAHBpeGFHZXRCb3hhAHBpeGFEaXNwbGF5AG5vIGNvbXBvbmVudHM7IG5vIHNpemUAV2FybmluZyBpbiAlczogbm8gY29tcG9uZW50czsgcmV0dXJuaW5nIGVtcHR5IDEgYnBwIHBpeAoAbm8gYXNzb2NpYXRlZCBib3hhAFdhcm5pbmcgaW4gJXM6IG5vIGJveCBmb3VuZCEKAGJveCBub3QgZm91bmQhAHBpeFJvdGF0ZU9ydGgAcXVhZHMgbm90IGluIHswLDEsMiwzfQBwaXhSb3RhdGUxODAAcmVhZEhlYWRlckpwMmsAZnAgbm90IGRlZmluZWQAcmVhZCBmYWlsdXJlAHNpemUgPCA4MABub3QganAyIGZpbGUAaW1hZ2UgcGFyYW1ldGVycyBub3QgZm91bmQAdW5yZWFsaXN0aWNhbGx5IGxhcmdlIHNpemVzAHBpeGEgaXMgZW1wdHkAcGl4cyB1bmRlZmluZWQgb3Igbm90IDEgYnBwAEVycm9yIGluICVzOiBwaXggdG9vIHNtYWxsOiB3ID0gJWQsIGggPSAlZAoAbmVpdGhlciBmbmFtZSBub3IgcGl4IGFyZSBkZWZpbmVkAHN0ZGluAFdhcm5pbmcgaW4gJXM6IGZpbGUgJXMgZm9ybWF0IGlzIHVua25vd24KAEVycm9yIGluICVzOiBmaWxlICVzIGlzIHVuc3VwcG9ydGVkIGZvcm1hdCAlZAoAcGl4dCBub3QgbWFkZQBFcnJvciBpbiAlczogdG90YWxseSBrZXJmbHVtbW94ZWQKAHBpeCBub3QgbWFkZQB1bmFibGUgdG8gcmVhZCBmaWxlAHVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkARXJyb3IgaW4gJXM6IGludmFsaWQgcG5nOiBpID0gJWQsIG4gPSAlZCwgbmJ5dGVzID0gJWx1CgBJREFUAFBMVEUARXJyb3IgaW4gJXM6IGludmFsaWQgcG5nOiBpID0gJWQsIG4gPSAlZCwgY21hcHNpemUgPSAlZAoAaW52YWxpZCBQTkcgZmlsZQBwaXhzIG5vdCBtYWRlAHN0cmVhbSBub3Qgb3BlbmVkACZ4cmVzIGFuZCAmeXJlcyBub3QgYm90aCBkZWZpbmVkAHN0cmVhbSBub3QgZGVmaW5lZABmcmVhZEhlYWRlclBuZwBmaWxlIHRvbyBzbWFsbCB0byBiZSBwbmcATEVQVF9DQUxMT0MgZmFpbCBmb3IgZGF0YQBlcnJvciByZWFkaW5nIGRhdGEAZGF0YSBub3QgZGVmaW5lZABzaXplIDwgNDAAbm90IGEgdmFsaWQgcG5nIGZpbGUASW5mbyBpbiAlczogZ3JheSArIGFscGhhOiB3aWxsIGV4dHJhY3QgYXMgUkdCQSAoc3BwID0gNCkKAGZpbGVuYW1lIG5vdCBkZWZpbmVkAHJlYWRIZWFkZXJQbmcAJmludGVybGFjZWQgbm90IGRlZmluZWQAZGF0YSBub3QgcmVhZABkYXRhIG5vdCBleHRyYWN0ZWQAZmluZEZpbGVGb3JtYXQAaW1hZ2UgZmlsZSBub3QgZm91bmQAYm1wOiBwaXggbm90IHJlYWQAanBlZzogbm8gaGVhZGVyIGluZm8gcmV0dXJuZWQAcG5nOiBubyBoZWFkZXIgaW5mbyByZXR1cm5lZAB0aWZmOiBubyBoZWFkZXIgaW5mbyByZXR1cm5lZABwbm06IG5vIGhlYWRlciBpbmZvIHJldHVybmVkAGdpZjogcGl4IG5vdCByZWFkAFBvc3RTY3JpcHQgcmVhZGluZyBpcyBub3Qgc3VwcG9ydGVkCgBQZGYgcmVhZGluZyBpcyBub3Qgc3VwcG9ydGVkCgBpbnB1dCBwdHIocykgbm90IGRlZmluZWQAbm90IGEgdmFsaWQgc3BpeCBmaWxlAGlucHV0IHB0cihzKSBub3QgYWxsIGRlZmluZWQAJmZyYWN0IG5vdCBkZWZpbmVkAHBpeGFTZXRCb3hhAHBpeGFDbGVhcgBubyBjb21wb25lbnRzAHBpeGFzIG5vdCBkZWZpbmVkAHBpeFdyaXRlTWVtACZkYXRhIG5vdCBkZWZpbmVkACZzaXplIG5vdCBkZWZpbmVkACZwaXggbm90IGRlZmluZWQAJmZpbGVkYXRhIG5vdCBkZWZpbmVkAHBpeFdyaXRlTWVtUG5nACZmaWxlc2l6ZSBub3QgZGVmaW5lZABzaXplIDwgOAB1bmtub3duIGZvcm1hdDsgbm8gZGF0YSByZXR1cm5lZAByZWFkSGVhZGVyTWVtV2ViUABoZWFkZXIgZGF0YSByZWFkIGZhaWxlZABwaXhSZW1vdmVBbHBoYQBmbmFtZSBub3QgZGVmaW5lZAAmb2Zmc2V0IG5vdCBkZWZpbmVkAEVycm9yIGluICVzOiB0aWYgb3BlbiBmYWlsZWQgZm9yICVzCgBzdHJlYW0gZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIgZXJyb3IAaW5jb3JyZWN0IGhlYWRlciBjaGVjawB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABpbnZhbGlkIHdpbmRvdyBzaXplAHVua25vd24gaGVhZGVyIGZsYWdzIHNldABoZWFkZXIgY3JjIG1pc21hdGNoAGludmFsaWQgYmxvY2sgdHlwZQBpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQgY29kZSBsZW5ndGhzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AGludmFsaWQgY29kZSAtLSBtaXNzaW5nIGVuZC1vZi1ibG9jawBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBkaXN0YW5jZXMgc2V0AGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2sAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAvcHJvYy9zZWxmL2ZkLwBpbmZpbml0eQBuYW4ATENfQUxMAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAcndhAHcrAFhYWFhYWABOU3QzX18yOGlvc19iYXNlRQBOU3QzX18yOWJhc2ljX2lvc0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yOWJhc2ljX2lvc0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTViYXNpY19zdHJlYW1idWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjEzYmFzaWNfaXN0cmVhbUl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX29zdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjExX19zdGRvdXRidWZJd0VFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSWNFRQBOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAJQAAAAAATlN0M19fMjdudW1fcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEljRUUATlN0M19fMjE0X19udW1fcHV0X2Jhc2VFAE5TdDNfXzI3bnVtX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9wdXRJd0VFACVIOiVNOiVTACVtLyVkLyV5ACVJOiVNOiVTICVwACVhICViICVkICVIOiVNOiVTICVZAEFNAFBNAEphbnVhcnkARmVicnVhcnkATWFyY2gAQXByaWwATWF5AEp1bmUASnVseQBBdWd1c3QAU2VwdGVtYmVyAE9jdG9iZXIATm92ZW1iZXIARGVjZW1iZXIASmFuAEZlYgBNYXIAQXByAEp1bgBKdWwAQXVnAFNlcABPY3QATm92AERlYwBTdW5kYXkATW9uZGF5AFR1ZXNkYXkAV2VkbmVzZGF5AFRodXJzZGF5AEZyaWRheQBTYXR1cmRheQBTdW4ATW9uAFR1ZQBXZWQAVGh1AEZyaQBTYXQAJW0vJWQvJXklWS0lbS0lZCVJOiVNOiVTICVwJUg6JU0lSDolTTolUyVIOiVNOiVTTlN0M19fMjh0aW1lX2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjIwX190aW1lX2dldF9jX3N0b3JhZ2VJY0VFAE5TdDNfXzI5dGltZV9iYXNlRQBOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUATlN0M19fMjh0aW1lX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjEwX190aW1lX3B1dEUATlN0M19fMjh0aW1lX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIwRUVFAE5TdDNfXzIxMG1vbmV5X2Jhc2VFAE5TdDNfXzIxMG1vbmV5cHVuY3RJY0xiMUVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjBFRUUATlN0M19fMjEwbW9uZXlwdW5jdEl3TGIxRUVFADAxMjM0NTY3ODkAJUxmAE5TdDNfXzI5bW9uZXlfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEljRUUAMDEyMzQ1Njc4OQBOU3QzX18yOW1vbmV5X2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9nZXRJd0VFACUuMExmAE5TdDNfXzI5bW9uZXlfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X3B1dEljRUUATlN0M19fMjltb25leV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SXdFRQBOU3QzX18yOG1lc3NhZ2VzSWNFRQBOU3QzX18yMTNtZXNzYWdlc19iYXNlRQBOU3QzX18yMTdfX3dpZGVuX2Zyb21fdXRmOElMbTMyRUVFAE5TdDNfXzI3Y29kZWN2dElEaWMxMV9fbWJzdGF0ZV90RUUATlN0M19fMjEyY29kZWN2dF9iYXNlRQBOU3QzX18yMTZfX25hcnJvd190b191dGY4SUxtMzJFRUUATlN0M19fMjhtZXNzYWdlc0l3RUUATlN0M19fMjdjb2RlY3Z0SWNjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dEl3YzExX19tYnN0YXRlX3RFRQBOU3QzX18yN2NvZGVjdnRJRHNjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI2bG9jYWxlNV9faW1wRQBOU3QzX18yNWN0eXBlSWNFRQBOU3QzX18yMTBjdHlwZV9iYXNlRQBOU3QzX18yNWN0eXBlSXdFRQBOU3QzX18yOG51bXB1bmN0SWNFRQBOU3QzX18yOG51bXB1bmN0SXdFRQBOU3QzX18yMTRfX3NoYXJlZF9jb3VudEUAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBzdGQ6OmJhZF9jYXN0AFN0OGJhZF9jYXN0AE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FACBjb25zdAAgdm9sYXRpbGUAIHJlc3RyaWN0ACBjb21wbGV4ACBpbWFnaW5hcnkAIFsAICgAKQAoACYmAG9iamNfb2JqZWN0PAAqACYAb2JqY3Byb3RvACAAPAA+ACB2ZWN0b3JbAF0AcGl4ZWwgdmVjdG9yWwAmPQA9ACwAfgA6OgBkZWxldGVbXSAAZGVsZXRlIAAvAC89AF4AXj0APT0APj0AKVsAPD0APDwAPDw9AC0ALT0AKj0ALS0AKS0tACE9ACEAfHwAfAB8PQAtPioAKwArPQArKwApKysAKSA/ICgAKSA6ICgAJQAlPQA+PgA+Pj0AdGhyb3cAdGhyb3cgAHR5cGVpZCgAc2l6ZW9mLi4uKAAsIABzaXplb2YgKABzdGF0aWNfY2FzdDwAPigAcmVpbnRlcnByZXRfY2FzdDwALT4Abm9leGNlcHQgKABbXSAAKSAALgAuKgBzdGQ6OgBvcGVyYXRvciYmAG9wZXJhdG9yJgBvcGVyYXRvciY9AG9wZXJhdG9yPQBvcGVyYXRvcigpAG9wZXJhdG9yLABvcGVyYXRvcn4Ab3BlcmF0b3IgAG9wZXJhdG9yIGRlbGV0ZVtdAG9wZXJhdG9yKgBvcGVyYXRvci8Ab3BlcmF0b3IvPQBvcGVyYXRvcl4Ab3BlcmF0b3JePQBvcGVyYXRvcj09AG9wZXJhdG9yPj0Ab3BlcmF0b3I+AG9wZXJhdG9yW10Ab3BlcmF0b3I8PQBvcGVyYXRvciIiIABvcGVyYXRvcjw8AG9wZXJhdG9yPDw9AG9wZXJhdG9yPABvcGVyYXRvci0Ab3BlcmF0b3ItPQBvcGVyYXRvcio9AG9wZXJhdG9yLS0Ab3BlcmF0b3IgbmV3W10Ab3BlcmF0b3IhPQBvcGVyYXRvciEAb3BlcmF0b3IgbmV3AG9wZXJhdG9yfHwAb3BlcmF0b3J8AG9wZXJhdG9yfD0Ab3BlcmF0b3ItPioAb3BlcmF0b3IrAG9wZXJhdG9yKz0Ab3BlcmF0b3IrKwBvcGVyYXRvci0+AG9wZXJhdG9yPwBvcGVyYXRvciUAb3BlcmF0b3IlPQBvcGVyYXRvcj4+AG9wZXJhdG9yPj49AG9wZXJhdG9yIGRlbGV0ZQAndW5uYW1lZAAnbGFtYmRhJygAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjphbGxvY2F0b3I8Y2hhcj4gPgBiYXNpY19zdHJpbmcAc3RkOjppc3RyZWFtAHN0ZDo6YmFzaWNfaXN0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4AYmFzaWNfaXN0cmVhbQBzdGQ6Om9zdHJlYW0Ac3RkOjpiYXNpY19vc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19vc3RyZWFtAHN0ZDo6aW9zdHJlYW0Ac3RkOjpiYXNpY19pb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4AYmFzaWNfaW9zdHJlYW0AZHluYW1pY19jYXN0PAApKABjb25zdF9jYXN0PABhbGlnbm9mICgAZnAAd2NoYXJfdABmYWxzZQB0cnVlAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydAB1AGwAdWwAbGwAdWxsAF9faW50MTI4AHVuc2lnbmVkIF9faW50MTI4ACVMYUwAJWEAJWFmAGRlY2x0eXBlKABzdGQ6OmFsbG9jYXRvcgBzdGQ6OmJhc2ljX3N0cmluZwA6OnN0cmluZyBsaXRlcmFsAHN0ZABfR0xPQkFMX19OAChhbm9ueW1vdXMgbmFtZXNwYWNlKQAgPgBUXwBpZAA6OioAICYAICYmACBbXQB2b2lkAGJvb2wAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAbG9uZyBsb25nAGZsb2F0AGxvbmcgZG91YmxlAF9fZmxvYXQxMjgALi4uAGRlY2ltYWw2NABkZWNpbWFsMTI4AGRlY2ltYWwzMgBkZWNpbWFsMTYAY2hhcjMyX3QAY2hhcjE2X3QAYXV0bwBzdGQ6Om51bGxwdHJfdABkb3VibGUAdW5zaWduZWQgbG9uZyBsb25nAF9ibG9ja19pbnZva2UAaW52b2NhdGlvbiBmdW5jdGlvbiBmb3IgYmxvY2sgaW4gAHZ0YWJsZSBmb3IgAFZUVCBmb3IgAHR5cGVpbmZvIGZvciAAdHlwZWluZm8gbmFtZSBmb3IgAGNvdmFyaWFudCByZXR1cm4gdGh1bmsgdG8gAGNvbnN0cnVjdGlvbiB2dGFibGUgZm9yIAAtaW4tAHZpcnR1YWwgdGh1bmsgdG8gAG5vbi12aXJ0dWFsIHRodW5rIHRvIABndWFyZCB2YXJpYWJsZSBmb3IgAHJlZmVyZW5jZSB0ZW1wb3JhcnkgZm9yIABBiJ75AAsBAQBBsJ/5AAtajJ8FAAEAAACsnwUAAQAAAACoBQABAAAAQGwFAAAAAADEqAUAAQAAAAipBQABAAAAvKcFAAEAAACwYh4AAAAAADipBQABAAAAaKkFAAEAAAA0qAUAAQAAAC4sAEGYoPkACw1cqAUAAQAAAC4AAAAsAEG4oPkAC8kCzJ8FAAEAAAAMoAUAAQAAAEygBQABAAAAgKAFAAEAAADMpQUAAQAAAASmBQABAAAAPKYFAAEAAAB0pgUAAQAAAKymBQABAAAAyKYFAAEAAADkpgUAAQAAAACnBQABAAAAtKAFAAEAAADkoAUAAAAAAAihBQABAAAAOKEFAAAAAACcpQUAAQAAALBiHgAAAAAAtKUFAAEAAACwYh4AAAAAABynBQABAAAAPKcFAAEAAAABAAAAAAAAAOynBQAPAAAACFEeAHhRHgB4UR4AAAAAALBPHgC4Tx4AwE8eANBPHgDYTx4A4E8eAPBPHgD4Tx4AAFAeABhQHgA4UB4AQFAeAEhQHgBQUB4AWFAeAGBQHgBoUB4AcFAeAHhQHgCAUB4AiFAeAJBQHgCYUB4AqFAeALhQHgDIUB4A2FAeAOBQHgABAAAAAAAAAEMAQYuj+QALBgEAAAAAAQBB8Mn5AAsR8J0FAAAAAAAEngUAAhAAAAYAQZDK+QALB5hnHgDwUB4AQcDK+QALGaBlHgD/////GJ4FAAAAAAAsngUAAhAAAAYAQejK+QALB9hnHgDwUB4AQZjL+QALFfRlHgD/////QJ4FAFSeBQACEAAABgBBvMv5AAsHGGgeAPBQHgBB8Mv5AAsR/////2ieBQB8ngUAAhAAAAYAQZDM+QALB1BoHgDwUB4AQcTM+QALEf////9AngUAVJ4FAAIwAAAGAEHkzPkACweIaB4A8FAeAEGUzfkACxWgZR4A/////2ieBQB8ngUAAjAAAAYAQbjN+QALB8BoHgDwUB4AQejN+QALFfRlHgD/////QJ4FAFSeBQACEAAABgBBjM75AAsHiGgeAPBQHgBBwM75AAsR/////2ieBQB8ngUAAhAAAAYAQeDO+QALB8BoHgDwUB4AQZTP+QALC/////9MnwUA8FAeAEG4z/kACxbAmgUA2E8eANBnHgABAAAA/////wABAEHYz/kACwcMnwUA8FAeAEH4z/kACxTAmgUA4E8eABBoHgABAAAA/////wBBmND5AAsHzJ4FAPBQHgBBuND5AAsNPJsFANhPHgBIaB4AAQBB0ND5AAsHjJ4FAPBQHgBB8ND5AAsLPJsFAOBPHgCAaB4AQYjR+QALB8yeBQDwUB4AQajR+QALDUSaBQDYTx4AuGgeAAEAQcDR+QALB4yeBQDwUB4AQeDR+QALC0SaBQDgTx4A8GgeAEH40fkAC1X/////AQAAAP////8CAAAA/////wMAAACwYh4AHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGM0/kACwX/////FwBB0NP5AAuXAf////8YAAAA/////xkAAAD/////GgAAAP////8PAAAA/////xAAAAD/////EQAAAP////8SAAAA/////xMAAAD/////FAAAAP////8VAAAA/////xYAAAD/////GwAAAP////8cAAAA/////wUAAAD/////BgAAAP////8HAAAA/////wgAAADwUB4AWGoeAPBQHgBgah4=";var asmjsCodeFile="";if(!isDataURI(wasmTextFile)){wasmTextFile=locateFile(wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=locateFile(asmjsCodeFile)}var wasmPageSize=64*1024;var info={"global":null,"env":null,"asm2wasm":asm2wasmImports,"parent":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___lock(){}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall183(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get(),size=SYSCALLS.get();if(size===0)return-ERRNO_CODES.EINVAL;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _difftime(time1,time0){return time1-time0}function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _emscripten_longjmp(env,value){_longjmp(env,value)}function __exit(status){exit(status)}function _exit(status){__exit(status)}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _gmtime(time){return _gmtime_r(time,___tm_current)}function _llvm_log2_f32(x){return Math.log(x)/Math.LN2}function _llvm_log2_f64(){return _llvm_log2_f32.apply(null,arguments)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _llvm_trap(){abort("trap!")}function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_wait(){return 0}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_mutex_init(){}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i + * @license MIT + */ +var n=r(20),i=r(21),o=r(22);function s(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return z(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Y(t).length;default:if(n)return z(t).length;e=(""+e).toLowerCase(),n=!0}}function m(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=f.from(e,n)),f.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if("number"==typeof e)return e&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,n,i){var o,s=1,a=t.length,f=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,f/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-f),o=r;o>=0;o--){for(var c=!0,l=0;li&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function E(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function S(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:u>223?3:u>191?2:1;if(i+c<=r)switch(c){case 1:u<128&&(h=u);break;case 2:128==(192&(o=t[i+1]))&&(f=(31&u)<<6|63&o)>127&&(h=f);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(f=(15&u)<<12|(63&o)<<6|63&s)>2047&&(f<55296||f>57343)&&(h=f);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(f=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&f<1114112&&(h=f)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=c}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nthis.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return B(this,e,r);case"utf8":case"utf-8":return S(this,e,r);case"ascii":return U(this,e,r);case"latin1":case"binary":return T(this,e,r);case"base64":return E(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},f.prototype.equals=function(t){if(!f.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===f.compare(this,t)},f.prototype.inspect=function(){var t="",r=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},f.prototype.compare=function(t,e,r,n,i){if(!f.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),u=this.slice(n,i),h=t.slice(e,r),c=0;ci)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return y(this,t,e,r);case"utf8":case"utf-8":return b(this,t,e,r);case"ascii":return v(this,t,e,r);case"latin1":case"binary":return w(this,t,e,r);case"base64":return x(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function U(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function P(t,e,r,n,i,o){if(!f.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function k(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function L(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function j(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function C(t,e,r,n,o){return o||j(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function M(t,e,r,n,o){return o||j(t,0,r,8),i.write(t,e,r,n,52,8),r+8}f.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},f.prototype.readUInt8=function(t,e){return e||O(t,1,this.length),this[t]},f.prototype.readUInt16LE=function(t,e){return e||O(t,2,this.length),this[t]|this[t+1]<<8},f.prototype.readUInt16BE=function(t,e){return e||O(t,2,this.length),this[t]<<8|this[t+1]},f.prototype.readUInt32LE=function(t,e){return e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},f.prototype.readUInt32BE=function(t,e){return e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},f.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||O(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},f.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||O(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},f.prototype.readInt8=function(t,e){return e||O(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},f.prototype.readInt16LE=function(t,e){e||O(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt16BE=function(t,e){e||O(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt32LE=function(t,e){return e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},f.prototype.readInt32BE=function(t,e){return e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},f.prototype.readFloatLE=function(t,e){return e||O(t,4,this.length),i.read(this,t,!0,23,4)},f.prototype.readFloatBE=function(t,e){return e||O(t,4,this.length),i.read(this,t,!1,23,4)},f.prototype.readDoubleLE=function(t,e){return e||O(t,8,this.length),i.read(this,t,!0,52,8)},f.prototype.readDoubleBE=function(t,e){return e||O(t,8,this.length),i.read(this,t,!1,52,8)},f.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e|=0,r|=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},f.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,1,255,0),f.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},f.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):k(this,t,e,!0),e+2},f.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):k(this,t,e,!1),e+2},f.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):L(this,t,e,!0),e+4},f.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):L(this,t,e,!1),e+4},f.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+r},f.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},f.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,1,127,-128),f.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},f.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):k(this,t,e,!0),e+2},f.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):k(this,t,e,!1),e+2},f.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):L(this,t,e,!0),e+4},f.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),f.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):L(this,t,e,!1),e+4},f.prototype.writeFloatLE=function(t,e,r){return C(this,t,e,!0,r)},f.prototype.writeFloatBE=function(t,e,r){return C(this,t,e,!1,r)},f.prototype.writeDoubleLE=function(t,e,r){return M(this,t,e,!0,r)},f.prototype.writeDoubleBE=function(t,e,r){return M(this,t,e,!1,r)},f.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!f.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Y(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(N,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(3))},function(t,e,r){"use strict";(function(e){var n=r(0),i=r(27),o={"Content-Type":"application/x-www-form-urlencoded"};function s(t,e){!n.isUndefined(t)&&n.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var a,f={adapter:("undefined"!=typeof XMLHttpRequest?a=r(7):void 0!==e&&(a=r(7)),a),transformRequest:[function(t,e){return i(e,"Content-Type"),n.isFormData(t)||n.isArrayBuffer(t)||n.isBuffer(t)||n.isStream(t)||n.isFile(t)||n.isBlob(t)?t:n.isArrayBufferView(t)?t.buffer:n.isURLSearchParams(t)?(s(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):n.isObject(t)?(s(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};f.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],function(t){f.headers[t]={}}),n.forEach(["post","put","patch"],function(t){f.headers[t]=n.merge(o)}),t.exports=f}).call(this,r(6))},function(t,e){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"===("undefined"==typeof window?"undefined":r(window))&&(n=window)}t.exports=n},function(module,exports,__webpack_require__){"use strict";(function(Buffer){function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e1&&void 0!==arguments[1]?arguments[1]:0,r=t[e],n=1,i=0;++i<8;)n*=256,r+=t[e+i]*n;return r}var fileType=function(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer||Buffer.isBuffer(t)))throw new TypeError("Expected the `input` argument to be of type `Uint8Array` or `Buffer` or `ArrayBuffer`, got `".concat(_typeof(t),"`"));var e=t instanceof Uint8Array?t:new Uint8Array(t);if(!(e&&e.length>1))return null;var r=function(t,r){r=Object.assign({offset:0},r);for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:0;return t.findIndex(function(t,r,n){return r>=e&&80===n[r]&&75===n[r+1]&&3===n[r+2]&&4===n[r+3]})},o=0,s=!1,a=null;do{var f=o+30;if(s||(s=r(oxmlContentTypes,{offset:f})||r(oxmlRels,{offset:f})),a||(n("word/",{offset:f})?a={ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}:n("ppt/",{offset:f})?a={ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}:n("xl/",{offset:f})&&(a={ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})),s&&a)return a;o=i(e,f)}while(o>=0);if(a)return a}if(r([80,75])&&(3===e[2]||5===e[2]||7===e[2])&&(4===e[3]||6===e[3]||8===e[3]))return{ext:"zip",mime:"application/zip"};if(r([117,115,116,97,114],{offset:257}))return{ext:"tar",mime:"application/x-tar"};if(r([82,97,114,33,26,7])&&(0===e[6]||1===e[6]))return{ext:"rar",mime:"application/x-rar-compressed"};if(r([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(r([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(r([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(r([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(r([51,103,112,53])||r([0,0,0])&&r([102,116,121,112],{offset:4})&&(r([109,112,52,49],{offset:8})||r([109,112,52,50],{offset:8})||r([105,115,111,109],{offset:8})||r([105,115,111,50],{offset:8})||r([109,109,112,52],{offset:8})||r([77,52,86],{offset:8})||r([100,97,115,104],{offset:8})))return{ext:"mp4",mime:"video/mp4"};if(r([77,84,104,100]))return{ext:"mid",mime:"audio/midi"};if(r([26,69,223,163])){var u=e.subarray(4,4100),h=u.findIndex(function(t,e,r){return 66===r[e]&&130===r[e+1]});if(-1!==h){var c=h+3,l=function(t){return _toConsumableArray(t).every(function(t,e){return u[c+e]===t.charCodeAt(0)})};if(l("matroska"))return{ext:"mkv",mime:"video/x-matroska"};if(l("webm"))return{ext:"webm",mime:"video/webm"}}}if(r([0,0,0,20,102,116,121,112,113,116,32,32])||r([102,114,101,101],{offset:4})||r([102,116,121,112,113,116,32,32],{offset:4})||r([109,100,97,116],{offset:4})||r([109,111,111,118],{offset:4})||r([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(r([82,73,70,70])){if(r([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(r([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/vnd.wave"};if(r([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(r([48,38,178,117,142,102,207,17,166,217])){var p=30;do{var d=readUInt64LE(e,p+16);if(r([145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101],{offset:p})){if(r([64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43],{offset:p+24}))return{ext:"wma",mime:"audio/x-ms-wma"};if(r([192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43],{offset:p+24}))return{ext:"wmv",mime:"video/x-ms-asf"};break}p+=d}while(p+24<=e.length);return{ext:"asf",mime:"application/vnd.ms-asf"}}if(r([0,0,1,186])||r([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(r([102,116,121,112,51,103],{offset:4}))return{ext:"3gp",mime:"video/3gpp"};for(var m=0;m<2&&m1)for(var r=1;rm&&te}function _(t,e){return v(t)&&t=e}function S(t,e){return v(t)&&t<=e}function I(t){return"string"==typeof t}function U(t){return I(t)&&""!==t}function T(t){return"[object Object]"===Object.prototype.toString.call(t)}function B(t,e){try{return t instanceof e}catch(t){return!1}}function R(t,e){var r;for(r in e)if(e.hasOwnProperty(r)){if(!1===t.hasOwnProperty(r)||i(t[r])!==i(e[r]))return!1;if(T(t[r])&&!1===R(t[r],e[r]))return!1}return!0}function O(t){return A(t)}function P(t){return b(t)&&E(t.length,0)}function k(t){return"function"==typeof t}function L(t,e){var r;for(r=0;rr}},{n:"greaterOrEqual",f:E},{n:"lessOrEqual",f:S},{n:"inRange",f:function(t,e,r){if(e=r}},{n:"positive",f:function(t){return x(t,0)}},{n:"negative",f:function(t){return _(t,0)}},{n:"string",f:I,s:"s"},{n:"emptyString",f:function(t){return""===t},s:"s"},{n:"nonEmptyString",f:U,s:"s"},{n:"contains",f:function(t,e){return I(t)&&-1!==t.indexOf(e)},s:"s"},{n:"match",f:function(t,e){return I(t)&&!!t.match(e)},s:"s"},{n:"boolean",f:function(t){return!1===t||!0===t},s:"b"},{n:"object",f:T,s:"o"},{n:"emptyObject",f:function(t){return T(t)&&0===Object.keys(t).length},s:"o"},{n:"nonEmptyObject",f:function(t){return T(t)&&Object.keys(t).length>0},s:"o"},{n:"instanceStrict",f:B,s:"t"},{n:"instance",f:function(t,e){try{return B(t,e)||t.constructor.name===e.name||Object.prototype.toString.call(t)==="[object "+e.name+"]"}catch(t){return!1}},s:"t"},{n:"like",f:R,s:"t"},{n:"array",f:O,s:"a"},{n:"emptyArray",f:function(t){return O(t)&&0===t.length},s:"a"},{n:"nonEmptyArray",f:function(t){return O(t)&&x(t.length,0)},s:"a"},{n:"arrayLike",f:P,s:"al"},{n:"iterable",f:function(t){if(!y)return P(t);return b(t)&&k(t[Symbol.iterator])},s:"i"},{n:"date",f:function(t){return B(t,Date)&&w(t.getTime())},s:"d"},{n:"function",f:k,s:"f"},{n:"hasLength",f:function(t,e){return b(t)&&t.length===e},s:"l"}].map(function(t){var e=t.n;a[e]="Invalid "+s[t.s||"n"],f[e]=t.f}),u={apply:function(t,e){if(h.array(t),k(e))return t.map(function(t){return e(t)});return h.array(e),h.hasLength(t,e.length),t.map(function(t,r){return e[r](t)})},map:function(t,e){if(h.object(t),k(e))return function(t,e){var r={};return Object.keys(t).forEach(function(n){r[n]=e(t[n])}),r}(t,e);return h.object(e),function t(e,r){var n={};return Object.keys(r).forEach(function(i){var o=r[i];k(o)?c.assigned(e)?n[i]=!!o.m:n[i]=o(e[i]):T(o)&&(n[i]=t(e[i],o))}),n}(t,e)},all:function(t){if(O(t))return L(t,!1);return h.object(t),j(t,!1)},any:function(t){if(O(t))return L(t,!0);return h.object(t),j(t,!0)}},p=["array","arrayLike","iterable","object"],d=Array.prototype.slice,m=Number.NEGATIVE_INFINITY,g=Number.POSITIVE_INFINITY,A=Array.isArray,y="function"==typeof Symbol,u=C(u,f),h=F(M,N),c=F(D,z),l=F(function(t){var e=function(){return!!c.assigned(arguments[0])||t.apply(null,arguments)};return e.l=t.length,e.m=!0,e},function(t){if(!1===b(t))return!0;return t}),h.not=q(M,c),h.maybe=q(M,l),p.forEach(function(t){f[t].of=G([Y.bind(null,null),f[t],f,null])}),W(h,M),W(c,D),p.forEach(function(t){l[t].of=G([Y.bind(null,"maybe"),f[t],f,null]),h.maybe[t].of=q(M,l[t].of),h.not[t].of=q(M,c[t].of)}),function(i){void 0===(n=function(){return i}.call(e,r,e,t))||(t.exports=n)}(C(u,{assert:h,not:c,maybe:l}))}()},function(t,e,r){var n=this;function i(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e=0||(i[r]=t[r]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}var f,u,h,c=r(15),l=c.readImage,p=c.loadLang,d=r(48),m=r(49),g=r(50).defaultParams,A=r(11),y=A.OEM,b=A.PSM,v={},w=function(t,e){var r=e.tessjs_image_rectangle_left,n=e.tessjs_image_rectangle_top,i=e.tessjs_image_rectangle_width,o=e.tessjs_image_rectangle_height,s=l(f,Array.from(t)),a=s.w,h=s.h,c=s.bytesPerPixel,p=s.data,d=s.pix;return null===p?u.SetImage(d):u.SetImage(p,a,h,c,a*c),u.SetRectangle(r<0?0:r,n<0?0:n,i<0?a:i,o<0?h:o),null===p?d:p},x=function(t){return"string"==typeof t?t:t.map(function(t){return"string"==typeof t?t:t.data}).join("+")},_=function(t,e){var r=t.corePath;if(!f){var n=v.getCore(r,e);return e.progress({status:"initializing tesseract",progress:0}),n({TesseractProgress:function(t){h.progress({status:"recognizing text",progress:Math.max(0,(t-30)/70)})}}).then(function(t){(f=t).FS.writeFile("/pdf.ttf",v.b64toU8Array(d)),u=new f.TessBaseAPI,e.progress({status:"initialized tesseract",progress:1})})}return Promise.resolve()},E=function(t,e){var r=t.langs,n=t.options;return e.progress({status:"loading language traineddata",progress:0}),p(o({langs:r,TessModule:f},n)).then(function(){e.progress({status:"loaded language traineddata",progress:1});for(var t=arguments.length,r=new Array(t),n=0;n0&&void 0!==arguments[0]?arguments[0]:"keyval-store",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"keyval";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.storeName=r,this._dbp=new Promise(function(t,n){var i=indexedDB.open(e,1);i.onerror=function(){return n(i.error)},i.onsuccess=function(){return t(i.result)},i.onupgradeneeded=function(){i.result.createObjectStore(r)}})}var e,r,i;return e=t,(r=[{key:"_withIDBStore",value:function(t,e){var r=this;return this._dbp.then(function(n){return new Promise(function(i,o){var s=n.transaction(r.storeName,t);s.oncomplete=function(){return i()},s.onabort=s.onerror=function(){return o(s.error)},e(s.objectStore(r.storeName))})})}}])&&n(e.prototype,r),i&&n(e,i),t}();function s(){return i||(i=new o),i}function a(t){var e;return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:s())._withIDBStore("readonly",function(r){e=r.get(t)}).then(function(){return e.result})}function f(t,e){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:s())._withIDBStore("readwrite",function(r){r.put(e,t)})}function u(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:s())._withIDBStore("readwrite",function(e){e.delete(t)})}function h(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:s())._withIDBStore("readwrite",function(t){t.clear()})}function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s(),e=[];return t._withIDBStore("readonly",function(t){(t.openKeyCursor||t.openCursor).call(t).onsuccess=function(){this.result&&(e.push(this.result.key),this.result.continue())}}).then(function(){return e})}},function(t,e,r){function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t,e){if(null==t)return{};var r,n,i=function(t,e){if(null==t)return{};var r,n,i={},o=Object.keys(t);for(n=0;n=0||(i[r]=t[r]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}var o=r(19),s=r(4),a=r(23),f=function(t){return function(e){var r=e.langPath,f=e.cachePath,u=e.cacheMethod,h=e.gzip,c=void 0===h||h,l=i(e,["langPath","cachePath","cacheMethod","gzip"]);return function(e){var i="string"==typeof e?e:e.code,h=function(e){var r=s(e);return null!==r&&"application/gzip"===r.mime?t.gunzip(new Uint8Array(e)):new Uint8Array(e)},p=function(t){return function(e){var r=e.TessModule,n=e.dataPath,i=e.cachePath,o=e.cacheMethod,s=e.langCode;return function(e){if(r){if(n)try{r.FS.mkdir(n)}catch(t){}r.FS.writeFile("".concat(n||".","/").concat(s,".traineddata"),e)}return["write","refresh",void 0].includes(o)?t.writeCache("".concat(i||".","/").concat(s,".traineddata"),e).then(function(){return e}):e}}}(t)(function(t){for(var e=1;e0?f-4:f;var h=0;for(e=0;e>16&255,a[h++]=n>>8&255,a[h++]=255&n;2===s?(n=i[t.charCodeAt(e)]<<2|i[t.charCodeAt(e+1)]>>4,a[h++]=255&n):1===s&&(n=i[t.charCodeAt(e)]<<10|i[t.charCodeAt(e+1)]<<4|i[t.charCodeAt(e+2)]>>2,a[h++]=n>>8&255,a[h++]=255&n);return a},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o="",s=[],a=0,f=r-i;af?f:a+16383));1===i?(e=t[r-1],o+=n[e>>2],o+=n[e<<4&63],o+="=="):2===i&&(e=(t[r-2]<<8)+t[r-1],o+=n[e>>10],o+=n[e>>4&63],o+=n[e<<2&63],o+="=");return s.push(o),s.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,f=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function h(t,e,r){for(var i,o,s=[],a=e;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,f=(1<>1,h=-7,c=r?i-1:0,l=r?-1:1,p=t[e+c];for(c+=l,o=p&(1<<-h)-1,p>>=-h,h+=a;h>0;o=256*o+t[e+c],c+=l,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+c],c+=l,h-=8);if(0===o)o=1-u;else{if(o===f)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),o-=u}return(p?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,f,u=8*o-i-1,h=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-s))<1&&(s--,f*=2),(e+=s+c>=1?l/f:l*Math.pow(2,1-c))*f>=2&&(s++,f/=2),s+c>=h?(a=0,s=h):s+c>=1?(a=(e*f-1)*Math.pow(2,i),s+=c):(a=e*Math.pow(2,c-1)*Math.pow(2,i),s=0));i>=8;t[r+p]=255&a,p+=d,a/=256,i-=8);for(s=s<0;t[r+p]=255&s,p+=d,s/=256,u-=8);t[r+p-d]|=128*m}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){t.exports=r(24)},function(t,e,r){"use strict";var n=r(0),i=r(5),o=r(26),s=r(2);function a(t){var e=new o(t),r=i(o.prototype.request,e);return n.extend(r,o.prototype,e),n.extend(r,e),r}var f=a(s);f.Axios=o,f.create=function(t){return a(n.merge(s,t))},f.Cancel=r(10),f.CancelToken=r(40),f.isCancel=r(9),f.all=function(t){return Promise.all(t)},f.spread=r(41),t.exports=f,t.exports.default=f},function(t,e){function r(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)} +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ +t.exports=function(t){return null!=t&&(r(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&r(t.slice(0,0))}(t)||!!t._isBuffer)}},function(t,e,r){"use strict";var n=r(2),i=r(0),o=r(35),s=r(36);function a(t){this.defaults=t,this.interceptors={request:new o,response:new o}}a.prototype.request=function(t){"string"==typeof t&&(t=i.merge({url:arguments[0]},arguments[1])),(t=i.merge(n,{method:"get"},this.defaults,t)).method=t.method.toLowerCase();var e=[s,void 0],r=Promise.resolve(t);for(this.interceptors.request.forEach(function(t){e.unshift(t.fulfilled,t.rejected)}),this.interceptors.response.forEach(function(t){e.push(t.fulfilled,t.rejected)});e.length;)r=r.then(e.shift(),e.shift());return r},i.forEach(["delete","get","head","options"],function(t){a.prototype[t]=function(e,r){return this.request(i.merge(r||{},{method:t,url:e}))}}),i.forEach(["post","put","patch"],function(t){a.prototype[t]=function(e,r,n){return this.request(i.merge(n||{},{method:t,url:e,data:r}))}}),t.exports=a},function(t,e,r){"use strict";var n=r(0);t.exports=function(t,e){n.forEach(t,function(r,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[n])})}},function(t,e,r){"use strict";var n=r(8);t.exports=function(t,e,r){var i=r.config.validateStatus;r.status&&i&&!i(r.status)?e(n("Request failed with status code "+r.status,r.config,null,r.request,r)):t(r)}},function(t,e,r){"use strict";t.exports=function(t,e,r,n,i){return t.config=e,r&&(t.code=r),t.request=n,t.response=i,t}},function(t,e,r){"use strict";var n=r(0);function i(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,r){if(!e)return t;var o;if(r)o=r(e);else if(n.isURLSearchParams(e))o=e.toString();else{var s=[];n.forEach(e,function(t,e){null!=t&&(n.isArray(t)?e+="[]":t=[t],n.forEach(t,function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),s.push(i(e)+"="+i(t))}))}),o=s.join("&")}return o&&(t+=(-1===t.indexOf("?")?"?":"&")+o),t}},function(t,e,r){"use strict";var n=r(0),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,r,o,s={};return t?(n.forEach(t.split("\n"),function(t){if(o=t.indexOf(":"),e=n.trim(t.substr(0,o)).toLowerCase(),r=n.trim(t.substr(o+1)),e){if(s[e]&&i.indexOf(e)>=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([r]):s[e]?s[e]+", "+r:r}}),s):s}},function(t,e,r){"use strict";var n=r(0);t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function i(t){var n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=i(window.location.href),function(e){var r=n.isString(e)?i(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0}},function(t,e,r){"use strict";var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function i(){this.message="String contains an invalid character"}i.prototype=new Error,i.prototype.code=5,i.prototype.name="InvalidCharacterError",t.exports=function(t){for(var e,r,o=String(t),s="",a=0,f=n;o.charAt(0|a)||(f="=",a%1);s+=f.charAt(63&e>>8-a%1*8)){if((r=o.charCodeAt(a+=.75))>255)throw new i;e=e<<8|r}return s}},function(t,e,r){"use strict";var n=r(0);t.exports=n.isStandardBrowserEnv()?{write:function(t,e,r,i,o,s){var a=[];a.push(t+"="+encodeURIComponent(e)),n.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),n.isString(i)&&a.push("path="+i),n.isString(o)&&a.push("domain="+o),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(t,e,r){"use strict";var n=r(0);function i(){this.handlers=[]}i.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){n.forEach(this.handlers,function(e){null!==e&&t(e)})},t.exports=i},function(t,e,r){"use strict";var n=r(0),i=r(37),o=r(9),s=r(2),a=r(38),f=r(39);function u(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return u(t),t.baseURL&&!a(t.url)&&(t.url=f(t.baseURL,t.url)),t.headers=t.headers||{},t.data=i(t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),n.forEach(["delete","get","head","post","put","patch","common"],function(e){delete t.headers[e]}),(t.adapter||s.adapter)(t).then(function(e){return u(t),e.data=i(e.data,e.headers,t.transformResponse),e},function(e){return o(e)||(u(t),e&&e.response&&(e.response.data=i(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)})}},function(t,e,r){"use strict";var n=r(0);t.exports=function(t,e,r){return n.forEach(r,function(r){t=r(t,e)}),t}},function(t,e,r){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},function(t,e,r){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},function(t,e,r){"use strict";var n=r(10);function i(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(t){e=t});var r=this;t(function(t){r.reason||(r.reason=new n(t),e(r.reason))})}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var t;return{token:new i(function(e){t=e}),cancel:t}},t.exports=i},function(t,e,r){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},function(t,e,r){t.exports=r(43).gunzipSync},function(t,e,r){(function(t,r){/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */ +(function(){"use strict";function n(t){throw t}var i=void 0,o=!0,s="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array&&"undefined"!=typeof DataView;function a(t,e){this.index="number"==typeof e?e:0,this.m=0,this.buffer=t instanceof(s?Uint8Array:Array)?t:new(s?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&n(Error("invalid index")),this.buffer.length<=this.index&&this.f()}a.prototype.f=function(){var t,e=this.buffer,r=e.length,n=new(s?Uint8Array:Array)(r<<1);if(s)n.set(e);else for(t=0;t>>8&255]<<16|p[t>>>16&255]<<8|p[t>>>24&255])>>32-e:p[t]>>8-e),8>e+s)a=a<>e-n-1&1,8==++s&&(s=0,i[o++]=p[a],a=0,o===i.length&&(i=this.f()));i[o]=a,this.buffer=i,this.m=s,this.index=o},a.prototype.finish=function(){var t,e=this.buffer,r=this.index;return 0f;++f){for(var h=l=f,c=7,l=l>>>1;l;l>>>=1)h<<=1,h|=1&l,--c;u[f]=(h<>>0}var p=u;function d(t,e,r){var n,i="number"==typeof e?e:e=0,o="number"==typeof r?r:t.length;for(n=-1,i=7&o;i--;++e)n=n>>>8^g[255&(n^t[e])];for(i=o>>3;i--;e+=8)n=(n=(n=(n=(n=(n=(n=(n=n>>>8^g[255&(n^t[e])])>>>8^g[255&(n^t[e+1])])>>>8^g[255&(n^t[e+2])])>>>8^g[255&(n^t[e+3])])>>>8^g[255&(n^t[e+4])])>>>8^g[255&(n^t[e+5])])>>>8^g[255&(n^t[e+6])])>>>8^g[255&(n^t[e+7])];return(4294967295^n)>>>0}var m=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],g=s?new Uint32Array(m):m;function A(){}function y(t){this.buffer=new(s?Uint16Array:Array)(2*t),this.length=0}function b(t){var e,r,n,i,o,a,f,u,h,c,l=t.length,p=0,d=Number.POSITIVE_INFINITY;for(u=0;up&&(p=t[u]),t[u]>=1;for(c=n<<16|u,h=a;ho[n]);)i=o[r],o[r]=o[n],o[n]=i,i=o[r+1],o[r+1]=o[n+1],o[n+1]=i,r=n;return this.length},y.prototype.pop=function(){var t,e,r,n,i,o=this.buffer;for(e=o[0],t=o[1],this.length-=2,o[0]=o[this.length],o[1]=o[this.length+1],i=0;!((n=2*i+2)>=this.length)&&(n+2o[n]&&(n+=2),o[n]>o[i]);)r=o[i],o[i]=o[n],o[n]=r,r=o[i+1],o[i+1]=o[n+1],o[n+1]=r,i=n;return{index:t,value:e,length:this.length}};var w,x=2,_={NONE:0,L:1,t:x,X:3},E=[];for(w=0;288>w;w++)switch(o){case 143>=w:E.push([w+48,8]);break;case 255>=w:E.push([w-144+400,9]);break;case 279>=w:E.push([w-256+0,7]);break;case 287>=w:E.push([w-280+192,8]);break;default:n("invalid literal: "+w)}function S(t,e){this.length=t,this.N=e}v.prototype.h=function(){var t,e,r,f,u=this.input;switch(this.k){case 0:for(r=0,f=u.length;r>>8&255,A[y++]=255&l,A[y++]=l>>>8&255,s)A.set(p,y),y+=p.length,A=A.subarray(0,y);else{for(m=0,g=p.length;mX)for(;0X?X:138)>X-3&&Z=Z?(rt[J++]=17,rt[J++]=Z-3,nt[17]++):(rt[J++]=18,rt[J++]=Z-11,nt[18]++),X-=Z;else if(rt[J++]=et[H],nt[et[H]]++,3>--X)for(;0X?X:6)>X-3&&ZF;F++)V[F]=N[W[F]];for(k=19;4=t:return[265,t-11,1];case 14>=t:return[266,t-13,1];case 16>=t:return[267,t-15,1];case 18>=t:return[268,t-17,1];case 22>=t:return[269,t-19,2];case 26>=t:return[270,t-23,2];case 30>=t:return[271,t-27,2];case 34>=t:return[272,t-31,2];case 42>=t:return[273,t-35,3];case 50>=t:return[274,t-43,3];case 58>=t:return[275,t-51,3];case 66>=t:return[276,t-59,3];case 82>=t:return[277,t-67,4];case 98>=t:return[278,t-83,4];case 114>=t:return[279,t-99,4];case 130>=t:return[280,t-115,4];case 162>=t:return[281,t-131,5];case 194>=t:return[282,t-163,5];case 226>=t:return[283,t-195,5];case 257>=t:return[284,t-227,5];case 258===t:return[285,t-258,0];default:n("invalid length: "+t)}}var e,r,i=[];for(e=3;258>=e;e++)r=t(e),i[e]=r[2]<<24|r[1]<<16|r[0];return i}(),U=s?new Uint32Array(I):I;function T(t,e){function r(t,e){var r,i,s,a,f=t.N,u=[],h=0;switch(r=U[t.length],u[h++]=65535&r,u[h++]=r>>16&255,u[h++]=r>>24,o){case 1===f:i=[0,f-1,0];break;case 2===f:i=[1,f-2,0];break;case 3===f:i=[2,f-3,0];break;case 4===f:i=[3,f-4,0];break;case 6>=f:i=[4,f-5,1];break;case 8>=f:i=[5,f-7,1];break;case 12>=f:i=[6,f-9,2];break;case 16>=f:i=[7,f-13,2];break;case 24>=f:i=[8,f-17,3];break;case 32>=f:i=[9,f-25,3];break;case 48>=f:i=[10,f-33,4];break;case 64>=f:i=[11,f-49,4];break;case 96>=f:i=[12,f-65,5];break;case 128>=f:i=[13,f-97,5];break;case 192>=f:i=[14,f-129,6];break;case 256>=f:i=[15,f-193,6];break;case 384>=f:i=[16,f-257,7];break;case 512>=f:i=[17,f-385,7];break;case 768>=f:i=[18,f-513,8];break;case 1024>=f:i=[19,f-769,8];break;case 1536>=f:i=[20,f-1025,9];break;case 2048>=f:i=[21,f-1537,9];break;case 3072>=f:i=[22,f-2049,10];break;case 4096>=f:i=[23,f-3073,10];break;case 6144>=f:i=[24,f-4097,11];break;case 8192>=f:i=[25,f-6145,11];break;case 12288>=f:i=[26,f-8193,12];break;case 16384>=f:i=[27,f-12289,12];break;case 24576>=f:i=[28,f-16385,13];break;case 32768>=f:i=[29,f-24577,13];break;default:n("invalid distance")}for(r=i,u[h++]=r[0],u[h++]=r[1],u[h++]=r[2],s=0,a=u.length;s=u;)v[u++]=0;for(u=0;29>=u;)w[u++]=0}for(v[256]=1,a=0,f=e.length;a=f){for(d&&r(d,-1),u=0,h=f-a;uo&&e+ou&&(i=n,u=o),258===o)break}return new S(u,e-i)}function R(t,e){var r,n,i,o,a,f=t.length,u=new y(572),h=new(s?Uint8Array:Array)(f);if(!s)for(o=0;o2*h[o-1]+c[o]&&(h[o]=2*h[o-1]+c[o]),p[o]=Array(h[o]),d[o]=Array(h[o]);for(i=0;it[i]?(p[o][a]=f,d[o][a]=e,u+=2):(p[o][a]=t[i],d[o][a]=i,++i);m[o]=0,1===c[o]&&n(o)}return l}(n,n.length,e),o=0,a=r.length;o>>=1;return o}function P(t,e){this.input=t,this.b=this.c=0,this.g={},e&&(e.flags&&(this.g=e.flags),"string"==typeof e.filename&&(this.filename=e.filename),"string"==typeof e.comment&&(this.w=e.comment),e.deflateOptions&&(this.l=e.deflateOptions)),this.l||(this.l={})}P.prototype.h=function(){var t,e,r,n,o,a,f,u,h=new(s?Uint8Array:Array)(32768),c=0,l=this.input,p=this.c,m=this.filename,g=this.w;if(h[c++]=31,h[c++]=139,h[c++]=8,t=0,this.g.fname&&(t|=j),this.g.fcomment&&(t|=C),this.g.fhcrc&&(t|=L),h[c++]=t,e=(Date.now?Date.now():+new Date)/1e3|0,h[c++]=255&e,h[c++]=e>>>8&255,h[c++]=e>>>16&255,h[c++]=e>>>24&255,h[c++]=0,h[c++]=k,this.g.fname!==i){for(f=0,u=m.length;f>>8&255),h[c++]=255&a;h[c++]=0}if(this.g.comment){for(f=0,u=g.length;f>>8&255),h[c++]=255&a;h[c++]=0}return this.g.fhcrc&&(r=65535&d(h,0,c),h[c++]=255&r,h[c++]=r>>>8&255),this.l.outputBuffer=h,this.l.outputIndex=c,h=(o=new v(l,this.l)).h(),c=o.b,s&&(c+8>h.buffer.byteLength?(this.a=new Uint8Array(c+8),this.a.set(new Uint8Array(h.buffer)),h=this.a):h=new Uint8Array(h.buffer)),n=d(l,i,i),h[c++]=255&n,h[c++]=n>>>8&255,h[c++]=n>>>16&255,h[c++]=n>>>24&255,u=l.length,h[c++]=255&u,h[c++]=u>>>8&255,h[c++]=u>>>16&255,h[c++]=u>>>24&255,this.c=p,s&&c>>=1){case 0:var e=this.input,r=this.c,a=this.a,f=this.b,u=e.length,h=i,c=a.length,l=i;switch(this.e=this.j=0,r+1>=u&&n(Error("invalid uncompressed block header: LEN")),h=e[r++]|e[r++]<<8,r+1>=u&&n(Error("invalid uncompressed block header: NLEN")),h===~(e[r++]|e[r++]<<8)&&n(Error("invalid uncompressed block header: length verify")),r+h>e.length&&n(Error("input buffer is broken")),this.q){case N:for(;f+h>a.length;){if(h-=l=c-f,s)a.set(e.subarray(r,r+l),f),f+=l,r+=l;else for(;l--;)a[f++]=e[r++];this.b=f,a=this.f(),f=this.b}break;case D:for(;f+h>a.length;)a=this.f({B:2});break;default:n(Error("invalid inflate mode"))}if(s)a.set(e.subarray(r,r+h),f),f+=h,r+=h;else for(;h--;)a[f++]=e[r++];this.c=r,this.b=f,this.a=a;break;case 1:this.r(et,nt);break;case 2:var p,d,m,g,A=it(this,5)+257,y=it(this,5)+1,v=it(this,4)+4,w=new(s?Uint8Array:Array)(G.length),x=i,_=i,E=i,S=i,I=i;for(I=0;I=z?8:255>=z?9:279>=z?7:8;var $,tt,et=b(Z),rt=new(s?Uint8Array:Array)(30);for($=0,tt=rt.length;$=f&&n(Error("input buffer is broken")),i|=s[a++]<>>e,t.e=o-e,t.c=a,r}function ot(t,e){for(var r,i,o=t.j,s=t.e,a=t.input,f=t.c,u=a.length,h=e[0],c=e[1];s=u);)o|=a[f++]<>>16)>s&&n(Error("invalid code length: "+i)),t.j=o>>i,t.e=s-i,t.c=f,65535&r}function st(t){this.input=t,this.c=0,this.G=[],this.R=!1}function at(t){if("string"==typeof t){var e,r,n=t.split("");for(e=0,r=n.length;e>>0;t=n}for(var i,o=1,s=0,a=t.length,f=0;0>>0}function ft(t,e){var r,i;switch(this.input=t,this.c=0,!e&&(e={})||(e.index&&(this.c=e.index),e.verify&&(this.V=e.verify)),r=t[this.c++],i=t[this.c++],15&r){case ut:this.method=ut;break;default:n(Error("unsupported compression method"))}0!=((r<<8)+i)%31&&n(Error("invalid fcheck flag:"+((r<<8)+i)%31)),32&i&&n(Error("fdict flag is not supported")),this.J=new M(t,{index:this.c,bufferSize:e.bufferSize,bufferType:e.bufferType,resize:e.resize})}M.prototype.r=function(t,e){var r=this.a,n=this.b;this.A=t;for(var i,o,s,a,f=r.length-258;256!==(i=ot(this,t));)if(256>i)n>=f&&(this.b=n,r=this.f(),n=this.b),r[n++]=i;else for(a=W[o=i-257],0=f&&(this.b=n,r=this.f(),n=this.b);a--;)r[n]=r[n++-s];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},M.prototype.Q=function(t,e){var r=this.a,n=this.b;this.A=t;for(var i,o,s,a,f=r.length;256!==(i=ot(this,t));)if(256>i)n>=f&&(f=(r=this.f()).length),r[n++]=i;else for(a=W[o=i-257],0f&&(f=(r=this.f()).length);a--;)r[n]=r[n++-s];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},M.prototype.f=function(){var t,e,r=new(s?Uint8Array:Array)(this.b-32768),n=this.b-32768,i=this.a;if(s)r.set(i.subarray(32768,r.length));else for(t=0,e=r.length;tt;++t)i[t]=i[n+t];return this.b=32768,i},M.prototype.S=function(t){var e,r,n,i=this.input.length/this.c+1|0,o=this.input,a=this.a;return t&&("number"==typeof t.B&&(i=t.B),"number"==typeof t.M&&(i+=t.M)),2>i?r=(n=(o.length-this.c)/this.A[2]/2*258|0)e&&(this.a.length=e),t=this.a),this.buffer=t},st.prototype.i=function(){for(var t=this.input.length;this.c>>0,d(e,i,i)!==m&&n(Error("invalid CRC-32 checksum: 0x"+d(e,i,i).toString(16)+" / 0x"+m.toString(16))),a.Z=f=(g[y++]|g[y++]<<8|g[y++]<<16|g[y++]<<24)>>>0,(4294967295&e.length)!==f&&n(Error("invalid input size: "+(4294967295&e.length)+" / "+f)),this.G.push(a),this.c=y}this.R=o;var b,v,w,x=this.G,_=0,E=0;for(b=0,v=x.length;b>>0!==at(t)&&n(Error("invalid adler-32 checksum"))),t};var ut=8;function ht(t,e){this.input=t,this.a=new(s?Uint8Array:Array)(32768),this.k=ct.t;var r,n={};for(r in!e&&(e={})||"number"!=typeof e.compressionType||(this.k=e.compressionType),e)n[r]=e[r];n.outputBuffer=this.a,this.I=new v(this.input,n)}var ct=_;function lt(t,e){var r;return r=new ht(t).h(),e||(e={}),e.H?r:gt(r)}function pt(t,e){var r;return t.subarray=t.slice,r=new ft(t).i(),e||(e={}),e.noBuffer?r:gt(r)}function dt(t,e){var r;return t.subarray=t.slice,r=new P(t).h(),e||(e={}),e.H?r:gt(r)}function mt(t,e){var r;return t.subarray=t.slice,r=new st(t).i(),e||(e={}),e.H?r:gt(r)}function gt(t){var e,n,i=new r(t.length);for(e=0,n=t.length;e>24&255,f[u++]=a>>16&255,f[u++]=a>>8&255,f[u++]=255&a,f},e.deflate=function(e,r,n){t.nextTick(function(){var t,i;try{i=lt(e,n)}catch(e){t=e}r(t,i)})},e.deflateSync=lt,e.inflate=function(e,r,n){t.nextTick(function(){var t,i;try{i=pt(e,n)}catch(e){t=e}r(t,i)})},e.inflateSync=pt,e.gzip=function(e,r,n){t.nextTick(function(){var t,i;try{i=dt(e,n)}catch(e){t=e}r(t,i)})},e.gzipSync=dt,e.gunzip=function(e,r,n){t.nextTick(function(){var t,i;try{i=mt(e,n)}catch(e){t=e}r(t,i)})},e.gunzipSync=mt}).call(this)}).call(this,r(6),r(1).Buffer)},function(t,e,r){(function(e){function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==a.return||a.return()}finally{if(i)throw o}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var i=r(45),o=r(4);t.exports=function(t,r){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:70,a=e.from(r),f=o(a),u=0,h=null,c=null,l=0,p=0;if(f&&"image/bmp"===f.mime){var d=i.decode(a);h=t._malloc(d.data.length*Uint8Array.BYTES_PER_ELEMENT),t.HEAPU8.set(d.data,h),l=d.width,p=d.height,u=4}else{var m=t._malloc(a.length*Uint8Array.BYTES_PER_ELEMENT);t.HEAPU8.set(a,m),c=t._pixReadMem(m,a.length),0===t.getValue(c+28,"i32")&&t.setValue(c+28,s,"i32");var g=n(Array(2).fill(0).map(function(e,r){return t.getValue(c+4*r,"i32")}),2);l=g[0],p=g[1]}return{w:l,h:p,bytesPerPixel:u,data:h,pix:c}}}).call(this,r(1).Buffer)},function(t,e,r){var n=r(46),i=r(47);t.exports={encode:n,decode:i}},function(t,e,r){(function(e){function r(t){this.buffer=t.data,this.width=t.width,this.height=t.height,this.extraBytes=this.width%4,this.rgbSize=this.height*(3*this.width+this.extraBytes),this.headerInfoSize=40,this.data=[],this.flag="BM",this.reserved=0,this.offset=54,this.fileSize=this.rgbSize+this.offset,this.planes=1,this.bitPP=24,this.compress=0,this.hr=0,this.vr=0,this.colors=0,this.importantColors=0}r.prototype.encode=function(){var t=new e(this.offset+this.rgbSize);this.pos=0,t.write(this.flag,this.pos,2),this.pos+=2,t.writeUInt32LE(this.fileSize,this.pos),this.pos+=4,t.writeUInt32LE(this.reserved,this.pos),this.pos+=4,t.writeUInt32LE(this.offset,this.pos),this.pos+=4,t.writeUInt32LE(this.headerInfoSize,this.pos),this.pos+=4,t.writeUInt32LE(this.width,this.pos),this.pos+=4,t.writeInt32LE(-this.height,this.pos),this.pos+=4,t.writeUInt16LE(this.planes,this.pos),this.pos+=2,t.writeUInt16LE(this.bitPP,this.pos),this.pos+=2,t.writeUInt32LE(this.compress,this.pos),this.pos+=4,t.writeUInt32LE(this.rgbSize,this.pos),this.pos+=4,t.writeUInt32LE(this.hr,this.pos),this.pos+=4,t.writeUInt32LE(this.vr,this.pos),this.pos+=4,t.writeUInt32LE(this.colors,this.pos),this.pos+=4,t.writeUInt32LE(this.importantColors,this.pos),this.pos+=4;for(var r=0,n=3*this.width+this.extraBytes,i=0;i0){var a=this.pos+i*n+3*this.width;t.fill(0,a,a+this.extraBytes)}}return t},t.exports=function(t,e){return void 0===e&&(e=100),{data:new r(t).encode(),width:t.width,height:t.height}}}).call(this,r(1).Buffer)},function(t,e,r){(function(e){function r(t,e){if(this.pos=0,this.buffer=t,this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=this.buffer.toString("utf-8",0,this.pos+=2),"BM"!=this.flag)throw new Error("Invalid BMP File");this.parseHeader(),this.parseRGBA()}r.prototype.parseHeader=function(){if(this.fileSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.reserved=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.offset=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.headerSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.width=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.height=this.buffer.readInt32LE(this.pos),this.pos+=4,this.planes=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.bitPP=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.compress=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.rawSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.hr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.vr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.colors=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.importantColors=this.buffer.readUInt32LE(this.pos),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<=0?this.height-1:-this.height;for(r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i>7-a&1];this.data[s+4*a]=0,this.data[s+4*a+1]=f.blue,this.data[s+4*a+2]=f.green,this.data[s+4*a+3]=f.red}0!=e&&(this.pos+=4-e)}},r.prototype.bit4=function(){if(2==this.compress){var t=function(t){var r=this.palette[t];this.data[e]=0,this.data[e+1]=r.blue,this.data[e+2]=r.green,this.data[e+3]=r.red,e+=4};this.data.fill(255);for(var e=0,r=this.bottom_up?this.height-1:0,n=!1;e>4),1&u&&u+1>1&1)&&this.pos++}}else for(u=0;u>4),n=!n}}else{var h=Math.ceil(this.width/2),c=h%4;for(a=this.height-1;a>=0;a--){var l=this.bottom_up?a:this.height-1-a;for(s=0;s>4,d=15&o,m=this.palette[p];if(this.data[e]=0,this.data[e+1]=m.blue,this.data[e+2]=m.green,this.data[e+3]=m.red,2*s+1>=this.width)break;m=this.palette[d],this.data[e+4]=0,this.data[e+4+1]=m.blue,this.data[e+4+2]=m.green,this.data[e+4+3]=m.red}0!=c&&(this.pos+=4-c)}}},r.prototype.bit8=function(){if(1==this.compress){var t=function(t){var r=this.palette[t];this.data[e]=0,this.data[e+1]=r.blue,this.data[e+2]=r.green,this.data[e+3]=r.red,e+=4};this.data.fill(255);for(var e=0,r=this.bottom_up?this.height-1:0;e=0;s--){var h=this.bottom_up?s:this.height-1-s;for(o=0;o=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i>5&e)/e*255|0,f=(o>>10&e)/e*255|0,u=o>>15?255:0,h=n*this.width*4+4*i;this.data[h]=u,this.data[h+1]=s,this.data[h+2]=a,this.data[h+3]=f}this.pos+=t}},r.prototype.bit16=function(){var t=this.width%2*2;this.maskRed=31744,this.maskGreen=992,this.maskBlue=31,this.mask0=0,3==this.compress&&(this.maskRed=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.maskGreen=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.maskBlue=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.mask0=this.buffer.readUInt32LE(this.pos),this.pos+=4);for(var e=[0,0,0],r=0;r<16;r++)this.maskRed>>r&1&&e[0]++,this.maskGreen>>r&1&&e[1]++,this.maskBlue>>r&1&&e[2]++;e[1]+=e[0],e[2]+=e[1],e[0]=8-e[0],e[1]-=8,e[2]-=8;for(var n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,o=0;o>e[1],u=(s&this.maskRed)>>e[2],h=i*this.width*4+4*o;this.data[h]=0,this.data[h+1]=a,this.data[h+2]=f,this.data[h+3]=u}this.pos+=t}},r.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r=0;t--)for(e=this.bottom_up?t:this.height-1-t,r=0;r0){var y=g.get_n(),b=g.get_x(),v=g.get_y();A=[];for(var w=0;w { + if (d instanceof File) { + return Buffer.from(d.data); + } + + if (d instanceof ArrayBuffer) { + return Buffer.from(d); + } + + return Buffer.from(d); + }); + const totalLength = buffers.reduce((p, c) => p + c.length, 0); + this.data = Buffer.concat(buffers, totalLength); + + this.name = name; + this.lastModified = stats.lastModified || Date.now(); + + const types = detectFileType(this.data); + if (types.length) { + this.type = types[0].mime; + } else { + this.type = "application/unknown"; + } + } + + /** + * size property + */ + get size() { + return this.data.length; + } + + /** + * Return lastModified as Date + */ + get lastModifiedDate() { + return new Date(this.lastModified); + } + +} + +export default File; diff --git a/src/node/NodeDish.mjs b/src/node/NodeDish.mjs new file mode 100644 index 00000000..ef9fd11a --- /dev/null +++ b/src/node/NodeDish.mjs @@ -0,0 +1,84 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + +import util from "util"; +import Dish from "../core/Dish.mjs"; + +/** + * Subclass of Dish for use in the Node.js environment. + * + * Adds some helper functions and improves coercion for Node.js logging. + */ +class NodeDish extends Dish { + + /** + * Create a Dish + * @param {any} inputOrDish - The dish input + * @param {String|Number} - The dish type, as enum or string + */ + constructor(inputOrDish=null, type=null) { + + // Allow `fs` file input: + // Any node fs Buffers transformed to array buffer + // Use Array.from as Uint8Array doesnt pass instanceof Array test + if (Buffer.isBuffer(inputOrDish)) { + inputOrDish = Array.from(inputOrDish); + type = Dish.BYTE_ARRAY; + } + super(inputOrDish, type); + } + + /** + * Apply the inputted operation to the dish. + * + * @param {WrappedOperation} operation the operation to perform + * @param {*} args - any arguments for the operation + * @returns {Dish} a new dish with the result of the operation. + */ + apply(operation, args=null) { + return operation(this, args); + } + + /** + * alias for get + * @param args see get args + */ + to(...args) { + return this.get(...args); + } + + /** + * Avoid coercion to a String primitive. + */ + toString() { + return this.presentAs(Dish.typeEnum("string")); + } + + /** + * What we want to log to the console. + */ + [util.inspect.custom](depth, options) { + return this.presentAs(Dish.typeEnum("string")); + } + + /** + * Backwards compatibility for node v6 + * Log only the value to the console in node. + */ + inspect() { + return this.presentAs(Dish.typeEnum("string")); + } + + /** + * Avoid coercion to a Number primitive. + */ + valueOf() { + return this.presentAs(Dish.typeEnum("number")); + } + +} + +export default NodeDish; diff --git a/src/node/NodeRecipe.mjs b/src/node/NodeRecipe.mjs new file mode 100644 index 00000000..b623f611 --- /dev/null +++ b/src/node/NodeRecipe.mjs @@ -0,0 +1,94 @@ +/** + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + +import {operations} from "./index.mjs"; +import { sanitise } from "./apiUtils.mjs"; + +/** + * Similar to core/Recipe, Recipe controls a list of operations and + * the NodeDish the operate on. However, this Recipe is for the node + * environment. + */ +class NodeRecipe { + + /** + * Recipe constructor + * @param recipeConfig + */ + constructor(recipeConfig) { + this._parseConfig(recipeConfig); + } + + + /** + * Validate an ingredient $ coerce to operation if necessary. + * @param {String | Function | Object} ing + */ + _validateIngredient(ing) { + if (typeof ing === "string") { + const op = operations.find((op) => { + return sanitise(op.opName) === sanitise(ing); + }); + if (op) { + return op; + } else { + throw new TypeError(`Couldn't find an operation with name '${ing}'.`); + } + } else if (typeof ing === "function") { + if (operations.includes(ing)) { + return ing; + } else { + throw new TypeError("Inputted function not a Chef operation."); + } + // CASE: op, maybe with configuration + } else if (ing.op) { + const sanitisedOp = this._validateIngredient(ing.op); + if (ing.args) { + return {op: sanitisedOp, args: ing.args}; + } + return sanitisedOp; + } else { + throw new TypeError("Recipe can only contain function names or functions"); + } + } + + + /** + * Parse config for recipe. + * @param {String | Function | String[] | Function[] | [String | Function]} recipeConfig + */ + _parseConfig(recipeConfig) { + if (!recipeConfig) { + this.opList = []; + return; + } + + if (!Array.isArray(recipeConfig)) { + recipeConfig = [recipeConfig]; + } + + this.opList = recipeConfig.map((ing) => this._validateIngredient(ing)); + } + + /** + * Run the dish through each operation, one at a time. + * @param {NodeDish} dish + * @returns {NodeDish} + */ + execute(dish) { + return this.opList.reduce((prev, curr) => { + // CASE where opList item is op and args + if (Object.prototype.hasOwnProperty.call(curr, "op") && + Object.prototype.hasOwnProperty.call(curr, "args")) { + return curr.op(prev, curr.args); + } + // CASE opList item is just op. + return curr(prev); + }, dish); + } +} + +export default NodeRecipe; diff --git a/src/node/api.mjs b/src/node/api.mjs new file mode 100644 index 00000000..fca29dd8 --- /dev/null +++ b/src/node/api.mjs @@ -0,0 +1,333 @@ +/** + * Wrap operations for consumption in Node. + * + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + +/*eslint no-console: ["off"] */ + +import NodeDish from "./NodeDish.mjs"; +import NodeRecipe from "./NodeRecipe.mjs"; +import OperationConfig from "../core/config/OperationConfig.json"; +import { sanitise, removeSubheadingsFromArray, sentenceToCamelCase } from "./apiUtils.mjs"; +import ExcludedOperationError from "../core/errors/ExcludedOperationError.mjs"; + + +/** + * transformArgs + * + * Take the default args array and update with any user-defined + * operation arguments. Allows user to define arguments in object style, + * with accommodating name matching. Using named args in the API is more + * clear to the user. + * + * Argument name matching is case and space insensitive + * @private + * @param {Object[]} originalArgs - the operation-s args list + * @param {Object} newArgs - any inputted args + */ +function transformArgs(opArgsList, newArgs) { + + if (newArgs && Array.isArray(newArgs)) { + return newArgs; + } + + // Filter out arg values that are list subheadings - they are surrounded in []. + // See Strings op for example. + const opArgs = Object.assign([], opArgsList).map((a) => { + if (Array.isArray(a.value)) { + a.value = removeSubheadingsFromArray(a.value); + } + return a; + }); + + // Reconcile object style arg info to fit operation args shape. + if (newArgs) { + Object.keys(newArgs).map((key) => { + const index = opArgs.findIndex((arg) => { + return arg.name.toLowerCase().replace(/ /g, "") === + key.toLowerCase().replace(/ /g, ""); + }); + + if (index > -1) { + const argument = opArgs[index]; + if (argument.type === "toggleString") { + if (typeof newArgs[key] === "string") { + argument.string = newArgs[key]; + } else { + argument.string = newArgs[key].string; + argument.option = newArgs[key].option; + } + } else if (argument.type === "editableOption") { + // takes key: "option", key: {name, val: "string"}, key: {name, val: [...]} + argument.value = typeof newArgs[key] === "string" ? newArgs[key]: newArgs[key].value; + } else { + argument.value = newArgs[key]; + } + } + }); + } + + // Sanitise args + return opArgs.map((arg) => { + if (arg.type === "option") { + // pick default option if not already chosen + return typeof arg.value === "string" ? arg.value : arg.value[0]; + } + + if (arg.type === "editableOption") { + return typeof arg.value === "string" ? arg.value : arg.value[0].value; + } + + if (arg.type === "toggleString") { + // ensure string and option exist when user hasn't defined + arg.string = arg.string || ""; + arg.option = arg.option || arg.toggleValues[0]; + return arg; + } + + return arg.value; + }); +} + + +/** + * Ensure an input is a SyncDish object. + * @param input + */ +function ensureIsDish(input) { + if (!input) { + return new NodeDish(); + } + + if (input instanceof NodeDish) { + return input; + } else { + return new NodeDish(input); + } +} + + +/** + * prepareOp: transform args, make input the right type. + * Also convert any Buffers to ArrayBuffers. + * @param opInstance - instance of the operation + * @param input - operation input + * @param args - operation args + */ +function prepareOp(opInstance, input, args) { + const dish = ensureIsDish(input); + // Transform object-style args to original args array + const transformedArgs = transformArgs(opInstance.args, args); + const transformedInput = dish.get(opInstance.inputType); + return {transformedInput, transformedArgs}; +} + + +/** + * createArgInfo + * + * Create an object of options for each argument in the given operation + * + * Argument names are converted to camel case for consistency. + * + * @param {Operation} op - the operation to extract args from + * @returns {{}} - arrays of options for args. +*/ +function createArgInfo(op) { + const result = {}; + op.args.forEach((a) => { + if (a.type === "option" || a.type === "editableOption") { + result[sentenceToCamelCase(a.name)] = { + type: a.type, + options: removeSubheadingsFromArray(a.value) + }; + } else if (a.type === "toggleString") { + result[sentenceToCamelCase(a.name)] = { + type: a.type, + value: a.value, + toggleValues: removeSubheadingsFromArray(a.toggleValues), + }; + } else { + result[sentenceToCamelCase(a.name)] = { + type: a.type, + value: a.value, + }; + } + }); + + return result; +} + + +/** + * Wrap an operation to be consumed by node API. + * Checks to see if run function is async or not. + * new Operation().run() becomes operation() + * Perform type conversion on input + * @private + * @param {Operation} Operation + * @returns {Function} The operation's run function, wrapped in + * some type conversion logic + */ +export function _wrap(OpClass) { + + // Check to see if class's run function is async. + const opInstance = new OpClass(); + const isAsync = opInstance.run.constructor.name === "AsyncFunction"; + + let wrapped; + + // If async, wrap must be async. + if (isAsync) { + /** + * Async wrapped operation run function + * @param {*} input + * @param {Object | String[]} args - either in Object or normal args array + * @returns {Promise} operation's output, on a Dish. + * @throws {OperationError} if the operation throws one. + */ + wrapped = async (input, args=null) => { + const {transformedInput, transformedArgs} = prepareOp(opInstance, input, args); + const result = await opInstance.run(transformedInput, transformedArgs); + return new NodeDish({ + value: result, + type: opInstance.outputType, + }); + }; + } else { + /** + * wrapped operation run function + * @param {*} input + * @param {Object | String[]} args - either in Object or normal args array + * @returns {SyncDish} operation's output, on a Dish. + * @throws {OperationError} if the operation throws one. + */ + wrapped = (input, args=null) => { + const {transformedInput, transformedArgs} = prepareOp(opInstance, input, args); + const result = opInstance.run(transformedInput, transformedArgs); + return new NodeDish({ + value: result, + type: opInstance.outputType, + }); + }; + } + + // used in chef.help + wrapped.opName = OpClass.name; + wrapped.args = createArgInfo(opInstance); + + return wrapped; +} + + +/** + * help: Give information about operations matching the given search term, + * or inputted operation. + * + * @param {String || wrapped operation} input - the name of the operation to get help for. + * Case and whitespace are ignored in search. + * @returns {Object[]} Config of matching operations. + */ +export function help(input) { + let searchTerm = false; + if (typeof input === "string") { + searchTerm = input; + } else if (typeof input === "function") { + searchTerm = input.opName; + } + + if (!searchTerm) { + return null; + } + + let exactMatchExists = false; + + // Look for matches in operation name and description, listing name + // matches first. + const matches = Object.keys(OperationConfig) + // hydrate operation: swap op name for op config object (with name) + .map((m) => { + const hydrated = OperationConfig[m]; + hydrated.name = m; + + // flag up an exact name match. Only first exact match counts. + if (!exactMatchExists) { + exactMatchExists = sanitise(hydrated.name) === sanitise(searchTerm); + } + // Return hydrated along with what type of match it was + return { + hydrated, + nameExactMatch: sanitise(hydrated.name) === sanitise(searchTerm), + nameMatch: sanitise(hydrated.name).includes(sanitise(searchTerm)), + descMatch: sanitise(hydrated.description).includes(sanitise(searchTerm)) + }; + }) + // Filter out non-matches. If exact match exists, filter out all others. + .filter((result) => { + if (exactMatchExists) { + return !!result.nameExactMatch; + } + return result.nameMatch || result.descMatch; + }) + // sort results with name match first + .sort((a, b) => { + const aInt = a.nameMatch ? 1 : 0; + const bInt = b.nameMatch ? 1 : 0; + return bInt - aInt; + }) + // extract just the hydrated config + .map(result => result.hydrated); + + if (matches && matches.length) { + console.log(`${matches.length} result${matches.length > 1 ? "s" : ""} found.`); + return matches; + } + + console.log("No results found."); + return null; +} + + +/** + * bake [Wrapped] - Perform an array of operations on some input. + * @returns {Function} + */ +export function bake() { + + /** + * bake + * + * @param {*} input - some input for a recipe. + * @param {String | Function | String[] | Function[] | [String | Function]} recipeConfig - + * An operation, operation name, or an array of either. + * @returns {SyncDish} of the result + * @throws {TypeError} if invalid recipe given. + */ + return function(input, recipeConfig) { + const recipe = new NodeRecipe(recipeConfig); + const dish = ensureIsDish(input); + return recipe.execute(dish); + }; +} + + +/** + * explainExcludedFunction + * + * Explain that the given operation is not included in the Node.js version. + * @param {String} name - name of operation + */ +export function _explainExcludedFunction(name) { + /** + * Throw new error type with useful message. + */ + const func = () => { + throw new ExcludedOperationError(`Sorry, the ${name} operation is not available in the Node.js version of CyberChef.`); + }; + // Add opName prop so NodeRecipe can handle it, just like wrap does. + func.opName = name; + return func; +} diff --git a/src/node/apiUtils.mjs b/src/node/apiUtils.mjs new file mode 100644 index 00000000..64688073 --- /dev/null +++ b/src/node/apiUtils.mjs @@ -0,0 +1,86 @@ +/** + * Utility functions for the node environment + * + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + + +/** + * someName => Somename + * + * @param {String} str = string to be altered + * @returns {String} + */ +const capitalise = function capitalise(str) { + // Don't edit names that start with 2+ caps + if (/^[A-Z0-9]{2,}/g.test(str)) { + return str; + } + // reserved. Don't change for now. + if (str === "Return") { + return str; + } + + return `${str.charAt(0).toUpperCase()}${str.substr(1).toLowerCase()}`; +}; + + +/** + * SomeName => someName + * @param {String} name - string to be altered + * @returns {String} decapitalised + */ +export function decapitalise(str) { + // Don't decapitalise str that start with 2+ caps + if (/^[A-Z0-9]{2,}/g.test(str)) { + return str; + } + // reserved. Don't change for now. + if (str === "Return") { + return str; + } + + return `${str.charAt(0).toLowerCase()}${str.substr(1)}`; +} + + +/** + * Remove strings surrounded with [] from the given array. +*/ +export function removeSubheadingsFromArray(array) { + if (Array.isArray(array)) { + return array.filter((i) => { + if (typeof i === "string") { + return !i.match(/^\[[\s\S]*\]$/); + } + return true; + }); + } +} + + +/** + * Remove spaces, make lower case. + * @param str + */ +export function sanitise(str) { + return str.replace(/ /g, "").toLowerCase(); +} + + +/** + * something like this => somethingLikeThis + * ABC a sentence => ABCASentence +*/ +export function sentenceToCamelCase(str) { + return str.split(" ") + .map((s, index) => { + if (index === 0) { + return decapitalise(s); + } + return capitalise(s); + }) + .reduce((prev, curr) => `${prev}${curr}`, ""); +} diff --git a/src/node/cjs.js b/src/node/cjs.js new file mode 100644 index 00000000..a17bce53 --- /dev/null +++ b/src/node/cjs.js @@ -0,0 +1,13 @@ +/** + * Export the main ESM module as CommonJS + * + * + * @author d98762656 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +/*eslint no-global-assign: ["off"] */ +require = require("esm")(module); +module.exports = require("./index.mjs"); +module.exports.File = require("./File.mjs"); diff --git a/src/node/config/excludedOperations.mjs b/src/node/config/excludedOperations.mjs new file mode 100644 index 00000000..9359475d --- /dev/null +++ b/src/node/config/excludedOperations.mjs @@ -0,0 +1,24 @@ +/** + * Operations to exclude from the Node API + * + * @author d98762656 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ +export default [ + // This functionality can be done more easily using JavaScript + "Fork", + "Merge", + "Jump", + "ConditionalJump", + "Label", + "Comment", + + // esprima doesn't work in .mjs + "JavaScriptBeautify", + "JavaScriptMinify", + "JavaScriptParser", + + // Irrelevant in Node console + "SyntaxHighlighter", +]; diff --git a/src/node/config/scripts/generateNodeIndex.mjs b/src/node/config/scripts/generateNodeIndex.mjs new file mode 100644 index 00000000..b65b7d3c --- /dev/null +++ b/src/node/config/scripts/generateNodeIndex.mjs @@ -0,0 +1,128 @@ +/** + * This script generates the exports functionality for the node API. + * + * it exports chef as default, but all the wrapped operations as + * other top level exports. + * + * @author d98762656 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + +/*eslint no-console: 0 */ + +import fs from "fs"; +import path from "path"; +import * as operations from "../../../core/operations/index.mjs"; +import { decapitalise } from "../../apiUtils.mjs"; +import excludedOperations from "../excludedOperations.mjs"; + +const includedOperations = Object.keys(operations).filter((op => excludedOperations.indexOf(op) === -1)); + +const dir = path.join(`${process.cwd()}/src/node`); +if (!fs.existsSync(dir)) { + console.log("\nCWD: " + process.cwd()); + console.log("Error: generateNodeIndex.mjs should be run from the project root"); + console.log("Example> node --experimental-modules src/core/config/scripts/generateNodeIndex.mjs"); + process.exit(1); +} + +let code = `/** +* THIS FILE IS AUTOMATICALLY GENERATED BY src/node/config/scripts/generateNodeIndex.mjs +* +* @author d98762625 [d98762625@gmail.com] +* @copyright Crown Copyright 2019 +* @license Apache-2.0 +*/ + +/* eslint camelcase: 0 */ + + +import NodeDish from "./NodeDish.mjs"; +import { _wrap, help, bake, _explainExcludedFunction } from "./api.mjs"; +import File from "./File.mjs"; +import { OperationError, DishError, ExcludedOperationError } from "../core/errors/index"; +import { + // import as core_ to avoid name clashes after wrap. +`; + +includedOperations.forEach((op) => { + // prepend with core_ to avoid name collision later. + code += ` ${op} as core_${op},\n`; +}); + +code +=` +} from "../core/operations/index"; + +global.File = File; + +/** + * generateChef + * + * Creates decapitalised, wrapped ops in chef object for default export. + */ +function generateChef() { + return { +`; + +includedOperations.forEach((op) => { + code += ` "${decapitalise(op)}": _wrap(core_${op}),\n`; +}); + +excludedOperations.forEach((op) => { + code += ` "${decapitalise(op)}": _explainExcludedFunction("${op}"),\n`; +}); + +code += ` }; +} + +const chef = generateChef(); +// Add some additional features to chef object. +chef.help = help; +chef.Dish = NodeDish; + +// Define consts here so we can add to top-level export - wont allow +// export of chef property. +`; + +Object.keys(operations).forEach((op) => { + code += `const ${decapitalise(op)} = chef.${decapitalise(op)};\n`; +}); + +code +=` + +// Define array of all operations to create register for bake. +const operations = [\n`; + +Object.keys(operations).forEach((op) => { + code += ` ${decapitalise(op)},\n`; +}); + +code += `]; + +const prebaked = bake(operations); +chef.bake = prebaked; +export default chef; + +// Operations as top level exports. +export { + operations, +`; + +Object.keys(operations).forEach((op) => { + code += ` ${decapitalise(op)},\n`; +}); + +code += " NodeDish as Dish,\n"; +code += " prebaked as bake,\n"; +code += " help,\n"; +code += " OperationError,\n"; +code += " ExcludedOperationError,\n"; +code += " DishError,\n"; +code += "};\n"; + + +fs.writeFileSync( + path.join(dir, "./index.mjs"), + code +); diff --git a/src/node/index.mjs b/src/node/index.mjs deleted file mode 100644 index c6e86c68..00000000 --- a/src/node/index.mjs +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Node view for CyberChef. - * - * @author n1474335 [n1474335@gmail.com] - * @copyright Crown Copyright 2017 - * @license Apache-2.0 - */ -import "babel-polyfill"; - -// Define global environment functions -global.ENVIRONMENT_IS_WORKER = function() { - return typeof importScripts === "function"; -}; -global.ENVIRONMENT_IS_NODE = function() { - return typeof process === "object" && typeof require === "function"; -}; -global.ENVIRONMENT_IS_WEB = function() { - return typeof window === "object"; -}; - -import Chef from "../core/Chef"; - -const CyberChef = { - - bake: function(input, recipeConfig) { - this.chef = new Chef(); - return this.chef.bake( - input, - recipeConfig, - {}, - 0, - false - ); - } - -}; - -export default CyberChef; -export {CyberChef}; diff --git a/src/node/repl.js b/src/node/repl.js new file mode 100644 index 00000000..c9ed76f1 --- /dev/null +++ b/src/node/repl.js @@ -0,0 +1,36 @@ +/** + * Create a REPL server for chef + * + * + * @author d98762656 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + +const chef = require("./cjs.js"); +const repl = require("repl"); + + +/*eslint no-console: ["off"] */ + +console.log(` + ______ __ ________ ____ + / ____/_ __/ /_ ___ _____/ ____/ /_ ___ / __/ + / / / / / / __ \\/ _ \\/ ___/ / / __ \\/ _ \\/ /_ +/ /___/ /_/ / /_/ / __/ / / /___/ / / / __/ __/ +\\____/\\__, /_.___/\\___/_/ \\____/_/ /_/\\___/_/ + /____/ + +`); +const replServer = repl.start({ + prompt: "chef > ", +}); + +global.File = chef.File; + +Object.keys(chef).forEach((key) => { + if (key !== "operations") { + replServer.context[key] = chef[key]; + } +}); + diff --git a/src/web/App.mjs b/src/web/App.mjs index ac97de4c..1039b7b2 100755 --- a/src/web/App.mjs +++ b/src/web/App.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Utils from "../core/Utils"; +import Utils, { debounce } from "../core/Utils"; import {fromBase64} from "../core/lib/Base64"; import Manager from "./Manager"; import HTMLCategory from "./HTMLCategory"; @@ -87,7 +87,10 @@ class App { setTimeout(function() { document.getElementById("loader-wrapper").remove(); document.body.classList.remove("loaded"); - }, 1000); + + // Bake initial input + this.manager.input.bakeAll(); + }.bind(this), 1000); // Clear the loading message interval clearInterval(window.loadingMsgsInt); @@ -96,6 +99,9 @@ class App { window.removeEventListener("error", window.loadingErrorHandler); document.dispatchEvent(this.manager.apploaded); + + this.manager.input.calcMaxTabs(); + this.manager.output.calcMaxTabs(); } @@ -108,7 +114,7 @@ class App { handleError(err, logToConsole) { if (logToConsole) log.error(err); const msg = err.displayStr || err.toString(); - this.alert(msg, this.options.errorTimeout, !this.options.showErrors); + this.alert(Utils.escapeHtml(msg), this.options.errorTimeout, !this.options.showErrors); } @@ -128,7 +134,6 @@ class App { this.manager.recipe.updateBreakpointIndicator(false); this.manager.worker.bake( - this.getInput(), // The user's input this.getRecipeConfig(), // The configuration of the recipe this.options, // Options set by the user this.progress, // The current position in the recipe @@ -148,13 +153,46 @@ class App { if (this.autoBake_ && !this.baking) { log.debug("Auto-baking"); - this.bake(); + this.manager.input.inputWorker.postMessage({ + action: "autobake", + data: { + activeTab: this.manager.tabs.getActiveInputTab() + } + }); } else { this.manager.controls.showStaleIndicator(); } } + /** + * Executes the next step of the recipe. + */ + step() { + if (this.baking) return; + + // Reset status using cancelBake + this.manager.worker.cancelBake(true, false); + + const activeTab = this.manager.tabs.getActiveInputTab(); + if (activeTab === -1) return; + + let progress = 0; + if (this.manager.output.outputs[activeTab].progress !== false) { + log.error(this.manager.output.outputs[activeTab]); + progress = this.manager.output.outputs[activeTab].progress; + } + + this.manager.input.inputWorker.postMessage({ + action: "step", + data: { + activeTab: activeTab, + progress: progress + 1 + } + }); + } + + /** * Runs a silent bake, forcing the browser to load and cache all the relevant JavaScript code needed * to do a real bake. @@ -175,24 +213,25 @@ class App { } - /** - * Gets the user's input data. - * - * @returns {string} - */ - getInput() { - return this.manager.input.get(); - } - - /** * Sets the user's input data. * * @param {string} input - The string to set the input to - * @param {boolean} [silent=false] - Suppress statechange event */ - setInput(input, silent=false) { - this.manager.input.set(input, silent); + setInput(input) { + // Get the currently active tab. + // If there isn't one, assume there are no inputs so use inputNum of 1 + let inputNum = this.manager.tabs.getActiveInputTab(); + if (inputNum === -1) inputNum = 1; + this.manager.input.updateInputValue(inputNum, input); + + this.manager.input.inputWorker.postMessage({ + action: "setInput", + data: { + inputNum: inputNum, + silent: true + } + }); } @@ -216,7 +255,7 @@ class App { for (let j = 0; j < catConf.ops.length; j++) { const opName = catConf.ops[j]; - if (!this.operations.hasOwnProperty(opName)) { + if (!(opName in this.operations)) { log.warn(`${opName} could not be found.`); continue; } @@ -244,7 +283,7 @@ class App { /** * Sets up the adjustable splitter to allow the user to resize areas of the page. * - * @param {boolean} [minimise=false] - Set this flag if attempting to minimuse frames to 0 width + * @param {boolean} [minimise=false] - Set this flag if attempting to minimise frames to 0 width */ initialiseSplitter(minimise=false) { if (this.columnSplitter) this.columnSplitter.destroy(); @@ -252,12 +291,14 @@ class App { this.columnSplitter = Split(["#operations", "#recipe", "#IO"], { sizes: [20, 30, 50], - minSize: minimise ? [0, 0, 0] : [240, 370, 450], + minSize: minimise ? [0, 0, 0] : [240, 310, 450], gutterSize: 4, - expandToMin: false, - onDrag: function() { + expandToMin: true, + onDrag: debounce(function() { this.manager.recipe.adjustWidth(); - }.bind(this) + this.manager.input.calcMaxTabs(); + this.manager.output.calcMaxTabs(); + }, 50, "dragSplitter", this, []) }); this.ioSplitter = Split(["#input", "#output"], { @@ -330,7 +371,7 @@ class App { validFavourites(favourites) { const validFavs = []; for (let i = 0; i < favourites.length; i++) { - if (this.operations.hasOwnProperty(favourites[i])) { + if (favourites[i] in this.operations) { validFavs.push(favourites[i]); } else { this.alert(`The operation "${Utils.escapeHtml(favourites[i])}" is no longer available. ` + @@ -391,11 +432,12 @@ class App { this.manager.recipe.initialiseOperationDragNDrop(); } - /** - * Checks for input and recipe in the URI parameters and loads them if present. + * Gets the URI params from the window and parses them to extract the actual values. + * + * @returns {object} */ - loadURIParams() { + getURIParams() { // Load query string or hash from URI (depending on which is populated) // We prefer getting the hash by splitting the href rather than referencing // location.hash as some browsers (Firefox) automatically URL decode it, @@ -403,8 +445,21 @@ class App { const params = window.location.search || window.location.href.split("#")[1] || window.location.hash; - this.uriParams = Utils.parseURIParams(params); + const parsedParams = Utils.parseURIParams(params); + return parsedParams; + } + + /** + * Searches the URI parameters for recipe and input parameters. + * If recipe is present, replaces the current recipe with the recipe provided in the URI. + * If input is present, decodes and sets the input to the one provided in the URI. + * If theme is present, uses the theme. + * + * @fires Manager#statechange + */ + loadURIParams() { this.autoBakePause = true; + this.uriParams = this.getURIParams(); // Read in recipe from URI params if (this.uriParams.recipe) { @@ -433,10 +488,15 @@ class App { if (this.uriParams.input) { try { const inputData = fromBase64(this.uriParams.input); - this.setInput(inputData, true); + this.setInput(inputData); } catch (err) {} } + // Read in theme from URI params + if (this.uriParams.theme) { + this.manager.options.changeTheme(Utils.escapeHtml(this.uriParams.theme)); + } + this.autoBakePause = false; window.dispatchEvent(this.manager.statechange); } @@ -522,6 +582,8 @@ class App { this.columnSplitter.setSizes([20, 30, 50]); this.ioSplitter.setSizes([50, 50]); this.manager.recipe.adjustWidth(); + this.manager.input.calcMaxTabs(); + this.manager.output.calcMaxTabs(); } @@ -576,7 +638,7 @@ class App { * Pops up a message to the user and writes it to the console log. * * @param {string} str - The message to display (HTML supported) - * @param {number} timeout - The number of milliseconds before the alert closes automatically + * @param {number} [timeout=0] - The number of milliseconds before the alert closes automatically * 0 for never (until the user closes it) * @param {boolean} [silent=false] - Don't show the message in the popup, only print it to the * console @@ -589,14 +651,12 @@ class App { * // Pops up a box with the message "Happy Christmas!" that will disappear after 5 seconds. * this.alert("Happy Christmas!", 5000); */ - alert(str, timeout, silent) { + alert(str, timeout=0, silent=false) { const time = new Date(); log.info("[" + time.toLocaleString() + "] " + str); if (silent) return; - timeout = timeout || 0; - this.currentSnackbar = $.snackbar({ content: str, timeout: timeout, @@ -613,18 +673,22 @@ class App { * * @param {string} title - The title of the box * @param {string} body - The question (HTML supported) + * @param {string} accept - The text of the accept button + * @param {string} reject - The text of the reject button * @param {function} callback - A function accepting one boolean argument which handles the * response e.g. function(answer) {...} * @param {Object} [scope=this] - The object to bind to the callback function * * @example * // Pops up a box asking if the user would like a cookie. Prints the answer to the console. - * this.confirm("Question", "Would you like a cookie?", function(answer) {console.log(answer);}); + * this.confirm("Question", "Would you like a cookie?", "Yes", "No", function(answer) {console.log(answer);}); */ - confirm(title, body, callback, scope) { + confirm(title, body, accept, reject, callback, scope) { scope = scope || this; document.getElementById("confirm-title").innerHTML = title; document.getElementById("confirm-body").innerHTML = body; + document.getElementById("confirm-yes").innerText = accept; + document.getElementById("confirm-no").innerText = reject; document.getElementById("confirm-modal").style.display = "block"; this.confirmClosed = false; @@ -637,9 +701,14 @@ class App { callback.bind(scope)(true); $("#confirm-modal").modal("hide"); }.bind(this)) + .one("click", "#confirm-no", function() { + this.confirmClosed = true; + callback.bind(scope)(false); + }.bind(this)) .one("hide.bs.modal", function(e) { - if (!this.confirmClosed) - callback.bind(scope)(false); + if (!this.confirmClosed) { + callback.bind(scope)(undefined); + } this.confirmClosed = true; }.bind(this)); } @@ -656,6 +725,18 @@ class App { this.progress = 0; this.autoBake(); + this.updateTitle(false, null, true); + } + + + /** + * Update the page title to contain the new recipe + * + * @param {boolean} includeInput + * @param {string} input + * @param {boolean} [changeUrl=true] + */ + updateTitle(includeInput, input, changeUrl=true) { // Set title const recipeConfig = this.getRecipeConfig(); let title = "CyberChef"; @@ -674,8 +755,8 @@ class App { document.title = title; // Update the current history state (not creating a new one) - if (this.options.updateUrl) { - this.lastStateUrl = this.manager.controls.generateStateUrl(true, true, recipeConfig); + if (this.options.updateUrl && changeUrl) { + this.lastStateUrl = this.manager.controls.generateStateUrl(true, includeInput, input, recipeConfig); window.history.replaceState({}, title, this.lastStateUrl); } } diff --git a/src/web/HTMLIngredient.mjs b/src/web/HTMLIngredient.mjs index d8ac9511..03f4e983 100755 --- a/src/web/HTMLIngredient.mjs +++ b/src/web/HTMLIngredient.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import Utils from "../core/Utils"; +import Utils from "../core/Utils.mjs"; /** * Object to handle the creation of operation ingredients. @@ -31,7 +31,9 @@ class HTMLIngredient { this.target = config.target; this.defaultIndex = config.defaultIndex || 0; this.toggleValues = config.toggleValues; - this.id = "ing-" + this.app.nextIngId(); + this.ingId = this.app.nextIngId(); + this.id = "ing-" + this.ingId; + this.tabIndex = this.ingId + 2; // Input = 1, Search = 2 this.min = (typeof config.min === "number") ? config.min : ""; this.max = (typeof config.max === "number") ? config.max : ""; this.step = config.step || 1; @@ -56,6 +58,7 @@ class HTMLIngredient { @@ -69,6 +72,7 @@ class HTMLIngredient { @@ -82,6 +86,7 @@ class HTMLIngredient { @@ -104,6 +109,7 @@ class HTMLIngredient { `; for (i = 0; i < this.value.length; i++) { @@ -157,6 +165,7 @@ class HTMLIngredient { @@ -215,6 +225,7 @@ class HTMLIngredient { @@ -244,6 +255,7 @@ class HTMLIngredient { @@ -256,6 +268,7 @@ class HTMLIngredient { +
    @@ -202,7 +191,7 @@
      -
      +
      @@ -229,9 +218,16 @@
      - + + +
      -
      + +
      - -
      -
      + +
      +
      - +
      Name:
      @@ -268,13 +289,16 @@
      + - +
      -
      -
      -
      - - -
      -
      -
      -
      - -
      - Size:
      - -
      - - - - -
      to
      - +
      + +
      +
      +
      + + +
      +
      +
      +
      + +
      + Size:
      + +
      + + + + +
      to
      + +
      -
      -
      -
      - +
      +
      + +
      +
      -
      @@ -334,7 +382,7 @@
      -
      + + + + + + + + + + + + + + + + + + + + `; } diff --git a/src/web/ControlsWaiter.mjs b/src/web/waiters/ControlsWaiter.mjs similarity index 82% rename from src/web/ControlsWaiter.mjs rename to src/web/waiters/ControlsWaiter.mjs index a3f74e29..2f2705aa 100755 --- a/src/web/ControlsWaiter.mjs +++ b/src/web/waiters/ControlsWaiter.mjs @@ -4,8 +4,7 @@ * @license Apache-2.0 */ -import Utils from "../core/Utils"; -import {toBase64} from "../core/lib/Base64"; +import Utils from "../../core/Utils.mjs"; /** @@ -26,7 +25,7 @@ class ControlsWaiter { /** - * Initialise Bootstrap componenets + * Initialise Bootstrap components */ initComponents() { $("body").bootstrapMaterialDesign(); @@ -57,10 +56,11 @@ class ControlsWaiter { * Handler to trigger baking. */ bakeClick() { - if (document.getElementById("bake").textContent.indexOf("Bake") > 0) { - this.app.bake(); - } else { - this.manager.worker.cancelBake(); + const btnBake = document.getElementById("bake"); + if (btnBake.textContent.indexOf("Bake") > 0) { + this.app.manager.input.bakeAll(); + } else if (btnBake.textContent.indexOf("Cancel") > 0) { + this.manager.worker.cancelBake(false, true); } } @@ -69,7 +69,7 @@ class ControlsWaiter { * Handler for the 'Step through' command. Executes the next step of the recipe. */ stepClick() { - this.app.bake(true); + this.app.step(); } @@ -90,7 +90,7 @@ class ControlsWaiter { /** - * Populates the save disalog box with a URL incorporating the recipe and input. + * Populates the save dialog box with a URL incorporating the recipe and input. * * @param {Object[]} [recipeConfig] - The recipe configuration object array. */ @@ -112,26 +112,33 @@ class ControlsWaiter { * * @param {boolean} includeRecipe - Whether to include the recipe in the URL. * @param {boolean} includeInput - Whether to include the input in the URL. + * @param {string} input * @param {Object[]} [recipeConfig] - The recipe configuration object array. * @param {string} [baseURL] - The CyberChef URL, set to the current URL if not included * @returns {string} */ - generateStateUrl(includeRecipe, includeInput, recipeConfig, baseURL) { + generateStateUrl(includeRecipe, includeInput, input, recipeConfig, baseURL) { recipeConfig = recipeConfig || this.app.getRecipeConfig(); const link = baseURL || window.location.protocol + "//" + window.location.host + window.location.pathname; const recipeStr = Utils.generatePrettyRecipe(recipeConfig); - const inputStr = toBase64(this.app.getInput(), "A-Za-z0-9+/"); // B64 alphabet with no padding includeRecipe = includeRecipe && (recipeConfig.length > 0); - // Only inlcude input if it is less than 50KB (51200 * 4/3 as it is Base64 encoded) - includeInput = includeInput && (inputStr.length > 0) && (inputStr.length <= 68267); + + // If we don't get passed an input, get it from the current URI + if (input === null) { + const params = this.app.getURIParams(); + if (params.input) { + includeInput = true; + input = params.input; + } + } const params = [ includeRecipe ? ["recipe", recipeStr] : undefined, - includeInput ? ["input", inputStr] : undefined, + includeInput ? ["input", input] : undefined, ]; const hash = params @@ -335,10 +342,10 @@ class ControlsWaiter { e.preventDefault(); const reportBugInfo = document.getElementById("report-bug-info"); - const saveLink = this.generateStateUrl(true, true, null, "https://gchq.github.io/CyberChef/"); + const saveLink = this.generateStateUrl(true, true, null, null, "https://gchq.github.io/CyberChef/"); if (reportBugInfo) { - reportBugInfo.innerHTML = `* Version: ${PKG_VERSION + (typeof INLINE === "undefined" ? "" : "s")} + reportBugInfo.innerHTML = `* Version: ${PKG_VERSION} * Compile time: ${COMPILE_TIME} * User-Agent: ${navigator.userAgent} @@ -370,22 +377,34 @@ ${navigator.userAgent} /** - * Switches the Bake button between 'Bake' and 'Cancel' functions. + * Switches the Bake button between 'Bake', 'Cancel' and 'Loading' functions. * - * @param {boolean} cancel - Whether to change to cancel or not + * @param {string} func - The function to change to. Either "cancel", "loading" or "bake" */ - toggleBakeButtonFunction(cancel) { + toggleBakeButtonFunction(func) { const bakeButton = document.getElementById("bake"), btnText = bakeButton.querySelector("span"); - if (cancel) { - btnText.innerText = "Cancel"; - bakeButton.classList.remove("btn-success"); - bakeButton.classList.add("btn-danger"); - } else { - btnText.innerText = "Bake!"; - bakeButton.classList.remove("btn-danger"); - bakeButton.classList.add("btn-success"); + switch (func) { + case "cancel": + btnText.innerText = "Cancel"; + bakeButton.classList.remove("btn-success"); + bakeButton.classList.remove("btn-warning"); + bakeButton.classList.add("btn-danger"); + break; + case "loading": + bakeButton.style.background = ""; + btnText.innerText = "Loading..."; + bakeButton.classList.remove("btn-success"); + bakeButton.classList.remove("btn-danger"); + bakeButton.classList.add("btn-warning"); + break; + default: + bakeButton.style.background = ""; + btnText.innerText = "Bake!"; + bakeButton.classList.remove("btn-danger"); + bakeButton.classList.remove("btn-warning"); + bakeButton.classList.add("btn-success"); } } diff --git a/src/web/HighlighterWaiter.mjs b/src/web/waiters/HighlighterWaiter.mjs similarity index 99% rename from src/web/HighlighterWaiter.mjs rename to src/web/waiters/HighlighterWaiter.mjs index 99ae10b1..95050556 100755 --- a/src/web/HighlighterWaiter.mjs +++ b/src/web/waiters/HighlighterWaiter.mjs @@ -378,6 +378,8 @@ class HighlighterWaiter { displayHighlights(pos, direction) { if (!pos) return; + if (this.manager.tabs.getActiveInputTab() !== this.manager.tabs.getActiveOutputTab()) return; + const io = direction === "forward" ? "output" : "input"; document.getElementById(io + "-selection-info").innerHTML = this.selectionInfo(pos[0].start, pos[0].end); diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs new file mode 100644 index 00000000..6fc240b3 --- /dev/null +++ b/src/web/waiters/InputWaiter.mjs @@ -0,0 +1,1448 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2016 + * @license Apache-2.0 + */ + +import LoaderWorker from "worker-loader?inline&fallback=false!../workers/LoaderWorker.js"; +import InputWorker from "worker-loader?inline&fallback=false!../workers/InputWorker.mjs"; +import Utils, { debounce } from "../../core/Utils.mjs"; +import { toBase64 } from "../../core/lib/Base64.mjs"; +import { isImage } from "../../core/lib/FileType.mjs"; + + +/** + * Waiter to handle events related to the input. + */ +class InputWaiter { + + /** + * InputWaiter constructor. + * + * @param {App} app - The main view object for CyberChef. + * @param {Manager} manager - The CyberChef event manager. + */ + constructor(app, manager) { + this.app = app; + this.manager = manager; + + // Define keys that don't change the input so we don't have to autobake when they are pressed + this.badKeys = [ + 16, //Shift + 17, //Ctrl + 18, //Alt + 19, //Pause + 20, //Caps + 27, //Esc + 33, 34, 35, 36, //PgUp, PgDn, End, Home + 37, 38, 39, 40, //Directional + 44, //PrntScrn + 91, 92, //Win + 93, //Context + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, //F1-12 + 144, //Num + 145, //Scroll + ]; + + this.inputWorker = null; + this.loaderWorkers = []; + this.workerId = 0; + this.maxTabs = this.manager.tabs.calcMaxTabs(); + this.callbacks = {}; + this.callbackID = 0; + + this.maxWorkers = 1; + if (navigator.hardwareConcurrency !== undefined && + navigator.hardwareConcurrency > 1) { + // Subtract 1 from hardwareConcurrency value to avoid using + // the entire available resources + this.maxWorkers = navigator.hardwareConcurrency - 1; + } + } + + /** + * Calculates the maximum number of tabs to display + */ + calcMaxTabs() { + const numTabs = this.manager.tabs.calcMaxTabs(); + if (this.inputWorker && this.maxTabs !== numTabs) { + this.maxTabs = numTabs; + this.inputWorker.postMessage({ + action: "updateMaxTabs", + data: { + maxTabs: numTabs, + activeTab: this.manager.tabs.getActiveInputTab() + } + }); + } + } + + /** + * Terminates any existing workers and sets up a new InputWorker and LoaderWorker + */ + setupInputWorker() { + if (this.inputWorker !== null) { + this.inputWorker.terminate(); + this.inputWorker = null; + } + + for (let i = this.loaderWorkers.length - 1; i >= 0; i--) { + this.removeLoaderWorker(this.loaderWorkers[i]); + } + + log.debug("Adding new InputWorker"); + this.inputWorker = new InputWorker(); + this.inputWorker.postMessage({ + action: "updateMaxWorkers", + data: this.maxWorkers + }); + this.inputWorker.postMessage({ + action: "updateMaxTabs", + data: { + maxTabs: this.maxTabs, + activeTab: this.manager.tabs.getActiveInputTab() + } + }); + this.inputWorker.postMessage({ + action: "setLogLevel", + data: log.getLevel() + }); + this.inputWorker.addEventListener("message", this.handleInputWorkerMessage.bind(this)); + } + + /** + * Activates a loaderWorker and sends it to the InputWorker + */ + activateLoaderWorker() { + const workerIdx = this.addLoaderWorker(); + if (workerIdx === -1) return; + + const workerObj = this.loaderWorkers[workerIdx]; + this.inputWorker.postMessage({ + action: "loaderWorkerReady", + data: { + id: workerObj.id + } + }); + } + + /** + * Adds a new loaderWorker + * + * @returns {number} - The index of the created worker + */ + addLoaderWorker() { + if (this.loaderWorkers.length === this.maxWorkers) { + return -1; + } + log.debug("Adding new LoaderWorker."); + const newWorker = new LoaderWorker(); + const workerId = this.workerId++; + newWorker.addEventListener("message", this.handleLoaderMessage.bind(this)); + newWorker.postMessage({id: workerId}); + const newWorkerObj = { + worker: newWorker, + id: workerId + }; + this.loaderWorkers.push(newWorkerObj); + return this.loaderWorkers.indexOf(newWorkerObj); + } + + /** + * Removes a loaderworker + * + * @param {Object} workerObj - Object containing the loaderWorker and its id + * @param {LoaderWorker} workerObj.worker - The actual loaderWorker + * @param {number} workerObj.id - The ID of the loaderWorker + */ + removeLoaderWorker(workerObj) { + const idx = this.loaderWorkers.indexOf(workerObj); + if (idx === -1) { + return; + } + log.debug(`Terminating worker ${this.loaderWorkers[idx].id}`); + this.loaderWorkers[idx].worker.terminate(); + this.loaderWorkers.splice(idx, 1); + } + + /** + * Finds and returns the object for the loaderWorker of a given id + * + * @param {number} id - The ID of the loaderWorker to find + * @returns {object} + */ + getLoaderWorker(id) { + const idx = this.getLoaderWorkerIndex(id); + if (idx === -1) return; + return this.loaderWorkers[idx]; + } + + /** + * Gets the index for the loaderWorker of a given id + * + * @param {number} id - The ID of hte loaderWorker to find + * @returns {number} The current index of the loaderWorker in the array + */ + getLoaderWorkerIndex(id) { + for (let i = 0; i < this.loaderWorkers.length; i++) { + if (this.loaderWorkers[i].id === id) { + return i; + } + } + return -1; + } + + /** + * Sends an input to be loaded to the loaderWorker + * + * @param {object} inputData - Object containing the input to be loaded + * @param {File} inputData.file - The actual file object to load + * @param {number} inputData.inputNum - The inputNum for the file object + * @param {number} inputData.workerId - The ID of the loaderWorker that will load it + */ + loadInput(inputData) { + const idx = this.getLoaderWorkerIndex(inputData.workerId); + if (idx === -1) return; + this.loaderWorkers[idx].worker.postMessage({ + file: inputData.file, + inputNum: inputData.inputNum + }); + } + + /** + * Handler for messages sent back by the loaderWorker + * Sends the message straight to the inputWorker to be handled there. + * + * @param {MessageEvent} e + */ + handleLoaderMessage(e) { + const r = e.data; + + if (Object.prototype.hasOwnProperty.call(r, "progress") && + Object.prototype.hasOwnProperty.call(r, "inputNum")) { + this.manager.tabs.updateInputTabProgress(r.inputNum, r.progress, 100); + } + + const transferable = Object.prototype.hasOwnProperty.call(r, "fileBuffer") ? [r.fileBuffer] : undefined; + this.inputWorker.postMessage({ + action: "loaderWorkerMessage", + data: r + }, transferable); + } + + + /** + * Handler for messages sent back by the inputWorker + * + * @param {MessageEvent} e + */ + handleInputWorkerMessage(e) { + const r = e.data; + + if (!("action" in r)) { + log.error("A message was received from the InputWorker with no action property. Ignoring message."); + return; + } + + log.debug(`Receiving ${r.action} from InputWorker.`); + + switch (r.action) { + case "activateLoaderWorker": + this.activateLoaderWorker(); + break; + case "loadInput": + this.loadInput(r.data); + break; + case "terminateLoaderWorker": + this.removeLoaderWorker(this.getLoaderWorker(r.data)); + break; + case "refreshTabs": + this.refreshTabs(r.data.nums, r.data.activeTab, r.data.tabsLeft, r.data.tabsRight); + break; + case "changeTab": + this.changeTab(r.data, this.app.options.syncTabs); + break; + case "updateTabHeader": + this.manager.tabs.updateInputTabHeader(r.data.inputNum, r.data.input); + break; + case "loadingInfo": + this.showLoadingInfo(r.data, true); + break; + case "setInput": + debounce(this.set, 50, "setInput", this, [r.data.inputObj, r.data.silent])(); + break; + case "inputAdded": + this.inputAdded(r.data.changeTab, r.data.inputNum); + break; + case "queueInput": + this.manager.worker.queueInput(r.data); + break; + case "queueInputError": + this.manager.worker.queueInputError(r.data); + break; + case "bakeAllInputs": + this.manager.worker.bakeAllInputs(r.data); + break; + case "displayTabSearchResults": + this.displayTabSearchResults(r.data); + break; + case "filterTabError": + this.app.handleError(r.data); + break; + case "setUrl": + this.setUrl(r.data); + break; + case "inputSwitch": + this.manager.output.inputSwitch(r.data); + break; + case "getInput": + case "getInputNums": + this.callbacks[r.data.id](r.data); + break; + case "removeChefWorker": + this.removeChefWorker(); + break; + case "fileLoaded": + this.fileLoaded(r.data.inputNum); + break; + default: + log.error(`Unknown action ${r.action}.`); + } + } + + /** + * Sends a message to the inputWorker to bake all inputs + */ + bakeAll() { + this.app.progress = 0; + debounce(this.manager.controls.toggleBakeButtonFunction, 20, "toggleBakeButton", this, ["loading"]); + this.inputWorker.postMessage({ + action: "bakeAll" + }); + } + + /** + * Sets the input in the input area + * + * @param {object} inputData - Object containing the input and its metadata + * @param {number} inputData.inputNum - The unique inputNum for the selected input + * @param {string | object} inputData.input - The actual input data + * @param {string} inputData.name - The name of the input file + * @param {number} inputData.size - The size in bytes of the input file + * @param {string} inputData.type - The MIME type of the input file + * @param {number} inputData.progress - The load progress of the input file + * @param {boolean} [silent=false] - If false, fires the manager statechange event + */ + async set(inputData, silent=false) { + return new Promise(function(resolve, reject) { + const activeTab = this.manager.tabs.getActiveInputTab(); + if (inputData.inputNum !== activeTab) return; + + const inputText = document.getElementById("input-text"); + + if (typeof inputData.input === "string") { + inputText.value = inputData.input; + const fileOverlay = document.getElementById("input-file"), + fileName = document.getElementById("input-file-name"), + fileSize = document.getElementById("input-file-size"), + fileType = document.getElementById("input-file-type"), + fileLoaded = document.getElementById("input-file-loaded"); + + fileOverlay.style.display = "none"; + fileName.textContent = ""; + fileSize.textContent = ""; + fileType.textContent = ""; + fileLoaded.textContent = ""; + + inputText.style.overflow = "auto"; + inputText.classList.remove("blur"); + inputText.scroll(0, 0); + + const lines = inputData.input.length < (this.app.options.ioDisplayThreshold * 1024) ? + inputData.input.count("\n") + 1 : null; + this.setInputInfo(inputData.input.length, lines); + + // Set URL to current input + const inputStr = toBase64(inputData.input, "A-Za-z0-9+/"); + if (inputStr.length > 0 && inputStr.length <= 68267) { + this.setUrl({ + includeInput: true, + input: inputStr + }); + } + + if (!silent) window.dispatchEvent(this.manager.statechange); + } else { + this.setFile(inputData, silent); + } + + }.bind(this)); + } + + /** + * Displays file details + * + * @param {object} inputData - Object containing the input and its metadata + * @param {number} inputData.inputNum - The unique inputNum for the selected input + * @param {string | object} inputData.input - The actual input data + * @param {string} inputData.name - The name of the input file + * @param {number} inputData.size - The size in bytes of the input file + * @param {string} inputData.type - The MIME type of the input file + * @param {number} inputData.progress - The load progress of the input file + * @param {boolean} [silent=true] - If false, fires the manager statechange event + */ + setFile(inputData, silent=true) { + const activeTab = this.manager.tabs.getActiveInputTab(); + if (inputData.inputNum !== activeTab) return; + + const fileOverlay = document.getElementById("input-file"), + fileName = document.getElementById("input-file-name"), + fileSize = document.getElementById("input-file-size"), + fileType = document.getElementById("input-file-type"), + fileLoaded = document.getElementById("input-file-loaded"); + + fileOverlay.style.display = "block"; + fileName.textContent = inputData.name; + fileSize.textContent = inputData.size + " bytes"; + fileType.textContent = inputData.type; + if (inputData.status === "error") { + fileLoaded.textContent = "Error"; + fileLoaded.style.color = "#FF0000"; + } else { + fileLoaded.style.color = ""; + fileLoaded.textContent = inputData.progress + "%"; + } + + this.setInputInfo(inputData.size, null); + this.displayFilePreview(inputData); + + if (!silent) window.dispatchEvent(this.manager.statechange); + } + + /** + * Update file details when a file completes loading + * + * @param {number} inputNum - The inputNum of the input which has finished loading + */ + fileLoaded(inputNum) { + this.manager.tabs.updateInputTabProgress(inputNum, 100, 100); + + const activeTab = this.manager.tabs.getActiveInputTab(); + if (activeTab !== inputNum) return; + + this.inputWorker.postMessage({ + action: "setInput", + data: { + inputNum: inputNum, + silent: false + } + }); + + this.updateFileProgress(inputNum, 100); + } + + /** + * Render the input thumbnail + */ + async renderFileThumb() { + const activeTab = this.manager.tabs.getActiveInputTab(), + input = await this.getInputValue(activeTab), + fileThumb = document.getElementById("input-file-thumbnail"); + + if (typeof input === "string" || + !this.app.options.imagePreview) { + this.resetFileThumb(); + return; + } + + const inputArr = new Uint8Array(input), + type = isImage(inputArr); + + if (type && type !== "image/tiff" && inputArr.byteLength <= 512000) { + // Most browsers don't support displaying TIFFs, so ignore them + // Don't render images over 512000 bytes + const blob = new Blob([inputArr], {type: type}), + url = URL.createObjectURL(blob); + fileThumb.src = url; + } else { + this.resetFileThumb(); + } + + } + + /** + * Reset the input thumbnail to the default icon + */ + resetFileThumb() { + const fileThumb = document.getElementById("input-file-thumbnail"); + fileThumb.src = require("../static/images/file-128x128.png"); + } + + /** + * Shows a chunk of the file in the input behind the file overlay + * + * @param {Object} inputData - Object containing the input data + * @param {number} inputData.inputNum - The inputNum of the file being displayed + * @param {ArrayBuffer} inputData.input - The actual input to display + */ + displayFilePreview(inputData) { + const activeTab = this.manager.tabs.getActiveInputTab(), + input = inputData.input, + inputText = document.getElementById("input-text"); + if (inputData.inputNum !== activeTab) return; + inputText.style.overflow = "hidden"; + inputText.classList.add("blur"); + inputText.value = Utils.printable(Utils.arrayBufferToStr(input.slice(0, 4096))); + + this.renderFileThumb(); + + } + + /** + * Updates the displayed load progress for a file + * + * @param {number} inputNum + * @param {number | string} progress - Either a number or "error" + */ + updateFileProgress(inputNum, progress) { + const activeTab = this.manager.tabs.getActiveInputTab(); + if (inputNum !== activeTab) return; + + const fileLoaded = document.getElementById("input-file-loaded"); + let oldProgress = fileLoaded.textContent; + if (oldProgress !== "Error") { + oldProgress = parseInt(oldProgress.replace("%", ""), 10); + } + if (progress === "error") { + fileLoaded.textContent = "Error"; + fileLoaded.style.color = "#FF0000"; + } else { + fileLoaded.textContent = progress + "%"; + fileLoaded.style.color = ""; + } + } + + /** + * Updates the stored value for the specified inputNum + * + * @param {number} inputNum + * @param {string | ArrayBuffer} value + * @param {boolean} [force=false] - If true, forces the value to be updated even if the type is different to the currently stored type + */ + updateInputValue(inputNum, value, force=false) { + let includeInput = false; + const recipeStr = toBase64(value, "A-Za-z0-9+/"); // B64 alphabet with no padding + if (recipeStr.length > 0 && recipeStr.length <= 68267) { + includeInput = true; + } + this.setUrl({ + includeInput: includeInput, + input: recipeStr + }); + + // Value is either a string set by the input or an ArrayBuffer from a LoaderWorker, + // so is safe to use typeof === "string" + const transferable = (typeof value !== "string") ? [value] : undefined; + this.inputWorker.postMessage({ + action: "updateInputValue", + data: { + inputNum: inputNum, + value: value, + force: force + } + }, transferable); + } + + /** + * Updates the .data property for the input of the specified inputNum. + * Used for switching the output into the input + * + * @param {number} inputNum - The inputNum of the input we're changing + * @param {object} inputData - The new data object + */ + updateInputObj(inputNum, inputData) { + const transferable = (typeof inputData !== "string") ? [inputData.fileBuffer] : undefined; + this.inputWorker.postMessage({ + action: "updateInputObj", + data: { + inputNum: inputNum, + data: inputData + } + }, transferable); + } + + /** + * Get the input value for the specified input + * + * @param {number} inputNum - The inputNum of the input to retrieve from the inputWorker + * @returns {ArrayBuffer | string} + */ + async getInputValue(inputNum) { + return await new Promise(resolve => { + this.getInput(inputNum, false, r => { + resolve(r.data); + }); + }); + } + + /** + * Get the input object for the specified input + * + * @param {number} inputNum - The inputNum of the input to retrieve from the inputWorker + * @returns {object} + */ + async getInputObj(inputNum) { + return await new Promise(resolve => { + this.getInput(inputNum, true, r => { + resolve(r.data); + }); + }); + } + + /** + * Gets the specified input from the inputWorker + * + * @param {number} inputNum - The inputNum of the data to get + * @param {boolean} getObj - If true, get the actual data object of the input instead of just the value + * @param {Function} callback - The callback to execute when the input is returned + * @returns {ArrayBuffer | string | object} + */ + getInput(inputNum, getObj, callback) { + const id = this.callbackID++; + + this.callbacks[id] = callback; + + this.inputWorker.postMessage({ + action: "getInput", + data: { + inputNum: inputNum, + getObj: getObj, + id: id + } + }); + } + + /** + * Gets the number of inputs from the inputWorker + * + * @returns {object} + */ + async getInputNums() { + return await new Promise(resolve => { + this.getNums(r => { + resolve(r); + }); + }); + } + + /** + * Gets a list of inputNums from the inputWorker, and sends + * them back to the specified callback + */ + getNums(callback) { + const id = this.callbackID++; + + this.callbacks[id] = callback; + + this.inputWorker.postMessage({ + action: "getInputNums", + data: id + }); + } + + + /** + * Displays information about the input. + * + * @param {number} length - The length of the current input string + * @param {number} lines - The number of the lines in the current input string + */ + setInputInfo(length, lines) { + let width = length.toString().length.toLocaleString(); + width = width < 2 ? 2 : width; + + const lengthStr = length.toString().padStart(width, " ").replace(/ /g, " "); + let msg = "length: " + lengthStr; + + if (typeof lines === "number") { + const linesStr = lines.toString().padStart(width, " ").replace(/ /g, " "); + msg += "
      lines: " + linesStr; + } + + document.getElementById("input-info").innerHTML = msg; + + } + + /** + * Handler for input change events. + * Debounces the input so we don't call autobake too often. + * + * @param {event} e + */ + debounceInputChange(e) { + debounce(this.inputChange, 50, "inputChange", this, [e])(); + } + + /** + * Handler for input change events. + * Updates the value stored in the inputWorker + * + * @param {event} e + * + * @fires Manager#statechange + */ + inputChange(e) { + // Ignore this function if the input is a file + const fileOverlay = document.getElementById("input-file"); + if (fileOverlay.style.display === "block") return; + + // Remove highlighting from input and output panes as the offsets might be different now + this.manager.highlighter.removeHighlights(); + + const textArea = document.getElementById("input-text"); + const value = (textArea.value !== undefined) ? textArea.value : ""; + const activeTab = this.manager.tabs.getActiveInputTab(); + + this.app.progress = 0; + + const lines = value.length < (this.app.options.ioDisplayThreshold * 1024) ? + (value.count("\n") + 1) : null; + this.setInputInfo(value.length, lines); + this.updateInputValue(activeTab, value); + this.manager.tabs.updateInputTabHeader(activeTab, value.replace(/[\n\r]/g, "").slice(0, 100)); + + if (e && this.badKeys.indexOf(e.keyCode) < 0) { + // Fire the statechange event as the input has been modified + window.dispatchEvent(this.manager.statechange); + } + } + + /** + * Handler for input paste events + * Checks that the size of the input is below the display limit, otherwise treats it as a file/blob + * + * @param {event} e + */ + async inputPaste(e) { + e.preventDefault(); + e.stopPropagation(); + + const self = this; + /** + * Triggers the input file/binary data overlay + * + * @param {string} pastedData + */ + function triggerOverlay(pastedData) { + const file = new File([pastedData], "PastedData", { + type: "text/plain", + lastModified: Date.now() + }); + + self.loadUIFiles([file]); + } + + const pastedData = e.clipboardData.getData("Text"); + const inputText = document.getElementById("input-text"); + const selStart = inputText.selectionStart; + const selEnd = inputText.selectionEnd; + const startVal = inputText.value.slice(0, selStart); + const endVal = inputText.value.slice(selEnd); + const val = startVal + pastedData + endVal; + + if (val.length >= (this.app.options.ioDisplayThreshold * 1024)) { + // Data too large to display, use overlay + triggerOverlay(val); + return false; + } else if (await this.preserveCarriageReturns(val)) { + // Data contains a carriage return and the user doesn't wish to edit it, use overlay + // We check this in a separate condition to make sure it is not run unless absolutely + // necessary. + triggerOverlay(val); + return false; + } else { + // Pasting normally fires the inputChange() event before + // changing the value, so instead change it here ourselves + // and manually fire inputChange() + inputText.value = val; + inputText.setSelectionRange(selStart + pastedData.length, selStart + pastedData.length); + this.debounceInputChange(e); + } + } + + + /** + * Handler for input dragover events. + * Gives the user a visual cue to show that items can be dropped here. + * + * @param {event} e + */ + inputDragover(e) { + // This will be set if we're dragging an operation + if (e.dataTransfer.effectAllowed === "move") + return false; + + e.stopPropagation(); + e.preventDefault(); + e.target.closest("#input-text,#input-file").classList.add("dropping-file"); + } + + /** + * Handler for input dragleave events. + * Removes the visual cue. + * + * @param {event} e + */ + inputDragleave(e) { + e.stopPropagation(); + e.preventDefault(); + e.target.closest("#input-text,#input-file").classList.remove("dropping-file"); + } + + /** + * Handler for input drop events. + * Loads the dragged data. + * + * @param {event} e + */ + inputDrop(e) { + // This will be set if we're dragging an operation + if (e.dataTransfer.effectAllowed === "move") + return false; + + e.stopPropagation(); + e.preventDefault(); + + const text = e.dataTransfer.getData("Text"); + + e.target.closest("#input-text,#input-file").classList.remove("dropping-file"); + + if (text) { + // Append the text to the current input and fire inputChange() + document.getElementById("input-text").value += text; + this.inputChange(e); + return; + } + + if (e.dataTransfer.files && e.dataTransfer.files.length > 0) { + this.loadUIFiles(e.dataTransfer.files); + } + } + + /** + * Handler for open input button events + * Loads the opened data into the input textarea + * + * @param {event} e + */ + inputOpen(e) { + e.preventDefault(); + + if (e.target.files.length > 0) { + this.loadUIFiles(e.target.files); + e.target.value = ""; + } + } + + /** + * Checks if an input contains carriage returns. + * If a CR is detected, checks if the preserve CR option has been set, + * and if not, asks the user for their preference. + * + * @param {string} input - The input to be checked + * @returns {boolean} - If true, the input contains a CR which should be + * preserved, so display an overlay so it can't be edited + */ + async preserveCarriageReturns(input) { + if (input.indexOf("\r") < 0) return false; + + const optionsStr = "This behaviour can be changed in the Options pane"; + if (!this.app.options.userSetCR) { + // User has not set a CR preference yet + let preserve = await new Promise(function(resolve, reject) { + this.app.confirm( + "Carriage Return Detected", + "A carriage return (\\r, 0x0d) was detected in your input. As HTML textareas can't display carriage returns, editing must be turned off to preserve them.
      Alternatively, you can enable editing but your carriage returns will not be preserved.

      This preference will be saved but can be toggled in the options pane.", + "Preserve Carriage Returns", + "Enable Editing", resolve, this); + }.bind(this)); + if (preserve === undefined) { + // The confirm pane was closed without picking a specific choice + this.app.alert(`Not preserving carriage returns.\n${optionsStr}`, 5000); + preserve = false; + } + this.manager.options.updateOption("preserveCR", preserve); + this.manager.options.updateOption("userSetCR", true); + } else { + if (this.app.options.preserveCR) { + this.app.alert(`A carriage return (\\r, 0x0d) was detected in your input, so editing has been disabled to preserve it.
      ${optionsStr}`, 10000); + } else { + this.app.alert(`A carriage return (\\r, 0x0d) was detected in your input. Editing is remaining enabled, but carriage returns will not be preserved.
      ${optionsStr}`, 10000); + } + } + + return this.app.options.preserveCR; + } + + /** + * Load files from the UI into the inputWorker + * + * @param {FileList} files - The list of files to be loaded + */ + loadUIFiles(files) { + const numFiles = files.length; + const activeTab = this.manager.tabs.getActiveInputTab(); + log.debug(`Loading ${numFiles} files.`); + + // Display the number of files as pending so the user + // knows that we've received the files. + this.showLoadingInfo({ + pending: numFiles, + loading: 0, + loaded: 0, + total: numFiles, + activeProgress: { + inputNum: activeTab, + progress: 0 + } + }, false); + + this.inputWorker.postMessage({ + action: "loadUIFiles", + data: { + files: files, + activeTab: activeTab + } + }); + } + + /** + * Handler for open input button click. + * Opens the open file dialog. + */ + inputOpenClick() { + document.getElementById("open-file").click(); + } + + /** + * Handler for open folder button click + * Opens the open folder dialog. + */ + folderOpenClick() { + document.getElementById("open-folder").click(); + } + + /** + * Display the loaded files information in the input header. + * Also, sets the background of the Input header to be a progress bar + * @param {object} loadedData - Object containing the loading information + * @param {number} loadedData.pending - How many files are pending (not loading / loaded) + * @param {number} loadedData.loading - How many files are being loaded + * @param {number} loadedData.loaded - How many files have been loaded + * @param {number} loadedData.total - The total number of files + * @param {object} loadedData.activeProgress - Object containing data about the active tab + * @param {number} loadedData.activeProgress.inputNum - The inputNum of the input the progress is for + * @param {number} loadedData.activeProgress.progress - The loading progress of the active input + * @param {boolean} autoRefresh - If true, automatically refreshes the loading info by sending a message to the inputWorker after 100ms + */ + showLoadingInfo(loadedData, autoRefresh) { + const pending = loadedData.pending; + const loading = loadedData.loading; + const loaded = loadedData.loaded; + const total = loadedData.total; + + let width = total.toLocaleString().length; + width = width < 2 ? 2 : width; + + const totalStr = total.toLocaleString().padStart(width, " ").replace(/ /g, " "); + let msg = "total: " + totalStr; + + const loadedStr = loaded.toLocaleString().padStart(width, " ").replace(/ /g, " "); + msg += "
      loaded: " + loadedStr; + + if (pending > 0) { + const pendingStr = pending.toLocaleString().padStart(width, " ").replace(/ /g, " "); + msg += "
      pending: " + pendingStr; + } else if (loading > 0) { + const loadingStr = loading.toLocaleString().padStart(width, " ").replace(/ /g, " "); + msg += "
      loading: " + loadingStr; + } + + const inFiles = document.getElementById("input-files-info"); + if (total > 1) { + inFiles.innerHTML = msg; + inFiles.style.display = ""; + } else { + inFiles.style.display = "none"; + } + + this.updateFileProgress(loadedData.activeProgress.inputNum, loadedData.activeProgress.progress); + + const inputTitle = document.getElementById("input").firstElementChild; + if (loaded < total) { + const percentComplete = loaded / total * 100; + inputTitle.style.background = `linear-gradient(to right, var(--title-background-colour) ${percentComplete}%, var(--primary-background-colour) ${percentComplete}%)`; + } else { + inputTitle.style.background = ""; + } + + if (loaded < total && autoRefresh) { + setTimeout(function() { + this.inputWorker.postMessage({ + action: "getLoadProgress", + data: this.manager.tabs.getActiveInputTab() + }); + }.bind(this), 100); + } + } + + /** + * Change to a different tab. + * + * @param {number} inputNum - The inputNum of the tab to change to + * @param {boolean} [changeOutput=false] - If true, also changes the output + */ + changeTab(inputNum, changeOutput) { + if (this.manager.tabs.getInputTabItem(inputNum) !== null) { + this.manager.tabs.changeInputTab(inputNum); + this.inputWorker.postMessage({ + action: "setInput", + data: { + inputNum: inputNum, + silent: true + } + }); + } else { + const minNum = Math.min(...this.manager.tabs.getInputTabList()); + let direction = "right"; + if (inputNum < minNum) { + direction = "left"; + } + this.inputWorker.postMessage({ + action: "refreshTabs", + data: { + inputNum: inputNum, + direction: direction + } + }); + } + + if (changeOutput) { + this.manager.output.changeTab(inputNum, false); + } + } + + /** + * Handler for clicking on a tab + * + * @param {event} mouseEvent + */ + changeTabClick(mouseEvent) { + if (!mouseEvent.target) return; + + const tabNum = mouseEvent.target.parentElement.getAttribute("inputNum"); + if (tabNum >= 0) { + this.changeTab(parseInt(tabNum, 10), this.app.options.syncTabs); + } + } + + /** + * Handler for clear all IO events. + * Resets the input, output and info areas, and creates a new inputWorker + */ + clearAllIoClick() { + this.manager.worker.cancelBake(true, true); + this.manager.worker.loaded = false; + this.manager.output.removeAllOutputs(); + this.manager.output.terminateZipWorker(); + + this.manager.highlighter.removeHighlights(); + getSelection().removeAllRanges(); + + const tabsList = document.getElementById("input-tabs"); + const tabsListChildren = tabsList.children; + + tabsList.classList.remove("tabs-left"); + tabsList.classList.remove("tabs-right"); + for (let i = tabsListChildren.length - 1; i >= 0; i--) { + tabsListChildren.item(i).remove(); + } + + this.showLoadingInfo({ + pending: 0, + loading: 0, + loaded: 1, + total: 1, + activeProgress: { + inputNum: 1, + progress: 100 + } + }); + + this.setupInputWorker(); + this.manager.worker.setupChefWorker(); + this.addInput(true); + this.bakeAll(); + } + + /** + * Handler for clear IO click event. + * Resets the input for the current tab + */ + clearIoClick() { + const inputNum = this.manager.tabs.getActiveInputTab(); + if (inputNum === -1) return; + + this.manager.highlighter.removeHighlights(); + getSelection().removeAllRanges(); + + this.updateInputValue(inputNum, "", true); + + this.set({ + inputNum: inputNum, + input: "" + }); + + this.manager.tabs.updateInputTabHeader(inputNum, ""); + } + + /** + * Sets the console log level in the worker. + * + * @param {string} level + */ + setLogLevel(level) { + if (!this.inputWorker) return; + this.inputWorker.postMessage({ + action: "setLogLevel", + data: log.getLevel() + }); + } + + /** + * Sends a message to the inputWorker to add a new input. + * @param {boolean} [changeTab=false] - If true, changes the tab to the new input + */ + addInput(changeTab=false) { + if (!this.inputWorker) return; + this.inputWorker.postMessage({ + action: "addInput", + data: changeTab + }); + } + + /** + * Handler for add input button clicked. + */ + addInputClick() { + this.addInput(true); + } + + /** + * Handler for when the inputWorker adds a new input + * + * @param {boolean} changeTab - Whether or not to change to the new input tab + * @param {number} inputNum - The new inputNum + */ + inputAdded(changeTab, inputNum) { + this.addTab(inputNum, changeTab); + + this.manager.output.addOutput(inputNum, changeTab); + this.manager.worker.addChefWorker(); + } + + /** + * Remove a chefWorker from the workerWaiter if we remove an input + */ + removeChefWorker() { + const workerIdx = this.manager.worker.getInactiveChefWorker(true); + const worker = this.manager.worker.chefWorkers[workerIdx]; + this.manager.worker.removeChefWorker(worker); + } + + /** + * Adds a new input tab. + * + * @param {number} inputNum - The inputNum of the new tab + * @param {boolean} [changeTab=true] - If true, changes to the new tab once it's been added + */ + addTab(inputNum, changeTab = true) { + const tabsWrapper = document.getElementById("input-tabs"), + numTabs = tabsWrapper.children.length; + + if (!this.manager.tabs.getInputTabItem(inputNum) && numTabs < this.maxTabs) { + const newTab = this.manager.tabs.createInputTabElement(inputNum, changeTab); + tabsWrapper.appendChild(newTab); + + if (numTabs > 0) { + this.manager.tabs.showTabBar(); + } else { + this.manager.tabs.hideTabBar(); + } + + this.inputWorker.postMessage({ + action: "updateTabHeader", + data: inputNum + }); + } else if (numTabs === this.maxTabs) { + // Can't create a new tab + document.getElementById("input-tabs").lastElementChild.classList.add("tabs-right"); + } + + if (changeTab) this.changeTab(inputNum, false); + } + + /** + * Refreshes the input tabs, and changes to activeTab + * + * @param {number[]} nums - The inputNums to be displayed as tabs + * @param {number} activeTab - The tab to change to + * @param {boolean} tabsLeft - True if there are input tabs to the left of the displayed tabs + * @param {boolean} tabsRight - True if there are input tabs to the right of the displayed tabs + */ + refreshTabs(nums, activeTab, tabsLeft, tabsRight) { + this.manager.tabs.refreshInputTabs(nums, activeTab, tabsLeft, tabsRight); + + this.inputWorker.postMessage({ + action: "setInput", + data: { + inputNum: activeTab, + silent: true + } + }); + } + + /** + * Sends a message to the inputWorker to remove an input. + * If the input tab is on the screen, refreshes the tabs + * + * @param {number} inputNum - The inputNum of the tab to be removed + */ + removeInput(inputNum) { + let refresh = false; + if (this.manager.tabs.getInputTabItem(inputNum) !== null) { + refresh = true; + } + this.inputWorker.postMessage({ + action: "removeInput", + data: { + inputNum: inputNum, + refreshTabs: refresh, + removeChefWorker: true + } + }); + + this.manager.output.removeTab(inputNum); + } + + /** + * Handler for clicking on a remove tab button + * + * @param {event} mouseEvent + */ + removeTabClick(mouseEvent) { + if (!mouseEvent.target) { + return; + } + const tabNum = mouseEvent.target.closest("button").parentElement.getAttribute("inputNum"); + if (tabNum) { + this.removeInput(parseInt(tabNum, 10)); + } + } + + /** + * Handler for scrolling on the input tabs area + * + * @param {event} wheelEvent + */ + scrollTab(wheelEvent) { + wheelEvent.preventDefault(); + + if (wheelEvent.deltaY > 0) { + this.changeTabLeft(); + } else if (wheelEvent.deltaY < 0) { + this.changeTabRight(); + } + } + + /** + * Handler for mouse down on the next tab button + */ + nextTabClick() { + this.mousedown = true; + this.changeTabRight(); + const time = 200; + const func = function(time) { + if (this.mousedown) { + this.changeTabRight(); + const newTime = (time > 50) ? time = time - 10 : 50; + setTimeout(func.bind(this, [newTime]), newTime); + } + }; + this.tabTimeout = setTimeout(func.bind(this, [time]), time); + } + + /** + * Handler for mouse down on the previous tab button + */ + previousTabClick() { + this.mousedown = true; + this.changeTabLeft(); + const time = 200; + const func = function(time) { + if (this.mousedown) { + this.changeTabLeft(); + const newTime = (time > 50) ? time = time - 10 : 50; + setTimeout(func.bind(this, [newTime]), newTime); + } + }; + this.tabTimeout = setTimeout(func.bind(this, [time]), time); + } + + /** + * Handler for mouse up event on the tab buttons + */ + tabMouseUp() { + this.mousedown = false; + + clearTimeout(this.tabTimeout); + this.tabTimeout = null; + } + + /** + * Changes to the next (right) tab + */ + changeTabRight() { + const activeTab = this.manager.tabs.getActiveInputTab(); + if (activeTab === -1) return; + this.inputWorker.postMessage({ + action: "changeTabRight", + data: { + activeTab: activeTab + } + }); + } + + /** + * Changes to the previous (left) tab + */ + changeTabLeft() { + const activeTab = this.manager.tabs.getActiveInputTab(); + if (activeTab === -1) return; + this.inputWorker.postMessage({ + action: "changeTabLeft", + data: { + activeTab: activeTab + } + }); + } + + /** + * Handler for go to tab button clicked + */ + async goToTab() { + const inputNums = await this.getInputNums(); + let tabNum = window.prompt(`Enter tab number (${inputNums.min} - ${inputNums.max}):`, this.manager.tabs.getActiveInputTab().toString()); + + if (tabNum === null) return; + tabNum = parseInt(tabNum, 10); + + this.changeTab(tabNum, this.app.options.syncTabs); + } + + /** + * Handler for find tab button clicked + */ + findTab() { + this.filterTabSearch(); + $("#input-tab-modal").modal(); + } + + /** + * Sends a message to the inputWorker to search the inputs + */ + filterTabSearch() { + const showPending = document.getElementById("input-show-pending").checked; + const showLoading = document.getElementById("input-show-loading").checked; + const showLoaded = document.getElementById("input-show-loaded").checked; + + const filter = document.getElementById("input-filter").value; + const filterType = document.getElementById("input-filter-button").innerText; + const numResults = parseInt(document.getElementById("input-num-results").value, 10); + + this.inputWorker.postMessage({ + action: "filterTabs", + data: { + showPending: showPending, + showLoading: showLoading, + showLoaded: showLoaded, + filter: filter, + filterType: filterType, + numResults: numResults + } + }); + } + + /** + * Handle when an option in the filter drop down box is clicked + * + * @param {event} mouseEvent + */ + filterOptionClick(mouseEvent) { + document.getElementById("input-filter-button").innerText = mouseEvent.target.innerText; + this.filterTabSearch(); + } + + /** + * Displays the results of a tab search in the find tab box + * + * @param {object[]} results - List of results objects + * + */ + displayTabSearchResults(results) { + const resultsList = document.getElementById("input-search-results"); + + for (let i = resultsList.children.length - 1; i >= 0; i--) { + resultsList.children.item(i).remove(); + } + + for (let i = 0; i < results.length; i++) { + const newListItem = document.createElement("li"); + newListItem.classList.add("input-filter-result"); + newListItem.setAttribute("inputNum", results[i].inputNum); + newListItem.innerText = `${results[i].inputNum}: ${results[i].textDisplay}`; + + resultsList.appendChild(newListItem); + } + } + + /** + * Handler for clicking on a filter result + * + * @param {event} e + */ + filterItemClick(e) { + if (!e.target) return; + const inputNum = parseInt(e.target.getAttribute("inputNum"), 10); + if (inputNum <= 0) return; + + $("#input-tab-modal").modal("hide"); + this.changeTab(inputNum, this.app.options.syncTabs); + } + + /** + * Update the input URL to the new value + * + * @param {object} urlData - Object containing the URL data + * @param {boolean} urlData.includeInput - If true, the input is included in the title + * @param {string} urlData.input - The input data to be included + */ + setUrl(urlData) { + this.app.updateTitle(urlData.includeInput, urlData.input, true); + } + + +} + +export default InputWaiter; diff --git a/src/web/OperationsWaiter.mjs b/src/web/waiters/OperationsWaiter.mjs similarity index 99% rename from src/web/OperationsWaiter.mjs rename to src/web/waiters/OperationsWaiter.mjs index decc49d6..4a591249 100755 --- a/src/web/OperationsWaiter.mjs +++ b/src/web/waiters/OperationsWaiter.mjs @@ -4,7 +4,7 @@ * @license Apache-2.0 */ -import HTMLOperation from "./HTMLOperation"; +import HTMLOperation from "../HTMLOperation.mjs"; import Sortable from "sortablejs"; @@ -172,7 +172,7 @@ class OperationsWaiter { $(el).find("[data-toggle=popover]").addBack("[data-toggle=popover]") .popover({trigger: "manual"}) .on("mouseenter", function(e) { - if (e.buttons > 0) return; // Mouse button held down - likely dragging an opertion + if (e.buttons > 0) return; // Mouse button held down - likely dragging an operation const _this = this; $(this).popover("show"); $(".popover").on("mouseleave", function () { diff --git a/src/web/waiters/OptionsWaiter.mjs b/src/web/waiters/OptionsWaiter.mjs new file mode 100755 index 00000000..5ef517d4 --- /dev/null +++ b/src/web/waiters/OptionsWaiter.mjs @@ -0,0 +1,194 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2016 + * @license Apache-2.0 + */ + +/** + * Waiter to handle events related to the CyberChef options. + */ +class OptionsWaiter { + + /** + * OptionsWaiter constructor. + * + * @param {App} app - The main view object for CyberChef. + * @param {Manager} manager - The CyberChef event manager. + */ + constructor(app, manager) { + this.app = app; + this.manager = manager; + } + + /** + * Loads options and sets values of switches and inputs to match them. + * + * @param {Object} options + */ + load(options) { + for (const option in options) { + this.app.options[option] = options[option]; + } + + // Set options to match object + const cboxes = document.querySelectorAll("#options-body input[type=checkbox]"); + let i; + for (i = 0; i < cboxes.length; i++) { + cboxes[i].checked = this.app.options[cboxes[i].getAttribute("option")]; + } + + const nboxes = document.querySelectorAll("#options-body input[type=number]"); + for (i = 0; i < nboxes.length; i++) { + nboxes[i].value = this.app.options[nboxes[i].getAttribute("option")]; + nboxes[i].dispatchEvent(new CustomEvent("change", {bubbles: true})); + } + + const selects = document.querySelectorAll("#options-body select"); + for (i = 0; i < selects.length; i++) { + const val = this.app.options[selects[i].getAttribute("option")]; + if (val) { + selects[i].value = val; + selects[i].dispatchEvent(new CustomEvent("change", {bubbles: true})); + } else { + selects[i].selectedIndex = 0; + } + } + } + + + /** + * Handler for options click events. + * Displays the options pane. + * + * @param {event} e + */ + optionsClick(e) { + e.preventDefault(); + $("#options-modal").modal(); + } + + + /** + * Handler for reset options click events. + * Resets options back to their default values. + */ + resetOptionsClick() { + this.load(this.app.doptions); + } + + + /** + * Handler for switch change events. + * + * @param {event} e + */ + switchChange(e) { + const el = e.target; + const option = el.getAttribute("option"); + const state = el.checked; + + this.updateOption(option, state); + } + + + /** + * Handler for number change events. + * + * @param {event} e + */ + numberChange(e) { + const el = e.target; + const option = el.getAttribute("option"); + const val = parseInt(el.value, 10); + + this.updateOption(option, val); + } + + + /** + * Handler for select change events. + * + * @param {event} e + */ + selectChange(e) { + const el = e.target; + const option = el.getAttribute("option"); + + this.updateOption(option, el.value); + } + + /** + * Modifies an option value and saves it to local storage. + * + * @param {string} option - The option to be updated + * @param {string|number|boolean} value - The new value of the option + */ + updateOption(option, value) { + log.debug(`Setting ${option} to ${value}`); + this.app.options[option] = value; + + if (this.app.isLocalStorageAvailable()) + localStorage.setItem("options", JSON.stringify(this.app.options)); + } + + + /** + * Sets or unsets word wrap on the input and output depending on the wordWrap option value. + */ + setWordWrap() { + document.getElementById("input-text").classList.remove("word-wrap"); + document.getElementById("output-text").classList.remove("word-wrap"); + document.getElementById("output-html").classList.remove("word-wrap"); + document.getElementById("input-highlighter").classList.remove("word-wrap"); + document.getElementById("output-highlighter").classList.remove("word-wrap"); + + if (!this.app.options.wordWrap) { + document.getElementById("input-text").classList.add("word-wrap"); + document.getElementById("output-text").classList.add("word-wrap"); + document.getElementById("output-html").classList.add("word-wrap"); + document.getElementById("input-highlighter").classList.add("word-wrap"); + document.getElementById("output-highlighter").classList.add("word-wrap"); + } + } + + + /** + * Theme change event listener + * + * @param {Event} e + */ + themeChange(e) { + const themeClass = e.target.value; + + this.changeTheme(themeClass); + } + + + /** + * Changes the theme by setting the class of the element. + * + * @param (string} theme + */ + changeTheme(theme) { + document.querySelector(":root").className = theme; + + // Update theme selection + const themeSelect = document.getElementById("theme"); + themeSelect.selectedIndex = themeSelect.querySelector(`option[value="${theme}"`).index; + } + + + /** + * Changes the console logging level. + * + * @param {Event} e + */ + logLevelChange(e) { + const level = e.target.value; + log.setLevel(level, false); + this.manager.worker.setLogLevel(); + this.manager.input.setLogLevel(); + } +} + +export default OptionsWaiter; diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs new file mode 100755 index 00000000..11a78254 --- /dev/null +++ b/src/web/waiters/OutputWaiter.mjs @@ -0,0 +1,1481 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2016 + * @license Apache-2.0 + */ + +import Utils, { debounce } from "../../core/Utils.mjs"; +import Dish from "../../core/Dish.mjs"; +import FileSaver from "file-saver"; +import ZipWorker from "worker-loader?inline&fallback=false!../workers/ZipWorker.mjs"; + +/** + * Waiter to handle events related to the output + */ +class OutputWaiter { + + /** + * OutputWaiter constructor. + * + * @param {App} app - The main view object for CyberChef. + * @param {Manager} manager - The CyberChef event manager + */ + constructor(app, manager) { + this.app = app; + this.manager = manager; + + this.outputs = {}; + this.zipWorker = null; + this.maxTabs = this.manager.tabs.calcMaxTabs(); + this.tabTimeout = null; + } + + /** + * Calculates the maximum number of tabs to display + */ + calcMaxTabs() { + const numTabs = this.manager.tabs.calcMaxTabs(); + if (numTabs !== this.maxTabs) { + this.maxTabs = numTabs; + this.refreshTabs(this.manager.tabs.getActiveOutputTab(), "right"); + } + } + + /** + * Gets the dish object for an output. + * + * @param inputNum - The inputNum of the output to get the dish of + * @returns {Dish} + */ + getOutputDish(inputNum) { + if (this.outputExists(inputNum) && + this.outputs[inputNum].data && + this.outputs[inputNum].data.dish) { + return this.outputs[inputNum].data.dish; + } + return null; + } + + /** + * Checks if an output exists in the output dictionary + * + * @param {number} inputNum - The number of the output we're looking for + * @returns {boolean} + */ + outputExists(inputNum) { + if (this.outputs[inputNum] === undefined || + this.outputs[inputNum] === null) { + return false; + } + return true; + } + + /** + * Adds a new output to the output array. + * Creates a new tab if we have less than maxtabs tabs open + * + * @param {number} inputNum - The inputNum of the new output + * @param {boolean} [changeTab=true] - If true, change to the new output + */ + addOutput(inputNum, changeTab = true) { + // Remove the output (will only get removed if it already exists) + this.removeOutput(inputNum); + + const newOutput = { + data: null, + inputNum: inputNum, + statusMessage: `Input ${inputNum} has not been baked yet.`, + error: null, + status: "inactive", + bakeId: -1, + progress: false + }; + + this.outputs[inputNum] = newOutput; + + this.addTab(inputNum, changeTab); + } + + /** + * Updates the value for the output in the output array. + * If this is the active output tab, updates the output textarea + * + * @param {ArrayBuffer | String} data + * @param {number} inputNum + * @param {boolean} set + */ + updateOutputValue(data, inputNum, set=true) { + if (!this.outputExists(inputNum)) { + this.addOutput(inputNum); + } + + if (Object.prototype.hasOwnProperty.call(data, "dish")) { + data.dish = new Dish(data.dish); + } + + this.outputs[inputNum].data = data; + + const tabItem = this.manager.tabs.getOutputTabItem(inputNum); + if (tabItem) tabItem.style.background = ""; + + if (set) this.set(inputNum); + } + + /** + * Updates the status message for the output in the output array. + * If this is the active output tab, updates the output textarea + * + * @param {string} statusMessage + * @param {number} inputNum + * @param {boolean} [set=true] + */ + updateOutputMessage(statusMessage, inputNum, set=true) { + if (!this.outputExists(inputNum)) return; + this.outputs[inputNum].statusMessage = statusMessage; + if (set) this.set(inputNum); + } + + /** + * Updates the error value for the output in the output array. + * If this is the active output tab, calls app.handleError. + * Otherwise, the error will be handled when the output is switched to + * + * @param {Error} error + * @param {number} inputNum + * @param {number} [progress=0] + */ + updateOutputError(error, inputNum, progress=0) { + if (!this.outputExists(inputNum)) return; + + const errorString = error.displayStr || error.toString(); + + this.outputs[inputNum].error = errorString; + this.outputs[inputNum].progress = progress; + this.updateOutputStatus("error", inputNum); + } + + /** + * Updates the status value for the output in the output array + * + * @param {string} status + * @param {number} inputNum + */ + updateOutputStatus(status, inputNum) { + if (!this.outputExists(inputNum)) return; + this.outputs[inputNum].status = status; + + if (status !== "error") { + delete this.outputs[inputNum].error; + } + + this.displayTabInfo(inputNum); + this.set(inputNum); + } + + /** + * Updates the stored bake ID for the output in the output array + * + * @param {number} bakeId + * @param {number} inputNum + */ + updateOutputBakeId(bakeId, inputNum) { + if (!this.outputExists(inputNum)) return; + this.outputs[inputNum].bakeId = bakeId; + } + + /** + * Updates the stored progress value for the output in the output array + * + * @param {number} progress + * @param {number} total + * @param {number} inputNum + */ + updateOutputProgress(progress, total, inputNum) { + if (!this.outputExists(inputNum)) return; + this.outputs[inputNum].progress = progress; + + if (progress !== false) { + this.manager.tabs.updateOutputTabProgress(inputNum, progress, total); + } + + } + + /** + * Removes an output from the output array. + * + * @param {number} inputNum + */ + removeOutput(inputNum) { + if (!this.outputExists(inputNum)) return; + + delete (this.outputs[inputNum]); + } + + /** + * Removes all output tabs + */ + removeAllOutputs() { + this.outputs = {}; + + this.resetSwitch(); + + const tabsList = document.getElementById("output-tabs"); + const tabsListChildren = tabsList.children; + + tabsList.classList.remove("tabs-left"); + tabsList.classList.remove("tabs-right"); + for (let i = tabsListChildren.length - 1; i >= 0; i--) { + tabsListChildren.item(i).remove(); + } + } + + /** + * Sets the output in the output textarea. + * + * @param {number} inputNum + */ + async set(inputNum) { + if (inputNum !== this.manager.tabs.getActiveOutputTab() || + !this.outputExists(inputNum)) return; + this.toggleLoader(true); + + return new Promise(async function(resolve, reject) { + const output = this.outputs[inputNum], + activeTab = this.manager.tabs.getActiveOutputTab(); + if (typeof inputNum !== "number") inputNum = parseInt(inputNum, 10); + + const outputText = document.getElementById("output-text"); + const outputHtml = document.getElementById("output-html"); + const outputFile = document.getElementById("output-file"); + const outputHighlighter = document.getElementById("output-highlighter"); + const inputHighlighter = document.getElementById("input-highlighter"); + + // If pending or baking, show loader and status message + // If error, style the tab and handle the error + // If done, display the output if it's the active tab + // If inactive, show the last bake value (or blank) + if (output.status === "inactive" || + output.status === "stale" || + (output.status === "baked" && output.bakeId < this.manager.worker.bakeId)) { + this.manager.controls.showStaleIndicator(); + } else { + this.manager.controls.hideStaleIndicator(); + } + + if (output.progress !== undefined && !this.app.baking) { + this.manager.recipe.updateBreakpointIndicator(output.progress); + } else { + this.manager.recipe.updateBreakpointIndicator(false); + } + + document.getElementById("show-file-overlay").style.display = "none"; + + if (output.status === "pending" || output.status === "baking") { + // show the loader and the status message if it's being shown + // otherwise don't do anything + document.querySelector("#output-loader .loading-msg").textContent = output.statusMessage; + } else if (output.status === "error") { + // style the tab if it's being shown + this.toggleLoader(false); + outputText.style.display = "block"; + outputText.classList.remove("blur"); + outputHtml.style.display = "none"; + outputFile.style.display = "none"; + outputHighlighter.display = "none"; + inputHighlighter.display = "none"; + + if (output.error) { + outputText.value = output.error; + } else { + outputText.value = output.data.result; + } + outputHtml.innerHTML = ""; + } else if (output.status === "baked" || output.status === "inactive") { + document.querySelector("#output-loader .loading-msg").textContent = `Loading output ${inputNum}`; + this.closeFile(); + let scriptElements, lines, length; + + if (output.data === null) { + outputText.style.display = "block"; + outputHtml.style.display = "none"; + outputFile.style.display = "none"; + outputHighlighter.display = "block"; + inputHighlighter.display = "block"; + + outputText.value = ""; + outputHtml.innerHTML = ""; + + lines = 0; + length = 0; + this.toggleLoader(false); + return; + } + + switch (output.data.type) { + case "html": + outputText.style.display = "none"; + outputHtml.style.display = "block"; + outputFile.style.display = "none"; + outputHighlighter.style.display = "none"; + inputHighlighter.style.display = "none"; + + outputText.value = ""; + outputHtml.innerHTML = output.data.result; + + // Execute script sections + scriptElements = outputHtml.querySelectorAll("script"); + for (let i = 0; i < scriptElements.length; i++) { + try { + eval(scriptElements[i].innerHTML); // eslint-disable-line no-eval + } catch (err) { + log.error(err); + } + } + break; + case "ArrayBuffer": + outputText.style.display = "block"; + outputHtml.style.display = "none"; + outputHighlighter.display = "none"; + inputHighlighter.display = "none"; + + outputText.value = ""; + outputHtml.innerHTML = ""; + + length = output.data.result.byteLength; + this.setFile(await this.getDishBuffer(output.data.dish), activeTab); + break; + case "string": + default: + outputText.style.display = "block"; + outputHtml.style.display = "none"; + outputFile.style.display = "none"; + outputHighlighter.display = "block"; + inputHighlighter.display = "block"; + + outputText.value = Utils.printable(output.data.result, true); + outputHtml.innerHTML = ""; + + lines = output.data.result.count("\n") + 1; + length = output.data.result.length; + break; + } + this.toggleLoader(false); + + if (output.data.type === "html") { + const dishStr = await this.getDishStr(output.data.dish); + length = dishStr.length; + lines = dishStr.count("\n") + 1; + } + + this.setOutputInfo(length, lines, output.data.duration); + debounce(this.backgroundMagic, 50, "backgroundMagic", this, [])(); + } + }.bind(this)); + } + + /** + * Shows file details + * + * @param {ArrayBuffer} buf + * @param {number} activeTab + */ + setFile(buf, activeTab) { + if (activeTab !== this.manager.tabs.getActiveOutputTab()) return; + // Display file overlay in output area with details + const fileOverlay = document.getElementById("output-file"), + fileSize = document.getElementById("output-file-size"), + outputText = document.getElementById("output-text"), + fileSlice = buf.slice(0, 4096); + + fileOverlay.style.display = "block"; + fileSize.textContent = buf.byteLength.toLocaleString() + " bytes"; + + outputText.classList.add("blur"); + outputText.value = Utils.printable(Utils.arrayBufferToStr(fileSlice)); + } + + /** + * Clears output file details + */ + closeFile() { + document.getElementById("output-file").style.display = "none"; + document.getElementById("output-text").classList.remove("blur"); + } + + /** + * Retrieves the dish as a string, returning the cached version if possible. + * + * @param {Dish} dish + * @returns {string} + */ + async getDishStr(dish) { + return await new Promise(resolve => { + this.manager.worker.getDishAs(dish, "string", r => { + resolve(r.value); + }); + }); + } + + /** + * Retrieves the dish as an ArrayBuffer, returning the cached version if possible. + * + * @param {Dish} dish + * @returns {ArrayBuffer} + */ + async getDishBuffer(dish) { + return await new Promise(resolve => { + this.manager.worker.getDishAs(dish, "ArrayBuffer", r => { + resolve(r.value); + }); + }); + } + + /** + * Retrieves the title of the Dish as a string + * + * @param {Dish} dish + * @param {number} maxLength + * @returns {string} + */ + async getDishTitle(dish, maxLength) { + return await new Promise(resolve => { + this.manager.worker.getDishTitle(dish, maxLength, r => { + resolve(r.value); + }); + }); + } + + /** + * Save bombe object then remove it from the DOM so that it does not cause performance issues. + */ + saveBombe() { + this.bombeEl = document.getElementById("bombe"); + this.bombeEl.parentNode.removeChild(this.bombeEl); + } + + /** + * Shows or hides the output loading screen. + * The animated Bombe SVG, whilst quite aesthetically pleasing, is reasonably CPU + * intensive, so we remove it from the DOM when not in use. We only show it if the + * recipe is taking longer than 200ms. We add it to the DOM just before that so that + * it is ready to fade in without stuttering. + * + * @param {boolean} value - If true, show the loader + */ + toggleLoader(value) { + clearTimeout(this.appendBombeTimeout); + clearTimeout(this.outputLoaderTimeout); + + const outputLoader = document.getElementById("output-loader"), + outputElement = document.getElementById("output-text"), + animation = document.getElementById("output-loader-animation"); + + if (value) { + this.manager.controls.hideStaleIndicator(); + + // Don't add the bombe if it's already there! + if (animation.children.length > 0) return; + + // Start a timer to add the Bombe to the DOM just before we make it + // visible so that there is no stuttering + this.appendBombeTimeout = setTimeout(function() { + animation.appendChild(this.bombeEl); + }.bind(this), 150); + + // Show the loading screen + this.outputLoaderTimeout = setTimeout(function() { + outputElement.disabled = true; + outputLoader.style.visibility = "visible"; + outputLoader.style.opacity = 1; + }, 200); + } else { + // Remove the Bombe from the DOM to save resources + this.outputLoaderTimeout = setTimeout(function () { + try { + animation.removeChild(this.bombeEl); + } catch (err) {} + }.bind(this), 500); + outputElement.disabled = false; + outputLoader.style.opacity = 0; + outputLoader.style.visibility = "hidden"; + } + } + + /** + * Handler for save click events. + * Saves the current output to a file. + */ + saveClick() { + this.downloadFile(); + } + + /** + * Handler for file download events. + */ + async downloadFile() { + const dish = this.getOutputDish(this.manager.tabs.getActiveOutputTab()); + if (dish === null) { + this.app.alert("Could not find any output data to download. Has this output been baked?", 3000); + return; + } + const fileName = window.prompt("Please enter a filename: ", "download.dat"); + + // Assume if the user clicks cancel they don't want to download + if (fileName === null) return; + + const data = await dish.get(Dish.ARRAY_BUFFER), + file = new File([data], fileName); + FileSaver.saveAs(file, fileName, false); + } + + /** + * Handler for save all click event + * Saves all outputs to a single archvie file + */ + async saveAllClick() { + const downloadButton = document.getElementById("save-all-to-file"); + if (downloadButton.firstElementChild.innerHTML === "archive") { + this.downloadAllFiles(); + } else { + const cancel = await new Promise(function(resolve, reject) { + this.app.confirm( + "Cancel zipping?", + "The outputs are currently being zipped for download.
      Cancel zipping?", + "Continue zipping", + "Cancel zipping", + resolve, this); + }.bind(this)); + if (!cancel) { + this.terminateZipWorker(); + } + } + } + + + /** + * Spawns a new ZipWorker and sends it the outputs so that they can + * be zipped for download + */ + async downloadAllFiles() { + const inputNums = Object.keys(this.outputs); + for (let i = 0; i < inputNums.length; i++) { + const iNum = inputNums[i]; + if (this.outputs[iNum].status !== "baked" || + this.outputs[iNum].bakeId !== this.manager.worker.bakeId) { + const continueDownloading = await new Promise(function(resolve, reject) { + this.app.confirm( + "Incomplete outputs", + "Not all outputs have been baked yet. Continue downloading outputs?", + "Download", "Cancel", resolve, this); + }.bind(this)); + if (continueDownloading) { + break; + } else { + return; + } + } + } + + let fileName = window.prompt("Please enter a filename: ", "download.zip"); + + if (fileName === null || fileName === "") { + // Don't zip the files if there isn't a filename + this.app.alert("No filename was specified.", 3000); + return; + } + + if (!fileName.match(/.zip$/)) { + fileName += ".zip"; + } + + let fileExt = window.prompt("Please enter a file extension for the files, or leave blank to detect automatically.", ""); + + if (fileExt === null) fileExt = ""; + + if (this.zipWorker !== null) { + this.terminateZipWorker(); + } + + const downloadButton = document.getElementById("save-all-to-file"); + + downloadButton.classList.add("spin"); + downloadButton.title = `Zipping ${inputNums.length} files...`; + downloadButton.setAttribute("data-original-title", `Zipping ${inputNums.length} files...`); + + downloadButton.firstElementChild.innerHTML = "autorenew"; + + log.debug("Creating ZipWorker"); + this.zipWorker = new ZipWorker(); + this.zipWorker.postMessage({ + outputs: this.outputs, + filename: fileName, + fileExtension: fileExt + }); + this.zipWorker.addEventListener("message", this.handleZipWorkerMessage.bind(this)); + } + + /** + * Terminate the ZipWorker + */ + terminateZipWorker() { + if (this.zipWorker === null) return; // Already terminated + + log.debug("Terminating ZipWorker."); + + this.zipWorker.terminate(); + this.zipWorker = null; + + const downloadButton = document.getElementById("save-all-to-file"); + + downloadButton.classList.remove("spin"); + downloadButton.title = "Save all outputs to a zip file"; + downloadButton.setAttribute("data-original-title", "Save all outputs to a zip file"); + + downloadButton.firstElementChild.innerHTML = "archive"; + + } + + + /** + * Handle messages sent back by the ZipWorker + */ + handleZipWorkerMessage(e) { + const r = e.data; + if (!("zippedFile" in r)) { + log.error("No zipped file was sent in the message."); + this.terminateZipWorker(); + return; + } + if (!("filename" in r)) { + log.error("No filename was sent in the message."); + this.terminateZipWorker(); + return; + } + + const file = new File([r.zippedFile], r.filename); + FileSaver.saveAs(file, r.filename, false); + + this.terminateZipWorker(); + } + + /** + * Adds a new output tab. + * + * @param {number} inputNum + * @param {boolean} [changeTab=true] + */ + addTab(inputNum, changeTab = true) { + const tabsWrapper = document.getElementById("output-tabs"); + const numTabs = tabsWrapper.children.length; + + if (!this.manager.tabs.getOutputTabItem(inputNum) && numTabs < this.maxTabs) { + // Create a new tab element + const newTab = this.manager.tabs.createOutputTabElement(inputNum, changeTab); + tabsWrapper.appendChild(newTab); + } else if (numTabs === this.maxTabs) { + // Can't create a new tab + document.getElementById("output-tabs").lastElementChild.classList.add("tabs-right"); + } + + this.displayTabInfo(inputNum); + + if (changeTab) { + this.changeTab(inputNum, false); + } + } + + /** + * Changes the active tab + * + * @param {number} inputNum + * @param {boolean} [changeInput = false] + */ + changeTab(inputNum, changeInput = false) { + if (!this.outputExists(inputNum)) return; + const currentNum = this.manager.tabs.getActiveOutputTab(); + + this.hideMagicButton(); + + this.manager.highlighter.removeHighlights(); + getSelection().removeAllRanges(); + + if (!this.manager.tabs.changeOutputTab(inputNum)) { + let direction = "right"; + if (currentNum > inputNum) { + direction = "left"; + } + const newOutputs = this.getNearbyNums(inputNum, direction); + + const tabsLeft = (newOutputs[0] !== this.getSmallestInputNum()); + const tabsRight = (newOutputs[newOutputs.length - 1] !== this.getLargestInputNum()); + + this.manager.tabs.refreshOutputTabs(newOutputs, inputNum, tabsLeft, tabsRight); + + for (let i = 0; i < newOutputs.length; i++) { + this.displayTabInfo(newOutputs[i]); + } + } + + debounce(this.set, 50, "setOutput", this, [inputNum])(); + + document.getElementById("output-html").scroll(0, 0); + document.getElementById("output-text").scroll(0, 0); + + if (changeInput) { + this.manager.input.changeTab(inputNum, false); + } + } + + /** + * Handler for changing tabs event + * + * @param {event} mouseEvent + */ + changeTabClick(mouseEvent) { + if (!mouseEvent.target) return; + const tabNum = mouseEvent.target.parentElement.getAttribute("inputNum"); + if (tabNum) { + this.changeTab(parseInt(tabNum, 10), this.app.options.syncTabs); + } + } + + /** + * Handler for scrolling on the output tabs area + * + * @param {event} wheelEvent + */ + scrollTab(wheelEvent) { + wheelEvent.preventDefault(); + + if (wheelEvent.deltaY > 0) { + this.changeTabLeft(); + } else if (wheelEvent.deltaY < 0) { + this.changeTabRight(); + } + } + + /** + * Handler for mouse down on the next tab button + */ + nextTabClick() { + this.mousedown = true; + this.changeTabRight(); + const time = 200; + const func = function(time) { + if (this.mousedown) { + this.changeTabRight(); + const newTime = (time > 50) ? time = time - 10 : 50; + setTimeout(func.bind(this, [newTime]), newTime); + } + }; + this.tabTimeout = setTimeout(func.bind(this, [time]), time); + } + + /** + * Handler for mouse down on the previous tab button + */ + previousTabClick() { + this.mousedown = true; + this.changeTabLeft(); + const time = 200; + const func = function(time) { + if (this.mousedown) { + this.changeTabLeft(); + const newTime = (time > 50) ? time = time - 10 : 50; + setTimeout(func.bind(this, [newTime]), newTime); + } + }; + this.tabTimeout = setTimeout(func.bind(this, [time]), time); + } + + /** + * Handler for mouse up event on the tab buttons + */ + tabMouseUp() { + this.mousedown = false; + + clearTimeout(this.tabTimeout); + this.tabTimeout = null; + } + + /** + * Handler for changing to the left tab + */ + changeTabLeft() { + const currentTab = this.manager.tabs.getActiveOutputTab(); + this.changeTab(this.getPreviousInputNum(currentTab), this.app.options.syncTabs); + } + + /** + * Handler for changing to the right tab + */ + changeTabRight() { + const currentTab = this.manager.tabs.getActiveOutputTab(); + this.changeTab(this.getNextInputNum(currentTab), this.app.options.syncTabs); + } + + /** + * Handler for go to tab button clicked + */ + goToTab() { + const min = this.getSmallestInputNum(), + max = this.getLargestInputNum(); + + let tabNum = window.prompt(`Enter tab number (${min} - ${max}):`, this.manager.tabs.getActiveOutputTab().toString()); + if (tabNum === null) return; + tabNum = parseInt(tabNum, 10); + + if (this.outputExists(tabNum)) { + this.changeTab(tabNum, this.app.options.syncTabs); + } + } + + /** + * Generates a list of the nearby inputNums + * @param inputNum + * @param direction + */ + getNearbyNums(inputNum, direction) { + const nums = []; + for (let i = 0; i < this.maxTabs; i++) { + let newNum; + if (i === 0 && this.outputs[inputNum] !== undefined) { + newNum = inputNum; + } else { + switch (direction) { + case "left": + newNum = this.getNextInputNum(nums[i - 1]); + if (newNum === nums[i - 1]) { + direction = "right"; + newNum = this.getPreviousInputNum(nums[0]); + } + break; + case "right": + newNum = this.getPreviousInputNum(nums[i - 1]); + if (newNum === nums[i - 1]) { + direction = "left"; + newNum = this.getNextInputNum(nums[0]); + } + } + } + if (!nums.includes(newNum) && (newNum > 0)) { + nums.push(newNum); + } + } + nums.sort(function(a, b) { + return a - b; + }); + return nums; + } + + /** + * Gets the largest inputNum + * + * @returns {number} + */ + getLargestInputNum() { + const inputNums = Object.keys(this.outputs); + if (inputNums.length === 0) return -1; + return Math.max(...inputNums); + } + + /** + * Gets the smallest inputNum + * + * @returns {number} + */ + getSmallestInputNum() { + const inputNums = Object.keys(this.outputs); + if (inputNums.length === 0) return -1; + return Math.min(...inputNums); + } + + /** + * Gets the previous inputNum + * + * @param {number} inputNum - The current input number + * @returns {number} + */ + getPreviousInputNum(inputNum) { + const inputNums = Object.keys(this.outputs); + if (inputNums.length === 0) return -1; + let num = Math.min(...inputNums); + for (let i = 0; i < inputNums.length; i++) { + const iNum = parseInt(inputNums[i], 10); + if (iNum < inputNum) { + if (iNum > num) { + num = iNum; + } + } + } + return num; + } + + /** + * Gets the next inputNum + * + * @param {number} inputNum - The current input number + * @returns {number} + */ + getNextInputNum(inputNum) { + const inputNums = Object.keys(this.outputs); + if (inputNums.length === 0) return -1; + let num = Math.max(...inputNums); + for (let i = 0; i < inputNums.length; i++) { + const iNum = parseInt(inputNums[i], 10); + if (iNum > inputNum) { + if (iNum < num) { + num = iNum; + } + } + } + return num; + } + + /** + * Removes a tab and it's corresponding output + * + * @param {number} inputNum + */ + removeTab(inputNum) { + if (!this.outputExists(inputNum)) return; + + const tabElement = this.manager.tabs.getOutputTabItem(inputNum); + + this.removeOutput(inputNum); + + if (tabElement !== null) { + this.refreshTabs(this.getPreviousInputNum(inputNum), "left"); + } + } + + /** + * Redraw the entire tab bar to remove any outdated tabs + * @param {number} activeTab + * @param {string} direction - Either "left" or "right" + */ + refreshTabs(activeTab, direction) { + const newNums = this.getNearbyNums(activeTab, direction), + tabsLeft = (newNums[0] !== this.getSmallestInputNum() && newNums.length > 0), + tabsRight = (newNums[newNums.length - 1] !== this.getLargestInputNum() && newNums.length > 0); + + this.manager.tabs.refreshOutputTabs(newNums, activeTab, tabsLeft, tabsRight); + + for (let i = 0; i < newNums.length; i++) { + this.displayTabInfo(newNums[i]); + } + + } + + /** + * Display output information in the tab header + * + * @param {number} inputNum + */ + async displayTabInfo(inputNum) { + if (!this.outputExists(inputNum)) return; + + const dish = this.getOutputDish(inputNum); + let tabStr = ""; + + if (dish !== null) { + tabStr = await this.getDishTitle(this.getOutputDish(inputNum), 100); + tabStr = tabStr.replace(/[\n\r]/g, ""); + } + this.manager.tabs.updateOutputTabHeader(inputNum, tabStr); + if (this.manager.worker.recipeConfig !== undefined) { + this.manager.tabs.updateOutputTabProgress(inputNum, this.outputs[inputNum].progress, this.manager.worker.recipeConfig.length); + } + + const tabItem = this.manager.tabs.getOutputTabItem(inputNum); + if (tabItem) { + if (this.outputs[inputNum].status === "error") { + tabItem.style.color = "#FF0000"; + } else { + tabItem.style.color = ""; + } + } + } + + /** + * Displays information about the output. + * + * @param {number} length - The length of the current output string + * @param {number} lines - The number of the lines in the current output string + * @param {number} duration - The length of time (ms) it took to generate the output + */ + setOutputInfo(length, lines, duration) { + if (!length) return; + let width = length.toString().length; + width = width < 4 ? 4 : width; + + const lengthStr = length.toString().padStart(width, " ").replace(/ /g, " "); + const timeStr = (duration.toString() + "ms").padStart(width, " ").replace(/ /g, " "); + + let msg = "time: " + timeStr + "
      length: " + lengthStr; + + if (typeof lines === "number") { + const linesStr = lines.toString().padStart(width, " ").replace(/ /g, " "); + msg += "
      lines: " + linesStr; + } + + document.getElementById("output-info").innerHTML = msg; + document.getElementById("input-selection-info").innerHTML = ""; + document.getElementById("output-selection-info").innerHTML = ""; + } + + /** + * Triggers the BackgroundWorker to attempt Magic on the current output. + */ + async backgroundMagic() { + this.hideMagicButton(); + const dish = this.getOutputDish(this.manager.tabs.getActiveOutputTab()); + if (!this.app.options.autoMagic || dish === null) return; + const buffer = await this.getDishBuffer(dish); + const sample = buffer.slice(0, 1000) || ""; + + if (sample.length || sample.byteLength) { + this.manager.background.magic(sample); + } + } + + /** + * Handles the results of a background Magic call. + * + * @param {Object[]} options + */ + backgroundMagicResult(options) { + if (!options.length) return; + + const currentRecipeConfig = this.app.getRecipeConfig(); + let msg = "", + newRecipeConfig; + + if (options[0].recipe.length) { + const opSequence = options[0].recipe.map(o => o.op).join(", "); + newRecipeConfig = currentRecipeConfig.concat(options[0].recipe); + msg = `${opSequence} will produce "${Utils.escapeHtml(Utils.truncate(options[0].data), 30)}"`; + } else if (options[0].fileType && options[0].fileType.name) { + const ft = options[0].fileType; + newRecipeConfig = currentRecipeConfig.concat([{op: "Detect File Type", args: []}]); + msg = `${ft.name} file detected`; + } else { + return; + } + + this.showMagicButton(msg, newRecipeConfig); + } + + /** + * Handler for Magic click events. + * + * Loads the Magic recipe. + * + * @fires Manager#statechange + */ + magicClick() { + const magicButton = document.getElementById("magic"); + this.app.setRecipeConfig(JSON.parse(magicButton.getAttribute("data-recipe"))); + window.dispatchEvent(this.manager.statechange); + this.hideMagicButton(); + } + + /** + * Displays the Magic button with a title and adds a link to a recipe. + * + * @param {string} msg + * @param {Object[]} recipeConfig + */ + showMagicButton(msg, recipeConfig) { + const magicButton = document.getElementById("magic"); + magicButton.setAttribute("data-original-title", msg); + magicButton.setAttribute("data-recipe", JSON.stringify(recipeConfig), null, ""); + magicButton.classList.remove("hidden"); + magicButton.classList.add("pulse"); + } + + + /** + * Hides the Magic button and resets its values. + */ + hideMagicButton() { + const magicButton = document.getElementById("magic"); + magicButton.classList.add("hidden"); + magicButton.classList.remove("pulse"); + magicButton.setAttribute("data-recipe", ""); + magicButton.setAttribute("data-original-title", "Magic!"); + } + + + /** + * Handler for file slice display events. + */ + async displayFileSlice() { + document.querySelector("#output-loader .loading-msg").textContent = "Loading file slice..."; + this.toggleLoader(true); + const outputText = document.getElementById("output-text"), + outputHtml = document.getElementById("output-html"), + outputFile = document.getElementById("output-file"), + outputHighlighter = document.getElementById("output-highlighter"), + inputHighlighter = document.getElementById("input-highlighter"), + showFileOverlay = document.getElementById("show-file-overlay"), + sliceFromEl = document.getElementById("output-file-slice-from"), + sliceToEl = document.getElementById("output-file-slice-to"), + sliceFrom = parseInt(sliceFromEl.value, 10), + sliceTo = parseInt(sliceToEl.value, 10), + output = this.outputs[this.manager.tabs.getActiveOutputTab()].data; + + let str; + if (output.type === "ArrayBuffer") { + str = Utils.arrayBufferToStr(output.result.slice(sliceFrom, sliceTo)); + } else { + str = Utils.arrayBufferToStr(await this.getDishBuffer(output.dish).slice(sliceFrom, sliceTo)); + } + + outputText.classList.remove("blur"); + showFileOverlay.style.display = "block"; + outputText.value = Utils.printable(str, true); + + + outputText.style.display = "block"; + outputHtml.style.display = "none"; + outputFile.style.display = "none"; + outputHighlighter.display = "block"; + inputHighlighter.display = "block"; + + this.toggleLoader(false); + } + + /** + * Handler for show file overlay events + * + * @param {Event} e + */ + showFileOverlayClick(e) { + const showFileOverlay = e.target; + + document.getElementById("output-text").classList.add("blur"); + showFileOverlay.style.display = "none"; + this.set(this.manager.tabs.getActiveOutputTab()); + } + + /** + * Handler for extract file events. + * + * @param {Event} e + */ + async extractFileClick(e) { + e.preventDefault(); + e.stopPropagation(); + + const el = e.target.nodeName === "I" ? e.target.parentNode : e.target; + const blobURL = el.getAttribute("blob-url"); + const fileName = el.getAttribute("file-name"); + + const blob = await fetch(blobURL).then(r => r.blob()); + this.manager.input.loadUIFiles([new File([blob], fileName, {type: blob.type})]); + } + + + /** + * Handler for copy click events. + * Copies the output to the clipboard + */ + async copyClick() { + const dish = this.getOutputDish(this.manager.tabs.getActiveOutputTab()); + if (dish === null) { + this.app.alert("Could not find data to copy. Has this output been baked yet?", 3000); + return; + } + + const output = await dish.get(Dish.STRING); + + // Create invisible textarea to populate with the raw dish string (not the printable version that + // contains dots instead of the actual bytes) + const textarea = document.createElement("textarea"); + textarea.style.position = "fixed"; + textarea.style.top = 0; + textarea.style.left = 0; + textarea.style.width = 0; + textarea.style.height = 0; + textarea.style.border = "none"; + + textarea.value = output; + document.body.appendChild(textarea); + + let success = false; + try { + textarea.select(); + success = output && document.execCommand("copy"); + } catch (err) { + success = false; + } + + if (success) { + this.app.alert("Copied raw output successfully.", 2000); + } else { + this.app.alert("Sorry, the output could not be copied.", 3000); + } + + // Clean up + document.body.removeChild(textarea); + } + + /** + * Returns true if the output contains carriage returns + * + * @returns {boolean} + */ + async containsCR() { + const dish = this.getOutputDish(this.manager.tabs.getActiveOutputTab()); + if (dish === null) return; + + if (dish.type === Dish.STRING) { + const data = await dish.get(Dish.STRING); + return data.indexOf("\r") >= 0; + } + } + + /** + * Handler for switch click events. + * Moves the current output into the input textarea. + */ + async switchClick() { + const activeTab = this.manager.tabs.getActiveOutputTab(); + const transferable = []; + + const switchButton = document.getElementById("switch"); + switchButton.classList.add("spin"); + switchButton.disabled = true; + switchButton.firstElementChild.innerHTML = "autorenew"; + $(switchButton).tooltip("hide"); + + let active = await this.getDishBuffer(this.getOutputDish(activeTab)); + + if (!this.outputExists(activeTab)) { + this.resetSwitchButton(); + return; + } + + if (this.outputs[activeTab].data.type === "string" && + active.byteLength <= this.app.options.ioDisplayThreshold * 1024) { + const dishString = await this.getDishStr(this.getOutputDish(activeTab)); + if (!await this.manager.input.preserveCarriageReturns(dishString)) { + active = dishString; + } + } else { + transferable.push(active); + } + + this.manager.input.inputWorker.postMessage({ + action: "inputSwitch", + data: { + inputNum: activeTab, + outputData: active + } + }, transferable); + } + + /** + * Handler for when the inputWorker has switched the inputs. + * Stores the old input + * + * @param {object} switchData + * @param {number} switchData.inputNum + * @param {string | object} switchData.data + * @param {ArrayBuffer} switchData.data.fileBuffer + * @param {number} switchData.data.size + * @param {string} switchData.data.type + * @param {string} switchData.data.name + */ + inputSwitch(switchData) { + this.switchOrigData = switchData; + document.getElementById("undo-switch").disabled = false; + + this.resetSwitchButton(); + + } + + /** + * Handler for undo switch click events. + * Removes the output from the input and replaces the input that was removed. + */ + undoSwitchClick() { + this.manager.input.updateInputObj(this.switchOrigData.inputNum, this.switchOrigData.data); + + this.manager.input.fileLoaded(this.switchOrigData.inputNum); + + this.resetSwitch(); + } + + /** + * Removes the switch data and resets the switch buttons + */ + resetSwitch() { + if (this.switchOrigData !== undefined) { + delete this.switchOrigData; + } + + const undoSwitch = document.getElementById("undo-switch"); + undoSwitch.disabled = true; + $(undoSwitch).tooltip("hide"); + + this.resetSwitchButton(); + } + + /** + * Resets the switch button to its usual state + */ + resetSwitchButton() { + const switchButton = document.getElementById("switch"); + switchButton.classList.remove("spin"); + switchButton.disabled = false; + switchButton.firstElementChild.innerHTML = "open_in_browser"; + } + + /** + * Handler for maximise output click events. + * Resizes the output frame to be as large as possible, or restores it to its original size. + */ + maximiseOutputClick(e) { + const el = e.target.id === "maximise-output" ? e.target : e.target.parentNode; + + if (el.getAttribute("data-original-title").indexOf("Maximise") === 0) { + this.app.initialiseSplitter(true); + this.app.columnSplitter.collapse(0); + this.app.columnSplitter.collapse(1); + this.app.ioSplitter.collapse(0); + + $(el).attr("data-original-title", "Restore output pane"); + el.querySelector("i").innerHTML = "fullscreen_exit"; + } else { + $(el).attr("data-original-title", "Maximise output pane"); + el.querySelector("i").innerHTML = "fullscreen"; + this.app.initialiseSplitter(false); + this.app.resetLayout(); + } + } + + /** + * Handler for find tab button clicked + */ + findTab() { + this.filterTabSearch(); + $("#output-tab-modal").modal(); + } + + /** + * Searches the outputs using the filter settings and displays the results + */ + async filterTabSearch() { + const showPending = document.getElementById("output-show-pending").checked, + showBaking = document.getElementById("output-show-baking").checked, + showBaked = document.getElementById("output-show-baked").checked, + showStale = document.getElementById("output-show-stale").checked, + showErrored = document.getElementById("output-show-errored").checked, + contentFilter = document.getElementById("output-content-filter").value, + resultsList = document.getElementById("output-search-results"), + numResults = parseInt(document.getElementById("output-num-results").value, 10), + inputNums = Object.keys(this.outputs), + results = []; + + let contentFilterExp; + try { + contentFilterExp = new RegExp(contentFilter, "i"); + } catch (error) { + this.app.handleError(error); + return; + } + + // Search through the outputs for matching output results + for (let i = 0; i < inputNums.length; i++) { + const iNum = inputNums[i], + output = this.outputs[iNum]; + + if (output.status === "pending" && showPending || + output.status === "baking" && showBaking || + output.status === "error" && showErrored || + output.status === "stale" && showStale || + output.status === "inactive" && showStale) { + const outDisplay = { + "pending": "Not baked yet", + "baking": "Baking", + "error": output.error || "Errored", + "stale": "Stale (output is out of date)", + "inactive": "Not baked yet" + }; + + // If the output has a dish object, check it against the filter + if (Object.prototype.hasOwnProperty.call(output, "data") && + output.data && + Object.prototype.hasOwnProperty.call(output.data, "dish")) { + const data = await output.data.dish.get(Dish.STRING); + if (contentFilterExp.test(data)) { + results.push({ + inputNum: iNum, + textDisplay: data.slice(0, 100) + }); + } + } else { + results.push({ + inputNum: iNum, + textDisplay: outDisplay[output.status] + }); + } + } else if (output.status === "baked" && showBaked && output.progress === false) { + let data = await output.data.dish.get(Dish.STRING); + data = data.replace(/[\r\n]/g, ""); + if (contentFilterExp.test(data)) { + results.push({ + inputNum: iNum, + textDisplay: data.slice(0, 100) + }); + } + } else if (output.progress !== false && showErrored) { + let data = await output.data.dish.get(Dish.STRING); + data = data.replace(/[\r\n]/g, ""); + if (contentFilterExp.test(data)) { + results.push({ + inputNum: iNum, + textDisplay: data.slice(0, 100) + }); + } + } + + if (results.length >= numResults) { + break; + } + } + + for (let i = resultsList.children.length - 1; i >= 0; i--) { + resultsList.children.item(i).remove(); + } + + for (let i = 0; i < results.length; i++) { + const newListItem = document.createElement("li"); + newListItem.classList.add("output-filter-result"); + newListItem.setAttribute("inputNum", results[i].inputNum); + newListItem.innerText = `${results[i].inputNum}: ${results[i].textDisplay}`; + + resultsList.appendChild(newListItem); + } + } + + /** + * Handler for clicking on a filter result. + * Changes to the clicked output + * + * @param {event} e + */ + filterItemClick(e) { + if (!e.target) return; + const inputNum = parseInt(e.target.getAttribute("inputNum"), 10); + if (inputNum <= 0) return; + + $("#output-tab-modal").modal("hide"); + this.changeTab(inputNum, this.app.options.syncTabs); + } +} + +export default OutputWaiter; diff --git a/src/web/RecipeWaiter.mjs b/src/web/waiters/RecipeWaiter.mjs similarity index 93% rename from src/web/RecipeWaiter.mjs rename to src/web/waiters/RecipeWaiter.mjs index f2edd725..d198098b 100755 --- a/src/web/RecipeWaiter.mjs +++ b/src/web/waiters/RecipeWaiter.mjs @@ -4,9 +4,9 @@ * @license Apache-2.0 */ -import HTMLOperation from "./HTMLOperation"; +import HTMLOperation from "../HTMLOperation.mjs"; import Sortable from "sortablejs"; -import Utils from "../core/Utils"; +import Utils from "../../core/Utils.mjs"; /** @@ -124,16 +124,21 @@ class RecipeWaiter { * @param {event} evt */ opSortEnd(evt) { - if (this.removeIntent) { - if (evt.item.parentNode.id === "rec-list") { - evt.item.remove(); - } + if (this.removeIntent && evt.item.parentNode.id === "rec-list") { + evt.item.remove(); return; } // Reinitialise the popover on the original element in the ops list because for some reason it - // gets destroyed and recreated. - this.manager.ops.enableOpsListPopovers(evt.clone); + // gets destroyed and recreated. If the clone isn't in the ops list, we use the original item instead. + let enableOpsElement; + if (evt.clone.parentNode && evt.clone.parentNode.classList.contains("op-list")) { + enableOpsElement = evt.clone; + } else { + enableOpsElement = evt.item; + $(evt.item).attr("data-toggle", "popover"); + } + this.manager.ops.enableOpsListPopovers(enableOpsElement); if (evt.item.parentNode.id !== "rec-list") { return; @@ -612,6 +617,23 @@ class RecipeWaiter { ingredientRule.style.gridTemplateColumns = "auto auto auto auto"; ingredientChildRule.style.gridColumn = "1 / span 4"; } + + // Hide Chef icon on Bake button if the page is compressed + const bakeIcon = document.querySelector("#bake img"); + + if (recList.clientWidth < 370) { + // Hide Chef icon on Bake button + bakeIcon.style.display = "none"; + } else { + bakeIcon.style.display = "inline-block"; + } + + // Scale controls to fit pane width + const controls = document.getElementById("controls"); + const controlsContent = document.getElementById("controls-content"); + const scale = (controls.clientWidth - 1) / controlsContent.scrollWidth; + + controlsContent.style.transform = `translate(-50%, -50%) scale(${scale})`; } } diff --git a/src/web/SeasonalWaiter.mjs b/src/web/waiters/SeasonalWaiter.mjs similarity index 97% rename from src/web/SeasonalWaiter.mjs rename to src/web/waiters/SeasonalWaiter.mjs index e6611a89..d01cea9e 100755 --- a/src/web/SeasonalWaiter.mjs +++ b/src/web/waiters/SeasonalWaiter.mjs @@ -10,7 +10,7 @@ class SeasonalWaiter { /** - * SeasonalWaiter contructor. + * SeasonalWaiter constructor. * * @param {App} app - The main view object for CyberChef. * @param {Manager} manager - The CyberChef event manager. diff --git a/src/web/waiters/TabWaiter.mjs b/src/web/waiters/TabWaiter.mjs new file mode 100644 index 00000000..384b1ab7 --- /dev/null +++ b/src/web/waiters/TabWaiter.mjs @@ -0,0 +1,428 @@ +/** + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +/** + * Waiter to handle events related to the input and output tabs + */ +class TabWaiter { + + /** + * TabWaiter constructor. + * + * @param {App} app - The main view object for CyberChef. + * @param {Manager} manager - The CyberChef event manager + */ + constructor(app, manager) { + this.app = app; + this.manager = manager; + } + + /** + * Calculates the maximum number of tabs to display + * + * @returns {number} + */ + calcMaxTabs() { + let numTabs = Math.floor((document.getElementById("IO").offsetWidth - 75) / 120); + numTabs = (numTabs > 1) ? numTabs : 2; + + return numTabs; + } + + /** + * Gets the currently active input or active tab number + * + * @param {string} io - Either "input" or "output" + * @returns {number} - The currently active tab or -1 + */ + getActiveTab(io) { + const activeTabs = document.getElementsByClassName(`active-${io}-tab`); + if (activeTabs.length > 0) { + if (!activeTabs.item(0).hasAttribute("inputNum")) return -1; + const tabNum = activeTabs.item(0).getAttribute("inputNum"); + return parseInt(tabNum, 10); + } + return -1; + } + + /** + * Gets the currently active input tab number + * + * @returns {number} + */ + getActiveInputTab() { + return this.getActiveTab("input"); + } + + /** + * Gets the currently active output tab number + * + * @returns {number} + */ + getActiveOutputTab() { + return this.getActiveTab("output"); + } + + /** + * Gets the li element for the tab of a given input number + * + * @param {number} inputNum - The inputNum of the tab we're trying to get + * @param {string} io - Either "input" or "output" + * @returns {Element} + */ + getTabItem(inputNum, io) { + const tabs = document.getElementById(`${io}-tabs`).children; + for (let i = 0; i < tabs.length; i++) { + if (parseInt(tabs.item(i).getAttribute("inputNum"), 10) === inputNum) { + return tabs.item(i); + } + } + return null; + } + + /** + * Gets the li element for an input tab of the given input number + * + * @param {inputNum} - The inputNum of the tab we're trying to get + * @returns {Element} + */ + getInputTabItem(inputNum) { + return this.getTabItem(inputNum, "input"); + } + + /** + * Gets the li element for an output tab of the given input number + * + * @param {number} inputNum + * @returns {Element} + */ + getOutputTabItem(inputNum) { + return this.getTabItem(inputNum, "output"); + } + + /** + * Gets a list of tab numbers for the currently displayed tabs + * + * @param {string} io - Either "input" or "output" + * @returns {number[]} + */ + getTabList(io) { + const nums = [], + tabs = document.getElementById(`${io}-tabs`).children; + + for (let i = 0; i < tabs.length; i++) { + nums.push(parseInt(tabs.item(i).getAttribute("inputNum"), 10)); + } + + return nums; + } + + /** + * Gets a list of tab numbers for the currently displayed input tabs + * + * @returns {number[]} + */ + getInputTabList() { + return this.getTabList("input"); + } + + /** + * Gets a list of tab numbers for the currently displayed output tabs + * + * @returns {number[]} + */ + getOutputTabList() { + return this.getTabList("output"); + } + + /** + * Creates a new tab element for the tab bar + * + * @param {number} inputNum - The inputNum of the new tab + * @param {boolean} active - If true, sets the tab to active + * @param {string} io - Either "input" or "output" + * @returns {Element} + */ + createTabElement(inputNum, active, io) { + const newTab = document.createElement("li"); + newTab.setAttribute("inputNum", inputNum.toString()); + + if (active) newTab.classList.add(`active-${io}-tab`); + + const newTabContent = document.createElement("div"); + newTabContent.classList.add(`${io}-tab-content`); + + newTabContent.innerText = `Tab ${inputNum.toString()}`; + + newTabContent.addEventListener("wheel", this.manager[io].scrollTab.bind(this.manager[io]), {passive: false}); + + newTab.appendChild(newTabContent); + + if (io === "input") { + const newTabButton = document.createElement("button"), + newTabButtonIcon = document.createElement("i"); + newTabButton.type = "button"; + newTabButton.className = "btn btn-primary bmd-btn-icon btn-close-tab"; + + newTabButtonIcon.classList.add("material-icons"); + newTabButtonIcon.innerText = "clear"; + + newTabButton.appendChild(newTabButtonIcon); + + newTabButton.addEventListener("click", this.manager.input.removeTabClick.bind(this.manager.input)); + + newTab.appendChild(newTabButton); + } + + return newTab; + } + + /** + * Creates a new tab element for the input tab bar + * + * @param {number} inputNum - The inputNum of the new input tab + * @param {boolean} [active=false] - If true, sets the tab to active + * @returns {Element} + */ + createInputTabElement(inputNum, active=false) { + return this.createTabElement(inputNum, active, "input"); + } + + /** + * Creates a new tab element for the output tab bar + * + * @param {number} inputNum - The inputNum of the new output tab + * @param {boolean} [active=false] - If true, sets the tab to active + * @returns {Element} + */ + createOutputTabElement(inputNum, active=false) { + return this.createTabElement(inputNum, active, "output"); + } + + /** + * Displays the tab bar for both the input and output + */ + showTabBar() { + document.getElementById("input-tabs-wrapper").style.display = "block"; + document.getElementById("output-tabs-wrapper").style.display = "block"; + + document.getElementById("input-wrapper").classList.add("show-tabs"); + document.getElementById("output-wrapper").classList.add("show-tabs"); + + document.getElementById("save-all-to-file").style.display = "inline-block"; + } + + /** + * Hides the tab bar for both the input and output + */ + hideTabBar() { + document.getElementById("input-tabs-wrapper").style.display = "none"; + document.getElementById("output-tabs-wrapper").style.display = "none"; + + document.getElementById("input-wrapper").classList.remove("show-tabs"); + document.getElementById("output-wrapper").classList.remove("show-tabs"); + + document.getElementById("save-all-to-file").style.display = "none"; + } + + /** + * Redraws the tab bar with an updated list of tabs, then changes to activeTab + * + * @param {number[]} nums - The inputNums of the tab bar to be drawn + * @param {number} activeTab - The inputNum of the activeTab + * @param {boolean} tabsLeft - True if there are tabs to the left of the displayed tabs + * @param {boolean} tabsRight - True if there are tabs to the right of the displayed tabs + * @param {string} io - Either "input" or "output" + */ + refreshTabs(nums, activeTab, tabsLeft, tabsRight, io) { + const tabsList = document.getElementById(`${io}-tabs`); + + // Remove existing tab elements + for (let i = tabsList.children.length - 1; i >= 0; i--) { + tabsList.children.item(i).remove(); + } + + // Create and add new tab elements + for (let i = 0; i < nums.length; i++) { + const active = (nums[i] === activeTab); + tabsList.appendChild(this.createTabElement(nums[i], active, io)); + } + + // Display shadows if there are tabs left / right of the displayed tabs + if (tabsLeft) { + tabsList.classList.add("tabs-left"); + } else { + tabsList.classList.remove("tabs-left"); + } + if (tabsRight) { + tabsList.classList.add("tabs-right"); + } else { + tabsList.classList.remove("tabs-right"); + } + + // Show or hide the tab bar depending on how many tabs we have + if (nums.length > 1) { + this.showTabBar(); + } else { + this.hideTabBar(); + } + } + + /** + * Refreshes the input tabs, and changes to activeTab + * + * @param {number[]} nums - The inputNums to be displayed as tabs + * @param {number} activeTab - The tab to change to + * @param {boolean} tabsLeft - True if there are input tabs to the left of the displayed tabs + * @param {boolean} tabsRight - True if there are input tabs to the right of the displayed tabs + */ + refreshInputTabs(nums, activeTab, tabsLeft, tabsRight) { + this.refreshTabs(nums, activeTab, tabsLeft, tabsRight, "input"); + } + + /** + * Refreshes the output tabs, and changes to activeTab + * + * @param {number[]} nums - The inputNums to be displayed as tabs + * @param {number} activeTab - The tab to change to + * @param {boolean} tabsLeft - True if there are output tabs to the left of the displayed tabs + * @param {boolean} tabsRight - True if there are output tabs to the right of the displayed tabs + */ + refreshOutputTabs(nums, activeTab, tabsLeft, tabsRight) { + this.refreshTabs(nums, activeTab, tabsLeft, tabsRight, "output"); + } + + /** + * Changes the active tab to a different tab + * + * @param {number} inputNum - The inputNum of the tab to change to + * @param {string} io - Either "input" or "output" + * @return {boolean} - False if the tab is not currently being displayed + */ + changeTab(inputNum, io) { + const tabsList = document.getElementById(`${io}-tabs`); + + this.manager.highlighter.removeHighlights(); + getSelection().removeAllRanges(); + + let found = false; + for (let i = 0; i < tabsList.children.length; i++) { + const tabNum = parseInt(tabsList.children.item(i).getAttribute("inputNum"), 10); + if (tabNum === inputNum) { + tabsList.children.item(i).classList.add(`active-${io}-tab`); + found = true; + } else { + tabsList.children.item(i).classList.remove(`active-${io}-tab`); + } + } + + return found; + } + + /** + * Changes the active input tab to a different tab + * + * @param {number} inputNum + * @returns {boolean} - False if the tab is not currently being displayed + */ + changeInputTab(inputNum) { + return this.changeTab(inputNum, "input"); + } + + /** + * Changes the active output tab to a different tab + * + * @param {number} inputNum + * @returns {boolean} - False if the tab is not currently being displayed + */ + changeOutputTab(inputNum) { + return this.changeTab(inputNum, "output"); + } + + /** + * Updates the tab header to display a preview of the tab contents + * + * @param {number} inputNum - The inputNum of the tab to update the header of + * @param {string} data - The data to display in the tab header + * @param {string} io - Either "input" or "output" + */ + updateTabHeader(inputNum, data, io) { + const tab = this.getTabItem(inputNum, io); + if (tab === null) return; + + let headerData = `Tab ${inputNum}`; + if (data.length > 0) { + headerData = data.slice(0, 100); + headerData = `${inputNum}: ${headerData}`; + } + tab.firstElementChild.innerText = headerData; + } + + /** + * Updates the input tab header to display a preview of the tab contents + * + * @param {number} inputNum - The inputNum of the tab to update the header of + * @param {string} data - The data to display in the tab header + */ + updateInputTabHeader(inputNum, data) { + this.updateTabHeader(inputNum, data, "input"); + } + + /** + * Updates the output tab header to display a preview of the tab contents + * + * @param {number} inputNum - The inputNum of the tab to update the header of + * @param {string} data - The data to display in the tab header + */ + updateOutputTabHeader(inputNum, data) { + this.updateTabHeader(inputNum, data, "output"); + } + + /** + * Updates the tab background to display the progress of the current tab + * + * @param {number} inputNum - The inputNum of the tab + * @param {number} progress - The current progress + * @param {number} total - The total which the progress is a percent of + * @param {string} io - Either "input" or "output" + */ + updateTabProgress(inputNum, progress, total, io) { + const tabItem = this.getTabItem(inputNum, io); + if (tabItem === null) return; + + const percentComplete = (progress / total) * 100; + if (percentComplete >= 100 || progress === false) { + tabItem.style.background = ""; + } else { + tabItem.style.background = `linear-gradient(to right, var(--title-background-colour) ${percentComplete}%, var(--primary-background-colour) ${percentComplete}%)`; + } + } + + /** + * Updates the input tab background to display its progress + * + * @param {number} inputNum + * @param {number} progress + * @param {number} total + */ + updateInputTabProgress(inputNum, progress, total) { + this.updateTabProgress(inputNum, progress, total, "input"); + } + + /** + * Updates the output tab background to display its progress + * + * @param {number} inputNum + * @param {number} progress + * @param {number} total + */ + updateOutputTabProgress(inputNum, progress, total) { + this.updateTabProgress(inputNum, progress, total, "output"); + } + +} + +export default TabWaiter; diff --git a/src/web/WindowWaiter.mjs b/src/web/waiters/WindowWaiter.mjs similarity index 90% rename from src/web/WindowWaiter.mjs rename to src/web/waiters/WindowWaiter.mjs index a8e124f5..b22a5013 100755 --- a/src/web/WindowWaiter.mjs +++ b/src/web/waiters/WindowWaiter.mjs @@ -4,6 +4,8 @@ * @license Apache-2.0 */ +import { debounce } from "../../core/Utils.mjs"; + /** * Waiter to handle events related to the window object. */ @@ -25,14 +27,13 @@ class WindowWaiter { * continuous resetting). */ windowResize() { - clearTimeout(this.resetLayoutTimeout); - this.resetLayoutTimeout = setTimeout(this.app.resetLayout.bind(this.app), 200); + debounce(this.app.resetLayout, 200, "windowResize", this.app, [])(); } /** * Handler for window blur events. - * Saves the current time so that we can calculate how long the window was unfocussed for when + * Saves the current time so that we can calculate how long the window was unfocused for when * focus is returned. */ windowBlur() { diff --git a/src/web/waiters/WorkerWaiter.mjs b/src/web/waiters/WorkerWaiter.mjs new file mode 100644 index 00000000..55f51406 --- /dev/null +++ b/src/web/waiters/WorkerWaiter.mjs @@ -0,0 +1,818 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import ChefWorker from "worker-loader?inline&fallback=false!../../core/ChefWorker.js"; +import DishWorker from "worker-loader?inline&fallback=false!../workers/DishWorker.mjs"; +import { debounce } from "../../core/Utils.mjs"; + +/** + * Waiter to handle conversations with the ChefWorker + */ +class WorkerWaiter { + + /** + * WorkerWaiter constructor + * + * @param {App} app - The main view object for CyberChef + * @param {Manager} manager - The CyberChef event manager + */ + constructor(app, manager) { + this.app = app; + this.manager = manager; + + this.loaded = false; + this.chefWorkers = []; + this.inputs = []; + this.inputNums = []; + this.totalOutputs = 0; + this.loadingOutputs = 0; + this.bakeId = 0; + this.callbacks = {}; + this.callbackID = 0; + + this.maxWorkers = 1; + if (navigator.hardwareConcurrency !== undefined && + navigator.hardwareConcurrency > 1) { + this.maxWorkers = navigator.hardwareConcurrency - 1; + } + + // Store dishWorker action (getDishAs or getDishTitle) + this.dishWorker = { + worker: null, + currentAction: "" + }; + this.dishWorkerQueue = []; + } + + /** + * Terminates any existing ChefWorkers and sets up a new worker + */ + setupChefWorker() { + for (let i = this.chefWorkers.length - 1; i >= 0; i--) { + this.removeChefWorker(this.chefWorkers[i]); + } + + this.addChefWorker(); + this.setupDishWorker(); + } + + /** + * Sets up a DishWorker to be used for performing Dish operations + */ + setupDishWorker() { + if (this.dishWorker.worker !== null) { + this.dishWorker.worker.terminate(); + this.dishWorker.currentAction = ""; + } + log.debug("Adding new DishWorker"); + + this.dishWorker.worker = new DishWorker(); + this.dishWorker.worker.addEventListener("message", this.handleDishMessage.bind(this)); + + if (this.dishWorkerQueue.length > 0) { + this.postDishMessage(this.dishWorkerQueue.splice(0, 1)[0]); + } + } + + /** + * Adds a new ChefWorker + * + * @returns {number} The index of the created worker + */ + addChefWorker() { + if (this.chefWorkers.length === this.maxWorkers) { + // Can't create any more workers + return -1; + } + + log.debug("Adding new ChefWorker"); + + // Create a new ChefWorker and send it the docURL + const newWorker = new ChefWorker(); + newWorker.addEventListener("message", this.handleChefMessage.bind(this)); + let docURL = document.location.href.split(/[#?]/)[0]; + const index = docURL.lastIndexOf("/"); + if (index > 0) { + docURL = docURL.substring(0, index); + } + + newWorker.postMessage({"action": "docURL", "data": docURL}); + newWorker.postMessage({ + action: "setLogLevel", + data: log.getLevel() + }); + + // Store the worker, whether or not it's active, and the inputNum as an object + const newWorkerObj = { + worker: newWorker, + active: false, + inputNum: -1 + }; + + this.chefWorkers.push(newWorkerObj); + return this.chefWorkers.indexOf(newWorkerObj); + } + + /** + * Gets an inactive ChefWorker to be used for baking + * + * @param {boolean} [setActive=true] - If true, set the worker status to active + * @returns {number} - The index of the ChefWorker + */ + getInactiveChefWorker(setActive=true) { + for (let i = 0; i < this.chefWorkers.length; i++) { + if (!this.chefWorkers[i].active) { + this.chefWorkers[i].active = setActive; + return i; + } + } + return -1; + } + + /** + * Removes a ChefWorker + * + * @param {Object} workerObj + */ + removeChefWorker(workerObj) { + const index = this.chefWorkers.indexOf(workerObj); + if (index === -1) { + return; + } + + if (this.chefWorkers.length > 1 || this.chefWorkers[index].active) { + log.debug(`Removing ChefWorker at index ${index}`); + this.chefWorkers[index].worker.terminate(); + this.chefWorkers.splice(index, 1); + } + + // There should always be a ChefWorker loaded + if (this.chefWorkers.length === 0) { + this.addChefWorker(); + } + } + + /** + * Finds and returns the object for the ChefWorker of a given inputNum + * + * @param {number} inputNum + */ + getChefWorker(inputNum) { + for (let i = 0; i < this.chefWorkers.length; i++) { + if (this.chefWorkers[i].inputNum === inputNum) { + return this.chefWorkers[i]; + } + } + } + + /** + * Handler for messages sent back by the ChefWorkers + * + * @param {MessageEvent} e + */ + handleChefMessage(e) { + const r = e.data; + let inputNum = 0; + log.debug(`Receiving ${r.action} from ChefWorker.`); + + if (Object.prototype.hasOwnProperty.call(r.data, "inputNum")) { + inputNum = r.data.inputNum; + } + + const currentWorker = this.getChefWorker(inputNum); + + switch (r.action) { + case "bakeComplete": + log.debug(`Bake ${inputNum} complete.`); + + if (r.data.error) { + this.app.handleError(r.data.error); + this.manager.output.updateOutputError(r.data.error, inputNum, r.data.progress); + } else { + this.updateOutput(r.data, r.data.inputNum, r.data.bakeId, r.data.progress); + } + + this.app.progress = r.data.progress; + + if (r.data.progress === this.recipeConfig.length) { + this.step = false; + } + + this.workerFinished(currentWorker); + break; + case "bakeError": + this.app.handleError(r.data.error); + this.manager.output.updateOutputError(r.data.error, inputNum, r.data.progress); + this.app.progress = r.data.progress; + this.workerFinished(currentWorker); + break; + case "dishReturned": + this.callbacks[r.data.id](r.data); + break; + case "silentBakeComplete": + break; + case "workerLoaded": + this.app.workerLoaded = true; + log.debug("ChefWorker loaded."); + if (!this.loaded) { + this.app.loaded(); + this.loaded = true; + } else { + this.bakeNextInput(this.getInactiveChefWorker(false)); + } + break; + case "statusMessage": + this.manager.output.updateOutputMessage(r.data.message, r.data.inputNum, true); + break; + case "progressMessage": + this.manager.output.updateOutputProgress(r.data.progress, r.data.total, r.data.inputNum); + break; + case "optionUpdate": + log.debug(`Setting ${r.data.option} to ${r.data.value}`); + this.app.options[r.data.option] = r.data.value; + break; + case "setRegisters": + this.manager.recipe.setRegisters(r.data.opIndex, r.data.numPrevRegisters, r.data.registers); + break; + case "highlightsCalculated": + this.manager.highlighter.displayHighlights(r.data.pos, r.data.direction); + break; + default: + log.error("Unrecognised message from ChefWorker", e); + break; + } + } + + /** + * Update the value of an output + * + * @param {Object} data + * @param {number} inputNum + * @param {number} bakeId + * @param {number} progress + */ + updateOutput(data, inputNum, bakeId, progress) { + this.manager.output.updateOutputBakeId(bakeId, inputNum); + if (progress === this.recipeConfig.length) { + progress = false; + } + this.manager.output.updateOutputProgress(progress, this.recipeConfig.length, inputNum); + this.manager.output.updateOutputValue(data, inputNum, false); + + if (progress !== false) { + this.manager.output.updateOutputStatus("error", inputNum); + + if (inputNum === this.manager.tabs.getActiveInputTab()) { + this.manager.recipe.updateBreakpointIndicator(progress); + } + + } else { + this.manager.output.updateOutputStatus("baked", inputNum); + } + } + + /** + * Updates the UI to show if baking is in progress or not. + * + * @param {boolean} bakingStatus + */ + setBakingStatus(bakingStatus) { + this.app.baking = bakingStatus; + debounce(this.manager.controls.toggleBakeButtonFunction, 20, "toggleBakeButton", this, [bakingStatus ? "cancel" : "bake"])(); + + if (bakingStatus) this.manager.output.hideMagicButton(); + } + + /** + * Get the progress of the ChefWorkers + */ + getBakeProgress() { + const pendingInputs = this.inputNums.length + this.loadingOutputs + this.inputs.length; + let bakingInputs = 0; + + for (let i = 0; i < this.chefWorkers.length; i++) { + if (this.chefWorkers[i].active) { + bakingInputs++; + } + } + + const total = this.totalOutputs; + const bakedInputs = total - pendingInputs - bakingInputs; + + return { + total: total, + pending: pendingInputs, + baking: bakingInputs, + baked: bakedInputs + }; + } + + /** + * Cancels the current bake by terminating and removing all ChefWorkers + * + * @param {boolean} [silent=false] - If true, don't set the output + * @param {boolean} killAll - If true, kills all chefWorkers regardless of status + */ + cancelBake(silent, killAll) { + for (let i = this.chefWorkers.length - 1; i >= 0; i--) { + if (this.chefWorkers[i].active || killAll) { + const inputNum = this.chefWorkers[i].inputNum; + this.removeChefWorker(this.chefWorkers[i]); + this.manager.output.updateOutputStatus("inactive", inputNum); + } + } + this.setBakingStatus(false); + + for (let i = 0; i < this.inputs.length; i++) { + this.manager.output.updateOutputStatus("inactive", this.inputs[i].inputNum); + } + + for (let i = 0; i < this.inputNums.length; i++) { + this.manager.output.updateOutputStatus("inactive", this.inputNums[i]); + } + + const tabList = this.manager.tabs.getOutputTabList(); + for (let i = 0; i < tabList.length; i++) { + this.manager.tabs.getOutputTabItem(tabList[i]).style.background = ""; + } + + this.inputs = []; + this.inputNums = []; + this.totalOutputs = 0; + this.loadingOutputs = 0; + if (!silent) this.manager.output.set(this.manager.tabs.getActiveOutputTab()); + } + + /** + * Handle a worker completing baking + * + * @param {object} workerObj - Object containing the worker information + * @param {ChefWorker} workerObj.worker - The actual worker object + * @param {number} workerObj.inputNum - The inputNum of the input being baked by the worker + * @param {boolean} workerObj.active - If true, the worker is currently baking an input + */ + workerFinished(workerObj) { + const workerIdx = this.chefWorkers.indexOf(workerObj); + this.chefWorkers[workerIdx].active = false; + if (this.inputs.length > 0) { + this.bakeNextInput(workerIdx); + } else if (this.inputNums.length === 0 && this.loadingOutputs === 0) { + // The ChefWorker is no longer needed + log.debug("No more inputs to bake."); + const progress = this.getBakeProgress(); + if (progress.total === progress.baked) { + this.bakingComplete(); + } + } + } + + /** + * Handler for completed bakes + */ + bakingComplete() { + this.setBakingStatus(false); + let duration = new Date().getTime() - this.bakeStartTime; + duration = duration.toLocaleString() + "ms"; + const progress = this.getBakeProgress(); + + if (progress.total > 1) { + let width = progress.total.toLocaleString().length; + if (duration.length > width) { + width = duration.length; + } + width = width < 2 ? 2 : width; + + const totalStr = progress.total.toLocaleString().padStart(width, " ").replace(/ /g, " "); + const durationStr = duration.padStart(width, " ").replace(/ /g, " "); + + const inputNums = Object.keys(this.manager.output.outputs); + let avgTime = 0, + numOutputs = 0; + for (let i = 0; i < inputNums.length; i++) { + const output = this.manager.output.outputs[inputNums[i]]; + if (output.status === "baked") { + numOutputs++; + avgTime += output.data.duration; + } + } + avgTime = Math.round(avgTime / numOutputs).toLocaleString() + "ms"; + avgTime = avgTime.padStart(width, " ").replace(/ /g, " "); + + const msg = `total: ${totalStr}
      time: ${durationStr}
      average: ${avgTime}`; + + const bakeInfo = document.getElementById("bake-info"); + bakeInfo.innerHTML = msg; + bakeInfo.style.display = ""; + } else { + document.getElementById("bake-info").style.display = "none"; + } + + document.getElementById("bake").style.background = ""; + this.totalOutputs = 0; // Reset for next time + log.debug("--- Bake complete ---"); + } + + /** + * Bakes the next input and tells the inputWorker to load the next input + * + * @param {number} workerIdx - The index of the worker to bake with + */ + bakeNextInput(workerIdx) { + if (this.inputs.length === 0) return; + if (workerIdx === -1) return; + if (!this.chefWorkers[workerIdx]) return; + this.chefWorkers[workerIdx].active = true; + const nextInput = this.inputs.splice(0, 1)[0]; + if (typeof nextInput.inputNum === "string") nextInput.inputNum = parseInt(nextInput.inputNum, 10); + + log.debug(`Baking input ${nextInput.inputNum}.`); + this.manager.output.updateOutputMessage(`Baking input ${nextInput.inputNum}...`, nextInput.inputNum, false); + this.manager.output.updateOutputStatus("baking", nextInput.inputNum); + + this.chefWorkers[workerIdx].inputNum = nextInput.inputNum; + const input = nextInput.input, + recipeConfig = this.recipeConfig; + + if (this.step) { + // Remove all breakpoints from the recipe up to progress + if (nextInput.progress !== false) { + for (let i = 0; i < nextInput.progress; i++) { + if ("breakpoint" in recipeConfig[i]) { + delete recipeConfig[i].breakpoint; + } + } + } + + // Set a breakpoint at the next operation so we stop baking there + if (recipeConfig[this.app.progress]) recipeConfig[this.app.progress].breakpoint = true; + } + + let transferable; + if (input instanceof ArrayBuffer || ArrayBuffer.isView(input)) { + transferable = [input]; + } + this.chefWorkers[workerIdx].worker.postMessage({ + action: "bake", + data: { + input: input, + recipeConfig: recipeConfig, + options: this.options, + inputNum: nextInput.inputNum, + bakeId: this.bakeId + } + }, transferable); + + if (this.inputNums.length > 0) { + this.manager.input.inputWorker.postMessage({ + action: "bakeNext", + data: { + inputNum: this.inputNums.splice(0, 1)[0], + bakeId: this.bakeId + } + }); + this.loadingOutputs++; + } + } + + /** + * Bakes the current input using the current recipe. + * + * @param {Object[]} recipeConfig + * @param {Object} options + * @param {number} progress + * @param {boolean} step + */ + bake(recipeConfig, options, progress, step) { + this.setBakingStatus(true); + this.manager.recipe.updateBreakpointIndicator(false); + this.bakeStartTime = new Date().getTime(); + this.bakeId++; + this.recipeConfig = recipeConfig; + this.options = options; + this.progress = progress; + this.step = step; + + this.displayProgress(); + } + + /** + * Queues an input ready to be baked + * + * @param {object} inputData + * @param {string | ArrayBuffer} inputData.input + * @param {number} inputData.inputNum + * @param {number} inputData.bakeId + */ + queueInput(inputData) { + this.loadingOutputs--; + if (this.app.baking && inputData.bakeId === this.bakeId) { + this.inputs.push(inputData); + this.bakeNextInput(this.getInactiveChefWorker(true)); + } + } + + /** + * Handles if an error is thrown by QueueInput + * + * @param {object} inputData + * @param {number} inputData.inputNum + * @param {number} inputData.bakeId + */ + queueInputError(inputData) { + this.loadingOutputs--; + if (this.app.baking && inputData.bakeId === this.bakeId) { + this.manager.output.updateOutputError("Error queueing the input for a bake.", inputData.inputNum, 0); + + if (this.inputNums.length === 0) return; + + // Load the next input + this.manager.input.inputWorker.postMessage({ + action: "bakeNext", + data: { + inputNum: this.inputNums.splice(0, 1)[0], + bakeId: this.bakeId + } + }); + this.loadingOutputs++; + + } + } + + /** + * Queues a list of inputNums to be baked by ChefWorkers, and begins baking + * + * @param {object} inputData + * @param {number[]} inputData.nums - The inputNums to be queued for baking + * @param {boolean} inputData.step - If true, only execute the next operation in the recipe + * @param {number} inputData.progress - The current progress through the recipe. Used when stepping + */ + async bakeAllInputs(inputData) { + return await new Promise(resolve => { + if (this.app.baking) return; + const inputNums = inputData.nums; + const step = inputData.step; + + // Use cancelBake to clear out the inputs + this.cancelBake(true, false); + + this.inputNums = inputNums; + this.totalOutputs = inputNums.length; + this.app.progress = inputData.progress; + + let inactiveWorkers = 0; + for (let i = 0; i < this.chefWorkers.length; i++) { + if (!this.chefWorkers[i].active) { + inactiveWorkers++; + } + } + + for (let i = 0; i < inputNums.length - inactiveWorkers; i++) { + if (this.addChefWorker() === -1) break; + } + + this.app.bake(step); + + for (let i = 0; i < this.inputNums.length; i++) { + this.manager.output.updateOutputMessage(`Input ${inputNums[i]} has not been baked yet.`, inputNums[i], false); + this.manager.output.updateOutputStatus("pending", inputNums[i]); + } + + let numBakes = this.chefWorkers.length; + if (this.inputNums.length < numBakes) { + numBakes = this.inputNums.length; + } + for (let i = 0; i < numBakes; i++) { + this.manager.input.inputWorker.postMessage({ + action: "bakeNext", + data: { + inputNum: this.inputNums.splice(0, 1)[0], + bakeId: this.bakeId + } + }); + this.loadingOutputs++; + } + }); + } + + /** + * Asks the ChefWorker to run a silent bake, forcing the browser to load and cache all the relevant + * JavaScript code needed to do a real bake. + * + * @param {Object[]} [recipeConfig] + */ + silentBake(recipeConfig) { + // If there aren't any active ChefWorkers, try to add one + let workerId = this.getInactiveChefWorker(); + if (workerId === -1) { + workerId = this.addChefWorker(); + } + if (workerId === -1) return; + this.chefWorkers[workerId].worker.postMessage({ + action: "silentBake", + data: { + recipeConfig: recipeConfig + } + }); + } + + /** + * Handler for messages sent back from DishWorker + * + * @param {MessageEvent} e + */ + handleDishMessage(e) { + const r = e.data; + log.debug(`Receiving ${r.action} from DishWorker`); + + switch (r.action) { + case "dishReturned": + this.dishWorker.currentAction = ""; + this.callbacks[r.data.id](r.data); + + if (this.dishWorkerQueue.length > 0) { + this.postDishMessage(this.dishWorkerQueue.splice(0, 1)[0]); + } + + break; + default: + log.error("Unrecognised message from DishWorker", e); + break; + } + } + + /** + * Asks the ChefWorker to return the dish as the specified type + * + * @param {Dish} dish + * @param {string} type + * @param {Function} callback + */ + getDishAs(dish, type, callback) { + const id = this.callbackID++; + + this.callbacks[id] = callback; + + if (this.dishWorker.worker === null) this.setupDishWorker(); + this.postDishMessage({ + action: "getDishAs", + data: { + dish: dish, + type: type, + id: id + } + }); + } + + /** + * Asks the ChefWorker to get the title of the dish + * + * @param {Dish} dish + * @param {number} maxLength + * @param {Function} callback + * @returns {string} + */ + getDishTitle(dish, maxLength, callback) { + const id = this.callbackID++; + + this.callbacks[id] = callback; + + if (this.dishWorker.worker === null) this.setupDishWorker(); + + this.postDishMessage({ + action: "getDishTitle", + data: { + dish: dish, + maxLength: maxLength, + id: id + } + }); + } + + /** + * Queues a message to be sent to the dishWorker + * + * @param {object} message + * @param {string} message.action + * @param {object} message.data + * @param {Dish} message.data.dish + * @param {number} message.data.id + */ + queueDishMessage(message) { + if (message.action === "getDishAs") { + this.dishWorkerQueue = [message].concat(this.dishWorkerQueue); + } else { + this.dishWorkerQueue.push(message); + } + } + + /** + * Sends a message to the DishWorker + * + * @param {object} message + * @param {string} message.action + * @param {object} message.data + */ + postDishMessage(message) { + if (this.dishWorker.currentAction !== "") { + this.queueDishMessage(message); + } else { + this.dishWorker.currentAction = message.action; + this.dishWorker.worker.postMessage(message); + } + } + + /** + * Sets the console log level in the workers. + */ + setLogLevel() { + for (let i = 0; i < this.chefWorkers.length; i++) { + this.chefWorkers[i].worker.postMessage({ + action: "setLogLevel", + data: log.getLevel() + }); + } + } + + /** + * Display the bake progress in the output bar and bake button + */ + displayProgress() { + const progress = this.getBakeProgress(); + if (progress.total === progress.baked) return; + + const percentComplete = ((progress.pending + progress.baking) / progress.total) * 100; + const bakeButton = document.getElementById("bake"); + if (this.app.baking) { + if (percentComplete < 100) { + bakeButton.style.background = `linear-gradient(to left, #fea79a ${percentComplete}%, #f44336 ${percentComplete}%)`; + } else { + bakeButton.style.background = ""; + } + } else { + // not baking + bakeButton.style.background = ""; + } + + const bakeInfo = document.getElementById("bake-info"); + if (progress.total > 1) { + let width = progress.total.toLocaleString().length; + width = width < 2 ? 2 : width; + + const totalStr = progress.total.toLocaleString().padStart(width, " ").replace(/ /g, " "); + const bakedStr = progress.baked.toLocaleString().padStart(width, " ").replace(/ /g, " "); + const pendingStr = progress.pending.toLocaleString().padStart(width, " ").replace(/ /g, " "); + const bakingStr = progress.baking.toLocaleString().padStart(width, " ").replace(/ /g, " "); + + let msg = "total: " + totalStr; + msg += "
      baked: " + bakedStr; + + if (progress.pending > 0) { + msg += "
      pending: " + pendingStr; + } else if (progress.baking > 0) { + msg += "
      baking: " + bakingStr; + } + bakeInfo.innerHTML = msg; + bakeInfo.style.display = ""; + } else { + bakeInfo.style.display = "none"; + } + + if (progress.total !== progress.baked) { + setTimeout(function() { + this.displayProgress(); + }.bind(this), 100); + } + + } + + /** + * Asks the ChefWorker to calculate highlight offsets if possible. + * + * @param {Object[]} recipeConfig + * @param {string} direction + * @param {Object} pos - The position object for the highlight. + * @param {number} pos.start - The start offset. + * @param {number} pos.end - The end offset. + */ + highlight(recipeConfig, direction, pos) { + let workerIdx = this.getInactiveChefWorker(false); + if (workerIdx === -1) { + workerIdx = this.addChefWorker(); + } + if (workerIdx === -1) return; + this.chefWorkers[workerIdx].worker.postMessage({ + action: "highlight", + data: { + recipeConfig: recipeConfig, + direction: direction, + pos: pos + } + }); + } +} + +export default WorkerWaiter; diff --git a/src/web/workers/DishWorker.mjs b/src/web/workers/DishWorker.mjs new file mode 100644 index 00000000..a171fdad --- /dev/null +++ b/src/web/workers/DishWorker.mjs @@ -0,0 +1,69 @@ +/** + * Web worker to handle dish conversion operations. + * + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Dish from "../../core/Dish.mjs"; + +self.addEventListener("message", function(e) { + // Handle message from the main thread + const r = e.data; + log.debug(`DishWorker receiving command '${r.action}'`); + + switch (r.action) { + case "getDishAs": + getDishAs(r.data); + break; + case "getDishTitle": + getDishTitle(r.data); + break; + default: + log.error(`DishWorker sent invalid action: '${r.action}'`); + } +}); + +/** + * Translates the dish to a given type + * + * @param {object} data + * @param {Dish} data.dish + * @param {string} data.type + * @param {number} data.id + */ +async function getDishAs(data) { + const newDish = new Dish(data.dish), + value = await newDish.get(data.type), + transferable = (data.type === "ArrayBuffer") ? [value] : undefined; + + self.postMessage({ + action: "dishReturned", + data: { + value: value, + id: data.id + } + }, transferable); +} + +/** + * Gets the title of the given dish + * + * @param {object} data + * @param {Dish} data.dish + * @param {number} data.id + * @param {number} data.maxLength + */ +async function getDishTitle(data) { + const newDish = new Dish(data.dish), + title = await newDish.getTitle(data.maxLength); + + self.postMessage({ + action: "dishReturned", + data: { + value: title, + id: data.id + } + }); +} diff --git a/src/web/workers/InputWorker.mjs b/src/web/workers/InputWorker.mjs new file mode 100644 index 00000000..9912995b --- /dev/null +++ b/src/web/workers/InputWorker.mjs @@ -0,0 +1,1081 @@ +/** + * Web worker to handle the inputs. + * Handles storage, modification and retrieval of the inputs. + * + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import Utils from "../../core/Utils.mjs"; +import {detectFileType} from "../../core/lib/FileType.mjs"; + +// Default max values +// These will be correctly calculated automatically +self.maxWorkers = 4; +self.maxTabs = 1; + +self.pendingFiles = []; +self.inputs = {}; +self.loaderWorkers = []; +self.currentInputNum = 1; +self.numInputs = 0; +self.pendingInputs = 0; +self.loadingInputs = 0; + +/** + * Respond to message from parent thread. + * + * @param {MessageEvent} e + */ +self.addEventListener("message", function(e) { + const r = e.data; + if (!("action" in r)) { + log.error("No action"); + return; + } + + log.debug(`Receiving ${r.action} from InputWaiter.`); + + switch (r.action) { + case "loadUIFiles": + self.loadFiles(r.data); + break; + case "loaderWorkerReady": + self.loaderWorkerReady(r.data); + break; + case "updateMaxWorkers": + self.maxWorkers = r.data; + break; + case "updateMaxTabs": + self.updateMaxTabs(r.data.maxTabs, r.data.activeTab); + break; + case "updateInputValue": + self.updateInputValue(r.data); + break; + case "updateInputObj": + self.updateInputObj(r.data); + break; + case "updateInputProgress": + self.updateInputProgress(r.data); + break; + case "bakeAll": + self.bakeAllInputs(); + break; + case "bakeNext": + self.bakeInput(r.data.inputNum, r.data.bakeId); + break; + case "getLoadProgress": + self.getLoadProgress(r.data); + break; + case "setInput": + self.setInput(r.data); + break; + case "setLogLevel": + log.setLevel(r.data, false); + break; + case "addInput": + self.addInput(r.data, "string"); + break; + case "refreshTabs": + self.refreshTabs(r.data.inputNum, r.data.direction); + break; + case "removeInput": + self.removeInput(r.data); + break; + case "changeTabRight": + self.changeTabRight(r.data.activeTab); + break; + case "changeTabLeft": + self.changeTabLeft(r.data.activeTab); + break; + case "autobake": + self.autoBake(r.data.activeTab, 0, false); + break; + case "filterTabs": + self.filterTabs(r.data); + break; + case "loaderWorkerMessage": + self.handleLoaderMessage(r.data); + break; + case "inputSwitch": + self.inputSwitch(r.data); + break; + case "updateTabHeader": + self.updateTabHeader(r.data); + break; + case "step": + self.autoBake(r.data.activeTab, r.data.progress, true); + break; + case "getInput": + self.getInput(r.data); + break; + case "getInputNums": + self.getInputNums(r.data); + break; + default: + log.error(`Unknown action '${r.action}'.`); + } +}); + +/** + * Gets the load progress of the input files, and the + * load progress for the input given in inputNum + * + * @param {number} inputNum - The input to get the file loading progress for + */ +self.getLoadProgress = function(inputNum) { + const total = self.numInputs; + const pending = self.pendingFiles.length; + const loading = self.loadingInputs; + const loaded = total - pending - loading; + + self.postMessage({ + action: "loadingInfo", + data: { + pending: pending, + loading: loading, + loaded: loaded, + total: total, + activeProgress: { + inputNum: inputNum, + progress: self.getInputProgress(inputNum) + } + } + }); +}; + +/** + * Fired when an autobake is initiated. + * Queues the active input and sends a bake command. + * + * @param {number} inputNum - The input to be baked + * @param {number} progress - The current progress of the bake through the recipe + * @param {boolean} [step=false] - Set to true if we should only execute one operation instead of the + * whole recipe + */ +self.autoBake = function(inputNum, progress, step=false) { + const input = self.getInputObj(inputNum); + if (input) { + self.postMessage({ + action: "bakeAllInputs", + data: { + nums: [parseInt(inputNum, 10)], + step: step, + progress: progress + } + }); + } +}; + +/** + * Fired when we want to bake all inputs (bake button clicked) + * Sends a list of inputNums to the workerwaiter + */ +self.bakeAllInputs = function() { + const inputNums = Object.keys(self.inputs), + nums = []; + + for (let i = 0; i < inputNums.length; i++) { + if (self.inputs[inputNums[i]].status === "loaded") { + nums.push(parseInt(inputNums[i], 10)); + } + } + self.postMessage({ + action: "bakeAllInputs", + data: { + nums: nums, + step: false, + progress: 0 + } + }); +}; + +/** + * Gets the data for the provided inputNum and sends it to the WorkerWaiter + * + * @param {number} inputNum + * @param {number} bakeId + */ +self.bakeInput = function(inputNum, bakeId) { + const inputObj = self.getInputObj(inputNum); + if (inputObj === null || + inputObj === undefined || + inputObj.status !== "loaded") { + + self.postMessage({ + action: "queueInputError", + data: { + inputNum: inputNum, + bakeId: bakeId + } + }); + return; + } + + let inputData = inputObj.data; + if (typeof inputData !== "string") inputData = inputData.fileBuffer; + + self.postMessage({ + action: "queueInput", + data: { + input: inputData, + inputNum: inputNum, + bakeId: bakeId + } + }); +}; + +/** + * Gets the stored object for a specific inputNum + * + * @param {number} inputNum - The input we want to get the object for + * @returns {object} + */ +self.getInputObj = function(inputNum) { + return self.inputs[inputNum]; +}; + +/** + * Gets the stored value for a specific inputNum. + * + * @param {number} inputNum - The input we want to get the value of + * @returns {string | ArrayBuffer} + */ +self.getInputValue = function(inputNum) { + if (self.inputs[inputNum]) { + if (typeof self.inputs[inputNum].data === "string") { + return self.inputs[inputNum].data; + } else { + return self.inputs[inputNum].data.fileBuffer; + } + } + return ""; +}; + +/** + * Gets the stored value or object for a specific inputNum and sends it to the inputWaiter. + * + * @param {object} inputData - Object containing data about the input to retrieve + * @param {number} inputData.inputNum - The inputNum of the input to get + * @param {boolean} inputData.getObj - If true, returns the entire input object instead of just the value + * @param {number} inputData.id - The callback ID for the callback to run when returned to the inputWaiter + */ +self.getInput = function(inputData) { + const inputNum = inputData.inputNum, + data = (inputData.getObj) ? self.getInputObj(inputNum) : self.getInputValue(inputNum); + self.postMessage({ + action: "getInput", + data: { + data: data, + id: inputData.id + } + }); +}; + +/** + * Gets a list of the stored inputNums, along with the minimum and maximum + * + * @param {number} id - The callback ID to be executed when returned to the inputWaiter + */ +self.getInputNums = function(id) { + const inputNums = Object.keys(self.inputs), + min = self.getSmallestInputNum(inputNums), + max = self.getLargestInputNum(inputNums); + + self.postMessage({ + action: "getInputNums", + data: { + inputNums: inputNums, + min: min, + max: max, + id: id + } + }); +}; + +/** + * Gets the load progress for a specific inputNum + * + * @param {number} inputNum - The input we want to get the progress of + * @returns {number | string} - Returns "error" if there was a load error + */ +self.getInputProgress = function(inputNum) { + const inputObj = self.getInputObj(inputNum); + if (inputObj === undefined || inputObj === null) return; + if (inputObj.status === "error") { + return "error"; + } + return inputObj.progress; +}; + +/** + * Gets the largest inputNum of all the inputs + * + * @param {string[]} inputNums - The numbers to find the largest of + * @returns {number} + */ +self.getLargestInputNum = function(inputNums) { + return inputNums.reduce((acc, val) => { + val = parseInt(val, 10); + return val > acc ? val : acc; + }, -1); +}; + +/** + * Gets the smallest inputNum of all the inputs + * + * @param {string[]} inputNums - The numbers to find the smallest of + * @returns {number} + */ +self.getSmallestInputNum = function(inputNums) { + const min = inputNums.reduce((acc, val) => { + val = parseInt(val, 10); + return val < acc ? val : acc; + }, Number.MAX_SAFE_INTEGER); + + // Assume we don't have this many tabs! + if (min === Number.MAX_SAFE_INTEGER) return -1; + + return min; +}; + +/** + * Gets the next smallest inputNum + * + * @param {number} inputNum - The current input number + * @returns {number} + */ +self.getPreviousInputNum = function(inputNum) { + const inputNums = Object.keys(self.inputs); + if (inputNums.length === 0) return -1; + + return inputNums.reduce((acc, val) => { + val = parseInt(val, 10); + return (val < inputNum && val > acc) ? val : acc; + }, self.getSmallestInputNum(inputNums)); +}; + +/** + * Gets the next largest inputNum + * + * @param {number} inputNum - The current input number + * @returns {number} + */ +self.getNextInputNum = function(inputNum) { + const inputNums = Object.keys(self.inputs); + + return inputNums.reduce((acc, val) => { + val = parseInt(val, 10); + return (val > inputNum && val < acc) ? val : acc; + }, self.getLargestInputNum(inputNums)); +}; + +/** + * Gets a list of inputNums starting from the provided inputNum. + * If direction is "left", gets the inputNums higher than the provided number. + * If direction is "right", gets the inputNums lower than the provided number. + * @param {number} inputNum - The inputNum we want to get the neighbours of + * @param {string} direction - Either "left" or "right". Determines which direction we search for nearby numbers in + * @returns {number[]} + */ +self.getNearbyNums = function(inputNum, direction) { + const nums = []; + for (let i = 0; i < self.maxTabs; i++) { + let newNum; + if (i === 0 && self.inputs[inputNum] !== undefined) { + newNum = inputNum; + } else { + switch (direction) { + case "left": + newNum = self.getNextInputNum(nums[i - 1]); + if (newNum === nums[i - 1]) { + direction = "right"; + newNum = self.getPreviousInputNum(nums[0]); + } + break; + case "right": + newNum = self.getPreviousInputNum(nums[i - 1]); + if (newNum === nums[i - 1]) { + direction = "left"; + newNum = self.getNextInputNum(nums[0]); + } + } + } + if (!nums.includes(newNum) && (newNum > 0)) { + nums.push(newNum); + } + } + nums.sort(function(a, b) { + return a - b; + }); + return nums; +}; + +/** + * Gets the data to display in the tab header for an input, and + * posts it back to the inputWaiter + * + * @param {number} inputNum - The inputNum of the tab header + */ +self.updateTabHeader = function(inputNum) { + const input = self.getInputObj(inputNum); + if (input === null || input === undefined) return; + let inputData = input.data; + if (typeof inputData !== "string") { + inputData = input.data.name; + } + inputData = inputData.replace(/[\n\r]/g, ""); + + self.postMessage({ + action: "updateTabHeader", + data: { + inputNum: inputNum, + input: inputData.slice(0, 100) + } + }); +}; + +/** + * Gets the input for a specific inputNum, and posts it to the inputWaiter + * so that it can be displayed in the input area + * + * @param {object} inputData + * @param {number} inputData.inputNum - The input to get the data for + * @param {boolean} inputData.silent - If false, the manager statechange event will be fired + */ +self.setInput = function(inputData) { + const inputNum = inputData.inputNum; + const silent = inputData.silent; + const input = self.getInputObj(inputNum); + if (input === undefined || input === null) return; + + let inputVal = input.data; + const inputObj = { + inputNum: inputNum, + input: inputVal + }; + if (typeof inputVal !== "string") { + inputObj.name = inputVal.name; + inputObj.size = inputVal.size; + inputObj.type = inputVal.type; + inputObj.progress = input.progress; + inputObj.status = input.status; + inputVal = inputVal.fileBuffer; + const fileSlice = inputVal.slice(0, 512001); + inputObj.input = fileSlice; + + self.postMessage({ + action: "setInput", + data: { + inputObj: inputObj, + silent: silent + } + }, [fileSlice]); + } else { + self.postMessage({ + action: "setInput", + data: { + inputObj: inputObj, + silent: silent + } + }); + } + self.updateTabHeader(inputNum); +}; + +/** + * Gets the nearby inputNums to the provided number, and posts them + * to the inputWaiter to be displayed on the page. + * + * @param {number} inputNum - The inputNum to find the nearby numbers for + * @param {string} direction - The direction to search for inputNums in. Either "left" or "right" + */ +self.refreshTabs = function(inputNum, direction) { + const nums = self.getNearbyNums(inputNum, direction), + inputNums = Object.keys(self.inputs), + tabsLeft = (self.getSmallestInputNum(inputNums) !== nums[0] && nums.length > 0), + tabsRight = (self.getLargestInputNum(inputNums) !== nums[nums.length - 1] && nums.length > 0); + + self.postMessage({ + action: "refreshTabs", + data: { + nums: nums, + activeTab: (nums.includes(inputNum)) ? inputNum : self.getNextInputNum(inputNum), + tabsLeft: tabsLeft, + tabsRight: tabsRight + } + }); + + // Update the tab headers for the new tabs + for (let i = 0; i < nums.length; i++) { + self.updateTabHeader(nums[i]); + } +}; + +/** + * Update the stored status for an input + * + * @param {number} inputNum - The input that's having its status changed + * @param {string} status - The status of the input + */ +self.updateInputStatus = function(inputNum, status) { + if (self.inputs[inputNum] !== undefined) { + self.inputs[inputNum].status = status; + } +}; + +/** + * Update the stored load progress of an input + * + * @param {object} inputData + * @param {number} inputData.inputNum - The input that's having its progress updated + * @param {number} inputData.progress - The load progress of the input + */ +self.updateInputProgress = function(inputData) { + const inputNum = inputData.inputNum; + const progress = inputData.progress; + + if (self.inputs[inputNum] !== undefined) { + self.inputs[inputNum].progress = progress; + } +}; + +/** + * Update the stored value of an input. + * + * @param {object} inputData + * @param {number} inputData.inputNum - The input that's having its value updated + * @param {string | ArrayBuffer} inputData.value - The new value of the input + * @param {boolean} inputData.force - If true, still updates the input value if the input type is different to the stored value + */ +self.updateInputValue = function(inputData) { + const inputNum = inputData.inputNum; + if (inputNum < 1) return; + if (Object.prototype.hasOwnProperty.call(self.inputs[inputNum].data, "fileBuffer") && + typeof inputData.value === "string" && !inputData.force) return; + const value = inputData.value; + if (self.inputs[inputNum] !== undefined) { + if (typeof value === "string") { + self.inputs[inputNum].data = value; + } else { + self.inputs[inputNum].data.fileBuffer = value; + } + self.inputs[inputNum].status = "loaded"; + self.inputs[inputNum].progress = 100; + return; + } + + // If we get to here, an input for inputNum could not be found, + // so create a new one. Only do this if the value is a string, as + // loadFiles will create the input object for files + if (typeof value === "string") { + self.inputs.push({ + inputNum: inputNum, + data: value, + status: "loaded", + progress: 100 + }); + } +}; + +/** + * Update the stored data object for an input. + * Used if we need to change a string to an ArrayBuffer + * + * @param {object} inputData + * @param {number} inputData.inputNum - The number of the input we're updating + * @param {object} inputData.data - The new data object for the input + */ +self.updateInputObj = function(inputData) { + const inputNum = inputData.inputNum; + const data = inputData.data; + + if (self.getInputObj(inputNum) === undefined) return; + + self.inputs[inputNum].data = data; +}; + +/** + * Get the index of a loader worker object. + * Returns -1 if the worker could not be found + * + * @param {number} workerId - The ID of the worker we're searching for + * @returns {number} + */ +self.getLoaderWorkerIdx = function(workerId) { + for (let i = 0; i < self.loaderWorkers.length; i++) { + if (self.loaderWorkers[i].id === workerId) { + return i; + } + } + return -1; +}; + +/** + * Fires when a loaderWorker is ready to load files. + * Stores data about the new loaderWorker in the loaderWorkers array, + * and sends the next file to the loaderWorker to be loaded. + * + * @param {object} workerData + * @param {number} workerData.id - The ID of the new loaderWorker + */ +self.loaderWorkerReady = function(workerData) { + const newWorkerObj = { + id: workerData.id, + inputNum: -1, + active: true + }; + self.loaderWorkers.push(newWorkerObj); + self.loadNextFile(self.loaderWorkers.indexOf(newWorkerObj)); +}; + +/** + * Handler for messages sent by loaderWorkers. + * (Messages are sent between the inputWorker and + * loaderWorkers via the main thread) + * + * @param {object} r - The data sent by the loaderWorker + * @param {number} r.inputNum - The inputNum which the message corresponds to + * @param {string} r.error - Present if an error is fired by the loaderWorker. Contains the error message string. + * @param {ArrayBuffer} r.fileBuffer - Present if a file has finished loading. Contains the loaded file buffer. + */ +self.handleLoaderMessage = function(r) { + let inputNum = 0; + + if ("inputNum" in r) { + inputNum = r.inputNum; + } + + if ("error" in r) { + self.updateInputProgress(r.inputNum, 0); + self.updateInputStatus(r.inputNum, "error"); + + log.error(r.error); + self.loadingInputs--; + + self.terminateLoaderWorker(r.id); + self.activateLoaderWorker(); + + self.setInput({inputNum: inputNum, silent: true}); + return; + } + + if ("fileBuffer" in r) { + log.debug(`Input file ${inputNum} loaded.`); + self.loadingInputs--; + + self.updateInputValue({ + inputNum: inputNum, + value: r.fileBuffer + }); + + self.postMessage({ + action: "fileLoaded", + data: { + inputNum: inputNum + } + }); + + const idx = self.getLoaderWorkerIdx(r.id); + self.loadNextFile(idx); + } else if ("progress" in r) { + self.updateInputProgress(r); + } +}; + +/** + * Loads the next file using a loaderWorker + * + * @param {number} - The loaderWorker which will load the file + */ +self.loadNextFile = function(workerIdx) { + if (workerIdx === -1) return; + const id = self.loaderWorkers[workerIdx].id; + if (self.pendingFiles.length === 0) { + const workerObj = self.loaderWorkers.splice(workerIdx, 1)[0]; + self.terminateLoaderWorker(workerObj.id); + return; + } + + const nextFile = self.pendingFiles.splice(0, 1)[0]; + self.loaderWorkers[workerIdx].inputNum = nextFile.inputNum; + self.loadingInputs++; + self.postMessage({ + action: "loadInput", + data: { + file: nextFile.file, + inputNum: nextFile.inputNum, + workerId: id + } + }); +}; + +/** + * Sends a message to the inputWaiter to create a new loaderWorker. + * If there's an inactive loaderWorker that already exists, use that instead. + */ +self.activateLoaderWorker = function() { + for (let i = 0; i < self.loaderWorkers.length; i++) { + if (!self.loaderWorkers[i].active) { + self.loaderWorkers[i].active = true; + self.loadNextFile(i); + return; + } + } + self.postMessage({ + action: "activateLoaderWorker" + }); +}; + +/** + * Sends a message to the inputWaiter to terminate a loaderWorker. + * + * @param {number} id - The ID of the worker to be terminated + */ +self.terminateLoaderWorker = function(id) { + self.postMessage({ + action: "terminateLoaderWorker", + data: id + }); + // If we still have pending files, spawn a worker + if (self.pendingFiles.length > 0) { + self.activateLoaderWorker(); + } +}; + +/** + * Loads files using LoaderWorkers + * + * @param {object} filesData + * @param {FileList} filesData.files - The list of files to be loaded + * @param {number} filesData.activeTab - The active tab in the UI + */ +self.loadFiles = function(filesData) { + const files = filesData.files; + const activeTab = filesData.activeTab; + let lastInputNum = -1; + const inputNums = []; + for (let i = 0; i < files.length; i++) { + if (i === 0 && self.getInputValue(activeTab) === "") { + self.removeInput({ + inputNum: activeTab, + refreshTabs: false, + removeChefWorker: false + }); + lastInputNum = self.addInput(false, "file", { + name: files[i].name, + size: files[i].size.toLocaleString(), + type: files[i].type || "unknown" + }, activeTab); + } else { + lastInputNum = self.addInput(false, "file", { + name: files[i].name, + size: files[i].size.toLocaleString(), + type: files[i].type || "unknown" + }); + } + inputNums.push(lastInputNum); + + self.pendingFiles.push({ + file: files[i], + inputNum: lastInputNum + }); + } + let max = self.maxWorkers; + if (self.pendingFiles.length < self.maxWorkers) max = self.pendingFiles.length; + + // Create loaderWorkers to load the new files + for (let i = 0; i < max; i++) { + self.activateLoaderWorker(); + } + + self.getLoadProgress(); + self.setInput({inputNum: activeTab, silent: true}); +}; + +/** + * Adds an input to the input dictionary + * + * @param {boolean} [changetab=false] - Whether or not to change to the new input + * @param {string} type - Either "string" or "file" + * @param {Object} fileData - Contains information about the file to be added to the input (only used when type is "file") + * @param {string} fileData.name - The filename of the input being added + * @param {number} fileData.size - The file size (in bytes) of the input being added + * @param {string} fileData.type - The MIME type of the input being added + * @param {number} inputNum - Defaults to auto-incrementing self.currentInputNum + */ +self.addInput = function( + changeTab = false, + type, + fileData = { + name: "unknown", + size: "unknown", + type: "unknown" + }, + inputNum = self.currentInputNum++ +) { + self.numInputs++; + const newInputObj = { + inputNum: inputNum + }; + + switch (type) { + case "string": + newInputObj.data = ""; + newInputObj.status = "loaded"; + newInputObj.progress = 100; + break; + case "file": + newInputObj.data = { + fileBuffer: new ArrayBuffer(), + name: fileData.name, + size: fileData.size, + type: fileData.type + }; + newInputObj.status = "pending"; + newInputObj.progress = 0; + break; + default: + log.error(`Invalid type '${type}'.`); + return -1; + } + self.inputs[inputNum] = newInputObj; + + // Tell the inputWaiter we've added an input, so it can create a tab to display it + self.postMessage({ + action: "inputAdded", + data: { + changeTab: changeTab, + inputNum: inputNum + } + }); + + return inputNum; +}; + +/** + * Remove an input from the inputs dictionary + * + * @param {object} removeInputData + * @param {number} removeInputData.inputNum - The number of the input to be removed + * @param {boolean} removeInputData.refreshTabs - If true, refresh the tabs after removing the input + * @param {boolean} removeInputData.removeChefWorker - If true, remove a chefWorker from the WorkerWaiter + */ +self.removeInput = function(removeInputData) { + const inputNum = removeInputData.inputNum; + const refreshTabs = removeInputData.refreshTabs; + self.numInputs--; + + for (let i = 0; i < self.loaderWorkers.length; i++) { + if (self.loaderWorkers[i].inputNum === inputNum) { + // Terminate any loaderWorker that's loading the removed input + self.loadingInputs--; + self.terminateLoaderWorker(self.loaderWorkers[i].id); + break; + } + } + + for (let i = 0; i < self.pendingFiles.length; i++) { + // Remove the input from the pending files list + if (self.pendingFiles[i].inputNum === inputNum) { + self.pendingFiles.splice(i, 1); + break; + } + } + + delete self.inputs[inputNum]; + + if (refreshTabs) { + self.refreshTabs(self.getPreviousInputNum(inputNum), "left"); + } + + if (self.numInputs < self.maxWorkers && removeInputData.removeChefWorker) { + self.postMessage({ + action: "removeChefWorker" + }); + } +}; + +/** + * Change to the next tab. + * + * @param {number} inputNum - The inputNum of the tab to change to + */ +self.changeTabRight = function(inputNum) { + const newInput = self.getNextInputNum(inputNum); + self.postMessage({ + action: "changeTab", + data: newInput + }); +}; + +/** + * Change to the previous tab. + * + * @param {number} inputNum - The inputNum of the tab to change to + */ +self.changeTabLeft = function(inputNum) { + const newInput = self.getPreviousInputNum(inputNum); + self.postMessage({ + action: "changeTab", + data: newInput + }); +}; + +/** + * Updates the maximum number of tabs, and refreshes them if it changes + * + * @param {number} maxTabs - The new max number of tabs + * @param {number} activeTab - The currently selected tab + */ +self.updateMaxTabs = function(maxTabs, activeTab) { + if (self.maxTabs !== maxTabs) { + self.maxTabs = maxTabs; + self.refreshTabs(activeTab, "right"); + } +}; + +/** + * Search the inputs for any that match the filters provided, + * posting the results back to the inputWaiter + * + * @param {object} searchData - Object containing the search filters + * @param {boolean} searchData.showPending - If true, include pending inputs in the results + * @param {boolean} searchData.showLoading - If true, include loading inputs in the results + * @param {boolean} searchData.showLoaded - If true, include loaded inputs in the results + * @param {string} searchData.filter - A regular expression to match the inputs on + * @param {string} searchData.filterType - Either "CONTENT" or "FILENAME". Determines what should be matched with filter + * @param {number} searchData.numResults - The maximum number of results to be returned + */ +self.filterTabs = function(searchData) { + const showPending = searchData.showPending, + showLoading = searchData.showLoading, + showLoaded = searchData.showLoaded, + filterType = searchData.filterType; + + let filterExp; + try { + filterExp = new RegExp(searchData.filter, "i"); + } catch (error) { + self.postMessage({ + action: "filterTabError", + data: error.message + }); + return; + } + const numResults = searchData.numResults; + + const inputs = []; + const inputNums = Object.keys(self.inputs); + for (let i = 0; i < inputNums.length; i++) { + const iNum = inputNums[i]; + let textDisplay = ""; + let addInput = false; + if (self.inputs[iNum].status === "pending" && showPending || + self.inputs[iNum].status === "loading" && showLoading || + self.inputs[iNum].status === "loaded" && showLoaded) { + try { + if (typeof self.inputs[iNum].data === "string") { + if (filterType.toLowerCase() === "content" && + filterExp.test(self.inputs[iNum].data.slice(0, 4096))) { + textDisplay = self.inputs[iNum].data.slice(0, 4096); + addInput = true; + } + } else { + if ((filterType.toLowerCase() === "filename" && + filterExp.test(self.inputs[iNum].data.name)) || + filterType.toLowerCase() === "content" && + filterExp.test(Utils.arrayBufferToStr(self.inputs[iNum].data.fileBuffer.slice(0, 4096)))) { + textDisplay = self.inputs[iNum].data.name; + addInput = true; + } + } + } catch (error) { + self.postMessage({ + action: "filterTabError", + data: error.message + }); + return; + } + } + + if (addInput) { + if (textDisplay === "" || textDisplay === undefined) { + textDisplay = "New Tab"; + } + const inputItem = { + inputNum: iNum, + textDisplay: textDisplay + }; + inputs.push(inputItem); + } + if (inputs.length >= numResults) { + break; + } + } + + // Send the results back to the inputWaiter + self.postMessage({ + action: "displayTabSearchResults", + data: inputs + }); +}; + +/** + * Swaps the input and outputs, and sends the old input back to the main thread. + * + * @param {object} switchData + * @param {number} switchData.inputNum - The inputNum of the input to be switched to + * @param {string | ArrayBuffer} switchData.outputData - The data to switch to + */ +self.inputSwitch = function(switchData) { + const currentInput = self.getInputObj(switchData.inputNum); + const currentData = currentInput.data; + if (currentInput === undefined || currentInput === null) return; + + if (typeof switchData.outputData !== "string") { + const output = new Uint8Array(switchData.outputData), + types = detectFileType(output); + let type = "unknown", + ext = "dat"; + if (types.length) { + type = types[0].mime; + ext = types[0].extension.split(",", 1)[0]; + } + + // ArrayBuffer + self.updateInputObj({ + inputNum: switchData.inputNum, + data: { + fileBuffer: switchData.outputData, + name: `output.${ext}`, + size: switchData.outputData.byteLength.toLocaleString(), + type: type + } + }); + } else { + // String + self.updateInputValue({ + inputNum: switchData.inputNum, + value: switchData.outputData, + force: true + }); + } + + self.postMessage({ + action: "inputSwitch", + data: { + data: currentData, + inputNum: switchData.inputNum + } + }); + + self.postMessage({ + action: "fileLoaded", + data: { + inputNum: switchData.inputNum + } + }); + +}; diff --git a/src/web/workers/LoaderWorker.js b/src/web/workers/LoaderWorker.js new file mode 100755 index 00000000..4c38998e --- /dev/null +++ b/src/web/workers/LoaderWorker.js @@ -0,0 +1,76 @@ +/** + * Web Worker to load large amounts of data without locking up the UI. + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2017 + * @license Apache-2.0 + */ + +self.id = null; + + +self.handleMessage = function(e) { + const r = e.data; + log.debug(`LoaderWorker receiving command '${r.action}'`); + + switch (r.action) { + case "loadInput": + self.loadFile(r.data.file, r.data.inputNum); + break; + } +}; + + +/** + * Respond to message from parent thread. + */ +self.addEventListener("message", function(e) { + const r = e.data; + if (Object.prototype.hasOwnProperty.call(r, "file") && Object.prototype.hasOwnProperty.call(r, "inputNum")) { + self.loadFile(r.file, r.inputNum); + } else if (Object.prototype.hasOwnProperty.call(r, "file")) { + self.loadFile(r.file, ""); + } else if (Object.prototype.hasOwnProperty.call(r, "id")) { + self.id = r.id; + } +}); + + +/** + * Loads a file object into an ArrayBuffer, then transfers it back to the parent thread. + * + * @param {File} file + * @param {string} inputNum + */ +self.loadFile = function(file, inputNum) { + const reader = new FileReader(); + if (file.size >= 256*256*256*128) { + self.postMessage({"error": "File size too large.", "inputNum": inputNum, "id": self.id}); + return; + } + const data = new Uint8Array(file.size); + let offset = 0; + const CHUNK_SIZE = 10485760; // 10MiB + + const seek = function() { + if (offset >= file.size) { + self.postMessage({"fileBuffer": data.buffer, "inputNum": inputNum, "id": self.id}, [data.buffer]); + return; + } + self.postMessage({"progress": Math.round(offset / file.size * 100), "inputNum": inputNum}); + const slice = file.slice(offset, offset + CHUNK_SIZE); + reader.readAsArrayBuffer(slice); + }; + + reader.onload = function(e) { + data.set(new Uint8Array(reader.result), offset); + offset += CHUNK_SIZE; + seek(); + }; + + reader.onerror = function(e) { + self.postMessage({"error": reader.error.message, "inputNum": inputNum, "id": self.id}); + }; + + seek(); +}; diff --git a/src/web/workers/ZipWorker.mjs b/src/web/workers/ZipWorker.mjs new file mode 100644 index 00000000..85a8cb4c --- /dev/null +++ b/src/web/workers/ZipWorker.mjs @@ -0,0 +1,73 @@ +/** + * Web Worker to handle zipping the outputs for download. + * + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import zip from "zlibjs/bin/zip.min.js"; +import Utils from "../../core/Utils.mjs"; +import Dish from "../../core/Dish.mjs"; +import {detectFileType} from "../../core/lib/FileType.mjs"; + +const Zlib = zip.Zlib; + +/** + * Respond to message from parent thread. + */ +self.addEventListener("message", function(e) { + const r = e.data; + if (!("outputs" in r)) { + log.error("No files were passed to the ZipWorker."); + return; + } + if (!("filename" in r)) { + log.error("No filename was passed to the ZipWorker"); + return; + } + + self.zipFiles(r.outputs, r.filename, r.fileExtension); +}); + +self.setOption = function(...args) {}; + +/** + * Compress the files into a zip file and send the zip back + * to the OutputWaiter. + * + * @param {object} outputs + * @param {string} filename + * @param {string} fileExtension + */ +self.zipFiles = async function(outputs, filename, fileExtension) { + const zip = new Zlib.Zip(); + const inputNums = Object.keys(outputs); + + for (let i = 0; i < inputNums.length; i++) { + const iNum = inputNums[i]; + let ext = fileExtension; + + const cloned = new Dish(outputs[iNum].data.dish); + const output = new Uint8Array(await cloned.get(Dish.ARRAY_BUFFER)); + + if (fileExtension === undefined || fileExtension === "") { + // Detect automatically + const types = detectFileType(output); + if (!types.length) { + ext = ".dat"; + } else { + ext = `.${types[0].extension.split(",", 1)[0]}`; + } + } + const name = Utils.strToByteArray(iNum + ext); + + zip.addFile(output, {filename: name}); + } + + const zippedFile = zip.compress(); + self.postMessage({ + zippedFile: zippedFile.buffer, + filename: filename + }, [zippedFile.buffer]); +}; diff --git a/tests/browser/nightwatch.js b/tests/browser/nightwatch.js index 23100d8d..8ba7f483 100644 --- a/tests/browser/nightwatch.js +++ b/tests/browser/nightwatch.js @@ -75,13 +75,14 @@ module.exports = { // Confirm that it has been added to the recipe browser .useCss() - .waitForElementVisible(op) + .waitForElementVisible(op, 100) .expect.element(op).text.to.contain("To Hex"); // Enter input browser .useCss() .setValue("#input-text", "Don't Panic.") + .pause(1000) .click("#bake"); // Check output @@ -106,6 +107,10 @@ module.exports = { loadOp("BSON deserialise", browser) .waitForElementNotVisible("#output-loader", 5000); + // Charts + loadOp("Entropy", browser) + .waitForElementNotVisible("#output-loader", 5000); + // Ciphers loadOp("AES Encrypt", browser) .waitForElementNotVisible("#output-loader", 5000); @@ -134,6 +139,10 @@ module.exports = { loadOp("Encode text", browser) .waitForElementNotVisible("#output-loader", 5000); + // Hashing + loadOp("Streebog", browser) + .waitForElementNotVisible("#output-loader", 5000); + // Image loadOp("Extract EXIF", browser) .waitForElementNotVisible("#output-loader", 5000); @@ -161,6 +170,54 @@ module.exports = { // UserAgent loadOp("Parse User Agent", browser) .waitForElementNotVisible("#output-loader", 5000); + + // YARA + loadOp("YARA Rules", browser) + .waitForElementNotVisible("#output-loader", 5000); + + browser.click("#clr-recipe"); + }, + + "Move around the UI": browser => { + const otherCat = "//a[contains(@class, 'category-title') and contains(@data-target, '#catOther')]", + genUUID = "//li[contains(@class, 'operation') and text()='Generate UUID']"; + + browser.useXpath(); + + // Scroll to a lower category + browser + .getLocationInView(otherCat) + .expect.element(otherCat).to.be.visible; + + // Open category + browser + .click(otherCat) + .expect.element(genUUID).to.be.visible; + + // Add op to recipe + /* mouseButtonUp drops wherever the actual cursor is, not necessarily in the right place, + so we can't test Sortable.js properly using Nightwatch. html-dnd doesn't work either. + Instead of relying on drag and drop, we double click on the op to load it. */ + browser + .getLocationInView(genUUID) + .moveToElement(genUUID, 10, 10) + .doubleClick() + .useCss() + .waitForElementVisible(".operation .op-title", 1000) + .waitForElementNotVisible("#stale-indicator", 1000) + .expect.element("#output-text").to.have.value.which.matches(/[\da-f-]{36}/); + + browser.click("#clr-recipe"); + }, + + "Search": browser => { + // Search for an op + browser + .useCss() + .clearValue("#search") + .setValue("#search", "md5") + .useXpath() + .waitForElementVisible("//ul[@id='search-results']//u[text()='MD5']", 1000); }, after: browser => { diff --git a/tests/operations/TestRegister.mjs b/tests/lib/TestRegister.mjs similarity index 64% rename from tests/operations/TestRegister.mjs rename to tests/lib/TestRegister.mjs index f2b9f085..7a0e956e 100644 --- a/tests/operations/TestRegister.mjs +++ b/tests/lib/TestRegister.mjs @@ -5,37 +5,50 @@ * ensure that they will get run by the frontend. * * @author tlwr [toby@toby.codes] - * @copyright Crown Copyright 2017 + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import Chef from "../../src/core/Chef"; +import Chef from "../../src/core/Chef.mjs"; + +/** + * Object to store and run the list of tests. + * + * @class + * @constructor + */ +class TestRegister { -(function() { /** - * Object to store and run the list of tests. - * - * @class - * @constructor + * initialise with no tests */ - function TestRegister() { + constructor() { this.tests = []; + this.apiTests = []; } - /** * Add a list of tests to the register. * * @param {Object[]} tests */ - TestRegister.prototype.addTests = function(tests) { + addTests(tests) { this.tests = this.tests.concat(tests); - }; + } + /** + * Add a list of api tests to the register + * @param {Object[]} tests + */ + addApiTests(tests) { + this.apiTests = this.apiTests.concat(tests); + } /** * Runs all the tests in the register. */ - TestRegister.prototype.runTests = function() { + runTests () { + console.log("Running tests..."); return Promise.all( this.tests.map(function(test, i) { const chef = new Chef(); @@ -66,7 +79,7 @@ import Chef from "../../src/core/Chef"; ret.output = "Expected an error but did not receive one."; } else if (result.result === test.expectedOutput) { ret.status = "passing"; - } else if (test.hasOwnProperty("expectedMatch") && test.expectedMatch.test(result.result)) { + } else if ("expectedMatch" in test && test.expectedMatch.test(result.result)) { ret.status = "passing"; } else { ret.status = "failing"; @@ -85,12 +98,29 @@ import Chef from "../../src/core/Chef"; }); }) ); - }; + } + /** + * Run all api related tests and wrap results in report format + */ + runApiTests() { + return Promise.all(this.apiTests.map(async function(test, i) { + const result = { + test: test, + status: null, + output: null, + }; + try { + await test.run(); + result.status = "passing"; + } catch (e) { + result.status = "erroring"; + result.output = e.message; + } + return result; + })); + } +} - // Singleton TestRegister, keeping things simple and obvious. - global.TestRegister = global.TestRegister || new TestRegister(); -})(); - -export default global.TestRegister; - +// Export an instance to make a singleton +export default new TestRegister(); diff --git a/tests/lib/utils.mjs b/tests/lib/utils.mjs new file mode 100644 index 00000000..0f85ae30 --- /dev/null +++ b/tests/lib/utils.mjs @@ -0,0 +1,87 @@ +/** + * Utils for test suite + * + * @author d98762625@gmail.com + * @author tlwr [toby@toby.codes] + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + + +/** + * Helper function to convert a status to an icon. + * + * @param {string} status + * @returns {string} + */ +function statusToIcon(status) { + return { + erroring: "🔥", + failing: "❌", + passing: "✔️️", + }[status] || "?"; +} + +/** + * Counts test statuses. + * + * @param {Object} testStatus + * @param {Object} testResult + */ +function handleTestResult(testStatus, testResult) { + testStatus.allTestsPassing = testStatus.allTestsPassing && testResult.status === "passing"; + testStatus.counts[testResult.status] = (testStatus.counts[testResult.status] || 0) + 1; + testStatus.counts.total += 1; +} + +/** + * Log each test result, count tests and failures. + * + * @param {Object} testStatus - object describing test run data + * @param {Object[]} results - results from TestRegister + */ +export function logTestReport(testStatus, results) { + console.log("Tests completed."); + + results.forEach(r => handleTestResult(testStatus, r)); + + console.log(); + for (const testStatusCount in testStatus.counts) { + const count = testStatus.counts[testStatusCount]; + if (count > 0) { + console.log(testStatusCount.toUpperCase() + "\t" + count); + } + } + console.log(); + + // Print error messages for tests that didn't pass + results.filter(res => res.status !== "passing").forEach(testResult => { + console.log([ + statusToIcon(testResult.status), + testResult.test.name + ].join(" ")); + + if (testResult.output) { + console.log( + testResult.output + .trim() + .replace(/^/, "\t") + .replace(/\n/g, "\n\t") + ); + } + }); + console.log(); + + process.exit(testStatus.allTestsPassing ? 0 : 1); +} + +/** + * Fail if the process takes longer than 60 seconds. + */ +export function setLongTestFailure() { + setTimeout(function() { + console.log("Tests took longer than 60 seconds to run, returning."); + process.exit(1); + }, 60 * 1000); +} diff --git a/tests/node/assertionHandler.mjs b/tests/node/assertionHandler.mjs new file mode 100644 index 00000000..82d19a2e --- /dev/null +++ b/tests/node/assertionHandler.mjs @@ -0,0 +1,60 @@ +/** + * assertionHandler.mjs + * + * Pair native node assertions with a description for + * the benefit of the TestRegister. + * + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +/* eslint no-console: 0 */ + + +/** + * Print useful stack on error + */ +const wrapRun = (run) => async () => { + try { + await run(); + } catch (e) { + console.dir(e); + throw e; + } +}; + + +/** + * it - wrapper for assertions to provide a helpful description + * to the TestRegister + * @namespace ApiTests + * @param {String} description - The description of the test + * @param {Function} assertion - The test + * + * @example + * // One assertion + * it("should run one assertion", () => assert.equal(1,1)) + * + * @example + * // multiple assertions + * it("should handle multiple assertions", () => { + * assert.equal(1,1) + * assert.notEqual(3,4) + * }) + * + * @example + * // async assertions + * it("should handle async", async () => { + * let r = await asyncFunc() + * assert(r) + * }) + */ +export function it(name, run) { + return { + name: `Node API: ${name}`, + run: wrapRun(run), + }; +} + +export default it; diff --git a/tests/node/consumers/cjs-consumer.js b/tests/node/consumers/cjs-consumer.js new file mode 100644 index 00000000..16232312 --- /dev/null +++ b/tests/node/consumers/cjs-consumer.js @@ -0,0 +1,29 @@ +/** + * Tests to ensure that a consuming app can use CJS require + * + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +const chef = require("cyberchef"); +const assert = require("assert"); + +const d = chef.bake("Testing, 1 2 3", [ + chef.toHex, + chef.reverse, + { + op: chef.unique, + args: { + delimiter: "Space", + } + }, + { + op: chef.multiply, + args: { + delimiter: "Space", + } + } +]); + +assert.equal(d.value, "630957449041920"); diff --git a/tests/node/consumers/esm-consumer.mjs b/tests/node/consumers/esm-consumer.mjs new file mode 100644 index 00000000..3536ef00 --- /dev/null +++ b/tests/node/consumers/esm-consumer.mjs @@ -0,0 +1,28 @@ +/** + * Tests to ensure that a consuming app can use ESM imports + * + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import assert from "assert"; +import chef from "cyberchef"; + +const d = chef.bake("Testing, 1 2 3", [ + chef.toHex, + chef.reverse, + { + op: chef.unique, + args: { + delimiter: "Space", + } + }, + { + op: chef.multiply, + args: { + delimiter: "Space", + } + } +]); + +assert.equal(d.value, "630957449041920"); diff --git a/tests/node/consumers/esm-deep-import-consumer.mjs b/tests/node/consumers/esm-deep-import-consumer.mjs new file mode 100644 index 00000000..58fd921a --- /dev/null +++ b/tests/node/consumers/esm-deep-import-consumer.mjs @@ -0,0 +1,28 @@ +/** + * Tests to ensure that a consuming app can use named imports from deep import patch + * + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import assert from "assert"; +import { bake, toHex, reverse, unique, multiply } from "cyberchef/src/node/index.mjs"; + +const d = bake("Testing, 1 2 3", [ + toHex, + reverse, + { + op: unique, + args: { + delimiter: "Space", + } + }, + { + op: multiply, + args: { + delimiter: "Space", + } + } +]); + +assert.equal(d.value, "630957449041920"); diff --git a/tests/node/index.mjs b/tests/node/index.mjs new file mode 100644 index 00000000..29c8c841 --- /dev/null +++ b/tests/node/index.mjs @@ -0,0 +1,40 @@ +/* eslint no-console: 0 */ + +/** + * Node API Test Runner + * + * @author d98762625 [d98762625@gmail.com] + * @author tlwr [toby@toby.codes] + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + +import { + setLongTestFailure, + logTestReport, +} from "../lib/utils.mjs"; + +import TestRegister from "../lib/TestRegister.mjs"; +import "./tests/nodeApi.mjs"; +import "./tests/operations.mjs"; +import "./tests/File.mjs"; +import "./tests/Dish.mjs"; +import "./tests/NodeDish.mjs"; +import "./tests/Utils.mjs"; +import "./tests/Categories.mjs"; + +const testStatus = { + allTestsPassing: true, + counts: { + total: 0, + } +}; + +setLongTestFailure(); + +const logOpsTestReport = logTestReport.bind(null, testStatus); + +TestRegister.runApiTests() + .then(logOpsTestReport); + diff --git a/tests/node/sampleData/pic.jpg b/tests/node/sampleData/pic.jpg new file mode 100644 index 00000000..05c21327 Binary files /dev/null and b/tests/node/sampleData/pic.jpg differ diff --git a/tests/node/tests/Categories.mjs b/tests/node/tests/Categories.mjs new file mode 100644 index 00000000..0f4e8644 --- /dev/null +++ b/tests/node/tests/Categories.mjs @@ -0,0 +1,19 @@ +import TestRegister from "../../lib/TestRegister.mjs"; +import Categories from "../../../src/core/config/Categories.json"; +import OperationConfig from "../../../src/core/config/OperationConfig.json"; +import it from "../assertionHandler.mjs"; +import assert from "assert"; + +TestRegister.addApiTests([ + it("Categories: operations should be in a category", () => { + const catOps = []; + Categories.forEach(cat => { + catOps.push(...cat.ops); + }); + + for (const op in OperationConfig) { + assert(catOps.includes(op), `'${op}' operation is not present in any category`); + } + }), + +]); diff --git a/tests/node/tests/Dish.mjs b/tests/node/tests/Dish.mjs new file mode 100644 index 00000000..58da00bf --- /dev/null +++ b/tests/node/tests/Dish.mjs @@ -0,0 +1,12 @@ +import TestRegister from "../../lib/TestRegister.mjs"; +import Dish from "../../../src/core/Dish.mjs"; +import it from "../../node/assertionHandler.mjs"; +import assert from "assert"; + +TestRegister.addApiTests([ + it("Dish - presentAs: should exist", () => { + const dish = new Dish(); + assert(dish.presentAs); + }), + +]); diff --git a/tests/node/tests/File.mjs b/tests/node/tests/File.mjs new file mode 100644 index 00000000..c6a1e60a --- /dev/null +++ b/tests/node/tests/File.mjs @@ -0,0 +1,82 @@ +import assert from "assert"; +import it from "../assertionHandler.mjs"; +import TestRegister from "../../lib/TestRegister.mjs"; +import File from "../../../src/node/File.mjs"; +import {zip, Dish} from "../../../src/node/index.mjs"; + +TestRegister.addApiTests([ + it("File: should exist", () => { + assert(File); + }), + + it("File: Should have same properties as DOM File object", () => { + const uint8Array = new Uint8Array(Buffer.from("hello")); + const file = new File([uint8Array], "name.txt"); + assert.equal(file.name, "name.txt"); + assert(typeof file.lastModified, "number"); + assert(file.lastModifiedDate instanceof Date); + assert.equal(file.size, uint8Array.length); + assert.equal(file.type, "application/unknown"); + }), + + it("File: Should determine the type of a file", () => { + const zipped = zip("hello"); + const file = new File([zipped.value]); + assert(file); + assert.strictEqual(file.type, "application/zip"); + }), + + it("File: unknown type should have a type of application/unknown", () => { + const uint8Array = new Uint8Array(Buffer.from("hello")); + const file = new File([uint8Array], "sample.txt"); + assert.strictEqual(file.type, "application/unknown"); + }), + + it("File: should be able to make a dish from it", () => { + const uint8Array = new Uint8Array(Buffer.from("hello")); + const file = new File([uint8Array], "sample.txt"); + try { + const dish = new Dish(file, 7); + assert.ok(dish.valid()); + } catch (e) { + assert.fail(e.message); + } + }), + + it("File: should allow dish to translate to ArrayBuffer", () => { + const uint8Array = new Uint8Array(Buffer.from("hello")); + const file = new File([uint8Array], "sample.txt"); + try { + const dish = new Dish(file, 7); + assert.ok(dish.value); + + dish.get(4); + assert.strictEqual(dish.type, 4); + assert.ok(dish.valid()); + + } catch (e) { + assert.fail(e.message); + } + }), + + it("File: should allow dish to translate from ArrayBuffer to File", () => { + const uint8Array = new Uint8Array(Buffer.from("hello")); + const file = new File([uint8Array], "sample.txt"); + try { + const dish = new Dish(file, 7); + assert.ok(dish.value); + + // translate to ArrayBuffer + dish.get(4); + assert.ok(dish.valid()); + + // translate back to File + dish.get(7); + assert.ok(dish.valid()); + + } catch (e) { + assert.fail(e.message); + } + }) + +]); diff --git a/tests/node/tests/NodeDish.mjs b/tests/node/tests/NodeDish.mjs new file mode 100644 index 00000000..72120703 --- /dev/null +++ b/tests/node/tests/NodeDish.mjs @@ -0,0 +1,199 @@ +import assert from "assert"; +import it from "../assertionHandler.mjs"; +import fs from "fs"; + +import BigNumber from "bignumber.js"; + +import { Dish, toBase32, SHA3 } from "../../../src/node/index.mjs"; +import File from "../../../src/node/File.mjs"; +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addApiTests([ + it("Composable Dish: Should have top level Dish object", () => { + assert.ok(Dish); + }), + + it("Composable Dish: Should construct empty dish object", () => { + const dish = new Dish(); + assert.strictEqual(dish.value.byteLength, new ArrayBuffer(0).byteLength); + assert.strictEqual(dish.type, 4); + }), + + it("Composable Dish: constructed dish should have apply prototype functions", () => { + const dish = new Dish(); + assert.ok(dish.apply); + assert.throws(() => dish.someInvalidFunction()); + }), + + it("Composable Dish: composed function returns another dish", () => { + const result = new Dish("some input").apply(toBase32); + assert.ok(result instanceof Dish); + }), + + + it("Composable dish: infers type from input if needed", () => { + const dish = new Dish("string input"); + assert.strictEqual(dish.type, 1); + + const numberDish = new Dish(333); + assert.strictEqual(numberDish.type, 2); + + const arrayBufferDish = new Dish(Buffer.from("some buffer input").buffer); + assert.strictEqual(arrayBufferDish.type, 4); + + const byteArrayDish = new Dish(Buffer.from("some buffer input")); + assert.strictEqual(byteArrayDish.type, 0); + + const JSONDish = new Dish({key: "value"}); + assert.strictEqual(JSONDish.type, 6); + }), + + it("Composable dish: Buffer type dishes should be converted to strings", () => { + fs.writeFileSync("test.txt", "abc"); + const dish = new Dish(fs.readFileSync("test.txt")); + assert.strictEqual(dish.type, 0); + fs.unlinkSync("test.txt"); + }), + + it("Composable Dish: apply should allow set of arguments for operation", () => { + const result = new Dish("input").apply(SHA3, {size: "256"}); + assert.strictEqual(result.toString(), "7640cc9b7e3662b2250a43d1757e318bb29fb4860276ac4373b67b1650d6d3e3"); + }), + + it("Composable Dish: apply functions can be chained", () => { + const result = new Dish("input").apply(toBase32).apply(SHA3, {size: "224"}); + assert.strictEqual(result.toString(), "493e8136b759370a415ef2cf2f7a69690441ff86592aba082bc2e2e0"); + }), + + it("Dish translation: ArrayBuffer to ArrayBuffer", () => { + const dish = new Dish(new ArrayBuffer(10), 4); + dish.get("array buffer"); + assert.strictEqual(dish.value.byteLength, 10); + assert.strictEqual(dish.type, 4); + }), + + it("Dish translation: ArrayBuffer and String", () => { + const dish = new Dish("some string", 1); + dish.get("array buffer"); + + assert.strictEqual(dish.type, 4); + assert.deepStrictEqual(dish.value, new Uint8Array([0x73, 0x6f, 0x6d, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67]).buffer); + assert.deepEqual(dish.value.byteLength, 11); + + dish.get("string"); + assert.strictEqual(dish.type, 1); + assert.strictEqual(dish.value, "some string"); + }), + + it("Dish translation: ArrayBuffer and number", () => { + const dish = new Dish(100, 2); + dish.get(4); + + assert.strictEqual(dish.type, 4); + assert.deepStrictEqual(dish.value, new Uint8Array([0x31, 0x30, 0x30]).buffer); + assert.strictEqual(dish.value.byteLength, 3); + + // Check the data in ArrayBuffer represents 100 as a string. + const view = new DataView(dish.value, 0); + assert.strictEqual(String.fromCharCode(view.getUint8(0), view.getUint8(1), view.getUint8(2)), "100"); + + dish.get("number"); + assert.strictEqual(dish.type, 2); + assert.strictEqual(dish.value, 100); + }), + + it("Dish translation: ArrayBuffer and byte array", () => { + const dish = new Dish(new Uint8Array([1, 2, 3]), 0); + dish.get(4); + + // Check intermediate value + const check = new Uint8Array(dish.value); + assert.deepEqual(check, new Uint8Array([1, 2, 3])); + + // Check converts back OK + dish.get(0); + assert.deepEqual(dish.value, [1, 2, 3]); + }), + + it("Dish translation: ArrayBuffer and HTML", () => { + const html = ` + + + + + + Click here + + +`.replace(/\n|\s{4}/g, ""); //remove newlines, tabs + + const dish = new Dish(html, Dish.HTML); + dish.get(4); + + dish.get(3); + assert.strictEqual(dish.value, "Click here"); + }), + + it("Dish translation: ArrayBuffer and BigNumber", () => { + const number = BigNumber(4001); + const dish = new Dish(number, Dish.BIG_NUMBER); + + dish.get(Dish.ARRAY_BUFFER); + assert.deepStrictEqual(dish.value, new Uint8Array([0x34, 0x30, 0x30, 0x31]).buffer); + assert.strictEqual(dish.value.byteLength, 4); + + // Check the data in ArrayBuffer represents 4001 as a string. + const view = new DataView(dish.value, 0); + assert.strictEqual(String.fromCharCode(view.getUint8(0), view.getUint8(1), view.getUint8(2), view.getUint8(3)), "4001"); + + dish.get(5); + assert.deepStrictEqual(dish.value, number); + }), + + it("Dish translation: ArrayBuffer and JSON", () => { + const jsonString = "{\"a\": 123455, \"b\": { \"aa\": [1,2,3]}}"; + const dish = new Dish(JSON.parse(jsonString), Dish.JSON); + + dish.get(Dish.ARRAY_BUFFER); + dish.get(Dish.JSON); + + assert.deepStrictEqual(dish.value, JSON.parse(jsonString)); + }), + + it("Dish translation: ArrayBuffer and File", () => { + const file = new File("abcd", "unknown"); + const dish = new Dish(file, Dish.FILE); + + dish.get(Dish.ARRAY_BUFFER); + assert.deepStrictEqual(dish.value, new Uint8Array([0x61, 0x62, 0x63, 0x64]).buffer); + assert.strictEqual(dish.value.byteLength, 4); + + // Check the data in ArrayBuffer represents "abcd" + const view = new DataView(dish.value, 0); + assert.strictEqual(String.fromCharCode(view.getUint8(0), view.getUint8(1), view.getUint8(2), view.getUint8(3)), "abcd"); + + dish.get(Dish.FILE); + + assert.deepStrictEqual(dish.value.data, file.data); + assert.strictEqual(dish.value.name, file.name); + assert.strictEqual(dish.value.type, file.type); + // Do not test lastModified + }), + + it("Dish translation: ArrayBuffer and ListFile", () => { + const file1 = new File("abcde", "unknown"); + const file2 = new File("fghijk", "unknown"); + + const dish = new Dish([file1, file2], Dish.LIST_FILE); + + dish.get(Dish.ARRAY_BUFFER); + assert.deepStrictEqual(dish.value, new Uint8Array([0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b]).buffer); + assert.strictEqual(dish.value.byteLength, 11); + + dish.get(Dish.LIST_FILE); + const dataArray = new Uint8Array(dish.value[0].data); + // cant store chars in a Uint8Array, so make it a normal one. + const actual = Array.prototype.slice.call(dataArray).map(c => String.fromCharCode(c)).join(""); + assert.strictEqual(actual, "abcdefghijk"); + }), +]); diff --git a/tests/node/tests/Utils.mjs b/tests/node/tests/Utils.mjs new file mode 100644 index 00000000..8dbf37ae --- /dev/null +++ b/tests/node/tests/Utils.mjs @@ -0,0 +1,23 @@ +import TestRegister from "../../lib/TestRegister.mjs"; +import Utils from "../../../src/core/Utils.mjs"; +import it from "../assertionHandler.mjs"; +import assert from "assert"; + +TestRegister.addApiTests([ + it("Utils: should parse six backslashes correctly", () => { + assert.equal(Utils.parseEscapedChars("\\\\\\\\\\\\"), "\\\\\\"); + }), + + it("Utils: should parse escaped quotes correctly", () => { + assert.equal(Utils.parseEscapedChars("\\'"), "'"); + }), + + it("Utils: should parse escaped quotes and backslashes correctly", () => { + assert.equal(Utils.parseEscapedChars("\\\\'"), "\\'"); + }), + + it("Utils: should parse escaped quotes and escaped backslashes correctly", () => { + assert.equal(Utils.parseEscapedChars("\\\\\\'"), "\\'"); + }), + +]); diff --git a/tests/node/tests/nodeApi.mjs b/tests/node/tests/nodeApi.mjs new file mode 100644 index 00000000..a4e907b8 --- /dev/null +++ b/tests/node/tests/nodeApi.mjs @@ -0,0 +1,408 @@ +/* eslint no-console: 0 */ + +/** + * nodeApi.js + * + * Test node api utilities + * + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + +import assert from "assert"; +import it from "../assertionHandler.mjs"; +import chef from "../../../src/node/index.mjs"; +import OperationError from "../../../src/core/errors/OperationError.mjs"; +import NodeDish from "../../../src/node/NodeDish.mjs"; + +import { toBase32} from "../../../src/node/index.mjs"; +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addApiTests([ + it("should have some operations", () => { + assert(chef); + assert(chef.toBase32); + assert(chef.setUnion); + assert(!chef.randomFunction); + }), + + it("should export other functions at top level", () => { + assert(toBase32); + }), + + it("should be synchronous", () => { + try { + const result = chef.toBase32("input"); + assert.notEqual("something", result); + } catch (e) { + // shouldnt reach here + assert(false); + } + + try { + const fail = chef.setUnion("1"); + // shouldnt get here + assert(!fail || false); + } catch (e) { + assert(true); + } + }), + + it("should not catch Errors", () => { + try { + chef.setUnion("1"); + assert(false); + } catch (e) { + assert(e instanceof OperationError); + } + }), + + it("should accept arguments in object format for operations", () => { + const result = chef.setUnion("1 2 3 4:3 4 5 6", { + itemDelimiter: " ", + sampleDelimiter: ":" + }); + + assert.equal(result.value, "1 2 3 4 5 6"); + }), + + it("should accept just some of the optional arguments being overriden", () => { + const result = chef.setIntersection("1 2 3 4 5\\n\\n3 4 5", { + itemDelimiter: " ", + }); + + assert.equal(result.value, "3 4 5"); + }), + + it("should accept no override arguments and just use the default values", () => { + const result = chef.powerSet("1,2,3"); + assert.equal(result.value, "\n3\n2\n1\n2,3\n1,3\n1,2\n1,2,3\n"); + }), + + it("should return an object with a .to method", () => { + const result = chef.toBase32("input"); + assert(result.to); + assert.equal(result.to("string"), "NFXHA5LU"); + }), + + it("should return an object with a .get method", () => { + const result = chef.toBase32("input"); + assert(result.get); + assert.equal(result.get("string"), "NFXHA5LU"); + }), + + it("should return a NodeDish", async () => { + const result = chef.toBase32("input"); + assert(result instanceof NodeDish); + }), + + it("should coerce to a string as you expect", () => { + const result = chef.fromBase32(chef.toBase32("something")); + assert.equal(String(result), "something"); + // This kind of coercion uses toValue + assert.equal(""+result, "NaN"); + }), + + it("should coerce to a number as you expect", () => { + const result = chef.fromBase32(chef.toBase32("32")); + assert.equal(3 + result, 35); + }), + + it("chef.help: should exist", () => { + assert(chef.help); + }), + + it("chef.help: should describe a operation", () => { + const result = chef.help("tripleDESDecrypt"); + assert.strictEqual(result[0].name, "Triple DES Decrypt"); + assert.strictEqual(result[0].module, "Ciphers"); + assert.strictEqual(result[0].inputType, "string"); + assert.strictEqual(result[0].outputType, "string"); + assert.strictEqual(result[0].description, "Triple DES applies DES three times to each block to increase key size.

      Key: Triple DES uses a key length of 24 bytes (192 bits).
      DES uses a key length of 8 bytes (64 bits).

      IV: The Initialization Vector should be 8 bytes long. If not entered, it will default to 8 null bytes.

      Padding: In CBC and ECB mode, PKCS#7 padding will be used."); + assert.strictEqual(result[0].args.length, 5); + }), + + it("chef.help: null for invalid operation", () => { + const result = chef.help("some invalid function name"); + assert.strictEqual(result, null); + }), + + it("chef.help: takes a wrapped operation as input", () => { + const result = chef.help(chef.toBase32); + assert.strictEqual(result[0].name, "To Base32"); + assert.strictEqual(result[0].module, "Default"); + }), + + it("chef.help: returns multiple results", () => { + const result = chef.help("base 64"); + assert.strictEqual(result.length, 11); + }), + + it("chef.help: looks in description for matches too", () => { + // string only in one operation's description. + const result = chef.help("Converts a unit of data to another format."); + assert.strictEqual(result.length, 1); + assert.strictEqual(result[0].name, "Convert data units"); + }), + + it("chef.help: lists name matches before desc matches", () => { + const result = chef.help("Checksum"); + assert.ok(result[0].name.includes("Checksum")); + assert.ok(result[1].name.includes("Checksum")); + assert.strictEqual(result[result.length - 1].name.includes("Checksum"), false); + assert.ok(result[result.length - 1].description.includes("checksum")); + }), + + it("chef.help: exact name match only returns one result", () => { + const result = chef.help("MD5"); + assert.strictEqual(result.length, 1); + assert.strictEqual(result[0].name, "MD5"); + }), + + it("chef.help: exact match ignores whitespace", () => { + const result = chef.help("tobase64"); + assert.strictEqual(result.length, 1); + assert.strictEqual(result[0].name, "To Base64"); + }), + + it("chef.bake: should exist", () => { + assert(chef.bake); + }), + + it("chef.bake: should return NodeDish", () => { + const result = chef.bake("input", "to base 64"); + assert(result instanceof NodeDish); + }), + + it("chef.bake: should take an input and an op name and perform it", () => { + const result = chef.bake("some input", "to base 32"); + assert.strictEqual(result.toString(), "ONXW2ZJANFXHA5LU"); + }), + + it("chef.bake: should complain if recipe isnt a valid object", () => { + try { + chef.bake("some input", 3264); + } catch (e) { + assert.strictEqual(e.name, "TypeError"); + assert.strictEqual(e.message, "Recipe can only contain function names or functions"); + } + }), + + it("chef.bake: Should complain if string op is invalid", () => { + try { + chef.bake("some input", "not a valid operation"); + assert.fail("Shouldn't be hit"); + } catch (e) { + assert.strictEqual(e.name, "TypeError"); + assert.strictEqual(e.message, "Couldn't find an operation with name 'not a valid operation'."); + } + }), + + it("chef.bake: Should take an input and an operation and perform it", () => { + const result = chef.bake("https://google.com/search?q=help", chef.parseURI); + assert.strictEqual(result.toString(), "Protocol:\thttps:\nHostname:\tgoogle.com\nPath name:\t/search\nArguments:\n\tq = help\n"); + }), + + it("chef.bake: Should complain if an invalid operation is inputted", () => { + try { + chef.bake("https://google.com/search?q=help", () => {}); + assert.fail("Shouldn't be hit"); + } catch (e) { + assert.strictEqual(e.name, "TypeError"); + assert.strictEqual(e.message, "Inputted function not a Chef operation."); + } + }), + + it("chef.bake: accepts an array of operation names and performs them all in order", () => { + const result = chef.bake("https://google.com/search?q=that's a complicated question", ["URL encode", "URL decode", "Parse URI"]); + assert.strictEqual(result.toString(), "Protocol:\thttps:\nHostname:\tgoogle.com\nPath name:\t/search\nArguments:\n\tq = that's a complicated question\n"); + }), + + it("chef.bake: forgiving with operation names", () =>{ + const result = chef.bake("https://google.com/search?q=that's a complicated question", ["urlencode", "url decode", "parseURI"]); + assert.strictEqual(result.toString(), "Protocol:\thttps:\nHostname:\tgoogle.com\nPath name:\t/search\nArguments:\n\tq = that's a complicated question\n"); + }), + + it("chef.bake: forgiving with operation names", () =>{ + const result = chef.bake("hello", ["to base 64"]); + assert.strictEqual(result.toString(), "aGVsbG8="); + }), + + it("chef.bake: if recipe is empty array, return input as dish", () => { + const result = chef.bake("some input", []); + assert.strictEqual(result.toString(), "some input"); + assert(result instanceof NodeDish, "Result is not instance of NodeDish"); + }), + + it("chef.bake: accepts an array of operations as recipe", () => { + const result = chef.bake("https://google.com/search?q=that's a complicated question", [chef.URLEncode, chef.URLDecode, chef.parseURI]); + assert.strictEqual(result.toString(), "Protocol:\thttps:\nHostname:\tgoogle.com\nPath name:\t/search\nArguments:\n\tq = that's a complicated question\n"); + }), + + it("should complain if an invalid operation is inputted as part of array", () => { + try { + chef.bake("something", [() => {}]); + } catch (e) { + assert.strictEqual(e.name, "TypeError"); + assert.strictEqual(e.message, "Inputted function not a Chef operation."); + } + }), + + it("chef.bake: should take single JSON object describing op and args OBJ", () => { + const result = chef.bake("some input", { + op: chef.toHex, + args: { + Delimiter: "Colon" + } + }); + assert.strictEqual(result.toString(), "73:6f:6d:65:20:69:6e:70:75:74"); + }), + + it("chef.bake: should take single JSON object desribing op with optional args", () => { + const result = chef.bake("some input", { + op: chef.toHex, + }); + assert.strictEqual(result.toString(), "73 6f 6d 65 20 69 6e 70 75 74"); + }), + + it("chef.bake: should take single JSON object describing op and args ARRAY", () => { + const result = chef.bake("some input", { + op: chef.toHex, + args: ["Colon"] + }); + assert.strictEqual(result.toString(), "73:6f:6d:65:20:69:6e:70:75:74"); + }), + + it("chef.bake: should error if op in JSON is not chef op", () => { + try { + chef.bake("some input", { + op: () => {}, + args: ["Colon"], + }); + } catch (e) { + assert.strictEqual(e.name, "TypeError"); + assert.strictEqual(e.message, "Inputted function not a Chef operation."); + } + }), + + it("chef.bake: should take multiple ops in JSON object form, some ops by string", () => { + const result = chef.bake("some input", [ + { + op: chef.toHex, + args: ["Colon"] + }, + { + op: "to octal", + args: { + delimiter: "Semi-colon", + } + } + ]); + assert.strictEqual(result.toString(), "67;63;72;66;146;72;66;144;72;66;65;72;62;60;72;66;71;72;66;145;72;67;60;72;67;65;72;67;64"); + }), + + it("chef.bake: should take multiple ops in JSON object form, some without args", () => { + const result = chef.bake("some input", [ + { + op: chef.toHex, + }, + { + op: "to octal", + args: { + delimiter: "Semi-colon", + } + } + ]); + assert.strictEqual(result.toString(), "67;63;40;66;146;40;66;144;40;66;65;40;62;60;40;66;71;40;66;145;40;67;60;40;67;65;40;67;64"); + }), + + it("chef.bake: should handle op with multiple args", () => { + const result = chef.bake("some input", { + op: "to morse code", + args: { + formatOptions: "Dash/Dot", + wordDelimiter: "Comma", + letterDelimiter: "Backslash", + } + }); + assert.strictEqual(result.toString(), "DotDotDot\\DashDashDash\\DashDash\\Dot,DotDot\\DashDot\\DotDashDashDot\\DotDotDash\\Dash"); + }), + + it("chef.bake: should take compact JSON format from Chef Website as recipe", () => { + const result = chef.bake("some input", [{"op": "To Morse Code", "args": ["Dash/Dot", "Backslash", "Comma"]}, {"op": "Hex to PEM", "args": ["SOMETHING"]}, {"op": "To Snake case", "args": [false]}]); + assert.strictEqual(result.toString(), "begin_something_anananaaaaak_da_aaak_da_aaaaananaaaaaaan_da_aaaaaaanan_da_aaak_end_something"); + }), + + it("chef.bake: should accept Clean JSON format from Chef website as recipe", () => { + const result = chef.bake("some input", [ + { "op": "To Morse Code", + "args": ["Dash/Dot", "Backslash", "Comma"] }, + { "op": "Hex to PEM", + "args": ["SOMETHING"] }, + { "op": "To Snake case", + "args": [false] } + ]); + assert.strictEqual(result.toString(), "begin_something_anananaaaaak_da_aaak_da_aaaaananaaaaaaan_da_aaaaaaanan_da_aaak_end_something"); + }), + + it("chef.bake: should accept Clean JSON format from Chef website - args optional", () => { + const result = chef.bake("some input", [ + { "op": "To Morse Code" }, + { "op": "Hex to PEM", + "args": ["SOMETHING"] }, + { "op": "To Snake case", + "args": [false] } + ]); + assert.strictEqual(result.toString(), "begin_something_aaaaaaaaaaaaaa_end_something"); + }), + + it("Excluded operations: throw a sensible error when you try and call one", () => { + try { + chef.fork(); + } catch (e) { + assert.strictEqual(e.type, "ExcludedOperationError"); + assert.strictEqual(e.message, "Sorry, the Fork operation is not available in the Node.js version of CyberChef."); + } + }), + + it("Excluded operations: throw a sensible error when you try and call one", () => { + try { + chef.renderImage(); + } catch (e) { + assert.strictEqual(e.type, "ExcludedOperationError"); + assert.strictEqual(e.message, "Sorry, the RenderImage operation is not available in the Node.js version of CyberChef."); + } + }), + + it("Operation arguments: should be accessible from operation object if op has array arg", () => { + assert.ok(chef.toCharcode.args); + assert.deepEqual(chef.unzip.args, { + password: { + type: "binaryString", + value: "", + }, + verifyResult: { + type: "boolean", + value: false, + } + }); + }), + + it("Operation arguments: should have key for each argument in operation", () => { + assert.ok(chef.convertDistance.args.inputUnits); + assert.ok(chef.convertDistance.args.outputUnits); + + assert.strictEqual(chef.bitShiftRight.args.amount.type, "number"); + assert.strictEqual(chef.bitShiftRight.args.amount.value, 1); + assert.strictEqual(chef.bitShiftRight.args.type.type, "option"); + assert.ok(Array.isArray(chef.bitShiftRight.args.type.options)); + + }), + + it("Operation arguments: should list all options excluding subheadings", () => { + // First element (subheading) removed + assert.equal(chef.convertDistance.args.inputUnits.options[0], "Nanometres (nm)"); + assert.equal(chef.defangURL.args.process.options[1], "Only full URLs"); + }), +]); diff --git a/tests/node/tests/operations.mjs b/tests/node/tests/operations.mjs new file mode 100644 index 00000000..f20708f0 --- /dev/null +++ b/tests/node/tests/operations.mjs @@ -0,0 +1,1078 @@ +/* eslint no-console: 0 */ + +/** + * nodeApi.js + * + * Test node api operations + * + * Aim of these tests is to ensure each arg type is + * handled correctly by the wrapper. + * + * Generally just checking operations that use external dependencies to ensure + * it behaves as expected in Node. + * + * @author d98762625 [d98762625@gmail.com] + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ + +import assert from "assert"; +import it from "../assertionHandler.mjs"; +import fs from "fs"; + +import { + addLineNumbers, + adler32Checksum, + AESDecrypt, + affineCipherDecode, + affineCipherEncode, + bifidCipherEncode, + bitShiftRight, + cartesianProduct, + CSSMinify, + toBase64, + toHex +} from "../../../src/node/index"; +import chef from "../../../src/node/index.mjs"; +import TestRegister from "../../lib/TestRegister.mjs"; +import File from "../../../src/node/File.mjs"; + +global.File = File; + +TestRegister.addApiTests([ + + it("ADD: toggleString argument", () => { + const result = chef.ADD("sample input", { + key: { + string: "some key", + option: "Hex" + } + }); + assert.equal(result.toString(), "aO[^ZS\u000eW\\^cb"); + }), + + + it("ADD: default option toggleString argument", () => { + const result = chef.ADD(3, { + key: "4", + }); + assert.strictEqual(result.toString(), "7"); + }), + + it("addLineNumbers: No arguments", () => { + const result = addLineNumbers("sample input"); + assert.equal(result.toString(), "1 sample input"); + }), + + it("adler32Checksum: No args", () => { + const result = adler32Checksum("sample input"); + assert.equal(result.toString(), "1f2304d3"); + }), + + it("AES decrypt: toggleString and option", () => { + const result = AESDecrypt("4a123af235a507bbc9d5871721d61b98504d569a9a5a7847e2d78315fec7", { + key: { + string: "some longer key1", + option: "utf8", + }, + iv: { + string: "some iv some iv1", + option: "utf8", + }, + mode: "OFB", + }); + assert.equal(result.toString(), "a slightly longer sampleinput?"); + }), + + it("AffineCipherDecode: number input", () => { + const result = affineCipherDecode("some input", { + a: 7, + b: 4 + }); + assert.strictEqual(result.toString(), "cuqa ifjgr"); + }), + + it("affineCipherEncode: number input", () => { + const result = affineCipherEncode("some input", { + a: 11, + b: 6 + }); + assert.strictEqual(result.toString(), "weiy qtpsh"); + }), + + it("analyzeHash", () => { + const result = chef.analyseHash(chef.MD5("some input")); + const expected = `Hash length: 32 +Byte length: 16 +Bit length: 128 + +Based on the length, this hash could have been generated by one of the following hashing functions: +MD5 +MD4 +MD2 +HAVAL-128 +RIPEMD-128 +Snefru +Tiger-128`; + assert.strictEqual(result.toString(), expected); + }), + + it("AND", () => { + const result = chef.AND("Scot-free", { + key: { + string: "Raining Cats and Dogs", + option: "Hex", + } + }); + assert.strictEqual(result.toString(), "\u0000\"M$(D E"); + }), + + it("atBash Cipher", () => { + const result = chef.atbashCipher("Happy as a Clam"); + assert.strictEqual(result.toString(), "Szkkb zh z Xozn"); + + }), + + it("Bcrypt", async () => { + const result = await chef.bcrypt("Put a Sock In It"); + const strResult = result.toString(); + assert.equal(strResult.length, 60); + assert.equal(strResult.slice(0, 7), "$2a$10$"); + }), + + it("bcryptCompare", async() => { + const result = await chef.bcryptCompare("Put a Sock In It", { + hash: "$2a$10$2rT4a3XnIecBsd1H33dMTuyYE1HJ1n9F.V2rjQtAH73rh1qvOf/ae", + }); + assert.strictEqual(result.toString(), "Match: Put a Sock In It"); + }), + + it("Bcrypt Parse", async () => { + const result = await chef.bcryptParse("$2a$10$ODeP1.6fMsb.ENk2ngPUCO7qTGVPyHA9TqDVcyupyed8FjsiF65L6"); + const expected = `Rounds: 10 +Salt: $2a$10$ODeP1.6fMsb.ENk2ngPUCO +Password hash: 7qTGVPyHA9TqDVcyupyed8FjsiF65L6 +Full hash: $2a$10$ODeP1.6fMsb.ENk2ngPUCO7qTGVPyHA9TqDVcyupyed8FjsiF65L6`; + assert.strictEqual(result.toString(), expected); + }), + + it("bifid cipher decode", () => { + const result = chef.bifidCipherDecode("Vhef Qnte Ke Xfhz Mxon Bmgf", { + keyword: "Alpha", + }); + assert.strictEqual(result.toString(), "What Goes Up Must Come Down"); + }), + + it("bifid cipher encode: string option", () => { + const result = bifidCipherEncode("some input", { + keyword: "mykeyword", + }); + assert.strictEqual(result.toString(), "nmhs zmsdo"); + }), + + it("bit shift left", () => { + const result = chef.bitShiftLeft("Keep Your Eyes Peeled"); + assert.strictEqual(result.toString(), "–ÊÊà@²Þêä@ŠòÊæ@ ÊÊØÊÈ"); + }), + + it("bitShiftRight: number and option", () => { + const result = bitShiftRight("some bits to shift", { + type: "Arithmetic shift", + amount: 1, + }); + assert.strictEqual(result.toString(), "9762\u001014:9\u0010:7\u00109443:"); + }), + + it("Blowfish encrypt", () => { + const result = chef.blowfishEncrypt("Fool's Gold", { + key: { + string: "One", + option: "hex", + }, + iv: { + string: "Two", + option: "utf8" + } + }); + assert.strictEqual(result.toString(), "8999b513bf2ff064b2977dea7e05f1b5"); + }), + + it("Blowfish decrypt", () => { + const result = chef.blowfishDecrypt("8999b513bf2ff064b2977dea7e05f1b5", { + key: { + string: "One", + option: "hex", + }, + iv: { + string: "Two", + option: "utf8", + } + }); + assert.strictEqual(result.toString(), "Fool's Gold"); + }), + + it("BSON Serialise / Deserialise", () => { + const result = chef.BSONDeserialise(chef.BSONSerialise("{\"phrase\": \"Mouth-watering\"}")); + assert.strictEqual(result.toString(), `{ + "phrase": "Mouth-watering" +}`); + }), + + it("Bzip2 Decompress", async () => { + const result = await chef.bzip2Decompress(chef.fromBase64("QlpoOTFBWSZTWUdQlt0AAAIVgEAAAQAmJAwAIAAxBkxA0A2pTL6U2CozxdyRThQkEdQlt0A=")); + assert.strictEqual(result.toString(), "Fit as a Fiddle"); + }), + + it("cartesianProduct: binary string", () => { + const result = cartesianProduct("1:2\\n\\n3:4", { + itemDelimiter: ":", + }); + assert.strictEqual(result.toString(), "(1,3):(1,4):(2,3):(2,4)"); + }), + + it("Change IP format", () => { + const result = chef.changeIPFormat("172.20.23.54", { + inputFormat: "Dotted Decimal", + outputFormat: "Hex", + }); + assert.strictEqual(result.toString(), "ac141736"); + }), + + it("Chi square", () => { + const result = chef.chiSquare("Burst Your Bubble"); + assert.strictEqual(result.toString(), "433.55399816176475"); + }), + + it("Compare CTPH Hashes", () => { + const result = chef.compareCTPHHashes("1234\n3456"); + assert.strictEqual(result.toString(), "0"); + }), + + it("Compare SSDEEPHashes", () => { + const result = chef.compareCTPHHashes("1234\n3456"); + assert.strictEqual(result.toString(), "0"); + }), + + it("Convert area", () => { + const result = chef.convertArea("12345", { + inputUnits: "Square metre (sq m)", + outputUnits: "Isle of Wight" + }); + assert.strictEqual(result.toString(), "0.00003248684210526316"); + }), + + it("Convert data units", () => { + const result = chef.convertDataUnits("12345", { + inputUnits: "Bits (b)", + outputUnits: "Kilobytes (KB)", + }); + assert.strictEqual(result.toString(), "1.543125"); + }), + + it("Convert distance", () => { + const result = chef.convertDistance("1234567", { + inputUnits: "Nanometres (nm)", + outputUnits: "Furlongs (fur)", + }); + assert.strictEqual(result.toString(), "0.00000613699494949495"); + }), + + it("Convert mass", () => { + const result = chef.convertMass("123", { + inputUnits: "Earth mass (M⊕)", + outputUnits: "Great Pyramid of Giza (6,000,000 tonnes)", + }); + assert.strictEqual(result.toString(), "122429895000000000"); + }), + + it("Convert speed", () => { + const result = chef.convertSpeed("123", { + inputUnits: "Lunar escape velocity", + outputUnits: "Jet airliner cruising speed", + }); + assert.strictEqual(result.toString(), "1168.5"); + }), + + it("Count occurrences", () => { + const result = chef.countOccurrences("Talk the Talk", { + searchString: { + string: "Tal", + option: "Simple string", + } + }); + assert.strictEqual(result.toString(), "2"); + }), + + it("CRC16 Checksum", () => { + const result = chef.CRC16Checksum("Rain on Your Parade"); + assert.strictEqual(result.toString(), "db1c"); + }), + + it("CRC32 Checksum", () => { + const result = chef.CRC32Checksum("Rain on Your Parade"); + assert.strictEqual(result.toString(), "e902f76c"); + }), + + it("CSS Beautify", () => { + const result = chef.CSSBeautify("header {color:black;padding:3rem;}"); + const expected = `header { +\\tcolor:black; +\\tpadding:3rem; +} +`; + assert.strictEqual(result.toString(), expected); + }), + + it("CSS minify: boolean", () => { + const input = `header { +// comment +width: 100%; +color: white; +}`; + const result = CSSMinify(input, { + preserveComments: true, + }); + assert.strictEqual(result.toString(), "header {// comment width: 100%;color: white;}"); + }), + + it("CSS Selector", () => { + const result = chef.CSSSelector("

      Hello

      ", { + cssSelector: "h1", + }); + assert.strictEqual(result.toString(), "

      Hello

      "); + }), + + it("CTPH", () => { + const result = chef.CTPH("If You Can't Stand the Heat, Get Out of the Kitchen"); + assert.strictEqual(result.toString(), "A:+EgFgBKAA0V0UFfClEs6:+Qk0gUFse"); + }), + + it("Decode NetBIOS Name", () => { + assert.strictEqual(chef.decodeNetBIOSName("EBGMGMCAEHHCGFGFGLCAFEGPCAENGFCA").toString(), "All Greek To Me"); + }), + + it("Decode text", () => { + const encoded = chef.encodeText("Ugly Duckling", { + encoding: "UTF16LE (1200)", + }); + const result = chef.decodeText(encoded, { + encoding: "UTF16LE (1200)", + }); + assert.strictEqual(result.toString(), "Ugly Duckling"); + }), + + it("Derive EVP Key", () => { + const result = chef.deriveEVPKey("", { + passphrase: { + string: "46 6c 65 61 20 4d 61 72 6b 65 74", + option: "Hex", + }, + salt: { + string: "Market", + option: "Hex", + }, + }); + assert.strictEqual(result.toString(), "7c21a9f5063a4d62fb1050068245c181"); + }), + + it("Derive PBKDF2 Key", () => { + const result = chef.derivePBKDF2Key("", { + passphrase: { + string: "Jack of All Trades Master of None", + option: "utf8", + }, + keySize: 256, + iterations: 2, + hashingFunction: "md5", + salt: { + string: "fruit", + option: "utf8" + } + }); + assert.strictEqual(result.toString(), "728a885b209e8b19cbd7430ca32608ff09190f7ccb7ded204e1d4c50f87c47bf"); + }), + + it("DES Decrypt", () => { + const result = chef.DESDecrypt("713081c66db781c323965ba8f166fd8c230c3bb48504a913", { + key: { + string: "onetwoth", + option: "utf8", + }, + iv: { + string: "threetwo", + option: "utf8", + }, + mode: "ECB", + }); + assert.strictEqual(result.toString(), "Put a Sock In It"); + }), + + it("DES Encrypt", () => { + const result = chef.DESEncrypt("Put a Sock In It", { + key: { + string: "onetwoth", + option: "utf8", + }, + iv: { + string: "threetwo", + option: "utf8", + }, + mode: "ECB", + }); + assert.strictEqual(result.toString(), "713081c66db781c323965ba8f166fd8c230c3bb48504a913"); + }), + + it("Diff", () => { + const result = chef.diff("one two\\n\\none two three"); + assert.strictEqual(result.toString(), "one two three"); + }), + + it("Disassemble x86", () => { + const result = chef.disassembleX86(chef.toBase64("one two three")); + const expected = `0000000000000000 0000 ADD BYTE PTR [RAX],AL\r +0000000000000002 0B250000000B OR ESP,DWORD PTR [0000000-F4FFFFF8]\r +`; + assert.strictEqual(result.toString(), expected); + }), + + it("Divide", () => { + assert.strictEqual(chef.divide("4\n7").toString(), "0.57142857142857142857"); + }), + + it("Drop bytes", () => { + assert.strictEqual(chef.dropBytes("There's No I in Team").toString(), "'s No I in Team"); + }), + + it("Entropy", () => { + const result = chef.entropy("Ride Him, Cowboy!"); + assert.strictEqual(result.toString(), "3.734521664779752"); + }), + + it("Escape string", () => { + const result = chef.escapeString("Know the Ropes", { + escapeLevel: "Everything", + JSONCompatible: false, + ES6Compatible: true, + uppercaseHex: true, + }); + assert.strictEqual(result.toString(), "\\x4B\\x6E\\x6F\\x77\\x20\\x74\\x68\\x65\\x20\\x52\\x6F\\x70\\x65\\x73"); + }), + + it("Escape unicode characters", () => { + assert.strictEqual(chef.escapeUnicodeCharacters("σου").toString(), "\\u03C3\\u03BF\\u03C5"); + }), + + it("Expand alphabet range", () => { + assert.strictEqual( + chef.expandAlphabetRange("Fight Fire With Fire", {delimiter: "t"}).toString(), + "Ftitgthttt tFtitrtet tWtitttht tFtitrte"); + }), + + it("Extract dates", () => { + assert.strictEqual(chef.extractDates("Don't Look a Gift Horse In The Mouth 01/02/1992").toString(), "01/02/1992\n"); + }), + + it("Filter", () => { + const result = chef.filter( + `I Smell a Rat +Every Cloud Has a Silver Lining +Top Drawer`, { + regex: "Every", + }); + const expected = "Every Cloud Has a Silver Lining"; + assert.strictEqual(result.toString(), expected); + }), + + it("Find / Replace", () => { + assert.strictEqual( + chef.findReplace( + "Curiosity Killed The Cat", + { + find: { + string: "l", + option: "Regex", + }, + replace: "s", + }).toString(), + "Curiosity Kissed The Cat"); + }), + + it("Fletcher8 Checksum", () => { + assert.strictEqual(chef.fletcher8Checksum("Keep Your Eyes Peeled").toString(), "48"); + }), + + it("Format MAC addresses", () => { + const result = chef.formatMACAddresses("00-01-02-03-04-05"); + const expected = `000102030405 +000102030405 +00-01-02-03-04-05 +00-01-02-03-04-05 +00:01:02:03:04:05 +00:01:02:03:04:05 +`; + assert.strictEqual(result.toString(), expected); + }), + + it("Frequency distribution", () => { + const result = chef.frequencyDistribution("Don't Count Your Chickens Before They Hatch"); + const expected = "{\"dataLength\":43,\"percentages\":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13.953488372093023,0,0,0,0,0,0,2.3255813953488373,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3255813953488373,4.651162790697675,2.3255813953488373,0,0,0,2.3255813953488373,0,0,0,0,0,0,0,0,0,0,0,2.3255813953488373,0,0,0,0,2.3255813953488373,0,0,0,0,0,0,0,2.3255813953488373,0,4.651162790697675,0,9.30232558139535,2.3255813953488373,0,6.976744186046512,2.3255813953488373,0,2.3255813953488373,0,0,6.976744186046512,9.30232558139535,0,0,4.651162790697675,2.3255813953488373,6.976744186046512,4.651162790697675,0,0,0,2.3255813953488373,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],\"distribution\":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,4,1,0,3,1,0,1,0,0,3,4,0,0,2,1,3,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],\"bytesRepresented\":22}"; + // Whacky formatting, but the data is all there + assert.strictEqual(result.toString().replace(/\r?\n|\r|\s/g, ""), expected); + }), + + it("From base", () => { + assert.strictEqual(chef.fromBase("11", {radix: 13}).toString(), "14"); + }), + + it("From BCD", () => { + assert.strictEqual(chef.fromBCD("1143", { inputFormat: "Raw", scheme: "7 4 2 1"}).toString(), "31313433"); + }), + + it("From binary", () => { + assert.strictEqual(chef.fromBinary("010101011100101101011010").toString(), "UËZ"); + }), + + it("From Charcode", () => { + assert.strictEqual(chef.fromCharcode("4c 6f 6e 67 20 49 6e 20 54 68 65 20 54 6f 6f 74 68 0a").toString(), "Long In The Tooth\n"); + }), + + it("From decimal", () => { + assert.strictEqual(chef.fromDecimal("72 101 108 108 111").toString(), "Hello"); + }), + + it("From hex", () => { + assert.strictEqual(chef.fromHex("52 69 6e 67 20 41 6e 79 20 42 65 6c 6c 73 3f").toString(), "Ring Any Bells?"); + }), + + it("From hex content", () => { + assert.strictEqual(chef.fromHexContent("foo|3d|bar").toString(), "foo=bar"); + }), + + it("To and From hex dump", () => { + assert.strictEqual(chef.fromHexdump(chef.toHexdump("Elephant in the Room")).toString(), "Elephant in the Room"); + }), + + it("From HTML entity", () => { + assert.strictEqual(chef.fromHTMLEntity("&").toString(), "&"); + }), + + it("To and From morse code", () => { + assert.strictEqual(chef.fromMorseCode(chef.toMorseCode("Put a Sock In It")).toString(), "PUT A SOCK IN IT"); + }), + + it("From octal", () => { + assert.strictEqual(chef.fromOctal("113 156 157 167 40 164 150 145 40 122 157 160 145 163").toString(), "Know the Ropes"); + }), + + it("To, From punycode", () => { + assert.strictEqual(chef.fromPunycode(chef.toPunycode("münchen")).toString(), "münchen"); + }), + + it("From unix timestamp", () => { + assert.strictEqual(chef.fromUNIXTimestamp("978346800").toString(), "Mon 1 January 2001 11:00:00 UTC"); + }), + + it("Generate HOTP", () => { + const result = chef.generateHOTP("Cut The Mustard", { + name: "colonel", + }); + const expected = `URI: otpauth://hotp/colonel?secret=IN2XIICUNBSSATLVON2GC4TE + +Password: 034148`; + assert.strictEqual(result.toString(), expected); + }), + + it("Generate PGP Key Pair", async () => { + const result = await chef.generatePGPKeyPair("Back To the Drawing Board", { + keyType: "ECC-256", + }); + assert.strictEqual(result.toString().length, 2005); + }), + + it("Generate UUID", () => { + const result = chef.generateUUID(); + assert.ok(result.toString()); + assert.strictEqual(result.toString().length, 36); + }), + + it("Gzip, Gunzip", () => { + assert.strictEqual(chef.gunzip(chef.gzip("Down To The Wire")).toString(), "Down To The Wire"); + }), + + it("Hex to Object Identifier", () => { + assert.strictEqual( + chef.hexToObjectIdentifier(chef.toHex("You Can't Teach an Old Dog New Tricks")).toString(), + "2.9.111.117.32.67.97.110.39.116.32.84.101.97.99.104.32.97.110.32.79.108.100.32.68.111.103.32.78.101.119.32.84.114.105.99.107.115"); + }), + + it("Hex to PEM", () => { + const result = chef.hexToPEM(chef.toHex("Yada Yada")); + const expected = `-----BEGIN CERTIFICATE-----\r +WWFkYSBZYWRh\r +-----END CERTIFICATE-----\r\n`; + assert.strictEqual(result.toString(), expected); + }), + + it("HMAC", () => { + assert.strictEqual(chef.HMAC("On Cloud Nine", {key: "idea"}).toString(), "e15c268b4ee755c9e52db094ed50add7"); + }), + + it("JPathExpression", () => { + assert.strictEqual(chef.JPathExpression("{\"key\" : \"value\"}", {query: "$.key"}).toString(), "\"value\""); + }), + + it("JSON Beautify", () => { + assert.strictEqual( + chef.JSONBeautify("{\"key\" : \"value\"}").toString(), + `{ + "key": "value" +}`); + }), + + it("Keccak", () => { + assert.strictEqual(chef.keccak("Flea Market").toString(), "c2a06880b19e453ee5440e8bd4c2024bedc15a6630096aa3f609acfd2b8f15f27cd293e1cc73933e81432269129ce954a6138889ce87831179d55dcff1cc7587"); + }), + + it("MD6", () => { + assert.strictEqual(chef.MD6("Head Over Heels", {key: "arty"}).toString(), "d8f7fe4931fbaa37316f76283d5f615f50ddd54afdc794b61da522556aee99ad"); + }), + + it("Parse ASN.1 Hex string", () => { + assert.strictEqual(chef.parseASN1HexString(chef.toHex("Mouth-watering")).toString(), "UNKNOWN(4d) 7574682d7761746572696e67\n"); + }), + + it("Parse DateTime", () => { + const result = chef.parseDateTime("06/07/2001 01:59:30"); + const expected = `Date: Friday 6th July 2001 +Time: 01:59:30 +Period: AM +Timezone: UTC +UTC offset: +0000 + +Daylight Saving Time: false +Leap year: false +Days in this month: 31 + +Day of year: 187 +Week number: 2001 +Quarter: 3`; + assert.strictEqual(result.toString(), expected); + }), + + it("Parse IPV6 address", () => { + const result = chef.parseIPv6Address("2001:0db8:85a3:0000:0000:8a2e:0370:7334"); + const expected = `Longhand: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 +Shorthand: 2001:db8:85a3::8a2e:370:7334 + +This is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4. +Documentation range: 2001:db8::/32`; + assert.strictEqual(result.toString(), expected); + }), + + it("Parse URI", () => { + const result = chef.parseURI("https://www.google.co.uk/search?q=almonds"); + const expected = `Protocol: https: +Hostname: www.google.co.uk +Path name: /search +Arguments: +\tq = almonds +`; + assert.strictEqual(result.toString(), expected); + }), + + it("Parse user agent", () => { + const result = chef.parseUserAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 "); + const expected = `Browser + Name: Mozilla + Version: 5.0 +Device + Model: unknown + Type: unknown + Vendor: unknown +Engine + Name: Gecko + Version: 47.0 +OS + Name: Windows + Version: 7 +CPU + Architecture: amd64`; + assert.strictEqual(result.toString(), expected); + }), + + it("PGP Encrypt and decrypt", async () => { + const pbkey = `-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: Keybase OpenPGP v2.1.3 +Comment: https://keybase.io/crypto + +xo0EXZtlowEEAKUqTFownTmqgXWu2KDrtyNYtFck7a16WM5QD95bFoAFFdnlwZ45 +6Vw8G8LCzHdyRXYp/JF1GknDrAd7nIRE+SuSz2yVK5nlOCfO1HFcg2Ov7e7/pBwd +qawx9GUIsCKd/6NxwDuT4YqarLFsuwljRC/eQiibO+ejnhoiKcU69sTNABEBAAHN +AMK0BBMBCgAeBQJdm2WjAhsvAwsJBwMVCggCHgECF4ADFgIBAhkBAAoJEGS79V2S +7D0owtMD/RT+o4BQJ8NSQBDgkYf42uOOu1Ud6GuN89nX6n20yAZbmqQ8CHnHY+Qc +l6ft4HnbIaNrI3arp/C2C+cwFypmt1BKyFEJUXO7ft3i/IxnjpCorDyAMCDckDvq +uma1LWtUHLb5s/ZuGMSHnhuji74IRWuIofNPdf7bCZW1GMbW9jNUzo0EXZtlowEE +AL38zaNkPmUVQaowP696fayBo18Nxs0yOzC4+0TYv1B/k5aUb0Air2h+o/Xw4E42 +Jh9gVdPSvhOAEqdV0UDe71wxa4cfAVMDY9v8ta81MWunChj3ISUk1oIQylTJNsY/ +b4KWOrLaOtBD9dyFGCzss5vLVdqdMjVIW2Cz0hb6IYG7ABEBAAHCwIMEGAEKAA8F +Al2bZaMFCQ8JnAACGy4AqAkQZLv1XZLsPSidIAQZAQoABgUCXZtlowAKCRA16MU2 +u2hFTX+JBACZ27xk0Afny2jjSoRzqLMrhzE7DBGcg2QqecMdNre12hVompAWcS4l +NFmPShKRi6UT8Zb38nD43vwfqwZImn60dOPqqAep3YF/Axm1u5HJb0aMEsb8O9jV +sVmNJv9jVTzPdlTGFQjuaeJfk5lwxB+5/O9NcgDhPgRAk9xb4FrT+xzmA/4tD11C +AdcITUkTZT4ZOo2418DGeaiaEqWcIkZeQG4Vh5TMj4QtZDwsYQhXPl5Zj1zKIN/1 +gRrKC+ztaQoDG8pJXTTtc9inRU++dhMqnRGrPcz0VfVXFaiH7PUCy+4WpP6r5Bs5 +YQ9ESHo+FsmIvDzU3e/PD0SfXfO4vqBrFYN8986NBF2bZaMBBADJafe0w9diaCNx +3A7e8MqjbNrhrLkD2cPxXspCATX3SuI19d2+hMiHZfKTyadBTIa+ICxvqoxwxyZD +raHSY3CWVZd1V4KB5mqf+3Zj5riLeGU0dtXwi/5c0bdUhBUgHiAMhi75p05jYih5 +KsNxPcK9hEwPu7B+QeHURMiIgojTGQARAQABwsCDBBgBCgAPBQJdm2WjBQkDwmcA +AhsuAKgJEGS79V2S7D0onSAEGQEKAAYFAl2bZaMACgkQzdkMJSM5Bqg2rwP/Ue28 +m3Fdfgh5JxouZ3Dm2KUDhZL95B+vdMk72acdoU7SRjlyDT8cApRqYx+MIXb8WrPN +1xCZnOM4zXeWIM0CAPQ1e/sCrK58L+P+eVngNmrW9epKtZ4L6hx+dqqja9vPZGQK +CsFAhA6A1gWB++OLk9Y6H23tWIdKEXMeAX7492zDYgP+OSPS79EWAqXL8SvmDrbl +WI5eiM6X5hAMrOjQqzXhatD7eP41N/FC3SfhyhX7hFbagO7MJG2AS5bmSvcuCdcN +wDwXd94B+7bfYgJIRKbr272yDwkyzGn+zmxzvMUt6ak5PNzfmadvhMZvIfDftswp +GYpXIUU0GObOgP2tpCGTErs= +=m++F +-----END PGP PUBLIC KEY BLOCK-----`; + const privateKey = `-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: Keybase OpenPGP v2.1.3 +Comment: https://keybase.io/crypto + +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 +pCGTErs= +=Ya+/ +-----END PGP PRIVATE KEY BLOCK-----`; + + const message = "A Fool and His Money are Soon Parted"; + + const encrypted = await chef.PGPEncrypt(message, { + publicKeyOfRecipient: pbkey, + }); + const result = await chef.PGPDecrypt(encrypted, { + privateKeyOfRecipient: privateKey, + }); + + assert.strictEqual(result.toString(), message); + }), + + it("Raw deflate", () => { + assert.strictEqual(chef.rawInflate(chef.rawDeflate("Like Father Like Son", { compressionType: "Fixed Huffman Coding"})).toString(), "Like Father Like Son"); + }), + + it("RC4", () => { + assert.strictEqual( + chef.RC4("Go Out On a Limb", {passphrase: {string: "Under Your Nose", option: "UTF8"}, inputFormat: "UTF8", outputFormat: "Hex"}).toString(), + "7d17e60d9bc94b7f4095851c729e69a2"); + }), + + it("RC4 Drop", () => { + assert.strictEqual( + chef.RC4Drop("Go Out On a Limb", {passphrase: {string: "Under Your Nose", option: "UTF8"}, inputFormat: "UTF8", outputFormat: "Hex"}).toString(), + "8fa5f2751d34476a0c857439f43816cf"); + }), + + it("Regular Expression", () => { + assert.strictEqual(chef.regularExpression("Wouldn't Harm a Fly", {regex: "\\'[a-z]"}).toString(), "Wouldn't Harm a Fly"); + }), + + it("Remove EXIF", () => { + const result = chef.removeEXIF(fs.readFileSync("tests/node/sampleData/pic.jpg")); + assert.strictEqual(result.toString().length, 4582); + }), + + it("Scan for embedded files", () => { + const result = chef.scanForEmbeddedFiles(fs.readFileSync("src/web/static/images/cook_male-32x32.png")); + const expected = "Scanning data for 'magic bytes' which may indicate embedded files."; + assert.ok(result.toString().indexOf(expected) === 0); + }), + + it("Scrypt", () => { + assert.strictEqual( + chef.scrypt("Playing For Keeps", {salt: {string: "salty", option: "Hex"}}).toString(), + "5446b6d86d88515894a163201765bceed0bc39610b1506cdc4d939ffc638bc46e051bce756e2865165d89d955a43a7eb5504502567dea8bfc9e7d49aaa894c07"); + }), + + it("SHA3", () => { + assert.strictEqual( + chef.SHA3("benign gravel").toString(), + "2b1e36e0dbe151a89887be08da3bad141908cce62327f678161bcf058627e87abe57e3c5fce6581678714e6705a207acbd5c1f37f7a812280bc2cc558f00bed9"); + }), + + it("Shake", () => { + assert.strictEqual( + chef.shake("murderous bloodshed").toString(), + "b79b3bb88099330bc6a15122f8dfaededf57a33b51c748d5a94e8122ff18d21e12f83412926b7e4a77a85ba6f36aa4841685e78296036337175e40096b5ac000"); + }), + + it("Snefru", () => { + assert.strictEqual( + chef.snefru("demeaning milestone").toString(), + "a671b48770fe073ce49e9259cc2f47d345a53712639f8ae23c5ad3fec19540a5"); + }), + + it("SQL Beautify", () => { + const result = chef.SQLBeautify(`SELECT MONTH, ID, RAIN_I, TEMP_F +FROM STATS;`); + const expected = `SELECT MONTH, + ID, + RAIN_I, + TEMP_F +FROM STATS;`; + assert.strictEqual(result.toString(), expected); + }), + + it("SSDEEP", () => { + assert.strictEqual( + chef.SSDEEP("shotgun tyranny snugly").toString(), + "3:DLIXzMQCJc:XERKc"); + }), + + it("strings", () => { + const result = chef.strings("smothering ampersand abreast", {displayTotal: true}); + const expected = `Total found: 1 + +smothering ampersand abreast +`; + assert.strictEqual(result.toString(), expected); + }), + + it("toBase64: editableOption", () => { + const result = toBase64("some input", { + alphabet: { + value: "0-9A-W+/a-zXYZ=" + }, + }); + assert.strictEqual(result.toString(), "StXkPI1gRe1sT0=="); + }), + + it("toBase64: editableOptions key is value", () => { + const result = toBase64("some input", { + alphabet: "0-9A-W+/a-zXYZ=", + }); + assert.strictEqual(result.toString(), "StXkPI1gRe1sT0=="); + }), + + it("toBase64: editableOptions default", () => { + const result = toBase64("some input"); + assert.strictEqual(result.toString(), "c29tZSBpbnB1dA=="); + }), + + it("To BCD", () => { + assert.strictEqual(chef.toBCD("443").toString(), "0100 0100 0011"); + }), + + it("To CamelCase", () => { + assert.strictEqual(chef.toCamelCase("Quickest Wheel").toString(), "quickestWheel"); + }), + + it("toHex: accepts args", () => { + const result = toHex("some input", { + delimiter: "Colon", + }); + assert.strictEqual(result.toString(), "73:6f:6d:65:20:69:6e:70:75:74"); + }), + + it("To Kebab case", () => { + assert.strictEqual(chef.toKebabCase("Elfin Gold").toString(), "elfin-gold"); + }), + + it("To punycode", () => { + assert.strictEqual(chef.toPunycode("♠ ♣ ♥ ♦ ← ↑ ‍ →").toString(), " -m06cw7klao368lfb3aq"); + }), + + it("to snake case", () => { + assert.strictEqual(chef.toSnakeCase("Abhorrent Grass").value, "abhorrent_grass"); + }), + + it("to unix timestamp", () => { + assert.strictEqual(chef.toUNIXTimestamp("2001-04-01").toString(), "986083200 (Sun 1 April 2001 00:00:00 UTC)"); + }), + + it("Translate DateTime format", () => { + assert.strictEqual(chef.translateDateTimeFormat("01/04/1999 22:33:01").toString(), "Thursday 1st April 1999 22:33:01 +00:00 UTC"); + }), + + it("Triple DES encrypt / decrypt", () => { + assert.strictEqual( + chef.tripleDESDecrypt( + chef.tripleDESEncrypt("Destroy Money", { + key: {string: "30 31 2f 30 34 2f 31 39 39 39 20 32 32 3a 33 33 3a 30 3130 31 2f 30 34", option: "Hex"}, + iv: {string: "00 00 00 00 00 00 00 00", option: "Hex"}}), + { + key: {string: "30 31 2f 30 34 2f 31 39 39 39 20 32 32 3a 33 33 3a 30 3130 31 2f 30 34", option: "Hex"}, + iv: {string: "00 00 00 00 00 00 00 00", option: "Hex"} + }).toString(), + "Destroy Money"); + }), + + it("UNIX Timestamp to Windows Filetime", () => { + assert.strictEqual(chef.UNIXTimestampToWindowsFiletime("2020735").toString(), "116464943350000000"); + }), + + it("XML Beautify", () => { + assert.strictEqual( + chef.XMLBeautify("abc").toString(), + ` +\\tabc +`); + }), + + it("XOR: toggleString with default option", () => { + assert.strictEqual(chef.XOR("fe023da5", { + key: "73 6f 6d 65" + }).toString(), + "\u0015\n]W@\u000b\fP"); + }), + + it("XOR: toggleString with custom option", () => { + assert.strictEqual(chef.XOR("fe023da5", { + key: { + string: "73 6f 6d 65", + option: "utf8", + } + }).toString(), + "QV\u0010\u0004UDWQ"); + }), + + it("XPath expression", () => { + assert.strictEqual( + chef.XPathExpression("abc", {xPath: "contact-info/company"}).toString(), + "abc"); + }), + + it("Zlib deflate / inflate", () => { + assert.strictEqual(chef.zlibInflate(chef.zlibDeflate("cut homer wile rooky grits dizen")).toString(), "cut homer wile rooky grits dizen"); + }), + + it("extract EXIF", () => { + assert.strictEqual( + chef.extractEXIF(fs.readFileSync("tests/node/sampleData/pic.jpg")).toString(), + `Found 7 tags. + +Orientation: 1 +XResolution: 72 +YResolution: 72 +ResolutionUnit: 2 +ColorSpace: 1 +ExifImageWidth: 57 +ExifImageHeight: 57`); + }), + + it("Tar", () => { + const tarred = chef.tar("some file content", { + filename: "test.txt" + }); + assert.strictEqual(tarred.type, 7); + assert.strictEqual(tarred.value.size, 2048); + assert.strictEqual(tarred.value.data.toString().substr(0, 8), "test.txt"); + }), + + it("Untar", () => { + const tarred = chef.tar("some file content", { + filename: "filename.txt", + }); + const untarred = chef.untar(tarred); + assert.strictEqual(untarred.type, 8); + assert.strictEqual(untarred.value.length, 1); + assert.strictEqual(untarred.value[0].name, "filename.txt"); + assert.strictEqual(untarred.value[0].data.toString(), "some file content"); + }), + + it("Zip", () => { + const zipped = chef.zip("some file content", { + filename: "sample.zip", + comment: "added", + operatingSystem: "Unix", + }); + + assert.strictEqual(zipped.type, 7); + assert.ok(zipped.value.data.toString().includes("sample.zip")); + assert.ok(zipped.value.data.toString().includes("added")); + }), + + it("Unzip", () => { + const zipped = chef.zip("some file content", { + filename: "zipped.zip", + comment: "zippy", + }); + const unzipped = chef.unzip(zipped); + + assert.equal(unzipped.type, 8); + assert.equal(unzipped.value[0].data, "some file content"); + assert.equal(unzipped.value[0].name, "zipped.zip"); + }), + + it("Unzip with password", () => { + const zipped = chef.zip("some content", { + password: "abcd", + }); + const unzipped = chef.unzip(zipped, { + password: "abcd", + }); + + assert.equal(unzipped.value[0].data, "some content"); + }), + + it("YARA Rule Matching", async () => { + const input = "foobar foobar bar foo foobar"; + const output = "Rule \"foo\" matches (4 times):\nPos 0, length 3, identifier $re1, data: \"foo\"\nPos 7, length 3, identifier $re1, data: \"foo\"\nPos 18, length 3, identifier $re1, data: \"foo\"\nPos 22, length 3, identifier $re1, data: \"foo\"\nRule \"bar\" matches (4 times):\nPos 3, length 3, identifier $re1, data: \"bar\"\nPos 10, length 3, identifier $re1, data: \"bar\"\nPos 14, length 3, identifier $re1, data: \"bar\"\nPos 25, length 3, identifier $re1, data: \"bar\"\n"; + + const res = await chef.YARARules(input, { + rules: "rule foo {strings: $re1 = /foo/ condition: $re1} rule bar {strings: $re1 = /bar/ condition: $re1}", + showStrings: true, + showStringLengths: true, + showMetadata: true + }); + + assert.equal(output, res.value); + }), + + +]); + diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index cff77217..d64a7737 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -10,162 +10,101 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import "babel-polyfill"; -// Define global environment functions -global.ENVIRONMENT_IS_WORKER = function() { - return typeof importScripts === "function"; -}; -global.ENVIRONMENT_IS_NODE = function() { - return typeof process === "object" && typeof require === "function"; -}; -global.ENVIRONMENT_IS_WEB = function() { - return typeof window === "object"; -}; +import { + setLongTestFailure, + logTestReport, +} from "../lib/utils.mjs"; -import TestRegister from "./TestRegister"; -import "./tests/BCD"; -import "./tests/BSON"; -import "./tests/Base58"; -import "./tests/Base64"; -import "./tests/Base62"; -import "./tests/BitwiseOp"; -import "./tests/ByteRepr"; -import "./tests/CartesianProduct"; -import "./tests/CharEnc"; -import "./tests/Checksum"; -import "./tests/Ciphers"; -import "./tests/Code"; -import "./tests/Comment"; -import "./tests/Compress"; -import "./tests/ConditionalJump"; -import "./tests/Crypt"; -import "./tests/CSV"; -import "./tests/DateTime"; -import "./tests/ExtractEmailAddresses"; -import "./tests/Fork"; -import "./tests/FromDecimal"; -import "./tests/Hash"; -import "./tests/HaversineDistance"; -import "./tests/Hexdump"; -import "./tests/Image"; -import "./tests/Jump"; -import "./tests/JSONBeautify"; -import "./tests/JSONMinify"; -import "./tests/JWTDecode"; -import "./tests/JWTSign"; -import "./tests/JWTVerify"; -import "./tests/MS"; -import "./tests/Magic"; -import "./tests/MorseCode"; -import "./tests/NetBIOS"; -import "./tests/OTP"; -import "./tests/PGP"; -import "./tests/PHP"; -import "./tests/ParseIPRange"; -import "./tests/ParseQRCode"; -import "./tests/PowerSet"; -import "./tests/Regex"; -import "./tests/Register"; -import "./tests/RemoveDiacritics"; -import "./tests/Rotate"; -import "./tests/SeqUtils"; -import "./tests/SetDifference"; -import "./tests/SetIntersection"; -import "./tests/SetUnion"; -import "./tests/StrUtils"; -import "./tests/SymmetricDifference"; -import "./tests/TextEncodingBruteForce"; -import "./tests/TranslateDateTimeFormat"; -import "./tests/Magic"; -import "./tests/ParseTLV"; -import "./tests/Media"; -import "./tests/ToFromInsensitiveRegex"; +import TestRegister from "../lib/TestRegister.mjs"; +import "./tests/BCD.mjs"; +import "./tests/BSON.mjs"; +import "./tests/BaconCipher.mjs"; +import "./tests/Base58.mjs"; +import "./tests/Base64.mjs"; +import "./tests/Base62.mjs"; +import "./tests/BitwiseOp.mjs"; +import "./tests/ByteRepr.mjs"; +import "./tests/CartesianProduct.mjs"; +import "./tests/CharEnc.mjs"; +import "./tests/ChangeIPFormat.mjs"; +import "./tests/Charts.mjs"; +import "./tests/Checksum.mjs"; +import "./tests/Ciphers.mjs"; +import "./tests/Code.mjs"; +import "./tests/Comment.mjs"; +import "./tests/Compress.mjs"; +import "./tests/ConditionalJump.mjs"; +import "./tests/Crypt.mjs"; +import "./tests/CSV.mjs"; +import "./tests/DateTime.mjs"; +import "./tests/ExtractEmailAddresses.mjs"; +import "./tests/Fork.mjs"; +import "./tests/FromDecimal.mjs"; +import "./tests/Hash.mjs"; +import "./tests/HaversineDistance.mjs"; +import "./tests/Hexdump.mjs"; +import "./tests/Image.mjs"; +import "./tests/IndexOfCoincidence.mjs"; +import "./tests/Jump.mjs"; +import "./tests/JSONBeautify.mjs"; +import "./tests/JSONMinify.mjs"; +import "./tests/JSONtoCSV.mjs"; +import "./tests/JWTDecode.mjs"; +import "./tests/JWTSign.mjs"; +import "./tests/JWTVerify.mjs"; +import "./tests/MS.mjs"; +import "./tests/Magic.mjs"; +import "./tests/MorseCode.mjs"; +import "./tests/NetBIOS.mjs"; +import "./tests/OTP.mjs"; +import "./tests/PGP.mjs"; +import "./tests/PHP.mjs"; +import "./tests/ParseIPRange.mjs"; +import "./tests/ParseQRCode.mjs"; +import "./tests/PowerSet.mjs"; +import "./tests/Regex.mjs"; +import "./tests/Register.mjs"; +import "./tests/RemoveDiacritics.mjs"; +import "./tests/Rotate.mjs"; +import "./tests/SeqUtils.mjs"; +import "./tests/SetDifference.mjs"; +import "./tests/SetIntersection.mjs"; +import "./tests/SetUnion.mjs"; +import "./tests/StrUtils.mjs"; +import "./tests/SymmetricDifference.mjs"; +import "./tests/TextEncodingBruteForce.mjs"; +import "./tests/TranslateDateTimeFormat.mjs"; +import "./tests/Magic.mjs"; +import "./tests/ParseTLV.mjs"; +import "./tests/Media.mjs"; +import "./tests/ToFromInsensitiveRegex.mjs"; import "./tests/YARA.mjs"; -import "./tests/ConvertCoordinateFormat"; -import "./tests/Enigma"; -import "./tests/Bombe"; -import "./tests/MultipleBombe"; -import "./tests/Typex"; +import "./tests/ConvertCoordinateFormat.mjs"; +import "./tests/Enigma.mjs"; +import "./tests/Bombe.mjs"; +import "./tests/MultipleBombe.mjs"; +import "./tests/Typex.mjs"; +import "./tests/BLAKE2b.mjs"; +import "./tests/BLAKE2s.mjs"; +import "./tests/Protobuf.mjs"; +import "./tests/ParseSSHHostKey.mjs"; +import "./tests/DefangIP.mjs"; +import "./tests/ParseUDP.mjs"; // Cannot test operations that use the File type yet -//import "./tests/SplitColourChannels"; +// import "./tests/SplitColourChannels.mjs"; -let allTestsPassing = true; -const testStatusCounts = { - total: 0, +const testStatus = { + allTestsPassing: true, + counts: { + total: 0, + } }; +setLongTestFailure(); -/** - * Helper function to convert a status to an icon. - * - * @param {string} status - * @returns {string} - */ -function statusToIcon(status) { - const icons = { - erroring: "🔥", - failing: "❌", - passing: "✔️️", - }; - return icons[status] || "?"; -} - - -/** - * Displays a given test result in the console. - * - * @param {Object} testResult - */ -function handleTestResult(testResult) { - allTestsPassing = allTestsPassing && testResult.status === "passing"; - const newCount = (testStatusCounts[testResult.status] || 0) + 1; - testStatusCounts[testResult.status] = newCount; - testStatusCounts.total += 1; - - console.log([ - statusToIcon(testResult.status), - testResult.test.name - ].join(" ")); - - if (testResult.output) { - console.log( - testResult.output - .trim() - .replace(/^/, "\t") - .replace(/\n/g, "\n\t") - ); - } -} - - -/** - * Fail if the process takes longer than 60 seconds. - */ -setTimeout(function() { - console.log("Tests took longer than 60 seconds to run, returning."); - process.exit(1); -}, 60 * 1000); - +const logOpsTestReport = logTestReport.bind(null, testStatus); TestRegister.runTests() - .then(function(results) { - results.forEach(handleTestResult); - - console.log("\n"); - - for (const testStatus in testStatusCounts) { - const count = testStatusCounts[testStatus]; - if (count > 0) { - console.log(testStatus.toUpperCase(), count); - } - } - - if (!allTestsPassing) { - console.log("\nFailing tests:\n"); - results.filter(r => r.status !== "passing").forEach(handleTestResult); - } - - process.exit(allTestsPassing ? 0 : 1); - }); + .then(logOpsTestReport); diff --git a/tests/operations/tests/BCD.mjs b/tests/operations/tests/BCD.mjs index 87cbd53e..c6715e56 100644 --- a/tests/operations/tests/BCD.mjs +++ b/tests/operations/tests/BCD.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/BLAKE2b.mjs b/tests/operations/tests/BLAKE2b.mjs new file mode 100644 index 00000000..088b1078 --- /dev/null +++ b/tests/operations/tests/BLAKE2b.mjs @@ -0,0 +1,56 @@ +/** + * BitwiseOp tests + * + * @author h345983745 + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "BLAKE2b: 512 - Hello World", + input: "Hello World", + expectedOutput: "4386a08a265111c9896f56456e2cb61a64239115c4784cf438e36cc851221972da3fb0115f73cd02486254001f878ab1fd126aac69844ef1c1ca152379d0a9bd", + recipeConfig: [ + { "op": "BLAKE2b", + "args": ["512", "Hex", {string: "", option: "UTF8"}] } + ] + }, + { + name: "BLAKE2b: 384 - Hello World", + input: "Hello World", + expectedOutput: "4d388e82ca8f866e606b6f6f0be910abd62ad6e98c0adfc27cf35acf948986d5c5b9c18b6f47261e1e679eb98edf8e2d", + recipeConfig: [ + { "op": "BLAKE2b", + "args": ["384", "Hex", {string: "", option: "UTF8"}] } + ] + }, + { + name: "BLAKE2b: 256 - Hello World", + input: "Hello World", + expectedOutput: "1dc01772ee0171f5f614c673e3c7fa1107a8cf727bdf5a6dadb379e93c0d1d00", + recipeConfig: [ + { "op": "BLAKE2b", + "args": ["256", "Hex", {string: "", option: "UTF8"}] } + ] + }, + { + name: "BLAKE2b: 160 - Hello World", + input: "Hello World", + expectedOutput: "6a8489e6fd6e51fae12ab271ec7fc8134dd5d737", + recipeConfig: [ + { "op": "BLAKE2b", + "args": ["160", "Hex", {string: "", option: "UTF8"}] } + ] + }, + { + name: "BLAKE2b: Key Test", + input: "message data", + expectedOutput: "3d363ff7401e02026f4a4687d4863ced", + recipeConfig: [ + { "op": "BLAKE2b", + "args": ["128", "Hex", {string: "pseudorandom key", option: "UTF8"}] } + ] + } +]); diff --git a/tests/operations/tests/BLAKE2s.mjs b/tests/operations/tests/BLAKE2s.mjs new file mode 100755 index 00000000..fe978d24 --- /dev/null +++ b/tests/operations/tests/BLAKE2s.mjs @@ -0,0 +1,47 @@ +/** + * BitwiseOp tests + * + * @author h345983745 + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "BLAKE2s: 256 - Hello World", + input: "Hello World", + expectedOutput: "7706af019148849e516f95ba630307a2018bb7bf03803eca5ed7ed2c3c013513", + recipeConfig: [ + { "op": "BLAKE2s", + "args": ["256", "Hex", {string: "", option: "UTF8"}] } + ] + }, + { + name: "BLAKE2s: 160 - Hello World", + input: "Hello World", + expectedOutput: "0e4fcfc2ee0097ac1d72d70b595a39e09a3c7c7e", + recipeConfig: [ + { "op": "BLAKE2s", + "args": ["160", "Hex", {string: "", option: "UTF8"}] } + ] + }, + { + name: "BLAKE2s: 128 - Hello World", + input: "Hello World", + expectedOutput: "9964ee6f36126626bf864363edfa96f6", + recipeConfig: [ + { "op": "BLAKE2s", + "args": ["128", "Hex", {string: "", option: "UTF8"}] } + ] + }, + { + name: "BLAKE2s: Key Test", + input: "Hello World", + expectedOutput: "9964ee6f36126626bf864363edfa96f6", + recipeConfig: [ + { "op": "BLAKE2s", + "args": ["128", "Hex", {string: "", option: "UTF8"}] } + ] + } +]); diff --git a/tests/operations/tests/BSON.mjs b/tests/operations/tests/BSON.mjs index f9eb6a87..83ef7caa 100644 --- a/tests/operations/tests/BSON.mjs +++ b/tests/operations/tests/BSON.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/BaconCipher.mjs b/tests/operations/tests/BaconCipher.mjs new file mode 100644 index 00000000..8833b584 --- /dev/null +++ b/tests/operations/tests/BaconCipher.mjs @@ -0,0 +1,433 @@ +/** + * Bacon Cipher tests. + * + * @author Karsten Silkenbäumer [github.com/kassi] + * @copyright Karsten Silkenbäumer 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister"; +import { BACON_ALPHABETS, BACON_TRANSLATIONS } from "../../../src/core/lib/Bacon"; + +const alphabets = Object.keys(BACON_ALPHABETS); +const translations = BACON_TRANSLATIONS; + +TestRegister.addTests([ + { + name: "Bacon Decode: no input", + input: "", + expectedOutput: "", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[0], false] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet 0/1", + input: "00011 00100 00010 01101 00011 01000 01100 00110 00001 00000 00010 01101 01100 10100 01101 10000 01001 10001", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[0], false] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet 0/1 inverse", + input: "11100 11011 11101 10010 11100 10111 10011 11001 11110 11111 11101 10010 10011 01011 10010 01111 10110 01110", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[0], true] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet A/B lower case", + input: "aaabb aabaa aaaba abbab aaabb abaaa abbaa aabba aaaab aaaaa aaaba abbab abbaa babaa abbab baaaa abaab baaab", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[1], false] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet A/B lower case inverse", + input: "bbbaa bbabb bbbab baaba bbbaa babbb baabb bbaab bbbba bbbbb bbbab baaba baabb ababb baaba abbbb babba abbba", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[1], true] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet A/B upper case", + input: "AAABB AABAA AAABA ABBAB AAABB ABAAA ABBAA AABBA AAAAB AAAAA AAABA ABBAB ABBAA BABAA ABBAB BAAAA ABAAB BAAAB", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[1], false] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet A/B upper case inverse", + input: "BBBAA BBABB BBBAB BAABA BBBAA BABBB BAABB BBAAB BBBBA BBBBB BBBAB BAABA BAABB ABABB BAABA ABBBB BABBA ABBBA", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[1], true] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet case code", + input: "thiS IsaN exampLe oF ThE bacON cIpher WIth upPPercasE letters tRanSLaTiNG to OnEs anD LoWErcase To zERoes. KS", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[2], false] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet case code inverse", + input: "THIs iS An EXAMPlE Of tHe BACon CiPHER wiTH UPppERCASe LETTERS TrANslAtIng TO oNeS ANd lOweRCASE tO ZerOES. ks", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[2], true] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet case code", + input: "A little example of the Bacon Cipher to be decoded. It is a working example and shorter than my others, but it anyways works tremendously. And just that's important, correct?", + expectedOutput: "DECODE", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[3], false] + } + ], + }, + { + name: "Bacon Decode: reduced alphabet case code inverse", + input: "Well, there's now another example which will be not only strange to read but sound weird for everyone not knowing what the thing is about. Nevertheless, works great out of the box.", + expectedOutput: "DECODE", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[0], translations[3], true] + } + ], + }, + { + name: "Bacon Decode: complete alphabet 0/1", + input: "00011 00100 00010 01110 00011 01000 01101 00110 00001 00000 00010 01110 01101 10110 01110 10001 01010 10010", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[0], false] + } + ], + }, + { + name: "Bacon Decode: complete alphabet 0/1 inverse", + input: "11100 11011 11101 10001 11100 10111 10010 11001 11110 11111 11101 10001 10010 01001 10001 01110 10101 01101", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[0], true] + } + ], + }, + { + name: "Bacon Decode: complete alphabet A/B lower case", + input: "aaabb aabaa aaaba abbba aaabb abaaa abbab aabba aaaab aaaaa aaaba abbba abbab babba abbba baaab ababa baaba", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[1], false] + } + ], + }, + { + name: "Bacon Decode: complete alphabet A/B lower case inverse", + input: "bbbaa bbabb bbbab baaab bbbaa babbb baaba bbaab bbbba bbbbb bbbab baaab baaba abaab baaab abbba babab abbab", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[1], true] + } + ], + }, + { + name: "Bacon Decode: complete alphabet A/B upper case", + input: "AAABB AABAA AAABA ABBBA AAABB ABAAA ABBAB AABBA AAAAB AAAAA AAABA ABBBA ABBAB BABBA ABBBA BAAAB ABABA BAABA", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[1], false] + } + ], + }, + { + name: "Bacon Decode: complete alphabet A/B upper case inverse", + input: "BBBAA BBABB BBBAB BAAAB BBBAA BABBB BAABA BBAAB BBBBA BBBBB BBBAB BAAAB BAABA ABAAB BAAAB ABBBA BABAB ABBAB", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[1], true] + } + ], + }, + { + name: "Bacon Decode: complete alphabet case code", + input: "thiS IsaN exampLe oF THe bacON cIpher WItH upPPercasE letters tRanSLAtiNG tO OnES anD LOwErcaSe To ZeRoeS. kS", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[2], false] + } + ], + }, + { + name: "Bacon Decode: complete alphabet case code inverse", + input: "THIs iSAn EXAMPlE Of thE BACon CiPHER wiTh UPppERCASe LETTERS TrANslaTIng To zEroES and LoWERcAsE tO oNEs. Ks", + expectedOutput: "DECODINGBACONWORKS", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[2], true] + } + ], + }, + { + name: "Bacon Decode: complete alphabet case code", + input: "A little example of the Bacon Cipher to be decoded. It is a working example and shorter than the first, but it anyways works tremendously. And just that's important, correct?", + expectedOutput: "DECODE", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[3], false] + } + ], + }, + { + name: "Bacon Decode: complete alphabet case code inverse", + input: "Well, there's now another example which will be not only strange to read but sound weird for everyone knowing nothing what the thing is about. Nevertheless, works great out of the box. ", + expectedOutput: "DECODE", + recipeConfig: [ + { + op: "Bacon Cipher Decode", + args: [alphabets[1], translations[3], true] + } + ], + }, + { + name: "Bacon Encode: no input", + input: "", + expectedOutput: "", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[0], translations[0], false, false] + } + ], + }, + { + name: "Bacon Encode: reduced alphabet 0/1", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "10010 00111 00100 10000 00100 10001 00000 00101 01101 10101 00000 01100 00011 01000 10010 01000 10011 01011 01110 10001 01101 10011 00100 10000 10010 00111 00100 00101 00100 01100 00010 00100", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[0], translations[0], false, false] + } + ], + }, + { + name: "Bacon Encode: reduced alphabet 0/1 inverse", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "01101 11000 11011 01111 11011 01110 11111 11010 10010 01010 11111 10011 11100 10111 01101 10111 01100 10100 10001 01110 10010 01100 11011 01111 01101 11000 11011 11010 11011 10011 11101 11011", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[0], translations[0], false, true] + } + ], + }, + { + name: "Bacon Encode: reduced alphabet 0/1, keeping extra characters", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "1001000111001001000000100'10001 00000 001010110110101, 000000110000011 0100010010 0100010011010110111010001 01101100110010010000 100100011100100 0010100100011000001000100.", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[0], translations[0], true, false] + } + ], + }, + { + name: "Bacon Encode: reduced alphabet 0/1 inverse, keeping extra characters", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "0110111000110110111111011'01110 11111 110101001001010, 111111001111100 1011101101 1011101100101001000101110 10010011001101101111 011011100011011 1101011011100111110111011.", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[0], translations[0], true, true] + } + ], + }, + { + name: "Bacon Encode: reduced alphabet A/B", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "BAABA AABBB AABAA BAAAA AABAA BAAAB AAAAA AABAB ABBAB BABAB AAAAA ABBAA AAABB ABAAA BAABA ABAAA BAABB ABABB ABBBA BAAAB ABBAB BAABB AABAA BAAAA BAABA AABBB AABAA AABAB AABAA ABBAA AAABA AABAA", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[0], translations[1], false, false] + } + ], + }, + { + name: "Bacon Encode: reduced alphabet A/B inverse", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "ABBAB BBAAA BBABB ABBBB BBABB ABBBA BBBBB BBABA BAABA ABABA BBBBB BAABB BBBAA BABBB ABBAB BABBB ABBAA BABAA BAAAB ABBBA BAABA ABBAA BBABB ABBBB ABBAB BBAAA BBABB BBABA BBABB BAABB BBBAB BBABB", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[0], translations[1], false, true] + } + ], + }, + { + name: "Bacon Encode: reduced alphabet A/B, keeping extra characters", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "BAABAAABBBAABAABAAAAAABAA'BAAAB AAAAA AABABABBABBABAB, AAAAAABBAAAAABB ABAAABAABA ABAAABAABBABABBABBBABAAAB ABBABBAABBAABAABAAAA BAABAAABBBAABAA AABABAABAAABBAAAAABAAABAA.", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[0], translations[1], true, false] + } + ], + }, + { + name: "Bacon Encode: reduced alphabet A/B inverse, keeping extra characters", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "ABBABBBAAABBABBABBBBBBABB'ABBBA BBBBB BBABABAABAABABA, BBBBBBAABBBBBAA BABBBABBAB BABBBABBAABABAABAAABABBBA BAABAABBAABBABBABBBB ABBABBBAAABBABB BBABABBABBBAABBBBBABBBABB.", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[0], translations[1], true, true] + } + ], + }, + { + name: "Bacon Encode: complete alphabet 0/1", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "10011 00111 00100 10001 00100 10010 00000 00101 01110 10111 00000 01101 00011 01000 10011 01001 10100 01100 01111 10010 01110 10101 00100 10001 10011 00111 00100 00101 00100 01101 00010 00100", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[1], translations[0], false, false] + } + ], + }, + { + name: "Bacon Encode: complete alphabet 0/1 inverse", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "01100 11000 11011 01110 11011 01101 11111 11010 10001 01000 11111 10010 11100 10111 01100 10110 01011 10011 10000 01101 10001 01010 11011 01110 01100 11000 11011 11010 11011 10010 11101 11011", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[1], translations[0], false, true] + } + ], + }, + { + name: "Bacon Encode: complete alphabet 0/1, keeping extra characters", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "1001100111001001000100100'10010 00000 001010111010111, 000000110100011 0100010011 0100110100011000111110010 01110101010010010001 100110011100100 0010100100011010001000100.", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[1], translations[0], true, false] + } + ], + }, + { + name: "Bacon Encode: complete alphabet 0/1 inverse, keeping extra characters", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "0110011000110110111011011'01101 11111 110101000101000, 111111001011100 1011101100 1011001011100111000001101 10001010101101101110 011001100011011 1101011011100101110111011.", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[1], translations[0], true, true] + } + ], + }, + { + name: "Bacon Encode: complete alphabet A/B", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "BAABB AABBB AABAA BAAAB AABAA BAABA AAAAA AABAB ABBBA BABBB AAAAA ABBAB AAABB ABAAA BAABB ABAAB BABAA ABBAA ABBBB BAABA ABBBA BABAB AABAA BAAAB BAABB AABBB AABAA AABAB AABAA ABBAB AAABA AABAA", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[1], translations[1], false, false] + } + ], + }, + { + name: "Bacon Encode: complete alphabet A/B inverse", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "ABBAA BBAAA BBABB ABBBA BBABB ABBAB BBBBB BBABA BAAAB ABAAA BBBBB BAABA BBBAA BABBB ABBAA BABBA ABABB BAABB BAAAA ABBAB BAAAB ABABA BBABB ABBBA ABBAA BBAAA BBABB BBABA BBABB BAABA BBBAB BBABB", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[1], translations[1], false, true] + } + ], + }, + { + name: "Bacon Encode: complete alphabet A/B, keeping extra characters", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "BAABBAABBBAABAABAAABAABAA'BAABA AAAAA AABABABBBABABBB, AAAAAABBABAAABB ABAAABAABB ABAABBABAAABBAAABBBBBAABA ABBBABABABAABAABAAAB BAABBAABBBAABAA AABABAABAAABBABAAABAAABAA.", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[1], translations[1], true, false] + } + ], + }, + { + name: "Bacon Encode: complete alphabet A/B inverse, keeping extra characters", + input: "There's a fox, and it jumps over the fence.", + expectedOutput: "ABBAABBAAABBABBABBBABBABB'ABBAB BBBBB BBABABAAABABAAA, BBBBBBAABABBBAA BABBBABBAA BABBAABABBBAABBBAAAAABBAB BAAABABABABBABBABBBA ABBAABBAAABBABB BBABABBABBBAABABBBABBBABB.", + recipeConfig: [ + { + op: "Bacon Cipher Encode", + args: [alphabets[1], translations[1], true, true] + } + ], + }, +]); diff --git a/tests/operations/tests/Base58.mjs b/tests/operations/tests/Base58.mjs index 0cc7612c..c23ba9ab 100644 --- a/tests/operations/tests/Base58.mjs +++ b/tests/operations/tests/Base58.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Base62.mjs b/tests/operations/tests/Base62.mjs index bb98348b..defe5fa5 100644 --- a/tests/operations/tests/Base62.mjs +++ b/tests/operations/tests/Base62.mjs @@ -7,7 +7,7 @@ * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Base64.mjs b/tests/operations/tests/Base64.mjs index d48c93c6..6e6fa703 100644 --- a/tests/operations/tests/Base64.mjs +++ b/tests/operations/tests/Base64.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; const ALL_BYTES = [ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", diff --git a/tests/operations/tests/BitwiseOp.mjs b/tests/operations/tests/BitwiseOp.mjs index 09af70a1..50303677 100644 --- a/tests/operations/tests/BitwiseOp.mjs +++ b/tests/operations/tests/BitwiseOp.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Bombe.mjs b/tests/operations/tests/Bombe.mjs index b44e032c..2d391211 100644 --- a/tests/operations/tests/Bombe.mjs +++ b/tests/operations/tests/Bombe.mjs @@ -4,7 +4,7 @@ * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/ByteRepr.mjs b/tests/operations/tests/ByteRepr.mjs index 86b6d58d..51d9604d 100644 --- a/tests/operations/tests/ByteRepr.mjs +++ b/tests/operations/tests/ByteRepr.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; const ALL_BYTES = [ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", diff --git a/tests/operations/tests/CSV.mjs b/tests/operations/tests/CSV.mjs index 28610058..cc3535a4 100644 --- a/tests/operations/tests/CSV.mjs +++ b/tests/operations/tests/CSV.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; const EXAMPLE_CSV = `A,B,C,D,E,F\r 1,2,3,4,5,6\r diff --git a/tests/operations/tests/CartesianProduct.mjs b/tests/operations/tests/CartesianProduct.mjs index cb89ac5b..597a8450 100644 --- a/tests/operations/tests/CartesianProduct.mjs +++ b/tests/operations/tests/CartesianProduct.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/ChangeIPFormat.mjs b/tests/operations/tests/ChangeIPFormat.mjs new file mode 100644 index 00000000..d92ffb79 --- /dev/null +++ b/tests/operations/tests/ChangeIPFormat.mjs @@ -0,0 +1,52 @@ +/** + * Change IP format tests. + * + * @author Chris Smith + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Change IP format: Dotted Decimal to Hex", + input: "192.168.1.1", + expectedOutput: "c0a80101", + recipeConfig: [ + { + op: "Change IP format", + args: ["Dotted Decimal", "Hex"], + }, + ], + }, { + name: "Change IP format: Decimal to Dotted Decimal", + input: "3232235777", + expectedOutput: "192.168.1.1", + recipeConfig: [ + { + op: "Change IP format", + args: ["Decimal", "Dotted Decimal"], + }, + ], + }, { + name: "Change IP format: Hex to Octal", + input: "c0a80101", + expectedOutput: "030052000401", + recipeConfig: [ + { + op: "Change IP format", + args: ["Hex", "Octal"], + }, + ], + }, { + name: "Change IP format: Octal to Decimal", + input: "030052000401", + expectedOutput: "3232235777", + recipeConfig: [ + { + op: "Change IP format", + args: ["Octal", "Decimal"], + }, + ], + }, +]); diff --git a/tests/operations/tests/CharEnc.mjs b/tests/operations/tests/CharEnc.mjs index d154ca3e..1bd18d76 100644 --- a/tests/operations/tests/CharEnc.mjs +++ b/tests/operations/tests/CharEnc.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { @@ -69,7 +69,7 @@ TestRegister.addTests([ ], }, { - name: "Generate Base64 Windows Powershell", + name: "Generate Base64 Windows PowerShell", input: "ZABpAHIAIAAiAGMAOgBcAHAAcgBvAGcAcgBhAG0AIABmAGkAbABlAHMAIgAgAA==", expectedOutput: "dir \"c:\\program files\" ", recipeConfig: [ diff --git a/tests/operations/tests/Charts.mjs b/tests/operations/tests/Charts.mjs new file mode 100644 index 00000000..a62b5741 --- /dev/null +++ b/tests/operations/tests/Charts.mjs @@ -0,0 +1,55 @@ +/** + * Chart tests. + * + * @author Matt C [me@mitt.dev] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Scatter chart", + input: "100 100\n200 200\n300 300\n400 400\n500 500", + expectedMatch: /^ dd if=/dev/urandom of=key.txt bs=16 count=1 + * + * + * The following is a Python script used to generate the AES-GCM tests. + * It uses PyCryptodome (https://www.pycryptodome.org) to handle the AES encryption and decryption. + * + * from Crypto.Cipher import AES + * import binascii + + * input_data = "0123456789ABCDEF" + * key = binascii.unhexlify("00112233445566778899aabbccddeeff") + * iv = binascii.unhexlify("ffeeddccbbaa99887766554433221100") + * + * cipher = AES.new(key, AES.MODE_GCM, nonce=iv) + * cipher_text, tag = cipher.encrypt_and_digest(binascii.unhexlify(input_data)) + * + * cipher = AES.new(key, AES.MODE_GCM, nonce=iv) + * decrypted = cipher.decrypt_and_verify(cipher_text, tag) + * + * key = binascii.hexlify(key).decode("UTF-8") + * iv = binascii.hexlify(iv).decode("UTF-8") + * cipher_text = binascii.hexlify(cipher_text).decode("UTF-8") + * tag = binascii.hexlify(tag).decode("UTF-8") + * decrypted = binascii.hexlify(decrypted).decode("UTF-8") + * + * print("Key: {}\nIV : {}\nInput data: {}\n\nEncrypted ciphertext: {}\nGCM tag: {}\n\nDecrypted plaintext : {}".format(key, iv, input_data, cipher_text, tag, decrypted)) + * + * + * Outputs: + * Key: 00112233445566778899aabbccddeeff + * IV : ffeeddccbbaa99887766554433221100 + * Input data: 0123456789ABCDEF + * + * Encrypted ciphertext: 8feeafedfdb2f6f9 + * GCM tag: 654ef4957c6e2b0cc6501d8f9bcde032 + * + * Decrypted plaintext : 0123456789abcdef */ { name: "AES Encrypt: no key", @@ -40,7 +76,7 @@ The following algorithms will be used based on the size of the key: ], }, { - name: "AES Encrypt: AES-128-CBC, no IV, ASCII", + name: "AES Encrypt: AES-128-CBC with IV0, ASCII", input: "The quick brown fox jumps over the lazy dog.", expectedOutput: "2ef6c3fdb1314b5c2c326a2087fe1a82d5e73bf605ec8431d73e847187fc1c8fbbe969c177df1ecdf8c13f2f505f9498", recipeConfig: [ @@ -48,14 +84,29 @@ The following algorithms will be used based on the size of the key: "op": "AES Encrypt", "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, - {"option": "Hex", "string": ""}, + {"option": "Hex", "string": "00000000000000000000000000000000"}, "CBC", "Raw", "Hex" ] } ], }, { - name: "AES Encrypt: AES-128-CBC with IV, ASCII", + name: "AES Encrypt: AES-128-CTR with IV0, ASCII", + input: "The quick brown fox jumps over the lazy dog.", + expectedOutput: "a98c9e8e3b7c894384d740e4f0f4ed0be2bbb1e0e13a255812c3c6b0a629e4ad759c075b2469c6f4fb2c0cf9", + recipeConfig: [ + { + "op": "AES Encrypt", + "args": [ + {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, + {"option": "Hex", "string": "00000000000000000000000000000000"}, + "CTR", "Raw", "Hex" + ] + } + ], + }, + { + name: "AES Encrypt: AES-128-CBC with IV1, ASCII", input: "The quick brown fox jumps over the lazy dog.", expectedOutput: "4fa077d50cc71a57393e7b542c4e3aea0fb75383b97083f2f568ffc13c0e7a47502ec6d9f25744a061a3a5e55fe95e8d", recipeConfig: [ @@ -209,9 +260,9 @@ Tag: 16a3e732a605cc9ca29108f742ca0743`, { name: "AES Encrypt: AES-128-GCM, Binary", input: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", - expectedOutput: `fa17fcbf5e8763322c1b0c8562e1512ed9d702ef70c1643572b9de3e34ae6b535e6c1b992432aa6d06fb6f80c861262aef66e7c26035afe77bd3861261e4e092b523f058f8ebef2143db21bc16d02f7a011efb07419300cb41c3b884d1d8d6a766b8963c + expectedOutput: `5a29debb5c5f38cdf8aee421bd94dbbf3399947faddf205f88b3ad8ecb0c51214ec0e28bf78942dfa212d7eb15259bbdcac677b4c05f473eeb9331d74f31d441d97d56eb5c73b586342d72128ca528813543dc0fc7eddb7477172cc9194c18b2e1383e4e -Tag: fa6bbb34c8cde65a3d7b93fb094fc84f`, +Tag: 70fad2ca19412c20f40fd06918736e56`, recipeConfig: [ { "op": "AES Encrypt", @@ -301,9 +352,9 @@ Tag: fa6bbb34c8cde65a3d7b93fb094fc84f`, { name: "AES Encrypt: AES-192-GCM, Binary", input: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", - expectedOutput: `ed22946f96964d300b45f5ce2d9601ba87682da1a603c90e6d4f7738729b0602f613ee392c9bfc7792594474f1213fb99185851f02ece4df0e93995e49f97aa4d0a337d7a80d83e4219dae5a3d36658f8659cdd5ed7c32707f98656fab7fb43f7a61e37c + expectedOutput: `318b479d919d506f0cd904f2676fab263a7921b6d7e0514f36e03ae2333b77fa66ef5600babcb2ee9718aeb71fc357412343c1f2cb351d8715bb0aedae4a6468124f9c4aaf6a721b306beddbe63a978bec8baeeba4b663be33ee5bc982746bd4aed1c38b -Tag: be17cb31edb77f648b9d1032b235b33d`, +Tag: 86db597d5302595223cadbd990f1309b`, recipeConfig: [ { "op": "AES Encrypt", @@ -393,9 +444,9 @@ Tag: be17cb31edb77f648b9d1032b235b33d`, { name: "AES Encrypt: AES-256-GCM, Binary", input: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", - expectedOutput: `e3f1b236eaf3b9df69df8133a1b417fa42b242d8ad49e4d2f3469aca7e2a41737e4f2c8a0d212143287088fad51743577dc6dfa8ed328ca90113cbeb9b137926b2168cc037bdc371777e6ee02b9d9c017b6054fd83d43b4885fbe9c044a8574f1491a893 + expectedOutput: `1287f188ad4d7ab0d9ff69b3c29cb11f861389532d8cb9337181da2e8cfc74a84927e8c0dd7a28a32fd485afe694259a63c199b199b95edd87c7aa95329feac340f2b78b72956a85f367044d821766b1b7135815571df44900695f1518cf3ae38ecb650f -Tag: 23ddbd3ee4de33f98a9ea9a170bdf268`, +Tag: 821b1e5f32dad052e502775a523d957a`, recipeConfig: [ { "op": "AES Encrypt", @@ -486,9 +537,10 @@ Triple DES uses a key length of 24 bytes (192 bits).`, ], }, { + // play.golang.org/p/4Qm2hfLGsqc name: "DES Encrypt: DES-CTR, Binary", input: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", - expectedOutput: "09015087e15b0937ab0ae5a84d66e520893690a6ea066382bf1330e8876cb3aa82ccc634f8f0d458bbe0257df6f4637cdac89f311168ba91208a21ba4bdd13c4b1a92cb93b33364b5b94a5d3d7fba68f6eed5807d9f5afeb7fbffcd94792131d264004ae", + expectedOutput: "09015087e15b0937c462fd5974af0c4b5880de136a5680453c99f4500628cbeca769623515d836985110b93eacfea7fa4a7b2b3cb4f67acbb5f7e8ddb5a5d445da74bf6572b0a874befa3888c81110776388e400afd8dc908dcc0c018c7753355f8a1c9f", recipeConfig: [ { "op": "DES Encrypt", @@ -579,9 +631,10 @@ DES uses a key length of 8 bytes (64 bits).`, ], }, { + // play.golang.org/p/RElT6pVeNz2 name: "Triple DES Encrypt: DES-EDE3-CTR, Binary", input: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", - expectedOutput: "874d32cd7bdae52c254687e2d7e7093b077af2ec70878f99315f52a21ded5fb10c80a47e6271384335ac47376c758f675484fd7b8be9568aaec643f0d15cffdf3fe54ef3a1b2da50d5d8c7994d7a4a94e0a13a4d437443f0f1f39e93dd13ff06a80c66e4", + expectedOutput: "874d32cd7bdae52cd8630d3ab2bf373e7110e13713caa6a8bfed9d9dd802d0ebe93128ac0d0f05abcc56237b75fb69207dba11e68ddc4b0118a4c75e7248bbd80aaba4dd4436642546ec6ca7fa7526f3b0018ed5194c409dc2c1484530b968af554984f3", recipeConfig: [ { "op": "Triple DES Encrypt", @@ -630,7 +683,7 @@ The following algorithms will be used based on the size of the key: ], }, { - name: "AES Decrypt: AES-128-CBC, no IV, ASCII", + name: "AES Decrypt: AES-128-CBC with IV0, ASCII", input: "2ef6c3fdb1314b5c2c326a2087fe1a82d5e73bf605ec8431d73e847187fc1c8fbbe969c177df1ecdf8c13f2f505f9498", expectedOutput: "The quick brown fox jumps over the lazy dog.", recipeConfig: [ @@ -638,13 +691,29 @@ The following algorithms will be used based on the size of the key: "op": "AES Decrypt", "args": [ {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, - {"option": "Hex", "string": ""}, + {"option": "Hex", "string": "00000000000000000000000000000000"}, "CBC", "Hex", "Raw", {"option": "Hex", "string": ""} ] } ], }, + { + name: "AES Decrypt: AES-128-CTR with IV0, ASCII", + input: "a98c9e8e3b7c894384d740e4f0f4ed0be2bbb1e0e13a255812c3c6b0a629e4ad759c075b2469c6f4fb2c0cf9", + expectedOutput: "The quick brown fox jumps over the lazy dog.", + recipeConfig: [ + { + "op": "AES Decrypt", + "args": [ + {"option": "Hex", "string": "00112233445566778899aabbccddeeff"}, + {"option": "Hex", "string": "00000000000000000000000000000000"}, + "CTR", "Hex", "Raw", + {"option": "Hex", "string": ""} + ] + } + ], + }, { name: "AES Decrypt: AES-128-CBC with IV, ASCII", input: "4fa077d50cc71a57393e7b542c4e3aea0fb75383b97083f2f568ffc13c0e7a47502ec6d9f25744a061a3a5e55fe95e8d", @@ -807,7 +876,7 @@ The following algorithms will be used based on the size of the key: }, { name: "AES Decrypt: AES-128-GCM, Binary", - input: "fa17fcbf5e8763322c1b0c8562e1512ed9d702ef70c1643572b9de3e34ae6b535e6c1b992432aa6d06fb6f80c861262aef66e7c26035afe77bd3861261e4e092b523f058f8ebef2143db21bc16d02f7a011efb07419300cb41c3b884d1d8d6a766b8963c", + input: "5a29debb5c5f38cdf8aee421bd94dbbf3399947faddf205f88b3ad8ecb0c51214ec0e28bf78942dfa212d7eb15259bbdcac677b4c05f473eeb9331d74f31d441d97d56eb5c73b586342d72128ca528813543dc0fc7eddb7477172cc9194c18b2e1383e4e", expectedOutput: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", recipeConfig: [ { @@ -816,7 +885,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "51e201d463698ef5f717f71f5b4712af"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "GCM", "Hex", "Hex", - {"option": "Hex", "string": "fa6bbb34c8cde65a3d7b93fb094fc84f"} + {"option": "Hex", "string": "70fad2ca19412c20f40fd06918736e56"} ] } ], @@ -903,7 +972,7 @@ The following algorithms will be used based on the size of the key: }, { name: "AES Decrypt: AES-192-GCM, Binary", - input: "ed22946f96964d300b45f5ce2d9601ba87682da1a603c90e6d4f7738729b0602f613ee392c9bfc7792594474f1213fb99185851f02ece4df0e93995e49f97aa4d0a337d7a80d83e4219dae5a3d36658f8659cdd5ed7c32707f98656fab7fb43f7a61e37c", + input: "318b479d919d506f0cd904f2676fab263a7921b6d7e0514f36e03ae2333b77fa66ef5600babcb2ee9718aeb71fc357412343c1f2cb351d8715bb0aedae4a6468124f9c4aaf6a721b306beddbe63a978bec8baeeba4b663be33ee5bc982746bd4aed1c38b", expectedOutput: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", recipeConfig: [ { @@ -912,7 +981,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "6801ed503c9d96ee5f9d78b07ab1b295dba3c2adf81c7816"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "GCM", "Hex", "Hex", - {"option": "Hex", "string": "be17cb31edb77f648b9d1032b235b33d"} + {"option": "Hex", "string": "86db597d5302595223cadbd990f1309b"} ] } ], @@ -999,7 +1068,7 @@ The following algorithms will be used based on the size of the key: }, { name: "AES Decrypt: AES-256-GCM, Binary", - input: "e3f1b236eaf3b9df69df8133a1b417fa42b242d8ad49e4d2f3469aca7e2a41737e4f2c8a0d212143287088fad51743577dc6dfa8ed328ca90113cbeb9b137926b2168cc037bdc371777e6ee02b9d9c017b6054fd83d43b4885fbe9c044a8574f1491a893", + input: "1287f188ad4d7ab0d9ff69b3c29cb11f861389532d8cb9337181da2e8cfc74a84927e8c0dd7a28a32fd485afe694259a63c199b199b95edd87c7aa95329feac340f2b78b72956a85f367044d821766b1b7135815571df44900695f1518cf3ae38ecb650f", expectedOutput: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", recipeConfig: [ { @@ -1008,7 +1077,7 @@ The following algorithms will be used based on the size of the key: {"option": "Hex", "string": "2d767f6e9333d1c77581946e160b2b7368c2cdd5e2b80f04ca09d64e02afbfe1"}, {"option": "Hex", "string": "1748e7179bd56570d51fa4ba287cc3e5"}, "GCM", "Hex", "Hex", - {"option": "Hex", "string": "23ddbd3ee4de33f98a9ea9a170bdf268"} + {"option": "Hex", "string": "821b1e5f32dad052e502775a523d957a"} ] } ], @@ -1093,9 +1162,10 @@ Triple DES uses a key length of 24 bytes (192 bits).`, ], }, { + // play.golang.org/p/FpvqncmPk7R name: "DES Decrypt: DES-CTR, Binary", input: "09015087e15b0937ab0ae5a84d66e520893690a6ea066382bf1330e8876cb3aa82ccc634f8f0d458bbe0257df6f4637cdac89f311168ba91208a21ba4bdd13c4b1a92cb93b33364b5b94a5d3d7fba68f6eed5807d9f5afeb7fbffcd94792131d264004ae", - expectedOutput: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", + expectedOutput: "7a0e643132750e96b76dc9efa7810bea2b8feaa5b97887e44f96c0e6d506cc4dd4665683c6f63139221f8d887fd0a05b39741f8a67d87d6ac6f8dc6b668bd3e4a97b8bd3a19eafd5cdf50c3e1b3f17d61087d0b67cf6db31fec338b75f5954942c852829", recipeConfig: [ { "op": "DES Decrypt", @@ -1186,9 +1256,10 @@ DES uses a key length of 8 bytes (64 bits).`, ], }, { + // play.golang.org/p/iBacN9kX_RO name: "Triple DES Decrypt: DES-EDE3-CTR, Binary", input: "874d32cd7bdae52c254687e2d7e7093b077af2ec70878f99315f52a21ded5fb10c80a47e6271384335ac47376c758f675484fd7b8be9568aaec643f0d15cffdf3fe54ef3a1b2da50d5d8c7994d7a4a94e0a13a4d437443f0f1f39e93dd13ff06a80c66e4", - expectedOutput: "7a0e643132750e96d805d11e9e48e281fa39a41039286423cc1c045e5442b40bf1c3f2822bded3f9c8ef11cb25da64dda9c7ab87c246bd305385150c98f31465c2a6180fe81d31ea289b916504d5a12e1de26cb10adba84a0cb0c86f94bc14bc554f3018", + expectedOutput: "7a0e643132750e9625205bc6fb10dc848c53b7cb5a654d1242aecb6191ad3b5114727e5044a0ee11311575873c54829a80f9471ac473a0bbe5e791a23be75062f7e8f2210d998f9fbbaf3a5bb3dacd494d42d82950e3ab273f821eb979168315a80ad20f", recipeConfig: [ { "op": "Triple DES Decrypt", diff --git a/tests/operations/tests/DateTime.mjs b/tests/operations/tests/DateTime.mjs index 3063ca64..6276890d 100644 --- a/tests/operations/tests/DateTime.mjs +++ b/tests/operations/tests/DateTime.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/DefangIP.mjs b/tests/operations/tests/DefangIP.mjs new file mode 100644 index 00000000..60005c54 --- /dev/null +++ b/tests/operations/tests/DefangIP.mjs @@ -0,0 +1,43 @@ +/** + * DefangIP tests. + * + * @author h345983745 + * + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Defang IP: Valid IPV4", + input: "192.168.1.1", + expectedOutput: "192[.]168[.]1[.]1", + recipeConfig: [ + { + op: "Defang IP Addresses", + args: [], + }, + ], + }, { + name: "Defang IP: Valid IPV6", + input: "2001:0db8:85a3:0000:0000:8a2e:0370:7343", + expectedOutput: "2001[:]0db8[:]85a3[:]0000[:]0000[:]8a2e[:]0370[:]7343", + recipeConfig: [ + { + op: "Defang IP Addresses", + args: [], + }, + ], + }, { + name: "Defang IP: Valid IPV6 Shorthand", + input: "2001:db8:3c4d:15::1a2f:1a2b", + expectedOutput: "2001[:]db8[:]3c4d[:]15[:][:]1a2f[:]1a2b", + recipeConfig: [ + { + op: "Defang IP Addresses", + args: [], + }, + ], + }, +]); diff --git a/tests/operations/tests/Enigma.mjs b/tests/operations/tests/Enigma.mjs index 5a3a8002..090ecc35 100644 --- a/tests/operations/tests/Enigma.mjs +++ b/tests/operations/tests/Enigma.mjs @@ -4,7 +4,7 @@ * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/ExtractEmailAddresses.mjs b/tests/operations/tests/ExtractEmailAddresses.mjs index 59365828..a0a01f67 100644 --- a/tests/operations/tests/ExtractEmailAddresses.mjs +++ b/tests/operations/tests/ExtractEmailAddresses.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Fork.mjs b/tests/operations/tests/Fork.mjs index 3752e340..d7ee918c 100644 --- a/tests/operations/tests/Fork.mjs +++ b/tests/operations/tests/Fork.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { @@ -57,7 +57,7 @@ TestRegister.addTests([ { name: "Fork, Conditional Jump, Encodings", input: "Some data with a 1 in it\nSome data with a 2 in it", - expectedOutput: "U29tZSBkYXRhIHdpdGggYSAxIGluIGl0\n53 6f 6d 65 20 64 61 74 61 20 77 69 74 68 20 61 20 32 20 69 6e 20 69 74\n", + expectedOutput: "U29tZSBkYXRhIHdpdGggYSAxIGluIGl0\n53 6f 6d 65 20 64 61 74 61 20 77 69 74 68 20 61 20 32 20 69 6e 20 69 74", recipeConfig: [ {"op": "Fork", "args": ["\\n", "\\n", false]}, {"op": "Conditional Jump", "args": ["1", false, "skipReturn", "10"]}, diff --git a/tests/operations/tests/FromDecimal.mjs b/tests/operations/tests/FromDecimal.mjs index b9b4de05..dfc440ec 100644 --- a/tests/operations/tests/FromDecimal.mjs +++ b/tests/operations/tests/FromDecimal.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2018 * @licence Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/FromGeohash.mjs b/tests/operations/tests/FromGeohash.mjs new file mode 100644 index 00000000..dec58687 --- /dev/null +++ b/tests/operations/tests/FromGeohash.mjs @@ -0,0 +1,55 @@ +/** + * To Geohash tests + * + * @author gchq77703 + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "From Geohash", + input: "ww8p1r4t8", + expectedOutput: "37.83238649368286,112.55838632583618", + recipeConfig: [ + { + op: "From Geohash", + args: [], + }, + ], + }, + { + name: "From Geohash", + input: "ww8p1r", + expectedOutput: "37.83416748046875,112.5604248046875", + recipeConfig: [ + { + op: "From Geohash", + args: [], + }, + ], + }, + { + name: "From Geohash", + input: "ww8", + expectedOutput: "37.265625,113.203125", + recipeConfig: [ + { + op: "From Geohash", + args: [], + }, + ], + }, + { + name: "From Geohash", + input: "w", + expectedOutput: "22.5,112.5", + recipeConfig: [ + { + op: "From Geohash", + args: [], + }, + ], + }, +]); diff --git a/tests/operations/tests/Hash.mjs b/tests/operations/tests/Hash.mjs index 31ebc3a6..9da5cfb6 100644 --- a/tests/operations/tests/Hash.mjs +++ b/tests/operations/tests/Hash.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { @@ -1033,6 +1033,72 @@ TestRegister.addTests([ } ] }, + { + name: "Streebog-256: Test Case 1", + input: "", + expectedOutput: "3f539a213e97c802cc229d474c6aa32a825a360b2a933a949fd925208d9ce1bb", + recipeConfig: [ + { + op: "Streebog", + args: ["256"] + } + ] + }, + { + name: "Streebog-256: Test Case 2", + input: "The quick brown fox jumps over the lazy dog", + expectedOutput: "3e7dea7f2384b6c5a3d0e24aaa29c05e89ddd762145030ec22c71a6db8b2c1f4", + recipeConfig: [ + { + op: "Streebog", + args: ["256"] + } + ] + }, + { + name: "Streebog-512: Test Case 1", + input: "", + expectedOutput: "8e945da209aa869f0455928529bcae4679e9873ab707b55315f56ceb98bef0a7362f715528356ee83cda5f2aac4c6ad2ba3a715c1bcd81cb8e9f90bf4c1c1a8a", + recipeConfig: [ + { + op: "Streebog", + args: ["512"] + } + ] + }, + { + name: "Streebog-512: Test Case 2", + input: "The quick brown fox jumps over the lazy dog", + expectedOutput: "d2b793a0bb6cb5904828b5b6dcfb443bb8f33efc06ad09368878ae4cdc8245b97e60802469bed1e7c21a64ff0b179a6a1e0bb74d92965450a0adab69162c00fe", + recipeConfig: [ + { + op: "Streebog", + args: ["512"] + } + ] + }, + { + name: "GOST R 34.11-94: Test Case 1", + input: "", + expectedOutput: "981e5f3ca30c841487830f84fb433e13ac1101569b9c13584ac483234cd656c0", + recipeConfig: [ + { + op: "GOST hash", + args: ["D-A"] + } + ] + }, + { + name: "GOST R 34.11-94: Test Case 2", + input: "This is message, length=32 bytes", + expectedOutput: "2cefc2f7b7bdc514e18ea57fa74ff357e7fa17d652c75f69cb1be7893ede48eb", + recipeConfig: [ + { + op: "GOST hash", + args: ["D-A"] + } + ] + } /*{ // This takes a LONG time to run (over a minute usually). name: "Scrypt: RFC test vector 4", input: "pleaseletmein", diff --git a/tests/operations/tests/HaversineDistance.mjs b/tests/operations/tests/HaversineDistance.mjs index ef0a298e..94fc7289 100644 --- a/tests/operations/tests/HaversineDistance.mjs +++ b/tests/operations/tests/HaversineDistance.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Hexdump.mjs b/tests/operations/tests/Hexdump.mjs index 6b5c5043..90523a08 100644 --- a/tests/operations/tests/Hexdump.mjs +++ b/tests/operations/tests/Hexdump.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; const ALL_BYTES = [ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", diff --git a/tests/operations/tests/Image.mjs b/tests/operations/tests/Image.mjs index 44f0af71..7a5b4421 100644 --- a/tests/operations/tests/Image.mjs +++ b/tests/operations/tests/Image.mjs @@ -2,12 +2,13 @@ * Image operation tests. * * @author tlwr [toby@toby.codes] + * @author Ge0rg3 [georgeomnet+cyberchef@gmail.com] * @author n1474335 [n1474335@gmail.com] * - * @copyright Crown Copyright 2017 + * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { @@ -175,4 +176,91 @@ TestRegister.addTests([ }, ], }, + { + name: "Extract RGBA", + input: "424d460400000000000036040000280000000400000004000000010008000000000010000000120b0000120b0000000100000001000000c8000000cf000000d7000000df000000e7000000ef000000f7000000ff000083000000ac000000d5000000ff000000000083000000ac000000d5000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f070d05030b01090c040e060008020a", + expectedOutput: "0 200 0 0 0 131 0 215 0 0 0 213 131 0 0 0 231 0 213 0 0 0 247 0 0 223 0 0 0 255 0 207 0 0 0 172 255 0 0 0 255 0 172 0 0 0 239 0", + recipeConfig: [ + { + op: "From Hex", + args: ["None"] + }, + { + op: "Extract RGBA", + args: [" ", false] + } + ] + }, + { + name: "Extract LSB", + input: "89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af400000449494441547801cc9703782b5914c783b56ddbb659db6e9f6ddbb66dd45e6fddc6aecd24cff67b99397b6ebe9d6216d99bcceebefb7dffbaf9ff0e7347e4e491eeddbbf7f5bcbcbc41b9b9b943376cd8f00ef9194afcfb67094ac0d3ed85870d1b764755555592c562616a6a6a18ad560b28b6a0a0203b3d3d7d4e494989fed75f7fdd45fe5e10e38c8c8c0f2a2b2b7737343468ebeaea8a516aabd50a441c00278d46c392cf2a95eaf475d75d7767525252505656565f67332296c9644330d2cbc48c2f3e005f656565ed08c410656666c653bb63e4ef9acd66ce9c0a8027164b430d20aea8a8d84e4c5c05c02c1ebce9a69b6e27af49d5e5f5f5f56a4700b5b5b5ac0300ae1cad3ffdf4d3321a0809365bc93f007068cea9b8b8584e35197abd7e8e5019c032983103aba8ca306fdebc07dadada2c02f4c0a15b6eb9e50ea746313535f5ade6e6e63a57008870170c14397b9e7cf2c97bc838d20294969636e30eb0a1181ce9de2217ce2d087089060037e139b1587ce7fefdfbfd30fa3ef4e9771140a1501cc3ffbb91deea2a05b8991640a9541ec5ffbb5e2800497272f20f7880afad5bb73273e7ce05bea64c99922ee49de07a9d4ed760341a812fbc9030696969c0574a4a8a11ffef5a979d5fbaffe61be604bf3dc698b9d966cade0add555ffa13ab91c96cbb76ed62e7cf9fdf43b367cf3ef7c5175f78ba9cfac5fe2f6cd62e88828a65f13c25c0595d09542b95cceeddbb212020007c7d7d7bc8c7c7e7b2bbbbfbf34ebbc7bcf3e0a33ba25eb992d8f70330ace8df692e9b1703478b7300dadaec00782784799be7815b9c1b676e070a0a0a2a78f7dd77ef7573737b468a871a60b6e733513ba35e818d612fc111b50cce5768a15f983fcc9c311d4a3233e1427d3dfc9c98c8e6e4e4c07d89f7c1dbd96fc3a8ef47c1f6eddb61c78e1dd0b76fdf8b090909c67efdfa31616161b154e6833e7ef4c96d112f1fe5008e6995f688372f5902512121d0a152c1711cb7cc8d1b01b71d4c2a9b64875893b70648461213138fa1794dfffefd01c54645458da102581df8c26a62ce07e0646b6981530a851d60f5ead5c4b48770f7d77b7b7bfb1180e8e8e82db43764c986d017cbfe0ee05c6d2d5cd268ec003366cce00390516c0c0f0f5f4c007af7ee5d4dfa800640bc2ef8c5744719384300366d62478d1a05a40fba03e0430b8bb5070240141717b792aa0433dd9f76db11f98a8d0fd05d6c6b2b54cae56c76763631e503407c7cbc2130303018cd777dfdf5d78f53df8a17fa3cdb7f7bc4cba7ba03301879bbc904c770024e3637c37eec7834204d4622be826fbd2c07803f5b2e72f584bdf1c0fd13be7e32fe54b9e92417f9653437e3fb40c39e3db067c10216f73eb36edd3a06cb6037479155dcfef9e79f3f2cd87361555e5ec4a5c64633bf0cdc22ea2ecc8265e7ce9dfe22a1cfe4a143ef32ab54532e363434f10038e30e9cffdfd650545424c8404bc0c4c4c47664cd1a83c7274ec41fdeb62d0f58192501a3c04c5e5e9e8d1cf30084683c77e1e9adc80000000049454e44ae426082", + expectedOutput: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000208000000000000000000008000000000000000000000000248000000200240000000208908000000200240000000200821000000200240000000061249000000240000000000209b69000001a49b00000000a204a1200001a49b00000009800414000001a49b0000000035db6c00000094924000000086dffc20000df6dec8000001e10014a0000df6dec800002564924b00000df6dec80000009a6db20000007edb4124804177fffba0002fffff69249044e0924bc4002fffff6924905fb2db6d04002fffff692490416d2490040001bfffcc92030dbffffdc00037fffffdb6d302c6db6d700037fffffdb6d327eb6db6148037fffffdb6d30db4000014800dffffeb6d9aefffffff640", + recipeConfig: [ + { + op: "From Hex", + args: ["None"] + }, + { + op: "Extract LSB", + args: ["B", "G", "A", "", "Column", 2] + }, + { + op: "To Hex", + args: ["None"] + } + ] + }, + { + name: "View Bit Plane", + input: "89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af400000449494441547801cc9703782b5914c783b56ddbb659db6e9f6ddbb66dd45e6fddc6aecd24cff67b99397b6ebe9d6216d99bcceebefb7dffbaf9ff0e7347e4e491eeddbbf7f5bcbcbc41b9b9b943376cd8f00ef9194afcfb67094ac0d3ed85870d1b764755555592c562616a6a6a18ad560b28b6a0a0203b3d3d7d4e494989fed75f7fdd45fe5e10e38c8c8c0f2a2b2b7737343468ebeaea8a516aabd50a441c00278d46c392cf2a95eaf475d75d7767525252505656565f67332296c9644330d2cbc48c2f3e005f656565ed08c410656666c653bb63e4ef9acd66ce9c0a8027164b430d20aea8a8d84e4c5c05c02c1ebce9a69b6e27af49d5e5f5f5f56a4700b5b5b5ac0300ae1cad3ffdf4d3321a0809365bc93f007068cea9b8b8584e35197abd7e8e5019c032983103aba8ca306fdebc07dadada2c02f4c0a15b6eb9e50ea746313535f5ade6e6e63a57008870170c14397b9e7cf2c97bc838d20294969636e30eb0a1181ce9de2217ce2d087089060037e139b1587ce7fefdfbfd30fa3ef4e9771140a1501cc3ffbb91deea2a05b8991640a9541ec5ffbb5e2800497272f20f7880afad5bb73273e7ce05bea64c99922ee49de07a9d4ed760341a812fbc9030696969c0574a4a8a11ffef5a979d5fbaffe61be604bf3dc698b9d966cade0add555ffa13ab91c96cbb76ed62e7cf9fdf43b367cf3ef7c5175f78ba9cfac5fe2f6cd62e88828a65f13c25c0595d09542b95cceeddbb212020007c7d7d7bc8c7c7e7b2bbbbfbf34ebbc7bcf3e0a33ba25eb992d8f70330ace8df692e9b1703478b7300dadaec00782784799be7815b9c1b676e070a0a0a2a78f7dd77ef7573737b468a871a60b6e733513ba35e818d612fc111b50cce5768a15f983fcc9c311d4a3233e1427d3dfc9c98c8e6e4e4c07d89f7c1dbd96fc3a8ef47c1f6eddb61c78e1dd0b76fdf8b090909c67efdfa31616161b154e6833e7ef4c96d112f1fe5008e6995f688372f5902512121d0a152c1711cb7cc8d1b01b71d4c2a9b64875893b70648461213138fa1794dfffefd01c54645458da102581df8c26a62ce07e0646b6981530a851d60f5ead5c4b48770f7d77b7b7bfb1180e8e8e82db43764c986d017cbfe0ee05c6d2d5cd268ec003366cce00390516c0c0f0f5f4c007af7ee5d4dfa800640bc2ef8c5744719384300366d62478d1a05a40fba03e0430b8bb5070240141717b792aa0433dd9f76db11f98a8d0fd05d6c6b2b54cae56c76763631e503407c7cbc2130303018cd777dfdf5d78f53df8a17fa3cdb7f7bc4cba7ba03301879bbc904c770024e3637c37eec7834204d4622be826fbd2c07803f5b2e72f584bdf1c0fd13be7e32fe54b9e92417f9653437e3fb40c39e3db067c10216f73eb36edd3a06cb6037479155dcfef9e79f3f2cd87361555e5ec4a5c64633bf0cdc22ea2ecc8265e7ce9dfe22a1cfe4a143ef32ab54532e363434f10038e30e9cffdfd650545424c8404bc0c4c4c47664cd1a83c7274ec41fdeb62d0f58192501a3c04c5e5e9e8d1cf30084683c77e1e9adc80000000049454e44ae426082", + expectedOutput: "89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af400000140494441547801c5c1416ea3400000c1ee11ffff726fe6808410186ce26c95fde0432a154f0cdea4b2aa505151519954ee1a5c50995454aea8ac54ae2c5ca8982a3ea132551c199c507942e58ec1898adf50f1cae084ca15952b2a152a47067f40a5e2c8e00f54a81c199ca8b85271a542a5e2c8e005159527542ace0c5ea8a8f844c54ae5ccc217555c197c41c55d83ff6cf0052a772ddca052b1a752b1a772d7c2432a4f2c3c50f1d4c20b2a1593ca918a4965afe2cac29b2a562a93ca56c55d0b2754b62a269555c554b15251a9b8637040e5884ac54a654ba5a2624be5cce040c5918a55c55ec5a4a232a9549c197c48655239523155bc3278a862af624be5ccc2072aaea854a8549c5978834a85ca5ec5918a57ec076f50a958a9546ca94c1557ec071754a68a2d958a270637544c2a2abf69e1a68a95ca54b152a978d73f2e08bd57b6f839a00000000049454e44ae426082", + recipeConfig: [ + { + op: "From Hex", + args: ["None"] + }, + { + op: "View Bit Plane", + args: ["Green", 3] + }, + { + op: "To Hex", + args: ["None"] + } + ] + }, + { + name: "Randomize Colour Palette", + "input": "89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af400000674494441547801c5970394244b1686bf44b9aaddd5fdfcc6330f63af6ddbdea3b56ddbb66ddbdeb16dcf5497d219b137f3d44363ba7b70cede73be74c6fd6f4454e45ffcbfc398ecdef7bef7bd35c562f1c59669de0fc32818467a590ec7bca635bab38fe27823b0278aa29f3cf0810ffc12a02e4680f9fdef7fff1903d5eaa766cd98412e9f2793c91204216118c83e052509b3d96c4aaeb3775d07152b1a8d3a478f1ee5452f7a5101f0384fd88b172f666c6cd8b0215f2e973fb576f56a40e37901be248ce34888514a9192542edcfebcb7a7977a7d844e70e4c891d2a402e401c6c6631ffbd82b92864dd3948ac3b4f1e4bc13c91008a6a0097c1fa7dd927d20421d9acd16beef1fdbba75eb8f5ef9ca577eee6286c010867ef5ab5f1dbfd7bdee858c2569d7cb5ec4488206b55a8d76bb8de7ba64b2198af9025ddddd5c71e5951cd8bf9f37bef18d4f9121fc0f705aa80bc1797b80f1a11392ea034968c8be561be1e4a913d425719ab054a6af7f003b63532a1629e4f3140a058a42d25b3367ce6c02870467aa1eb09938a2fffef7bf6f035e8661d85ac3cd37dfcc82053726e39c56ef380e511c89400bd34ab001b06c9beeee9e00f0264f3eb900f7e52f7ff9e7819f0995bffe6bddcf77ef3f8c8a0fa20123c1209d1771ace47a9cce0b3b63093656363f6a782f4680271c13ce093dcf7ae09d9ef8f47bf77c05a5c964f2686c1a4d9f43474e72e7bbaf65c5da9b3876ec0c9ff8c84fe8abf4b1eff4a118d04c234c260e25381d012756cfee5b15eb1c37ad5c4dbe7b8062ff20f778f0bd78c7c7dfc4fd1e716f8add7dcc98338365775a8c952bb260c6d58f03cc4b1030fa996ac57a96e318acbecb1a9efdba17f28ce73e8585cb1612470aa7ede17b3e9e1771e59503f8a14339977d1490bb1c028c27ace85f6d59e41dd764efcebdd07668b59c74127a92d8f7935531220803dc769b4ac10243171ebf727035605caa804c7fd1783268c2c0e2f73ffb2b5aa9643de82ccb091191ec93c9b86de35e72392bfd290e96cc2701994b1590b550cbb58a29e6234e9d70d9b3f3202a124191240f2479140a8a53c7ce51cae4b06d489eb78c782590bd6401b6a517a838c0204c1bffcd0fff045aa7e31f45b1a0e43466e3bf77808e8845905221b188b81c3d600611bb6215a1421fad7cf6eed8cba986471448a2385d9ef9f7e6bdd4ced688635f0404c46180a8b0a633076c260fe587d131db30e606848045fff09558a6c5f68367f0ddb6ac05a769b49a682d4f784e2a00342d37da04e84bed81e0137f6f3ef7f499c6df5b5ebc1b2b878a5c4c4333dc57c1360d8a390b4bce5bf5b3683343aee70ae7ecb9e696afad77df080497e2880032af7ff3dbeef8d0873dfcb5f3e6cfbb5bc182fffee8ad74570cd0a41f2ad334049346bdc1cd0f78335e0c070f1e3efbef7ffefddd4f7afc63de0f041723c0f8f297bf3c7be1c245df5db850be429d38f09faf523bb20ed3ca25d96fb366a929f1c915079877f797a6823ac6c6dbb973e7ddc45ffc13d0d31d02e3339ff9ccbc952b57ee4a92bb9e475daa6b341d8ce23544dac269d5709da6d0c2711ab49373d7c7ee992bcfd68526c97be2b6f2c2dfa598b58031dd1ec8feec673fdb70bffbdd6fc1b9da48faf93520add8346d4c3bc7b9037fe3e8a6efe33b67b0ed3cc3f3ef4b75eebdc1b2d17188d6f1adcea9afb7873ffce10fe1ddee76b72ec09b8e80ee75ebd68d2c59b2444cc8e9d10ef8162b264252e418345a451d5472065a20d96986aa83ac5fbf8eb7bef56dd701871813f6231ef1083ac177bffb5de3ddef7ef74ab1e2a9058b22459a7f5c244e2915031d630aa374269705952ed9625058b66cd9bc57bdea5547c69a145b928e3aaf56ab6b1301a9ed56112332a67d3d3da831494c6db26bcf1e868786e8aa54c4fd1e1e25a0d56c33343c4cb9524e2ddb8c19331e08fc4150934d42bb542a2defefef97065ae947a53e524f7a6394fd9663418112525714b362c50a962f5f2e7b418ed7ac59239577e3b5db744b01f97c7e39909d6a25cc4af5cb054e9d394bac54cae12347a94895e57209cbb268b7da341a0dec6c8eb3e76af84198625a26ade45ebd91bae96a7520494c75a88a14b614c84c25c0ce66b3c3406a322ccba4bfaf174f8e1bcdc6a83f1c32395314506fd4d37b1dbf28490b527d05dbce10851100b95c2e0fd853fd0a06befded6f7fbfb7b7f78e69825b67fe6d8f1a13bda9c71fca308dfacfa8b46ec9ff8c59c0a9c90454846b8501c1e6f285166ac27e6164b2217085431d9506973702a1cd98f81f11b2640d65786ac70000000049454e44ae426082", + expectedOutput: "89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000007ed494441547801c5c17b5c0d8602c0f15f9de3d16425a113999296348f3c0b75ea4e2b5be7a05bd46a32c99b5496477266d494ac97508a0e494848c2525e87bc95ccb31145915e3abacb38f7b6cfdde7d3a74faafff6fdaa59c81254fc8384b42179b40501455ee84476617b920eeee33e6742d7c994d685d15c9ac31ff85f5c4386b13ada4b0268a2597c8dc7fa72da23e423ccfca67221fa32f29dfe1c59b08ef4c4459c7a5acc1e130396d5aee2f8d8092c105ee7f9a91a6e6db6a6c4d3893e96b318aa1b41b7aa0822cd156c1aa5c39b2e0f698b7097d36b5af2caec499cc29dd409bd389b578ea66f10569394fc229b89f7fd2f890bbdcbbbeb83c8511b8acbc67b6cad39c7c691f7e81ceb829eb12deb6de740247f912e1c465b84d285c368c92150c68f338e31784e11c3924e522281d50a0156fdf84bf27a1fa2c4de7cb3d79dbdd3ab916f90a2b4ec45e3e6159cb54fc6c8741fa3b48a703e654e0f872ada2230f216cb348cebd030ae43c3b80e0de33aca2a2c30cc37a5d7c89714780a11de84dda24914ae28a5617b209f0f4e22bba03bfd973930a1df22ece73ea1dbe30d8c9ee48455e925a2d39dd861fa968e1088c41219ad1873b89e5137bf66a465029b46f461aaebf79cad7c4e68f0262aabba503ec09123e3b7a319e6cbdefe12385e485d5d0fe4d21e7c2bb047d1e94b3a429d8fb0d64de39cff1172f213581aea8f32eb2ebaf23bc85f6be2e1b5859af4a5680c9d4df046299551c9ec58ed49935d3f9bf04a2d8b8e1288c41219ad383ebe3f771475dc30f88490e1f7e82c8c62f34007be8e53e026b5c4c3a11b03ae6f657abf4944e8fe4efef3293c689c8d87961e11db9da91beb4847084462898c76e48499b243438fead0183e645660133886d3ffaa65acc0971b0113c9add4a3583b1c9f05b5a46c352447bb2f5a867de908753ac03f478bb26b9f52e4f88642e712b47cb7b122f4097ee5d5788cc8e2e8e20a4c94cf5962fa03e9257339635d4e47a9d30195dade841c9273d5408731bdcbf139b983d8de57393d2f908c992ed49b6c6474a101f1c11928dc8ef066ed753a4a483b740f34703fd38c82ada58c7c358f17c77ee2c98aa7acf9598df57ebfd0b93a8dfc3333c82aafc0e1e518968f49e7495e2e6a411fe8ba5e417bd469c79463eef8c54f63d76173a24f9f40b955c989dcb7f867bee7b33c29fd97b8e09c771de5ae5a9c4bd7d15747cae8ea30065ebc4d47086987b6cd34eef4aca56be65bfcc3c6312fab37bb2ec5303c64177d621c18eb25e24ef71ea41e0c216250000d9e525ef7d065d0d628ca3a4da73d02915822a30d1a29c398ebf12be1a5f3d1093a42df9709bc4a6e60d07721945c3d84a47b118a803c0483aff02e3a9eb74356b2283688ec05f6bcf94d8ff6a8d38ebb353ac4fe618ac53d57ee5cbd8874f26d2e9d8ec3eebc2b8ee163f1591bc3a0e25282b639d14bc305a7c652f20b37a06bb8878e50a71d8eff598d4cef2056dd8cd896da8537aebe6cd3b4e3c1706b2a53f5315d1b448d5a363a669fa2f2d442392198f8fe539816ad4e47084462898c36dc2cb4e2d6dc2f181b5241cf47f1147c178db67b19911e4fd1ba3c9e9f728e7241ef393766ca091a974145891ca5d88751920cf21555b44720124b64b44112f135a9053739693e0a3dd3f1684b5c392f4a24cefb027aef0663be3190c64867ba769acc90f43ed8c4a450239b43f5aa069e7656d11e753e62ffd52c94b646f49b7b1fcb3001d6dfbe6375d5778cebfd16cbc453b8669dc66e71144b8dc55cb7fb8a4b71fa1cb55d4279843e36cb2d18aa32e2135b7f027cbc688b402496c868c1cd620259ba4370b9aacec0a06c1cbfe8c2b08614a2b5df5353e14db0db441efa2e4623f92835c92bf18df56464919440d52c56b113b7ec4d686fd1e6b31d6b5813b6946335c51ce86b426b0422b144460be10633a9bff56ff236dee7878bc94c0e7d48a3d10d82baf664f45e3f7627a868541c47f9bb883d665ff15a56c5a36c2f54f16e6cb8a0497d4d29c2a365ecdf2ec2eb81132b0627a0fa7322ad11d28a5986a94c038cc2d7121da5e026ffa380a4862c0c0fc552231f87fcad90facf0229f23ac9dcc2482aee66919462c1a188857caf914813a3f0f1c03e9e8913c8ea398bd6a85d7bd85fc5fff9a4ace19c7e236689d964e858e26d9946c172335ab2d9ff827a83e1bc5fe8c78cf70dbc59684373f1ebeaf009fe940d3eb67cf54087dfb65c2379ea3cfc2ebfa725350b59828a66242bed51793b53f5a29ea84e3d89f2ddc4a4158598e9c969ce35ad8cf9f9fdb8bf3a86dcd35389720ce66fa22d2202a507099b338078fd18cc3ba961305f972901beb424108925329a99b5e021eb96e570f4543051b955ec769dca3c074b164b8d78f4e3532eb9f720b1fb5224a5d6ccd73d4892e609726a63095ee9c39e705b94cf26e3f3a18eb2ea7378561af0f3950f6cb1abe151cc455e5dba474b02915822a319ffd9c188cec8499a2a20c4269ebbb9ae7c1b684556c40786767bc6fdd05b4c1c6a49491739f2dc13d8efb62661531acbc6ebb1ece57ee6ab7499257067e7f2e92cb1d267709f517c73db8d068fde3cb1bc474beab4b0d376274df68d9b89dedd3b0ccc48648fc93374970e42651c878be1af8cd83986cd7602940557386babe0855a19b5ef42e86df788b3227b4e2c7362f3a248a47f1612e1349f26e71f3ca6356a16b20415cd445d7984225d4c695d1887334d386f664f9c7d3ff282dc68f2a7cf019a180d5cc4df7e2f8ee56fc278179a1cb00e67e26fa798e2f48034873f280ed1447cd98596d42c64092afe41eafcc3fe0b9c67148a38c1a5620000000049454e44ae426082", + recipeConfig: [ + { + op: "From Hex", + args: ["None"] + }, + { + op: "Randomize Colour Palette", + args: ["myseed"] + }, + { + op: "To Hex", + args: ["None"] + } + ] + }, + /*{ This operation only works in a browser + name: "Optical Character Recognition", + input: "iVBORw0KGgoAAAANSUhEUgAAAUAAAAC0CAIAAABqhmJGAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAASuSURBVHhe7dftVdswAIbRzsVAzMM0XabDUCOUxLYsWW4Jp+/pvf9w9GH76CHw4x2IJWAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAI9p8G/PbyY8rL2686g8t+vnqHTyfgIYfvz/26veTXn/UKX8+f0EU9bHrtu/6KfAN/AwEXAj7lFf2TBFw4nae8on+SgIvJ01n/KLzpDK+L3bT/Ap4O+HC+V12mTH+M3gzcLbIY/EO6HfxYp13k09nb6r3UqcdnjoCL3ll72J26h+35Oxy2XvZ0wOLaXq9v2+F1UC+7RZtMZ/DnfX1lwDOPzwUCLo7O2trtDK8H3M/iqoc6bj1subT68XTA/F7bGJooyzKbhTvLPHY8eJLHlbNX1DqYUVfdXbqwJjsCLsans37aNNJM6w68OR0wv9f9ymKw3k67yn2ZZpHlg3a3zis60s6oV+ZvlzMCLoanc3Dsdt9TdWT/lM8OmNjr5KY72jmzq1zfrbvXtVtmRMDF8HTWcgaaqIrD1U4G/MFewxrW262s5jS/Fzpmdts6mnHy+Fwl4GJ0OjsNrG1P/y7CNo3+gEt7jW56MVprNed7A/5w+n6YJ+BieDpnj/jO6pweTz0acGWvmZveL9XOmd3x6wKuTt8PEwRczLRw4eje1XX7c/cDruw1uuneOu2c4aOvzI57mJhRh1xZlQ0BF+Oz9vcF96fuB1zYa7R2b5mD6/XSwdfg8snj4q21+W/L02dfzIxhQMDFyTm6Hd7m+JYP7rPKT5sRuzhOBywm91rUkYc3fV9ltchtr8VmzuGOdfDB9N1tFYefNfdXLmyGjNZkhoCLUQufVqd/7z7rUcLW/XieDvg0s9difNOdRV5ePibt5vTuazusWbF9rs2E5v4mH58LBFyMW7g5OID7s9cMuTygmt9rcNPb5MrAz0lHc3Z9Ht7XZsxqxO36ZtLR/c0+PpMEzLOc/4LhrwmYZ6lfywJ+JgHzJPr9DgLmi23/zdXvcwmYL7YKWL1PJ2AIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmAIJmCI9f7+G6yFxVg/GyYwAAAAAElFTkSuQmCC", + expectedOutput: "Tesseract.js\n", + recipeConfig: [ + { + "op": "From Base64", + "args": ["A-Za-z0-9+/=", true] + }, + { + "op": "Optical Character Recognition", + "args": [false] + } + ] + }*/ ]); diff --git a/tests/operations/tests/IndexOfCoincidence.mjs b/tests/operations/tests/IndexOfCoincidence.mjs new file mode 100644 index 00000000..647725fd --- /dev/null +++ b/tests/operations/tests/IndexOfCoincidence.mjs @@ -0,0 +1,22 @@ +/** + * Index of Coincidence tests. + * + * @author George O [georgeomnet+cyberchef@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Index of Coincidence", + input: "Hello world, this is a test to determine the correct IC value.", + expectedMatch: /^Index of Coincidence: 0\.07142857142857142\nNormalized: 1\.857142857142857/, + recipeConfig: [ + { + "op": "Index of Coincidence", + "args": [] + }, + ], + }, +]); diff --git a/tests/operations/tests/JSONBeautify.mjs b/tests/operations/tests/JSONBeautify.mjs index 4388f82b..11578678 100644 --- a/tests/operations/tests/JSONBeautify.mjs +++ b/tests/operations/tests/JSONBeautify.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/JSONMinify.mjs b/tests/operations/tests/JSONMinify.mjs index dab396f1..93ab8123 100644 --- a/tests/operations/tests/JSONMinify.mjs +++ b/tests/operations/tests/JSONMinify.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/JSONtoCSV.mjs b/tests/operations/tests/JSONtoCSV.mjs new file mode 100644 index 00000000..195bce3d --- /dev/null +++ b/tests/operations/tests/JSONtoCSV.mjs @@ -0,0 +1,93 @@ +/** + * JSON to CSV tests. + * + * @author mshwed [m@ttshwed.com] + * + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +const EXPECTED_CSV_SINGLE = "a,b,c\r\n1,2,3\r\n"; +const EXPECTED_CSV_MULTIPLE = "a,b,c\r\n1,2,3\r\n1,2,3\r\n"; +const EXPECTED_CSV_EMPTY = "\r\n\r\n"; + +TestRegister.addTests([ + { + name: "JSON to CSV: strings as values", + input: JSON.stringify({a: "1", b: "2", c: "3"}), + expectedOutput: EXPECTED_CSV_SINGLE, + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: numbers as values", + input: JSON.stringify({a: 1, b: 2, c: 3}), + expectedOutput: EXPECTED_CSV_SINGLE, + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: numbers and strings as values", + input: JSON.stringify({a: 1, b: "2", c: 3}), + expectedOutput: EXPECTED_CSV_SINGLE, + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: JSON as an array", + input: JSON.stringify([{a: 1, b: "2", c: 3}]), + expectedOutput: EXPECTED_CSV_SINGLE, + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: multiple JSON values in an array", + input: JSON.stringify([{a: 1, b: "2", c: 3}, {a: 1, b: "2", c: 3}]), + expectedOutput: EXPECTED_CSV_MULTIPLE, + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: empty JSON", + input: JSON.stringify({}), + expectedOutput: EXPECTED_CSV_EMPTY, + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + }, + { + name: "JSON to CSV: empty JSON in array", + input: JSON.stringify([{}]), + expectedOutput: EXPECTED_CSV_EMPTY, + recipeConfig: [ + { + op: "JSON to CSV", + args: [",", "\\r\\n"] + }, + ], + } +]); diff --git a/tests/operations/tests/JWTDecode.mjs b/tests/operations/tests/JWTDecode.mjs index df9b9bcc..1ef47f81 100644 --- a/tests/operations/tests/JWTDecode.mjs +++ b/tests/operations/tests/JWTDecode.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; const outputObject = JSON.stringify({ String: "SomeString", diff --git a/tests/operations/tests/JWTSign.mjs b/tests/operations/tests/JWTSign.mjs index 69787712..3970a5e5 100644 --- a/tests/operations/tests/JWTSign.mjs +++ b/tests/operations/tests/JWTSign.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; const inputObject = JSON.stringify({ String: "SomeString", diff --git a/tests/operations/tests/JWTVerify.mjs b/tests/operations/tests/JWTVerify.mjs index 52b8574b..f9944f6b 100644 --- a/tests/operations/tests/JWTVerify.mjs +++ b/tests/operations/tests/JWTVerify.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; const outputObject = JSON.stringify({ String: "SomeString", diff --git a/tests/operations/tests/Jump.mjs b/tests/operations/tests/Jump.mjs index 9bc98f31..4a1d91b0 100644 --- a/tests/operations/tests/Jump.mjs +++ b/tests/operations/tests/Jump.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/MS.mjs b/tests/operations/tests/MS.mjs index 01618d90..5862e430 100644 --- a/tests/operations/tests/MS.mjs +++ b/tests/operations/tests/MS.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Magic.mjs b/tests/operations/tests/Magic.mjs index b7fd5ca3..d168c92d 100644 --- a/tests/operations/tests/Magic.mjs +++ b/tests/operations/tests/Magic.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ @@ -34,7 +34,7 @@ TestRegister.addTests([ }, { name: "Magic: jpeg", - input: "\xFF\xD8\xFF", + input: "\xff\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x01\x00\x48\x00\x48\x00\x00\xff\xdb\x00\x43\x00\x03\x02\x02\x03\x02\x02\x03\x03\x03\x03\x04\x03\x03\x04\x05\x08\x05\x05\x04\x04\x05\x0a\x07\x07\x06\x08\x0c\x0a\x0c\x0c\x0b\x0a\x0b\x0b\x0d\x0e\x12\x10\x0d\x0e\x11\x0e\x0b\x0b\x10\x16\x10\x11\x13\x14\x15\x15\x15\x0c\x0f\x17\x18\x16\x14\x18\x12\x14\x15\x14\xff\xdb\x00\x43\x01\x03\x04\x04\x05\x04\x05\x09\x05\x05\x09\x14\x0d\x0b\x0d\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\xff\xc2\x00\x11\x08\x00\x32\x00\x32\x03\x01\x11\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1c\x00\x00\x02\x02\x03\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x07\x04\x05\x00\x02\x03\x01\x08\xff\xc4\x00\x1a\x01\x00\x03\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x05\x06\x03\x02\x01\x07\xff\xda\x00\x0c\x03\x01\x00\x02\x10\x03\x10\x00\x00\x01\xe7\x14\xd4\x6e\x92\x6e\xe0\x67\xd3\x01\x2e\xe2\x61\x94\xcc\xb8\xa2\x6a\x9e\xa0\x8a\x71\xfa\xde\xdc\x52\xd3\xd5\x89\x16\xe1\xbd\x57\x6b\x4c\xc9\xc9\x02\xad\xcd\x3f\x3d\xe3\x0e\xfc\xcd\x61\x95\xe9\x08\xa8\x74\x05\x4e\xc3\x14\x07\x5d\x62\xc5\x22\x57\xb8\x0f\xbd\x49\xd9\x50\xd2\x6b\x46\x3c\xe3\x8f\xa1\xd5\x83\x2d\x27\xa5\xbd\xf3\x24\x99\x82\x11\xf5\xd5\xf3\xf0\x05\x8f\x34\xbc\x16\xa5\x83\x00\x74\xaa\x86\x66\xb4\x8e\xf2\x89\x13\x88\xd9\xe2\x16\x56\xe5\xb3\x4a\x8c\xc9\xc9\x61\xa1\x95\xa5\x1d\x7e\xb8\xa8\x67\x65\xf3\xbd\xa4\xa7\xff\xc4\x00\x21\x10\x00\x02\x03\x00\x02\x02\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x04\x01\x02\x05\x00\x06\x11\x12\x13\x14\x16\x21\x24\xff\xda\x00\x08\x01\x01\x00\x01\x05\x02\xd9\xa5\x49\x5a\x1d\x6a\x39\xf8\xfa\xd5\x03\x98\xe6\x61\x44\x16\xa2\xc9\x82\xb4\xbc\x97\xae\x9e\xe4\x63\xec\x33\xd6\x24\x4b\x29\xa4\x98\xad\x5c\x4a\x68\xae\x4e\x5e\x41\x3c\x3f\xc8\x20\x0c\x4b\xc8\xd4\x42\x34\xb8\x7c\x2f\x3a\xd1\xea\x3a\x36\x19\xf4\x4d\x42\xd9\x41\xe9\x02\xc5\x8d\xbc\xd1\x45\xeb\xf5\x12\xcc\xb3\x9b\xc0\x8b\x17\x23\x99\x8e\xad\x9a\x67\xb7\x46\x65\x35\xd6\xa5\x9c\x81\xf8\x8b\x5e\x9f\x2e\x83\x4c\x35\xcd\xb3\x83\x45\x1c\xe1\xd9\x85\x35\xf3\x1c\xd2\x73\xad\x3a\x1a\xbd\x67\x87\xed\x89\x96\x96\x79\xb6\x11\x45\x9c\x9e\xb3\x03\x9d\x0c\x77\x06\xf2\xb8\x9b\x9f\x0b\x5a\x42\xaa\x4b\x58\xa4\xf6\x14\x45\xf4\x3b\x1d\x2a\x4c\x6c\xe5\x82\xba\x7d\x8f\xf9\x91\xcf\xa5\x46\xa6\xbf\xeb\x12\x0d\x7f\x1f\xff\xc4\x00\x2f\x11\x00\x01\x04\x01\x02\x03\x06\x04\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x11\x12\x31\x05\x13\x21\x14\x22\x41\x51\xa1\xf0\x32\x42\x71\x81\x23\x24\x52\x53\x61\x91\xf1\xff\xda\x00\x08\x01\x03\x01\x01\x3f\x01\xbf\x0e\x98\xc3\xc0\xfb\xa1\x19\x71\xca\xa8\x5b\x5d\xed\x73\xd3\x38\xe3\x98\xf7\x35\xad\x1a\x73\xfc\xa7\xcf\xda\x7b\xce\xf1\x4d\xb0\x21\x69\x0d\x0b\x4b\xcf\xce\x54\x5f\x98\xac\x1b\x28\xdf\x1f\xd6\x56\x98\x23\x9a\x37\x39\xbd\x4e\xde\xfd\x17\x16\xae\xd7\x5a\xdf\xa1\xea\x9d\x0c\x6d\x6e\x85\x2b\x66\x2d\x0d\x8c\x74\x5c\x2a\x06\x13\x87\x0c\xe1\x3d\xa0\x38\x85\x74\x4d\x5a\x00\xe8\xc6\xdf\x4f\xa2\xb1\x62\x6b\x04\x03\xd7\xc9\x43\x34\x92\x3f\x4b\xdd\x9c\xa6\x70\xfa\xad\xf9\x7b\xde\x6a\xd5\xc8\xe0\x7e\x83\xb8\x50\xdb\x9f\x99\xad\x87\x01\x3a\xce\xb7\x17\x13\xba\x3a\x2d\xf0\xf1\x8d\xb4\xfa\xff\x00\xaa\x0a\xd6\x2a\x1e\x7e\x94\x6a\x56\xbc\xe6\xcf\x19\xeb\xef\xd5\x5d\x12\x4b\x16\x23\x2a\xd5\x52\x23\x2e\x27\x38\x5c\x3e\x28\xa5\x92\x31\x27\xc3\xe2\xb1\x18\xe8\x1a\x14\x1c\x4a\x0a\xf0\xb7\x4e\xe0\x6c\xac\xf1\x37\xd8\xee\xe3\xba\x9c\x49\x87\x9b\x0e\xe3\x65\xda\x6c\xb2\x42\xf2\xed\xf7\x54\xa4\x80\xc4\xd9\x2c\x63\x27\xcf\x65\xc4\xed\x40\xf7\x35\x91\xbb\xa8\x59\x72\xbf\x15\x53\x8e\x46\xfe\xfe\xcb\x46\x32\x15\x2c\xb4\x38\x65\x5c\x8f\x97\x28\x78\xf1\xea\xa4\xa3\xda\x86\xac\xe1\x4b\xc3\xa1\x90\x08\x88\xc1\xf3\x43\x81\xd2\xfd\xc3\xe8\x9d\xf1\x39\x40\x01\x99\x80\xf9\x85\x60\x72\xec\x38\x33\xa7\x54\xd3\xf8\x79\x55\x09\x70\x76\xa5\x6f\x67\x95\xce\x93\xf5\x15\xff\xc4\x00\x2f\x11\x00\x01\x03\x02\x03\x06\x05\x03\x05\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x21\x11\x13\x31\x05\x12\x22\x41\x51\x61\x71\xa1\xb1\xc1\xf0\x23\x32\xd1\x33\x81\x91\xe1\xf1\xff\xda\x00\x08\x01\x02\x01\x01\x3f\x01\xd9\x04\xef\x90\x2c\x3d\x4e\x1e\xca\xb2\x67\xc2\xc0\x19\x70\xa4\x95\xc6\x1e\x23\x74\xd9\xef\x8b\xee\x70\xbe\x9a\x76\xfc\x2a\x9a\x82\xe9\x4e\x04\x80\xb3\x09\xb3\x8e\x3e\x3e\x48\x6d\x9d\xdb\x64\xb7\xf8\x51\xc2\xd8\x2b\xfe\x96\x83\x1f\x45\x0b\xf8\xae\xab\x33\x62\x95\xed\x6d\xef\xeb\xa7\x9d\x94\x59\xd2\xcb\x8b\xec\x42\x73\x23\x67\x2f\x9c\x96\xc9\xa5\x8a\x79\x1c\x65\x18\xf0\xd9\x09\x48\x18\x0f\x45\x43\x4d\x9b\x2b\xa4\x71\xd7\x45\x2e\xfc\x2e\x31\xcc\x6c\x54\xad\x8a\x30\x66\x2d\xd1\x06\xc4\x00\x99\xfa\x15\x56\x59\x39\x73\xe0\x1c\x3e\xea\x16\xcf\x01\xce\x88\x1b\xe9\xd1\x3f\x67\x4a\xf7\x17\x11\xaa\x86\x4d\xe3\xbc\x3a\xa9\xaa\x29\x6a\x1c\x23\x79\xfd\xd5\x7d\x29\x7c\x6e\x11\x1c\x07\x44\xfa\x82\xfd\xd1\x26\x16\xeb\xa2\x64\x9c\x43\x28\x6e\xe2\xa1\x9c\xc4\xe9\x1b\x25\xc0\xbf\x6d\x7c\xb5\x42\x68\xb0\xfb\xbd\x11\x95\xad\xa7\xc8\xe6\xa9\xa9\x44\xd8\x1c\x78\x8f\x92\xa7\x7e\x55\x66\x4c\xda\x1d\x7a\x76\xf9\xe2\xa4\xa3\x8a\x46\x6e\x39\xbf\x31\x54\xf1\x06\xcd\x23\x59\x89\x23\x9f\x8f\xf7\x8e\x2a\xbd\x8d\x8f\x8d\xd6\xd2\xc8\xe4\x63\xa9\x55\x55\x70\xc8\x04\xad\x07\xba\xa6\xaa\x19\x8d\x7b\x6c\xb6\xa3\x9b\x23\x98\xe0\xdf\x9e\xfa\xaa\x08\xc1\xa7\x11\xbd\x45\x3c\x9b\x29\xfb\xae\x18\xa3\x2b\xaa\x5f\xbe\xe3\xa9\xd3\xb7\xfa\x8e\xcd\x18\xd9\x3b\x90\xef\xf9\x54\xc4\x87\x38\x8e\x40\xa9\x1e\xf7\x81\xbc\x71\xb7\xb2\xd9\xd2\xbc\xd8\xb9\x48\xf7\x1a\x9b\x9e\xbe\xaa\x8f\xf5\x23\xf1\xf7\x47\x55\xff\xc4\x00\x2f\x10\x00\x02\x01\x03\x02\x03\x07\x02\x07\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x00\x04\x11\x12\x21\x13\x22\x31\x23\x32\x41\x51\x61\x71\x91\x33\xf0\x05\x15\x42\x52\x72\x81\xb1\xa1\xff\xda\x00\x08\x01\x01\x00\x06\x3f\x02\x4d\x71\xf2\xc8\x74\x97\x23\x97\xd0\x1f\x9a\x4b\x62\x0e\x95\x50\x4c\x63\x65\xd2\x69\xa5\xe0\x17\x94\x12\xe3\x9b\x53\x1f\x21\x4b\x24\x7a\x56\xed\x54\x1d\x12\xf4\xff\x00\x95\x1c\x57\x3c\x27\x98\x13\x92\x17\x6c\xe6\x99\x63\x0a\x90\xb0\xea\xa3\x07\x39\xde\x9d\xbf\x36\xbb\x19\x39\xc6\x05\x42\x67\x71\x3c\x93\x91\xac\x28\xdb\x3a\xaa\x07\xe1\x2c\x4c\xd9\x8f\x5f\x4e\xa3\x1b\x8a\x33\x63\xe8\xe7\x58\xf4\xf3\xf8\xa8\x73\x20\x3a\xfa\x11\xb8\xac\xb3\xa9\x45\xc9\x5e\x7d\xab\x07\x94\xe0\xb0\x22\x97\x55\xc2\x83\x8d\xc6\xa1\x56\xb6\x82\xec\xdb\x88\x70\x57\x4c\x7f\x53\x02\xb8\xd7\x40\xf6\x03\x66\x3d\xd6\xf5\xac\x22\x95\x4e\xb8\x5e\x95\xa9\x53\x97\x57\xd3\x45\xf5\xa6\x78\xad\x9c\xc5\xfb\x54\xe9\xfe\xfd\x29\xa0\x96\xe9\x4d\xc4\x6b\xd3\xc4\x7b\xd0\x4f\xdb\xb6\xf4\x62\x90\x88\xe5\x83\x1d\x5b\x1c\xc3\xd6\x83\x7e\x22\xdc\x18\x50\x03\x11\x55\xc3\xb1\xf3\x7f\xb1\x53\x76\x41\xb3\xe6\xdd\x3c\x32\x2a\x49\xa6\xb7\x6b\xce\x1a\xe1\x44\x60\x64\x93\xef\x5d\x94\x26\xd2\x72\x46\x1c\x91\x81\xbf\xd8\xa5\x62\x07\x1e\xe0\xe0\xe8\x18\xd7\x81\x9a\xe8\xc3\xd3\x02\x96\x6e\x49\x84\x8e\x18\x37\x9f\xf7\x49\xca\xca\x9a\x87\x67\xe0\x7d\xea\xde\xe4\x8d\x06\x16\xd5\x86\x3d\xdf\x03\x51\x49\x12\x34\x90\xe7\x02\x42\xa7\x07\xcf\x7a\x71\x15\xbb\x5c\x5a\xa0\x05\x94\x0c\x8c\xef\xb9\xfb\xf0\xa2\xef\x6c\xd2\x28\xe5\x17\x19\xc2\xc4\xd8\xe9\x83\xd7\x3b\x6e\x28\xf6\xac\x3d\xa8\x8b\xbb\x6e\xcc\x6e\x22\xea\x99\xf3\xa7\x9a\x2b\x45\x8d\x8a\xe5\x4a\xae\x9c\x7c\x55\xd6\x26\x26\x44\x8b\x05\x41\xca\x82\x4f\xfb\xb0\xa9\x97\xaa\x89\x0c\x40\x8d\xb4\x8f\xbc\xd4\xb1\xc2\x99\xfd\x32\x06\x3f\x18\xab\xbb\x9b\x7d\x1c\x69\x4e\xa7\x8c\xf7\x4e\xfb\xd1\xc4\x7b\x7b\x1a\x80\x1d\xc7\x1b\xa1\xfe\x55\x74\xac\x03\x29\x2a\x30\x7f\x98\xa6\x68\xa2\x48\xd8\xb9\xc9\x45\xc7\xeb\xa9\x38\x5d\x96\x48\xee\x6d\xe1\x50\xba\xa8\x57\x6d\x1a\x98\x0d\xcf\x66\xb5\x70\x06\xc3\x82\xdf\xe5\x77\xdb\xe6\xbf\xff\xc4\x00\x22\x10\x01\x00\x02\x02\x02\x03\x00\x03\x01\x01\x00\x00\x00\x00\x00\x00\x01\x11\x21\x00\x31\x41\x51\x61\x71\x81\x91\xa1\xb1\xc1\xf0\xff\xda\x00\x08\x01\x01\x00\x01\x3f\x21\x10\x32\xcf\xff\x00\x55\x6d\x07\xd7\x39\x55\x4c\x4f\x10\x53\x39\x7d\x17\x25\x21\xb4\x98\xf1\x0e\xb7\xde\x3e\x30\xd6\x2b\xcd\xeb\x1f\x75\x91\x1d\x35\x56\x4e\xce\x9c\x8a\x38\xb5\xaa\x29\xa9\xa2\xf0\x19\x37\xe0\xef\x5a\xc4\x09\x6c\x1f\x40\xf9\x13\xf7\x26\x8e\x52\xf0\x50\x51\xb9\x8b\xc0\xb0\x23\xe9\x2f\xda\xdc\x6f\x1d\x93\x08\x40\xa5\xdc\xf5\x94\xb2\x20\x4b\x48\xee\x3b\xc1\x3a\x59\x1a\x13\x5c\xfa\xe3\x1c\xd5\x99\x0a\x1c\x9a\xc2\xb0\x09\x24\xdd\x77\xee\x30\x2c\xeb\x99\x13\x50\x0e\x89\xdc\x34\x67\x1f\x94\xb8\xf6\x4e\xb2\x5e\x0d\x8c\x21\xf0\x0f\xb5\x8e\x6c\xa2\x01\x86\x9e\xd8\x24\xc4\x93\x28\xd0\xa3\x9a\x7f\x78\x4d\x28\xc6\x04\xd6\x21\xd1\x28\x94\x1c\xcf\xd1\x33\xcd\x63\x8b\x38\x94\xea\xce\x0a\x88\x2c\xde\xae\x12\x19\x8c\x3c\x38\x17\x61\xeb\x23\x79\x0d\x51\x5c\x40\xfa\xb8\x72\x01\xe3\x03\x0b\xee\x78\x79\x3c\x60\x5b\xb8\xe4\x38\xb7\xbd\x18\x20\x57\x3c\x3c\x4c\xa8\x62\xd5\xeb\x97\x00\x63\xc0\x83\xd1\xdd\xa8\x5b\xd7\xdc\x74\x8c\xc8\x4f\x0a\x9b\x89\x3f\xe7\x2b\xbc\x16\x68\x95\x23\x86\xce\x67\x22\x49\x35\xad\xc1\xf7\x5f\xe3\x2a\x6b\xe4\x21\x26\x44\xc1\xa1\x5e\x9c\xa6\x12\x75\x08\x32\xad\xfb\xe2\x54\x02\xdd\x3a\xc8\x0c\x7c\x9e\x25\xe5\x1b\x3e\x62\xb8\x63\x6a\x26\x6d\x04\x7e\x26\x74\x61\xae\x21\x26\xfb\xa2\x3b\x76\x99\xeb\x0a\xb8\x2d\x22\xad\x2e\x77\xfd\xcd\x46\x8c\xa9\x59\x47\x71\x36\x73\x18\x9b\x39\xd7\x56\x08\x63\x91\xb0\x4a\xe3\x17\x08\x72\x26\x98\xc1\x6b\xe0\x89\x88\x12\x98\x99\x5d\x87\x2e\xdc\x64\xf7\xad\x05\x6f\x6f\x36\xbf\x9c\x4b\x0e\x0c\xf6\xc4\x8f\xe8\xcf\xff\xda\x00\x0c\x03\x01\x00\x02\x00\x03\x00\x00\x00\x10\x89\x4a\x5d\xe3\xb4\xf3\x74\xe6\x50\xee\x11\x27\xec\x65\x8f\xfc\x21\x26\x5f\xff\xc4\x00\x23\x11\x01\x00\x02\x02\x02\x02\x02\x03\x01\x01\x00\x00\x00\x00\x00\x00\x01\x11\x21\x00\x31\x41\x51\x61\x71\x81\x91\xa1\xb1\xc1\xd1\xf0\xff\xda\x00\x08\x01\x03\x01\x01\x3f\x10\x69\xa6\x38\x70\x4d\x4f\x85\x62\x78\xd6\x40\x85\xbf\x37\xff\x00\x7f\x98\x74\x08\x6d\x78\x9d\xa4\xd4\x9c\x71\x3f\x78\xb9\x0e\x8e\xdb\xda\xcd\xc9\xb8\x0f\x9c\x59\x47\x22\xce\x2b\x5b\x9e\xb9\xe6\xfc\x61\x66\x9d\x91\x11\x3a\x67\xc6\xb4\x78\xf3\x8b\x25\xfb\x1c\x04\xb8\xd8\x95\x60\xbf\x47\xcd\x6b\x13\xa0\x74\x44\x1a\x0a\xaa\x46\x4b\x32\x48\x69\xc7\x11\x1e\xa7\x7b\xf9\x91\xc1\x43\x4d\xf9\x9e\xfe\x71\xf1\x4b\x70\x7f\x7a\xc4\x00\xa0\xb2\x77\x32\xfe\x0f\x8f\x38\x0c\x26\x17\x9f\x39\x11\xc2\x33\x74\x22\x12\x6d\x99\xd1\xad\xae\x2d\x92\x28\x07\x6f\x07\x6b\xf2\xd7\x46\x18\x56\x89\x6d\x9e\xa5\xb8\xfd\x7a\xc1\x79\x02\x64\xb1\x31\xc8\xc1\x1d\x46\xfe\x63\x08\x5a\x57\x05\x5d\x84\xce\xef\x67\x67\xa3\xca\x0d\xd4\x24\xcc\x5d\xfa\xe9\x86\x9c\x2b\x91\x2e\xbb\xbc\x14\x35\x5d\x9a\x01\x2a\xbd\xc3\x9f\x9a\x9c\xa6\x10\x0c\x8b\x69\xb7\xd3\x06\xb7\xba\xee\x00\x9c\xd8\xd9\xd3\x14\x03\xef\xd3\x38\xdd\x42\xb2\x93\xc1\xc1\xd4\xee\x28\xfc\x61\xee\x70\x9e\xcf\x9c\xae\x44\xa4\x98\xb8\x5d\x9c\x4c\x4e\x98\xe7\x00\xd3\x9a\xde\xbe\xb0\xa2\x44\x04\x09\x69\x0b\x36\x6e\xe6\x65\x83\x58\x26\x9e\x64\xca\xdf\x2d\x57\x8f\xb9\x6f\x24\x6c\x04\xa2\x93\x84\xfd\xf8\xd4\x60\x9a\x8c\x38\x43\x14\x49\xe0\xc7\x60\x40\x02\x25\x0b\x71\xea\x12\x64\x24\xe6\xf0\xa4\x59\x61\x51\xc5\xf7\xf6\x79\x19\xc2\x03\x58\xc2\x81\x3b\x01\x38\xe4\x88\x3d\x44\x6f\x1b\x98\xc9\x92\x92\x7a\x3b\xf4\xd1\x8c\x8a\xc0\x2b\xf1\xee\xa7\x8f\xee\x18\xa2\x0d\x31\x76\x0c\x47\xf2\x69\x36\xe4\x0e\x88\x0d\x1d\x93\x5e\xa7\x7c\xc4\x39\x04\x91\x7f\xe7\x59\xb3\xe3\xf8\x61\x29\x23\x21\xdd\xf3\x84\x1a\x1c\x0a\x3f\x18\x88\x6d\x85\x3c\x9c\x56\x4a\xe9\xa3\x77\xd6\x10\x36\xe1\xfd\x64\xbf\xe8\xe7\xff\xc4\x00\x24\x11\x01\x01\x00\x02\x02\x02\x01\x04\x03\x01\x00\x00\x00\x00\x00\x00\x01\x11\x21\x31\x00\x41\x51\x61\x71\x81\x91\xb1\xc1\xa1\xd1\xf1\xe1\xff\xda\x00\x08\x01\x02\x01\x01\x3f\x10\xd7\xa7\x57\x3d\x84\x75\x41\x50\xae\x6b\xe7\x8e\x43\x43\xe5\x3b\xff\x00\x9f\x7e\x68\xbc\x16\x48\xbe\xe6\xaf\x67\x7d\x78\xe2\x89\x90\xa0\x53\x16\x3a\x80\x1b\x59\xc2\xdd\x06\x5b\x21\x0b\xa2\x02\xa1\x8c\xef\x1d\x6f\xcb\x98\x8a\x0b\x93\x8c\x3d\x9c\xb5\xdb\x0d\xda\xc2\x20\xe0\xc7\x03\x46\x8d\x02\xdc\x88\xef\x76\xbf\x4c\x57\x9e\xd8\x3c\xf5\x44\xbe\xa7\xfb\xc0\x0b\x48\x65\xf0\xfe\x19\x6c\x4c\x75\xc1\x70\xe0\x22\x42\x6e\x47\x53\xbf\x1d\xf8\x40\x99\xb1\x95\x73\x83\xcf\xdd\xc1\x98\x0e\x39\x17\xcc\x83\xa6\xbb\x9a\x67\xee\xf8\xe0\x44\x00\xeb\xfd\x73\x0a\x4d\xa9\x17\x2b\x69\xd7\xdf\x63\x21\x78\x88\xe4\x17\x1b\x2e\x3a\xa6\x97\xb3\x13\xbe\x04\x46\x2d\xe8\xf1\x83\x67\xae\xf1\xee\xa3\xb2\x0b\x64\xcf\xbf\xae\x2f\xc7\x1a\xb3\x19\x60\xe1\x73\x82\x4d\x1d\x84\xcf\x28\x89\x91\x03\x95\x14\xf8\x83\x77\xf7\xc8\x99\xea\x57\x33\x2e\x74\x10\xf8\x38\x62\x58\xe9\xeb\x52\x75\x8a\x43\xe3\x61\xc7\xce\xa2\x40\x58\xac\x2b\xe2\xc2\x98\xa9\x9a\x50\xbb\xca\xb0\x4c\x56\x9a\x8d\x77\x93\x4c\xa7\x10\x14\x6c\xec\xf6\x91\xd4\x4e\xf3\x31\xc6\x1d\xc2\xdd\xc2\x76\xa4\xea\x77\xae\xf8\xb7\xd2\x04\xc0\xa0\xa1\xe5\xb7\x5b\xc7\x7c\x70\x7f\x3e\x60\x54\xef\x48\xb9\xcd\x7d\xe6\x9e\xf5\xc3\x46\x51\x2b\xac\x1c\x86\x72\x4d\xfd\x08\x71\x1c\xed\x00\xe5\x62\xaa\xe7\xa3\xda\xa9\x3a\xe6\x63\xa2\xc9\x66\x6b\x0f\xe9\xf7\xcb\x80\x6b\x83\x80\x98\x3a\xb1\x82\x36\x9a\x67\x14\xa4\x25\x13\x2e\x58\xe0\xd0\xd6\x2f\x56\x50\xa2\xd3\xee\x1f\xd7\x03\x71\xcc\x66\x78\x1a\xec\xcc\x62\xf5\x71\xc9\x6f\x24\x75\x07\x66\x8c\x7e\x3e\xb7\x84\x88\xc3\x7c\xa9\x02\x47\x02\xb7\xe4\x9b\x78\x02\xe1\x11\x2f\x4a\xfe\x9d\x7d\x39\x8c\x7b\xef\x60\xb1\xbd\x4e\xf1\x1b\xa3\x7c\xa8\xa9\x24\x14\xab\x37\x8c\x46\x44\x42\xa6\x6b\xcb\xd4\xce\x3c\x75\x2b\xf9\x6b\xef\xc4\x0a\x28\x1e\xcc\x3a\xf1\xc5\x67\x46\x15\x59\x72\x97\x5c\x96\xe4\xb2\x56\x4f\x1c\x39\x56\x31\x97\x19\x9f\x8c\x71\xa9\xaf\xf9\xc3\x98\x20\xe7\xff\xc4\x00\x1f\x10\x01\x01\x01\x01\x01\x01\x00\x02\x03\x01\x00\x00\x00\x00\x00\x00\x01\x11\x21\x00\x31\x41\x51\x61\x71\x81\xd1\x91\xff\xda\x00\x08\x01\x01\x00\x01\x3f\x10\xca\x95\xf8\x23\xa1\xff\x00\xa4\x51\xaa\x3a\xfa\xba\x8a\x07\x12\x09\xa8\x42\x89\x66\x0b\x78\x98\x94\xbb\x7a\x81\x41\xf3\x68\x54\xa4\x3f\x3f\x99\xc1\xac\x14\x9f\xe5\xc9\xa2\x63\xd4\x20\x1b\x60\x03\x7e\x78\x61\xc5\x9d\xc9\x6c\xce\x48\x04\x84\xb7\x5f\x9a\x7d\x70\x8f\xbd\x3f\xd3\x67\x03\x79\x27\x33\x40\x32\x80\x81\x2e\x33\xcb\xb5\xa4\xcd\x43\x4a\x92\x3e\x10\x97\xe1\xaa\xf3\x20\x83\x66\x0b\x16\x9a\x80\x3d\xec\x0c\x91\xb3\x44\xe8\x5b\x0b\x8d\x1f\x15\xe0\x07\xc3\x51\x49\x28\x68\x37\x84\xfc\xfd\x79\x70\x08\x93\xb5\x3c\x31\x4b\xf5\x4c\xf5\xe7\x5a\x4a\x54\x8a\x27\xc4\x7e\x72\x15\xef\x43\x85\x70\x3f\x25\x2a\x81\x64\x77\x7f\xa5\x88\xd3\x25\xd2\x8a\x07\x81\xcf\xe8\x65\xa6\xd2\x16\x0a\x8e\x3f\x5f\x97\x84\xd5\x81\x42\x90\x9f\x1c\xac\x10\x3c\x87\x7a\x81\xe8\x2e\x58\x00\x97\xc1\xbb\x76\xf0\x0e\xf9\x41\x10\x80\x53\x24\x8d\xf8\x8f\x36\x34\x8d\x9c\x21\x6b\x6e\x7d\xde\x42\x2f\x58\x58\x0d\x08\x88\x44\x6b\xc5\x38\x44\x28\x0a\x56\xb5\x1d\xdb\x2a\xe0\x71\x40\xe6\xd7\x40\x8d\xc4\xa0\x02\xe2\x8a\xa0\xf9\x1b\x8f\x96\x33\x41\x0a\x26\xbc\x2a\xfb\x8e\x25\x08\xf0\xbf\xb3\xed\xca\x89\x8f\x41\xa8\x18\xda\x07\xd8\x1a\x88\xe6\x60\x11\x2f\xd3\x5b\x9f\xbd\xe6\x98\x60\x8c\xc5\x3e\x18\x03\x63\x3d\x87\x04\x50\x82\x8a\xc5\x70\x53\x01\x29\x9e\x1d\xec\xd3\x64\x68\xc0\x80\x91\x5f\xc0\xe0\x04\xab\x86\x18\x84\x04\x92\xfa\x1a\x8f\xa4\xe9\xbb\x42\xa6\xa8\xfe\xd0\x1a\x15\x21\x73\x6e\xd0\x53\x3c\x60\x00\x28\x86\x5a\xf3\x95\xfb\x8c\x82\xf8\x33\xce\x7e\xee\x61\xdf\x91\x84\x0f\x45\xf4\xbe\x5e\x97\xcc\x8b\x06\xca\xc1\x34\xa5\x65\xe9\x16\xd6\x05\xda\x00\xc4\x11\x49\x27\x0c\x3a\xaa\x84\x8a\x5a\x11\x70\x81\xf5\x84\xe5\x4c\x1d\x0d\x86\x1e\x12\x8b\x82\x3e\x1c\xe9\xe7\x22\x03\x5b\x0e\x59\x08\x31\x4e\x73\x89\x22\x5d\x2d\x66\xdf\xc7\x01\x35\x22\x85\x04\x7d\x13\x27\xe3\x88\x8b\x69\x72\x89\x62\x7e\xb8\xcf\x34\xdf\x40\x00\xa0\x28\x5f\x05\x38\x49\x00\x4b\xf4\xa5\xc5\xd5\x7f\x95\x7a\x26\x52\x46\x28\x4b\x69\x1b\xf5\x3f\x79\xdc\x04\x5a\x04\x8e\x7e\xb9\xad\x75\x05\x5f\xf6\xef\xff\xd9", expectedMatch: /Render_Image\('Raw'\)/, recipeConfig: [ { diff --git a/tests/operations/tests/Media.mjs b/tests/operations/tests/Media.mjs index 96116167..cbf09c5c 100644 --- a/tests/operations/tests/Media.mjs +++ b/tests/operations/tests/Media.mjs @@ -4,7 +4,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/MorseCode.mjs b/tests/operations/tests/MorseCode.mjs index 1da2cb78..8df76d80 100644 --- a/tests/operations/tests/MorseCode.mjs +++ b/tests/operations/tests/MorseCode.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/MultipleBombe.mjs b/tests/operations/tests/MultipleBombe.mjs index 32d2db08..adec6174 100644 --- a/tests/operations/tests/MultipleBombe.mjs +++ b/tests/operations/tests/MultipleBombe.mjs @@ -4,7 +4,7 @@ * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/NetBIOS.mjs b/tests/operations/tests/NetBIOS.mjs index f7210196..923853ea 100644 --- a/tests/operations/tests/NetBIOS.mjs +++ b/tests/operations/tests/NetBIOS.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/OTP.mjs b/tests/operations/tests/OTP.mjs index a9198798..c34a46f2 100644 --- a/tests/operations/tests/OTP.mjs +++ b/tests/operations/tests/OTP.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/PGP.mjs b/tests/operations/tests/PGP.mjs index baf76fb8..18e2e7ed 100644 --- a/tests/operations/tests/PGP.mjs +++ b/tests/operations/tests/PGP.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; const ASCII_TEXT = "A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."; @@ -248,7 +248,8 @@ IOE1W/Zqmqzq+4frwnzWwYv9/U1RwIs/qlFVnzliREOzW+om8EncSSd7fQ== =fEAT -----END PGP MESSAGE----- `, - expectedOutput: `Signed by PGP fingerprint: e94e06dd0b3744a0e970de9d84246548df98e485 + expectedOutput: `Signed by PGP key ID: DF98E485 +PGP fingerprint: e94e06dd0b3744a0e970de9d84246548df98e485 Signed on Tue, 29 May 2018 15:44:52 GMT ---------------------------------- ${UTF8_TEXT}`, @@ -282,4 +283,30 @@ H2qMY1O7hezH3fp+EZzCAccJMtK7VPk13WAgMRH22HirG4aK1i75IVOtjBgObzDh } ] }, + { + name: "PGP Verify: ASCII, Alice", + input: `-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. +-----BEGIN PGP SIGNATURE----- + +iLMEAQEIAB0WIQRLbJy6MLpYOr9qojE+2VNAUiMLOgUCXRTsvwAKCRA+2VNAUiML +OuaHBADMMNtsuN92Fb+UrDimsv6TDQpbJhDkwp9kZdKYP5HAmSYAhXBG7N+YCMw+ +v2FSpUu9jJiPBm1K1SEwLufQVexoRv6RsBNolRFB07sArau0s0DnIXUchCZWvyTP +1KsjBnDr84U2b11H58g4DlTT4gQrz30rFuHz9AGmPAtDHbSXIA== +=vnk/ +-----END PGP SIGNATURE-----`, + expectedOutput: `Signed by PGP key ID: DF98E485 +PGP fingerprint: e94e06dd0b3744a0e970de9d84246548df98e485 +Signed on Thu, 27 Jun 2019 16:20:15 GMT +---------------------------------- +A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.`, + recipeConfig: [ + { + "op": "PGP Verify", + "args": [ALICE_PUBLIC] + } + ] + } ]); diff --git a/tests/operations/tests/PHP.mjs b/tests/operations/tests/PHP.mjs index dabd4d39..b9d6a8f0 100644 --- a/tests/operations/tests/PHP.mjs +++ b/tests/operations/tests/PHP.mjs @@ -7,7 +7,7 @@ * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/ParseIPRange.mjs b/tests/operations/tests/ParseIPRange.mjs index 83a8eea9..d7ef0b52 100644 --- a/tests/operations/tests/ParseIPRange.mjs +++ b/tests/operations/tests/ParseIPRange.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/ParseQRCode.mjs b/tests/operations/tests/ParseQRCode.mjs index 191699d4..dbccabd3 100644 --- a/tests/operations/tests/ParseQRCode.mjs +++ b/tests/operations/tests/ParseQRCode.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/ParseSSHHostKey.mjs b/tests/operations/tests/ParseSSHHostKey.mjs new file mode 100644 index 00000000..00e13c6c --- /dev/null +++ b/tests/operations/tests/ParseSSHHostKey.mjs @@ -0,0 +1,65 @@ +/** + * Parse SSH Host Key tests + * + * @author j433866 [j433866@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "SSH Host Key: RSA", + input: "AAAAB3NzaC1yc2EAAAADAQABAAABAQDiJZ/9W9Ix/Dk9b+K4E+RGCug1AtkGXaJ9vNIY0YHFHLpWsB8DAuh/cGEI9TLbL1gzR2wG+RJNQ2EAQVWe6ypkK63Jm4zw4re+vhEiszpnP889J0h5N9yzyTndesrl4d3cQtv861FcKDPxUJbRALdtl6gwOB7BCL8gsXJLLVLO4EesrbPXD454qpVt7CgJXEXByOFjcIm3XwkdOnXMPHHnMSD7EIN1SvQMD6PfIDrbDd6KQt5QXW/Rc/BsfX5cbUIV1QW5A/GbepXHHKmWRtLC2J/mH3hW2Zq/hITPEaJdG1CtIilQmJaZGXpfGIwFeb0Av9pSL926arZZ6vDi9ctF", + expectedOutput: `Key type: ssh-rsa +Exponent: 0x010001 +Modulus: 0x00e2259ffd5bd231fc393d6fe2b813e4460ae83502d9065da27dbcd218d181c51cba56b01f0302e87f706108f532db2f5833476c06f9124d43610041559eeb2a642badc99b8cf0e2b7bebe1122b33a673fcf3d27487937dcb3c939dd7acae5e1dddc42dbfceb515c2833f15096d100b76d97a830381ec108bf20b1724b2d52cee047acadb3d70f8e78aa956dec28095c45c1c8e1637089b75f091d3a75cc3c71e73120fb1083754af40c0fa3df203adb0dde8a42de505d6fd173f06c7d7e5c6d4215d505b903f19b7a95c71ca99646d2c2d89fe61f7856d99abf8484cf11a25d1b50ad222950989699197a5f188c0579bd00bfda522fddba6ab659eaf0e2f5cb45`, + recipeConfig: [ + { + op: "Parse SSH Host Key", + args: ["Base64"] + } + ] + }, + { + name: "SSH Host Key: DSA", + input: "AAAAB3NzaC1kc3MAAACBAMnoZCOzvaQqs//9mxK2USZvJBc7b1dFJiBcV80abN6maE+203pTRPIPCpPt0deQxv4YN3dSHoodEcArWxs1QRAIuRsQIvsUP7chovzGnxP84XWK5sbfrseD0vxZ7UR0NaAFPcSgeXcWC1SG9uvrAJQlyp4DBy+fKuqiYmwaz0bHAAAAFQCXNJ4yiE1V7LpCU2V1JKbqDvICMwAAAIB/5aR1iBOeyCVpj0dP3YZmoxd9R7FCC/0UuOf0lx4E6WHT6Z2QuPBhc2mpNDq2M0VF9oJfVWgcfG8r1rlXaCYODSacGcbnW5VKQ+LKkkALmg4h8jFCHReUC+Hmia/v8LyDwPO1wK6ETn7a3m80yM7gAU5ZNurVIVVP2lB65mjEsQAAAIA3ct9YRB6iUCvOD45sZM1C9oTC24Ttmaou0GcpWx3h0/iZ8mbil1cjaO9frRNZ/vSSVWEhEDNG8gwkjZWlvnJL3y1XUxbMll4WbmI/Q1kzKwopceaFwMbYTPKDg6L1RtCMUxSUyKsFk1c4SpEPlDS7DApZs5PgmWgMd/u6vwMXyg==", + expectedOutput: `Key type: ssh-dss +p: 0x00c9e86423b3bda42ab3fffd9b12b651266f24173b6f574526205c57cd1a6cdea6684fb6d37a5344f20f0a93edd1d790c6fe183777521e8a1d11c02b5b1b35411008b91b1022fb143fb721a2fcc69f13fce1758ae6c6dfaec783d2fc59ed447435a0053dc4a07977160b5486f6ebeb009425ca9e03072f9f2aeaa2626c1acf46c7 +q: 0x0097349e32884d55ecba4253657524a6ea0ef20233 +g: 0x7fe5a47588139ec825698f474fdd8666a3177d47b1420bfd14b8e7f4971e04e961d3e99d90b8f0617369a9343ab6334545f6825f55681c7c6f2bd6b95768260e0d269c19c6e75b954a43e2ca92400b9a0e21f231421d17940be1e689afeff0bc83c0f3b5c0ae844e7edade6f34c8cee0014e5936ead521554fda507ae668c4b1 +y: 0x3772df58441ea2502bce0f8e6c64cd42f684c2db84ed99aa2ed067295b1de1d3f899f266e297572368ef5fad1359fef492556121103346f20c248d95a5be724bdf2d575316cc965e166e623f4359332b0a2971e685c0c6d84cf28383a2f546d08c531494c8ab059357384a910f9434bb0c0a59b393e099680c77fbbabf0317ca`, + recipeConfig: [ + { + op: "Parse SSH Host Key", + args: ["Base64"] + } + ] + }, + { + name: "SSH Host Key: ECDSA", + input: "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGxZWSAGJyJQoVBwFCpr420eRUZDE/kw2YWm5vDro8050DZ1ZzqIuYaNl0BGzMcRTeasGtJuI8G84ZQQSgca3C4=", + expectedOutput: `Key type: ecdsa-sha2-nistp256 +Curve: nistp256 +Point: 0x046c59592006272250a15070142a6be36d1e45464313f930d985a6e6f0eba3cd39d03675673a88b9868d974046ccc7114de6ac1ad26e23c1bce194104a071adc2e`, + recipeConfig: [ + { + op: "Parse SSH Host Key", + args: ["Base64"] + } + ] + }, + { + name: "SSH Host Key: Extract key", + input: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiJZ/9W9Ix/Dk9b+K4E+RGCug1AtkGXaJ9vNIY0YHFHLpWsB8DAuh/cGEI9TLbL1gzR2wG+RJNQ2EAQVWe6ypkK63Jm4zw4re+vhEiszpnP889J0h5N9yzyTndesrl4d3cQtv861FcKDPxUJbRALdtl6gwOB7BCL8gsXJLLVLO4EesrbPXD454qpVt7CgJXEXByOFjcIm3XwkdOnXMPHHnMSD7EIN1SvQMD6PfIDrbDd6KQt5QXW/Rc/BsfX5cbUIV1QW5A/GbepXHHKmWRtLC2J/mH3hW2Zq/hITPEaJdG1CtIilQmJaZGXpfGIwFeb0Av9pSL926arZZ6vDi9ctF test@test", + expectedOutput: `Key type: ssh-rsa +Exponent: 0x010001 +Modulus: 0x00e2259ffd5bd231fc393d6fe2b813e4460ae83502d9065da27dbcd218d181c51cba56b01f0302e87f706108f532db2f5833476c06f9124d43610041559eeb2a642badc99b8cf0e2b7bebe1122b33a673fcf3d27487937dcb3c939dd7acae5e1dddc42dbfceb515c2833f15096d100b76d97a830381ec108bf20b1724b2d52cee047acadb3d70f8e78aa956dec28095c45c1c8e1637089b75f091d3a75cc3c71e73120fb1083754af40c0fa3df203adb0dde8a42de505d6fd173f06c7d7e5c6d4215d505b903f19b7a95c71ca99646d2c2d89fe61f7856d99abf8484cf11a25d1b50ad222950989699197a5f188c0579bd00bfda522fddba6ab659eaf0e2f5cb45`, + recipeConfig: [ + { + op: "Parse SSH Host Key", + args: ["Base64"] + } + ] + } +]); diff --git a/tests/operations/tests/ParseTLV.mjs b/tests/operations/tests/ParseTLV.mjs index 5617bf2b..5c99eee2 100644 --- a/tests/operations/tests/ParseTLV.mjs +++ b/tests/operations/tests/ParseTLV.mjs @@ -6,7 +6,7 @@ * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/ParseUDP.mjs b/tests/operations/tests/ParseUDP.mjs new file mode 100644 index 00000000..2c519232 --- /dev/null +++ b/tests/operations/tests/ParseUDP.mjs @@ -0,0 +1,68 @@ +/** + * Parse UDP tests. + * + * @author h345983745 + * + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Parse UDP: No Data - JSON", + input: "04 89 00 35 00 2c 01 01", + expectedOutput: "{\"Source port\":1161,\"Destination port\":53,\"Length\":44,\"Checksum\":\"0101\"}", + recipeConfig: [ + { + op: "From Hex", + args: ["Auto"], + }, + { + op: "Parse UDP", + args: [], + }, + { + op: "JSON Minify", + args: [], + }, + ], + }, { + name: "Parse UDP: With Data - JSON", + input: "04 89 00 35 00 2c 01 01 02 02", + expectedOutput: "{\"Source port\":1161,\"Destination port\":53,\"Length\":44,\"Checksum\":\"0101\",\"Data\":\"0202\"}", + recipeConfig: [ + { + op: "From Hex", + args: ["Auto"], + }, + { + op: "Parse UDP", + args: [], + }, + { + op: "JSON Minify", + args: [], + }, + ], + }, + { + name: "Parse UDP: Not Enough Bytes", + input: "04 89 00", + expectedOutput: "Need 8 bytes for a UDP Header", + recipeConfig: [ + { + op: "From Hex", + args: ["Auto"], + }, + { + op: "Parse UDP", + args: [], + }, + { + op: "JSON Minify", + args: [], + }, + ], + } +]); diff --git a/tests/operations/tests/PowerSet.mjs b/tests/operations/tests/PowerSet.mjs index c742b030..c7efca84 100644 --- a/tests/operations/tests/PowerSet.mjs +++ b/tests/operations/tests/PowerSet.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Protobuf.mjs b/tests/operations/tests/Protobuf.mjs new file mode 100644 index 00000000..0bdd6b19 --- /dev/null +++ b/tests/operations/tests/Protobuf.mjs @@ -0,0 +1,36 @@ +/** + * Protobuf tests. + * + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2019 + * @license Apache-2.0 + */ + +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Protobuf Decode", + input: "0d1c0000001203596f751a024d65202b2a0a0a066162633132331200", + expectedOutput: JSON.stringify({ + "1": 469762048, + "2": "You", + "3": "Me", + "4": 43, + "5": { + "1": "abc123", + "2": {} + } + }, null, 4), + recipeConfig: [ + { + "op": "From Hex", + "args": ["Auto"] + }, + { + "op": "Protobuf Decode", + "args": [] + } + ] + }, +]); diff --git a/tests/operations/tests/Regex.mjs b/tests/operations/tests/Regex.mjs index b48673dc..a8697d46 100644 --- a/tests/operations/tests/Regex.mjs +++ b/tests/operations/tests/Regex.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Register.mjs b/tests/operations/tests/Register.mjs index dec017dd..7c02ae0b 100644 --- a/tests/operations/tests/Register.mjs +++ b/tests/operations/tests/Register.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/RemoveDiacritics.mjs b/tests/operations/tests/RemoveDiacritics.mjs index 1b712ce3..c58a2ba6 100644 --- a/tests/operations/tests/RemoveDiacritics.mjs +++ b/tests/operations/tests/RemoveDiacritics.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Rotate.mjs b/tests/operations/tests/Rotate.mjs index 83e39ee8..fe832b4a 100644 --- a/tests/operations/tests/Rotate.mjs +++ b/tests/operations/tests/Rotate.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ diff --git a/tests/operations/tests/SeqUtils.mjs b/tests/operations/tests/SeqUtils.mjs index 6947928d..3076cf96 100644 --- a/tests/operations/tests/SeqUtils.mjs +++ b/tests/operations/tests/SeqUtils.mjs @@ -5,7 +5,7 @@ * @copyright Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/SetDifference.mjs b/tests/operations/tests/SetDifference.mjs index 1990d19d..40fac524 100644 --- a/tests/operations/tests/SetDifference.mjs +++ b/tests/operations/tests/SetDifference.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/SetIntersection.mjs b/tests/operations/tests/SetIntersection.mjs index 72d2529b..c9146c01 100644 --- a/tests/operations/tests/SetIntersection.mjs +++ b/tests/operations/tests/SetIntersection.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/SetUnion.mjs b/tests/operations/tests/SetUnion.mjs index 1593d202..f6517118 100644 --- a/tests/operations/tests/SetUnion.mjs +++ b/tests/operations/tests/SetUnion.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/SplitColourChannels.mjs b/tests/operations/tests/SplitColourChannels.mjs index 60788425..4452d970 100644 --- a/tests/operations/tests/SplitColourChannels.mjs +++ b/tests/operations/tests/SplitColourChannels.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; // Base 85 encoded const testCard = "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"; const testCardSplit = "iVBORw0KGgoAAAANSUhEUgAAAUAAAAC0CAYAAADl5PURAAAhfklEQVR4AezBP49maZon5Ot+zhsRVdXTO03zRyxidxnhIKQRHgjhgMMXwMblS+EigYGBhYMQKwwsLLDQaqRFsAxCC730dE1lRrzn+dHSvejM2YjMyqzMrIiseK6r/lvyZxiIx+LLmtpFu2qbFgQDQeEev0Lh3vvd+7Ki3WubdtHutL/AX+A/8XX5Fj/gou1elkIQZ/+R9p9qb7Wrs+F57SgUgt/gH+K3KIddG9qubZ5HtF8j+C2mr8/lz/Bn3i2+rKlt2q5t3u0NvtHuvV/5sqLda5t2cfY9/oBfofANJsrzilbOot3hHr9BsCMO5WV40K7an2q/1m61q7PheU2Uw5/gV/iVs10b2q5tnke0X2HHN7jiAcGG8m7lZbgEQTkE5eUKguDi08Sn2bRNK2dB8IC3+B6Fe0xcvQylxdm32PE7BNPLUlqcTe2iXXw9fos/9XUIJiYm4hCH6Wxo0/O6BPG0eH7RyqFQiJdvICgUCoVCeTlKi7Nd271M8bSpTWellRbPqzwWX5eJielQWrxsF/+MQrwsQSEoh0J5GTZPmwh2TATBWy/TcDa0W+2qlRbPa3ra0Ib3K88rWjkEQTlMbWjx/IKBDYWBiUIQ7za1eF4X/4wgXo7yZcWnKR+mUL5uQRCUVl6moBBn5eUJymFiojC0OIufR1Aei0OcBRPx8l2CoBCU16V8mmhX7cZZoVAoL1c8rbSplVaI53dBYWrRhrNdm9rwMgwEQWnxWHke5WnlMFAorbRCvGyXQmmF0grx/KZWHgvKy1aIxwrxcpSnxWOFQiGeX/yyFArD1yEIogXl63CJs2jxMpTHSivE85patGjlUNgwtMLARLwM09N2bUe8PNO7BaVt2qaVl2vDcDacDS/H0MpZvHzDsizLJ4iv18VXLj5N+TSbs/JYsGPXgl0bntfUytM2PGBDsDsbntf0bnEoL9OuDZS2Y6JQ2tSGNr0MA+XrNSzLsrxSF1+58jKUpwXxbtPLEE/btR3x2PSyDJRWDruXafPYhuFsOBteluHrNCzLL1Qsy/tdvHLl00TbnZWzQmmFDRPTy1CeNrSBYDobntd0NlEI4jCclRbPK1o5TI9NbWhTG5ZPMSzLsrxSl0K0QiGeXzxWPr/4PC6eVihn8XLF+xXiML088ePi6zYsn8OwLMvyCcrXa1iWZXmlhmVZlldqWJZleaWGZVmWV2pYlmV5pYZlWZZXaliWjxDL8ssxLMuyvFLDsizLKzUsy7K8UsOyLMsrNSzLsrxSw7Isyys1LMuyvFLDsnyEsiy/HMOyLMsrNSzLsrxSw7Isyys1LMuyvFLDsizLKzUsy7K8UsOyLMsrNSzLR4hl+eUYlmVZXqlhWZbllRqWZVleqWFZluWVGpZlWV6pYVmW5ZUalmVZXqlhWT5CWZZfjmFZluWVGpZlWV6pYVmW5ZUalmVZXqlhWZbllRqWZVleqWFZluWVGpblI8Sy/HIMy7Isr9SwLMvySg3Lsiyv1LAsy/JKDcuyLK/UsCzL8koNy7Isr9SwLB+hLMsvx7Asy/JKDcuyLK/UsCzL8koNy7Isr9SwLMvySg3Lsiyv1LAsy/JKDcvyEWJZfjmGZVmWV2pYlmV5pYZlWZZXaliWZXmlhmVZlldqWJZleaWGZVmWV2pYlo9QluWXY1iWZXmlhmVZlldqWJZleaWGZVmWV2pYlmV5pYZlWZZXaliWZXmlhmX5CLEsvxzDsizLKzUsy7K8UsOyLMsrNSzLsrxSw7Isyys1LMuyvFLDsizLKzUsyweKZfllGZZlWV6pYVmW5ZUalmVZXqlhWZbllRqWZVleqWFZluWVGpZlWV6pYVk+UFmWX5ZhWZbllRqWZVleqWFZluWVGpZlWV6pYVmW5ZUalmVZXqlhWZbllboMDK208vPZtF2LtjsrDI/F8yqtnE3tAYWJqRUKG6bnVVppcbZ5v+F5TY8VJiZ2bddutfg8pk+zaUFpw2FqQ5va8HIUrtgxtOnrMPxRfF3K16O0QqF8XaLF1yOI5ecShyC+Hpd73KNQKMTP50bbtHvt1tk9gs3Z8LzutRtn99odCre4RbTdyxAtzsrZdHaD4Op5DRSi3Wkbgl2LdtUuPo/Np9m1zWFiavfaN9qDdutlKBRuseONs3J2q1216XldLF9cfL3Kyxe/XOWstPLylK/P5QY3CAqFeLfh83rQbrV42kRQmFphel63nrZppW0YDtPLsGnT2abF08rLMJ39oN0huPW0B23zaYZPc9U2Z7tWvg7BxEW7atFKe+tlucSy/PLE+0WLTxNfVpzFyxQE8XW5DAyU53Gj7dqds7faN1owMBGU5/VGu9NKu2gThd/jr7w8u6ft2qZ9h+AH7d7LdIeJ77Vo5WxqNz5N+TR3WlDaLW603dmts93zu/fYtyj8tRYv08U/FZTlc5soRCsUplbeL55H+ToU4t3K00orL9twVs6G5xWUs0KhvHz1d8gdpsNEtDgbPq8H7U773tl3CP4KhQ2/wl94GaKVNrXh7H/Hv4p/gIk7TNx7XndaaW+1aH8X/yX+XdziFsFFe+N5lbO/1v5z/Hv4j7W/pU3tjbb5NNOnucem7fgP8Z/hzzGwa5u2a9HK8/or3OG/wRUXDPweE3+i3WvfaVctntflH+EO02EinjZ8Xg/anfbG2S2CB4dfIwjuvV98Wbs2tF3btB0Df63dYOA7BD94v/iy7rTShhZtQ2HHAwrlsHtehaC0HcGOHRftok3tom0+zfTpCgMTQ/vHzjZt1+JluMcdfoMb3Gm/RuFPtHvtG21q8bwuE28Qz+OiPWibtmv32h2Ce2wICt94XtHKuwW32r/mMDE8r6kNZ1Mb+Hv4N5ztCIbnNTztBjf4P7R/pJUWbfg08WkumNi1v9R+h8IPXrYLvsEFNxgI/hYKU5ueVp7XxVektIkdA5vnVX6aIJ5fnEWLQ3msUF628vINxNM2j5UWL8PAwMTUymFow9nwMlz80UC06ed11UqLp+0OwY0PE19WadGilTYxcdUmJoYWrTyPzVlpm8NEULhiOAzP61671Xbtgg2lRbvR7rXpeb11Vg5XP27zvO7xBvcYuNV2BOXswdnmeV38URDPK95vIlp8uPLzKGelFQZKC4Jo8X7xZQ1Pm9rQSiuHeBnilyPaQPy4eF6FG9zi4mxgatHiLJ7XxR9t2B3ix5UWn8dFu2rD2XQoh90hHitf1tB2rbRdu9W+0aa2aVOLVs7Kl3XVLs6Gsys2TBQu2vS8bj3tih3RSnvweZVPE60QlPYG5bE4m55XYWLDhmibNrSp3XpZLv4oWny4+LziLFpQKC2IQzmUFi9PeVohDvHzig8zUZjYLF/CwNDi61AoFAbK1+XijzZMBOVluEUhmHjQBm61oLxfeVpp8WlKu2rfaJuzt9rAhiB+mvLh4v2Gp01tYEdwxZ2zoDytUH5em1YoXBDsWhyGQ7Q4G54WLSgUSotDUJgeG4i24YobLYjD0Ka2OQTR4v0KcRja9LRyKC2IFgxc8Y22Y3N262lBYdfibHO2aw8IvtV2rVAorbzfxR9NTD+PchZtIB4LylmwY0M8NhziLFo8rfx0QZyVdqeVVlo8Vp4WLQ5xVj6PcrgguOLO2XAWhyAoj5UWrXy6iaEVBiYKhcLuMFFa/DTDIQ7x46bDFd+iPK2cxWOFeL94v/K00uKscMUFEwMbJoYfFy0olFZaadGiRSuttCAYWnm/iz+6ojCw+zClxceJpz1opb11tmHHd/gWOzaU9ytn5cu41Up70Da8xffajl3bMHy48vm90TbvdoM7XBzuceuxclber3weE4Ud93jAjl271XZnpcXTpveLHxdPKwzs2g8OG3YMrbRyNh3iUNpwFi1anMVZeb+gcMU3eIMbFKazoLSJ4Ea7aNHKWWk32o2zTYsW7eoszi7+KBgoHy6+jNLibNeCiQ0Tw/vF+xXi3cpZnJU2tdKmVhgY2g2uKEwMz6sQj0UrFAoXh+Aetz5OtPL5FR5QuMONs3gsnk8wsGPDxNB2rbTSSitPK620OIsWbTiLD1PaDSYumLh1mChPK5THyoeJVs4KQbThLM4u3mFgeqwQlA8T73eHYGq793uDDRvix5UfV94tHiuPRSvtVrviDjcOF4f4eHEY3m86lMc2xCFaHHZcUdi0O8THK5/XjoGBHYWBb3DjcO/sO0y89fMoBEMLBh60XXvrsDlcEY+VFi3OLtrU4ixaPG0gKGfRgu+wYWjRLoizIM6CqRUKQbRCedrVoVDO4mw4u/ijwsTUCvG0aNHKIT7e1OJQiDYwHXZEK8ShPBaH8liclbPyftGmFpTDBcHV03aUx0qLVp42nZWzeFpp8bRyGChsDlMrz+uKO0S74AH3uPVuVww/n2hBtOmxW23DjqHF0wpBIZ4WRIuz8rRo0aJFi7bhLUoLytMK5bHC0EorRCvvVs6CaEE5i7PLLX6lBYXSJkqLFq0QDC1aHILhEC0Ope3avXbRfoOJ32PDFb/F/4xv8b1DPLZ5LA6lRYuzDXGIsxvtQbtFEG3HxO/xd/DXKOwo3DjEIVp5WrSLQ7RoQTnEYxPBLYJ7BFftn8Nf4n/Aju/wgCsGvnEWFKIV4jC1aJsWLYjDcIjHNgR/0Ep7i9/hP8DFYccVwbf4d7TpacNZtF170HYU7rUH7S0K99quXVF4iyt2XPGvaL9C4a32gGA6m54W7cH7Te83vd8b/J/4+yjcoVDYcEFwo32jbZi40S7aBYUbFAYKdwjutKFtPs3lv8C/iFtMBNEK0aLF2XQI4hCHYGIiCIKJ4EF7g2BD8FsEf8AVP6Dw5z6/YCIIgqlNBMFEtCC4x8QFExPBRPCA/wn/C4J7BBcEQTARBMGOIJiYCKb2gCCYCCaCYNeCiSAIggcEN5h4g+ABwT+Pv8K/jx13mHir3SCYCCaCiSAIgmAiCIIdQRBMBEEQj8Vhwz0eMPEG3+G/xn+P/877vdWmpw2ttKntKNxioHCLwq224QY32HCHDbcILghu8IP2b+PfxL+FHb9H8AMe8D2ueIOJ/xUTP+CK77HjAcFVmwh2FKb2DQrBQDBQKGwoFAYmyuEBA/8VJv6AHd/iewRvEdxr97jirRYU7jHxgE37BgPf4YJf4xZ/ggt+hRv8KW7wt3CDP8UNfqUNbTi7/Dn+nrMgCCaCOARB4aoFE9GCiUIQTATBRLBp95h4i4lbbUPwBsE/wcT/iImJYGIimAiCYGIimAgmJoKJHUEQ7JjaxEQQTExEu2JHMLFjQ3CDqU18j+AWE28QBEEwMTGxIwgmdkwEQRBMBBMTExPBRDARBBPTobBjYuIBE/8AO/4CO75HsCO4RzAxMRFMbSK4IlowEQQTE0EQBNEmJqIFQfAdCr/HxG9QWhzuEOyYCP5l/H2f5h432HHBjg0PuMHEwBvcYccFE8NhYuABb/H/YMc/xBW/wwP+L9zj/8UD/jdc8Ttc8Y9xxT/BjgctWmEgKOw+j0IwMLFhd9iw4wYPGJgoBIWgENwg+DVu8Ftc8Ldxgw23+Ndxh38BF/xdfIO/jQt+o5XHglEo7xeHIFp8uHi/aPFYtHi/0sq7lUOhUCgUSiuUViiHQjmUHxc/TaFQWqFQKJ9HvF+hMFAoH66cBUEQX0Y8Fo+VLy9aeb+JYCII4mnlEIcgiBY/n2jRopVWfpqBgQ0bBjYMbB4rH+eyYUO0wtSCYCJaEASFQhAUogWFQlAIgqAQvEGwaRcEt4jDBcG/hIm32oZgIpgIJoIgmJgIJiaiTewIgomJiWBiIpgIJiaC0oKrtiN4wEQhCIIrJgamFq1QKGeFQiEolFYICoVCaaWVQ6HwRivs2BDcYWJi4g8IdgQ3CAaCiYmJYCIIJm4QBMFEtImJIAiCIAgmogVBUNoFE1ftiuBWu3d2wY3D1KKVVtpEYcfApt1qF6200kobKESLdsUFF21i4g2uuMPAd7jiOzzgLW7wHa74g7MH7IizYHcYKBQGrhiYGJgYCApXFIKB6awQh4EdQ9twxYaJaHE2MXGP4KoFExsG3mo7ymFgQ3najmD4p8rTCoXSCoVyKIdCOQTxYaIF0eIQxKH8NIVyVg7l3cpZnEUrh2hxFh8niEN8WYUgDuUQPy5aoVAoFMqhtEJ5rFA+TBAtiOcTrZxFK2eFQjkrrbTSosWXFR+mnJVWfpogCIIgCOKsUA7xbtEu97jXgg1TizYxtSCINrWJINrE1IKJaEEwcUFwg4kdA/daIfgewQ2CP0XwfyOYCCaCiSAIJoKJYCIIJiYmgmDHRDAxEUwEExPBxA0mNkSbeMCOHaUFV+zYtDjEobSgUFqhMBFPKwSFOATR/kS7YscDgrcIrgjeILjRgiAIgmhxVohDtEJQiA9XiHZFEO0HBNOhHL5DULj1WHlaOQsKb3CDe9ziijvs2FDaRbvRLtoVhaFF+xYb7nHBBdEKb/GgRQsKhQsKV4dCMBAUpjYRTG1qU5sOhWi32DFwxYYdAxNTe6vdI3jQvsEVA/e4YEehEARX7YqBiTgEwcSOB+1e27SpTW34G8pZOZSnlaeVz6N8PvFh4vMI4seVd4vHosWXU1oQP11ppQVBMJ2VQ3la+XFxKGdBED+P8n5xFsSnKT+fIN4tPk75ePG0aOXdLje4cShMZxPRgoloE8FEHCZKCybiMDExELzFxMDEVbug8GtM/DWCv0TwLYJCUAgKQRAUCkFQmFpphaBQKAQDExMDE4XCWwQTE7sW7HiLiUIwEGzajmBHMBEEEzuCiYlgYmrBxMREMBFMTAQTE8HERHCvTUxMBMHEBUEh2DDxgOCKYGJqE0EQBMHUgiCYCCaCIAiCiSCIFkwEE8EdgsLEQOEHbXP2A37nMLxfOQyHG2y4wYbdWVDYseEBN7jHLb7RJgpv8YAdE29wxRtcsWHHjfZXuOJ7POAeV1yxIw7RdmfRdm1qU5tatGjBgza1XZtaIbjgigvucYMHvHF2xdQmgmDDhjvc4Fvc4Rvc4g63uMENBjZsKAxtc3bxI4IgWhDEh4vPo7xbIZ4WP64QjxWiFYLSyoeJDxOPlVYoBIXS4udRWqFQfppCaYXpp4sWxMeLL698nPhliJ8mzgqFQqFQKJRPd4lWmAiixSEIgmCiEARBtCBatCAIgmhXBEOLdqNdMTER3CDYEEwtCIJoQRBEmwiCaMFEEARBEExMBMGOieAGQRyCqd1g0yZ2TK0wMLFhYEcQhzibGAiGQ2FqEwOF6RAEhUJholAYmJgoTEQLHjARBBuCQiEoTARBEG06BAPRgiAIogVBtGiFicJ0CK4ICsGDs4HvMD1taEFhahPBQDkMbWgDhR0bokW7aBMDA8HAhmCgtA1BEBQKv8IVf8CmBRPxWGFgojC9WyEoDAxcMRAMTEwMTI9NbWpX7UErBDd4wAVXbeAGF1y1N9hxr10xsGHDPSauKGzarm3Ohj8q7xdn0eJ5xfMqj5Xl/xc/j0L5ZSiUFkt8vPLhLuX5xPOLVgiCOBRKKwSFQrxf+TIK8dPEWXzdCtEK0UqL9xver7ThUChtx0A8rbSLdtGGVg6FCwqFoFAIgh07rrjiiiuCoFAYCOIs2LWgMLCjEBSCaMGOXdu16TC1aIXggitu8BZ3uMcN3iLag/agxdmGDRdccItbvEXwgMLExMDw2O5sWJ4UlENp5ax8mFh+DoXy48rycyhnpZWfJs4KhfLTDH9DWf6m+DiF8uPKL1sQP69yVn4etyhs2tDK2VW7arunFQqFQqE8NjEdCoULLrjBDS64YGDThkOwa9Hiw11QuGgXbXN21XbsuEdwo92isGmF0uIQBDt2fIfv8C2+wx3ucMHFYWBgYGBgYFi+mPJ84iwei0Ocla9f+ToFhfJ1Kj+faEF8vItFEEQr7xZn5acrX0a0eFp8mPL1iJ9m935BYWo7CoVbvMUNrrjBA+5wr03cYMcFE9PhLW604AFXTAQDAxftgolbFK64YseOHTuu2DE9rVCYGJgOhWCgUNrAxMDEwL121e61B+1B27UHbdeu2hXBrkW7ajsKO3bs2HGv3WtvMfHgaeVseOXKWTnETxM/rvw0pRXKWSwfozy/QjnEoSwfKwiC+HGXQhCUw8AVA0G0ICgtnhaHIJgY2LFhIg6FOAQbrigEQSEYmJgOhSDOSistiFYoFOJQiBZnEwMThSAICsFEYWJgaoUrLrg6xFmhsKMQFIKBB5QWh3JWCAqFoBCUVlpQDnEWBMH0WDxWCAqFaKXFWbSB3fsVJgpBIZjawAMGJiY2RNt8mE3bUCjtBgO32kW7wQVB4Ua7wXC4YDhszq64YseOB+zYccUNChcEAxuCeNpEOUxn0aazgYmBiYFCMDBxwRU3eMANHrBhx8B0uOABGyYKcdiwYcPmLCgUNmy4wQ02bB6LNrURFAYKpQWlFUorlBYEE0EcymFgw4aBYOKKQqG0QqFQuGJqAwOlTcShtEKhEAQTQRAUhncrFAYKA4XSCvFuhdI2DAyUw45CoVAoZxPRCoXhMBHEWaEQhyDOJiaCiSCYmBgOhYGBwvBYOZuYmJiYCIIgCIIgWrCjUCiUQ6G0gQuuiHbRpkNhQ2nl48XZ1KKVtmmllVbOylmhHAYGCqUFQVAoFMqHi48XLdpEaeVsaldtanFWKO9WKBQGylmhHIIgiB932RFtahNBIVoQBIWJHcNZtGjBRDBR/r/24GbHjus6A+jap6r5Y8eGBWSSx8xbZZxZHifTBEYSyrIp8tb5gmAjOLi+l81uUqJIqdYiKGw4tGBiIpgIdkwtiFaIJQiCIAgGgtImJoKJYCIIgiAIgosWTASFiYkgCIIgCIJoQbRCIQiCIK7tKESbiBaUNhBtaNGCgaAwUJYgKExMlBYE0xIEQWmF0goDQSEoTC2YWjC0aMHERBAEQRAEU5u44BXe4y1+j6kVohWC+DSFskxtYsPEwMRAUAgKEwNB4YIHHAje4cAFF1xwQRBsCF5ohcLAhg0ThUJ82MRAYWLgwMBEISgE0WKZ2uHawIENFzzgHTYc2HDgPYL3WlzbseMBOzbs2LDhwMTEgULhAS8sUztQmNpeWqFQ2sTABcHERGkT0QqxBEGwaQcKhYFCYSDa0GKZWhAEhQ2FIChMbaK095gYKJRbhaAQFApBYWgHgolCfNzQgmhBIRgIJgqFWIJgIpiWgQPB1IKJiaAwEUwcmAiCYYklmG7FUpgIokULYgmCYCIIphZMRDswMXzYwIENByYK/4D3lkIQbaIwEC2ulVZaUJgolPvKtdJK27TSNhQKhYFgYEOhUCjXCoWBgfI8hUKhUCgMBIUgPl20uFbahgs2HJYNwYYNhbJEGyjLxMSBw32x7IWLFpR2oDBQOFAYWmlTGwiiDQSFDYWgMBFMTC2IpRBtQ7QLJoKLFgQTQRAEG8oSlFaWQlCIVlppE4VowUAwUSgMTEthYmiHFteCIJgIBgqFTQumViiUa2UpDAQDhUObWhAtlguiBUEsAxMDEwOxXFwrlGVDEESL5UC0IAiC4AUOvMZfUSj8iAccKNcKA0E8XVAISnvQhmsHNhzY8RYv8RYvccEDSpsoTExMTEtZpuUdDhQKr/GA7zAxtYlCobRCtImBiaEVBgrBwIGBicKPCF7iPR7wDg94jx1v8RI/4gV2bPgR0TZMFKZWKG1iYiK4YOAFXmBgs7xH4aJNbdM2bf9XfIegUNrEhgMDB4INQbBjIG4FQRAEwYYLXmilRQuCaNEmgkPbMS1BtCDagYmJaA/YMFEIgmAimNpEULjgNQ4MBAeCIJgIgiAIgpfYUdrEoQUbgiDagYGBl5gILtrARLRgIggmCjuiFQ7tQCxBEAQX7NgRTEtwIJiIFgTBay0IosUSLQiiFXZLLEEw8Q4vtcI7/B7/gjdaUJgIgjf43rVope0IDu2wDLzFjr9iww8YeIMdP2LD99jwF2x4h4FC4Z32PYL/QfCfuODPuOA/cOANDvw7gr/hwPeIr88P2g/ue6dFO7R3GPgbNvwF7/AKO/4bD3iFHRMPCHa81aa2abu2/zMKQSEoBKUNTG1govAamxaUW6UFExsKf8QLPLgVS2FgolB4gT9iQ7RopcUSrfASf8BLBJsWLVq0oFAI/hGFgcJmCWIJNkwMbNixoRA8+LBCELzEdxgoTAwEQSyxvMJL/B6bNnBgeFzwgN/hlTZRKASbFi2W4J98XLSBIBh4wB8QS2lBMLSgtAs2/BveYCIYiBa8wZ/cV9pAEBSmawOFw32lDe1wrVyLazsmSjtcKy1uFYYW16LF05QPKwzEEgRxq7AjuGi7dmjR/kv7s2u7dtEetPeWYZnarj1o+9DiVrSJaEG0gd9pQbk1sWkTpb3GK0yPCzZMlDYwMCxBuRYMLQgGNmw4cGjlWqFwoBAEO4ZWOLSylFYIJiamNjEQDC1uBYVgIpjaBbsWrVCWwg8IXmnRDmyIW4VoP2LDgxYUChNTi1auvdfivoEDhYGJic1SbhVKCwpBYdcmgri24cDh4+LzRIvHxX1TC8rTlRa3CvF5ohWC6Vp8WBC3CoX4fOVx0fZpiRb3FaYW7JZy30AQlGXTyocFA7EUgs21cqsQrVB4jw2HVj4sKJRWliAot+LaQLAhGFohPm4gKK2woRCUJZZgR2FohYlNK/eVNvCAWKIV4lpcmx43ERQOrRAU4nHlVlAYiGVqh4+LFkvcmp5mui8eNz0u7osWt8rzxX3R4r6yxHJx7eJ5Lq69dy2IWxftog0/s7gvPq6cgvh1K6cvKYgvK75Ou88UX0b5ZZSvR1C+LeV5yvPE6VPFzy++bsMXFC2+rPj2xS+r3IrPV1qhLIVyOv28hmcqvz1B/LTKtyt+WuWnE6fT0w3fqCCeLn46hfLbUCin06/T8AXEEt+2cvo/8XWJ0+n5hi8kPl359Sinvxen0y9jeIJoQWnl6QqlleeLz1NaadPTBYXSYonnC4J4ukJp8WnKMjxPUJZC/DSC0oLSpucpt+J0etxwOp1Ov1HD6VcvTqfTPcPpq1ZOp9PPZTj9ZgRxOp3+33D6ZsXTxel0+nvD6VctTqfThwynr145nU4/h+ELCGIpFMrTlFaY2BDPFxQKQWmFQqFQKK0QrRBM9xXKtdIKpRUKQaFQ7itMlLYhnm4gGAgKQTxNeVyh3CqUpVAoFAqlFSYKQXm+WKINp9Pjdt+AWMpSKC2ulSWulWvxYYWg3Be3YgmiBdFKixb3TQRBEM8TRAuCINrweab74loQS7RNK5RWTqcvY/eZ4nHlVrT4uKDcKpSlfFhZSisUgnJfUJbSSitEK0u5b2BoA2WJxxUGBqKVjwsGBgYGgqBweFwhCKYlKGweN1yLFm2iEC0oHDh8mnI6Pc3uZxaUJVo8X7RCobR4mtLKsnlcUIhWWiEYlnJfUNiwawNBLHFfsGHDjmiF+LgdO4KhBYUHjxt4jVc4LMHAYYmltM21cm2gEAxEu+CVpwnKrXI6Pe5/AXt+L94J8N2HAAAAAElFTkSuQmCCiVBORw0KGgoAAAANSUhEUgAAAUAAAAC0CAYAAADl5PURAAAjzUlEQVR4AezBwY5maZ4f5Of/ni8iq7qY7vFoLDRIlj1CXAASO18C98FlcCVsESztC0Cy8cJbhFjakr0ALEaA7J7uroz4zvtDPX+1DscRGZVZWVkRWd/7POV/En+NgXgqfh5TG1q0QhAEGx7wiML0sgc/j02bWrQ77Vf41/hzhx3ldQ1ncfYN/gabFq20eH3B0C7aP9P+O23TLlppu9dVKEwE3+Lf4D9BIdrQopUWryPa9wgKE4VgolBatNLiTbj4a/y1D4ufx9SGFm1oE8HA93iv7V5Wfh6bNrVoU/sGf4vfoLSJ8rrKWZwVHnBBEATlbYhW2kX7jfZn2qZdtNJ2r2ugsGvf4Dt8p0UbWrTS4nVE27BrVxSCiUJp0UqLN+EiCMohKG9LOQQTwcXnKZ9n10obzjYE97jgDoXCxOZ1RYtWWmn3+B4XRAtKi7chzi7a1HbtQYtWXl8hiPYHDGdDi7chWmFix9VhauV50cqrugjiefH64qlCId6+gaBQKBQKhfK2lFbajh3ledPri6emNrU4i1beliCYKIdo8TZEK0xMTBQGylfh4j9WiLclWjBQKAzEy8qXVVpp8WGFQqG06XVFi1ZaaUOb2tDibRjOJgqbNrSplTa18rpKCwobNtyhMLWhxdsRbWBiYKBQCOKsvCkX/7Eg3o7S4qwQPyy+rGjR4nmFwkBpA/H1CII4lNcVTwVBIVqcxdtQCKIFExOFaNHi5xWUp+IQh2gTQZyVN+UiCApB+ToUCvGy8rL4acXZru3YsaNQmCivaziLVg7RCkG0YHhdO8ohDnHYtKFFi7ejfLryZZXnlRYUCoVCoVCIs6FNrbyqi0JphdIK8fqm5wVBedsK8VShUF5XeV5p8VRp5W0IytevUCgUBnZv20QQxFfnIs6ixdtQDtEKhUJ5XaWVNrTpbKA8Vd6GeN7AhoFgICgtXtdAIdpEaUG0aFOLt6G0IJgIgoloU5vOhtcVFOIwtTiUFq20eFXDsizL54hDfFUubl18GaWVs4HC0Havq7Q4K60wUQiCOMTrGiiHQmlxiLNo5XUNbaIwMFAolDY8r7yuIJ4qrZyVFq28qmFZluVGXbwV5XWUzzO1aPGyaEEwvK7S4qy0gYHSSitvw45yiDYRlFZaeVumFgQTExOFaNHibQqC0oL4sHgThmX5mpUPi2V50cVrKy1eR3ye0korL4sWBOV1RYsWrbSBIIin4nUNLQ6FQiGeF29boRxK25xNb0OhUM5KixYt2vCqhmVZlht1UYhWKMTPJ1q04SxaOSuUz1d+GlOLVloQh4FCEJS3pbTyYUFQKK8rKMQhDtGGFq20eBsKhUI5RIsWb0uhEASlBXEY2tRKi1c1LMuyfI7y1RqWZVlu1LAsy3KjhmVZlp9SfDWGZVmWLyHevGFZluVGDcuyLD9W+aoNy/IpYlkO8WHlzRuWZVlu1LAsy3KjhmVZlhs1LMuy3KhhWZblRg3Lsiw3aliWZblRw7J8irIsvxjDsizLjRqWZVlu1LAsy3KjhmVZlhs1LMuy3KhhWZblRg3Lsiw3aliWTxHL8osxLMuy3KhhWZblRg3Lsiw3aliWZblRw7Isy40almVZbtSwLMtyo4Zl+RRlWX4xhmVZlhs1LMuy3KhhWZblRg3Lsiw3aliWZblRw7Isy40almVZbtSwLJ8iluUXY1iWZblRw7Isy40almVZbtSwLMtyo4ZlWZYbNSzLstyoYVmW5UYNy/IpyrL8YgzLsiw3aliWZblRw7Isy40almVZbtSwLMtyo4ZlWZYbNSzLstyoYVk+RSzLL8awLMtyo4ZlWZYbNSzLstyoYVmW5UYNy7IsN2pYlmW5UcOyLMuNGpblU5Rl+cUYlmVZbtSwLMtyo4ZlWZYbNSzLstyoYVmW5UYNy7IsN2pYlmW5UcOyfIpYll+MYVmW5UYNy7IsN2pYlmW5UcOyLMuNGpZlWW7UsCzLcqOGZVmWG3Wx3Lb4eNHKsvwiDMuyLDdqWJZluVHDsizLjRqWZVlu1LAsy3KjhmVZlhs1LMuy3KhhWT5WabEsvwjDsizLjRqWZVlu1LAsy3KjhmVZlhs1LMuy3KhhWZblRg3Lsiw36mJiolAYiBZEK1/WcFbOJgau2LVCvK6pRYt20TYUCoVHFC4YPl/8NHbt4mwgCKIVLgiuXldQzgqFwtCGdtWilc9TPs+uDQRBEASbdtU2bWrD6wp2DATRBgrRdq20oU2v6uKPgvL1KF+P0gqFclZeFq8rWpwF8TYFsfxc4hBflYs73KEcys8n2tQ2bWrRNm3DxHvE67vXdmdDu6KwY8edFi1e16aVs6kFwcUheEBw53VdtdJ2LQjK2UV7r20+T3yeTZtaobBp5WXT2xAE9wh2BNGiRYtWXtXF8uXF16u8fUH5ZSqttNLK21AoBKWVr8bFxEShUIgPi1ZafJ6hlbNd25wFwUC8vgdt16K9cyhM7M6C8rL4sh600uKsMFAICoUdwfS6LlpQ2BAEwe5577T4PPF5hhaUQ2lDG9pF27V4fQMTwYOzcvaN9uBNuIjlSypPBUF8/crbFC2eFy0+T3xZ0aJFixZvQxBn5c27+JOpDQTlZfHT2LWh7c6G9ojCBQOlxevatKFdnQWFC+6wawOFeFn5su61XRva1DZseERwh+AO0+sLgg0D7zFx0S7a1HZtaLvX9ahdUNix43vtXpvag7ZrF6/rgolHbWgPKFy0TXvwplz8SVCWn9pEIVqhsGnxsviySiuttHKIp6LF6xpaeV5ppZVWWnnbhhattGjD6yqUs0KhvHkX/zXeYdeCiU2LFi3a0OLzbNpVu9eiXRHcozDxHQYe8a1D+flt2tQu2lUbGPgL/Ff4bzAxMXHvdV21oQ3tov0N/in+e9xjR7Brw+sqZ3faf45/jP9Be9BKu9Omz1M+T2HDFTv+Ff5b/B8Y+F6LVtrwNlzxDv8brggGLpiYWmm7NrwJF/873mHXgonNWbRoQ4vPs2lX7V6L9ojgGy34Dd4hflh8WZs2tYt21YKBbzBxh4FCMLwsvqyrs6FdtA2FHY/YUbhqm9dVCEobCHbsuGhTK+2iTZ+nfJ4NhYGJgd/hb3093uHPcYeh3aEwtdJ2bXgTLv4omFoQBMHQ4mxq5fN8r5X2B23Ton2P4IIdQeHf+7BCfFlxVtpVuyD4NR7wB+0OOwrleYX4sjbtUbtoV+0Rf8DfYNMKG4LpdU2ttCD4h3jE39M27aqVFp+nfJ4rJu4x8Gt851BaaVMrLV7fhnvcoxCUNrWL9qi98yZc/EkhzsrrC0orBBM7hpcF5edVWmmFaAOFiYlo0cqhEMSXFS1anBXKWaFQmF5Xeaq08vYNxPMKpZWz0uL1DUxMbCiH4Wxow5tw8UeFOCsE0eKstOnz3GnRokUbKOxaobChsHvZ9GWVs6mVtqEwMHDBxAXB1MpZafFl7Vq0qZW2YyIIBgq7Nr2ui7ZrmxZMxNmuvdPidQUXbFoQLYg2nMXbUFpQuGoDwebsnTflIgiiBRNBHOJ58XmiRYuzQjARDMShPBWH8mWVlxUGCkEQRIvnRYsva2pTK62cFQrlEG9DfL0mCkEQDF+Pwh3uMTAdBqKVN+niT0oLCkGwaXFWWvk8F+1RG9p0tmmFgSsGyiFaOZQvK1ppQyvtPQoPeMCGDTuCclbOype1aZsWZxsG7rAhKDxow+t61IZW2sCG0q7acBafJz7PnbYjmNg9NZ1FG17XxBXvEVy0IJjaRdu1aMOruvijaNHiEC2+jGhxFm2iUFohWjAcSou3o1AoZ8HEBXGI1xEtnjdRCDbLT2Ui2sBA+XjxugqFwkBp01fhIthwxY6BQlCIs2ilxeeJFmc7Cht23GPgATs27JieikN5Xmnx09i0R23TJgbeY8MjLigMxKcrHy9eVtrUytlAcK9dsSPYEJTnFSbKIQ7lqfg0E4WpBRNBMBGUdo+JRwxEK62cTc8rbaIQFApxVlpQ2sTQNgQPmHjEnXbVopUWLc7K84LSgtLi8xV2DAQ7hrOJOAytUJ6anjecTWeFwtTiRReFiempieGHBYWgvKycDW0gKGdB4YJHLXjEBfHUcIizaPG88uMF0aLt2jtMlFY+rDwvWhzirPw0SitcEFwxMPCIR9w7i0MwUZ4qBNHKj1O44BE7vsEFhYGJQqEQh+nzDS2IQ7RyKBQmgolNe8B3KIfC0HYfp7TSpkP8sHIWP+yKCyYGNlwxEC1aOYtWzoYWLVq00spZEMRHuSgEAwNBMBAMlKdKi5fFy6ZDIdqdsx2PGAgGLnh0Vs7K2fDxCvGyXYt2p23aO7zH0IIrBjZctTgrbTorZ8OHBfGyTQuCoZX2PR7xgB1Du8e3+K2XDZSnopVDeSpetiG4R+EeD3jEjk0LgkLhHhNTK62c7Vq0clba5lAoFK4YiLZhw0Thiis2PGh32oOn4mXT54mPU1pQ2LHhAXe481ScBROFQhAfFpQ2tCsKpW3a0KazcnKxY6BQ2DExtCCYzoY2nZWPE4dCOSvtgit2BMHEholyCOIsXrYhnheUszjbUZjOymFg4A53uGJgIg5xiFZeFof4OHEoRCuHaBcUBu5QeETwB5RWnhfEIVq04RBPlaeCQrDhEQOFRxTe4Q6lBdEKA0F8nnKIFgSFcgiCYEdhaN9gYmDHox+ntHhZPK8QP6y0DRMXTNw7TJTnFQoTcRjO4iza1DZnhSDa8KKLgUIcCgPTYWhBUNrwsnheaVcEU9u0oT0g2PANCncoPGI4K2flLM6ml01PlcM9gqFdEYeJbxBM/AGFgQfc+3RxGF42HcqHlXZxtmNHsOMBhe+wo7R43nAIyln5sKA8VVohuMeOB1ww8B6/R2mbFkw8YOJOK88rZ4VyCAqFQjwvCKZWGLjiDleHe21gOiuttGjR4uOUFmfxcaY2ccEDNm1HYXhqIg4DE3EoLVqhtOmsHEorHxYnF4XCFbs2EOwY2tSiTa0c4qmpledNLQ6FoQUT0a4IdgzEoRBncShPxVk5K2flbHc2UQ4XXHHVNgQThR3lqdKiledNZ+UsnldaPK+0DQOFC3ZccdWms0Jpwe6sfJp42Y53iHbBIx5wj2Ag2sDEFcMPixaHOFy0oU0tiEMQBNGmVhiYuMcVA9NThUJpE0EhPl5QDuUsPt57FAo7Ni0oh8JwFgyH0grRymEgKB8WLShncXJxh++wIxgobWJoU4tDsGnR4hAMh2hxKGf32tR+h0Jh4Ff4+/gO32JziKc2T8WhtGhxtiEOcRZtaI8INq0w8Vf4S1xReERhOsQhWnletItDtGhBOcRTFwQ7gguCoT3iG/wVdu0R9xjYnRUK0QpxKC3apkUL4jAc4qmJYGib9g0m/i0u2LV7XDHxLf6tVp4XZ0Mb2qZtKFy0i7ahsGl32obCBVd8iyv+PS74DQpXbSAoZ3/mbNMGSosWFEorvNdKKy3a7qycXfAb/JmPU86i7dqOwkThisKO4OpQeMDA1N4juKKwa9Hi5OJ/xN/HhqlFK4epRYsWhyAOcQgmJoIgmAimdkGwI/gDgg1XbCj8K+y4IAiCIIh2RRBMTARBsCMIgokgCKY2EQQT0d4jKEy8x8RAMBB8i/8V7xA8INgRBMFEEAQ7gmBiIpjaI4JgIpgIgl0LJoIgCArBFRMDQSH4f/Bb/J/YsWNi0x4QTEQLJoIgCIJCEMSX87/gf8Z/iQuuCL7BVftz/COtPC9aaaUNFH6NgXe4x3e4x7fY8Bvc4R7v8B3ucY8LfoU7h1/jn+D/xo7fIZh4xI4rdkxcMHHFFTt2TARTC4JCobSBQmFgYKBQGChtoFAobcfAP8fE/4sdA7/De7zH3+IBv8cDfof3+B7BAx7wBzziqg0M7YKBe1xwwcAdNtxh4g6FO2xatDi5+C/wDxGHoBBMBLtDEBR2LZiIFkwUgmAiCCaCXRuYGJh41K6IFlww8Q8wMRFMTAQTQRBMTAQTwcREMLEjCIIdU5uYCIKJiSC44oLgETsmgkdMBBP/DsEjJoIgCIKJiYkdQTCxYyIIgmAimJiYmAgmgokgmJjYtR07gomBiQ07/jPsuEMwEBSCiYmJYGoTwUS0YCIIJiaCIAiiTUxEC4LgexTuMPE9Cjv+A/4lgomgMLW/wr/QyvOmVigUBu5xwV/iDt/hHn+Bd/h7uMdf4g5/jnf4C9zjO9zhW9zjV9jwK2z4T7FjwxUDj7jgATsecYcrJq4YuGo7SgsKhYGBwkChMLSBiYEdQyutUBi4IniPR/wKD/gt7vF/YcPExO/xgN/iAf8OO36HB/wWV3yP4Io77Lhodyjc4xHvMHHBjm8wcfFUOYShUF4WhyBafLx4WbR4Klq8rLTyYeVQKBQKhdIKpRXKoVAO5YfFj1MolFYoFMpPI15WKAwUyscrZ0EQxJcRh2jxVPnyopXnBRMTExNBEM8rhzgEQbT48oIdOyaiBROFQjlEi+eVw8DAhg0DGwY2T5VPchEE0QpBEATxvEIQBBPRgolCMBEEwUQwEExEC64IgolC8HtMBFMLJoKJYCIIgmAimJiIFgRBEARBMDERTAQTE6VNBBNxuGCiELxHMLQdQTARBEEwEQRBEEwtCIKJIAiCIAiCIAiCixbseI/CAyYumPgGQRA8IAiCiYmJaEEwMREEwUQQTEwEQRAEQTARLQiCzdnQCsGu3WtXDFxxxdBKKy3OCoWBgYGBiYkgDkFQKK0cBjZccMEjJu5Q2BBM7JjYMTARbccVhWBgYGhDC0obKBQeUSgMbSAYmAgKpRVK27QgKJQWBMHExBVXPOIRG4JCobRCMDC0gaAcNmzawNQm4lBaaYUw/El5XqFQWqFQDuVQKIcgPk60IFocgjiUH6dQzsqhfFg5i7No5RAtzuLTBHGIL6sQxKEc4odFKxQKhUI5lFYoTxXKxwmiBUEQP71C+bBo5RBEKxQKhUKhnJVWWmnR4suK520YKAwUyqG0QnleOSuHIAiCIAjirFAO8WHxdy4KhUJQDkFQCMoh2nAoxFPB1ApBYWJHsGOiEGza1DYMLfhbBO+00korZ4WBqRUGgkKhHAqlFUoLCoVCtCsmHhFsmNixoxAEwcR0iEMcSgsKpRUKE/G8QlCIQxDtvcPusCEoFAaCq1YoxFkhCIJoQRBMxKEQH68Qh2Ai2BCHHYWpPTobnldaaUMrFAY23OEOd7jDwEChMBFcMfCoPaDwa1y0oRWueEThig07JoJCOQt27Ah2h4nSgkI5FApxViittKEVHrFjYsfE7rBhwwUTd5i4w8SOK3bsmJgOA0MbmBiYKAwMBAMDhYENm7PS4u8M/3/lrBzK88rzyk+j/HTi48RPI4gfVj4snooWX05pQfx4pZUWBMF0Vg7leeWHxaG8rvKyaKUF8XnKzyeI5xXi05RPF8+LVj7oYseOoQXTU1MLJuIQTMRhYmrBRBwmJoLggomJYGjR3mPiTvs1gu8RBEEQBEEQBEEQBFMLJoIgCII4RAuCYMNAtDttonDBRBBcEWza1EoLSisU4lAoBKUVCqUVBiZKK5RWKO1OmyhMRJt4RPCI4IqpFQaCQiEoBEEQBOUQBIWgEARBMDARBNGCQjC1HcHExBWFTbs6e4dv8XtnpUWbKE9N7NgxcMVAEBQKhcIFF9zhDu9wjwcUvkVhYKIwMBBsWjC1iXcoh6EF5TBQKAwUChsKhYGJgWBgYiAorbTCpm0ICsNZEEzs2HHFFRdtwwUbgg2lDUxtxxU7Bh4RRJsY2DGwoxBtaru/c/FDgiBaEEQrPyx+GuXDCvG8+GGFeKoQrRCUVj5OED8sniqtUAgKpcXPo7RC+fEKpRXix4sWxKcJ4ssrT5UPi69DaYXSogXB9OnirFAoFAqFQvlsF4WBwtRKCwpDC4LCRCFaOQSFgWBgakG0oQVBHKa2YWrBRDARFAoThdIGplbawK4VSiuttEKhEGeF6bAjKBQK0QZ2rTAxMBGHoDCw+2HR4qwQLVohzoI4TATRgomgtCAYWrSJIAiiBUEQBEEcgiAIgiAIgiAIogXRopW2YWAgWjCcXXHFcFba1AYKpQ0UChsmJkoLgiBatEIQTOwYDhOFaEMLJiYuKEwED7hiw8QFhUJQWrQgDsHAxEQhmCgEE/HUQDARZwMDA8Nhw4YLdi244oodV+xasDtccNEGBgauCDYMBANTK2ebvzP8UXlZnEWL1xWvqzxVlj+Jn0eh/DIUSotfpvLx4tOVj3ZRXk+8vmiFIIhDobRCUCjEy8qXUYgfJ/9fe3C2LFl2ZQV0zH08spFQYYXxwmfyVzzzxkeByWSlKmVcP3tiaIEdvO7NaLKJbORjeFS/bUGNoEaM+rBtxKhH9WEHDiwsBHEpio2NEyc2Nopie23jMBYWFhaCjWAhCDa2sRGPFoIguKNGsFCXIDiwUCxj4W4EcdnYuOOOO+54wQve4z0ObNxQHCiWcUdRFEWxsfE1vkLwDsENJ4Iay6gHy9PbirjEiEfxaerpSwji4+LpS4hHMeKHqUdBED/Izf8vqKf/pz5PEB8X1O9XUV9WUJegfrj6NO9R3BGcOLGxXYJgYeHAgSBe29hYKIqiKIoiHhVFsRGXuATBgYUiWFjYCIJ4LQg2NjY2NjaKIgiChQMHbrjhBS+4446NjW3E24Lgb9h4QbGMEws14k3L088nfjn1qF6rSz2K3774bSqC+G2KL6dGUZ/t5omiqBHfrx7FDxc/jxr1tvo08dtRP8zhw4ogxoHgwIF3eIcbbrjhhhtuOHDgwIGFhSA4cOBAEcRYKIqNjY2NYuOG5RIEQRGXIIjL9mgbG8FGjIViGQvvsHA3Dmwc2DhwIAiChSAIgoWFm7GNEwc2lrEQBDccuOGGAzcUN2wjxunB8o8uHsWlfpj6uPhhYgTxqJ4+R/zygrjUJZ4+V1EU9VE3QVHEZeGOhaJGUcSot9WlKDYWThzYqEtQl+LAHUFRBMXCxnYJinoUI0ZRIwiCugQ16tHGwkZQFEVQbAQbC9sI7rjh7lKPguBEUATFwgti1CUeBUUQFEERI0YRl3pUFMX2Wr0WFEFQI0Y9qrFw+rBgIyiCYhsLL1jY2DhQYxtBXWrUOIwTwcaJelRsnDhx4sCJO14QvCB4MRaKhRMLdTlQLNxQbJw4EZxYHi2XoEaNGMFCsFwWgmIZy1i4Y+PEHRtFsVEUcSmKYmNjY+PEiRPFHTWCjdOo14qiKLaxjBjxdzdFEJeiiBGjCGIUxUZRxAhqLARBUGzccbgUQVzu2DiwPNqoS1AEMTaKGkURLGxvixFsLBQxgvp+cTkQFEWNE3EJgrpsFEEQLJeNoh7F2C5FPdooio2i2CgWthEsY2NhexTUZRsbxUZRoyiKokaxEY9qxCgWDvwbbsYNd2yX4EBQBPVaUY9qFHHZKGoECwduCIIgCBYWgiCIEcRlYSGIURTFQhDExxVFEW8LgqAuNWpsBEEQY2Nj444TG0WNYCGI7xfEWKhHQVyKoqiPujlRYxsbRVCjKIpg48TyqEaNYqPYCIrgwGkUGxvFRnHDNooaQV2KoiiKYqGIsbFRbBQbRVEURVHcjWKjCDY2iqIoiqIoahQ1gqAoiqIe3RDU2KhRxFiosYwaxUIRLMSlKIKNjRhFsV2KoogRxAgWiqAItlFso1hGjWJjoyiKoiiKbWzc8Q1e8Df8EdsIagRFvS0IinoUBEEQrxVFUSzEJUZRBMFCsVAUxcbGiRPFRrERFEVRbCyjiEsQBMEdQVAERRAsxFgoFhaC77CNIFhYWAhiFBsnTpxYWAiCGqdxNxZObBQLCyeCeC1GsYyFIP7uJkYQxNhYuKPY2IixUSOoS1EUh3EiCBaCYKHGMuqyjaIoggNBUQTb2Ijxgo2FIF4LiqAIgiJYxoliI6iPW0ZRowiKhWIjCOpSFBvFdlk4UWyj2Ngogo1i48RGUSyXuhTba3UJNooaNYq6FEWxURTbKDZqnNhYvt/CiQMnNoL/gBeXoKixESxsI0aMGjWCIAiK7bV4FATBwoEbbrjhwEIQLBTFgSII4lEQLCO+XxAjRhAEQRAsBEFdtrGNoEYQj4KiKOoSBAc2DmwsFAeKA4cRlxoLcdnYOHEiXivi726Cu1HEOBEsBCeCZcTYxkJRY6EIDgRFsFFsbKOoS1DjQI07Noq7URQbRVEUB+JSxIhLUAQ1YsTYCGoUC8VGECxsl2BjGadRj4qi2CgWguAwim0EQTyKS7BQLASnsY2iRl3uqFEUdVnYWNhYqMvdoyAuB4qiRl1O1CiKoii+wolv8a8Igu/wDifiUbBQvPO2uhQxllEUJ+64Y+EFwQuCFxQvWDhx4sTC33BgIzhwIjixsHHHC4r3KF7wFU5svKC4o9hYRhAjKIKbESwEC0WwEJxYKJYRLBTv8YL3eI/3eMGJO+6444477rjjBS+4446NE9vYOBFsBAvBge9wosYNNyx8hdNYRo27v7v57/hnFEGMjQMnFk4UB4rihoV6rSiKoigO3PGVEaNGUdSosVGcxg3bpahR1DixsVHjHQ5sBEVRbBTb2CiCO77FiYXiRFEUG0VRFEXxNW6IsXEaxYGiqHFiYeFrbBR3Y2GjRrFRFBvBDTWC0zhRl6IoijtuuKHYLsWJYqNGURTfGkVRoy41iqJGcHOpS1FsvMfXRvAef8R/w1+MItgoir/g7lGNGkFdlnHDwl9xw59x4H9h4U+44T/hwJ9w4E848Acs/AHB18YNRVAUd7zDHQsnghP/ETVOLGwsFAeKGDW2sRAjRlDjQHAiqEtcvsOJf8Udf8WJP+M9/ow7/ow7/or3+Bec+Bec+A4nXhC8x0JxYOM9ihve4x2+ww3BO9xxwzaWUQ9u/iuCIiiCIsbCNhY2gm9xGEW8FqPYOBD8E77CO6/VJVjYCIKv8E84UKNGjLrUCL7Gn/A1isOoUaNGEQTFf0awEBwuRV2KAxsLB244EBTvfL+gKL7GP2Mh2FgoirrU5Rt8jT/iMBZOLB9WvMMf8I2xEQTFYdSoS/FffFyNhaJYeIc/oS4ximIZRYw7DvwP/AUbxUKN4i/YKOJRfdhC8D89WkYR1KhHMWrEiLH9MmLE2H6cAxvLOD1aKOpRjODEwkZxxzYW3uPEd1jGxsL2QTfLqNdqbNQoaiz8wSjitY3D2IjxLb7B9mHFgY0YCwvLpYhHxTKKYuHAgROnEY+C4ERQFDcsIziNuMQIio2NbWwsFMuo14qg2Ci2ccfNqBHEJfgrim+MGicO1GtBje9w4J1RBMHGNmrEoxej3rZwIljY2Dhc4rUgRhEUwc3YKOrRgROnzxcfFqNGfZr6PEH99GrUT2MbQb1W1GtBsF3ibXWJEZ/kZrvUqLcF2yhuLvG2haKIy2HE9ysW6hIUh0fxWlAjCF5w4DTi+xVBjLgURbxWjxaKA8Uygvq4hSJGcCAo4lKX4oZgGcHGYcTbYiy8Q11qBPWoHm0ftlEEpxEUQX1YvFYEC3XZxum1+jQ16m2nS32/elt9mvrh4lJfxol6rd62PTq9bXt0utRHLT+3elt9XDwV9fsWT19SUV9W/Srd/Fj1ZcQvI349ivhtic8Tn6eefqj6+dWv2vIl1agvq3776pcVr9WPFyOISxBPTz+r5XPFP56iflrx21U/rfjp1NPTJ1t+q4r6dPXTCeIfQxBPT79Ly5dQl/pti6f/o35d6unpsy1fSv1w8fsRT/9ePT39IpZPUaOIEZ8uiBGfr36cGDG2T1cEMepSn68o6tMFMeqHicvyeYq4BPXTKGIUMbbPE6/V09MHLU9PT0//oJan3796enp6w/L06xZPT08/k+XpH0dRT09P/9fy9NtVn66enp7+neXp962enp6+x/L06xdPT08/g+VLKOoSBPFpYgQbB+rzFUFQxAiCIAhiBDWCYntbEI9iBDGCoAiCeFuwEeNAfbqFYqEIivo08WFBvBbEJQiCIIgRbARFfL661Fienj7o5regLnEJYtSjuNSjeFTfLyjibfVaXYoaRY0YNeptG0VR1OcpahRFUWP5cba31aOiLjUOI4gRT09fxM2PVR8Wr9WojyvitSAu8f3iEiMIinhbEZcYMYIacYm3LSxjIS71YcHCQo34uGJhYWGhKILThwVFsV2K4PBhy6MaNTaCGkVw4vTDxNPTJ7n5uRVxqVGfr0YQxKhPEyMuhw8rghoxgmK5xNuK4MDNWCjqUm8rDhy4oUZQH3fDDcUyiuCdD1v4Ft/gdCkWTpe6xDg8ikcLQbFQ445vfJoiXounpw/63wTdhS07SlnhAAAAAElFTkSuQmCCiVBORw0KGgoAAAANSUhEUgAAAUAAAAC0CAYAAADl5PURAAAhNElEQVR4AezBy4pl25oQ4O8fc66IyMxzrcJDFSVogSCICII9e76B+Cp2fBMbYtOWL2DDTkF17HhpCWohlqIcL3U5e+/MWGvO8WvVj2eeWSsi8rYzV8RZ4/uCf5n8LhrSufRlhbIqB2W1STQkZhzx17wsfxv/Cf9BOWHF0WUt9g5KU/4r/if+gb2DsrisGWmzKH9f+cf2vlO6cnBZicABiX+K/4x/4mX5OToSiSMCizIrR2X2HMz8Ln7X49KXFcqqTEoq4dwJP1TeeFr4smZlUWZlUe6V38I3+JmyoOPosk72DkpTvsERP0BiQuJGWV3WpKRyr/xY+aG9SenKweUFZuWHeIODclAWe7OyuIxUTsodFiRSCTRltjd7DmYSibBJhOcnEVixIPE/PC/NXkPiO3yDewQSHa9c1g887KSs6PgOifQ8hb1UbpWm3CnheXiHwIzEhGazKKuHpctI5UdY8EMkQkkllaZ0pSnpkmYS6WHp8lIJm0AgPX8NiUAgEEogPE+hrFjRPW9prytdaUpXJiVdVleakkh0hE3aSyVdRtp0pWNSQknP2exMIF1et0lMSAQSK9Lz0+2dkEjlgFBWNM9TKoHwsoRNszfZC5d1pzRlxmzTlW4vlO5yEr9A4h1W3CGURLMX9sIlzc4k0vMRHhZIL0cgEDbN8CUkEoH0/KVNoqMjPC6VdFlpL5VE2kxKV8JzMJNIBBLheepIpWNBd3k3ymKvK4FAIOwFustalVQmJZUDZhyUFYkDEqvLSgSaksqkdGVSTkpTwmU1D0uklyORCAQmJe2FEp6DmUAogVAC6fK6EvYS6fkLpMeFywp7oYSSzgUCgdXlpV8fgVAaupchkUgvyUzaSyV9HelpoSS6kggE0vPQPWxVFpywIJSO5rJmJZVQVqUjsSKRyr3nZbEJdCSavYPnbUVX0uMmpbusGR236Jjthb2wFy6pGYZh+CzppZq9GM1eR0dzWUcfZsKE2aYhPA9hr9nrXo5U0vPXleZhTeke1lxWItHRkUogkUpTTvaaS2qGYRiu1OzZ6MqkNKV7WFO6521CYsZsL1zeaq8pXWlomJBIJJqSLisRNoFAoKErk7Iq4XlqaGgIpIetSndZN8qMjrAJ5w5KeA6aYXjRwuPSMDxldnHd05qSSkPzcqzKEUccEUh0HFxWsxdKs5dIpNK9DM1eKM3zFAg0BFLp9rrnYcWKEzpSCSSaEh6WLqkZhmG4UjOBVAKB9PU0ZVJWpSmhrOiY0bAivTwzAoE0fF/CJrGgY1JWZVK60jwvK1YsCITnbVUO6AilKal0pSnpOWiGYRiuVDMMw3ClmmEYhivVDMMwfK/SS9EMwzBcqWYYhuFKNcMwDFeqGYZhuFLNMAzDlWqGYRiuVDMMw3ClmmEYhivVDMMwXKlmGIbhSjXDMAxXqhmGYbhSzTAMw5VqhmEYrlQzDMNwpZphGIYr1QzDMFypZhiG4Uo1wzAMV6oZhmG4Us0wDMOVaoZhGK5UMwzDcKWaYRiGK9UMwzBcqWYYhuFKNcMwDFeqGYZhuFLNMAzDlWqGYRiuVDMMw3ClmmEYhivVDMMwXKlmGIbhSjXDMAxXqhmGYbhSzTAMw5VqhmEYrlQzDMNwpZphGIYr1QzDMFypZhiG4Uo1wzAMV6oZhmG4Us0wDMOVaoZhGK5UMwzDcKWaYRiGK9UMwzBcqWYYhuFKNcMwDFeqGYZhuFLNMAzDlWqGYRiuVDMMw3ClmmEYhivVDMMwXKlmGIbhSjXDMAxXqhmGYbhSzTAMw5VqhmEYrlQzDMNwpZphGIYr1QzDMFypZhiG4Uo1wzAMV6oZhmG4Us0wDMOVaoZhGK5UMwzDcKWaYRiGK9UMwzBcqWYYhuFKNcMwDFdqNly5UNJeVzq6kobh10kzDMNwpZphGIYr1QzDMFypZhiG4Uo1wzAMV6oZhmG4Us0wDMOVaobhg4Vh+HXSDMMwXKlmGIbhSjXDMAxXqhmGYbhSzTAMw5VqhmEYrlQzDMNwpWbuMCERNuHrWJXJ0wIH5RbpebhRjsqtclK6csQRTblXbnye8HlWZVJSOSgL7nFA4uj5CZtA4DW6c2+VV56nhqYk0l5TuufhFRYEGsJeKKGkEp6D2fCVBMK58LR0WamklyORhq8lvVQz91ixIhBIm6Z0X0az15WuHJRv0fAKJ9wicXRZR3v39m4RaGg2ByVd1r1yq0z2bnCDxV5DIj0PqaSyIG0m5cbz1BE2B+WkhNKUULrLequcsGJB4qDMyqy8U26V7pJmw1eQXq7w/KVff6GEvXBZaRNKeClmv3RAeNxkL5XweVI5KbMSykn5kU3Dvefl1t5JuVcawiaQ6J6WntZ8njsPW2xCSc9PKOlhqYTSPE8rAh0dYa8r3fM0KT/wtK40pbmkmTRcQiKRhi8hlVRCSSUM36dEemlm3uIt7pRZWe01e4sy+zyhzErYOymBwBEnBNLlvVLeKk3pSkPgBrdYlFnpnha+rLD3TrlV3uItQpmQCHSEy+r2GjpSuVdulWZvdVmT0hFoaJiVo71J6Uq6rFscbd4pBwSaclTe2EuXNPulRBi+bx2BVAJh0zwvoYRNOpdKet5CCQ8LL0uz111WIOwFAuG5m/ltZbYXSirhyzgpTenKQXmtHBF4hVf47zjhZBO+vqNyo3yrvFEOaPhX+Dv4bXQ0dLz2PByVV8qfKn8Tv4cf4Qb/y164rElJm4Y/wt/FnbLaSyVc1jeY8Er5W/jnSDT8ROnKrLxVust6jZ/iLRZMaHiHjlReKf9H6crBJc38N9zijXJAx2JvVkK5V2afZ1Ga0pUb5YDEd8otfow/RqJ7WvqyjspJ+dZeQ8N36Dig4YDEraelr2NSXiknZVJWnJxLl7V62IrVZvI83SBsGr7FWy9Dxy1+4MO88pzM/CZu8FNlVjoSq3Jj76jMPk+zl0rYe4dE4A5/XekeF0hfVlNWpSuT0pQ/wG/gfysrVqTHBdLXEUra+7HyrectlBmJQCCVRTnYS5c1o9tMnnarHD0PJ6xYMGNBYkHgTjkqN8qiNJc0+6VA2gvPSyB9uET4OkIJJZxrCHR0pKelryc9LLw8oYTnryF9uFBCSZfV0NBtAmGv2WtKc0kzK7oSNoH0fuHzdOWt8trePQJ3yqr8MQI/dlnvlFmZ7S3omDHjhI70tFDSlzUpTTkpoRyUW0x4i4ZJWVxWV1JZlY4V3cNOSnNZgbBpaB53r6TSXFbHd1iRmJXZ3qLM9rpLmkkk0l4ikR6WSvo8qaSSStikTcfk+QglPCzQEEgk0vulr6N7WNoLBMImDZ+rI2wSzYdLl3fADcLj0l56DmYCgbDXkJg9bFaa78et0uzNSioLDviJc+lc+LJu7Z2USZmUFSu60pBIe+EyViWUVJryzl5X0mXNyqJ0ZUW3OdhbldllrUibRMeMQFdW5UY5KunyTggllVBSuVNWZVLSJc3+XCrpXHpY+n6lh3UEQgmPC89X2EskAmmTLisNX1NHYlYaAunlCIQSSnoJZhITGlabRPjy3iqvlJNyUBo6Tmjo3i9twpe1KpNyUP5U+ZFywCubVNLHCx8ufZo3yltlVhYlMWH1uEAibNImnEsfJxF4rXynvMM7TMqizOi4U9Je97RmL5xLm/C0hqaccMI7dHsH5d5eQyI9LRDoPk4oDYGGRFdWvMZ3eKN0NGVVEmnTbQJNCSWV5nGJUFIJH2Mm0NGd6768Zi/sJQITTj5MeFx6Wvh0iVDS3q0PFx6WSvryQgklsdpbEfbSJpX0sPT5AjM6ViUQaDaBQNpLe2kvfJxUUgkPSwRCOeGAsAmEEh6WPlz6dKGkvcCCGYlAQ0dDKl0Je6kkAqGEh6WHhZL2wlNmOhasaDYdiQWB2d6qzJ6WnnawN3tYYMZJOeIGq73wtLCX9tImkJ422YTNj5XEPb7DO8zK4nHp65uRWJXvlO+U7lw4F/YC4XFpE86lpy1Y7CW6vckmbJq95tMsSkcgEDihodlLZUJisjlgxgmhzEoos9KVrqS92V5XunJQutKVVFJZPC5xwi1WTGjK7OOkvbBJhL0VgVC6MindU2ZWNATCuUQ6l0q3Fz5M2oTHzViVRCoTOsImkfbS0xrSwxJhLz2t20s0NBxwwOL5CKQSNqnMSsOEFauSaEp4WCJt0l7YpHPhXCKQHneLg68nkEoiEQibVBIdgVlpSsOKkxJKKKGEh4W9tJf2QgklkD7chI4ZHZPPEx4Xzk32AolUmqfM3GFGQ7Np6Jg9bFLSXtpLTwt0zEoqi01iwoRZmXwdaS8Q9hKhNGVVfoE7hHKPwB2O6D5PeFp6WiqLvVRSmRA44AYLVnSfJ32/Ag0zAqvSlUAg0DF5WjoXNisC3blEQ9g0m6YETsoJgcCEVVmQSCWV1dO6Ekook3L0tAlp05SurLhDoikdgUA6l2g2iVQCgY5UAqGkvbAJJbB4WvNnZgKBFStulMTqcV1pNulcV8LD0rlAs+k2i720CefSJpxLe2EvPG1VJg+bsWBRJiQ6wudLX9akBGZlweJ5mnHCETdINJuGjhXN+6VzadOUpnQlkTaJRCKR6JiUho4bLJiwIpVUAoHmw6VziXAulFRSSSWVVCbcI5SO5mGhhL1A2GtIJWwCifCwRCKRCA9Lf2bmn+ENfojELQILuk1TQrlH4rWSStokmk0qabMqr5TFXkPHHSYs+Ble4xWONunc5FzahJJK2puQNmnvZO81Et8o79DxDX6Ov4fADxE42aRNKuFhqcw2qaSSCJt0bkaiIXFEIpXfwM/xl7AicMIJDc25QCqBdC6VSUklkTbNJp1rSMzKjfJT3OIPMOMb5YAFE17hP9oLe2kv7S3KCYF75aTcI3BUVmVBoGPBhAX/Fv/audXe6sOkkvZWD0tlUg7KnXKrTMpv4Me4U5q98OnCw8LjJh9j5h8aflUikUh0pSOR6EjlWyQSHXfoOCBxj8R3+Hf4F8oBicXLsGBFR8fJ8/af8Xv4fcz4BRK3WHDAT/A79sJeKqF0m8AtGhI3yo0y4YADJtxiwg0SM2YcsCqv8Tfwh1jxDokDTlixINDxDh2BBR0rEmnTkLhB4Eb5GQIzGt6g4RUCrxG4Q8MtArPyBg3/Bh3fYsUrfIsF91hwROKIBfc4IJUjOk4IpaGhY1ZuEJhxhwNmHLDioBwQSirhV838e/wV3CgTEisSHYmwSSwIHJVERyqJjkAi0ZFIdCROSqBjRcekJBKJxAEdf4SOWyQ6OhIdiUSioyPRkejoSHSsSCQSK7rS0ZFIdHQkDljwCyQCKw5InNBxQMc/QiLQMSORSCQ6OjpWJBIdKzoSiUSiI9HR0dGR6Eh0JBIdHU1ZseKIjhVdWfFDrHiHREPiHomOjo5EVzoSHakkOhKJjo5EIpFIpaMjlUQiEQgkOo4IBL7B7yPxc6TNAb+N/6I0D0sl7c2YcY8DTrjBPW5xjwkrDjghkJix4ICTcosJRyw2gcQrnHCHIwIn3GLBhAUHLEisaMoNAj9AwxsE/ioCv4mGGzT8Fhp+Bw1/GYGfIfAjNLx2rqPZHHGDBTNOaDjiFToCR9xgwQGpBBbMeIcDVtzgLW6RmJAIH6oRCE9Lm0Qq6cOlp6WSzqWSnhZKeFzYBAKBQCCUQCiBsAmETXi/9GkCgVACgUD4fqSnBQINgfDhwl4ikUhfRtqkks6F56Ojo3u/sEmbRCKV9HWk0u2lEvZSSQ8Lm1AmpWFC87DwMWa/tCgrupJIdHRlRWJFYEIilVRSCaSSSKSSeIPECYmGVBJHdNwjkej4CTp+gURHoiPRkUgkOjoSHR2pdKxIJDo6OhIdHYmOREfHO6xIJO7QMSHREfhTJH6CxJ8iEEglkfYSibSXzqWP962SWHFA4AYdCzr+CIkTErdINKS9RCCRNolEKolAIJBIJBKJRCCQSiKR+E4JdExKIvFH9m6Q+Cl+ij/0aRKJxAmJRVmVVTkpqSzKqjSbGxwRWBFIvFW+sfdOOSkdabMqRwS60hCYEZjRcEDDAQ0NzSYQaGhKR8OKhlQSgYMyKzfKa6VjxoTApIRNKKGkcofwfqmkEkjNL4WHBQKhBAJhEzaBsEmkD5NKIpW0SaRN+DSBsBc24XFhL+2lEjappL30cRJpk76sQCJtwia9XyqBQCAQCJtQAuFcIHyYRCqJ9GWFzxMIBAKBsBcuKz2uIdCU8HHCXnhcIpE+T/ozM29wZ5PoSqKhoysrEpOy2gTSwxJpE0ibZhNYlQmJGYkFiQmJWyQ6Eh2JjkQi0ZHoSHQkEh0dHYnEio5ER0eiI9HRcYOOGR0LEr9Axy0Sb5DoSPwMK/5E6WhIdDSbRFcCiVA6uk3aBDoCXUl0BBpeK4kVDakkAolE4g4diY5UAoGGbhMIdJtEINARSB8ukMobJI5oaEhMyrf2jsof4zW6T7Mila50exNW3OGIGyw4IHGLP8GKVZmwYrY3YcENTko6N2FxriNsGsImEGhoaGg2XVnR0G3C3orAghvc4xYLZhzRcI83mJTm/RoCs3KPW6yYsWDGEQcsStoLf6Z5UtiEh4WHhe9H+P6kD5O+H4n0fuFx6Vwq6csJJZE+XSihJBKJbi9swsPC+6X3S19H+Djp84WvKz0skL689LBUwmNmv9SVjo6mJDoWJdGRStgLJT0ukMq3SEzoaOhIZULDDTq+Q+ItEg2JjkRHoiORSHR0JBIdXelYkUh0dHQkEh0diY6OjrdI3KHjF8otVnR0JBIdiZ9jxa29dC6RSJv0tEB6v1RSuUdiRUdDIpSm3CORSHR0JDoSiUQi0dHRkUgl0ZFIJBKJjkQilURHYlYWJCZ0HBCY7S3KCd+h2Wv2FgTS3owZ73DAghvcoymJxAkd75RFeafM6AgEuk1XFpvEhNVmxoIbLFixelwgsCCwIm260pVE2nSPawg0BCZlUg4I5zoSCwIdgQNWzOhINGVGQyizMqOheUrzXolEIpFIJNKHSd+P8LjwuPR+4WFhE0oo4cMk0vulc4FAIJRAIHw9gUAgEAgfLxAINJ8nlUT6eOn5SS9D2ISSSirdx0t7gUAgEAjfl5kjOgIdgaakEpiQSAQ6AulcKoFEIJVEIhG4QSKVRNqs6OhINCRmJDoCaS+Q9gId6Vx6WCKRSKUjkbhDIpF4hURHoCsNHYmOO3R0JAINq/dLJe0FUkklkPYSqQQ6EokJXWnoNokFHQ2ppE0i0JFIJFLpaEgkGlJJJBKJVBKJVFIJLEjc2DQckQgkutJsbtHtdefSuQWhJMImlFBSaeg2B5yUQKLbNEw4IZDoSigzFizKW6RzicQ9Gk4IJZDo6EoqBwRu0DChYUJTOhpCSSWUriw4YEXgiBkdTZkRmOyF0nyY5kM0fy48Le2lki4rXVY4F4b/L30dgfDrIWzSr6fw4dKXNBMuJ11eKoFEIm0CoQQSgUB6WvgyAunTpL30sgVSCaQSSnpaU7pPtyj3yklZlbTX0G06ur1EYlVSWZTFwxpWzFjRlBmBN2j4AQIHNEwINDSbjsAJDfdouEfDHZrSlEmZlRvloEzKLRILDujOhb0FgRUHHJUVNzjigAUHhNKV5lc1wyMSYRNK2AsfJg1fQyC8XxheorQXCIRP0eyE4VeljxMI7xd+vSXS1xX2wpfXMeEOB7xGw61yUCZlsmloSnculUkJ5Ua5QWCx15VEoqOjo9skEiecsGLFihUd3WbChBvc4ICDp3VlUU7KCSveITAj0JRmk/YaGmblFSbcIHCLhglh09D8Rc3wBYXLSXvpXNqkvfDyhZcrvFzhpZgN/08ikUp4XNoLny58Gamkh6UPE16OdBmrsiodq7Iqq3JSunL04VLpyorEjMWmYbVJZUHghIYjAgc0TAhMaGhoNt3DVqyYsOAWK2abphyUg3KnNJuOxaZjxgmzTSiJsFkxYUVD2mt+VXP1wl7YpE+T3i98mlACYS8NHyMMv25SSaT3aQQS3V5DIpBIJZEIhMelTSLREehoCHthLzGhI5REINEQSJtQ0l4gEAglkQgEwl4glbTXEUiEkkiE0hHoCKQSWDEhbdJeINARSAQSDR2hpE3YCyQCgUQogUAglEAgkPYSiUR3Lp0LJRA2gXAulYb0tEAilFA6Eg0dTekIpBIIhE+3KiflqHQllFACgRs03OIGB0zKhAlpb1FWpaE5FwgEAg0NgcCMWUklbAJpE2hoaJgwYcKMCZMSSldSWZQViaO9CQ03uMEN7jDjFgdM9u7RcVJSaWhoaGho/qJGItAQCCURSiCUQCiJREcibcKmYcKEhkTHgkAglEAgEFjQlYaGUDrSJpRAIJBIdCQSiUDzuECgIdAQCCWQHhcIZUJDQ9isCAQCgbDXkUog0Gw6EmkvEEibRNrr6Eh0JBIdHc0m0NAQaM6FvY6Ojo6ORCKRSCQSqSRWBAKBsAmE0jBjQSqz0m0CE0IJJBLp+xNKKKGE0tAQCAQCgUDYNITHBQLhwyQS6XGBQNhLJBKJroQSSle6sippE2g+XChhLxA2iUQivc/MilS60pEIpJJIJAIdK5q9VFJJdCQ6AonAhFVJdHQkOhIzupJIJZA2iUQikUg0JELp6Eh0JDoSiUQikUgsSqIjEejoSCQSiUQikUglkUogkEgkEmlvRiCVjlQSoTSk0pRUEg2JQEPYJBKBjo5QEoluk0gkQgmEEmhIBBKBriS6kmhKKomOjkQikUgkEl3pWHCHE97hDboSSCWQSB+mKR2BVAITVgQSMxYccMSEBaGEkugIrFidOyGRSI+7t7cqK9K5CQ2hNAQa/m97cJQbR3qdAfTcv6pJyZMxMkBevEzvKs95y268AAexBcQWya7/C4SLoNDpFkVqNJrRqM4ZWrBhYKIwtScMPKHwFqUt2km701ZtsQuCBzzhhCf8gA2rS0HhPe6w4YSBwqqdUFhRdps2UZg+WCmtUChtYuCMYGKitIlohdgFQbBoGwqFgUJhINrQYje1IAgKCwpBUJjaRGlPmBgolGuFoBAUCkFhaBuCiUJ82tCCaEEhGAgmCoXYBcFEMO0GNgRTCyYmgsJEMLFhIgiGXeyC6VrsChNBtGhB7IIgmAiCqQUT0TZMDB83sGHBhonCv+DJrhBEmygMTM+bdrELppcpbWDDig0rzm4b2FBaIa4V4tMKhUKhUCgUCoXCwEAhWjARTEyUl4kWu0JhwcSCicJwrVyKNlyaWLBhuC3+z0rhrAWlbSgMFDYUhlba1AaCaANBYUEhKEwEE1MLYleItiDaGRPBWQuCiSAIggVlF5RWdoWgEK200iYK0YKBYKJQGJh2hYmhbVpcCoJgIhgoFBYtmFqhUC6VXWEgGChs2tSCaLE7I1oQxG5gYmBiIHZnlwpltyAIosVuQ7QgCILgDhve4h8oFB5wwoZyqTAQ3GlxqbQFsZsobcWCOwR32HCHM+5QWLHhHhP3CE74BxZMFAY23GPDCU/aEwqPuMMTzti0J6w4Y8HEtCvcoXBC4Ul7xMAjBh5QmCg8YWBiYKLwgOCEJyx4xB2ecMJ7vMUD7vCAgQf8KyYKhQ1nLHYLzlixYMWq/RN3mDjZLS5N7axNH6z8B35CUChtYsGGgQ3BgiBYMRDXgiAIgmDBGXdaadGCIFq0iWDTVky7IFoQbcPERLQTFkwUgiCYCKY2ERTOeIsNA8GGIAgmgiAIguAeK0qb2LRgQRBE2zAwcI+J4KwNTEQLJoJgorAiWmHTNsQuCILgjBUrgmkXbAgmogVB8FYLgmixixYE0QqrXeyCYOIR91rhET/g3/FOCwoTQfAOjz7fg/bg2/F37W/af6HwEwp/R+G/tXco/BWFv2o/ovBWu8OGO5zxFhtWPOIHnPEGZ6x41DacsOENNqwoTAw8YsF7PKKw4m844YwVTzjhESs27Uk7a/HByp9RCApBIShtYGoDE4W3WLSgXCstmFhQ+CPucHItdoWBiULhDn/EgmjRSotdtMI9fsQ9gkWLFi1aUCgE/4bCQGGxC2IXLJgYWLBiQSE4+bhCENzjJwwUJgaCIHaxe4N7/IBFG9gwPC844Q94o00UCsGiRYtd8CefFm0gCAZO+BGxKy0IhhaUdsaC/8Q7TAQD0YJ3KMTHDUQrTJcWFM5uK6206dIb7UGLVlphunavPbi0aAOFR7eV9hftL9q9Fu1Ri1baop1RKMQuLpU2UFgRLYhLZ7vYlTbsCpsWl0obLpUPVoYW16JNRAuiDfxBC8q1iUWbKO0t3mB6XrBgorSBgWEXlEvB0IJgYMGCDZtWLhUKGwpBsGJohU0ru9IKwcTE1CYGgqHFtaAQTARTO2PVohXKrvA/CN5o0TYsiGuFaA9YcNKCQmFiatHKpSctbhvYUBiYmFjsyrVCaUEhKKzaRBCXFmzYfFpcKi1eJl4mbptuK8THlY8rHxdtel7sgnheIVoQLYhWWlAobC6Va/F68cHKtIsWtxWmFqx25baBICi7RSsfFwzErhAsLpVrhWiFwhMWbFr5uKBQWtkFQbkWlwaCBcHQCvFpA0FphQWFoOxiF6woDK0wsWjlttIGTohdtEJcikvT8yaCwqYVgkI8r1wLCgOxm9rm5WIX1zYvE7e9d1s8773bNm3zvHcuRXvwvGiblyktCDZt83mm14m2uWX4xcVt8WnlEMTvWzl8TUF8XfFbtPrZ4usov47y2xGUb0t5nfI6cfhc8cuL37Lhq4oWX1d8++LXVa7Fz1daoewK5XD4JQ2vVr4/QXxZ5dsVX1b5cuJweKnhmxXEy8WXUyjfh0I5HH6Phq8idvFtK4cP4rclDofXGr6a+Hzl96Mc/r84HH4Nw4tEC0orL1corbxe/DyllTa9XFAoLXbxekEQL1coLT5P2Q2vE5RdIb6MoLSgtOl1yrU4HJ4zHA6Hw3dqOHwH4nA4XBsOv3HlcDj8MobDdySIw+HQhsM3LF4uDofDpeHwOxeHw+G24fANKIfD4csbvoogdoVCeZnSChML4vWCQiEorVAoFAqlFaIVgum2QrlUWqG0QiEoFMpthYnSFsTLDQQDQSGIlynPK5RrhbIrFAqFQmmFiUJQXi920YbD4Tmrb0Lsyq5QWlwqu7hULsXHFYJyW1yLXRAtiFZatLhtIgiCeJ0gWhAE0YafZ7otLgWxi7ZohdLK4fA1rH62eF65Fi0+LSjXCmVXPq7sSisUgnJbUHallVaIVnbltoGhDZRdPK8wMBCtfFowMDAwEASFzfMKQTDtgsLiecOlaNEmCtGCwobN5ymHw0usfnFB2UWL14tWKJQWL1Na2S2eFxSilVYIhl25LSgsWLWBIHZxW7BgwYpohfi0FSuCoQWFk+cNvMUbbHbBwGYXu9IWl8qlgUIwEO2MN14mKNfK4fCc/wWQn0TduldZ/gAAAABJRU5ErkJggg=="; diff --git a/tests/operations/tests/StrUtils.mjs b/tests/operations/tests/StrUtils.mjs index 515b5005..9098d2f1 100644 --- a/tests/operations/tests/StrUtils.mjs +++ b/tests/operations/tests/StrUtils.mjs @@ -5,7 +5,7 @@ * @copyright Crown Copyright 2017 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/SymmetricDifference.mjs b/tests/operations/tests/SymmetricDifference.mjs index d99783a3..8e589c1b 100644 --- a/tests/operations/tests/SymmetricDifference.mjs +++ b/tests/operations/tests/SymmetricDifference.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/TextEncodingBruteForce.mjs b/tests/operations/tests/TextEncodingBruteForce.mjs index 74408576..dfc5073b 100644 --- a/tests/operations/tests/TextEncodingBruteForce.mjs +++ b/tests/operations/tests/TextEncodingBruteForce.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/ToFromInsensitiveRegex.mjs b/tests/operations/tests/ToFromInsensitiveRegex.mjs index fa191951..b74e9973 100644 --- a/tests/operations/tests/ToFromInsensitiveRegex.mjs +++ b/tests/operations/tests/ToFromInsensitiveRegex.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/ToGeohash.mjs b/tests/operations/tests/ToGeohash.mjs new file mode 100644 index 00000000..96dece85 --- /dev/null +++ b/tests/operations/tests/ToGeohash.mjs @@ -0,0 +1,55 @@ +/** + * To Geohash tests + * + * @author gchq77703 + * @copyright Crown Copyright 2018 + * @license Apache-2.0 + */ +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "To Geohash", + input: "37.8324,112.5584", + expectedOutput: "ww8p1r4t8", + recipeConfig: [ + { + op: "To Geohash", + args: [9], + }, + ], + }, + { + name: "To Geohash", + input: "37.9324,-112.2584", + expectedOutput: "9w8pv3ruj", + recipeConfig: [ + { + op: "To Geohash", + args: [9], + }, + ], + }, + { + name: "To Geohash", + input: "37.8324,112.5584", + expectedOutput: "ww8", + recipeConfig: [ + { + op: "To Geohash", + args: [3], + }, + ], + }, + { + name: "To Geohash", + input: "37.9324,-112.2584", + expectedOutput: "9w8pv3rujxy5b99", + recipeConfig: [ + { + op: "To Geohash", + args: [15], + }, + ], + }, +]); diff --git a/tests/operations/tests/TranslateDateTimeFormat.mjs b/tests/operations/tests/TranslateDateTimeFormat.mjs index a60459fd..571fe0e5 100644 --- a/tests/operations/tests/TranslateDateTimeFormat.mjs +++ b/tests/operations/tests/TranslateDateTimeFormat.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2018 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/Typex.mjs b/tests/operations/tests/Typex.mjs index e3751e8a..f7f3d757 100644 --- a/tests/operations/tests/Typex.mjs +++ b/tests/operations/tests/Typex.mjs @@ -4,7 +4,7 @@ * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/tests/operations/tests/YARA.mjs b/tests/operations/tests/YARA.mjs index e3c28ef1..267af2ef 100644 --- a/tests/operations/tests/YARA.mjs +++ b/tests/operations/tests/YARA.mjs @@ -6,7 +6,7 @@ * @copyright Crown Copyright 2019 * @license Apache-2.0 */ -import TestRegister from "../TestRegister"; +import TestRegister from "../../lib/TestRegister.mjs"; TestRegister.addTests([ { diff --git a/webpack.config.js b/webpack.config.js index e2a7c728..1042a1a9 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,5 +1,6 @@ const webpack = require("webpack"); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const CopyWebpackPlugin = require("copy-webpack-plugin"); const path = require("path"); /** @@ -48,19 +49,26 @@ module.exports = { "process.browser": "true" }), new MiniCssExtractPlugin({ - filename: "[name].css" + filename: "assets/[name].css" }), + new CopyWebpackPlugin([ + { + context: "src/core/vendor/", + from: "tesseract/**/*", + to: "assets/" + } + ]) ], resolve: { alias: { - jquery: "jquery/src/jquery" - } + jquery: "jquery/src/jquery", + }, }, module: { rules: [ { test: /\.m?js$/, - exclude: /node_modules\/(?!jsesc|crypto-api)/, + exclude: /node_modules\/(?!jsesc|crypto-api|bootstrap)/, options: { configFile: path.resolve(__dirname, "babel.config.js"), cacheDirectory: true, @@ -80,7 +88,12 @@ module.exports = { { test: /\.css$/, use: [ - MiniCssExtractPlugin.loader, + { + loader: MiniCssExtractPlugin.loader, + options: { + publicPath: "../" + } + }, "css-loader", "postcss-loader", ] @@ -88,16 +101,29 @@ module.exports = { { test: /\.scss$/, use: [ - MiniCssExtractPlugin.loader, + { + loader: MiniCssExtractPlugin.loader, + options: { + publicPath: "../" + } + }, "css-loader", "sass-loader", ] }, + /** + * The limit for these files has been increased to 60,000 (60KB) + * to ensure the material icons font is inlined. + * + * See: https://github.com/gchq/CyberChef/issues/612 + */ { test: /\.(ico|eot|ttf|woff|woff2)$/, loader: "url-loader", options: { - limit: 10000 + limit: 60000, + name: "[hash].[ext]", + outputPath: "assets" } }, { @@ -107,9 +133,17 @@ module.exports = { encoding: "base64" } }, + { // Store font .fnt and .png files in a separate fonts folder + test: /(\.fnt$|bmfonts\/.+\.png$)/, + loader: "file-loader", + options: { + name: "[name].[ext]", + outputPath: "assets/fonts" + } + }, { // First party images are saved as files to be cached test: /\.(png|jpg|gif)$/, - exclude: /node_modules/, + exclude: /(node_modules|bmfonts)/, loader: "file-loader", options: { name: "images/[name].[ext]" @@ -120,7 +154,9 @@ module.exports = { exclude: /web\/static/, loader: "url-loader", options: { - limit: 10000 + limit: 10000, + name: "[hash].[ext]", + outputPath: "assets" } }, ] @@ -133,11 +169,15 @@ module.exports = { warningsFilter: [ /source-map/, /dependency is an expression/, - /export 'default'/ + /export 'default'/, + /Can't resolve 'sodium'/ ], }, node: { - fs: "empty" + fs: "empty", + "child_process": "empty", + net: "empty", + tls: "empty" }, performance: { hints: false
      EncodingValue
      ${enc}${value}
      Ctrl+${modWinLin}+m Ctrl+${modMac}+m
      Create a new tabCtrl+${modWinLin}+tCtrl+${modMac}+t
      Close the current tabCtrl+${modWinLin}+wCtrl+${modMac}+w
      Go to next tabCtrl+${modWinLin}+RightArrowCtrl+${modMac}+RightArrow
      Go to previous tabCtrl+${modWinLin}+LeftArrowCtrl+${modMac}+LeftArrow