From ae16844f0f7dbaeadc31970d5be345786de37bc8 Mon Sep 17 00:00:00 2001 From: maciejhirsz Date: Mon, 30 Jul 2018 17:44:10 +0200 Subject: [PATCH 01/36] UI branding --- electron/operations/runParity.js | 2 +- package.json | 2 +- src/Application/application.css | 5 ++ src/Application/ewf-logo.svg | 126 +++++++++++++++++++++++++++++++ src/Dapps/dapps.css | 4 + src/Status/status.js | 2 +- 6 files changed, 138 insertions(+), 3 deletions(-) create mode 100644 src/Application/ewf-logo.svg diff --git a/electron/operations/runParity.js b/electron/operations/runParity.js index 9fec25b44..5e08a704e 100644 --- a/electron/operations/runParity.js +++ b/electron/operations/runParity.js @@ -57,7 +57,7 @@ module.exports = { let logLastLine = ''; // Always contains last line of the logFile // Run an instance of parity with the correct args - parity = spawn(parityPath(), parityArgv); + parity = spawn(parityPath(), parityArgv.concat(['--chain', 'tobalaba'])); // Pipe all parity command output into the logFile parity.stdout.pipe(logStream); diff --git a/package.json b/package.json index 1b978cc47..c699e092d 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "Parity" ], "parity": { - "channel": "nightly" + "channel": "beta" }, "scripts": { "build": "npm run build:inject && npm run build:app && npm run build:electron && npm run build:embed", diff --git a/src/Application/application.css b/src/Application/application.css index 2022da923..624a7346d 100644 --- a/src/Application/application.css +++ b/src/Application/application.css @@ -21,8 +21,13 @@ flex-direction: column; height: 100vh; width: 100%; + background: #fcfcfc url(./ewf-logo.svg) no-repeat; + background-position: center center; + background-size: auto 70vh; + background-attachment: fixed; .logo { + display: none; position: absolute; left: 50%; top: 50%; diff --git a/src/Application/ewf-logo.svg b/src/Application/ewf-logo.svg new file mode 100644 index 000000000..7fa42d7c1 --- /dev/null +++ b/src/Application/ewf-logo.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Dapps/dapps.css b/src/Dapps/dapps.css index 6a4cc181d..a1186fec0 100644 --- a/src/Dapps/dapps.css +++ b/src/Dapps/dapps.css @@ -59,3 +59,7 @@ margin-right: 2em; } } + +.layout { + background: transparent; +} diff --git a/src/Status/status.js b/src/Status/status.js index f2e3139c2..3615ace7e 100644 --- a/src/Status/status.js +++ b/src/Status/status.js @@ -49,7 +49,7 @@ function Status ({ className = '', upgradeStore }, { api }) { - +
From 18c2e8e66df4393f8a5204af014eda911ed9602d Mon Sep 17 00:00:00 2001 From: maciejhirsz Date: Mon, 30 Jul 2018 18:20:10 +0200 Subject: [PATCH 02/36] Update UI dependency --- package-lock.json | 175 ++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 91 insertions(+), 86 deletions(-) diff --git a/package-lock.json b/package-lock.json index d4031942b..52fb88d97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -443,7 +443,6 @@ "react-tap-event-plugin": "^3.0.2", "react-tooltip": "3.4.0", "semantic-ui-react": "^0.79.1", - "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "webpack": "3.4.1", "webpack-dev-server": "2.6.1" }, @@ -526,7 +525,6 @@ "redux-actions": "1.1.0", "redux-thunk": "2.1.0", "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "useragent.js": "^0.5.6", "yargs": "6.6.0" }, @@ -534,20 +532,17 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, "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" @@ -557,7 +552,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -566,7 +560,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -594,7 +587,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, "requires": { "lcid": "^1.0.0" } @@ -603,7 +595,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -626,7 +617,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -637,7 +627,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -645,8 +634,7 @@ }, "solc": { "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "from": "github:ngotchac/solc-js", - "dev": true, + "from": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "requires": { "memorystream": "^0.3.1", "require-from-string": "^1.1.0", @@ -657,7 +645,6 @@ "version": "4.8.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "dev": true, "requires": { "cliui": "^3.2.0", "decamelize": "^1.1.1", @@ -681,7 +668,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -692,7 +678,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -701,7 +686,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, "requires": { "is-utf8": "^0.2.0" } @@ -709,14 +693,12 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "yargs-parser": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "dev": true, "requires": { "camelcase": "^3.0.0", "lodash.assign": "^4.0.6" @@ -967,8 +949,7 @@ }, "solc": { "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "from": "github:ngotchac/solc-js", - "dev": true, + "from": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "requires": { "memorystream": "^0.3.1", "require-from-string": "^1.1.0", @@ -978,20 +959,17 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, "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" @@ -1001,7 +979,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -1010,7 +987,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -1023,7 +999,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, "requires": { "lcid": "^1.0.0" } @@ -1032,7 +1007,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -1043,7 +1017,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -1054,7 +1027,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -1064,7 +1036,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -1075,7 +1046,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -1084,7 +1054,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, "requires": { "is-utf8": "^0.2.0" } @@ -1092,14 +1061,12 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "yargs": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "dev": true, "requires": { "cliui": "^3.2.0", "decamelize": "^1.1.1", @@ -1121,7 +1088,6 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "dev": true, "requires": { "camelcase": "^3.0.0", "lodash.assign": "^4.0.6" @@ -1469,7 +1435,6 @@ "react-dropzone": "3.7.3", "react-element-to-jsx-string": "6.0.0", "react-event-listener": "0.4.1", - "react-inspector": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", "react-intl": "2.1.5", "react-markdown": "2.4.4", "react-portal": "3.0.0", @@ -1485,7 +1450,6 @@ "redux-thunk": "2.1.0", "rlp": "2.0.0", "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "store": "1.3.20", "sw-toolbox": "^3.6.0", "u2f-api": "0.0.9", @@ -1673,6 +1637,10 @@ "integrity": "sha1-uvDA6MVK1ZA0R9+Wreekobynmko=", "dev": true }, + "jsqr": { + "version": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b", + "from": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b" + }, "keythereum": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/keythereum/-/keythereum-0.4.6.tgz", @@ -1835,6 +1803,14 @@ "warning": "^3.0.0" } }, + "react-inspector": { + "version": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", + "from": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", + "requires": { + "babel-runtime": "^6.9.2", + "is-dom": "^1.0.5" + } + }, "react-intl": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.1.5.tgz", @@ -1870,7 +1846,6 @@ "integrity": "sha512-ruBF8KaSwUW9nbzjO4rA7/HOCGYZuNUz9od7uBRy8SRBi24nwxWWmwa2z8R6vPGDRglA0y2Qk1aVBuC1olTnHw==", "dev": true, "requires": { - "jsqr": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b", "prop-types": "^15.5.8", "webrtc-adapter": "^2.0.8" } @@ -1992,6 +1967,15 @@ "integrity": "sha1-jgOPbdsUvXZa4fS1IW4SCUUR4NA=", "dev": true }, + "solc": { + "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", + "from": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", + "requires": { + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "yargs": "^4.7.1" + } + }, "webrtc-adapter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-2.1.0.tgz", @@ -2029,6 +2013,27 @@ "schema-utils": "^0.3.0" } }, + "yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "requires": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.1", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.1" + } + }, "zxcvbn": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.1.tgz", @@ -2195,7 +2200,6 @@ "redux-actions": "1.1.0", "redux-thunk": "2.1.0", "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "useragent.js": "^0.5.6", "yargs": "6.6.0" }, @@ -2253,7 +2257,7 @@ }, "solc": { "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "from": "github:ngotchac/solc-js", + "from": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "requires": { "memorystream": "^0.3.1", "require-from-string": "^1.1.0", @@ -2286,9 +2290,9 @@ } }, "@parity/ui": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@parity/ui/-/ui-3.1.9.tgz", - "integrity": "sha512-Q+p4feqMYmnG0NiLkN9c0PeJUwb9wBm6dEXqz1D48bXQGrHiWdmAg/irZ6F99cs6GJdseIdbLnmDbWicu65FbA==", + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@parity/ui/-/ui-3.1.11.tgz", + "integrity": "sha512-/r1vAWVqzBDpjdRro5nE0N8ljV8XRgWg/BfsD9Rz46hRvKmpjVsZln1HR8yakl1AQox9BZ8sybpTYlnoDX8XqQ==", "requires": { "@parity/api": "^2.1.23", "@parity/etherscan": "2.1.x", @@ -2372,9 +2376,9 @@ } }, "@parity/mobx": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@parity/mobx/-/mobx-1.1.3.tgz", - "integrity": "sha512-6WZB8XwyhES/M5LspHdx+I+CP5l9vpaEGNm0Erc/G7tb81zqSl1aVGP83VAqdeHVbuGK3bDhMziZIOSE+BNFmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@parity/mobx/-/mobx-1.1.4.tgz", + "integrity": "sha512-zZt0rWacvZ1aVVeOHVf4MrUwHQTbB5xt8bYOE/LI08sm9JEBkaSbgW1Sl3CSB2ozil8GXuJXpHj6eGaD5gU6IQ==", "requires": { "@parity/jsonrpc": "^2.1.5", "@parity/ledger": "^2.1.2", @@ -10785,6 +10789,7 @@ "version": "0.0.9", "bundled": true, "dev": true, + "optional": true, "requires": { "inherits": "~2.0.0" } @@ -10793,6 +10798,7 @@ "version": "2.10.1", "bundled": true, "dev": true, + "optional": true, "requires": { "hoek": "2.x.x" } @@ -10809,7 +10815,8 @@ "buffer-shims": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "caseless": { "version": "0.12.0", @@ -10826,12 +10833,14 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "combined-stream": { "version": "1.0.5", "bundled": true, "dev": true, + "optional": true, "requires": { "delayed-stream": "~1.0.0" } @@ -10844,12 +10853,14 @@ "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "cryptiles": { "version": "2.0.5", @@ -10895,7 +10906,8 @@ "delayed-stream": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "delegates": { "version": "1.0.0", @@ -10921,7 +10933,8 @@ "extsprintf": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "forever-agent": { "version": "0.6.1", @@ -11092,6 +11105,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -11105,7 +11119,8 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "isstream": { "version": "0.1.2", @@ -11178,12 +11193,14 @@ "mime-db": { "version": "1.27.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "mime-types": { "version": "2.1.15", "bundled": true, "dev": true, + "optional": true, "requires": { "mime-db": "~1.27.0" } @@ -11257,7 +11274,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "oauth-sign": { "version": "0.8.2", @@ -11315,7 +11333,8 @@ "process-nextick-args": { "version": "1.0.7", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "punycode": { "version": "1.4.1", @@ -11353,6 +11372,7 @@ "version": "2.2.9", "bundled": true, "dev": true, + "optional": true, "requires": { "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", @@ -11404,7 +11424,8 @@ "safe-buffer": { "version": "5.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "semver": { "version": "5.3.0", @@ -11462,6 +11483,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", @@ -11472,6 +11494,7 @@ "version": "1.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.0.1" } @@ -11500,6 +11523,7 @@ "version": "2.2.1", "bundled": true, "dev": true, + "optional": true, "requires": { "block-stream": "*", "fstream": "^1.0.2", @@ -11555,7 +11579,8 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "uuid": { "version": "3.0.1", @@ -13081,12 +13106,6 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, - "is-dom": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.0.9.tgz", - "integrity": "sha1-SDgy1SlyBz3hK5/j9gMghw2oNw0=", - "dev": true - }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -14245,11 +14264,6 @@ "verror": "1.10.0" } }, - "jsqr": { - "version": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b", - "from": "git+https://github.com/JodusNodus/jsQR.git", - "dev": true - }, "jsx-ast-utils": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", @@ -20057,15 +20071,6 @@ } } }, - "react-inspector": { - "version": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", - "from": "github:paritytech/react-inspector", - "dev": true, - "requires": { - "babel-runtime": "^6.9.2", - "is-dom": "^1.0.5" - } - }, "react-intl": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.4.0.tgz", diff --git a/package.json b/package.json index c699e092d..490efea45 100644 --- a/package.json +++ b/package.json @@ -165,7 +165,7 @@ "@parity/plugin-signer-hardware": "github:parity-js/plugin-signer-hardware#e8b8a4e67adc37870e370d22805632d08012b9ee", "@parity/plugin-signer-qr": "github:parity-js/plugin-signer-qr#c275ba13524e9f6759079fabd10faf49cc00cfc0", "@parity/shared": "2.2.28", - "@parity/ui": "3.1.9", + "@parity/ui": "3.1.11", "axios": "0.18.0", "command-exists": "1.2.2", "commander": "2.15.1", From 4781618307ec40e1c0f05fe41c86e26c8fe8df18 Mon Sep 17 00:00:00 2001 From: ETHorHIL Date: Thu, 2 Aug 2018 11:33:37 +0200 Subject: [PATCH 03/36] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7911ca1f8..41e9cae72 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# Parity UI -## This project is not actively maintained by Parity Technologies anymore. This is a community maintained project. +# Energy Web Client UI +//## This project is not actively maintained by Parity Technologies anymore. This is a community maintained project. ### [Download the latest release](https://github.com/parity-js/shell/releases/latest) From 41bcfd2a4ba8ecd2ea2abbdd838ab383d80730f5 Mon Sep 17 00:00:00 2001 From: ETHorHIL Date: Thu, 2 Aug 2018 11:39:08 +0200 Subject: [PATCH 04/36] Update README.md --- README.md | 79 +++++-------------------------------------------------- 1 file changed, 7 insertions(+), 72 deletions(-) diff --git a/README.md b/README.md index 41e9cae72..3012e3f08 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,9 @@ # Energy Web Client UI -//## This project is not actively maintained by Parity Technologies anymore. This is a community maintained project. -### [Download the latest release](https://github.com/parity-js/shell/releases/latest) +### [Download the latest release](https://tbd) [![GPLv3](https://img.shields.io/badge/license-GPL%20v3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) -### Join the chat! - -Get in touch with us on Gitter: -[![Gitter: Parity](https://img.shields.io/badge/gitter-parity-4AB495.svg)](https://gitter.im/paritytech/parity) - -Or join our community on Matrix: -[![Riot: +Parity](https://img.shields.io/badge/riot-%2Bparity%3Amatrix.parity.io-orange.svg)](https://riot.im/app/#/group/+parity:matrix.parity.io) - -Be sure to check out [our wiki](https://wiki.parity.io/Parity-Wallet) for more information. - ----- ## About Parity UI Parity UI is a User Interface desktop application for [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a Contract development environment, and so much more. Parity UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. @@ -23,28 +11,6 @@ By default Parity UI will try connect to a Parity Ethereum node using Websocket You can download Parity UI [here](https://github.com/parity-js/shell/releases/latest) or follow the instructions below to build from source. -## Install from the snap store - -In any of the [supported Linux distros](https://snapcraft.io/docs/core/install): - -```bash -sudo snap install parity-ui -``` - -Or, if you want to contribute testing the upcoming release: - -```bash -sudo snap install parity-ui --beta -``` - -And to test the latest code landed into the master branch: - -```bash -sudo snap install parity-ui --edge -``` - ---- - ## Build from source ```bash @@ -64,43 +30,12 @@ npm run release This command may take some time. Once finished, you will see binaries for your OS in the `dist/` folder. -## Developing - -The best Developer Experience is achieved by running: - -```bash -parity --ui-no-validation # Warning: INSECURE. Only use it when developing the UI. -npm start -``` - -A new browser tab will open on `http://localhost:3000` with the UI, and this tab will refresh on any code change. This DX allows fast iterations. - -If you want to test the rendering in an Electron window, run parallely with the previous command: +### Any client related issues? Join the Parity chat! -```bash -npm run electron:dev -``` +Get in touch with Parity on Gitter: +[![Gitter: Parity](https://img.shields.io/badge/gitter-parity-4AB495.svg)](https://gitter.im/paritytech/parity) -This will spawn an Electron window serving `http://localhost:3000`. Same thing, the Electron window will refresh on any code change. +Or join our the Parity community on Matrix: +[![Riot: +Parity](https://img.shields.io/badge/riot-%2Bparity%3Amatrix.parity.io-orange.svg)](https://riot.im/app/#/group/+parity:matrix.parity.io) -## CLI Options -All other flags passed to Parity UI will be passed down to parity when trying to launch it. -```bash -Operating Options: - --no-run-parity - Parity UI will not attempt to run - the locally installed parity. - - --ui-dev - Parity UI will load http://localhost:3000. - WARNING: Only use this is you plan on developing on Parity UI. - - --ws-interface=[IP] - Specify the hostname portion of the WebSockets server - Parity UI will connect to. IP should be an - interface's IP address. (default: 127.0.0.1) - - --ws-port=[PORT] - Specify the port portion of the WebSockets - server Parity UI will connect to. (default: 8546) -``` +Check out [our wiki](https://wiki.parity.io/Parity-Wallet) for more information. From 9266d5a65d569087747487c047d63049c5d9b60d Mon Sep 17 00:00:00 2001 From: ETHorHIL Date: Thu, 2 Aug 2018 13:00:46 +0200 Subject: [PATCH 05/36] Update README.md --- README.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 3012e3f08..7ec08da20 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,10 @@ [![GPLv3](https://img.shields.io/badge/license-GPL%20v3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) -## About Parity UI +## About Energy Web Client UI -Parity UI is a User Interface desktop application for [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a Contract development environment, and so much more. Parity UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. -By default Parity UI will try connect to a Parity Ethereum node using Websocket port 8546. You can use alternative ports, see [CLI Options](#cli-options) below. - -You can download Parity UI [here](https://github.com/parity-js/shell/releases/latest) or follow the instructions below to build from source. +The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a Contract development environment, and so much more. EWF UI UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. +By default EWF UI will try connect to a Tobalaba using Websocket port 8546. ## Build from source @@ -30,12 +28,19 @@ npm run release This command may take some time. Once finished, you will see binaries for your OS in the `dist/` folder. -### Any client related issues? Join the Parity chat! +### EWF Client usage +Visit our Wiki (insert link***) for high level, or Parity's Wiki (insert link***) for in depth information. + +### Any issues? +Get in contact with EWF (insert link***) or (insert link***). Client related issues are best filed in the Parity Github repository (insert link***). + +### How to get in touch? +Get in touch with EWF (insert link***). Get in touch with Parity on Gitter: [![Gitter: Parity](https://img.shields.io/badge/gitter-parity-4AB495.svg)](https://gitter.im/paritytech/parity) -Or join our the Parity community on Matrix: +Or join the Parity community on Matrix: [![Riot: +Parity](https://img.shields.io/badge/riot-%2Bparity%3Amatrix.parity.io-orange.svg)](https://riot.im/app/#/group/+parity:matrix.parity.io) -Check out [our wiki](https://wiki.parity.io/Parity-Wallet) for more information. +Check the Parity wiki [our wiki](https://wiki.parity.io/Parity-Wallet) for more information. From ce13a02009ba0100e1aad4f4de230e1c2fab7561 Mon Sep 17 00:00:00 2001 From: ETHorHIL Date: Thu, 2 Aug 2018 13:02:46 +0200 Subject: [PATCH 06/36] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ec08da20..beff18847 100644 --- a/README.md +++ b/README.md @@ -43,4 +43,4 @@ Get in touch with Parity on Gitter: Or join the Parity community on Matrix: [![Riot: +Parity](https://img.shields.io/badge/riot-%2Bparity%3Amatrix.parity.io-orange.svg)](https://riot.im/app/#/group/+parity:matrix.parity.io) -Check the Parity wiki [our wiki](https://wiki.parity.io/Parity-Wallet) for more information. +Check the [Parity Wiki](https://wiki.parity.io/Parity-Wallet) for more information. From fd249af1022b290a8f4bda5f2100f713d4b23805 Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Tue, 14 Aug 2018 11:22:44 +0200 Subject: [PATCH 07/36] Use nightly version of parity --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 490efea45..e7ee4f6ac 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "Parity" ], "parity": { - "channel": "beta" + "channel": "nightly" }, "scripts": { "build": "npm run build:inject && npm run build:app && npm run build:electron && npm run build:embed", From 81d60b3e45dfe51a1d304faebe05798bd7eb6a04 Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Fri, 17 Aug 2018 17:52:52 +0200 Subject: [PATCH 08/36] Add travis file --- .travis.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..b122ae15f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,35 @@ +language: node_js +env: + global: + - ELECTRON_CACHE=$HOME/.cache/electron + - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder +os: + - linux + - osx +node_js: + - '8' +cache: + yarn: true + directories: + - node_modules +before_install: + - npm install --global yarn --cache-min 999999999 +install: + - npm install +#script: +# - ./scripts/lint.sh +# - ./scripts/test.sh +# - ./scripts/build.sh +deploy: + - provider: script + script: npm run release -- --win --linux + skip_cleanup: true + on: + condition: $TRAVIS_OS_NAME = linux + branch: am-travis + - provider: script + script: npm run release -- --mac + skip_cleanup: true + on: + condition: $TRAVIS_OS_NAME = osx + branch: am-travis From 4f90120c480b5627e0ef14b058129ac5312fdb86 Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Fri, 17 Aug 2018 21:04:10 +0200 Subject: [PATCH 09/36] Make travis build correctly the files --- .travis.yml | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index b122ae15f..7d0f22c38 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,20 +16,20 @@ before_install: - npm install --global yarn --cache-min 999999999 install: - npm install -#script: -# - ./scripts/lint.sh -# - ./scripts/test.sh -# - ./scripts/build.sh +script: + - ./scripts/lint.sh + - ./scripts/test.sh + - ./scripts/build.sh deploy: - provider: script script: npm run release -- --win --linux skip_cleanup: true on: condition: $TRAVIS_OS_NAME = linux - branch: am-travis + branch: master - provider: script script: npm run release -- --mac skip_cleanup: true on: condition: $TRAVIS_OS_NAME = osx - branch: am-travis + branch: master diff --git a/package.json b/package.json index ba9dd10ec..177741cf7 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "license": "GPL-3.0", "repository": { "type": "git", - "url": "git+https://github.com/parity-js/shell.git" + "url": "git+https://github.com/energywebfoundation/shell.git" }, "keywords": [ "Ethereum", From 783ef8ebc2216a834d7112b6a98e996d7b59fe2c Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Mon, 20 Aug 2018 11:41:50 +0200 Subject: [PATCH 10/36] Build windows on osx machine --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7d0f22c38..a0921f48f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,13 +22,13 @@ script: - ./scripts/build.sh deploy: - provider: script - script: npm run release -- --win --linux + script: npm run release -- --linux skip_cleanup: true on: condition: $TRAVIS_OS_NAME = linux branch: master - provider: script - script: npm run release -- --mac + script: npm run release -- --mac --win skip_cleanup: true on: condition: $TRAVIS_OS_NAME = osx From 29256d36f548b83ac2978c24bcb409cfdc32a074 Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Tue, 21 Aug 2018 15:48:50 +0200 Subject: [PATCH 11/36] Run travis again --- scripts/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/test.js b/scripts/test.js index ce0964504..d305b82c1 100644 --- a/scripts/test.js +++ b/scripts/test.js @@ -1 +1 @@ -// test script 36 +// test script 37 From 10c7d90f13b9f94563529de87303f19e540c3614 Mon Sep 17 00:00:00 2001 From: ewaldhesse Date: Fri, 24 Aug 2018 14:55:10 +0200 Subject: [PATCH 12/36] Update README.md --- README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index beff18847..233200cdc 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,17 @@ ## About Energy Web Client UI -The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a Contract development environment, and so much more. EWF UI UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. +The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a Contract development environment, and so much more. EWF UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. By default EWF UI will try connect to a Tobalaba using Websocket port 8546. +## Download Binaries + +[Windows] () insertlink*** +[Mac] () insertlink*** +[Linux] () insertlink*** + +[Relase history] () insert link*** + ## Build from source ```bash @@ -29,13 +37,13 @@ npm run release This command may take some time. Once finished, you will see binaries for your OS in the `dist/` folder. ### EWF Client usage -Visit our Wiki (insert link***) for high level, or Parity's Wiki (insert link***) for in depth information. +Visit our [EWF Wiki] (https://energyweb.atlassian.net/wiki/spaces/EWF/pages/544374788/Setting+Up+a+Node) for high level, or Parity's [Wiki] (https://wiki.parity.io/) for in depth information. -### Any issues? -Get in contact with EWF (insert link***) or (insert link***). Client related issues are best filed in the Parity Github repository (insert link***). +### Any issues with the client itself? +Client related issues are best filed in the [Parity Repo] (https://github.com/paritytech/parity-ethereum). ### How to get in touch? -Get in touch with EWF (insert link***). +[Get in touch] (https://energyweb.org/contact-us/) with EWF. Get in touch with Parity on Gitter: [![Gitter: Parity](https://img.shields.io/badge/gitter-parity-4AB495.svg)](https://gitter.im/paritytech/parity) From edfebf8937ec788cd8e2dbfa64305ec933f2de3d Mon Sep 17 00:00:00 2001 From: ewaldhesse Date: Fri, 24 Aug 2018 14:57:36 +0200 Subject: [PATCH 13/36] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 233200cdc..177f54da7 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,9 @@ By default EWF UI will try connect to a Tobalaba using Websocket port 8546. ## Download Binaries -[Windows] () insertlink*** -[Mac] () insertlink*** -[Linux] () insertlink*** +[Windows](***) insertlink*** +[Mac](***) insertlink*** +[Linux](***) insertlink*** [Relase history] () insert link*** @@ -37,13 +37,13 @@ npm run release This command may take some time. Once finished, you will see binaries for your OS in the `dist/` folder. ### EWF Client usage -Visit our [EWF Wiki] (https://energyweb.atlassian.net/wiki/spaces/EWF/pages/544374788/Setting+Up+a+Node) for high level, or Parity's [Wiki] (https://wiki.parity.io/) for in depth information. +Visit our [EWF Wiki](https://energyweb.atlassian.net/wiki/spaces/EWF/pages/544374788/Setting+Up+a+Node) for high level, or Parity's [Wiki](https://wiki.parity.io/) for in depth information. ### Any issues with the client itself? -Client related issues are best filed in the [Parity Repo] (https://github.com/paritytech/parity-ethereum). +Client related issues are best filed in the [Parity Repo](https://github.com/paritytech/parity-ethereum). ### How to get in touch? -[Get in touch] (https://energyweb.org/contact-us/) with EWF. +[Get in touch](https://energyweb.org/contact-us/) with EWF. Get in touch with Parity on Gitter: [![Gitter: Parity](https://img.shields.io/badge/gitter-parity-4AB495.svg)](https://gitter.im/paritytech/parity) From 7a22b6cc65d9b1342cbee302abe28b53c5c84b1e Mon Sep 17 00:00:00 2001 From: ewaldhesse Date: Fri, 24 Aug 2018 14:59:56 +0200 Subject: [PATCH 14/36] Update README.md --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 177f54da7..f041596b5 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,15 @@ By default EWF UI will try connect to a Tobalaba using Websocket port 8546. ## Download Binaries +To quickly get started just download the binary for your OS and install the software. + [Windows](***) insertlink*** + [Mac](***) insertlink*** + [Linux](***) insertlink*** -[Relase history] () insert link*** +[Relase history](***) insert link*** ## Build from source @@ -50,5 +54,3 @@ Get in touch with Parity on Gitter: Or join the Parity community on Matrix: [![Riot: +Parity](https://img.shields.io/badge/riot-%2Bparity%3Amatrix.parity.io-orange.svg)](https://riot.im/app/#/group/+parity:matrix.parity.io) - -Check the [Parity Wiki](https://wiki.parity.io/Parity-Wallet) for more information. From 0d4beb2148661dbbcd63befdda7191be9ca6a2c6 Mon Sep 17 00:00:00 2001 From: ewaldhesse Date: Fri, 24 Aug 2018 15:04:23 +0200 Subject: [PATCH 15/36] Update README.md --- README.md | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index f041596b5..1c6230a59 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,5 @@ # Energy Web Client UI -### [Download the latest release](https://tbd) - -[![GPLv3](https://img.shields.io/badge/license-GPL%20v3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) - -## About Energy Web Client UI - -The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a Contract development environment, and so much more. EWF UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. -By default EWF UI will try connect to a Tobalaba using Websocket port 8546. - -## Download Binaries - To quickly get started just download the binary for your OS and install the software. [Windows](***) insertlink*** @@ -19,7 +8,14 @@ To quickly get started just download the binary for your OS and install the soft [Linux](***) insertlink*** -[Relase history](***) insert link*** +[Release history](***) insertlink*** + +[![GPLv3](https://img.shields.io/badge/license-GPL%20v3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) + +## About Energy Web Client UI + +The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a Contract development environment, and so much more. EWF UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. +By default EWF UI will try connect to a Tobalaba using Websocket port 8546. ## Build from source From c4663c965d7d1edd0cc39fba9acc5788a0d8bee6 Mon Sep 17 00:00:00 2001 From: ewaldhesse Date: Fri, 24 Aug 2018 15:18:01 +0200 Subject: [PATCH 16/36] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c6230a59..4ca7b7985 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ To quickly get started just download the binary for your OS and install the soft ## About Energy Web Client UI -The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a Contract development environment, and so much more. EWF UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. +The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a contract development environment, and so much more. EWF UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. By default EWF UI will try connect to a Tobalaba using Websocket port 8546. ## Build from source From 71b556a3366629d5c8de48ad96e45f5268d41c14 Mon Sep 17 00:00:00 2001 From: ewaldhesse Date: Fri, 24 Aug 2018 15:34:44 +0200 Subject: [PATCH 17/36] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4ca7b7985..cbd3eee7e 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,13 @@ To quickly get started just download the binary for your OS and install the software. -[Windows](***) insertlink*** +[Windows](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/parity-ui-setup-0.4.0.exe) -[Mac](***) insertlink*** +[Mac](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/parity-ui-0.4.0.pkg) -[Linux](***) insertlink*** +[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/latest-linux.yml) insertlink*** -[Release history](***) insertlink*** +[Release history](https://github.com/energywebfoundation/energyweb-ui/releases) [![GPLv3](https://img.shields.io/badge/license-GPL%20v3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) From 25c65b52399b28ee417a032dbe5df79c5c6d5b0b Mon Sep 17 00:00:00 2001 From: ewaldhesse Date: Fri, 24 Aug 2018 15:35:15 +0200 Subject: [PATCH 18/36] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cbd3eee7e..ad4961488 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ To quickly get started just download the binary for your OS and install the soft [Mac](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/parity-ui-0.4.0.pkg) -[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/latest-linux.yml) insertlink*** +[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/latest-linux.yml) [Release history](https://github.com/energywebfoundation/energyweb-ui/releases) From ade91b9c47e83b332d759860fb78c37535887b86 Mon Sep 17 00:00:00 2001 From: Adam Zsolt Nagy Date: Tue, 28 Aug 2018 10:44:21 +0200 Subject: [PATCH 19/36] fix(readme): linux binary link - points to .deb now --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ad4961488..413ada19c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ To quickly get started just download the binary for your OS and install the soft [Mac](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/parity-ui-0.4.0.pkg) -[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/latest-linux.yml) +[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/parity-ui_0.4.0_amd64.deb) [Release history](https://github.com/energywebfoundation/energyweb-ui/releases) From 5151135bf06fa9df124651ab5ab0ecc67a64015c Mon Sep 17 00:00:00 2001 From: Adam Zsolt Nagy Date: Tue, 28 Aug 2018 10:48:34 +0200 Subject: [PATCH 20/36] fix(readme): typo corrected --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 413ada19c..746066f93 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To quickly get started just download the binary for your OS and install the soft ## About Energy Web Client UI The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a contract development environment, and so much more. EWF UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. -By default EWF UI will try connect to a Tobalaba using Websocket port 8546. +By default EWF UI will try connect to Tobalaba using Websocket port 8546. ## Build from source From 77276f841d9d0a67aade1bfd6868555e4bd67da5 Mon Sep 17 00:00:00 2001 From: ngyam Date: Tue, 28 Aug 2018 18:34:32 +0200 Subject: [PATCH 21/36] feat(fetch-parity): stable instead of nightly --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 177741cf7..61673c6e1 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "Parity" ], "parity": { - "channel": "nightly" + "channel": "stable" }, "scripts": { "build": "npm run build:inject && npm run build:app && npm run build:electron && npm run build:embed", From 2916eecb830eb57c8b40855b2fb89091e3ea59d2 Mon Sep 17 00:00:00 2001 From: ngyam Date: Wed, 29 Aug 2018 13:26:26 +0200 Subject: [PATCH 22/36] feat(fetch-parity): bump release number --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 61673c6e1..791f0ef06 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "parity-ui", - "version": "0.4.0", + "version": "0.4.1", "description": "The Electron app for Parity UI", "main": ".build/electron.js", "jsnext:main": ".build/electron.js", From e04fc97d95e78e9f0b6193bda0bd0300b8ebbf63 Mon Sep 17 00:00:00 2001 From: ngyam Date: Fri, 14 Sep 2018 12:21:37 +0200 Subject: [PATCH 23/36] fix(client version): wired to use v1.11.11 --- package-lock.json | 106 ++++++++++++++++++++++++++-------------------- package.json | 4 +- 2 files changed, 62 insertions(+), 48 deletions(-) diff --git a/package-lock.json b/package-lock.json index ceae761ac..9b1e27b36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "parity-ui", - "version": "0.4.0", + "version": "0.4.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -434,6 +434,7 @@ "react-tap-event-plugin": "^3.0.2", "react-tooltip": "3.4.0", "semantic-ui-react": "^0.79.1", + "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "webpack": "3.4.1", "webpack-dev-server": "2.6.1" }, @@ -940,7 +941,8 @@ }, "solc": { "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "from": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", + "from": "github:ngotchac/solc-js", + "dev": true, "requires": { "memorystream": "^0.3.1", "require-from-string": "^1.1.0", @@ -950,17 +952,20 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true }, "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" @@ -970,6 +975,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -978,6 +984,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -988,8 +995,9 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, "requires": { "lcid": "^1.0.0" } @@ -998,6 +1006,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -1008,6 +1017,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -1018,6 +1028,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -1027,6 +1038,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -1037,6 +1049,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -1045,6 +1058,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, "requires": { "is-utf8": "^0.2.0" } @@ -1052,12 +1066,14 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true }, "yargs": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "dev": true, "requires": { "cliui": "^3.2.0", "decamelize": "^1.1.1", @@ -1079,6 +1095,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "dev": true, "requires": { "camelcase": "^3.0.0", "lodash.assign": "^4.0.6" @@ -1426,6 +1443,7 @@ "react-dropzone": "3.7.3", "react-element-to-jsx-string": "6.0.0", "react-event-listener": "0.4.1", + "react-inspector": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", "react-intl": "2.1.5", "react-markdown": "2.4.4", "react-portal": "3.0.0", @@ -1441,6 +1459,7 @@ "redux-thunk": "2.1.0", "rlp": "2.0.0", "scryptsy": "2.0.0", + "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "store": "1.3.20", "sw-toolbox": "^3.6.0", "u2f-api": "0.0.9", @@ -1794,14 +1813,6 @@ "warning": "^3.0.0" } }, - "react-inspector": { - "version": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", - "from": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", - "requires": { - "babel-runtime": "^6.9.2", - "is-dom": "^1.0.5" - } - }, "react-intl": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.1.5.tgz", @@ -1843,8 +1854,7 @@ "dependencies": { "jsqr": { "version": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b", - "from": "git+https://github.com/JodusNodus/jsQR.git", - "dev": true + "from": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b" } } }, @@ -1967,7 +1977,8 @@ }, "solc": { "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "from": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", + "from": "github:ngotchac/solc-js", + "dev": true, "requires": { "memorystream": "^0.3.1", "require-from-string": "^1.1.0", @@ -2013,8 +2024,9 @@ }, "yargs": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "dev": true, "requires": { "cliui": "^3.2.0", "decamelize": "^1.1.1", @@ -2198,6 +2210,7 @@ "redux-actions": "1.1.0", "redux-thunk": "2.1.0", "scryptsy": "2.0.0", + "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "useragent.js": "^0.5.6", "yargs": "6.6.0" }, @@ -2255,7 +2268,7 @@ }, "solc": { "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "from": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", + "from": "github:ngotchac/solc-js", "requires": { "memorystream": "^0.3.1", "require-from-string": "^1.1.0", @@ -2264,7 +2277,7 @@ "dependencies": { "yargs": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", "requires": { "cliui": "^3.2.0", @@ -10599,7 +10612,6 @@ "version": "0.0.9", "bundled": true, "dev": true, - "optional": true, "requires": { "inherits": "~2.0.0" } @@ -10625,8 +10637,7 @@ "buffer-shims": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "caseless": { "version": "0.12.0", @@ -10643,8 +10654,7 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "combined-stream": { "version": "1.0.5", @@ -10663,14 +10673,12 @@ "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "cryptiles": { "version": "2.0.5", @@ -10743,8 +10751,7 @@ "extsprintf": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "forever-agent": { "version": "0.6.1", @@ -10915,7 +10922,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -10929,8 +10935,7 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "isstream": { "version": "0.1.2", @@ -11026,7 +11031,8 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "mkdirp": { "version": "0.5.1", @@ -11143,8 +11149,7 @@ "process-nextick-args": { "version": "1.0.7", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "punycode": { "version": "1.4.1", @@ -11182,7 +11187,6 @@ "version": "2.2.9", "bundled": true, "dev": true, - "optional": true, "requires": { "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", @@ -11234,8 +11238,7 @@ "safe-buffer": { "version": "5.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "semver": { "version": "5.3.0", @@ -11293,7 +11296,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -11304,7 +11306,6 @@ "version": "1.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.0.1" } @@ -11333,7 +11334,6 @@ "version": "2.2.1", "bundled": true, "dev": true, - "optional": true, "requires": { "block-stream": "*", "fstream": "^1.0.2", @@ -11389,8 +11389,7 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "uuid": { "version": "3.0.1", @@ -12916,6 +12915,12 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, + "is-dom": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.0.9.tgz", + "integrity": "sha1-SDgy1SlyBz3hK5/j9gMghw2oNw0=", + "dev": true + }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -19914,6 +19919,15 @@ } } }, + "react-inspector": { + "version": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", + "from": "github:paritytech/react-inspector", + "dev": true, + "requires": { + "babel-runtime": "^6.9.2", + "is-dom": "^1.0.5" + } + }, "react-intl": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.4.0.tgz", diff --git a/package.json b/package.json index 791f0ef06..10efd25e5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "parity-ui", - "version": "0.4.1", + "version": "0.4.2", "description": "The Electron app for Parity UI", "main": ".build/electron.js", "jsnext:main": ".build/electron.js", @@ -25,7 +25,7 @@ "Parity" ], "parity": { - "channel": "stable" + "channel": "v1.11.11" }, "scripts": { "build": "npm run build:inject && npm run build:app && npm run build:electron && npm run build:embed", From 1cc0933cac9cea6a19e074a88f01673519f934fc Mon Sep 17 00:00:00 2001 From: ngyam Date: Fri, 14 Sep 2018 13:44:34 +0200 Subject: [PATCH 24/36] feat(rebranding): icons, names and paths changed --- .github/ISSUE_TEMPLATE.md | 5 ++--- assets/icon/EWF-Brandmark-white1024px.png | Bin 0 -> 63426 bytes assets/icon/EWF-Brandmark-white512px.png | Bin 0 -> 27135 bytes electron/config.json | 12 ++++++------ electron/index.js | 2 +- electron/installers/windows/installer.nsh | 8 ++++---- package-lock.json | 4 ++-- package.json | 10 ++++++---- scripts/parity-ui.desktop | 6 +++--- src/Connection/connection.js | 2 +- webpack/app.js | 2 +- 11 files changed, 26 insertions(+), 25 deletions(-) create mode 100644 assets/icon/EWF-Brandmark-white1024px.png create mode 100644 assets/icon/EWF-Brandmark-white512px.png diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 95048cf06..eb2488673 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -3,12 +3,11 @@ _Before filing a new issue, please **provide the following information**._ > I'm running: > > - **Parity client version**: 0.0.0 -> - **Parity UI version**: 0.0.0 +> - **EnergyWeb UI version**: 0.0.0 > - **Operating system**: Windows / MacOS / Linux > - **Installed via**: installer / snap / binaries / from source > - **Fully synchronized**: no / yes -> - **Network**: ethereum / ropsten / kovan / ... -> - **I tried to restart both Parity UI and Parity Ethereum client**: no / yes +> - **I tried to restart both EnergyWeb UI and Parity Ethereum client**: no / yes _Your issue description goes here below. Try to include **actual** vs. **expected behavior** and **steps to reproduce** the issue._ diff --git a/assets/icon/EWF-Brandmark-white1024px.png b/assets/icon/EWF-Brandmark-white1024px.png new file mode 100644 index 0000000000000000000000000000000000000000..6ea83ef4841b9bd391a3fa33519fea1d72339c78 GIT binary patch literal 63426 zcmYIwcUV))^Y@;F-cf6x1e5AI>l?Ci|!%x7ly@Wepx5-Srg699nq%H{Kh0MNky(f|fJ z_yf;>A{hQ)bh~Wk4gmKI^&b-MPxJyn2wXXT_L?^`+s~YNb0Xl-W|;nxlck#2)z_c3 zZ-iZB8fp5j_wGCUss0NicOJg!D{uZEbm6+s-+B^Rz2K?SeM z&F`G zhojhKnfjC7PT$%98Uy7KP~i8c?Hg&f;_dd`ZjHzbZuiA56KD{001_vBT7SthyAf03 z@bIkYS9g&h3=a)>@Dje|qIjrpfj{;~SYT0gnHHm74H9&=h$wef5ChD0;F^ku1cnyg zeALIz3N~^cV&ecf8%6*~NBu(Wmo~Jz(;u<1(qa?%B%}daasU8p0j`U5TYk-x?e}&b zV=!$jYfu6`3;-Au4u2&lY=)Tym^N^EpCpTj0o)i=s#wHVbx!KQjym|~L5}nb!Ny|z zIRgM>Aw8kbkCMIyuC~$lpN@%ZV}nb*ItFmO7yyp)NR||L&8o`}kdv&5)=uYu=>^Dd zkeZ0x?(L1F3bq%v3}So$2RC1r%tLys+8iYqNEUFx{yYb<&sNcaLfLI>Z3dp5|qZJ5K7>Z0mJFpc?^FB9Js2JA2FOr!o52 z5t4yDv3=kmY7aN*nD!{?EJbrbgm5g-M(hyb8X(+)(ulR$AQ7yv8iYA@6;76%W+5CF z3bMJ&nnd~6H;_=BT#4v2(Shb@0C0QIcmkbQumJ@c^L&f%MIVASXfYX&&uS3AXx=kM ztpSb|lKd!AAtj|WfxZNw(L z#Al1KgEMF08yF`txOT+{kQgBwaccY9nlG==6WAV)45}Ej1M@3TQE`vFi>#FJVB9Xp zmpHmj16&}@f*L|4KGBN>rP~ToM{qZwl5~re^wyLX=?M+$`=aS44*>ZnsQqhxqdafu zD>Okty~F6B6$ZhLX0Am6)|JceE^hGz_0M#_;V(BaK`!+ zIbM_l$cOF+)(KoAkCQL4ZX=UlG?zXi`sSxW3^xK#p5z!k&dTf@M+_eV2zqp6kaJE5 zWW>X>M~}sW7#%ox0SCw6;PNFncn1fxa8OSjJck2OI1qb`0|sXx0m&ct1H;T(*@2da z7Md;V*s~rl)jd=|>z1GMn`1PpR4}8>^@I3Ctf+EU0&ORpq-yVh3xdIq5M8 z_u7IoZ2>Twdm(s6-DZ&;6yA7_r`I?@(WASpO9#S#&3o5U&U&!`-qC!`F>heh0DwIY z%Pys3ND%N&KtZfVEG^tY&&vYzXw)he^~`-BB=ZIUnFf)i>fj&^P|)^48Fih)Ssy$G zh&dT=N$yMcHR&jTq^B}6IM(LG$-okU02)>@AhgRf(L^->H1Nj1MtcgISahCOp2=U8 z+|Rxm2@R_&Wl4v4DS!?TxYc+J}4k2}YoRjLu0LjH~be{Zd zzyVl?YA)SI8Zm?vTYytyP2b_$#R4Zu31;-}0f5fGnr8=`Ns{1<79)7@c%BS!-I-i~ z{|FZJxC&>jboC1Yv0m#!^!TU)8=-~<5c-oZszGh6`v@W^)7-Pf(*pM*k}4trPG#<; z$P&9R1)#A3o{sx5j{A53Nj+E;59LEtRn52}R1m=e9K+O>GONzu0YQAdt{b%ZTq0~i z##W@h_wQBNLY>Js8}2?|{vsMg@|OjK?)BPyxQ*k0Fw9od4Wd{=LSG}GMLuSYLX`z+ z|Ffn1XLo?37+g!$eh)#5B3J?IQ7nk9&V;`{n1>L8AbGi%HF{90r3mChSU`+)KHO$k z105O)MZ042OAt)*bpx48aJ@h(jmp=oz#Y<a-y45%}wC6k)2sbgn zAgfMtfgTwAwl2Z3Vv^2l0m5P4Jp^3S491B)VF6kr;T>yeLm4K81SVL)_D5D-ctX>eMyz`E4& z7e3LC29TH%IT%n|43O!b=lIqR1q#fMOE7vXhb+D>W-~UzfYJ3@1zYNRbNQSaO>=7l zUvFbTPLGXnNZaHxJ0RUw8F47BD}Uh@zaN;MG96hE-oOHaQJ}~?v)j*JtwAWLH^;~c zr#9)q0;P+j;=4%>OP3a2sY4;RDPVu-Z2&9CEy42Mboez1-|xxaX=AkV+2% z-VZ>g2Ulqc(YAo3G!5A!aif;|0YP8Dc!3?@?vS{LZYhOSasYy~0IRTSDx8lBLzcc@ z>gU|Xv4d@)j~jy%@pQoYslMqkH0uB$G;vYo68@FU@y)UYnUXjL9$fDrjh%)z0%T2} zCJHOizmK4S5#nrq)rEzV0PslNX1i>{2uKQHj_dRQcQ$w&^~I3HeF5oMEM&<*5t3oy z0T0f0%q}=l$w=f#2mZS0=I*4z0}A5xp!7PvG9d*CETBhnx^?^YR}Bd2;8JRzIdIO9 zu(99hTYL+&i;Sk1n>-J)RrL7a(~DORM714)yvoqS9bJ8aIPoK(XFQkV+kpWE0LEvZ zY<6>+YaYP$e3ylb%D=F~II+S7gX|zBM~NnypS-fb@l4Y$lp0+W zZdUkqs(e*d<2m4OkyvLIk7Uqj9QAR6d*G-UDopevlVS|8RxHz|#vznJBW={c^T%@x>=hgj zS$y!{!;bc)7&PG(LeluLUr5?)2J+=Qca7l|bo;i0uICf$!DRGTbIRXMxT=igemzHh z$^cfM6+-c%LC08;oeO}Vk+}w?_uTg~2SEb{{Na7hdsvuSuGiSmozXi$ocDu{^4i}O zW!f)ga{Y3_fc~OO?NHl7sg8DNg>cA3U(VhAU^45`ru6(jgRT($hW8|SANjG2^1r9Y zd8tvM53nsb6n1P<2tn`W^+8Us&toCh2r3FzNZ|$n+ap+1!RV!*EjN zAmo8y$X;W^Zmz?Qdj5au8pH`ku#zm{#MCLctbvj)azlp^r{c6t5A%xPG*n6yf~Qz0 zAFz@vZmrD-A(qYGq5Hals$$ZGRp1z%@oQWzpbBDhoQ=O#U)*yp4hSRq@1?MMKu&N* z@1F8SR{i03Qa=XfmI|oHf+PdQ&m<)Tv!B1TbWbSNHa}-`|VD;qn=Qd~d>+q|gpL0QJLtHzulG6ZiCoKeShs z+@5gl_IBNTdxM;C!#vCA-sti~>1uMRZNQ)_E?DaO4>_t2sdtoFq|D`4mF+I1RQgU4 z?;8`PX6|}AH|2{6RG&YKMp*b#wXvr zrk`=IJJXrQr+Pn65yWXivAukpB4q#9B9Dr@4{6Mb^y0<*ZFktq7CN^sGYn5~sr+)Dj9i802xwJs+e-764^K=je_h2`J zo9L(bq4snAOYi3V^oZ=N3p8MS;S_a8ZWb0$8f})|dVpZAz4Ut`_heOlnh{3E>guKD zw$&{<0EomDZYzc=|K$UPY`c#G{JZMDMHR+X2zG8)dUv~zBjh*jMO!mY}4st}VO%u#gj z;F`W>5Cx$F%7J5ri=Wa1rTm>b3BI~1!C+$GOjRHAQ1Fe)bi}0HCyFlf?S6Fo{HxE> zYhyJSK(hKlq;w5#eqJnD!RPq1|I#_UsN{8cnLjS-TZ+=&XS$nLT>brSit5(bf)1Or z!OQ@Z&i4>0eS$afsm{qsB|Ek7w%Q#Hub^cgsp+FK)QFO;v8W z=ThwO!YqqMP$wx4t^XX4huCiSWR8_VZ);doTyE9IQBzJ<0&g6s0 z$78@CUTlq$Vi9l;fW?HCg@pU;7wOiYn1PnHk`)YaU;N=Md4ZM&d=y@TP@?rl-{Sh> zOIBBXitG(zCJsC0^DW>*ydnCO0fOvlsH=*_VV6NAJL9T7>ZWs4_YRBEX8a3qTkpwO zK;jeZS+2~nn;RFGF78hSi5eU9M!x(8!l~3UhgdZANcc_!-x!E?#tlXp0yE&A!byMt zdF=Hz1SJdS?LfP3D<&q>=PdYyG`}!JUo(QpOMllbaPQY0CiBfVMA4Fx4bg1NGaN6i zd_E&4Kee?Gt)swz?E^e1t3B|@Z!9;pwR7aKrUGMZ%!yQRY#+?5|E}%gDMt*?sw8AV(zi7^3>|d-|+jo?7%qZUxw$zskbVv^Kg#dM~{ZH5dM!YLS>{JbG||M_ffxTgj|u`f-(S1XFGMEWqk``^XfFTC3Pl?MuZ_6Cr&kXlBrF?U6NP~` za-eLh-v+yr6^RkUI!0a^J;f)-0N$rigR(8B6uoy-X(cfAUVbc3^G+977afla41z)Ln&5!qp@@TGw3quFD$fSBCGG@| z=>Xp9-!60rI+bj{|Cw$jtW7%R#n0Sj@^bkiH+oR76?3`JrNtJJZ%htF+Zn;p_DvWq zv<$SkaGKi4D&lyU6-nm+m(!^HMGjTO4a9qgtFj_-*O;so(ApmyZcGT;AP-Lg`udJp z*=c{bCa)U$69XJMPLSx!P?V7dh#okF0qFh;uN5~g+`&|^(u5(=6J9-^g5{+{+?~%Q z73PwmF|`cjPxTMOsBx_Fp=v6qDUu3M<74l72!Sa@in zb#KDF?UHENMt~U+&Jie_g<9xvrUC#M1DwB|ein^sE)yoGgBL|20@!uqL@X%VA&+AL zvAkROjKQ4k{;?orUln*ba zH3go2?)As+uJPHss+>Q|B+*J*&;d;l7c6=Ai(Fsce46-Kbc7X|7~9g$1Lg!1oA2th zK;TKG6|Wmi5{cncb|49Q)9HL5N&lPa*^+54_ckXm*ny_cT5yw&k2!s}=4_7UlyG*2nUn)zWC9MJ6D&4#z(F2NKuH0*-c&rgqFGtAE=NvM#11`BK zGY9G|*gy<*DK4H&IvEuPgK}Z(czMj7H+l}pgVW$IgXTvAAcNO6aWBA))OIsq!TP^f zd>6*Oq^%y5z~kvkb$Qp%#L<#E0osj+9wUj}WiM;#Sym1w0eUs7>vSa1_!i9MKmVzx zphJs?*wVzEn02#?pBf*%vsP^kKj_&b4^I7WRY`MJYZ- zz3;m$`l0746M-E!^WY>i!TEpEzTahnt$$5xK;RU*mv}!I13i9xs~z${{6C^+{z+vS zDute+LDT`!F}CC&-bX)oe2_#>LS3Jt>ayRB!n*N2TLkZmKh26XrLqt_Jiptt=uH~_ zxAKGYkq8XiX`3}2y&O4>hM);4GIXeoo#At1wfpyo?6WyM4_N)`?qFpR_(s}NnWyz; zN%?Mu&+2lC+v;*RV|L)!J+GE}ytGTnT95vGx4+HrB2UdPE~CG4oU4r!g$Z(hU7Gs@ z*{!pwV${qyFeZCg4&IZ^J*_h`c? zC4WUeN5gyAR@r;_nzHZI?6O7*MZHXQC@ewxQXoao|6kSv7;vjGc&@R{wKqp$w&#mN zUxm}Ht;CH!x6$P)*Biw@9B3ThP<+W@)zanb*^f{9{82fzR3`U4z~p7Xg6JJ3|A$Kf zjXWv=vqg!_#hGO#kv3Q3G=)R@U8?#m>VeD-JF$5Mg+tSD?(_bE}PcXqjlw1-acH)|3@je>wlD*`>wC@2h(0?XfWp;Z_cB%6hRhJ#8``BmdP;DWLZ<5c0F{D9rx;ePNn$ z0$OJ#RGHBdNP^iJH5 zwz=KM!&$5kKTEB4D>IO^Tw1|z=S6nh_2gBuenp_N|NM)T;n_FZ5pA-vWeHBybvVsH zmqW#C`=r+n>9r2cqON}HpPPo;k5?7#9yh-=w8K5mrjfIF(hh^0E6VIYJm2Hy07Dbs zY5jN@W|uz#pUOdpC&pNqZ>Q4tzN00Lv!EGU55MsMtphFVm#}0j74pdaE^@eiQNTBA zHKX*Y_j5+sOyPE-CvI>N->+0Sx1Za56<2x8e_`Fr^g76BNpJO6+?{Sn7kziqiVIi2 zY*AsqY1K4CzbM7Gz^dWiG}u(3;lB3di?H=ffdb%Au-t5?h7o=a)?LcpQuZS}rKc-P zsy*6?&_8U54kxlFN=xk9B=ap;veESw-Rg~WrWKnfjk$&-o?c&>s!TEO;8>)Tj7Brf zwcV_cyL)+1!bJ-4&V*46*K|R5FTs0Ee?*?rBqD8J(9jW?rtdC6d#K{qs)lsn^NjOD z9}ZYqkXQCp1`d+@bT>}01Bv`E!>w)*qJ4vY?4sT)ieDBZE0Qt>&bquS`Mx)+{&tj934NYQ>Nnj@VZ zs2D3+H1Vobk#s3>X}kxPpJ)LXrLGNLJs5?F?B-bfzr1^*C;H;QM+T4gt{P{$5EX3K z9Lr8}qiO%rk@XMz3GYrO?xrVw#mD4@cg)hJWtEir_I@&3Zz*hx^-k=h#Lu5k*%?=^ zweC#{_TTEuT{L$P7;>_ly^@WY2ZRTt_ zbLL8lE;e*H&Rg9-&>29uKpvg3VyBG6QKa5gERQc=$mWUTmq;3~3<*UKY(d~hx_5Jbr4zg}-p%G%z{3X{ryfIAWYRIcMj ziVF`2gN3K?n&{SYE^-fZ6*sw|Yr~3f_fpo&7PgjzA8$|hCMb`}U*VCvY?cQuI^@01 z1NYxa4+|x#ul=)mfe_f57C6WL?JKkE`@T;}sX$!dANMzy=W}rrhpwDOXX^gtr6s=! zuBto?lcSM}xXRBYujTg(8QmXYHamR*L8F{I4;AVnXvI}5iE6a08-iB&)4Pwd$#OWa)92rwTO4`xVXMsnWn9NnoNB)3yI zpvlDU9mZv=xk)h-b{9(S=YhNkT9PlU1pcaZ)&{sa4RGK>A(=9i>QLQQzB;>{iO&l1 z)J+BXFW+iCN(HI%G&;8y1^COLTabn}7&!G?(C&;J$#tQB*QL8EMdB`lX#por5Y=<6 zi78}7P)D;zkEw@AzB#(}9fOAF&_?ydplQYUu4>uo?8B=oB6Mo zDK(4VbAv^cQbS^QVD98VhiLI+I=rgFdcu5EoK1FHAU+ZNyB5)P`Ba34okcLC|$rnR0P6m%EZf9Y1ZFg^YVBv;}s-+{!zVnjzWr z+Dp#O!81!Q7QL)?t2@Oh zr|Dzbi{kO(I3D&~Gh24aqkHAe9>peFm_QZ(;nm^8*^HB=GfjvnzUn!-ym=wx2~!jX z7Pp^Y47(L~_%CNofn$?j7sIN^b;CLz3->0Bm}K00_iG{JFuSSSVzRycE@0-q_v~0( zh?U0D8yyqOYBfv);)XpGtEkFsbzFUo>aqd(${<+F*|}sz8C^V4XDKO9gg8zd_pvFX zg3~&u4VRGm`KN0fS*Uw{r!H*o>gJYfp!$wake=UAXxZ^V2Tr9bYBeSP$M4)b5m@k( zg7`|t&f)(&k`AGGkHqD>etVACXN_%~fg1lKtk_oV9JLcJbttcodx(@SPfwHOvoP*@ zB8ula%yy#!e%d1bYAZgD?`vP$#qmO?$wLzIPV z5~oJYw11msR_AzMoao_h&YxtER{J#DLU|u~J&{a*f(A4tOQH>pl!Q+y!b2v~{Fm`; zv9L0cnsMt}Fl+fqAi>2-rp!OXb1Ln`tyK3~CmuEf7orCFOrYEn*nX!f(&z~5UiqHe zHQxlYu44j0@+W`un>*sta4vd-Rh@oxv2d#sy`ot=Wy=kFJH&%5?f` zA+<$P;zpyhH==0}6c$NZsqlD=@0Hh9#hds~Cur-p_sG{@fU@`ZY?GphZ4j$ZUqirtv+7A|DE!Kt+Ca* z^eJAYA{TS214a|f1a<{?vyJS@6T6Fwztf)@qK4D!`SpXTRUL-temMo>haho34JxqH zs@t^#9wc$%=y2)sSv=MUs1pAE@he`FKE|olYVwf#Z3ff#`e!4cqq@&AlqUpMfA8HB zM1zW=G4K3l{FNn{3EDJZKlGp^k#>9XGgg@hwx4r`=u+^tC62h`%t;A4tY=|WF@DCC z2}0si6Em*%;>4sTD}DT(*sQB9AdVA|cG(HXjp-if!nSozZS!CMN3%joW?-0cH zbI9P+YBO!vo;4zY09E7#d&@?GO@*?-7|CBzN!m{%W8?WsT47{bqedjjLN#xVw-msKtt#k)=NDuCqJCy#++jQx10Zar0V>9ySywHfqQoPKw=;G2^6xr*g2RfSq(V zB>?2%yJpTN;FxpKp*5t;&gy zjtt(WBE&2oF{tzdOB|T{0f1_x~L%C86-vRBc$*^5bFVbasc* zbAR!{G&gu0X9iM5j&8xlR*}d87%mkb` zv2aCK-Tn-WjyEfKqqGr8c7}eX59~x-f+0GiVq(H1GqP9wpy^a^qy2_<8V>VU2)KHHSRGA^oUs=dz_zuNWB=|_;^PM8(&NN1tDCRPUaJQG8i#eBzM=!H zi2J+jWSti#CleVd6H1vZz(VOWJB|<53#PE73-0__SkgBr6^T9>lBm2{^QxNb?XiY- z4jBq?|8?q_OWduTn||U%>%^d0_S_m-h1YC`dg8bOSt4|<~_~ zK-Zf-slX>zO!2spjTY--Cr72{()rEJ6Wa)mTk7tY(d|!Kn+eWFnz$y!^ViMV@6gsb zxjJ_!vq{-$A9t*Ngu`yanb!0{MT&LByX~J&vF211GDKW>cP2v+JRo7?=JnQ+nG|R; z-$yt8nR$)C9sY;PpYZJ}a|_mp(i==U1#3}%G;VmNm1o)d( z3Qt7VKG}rnH}vYAUaCKvci3jR=qeX6Ry=zrLD!Ypuc&|je0PCJU*$db-}!4%I?=m* z-J`=pk0OSLwv2{L^0Py2qT5nSv!3i9Ou=jjSMR9%K402+u)g(LL&d1oT_Hrl`JDIk zT6V}nf1ru?MwA6lHn(H)j#B@DZ+wZC0d^&o5f?jG`41*SOaenP1B~`oU!Bu~qDD?F zYkOFj_ak760{Hi(k|_fpy6h`sy3e9M>@w-`RrNq_z(I^5$D==V@oVuMlV8z5`EHxb zjG}G%dS^2F)r~YXnd;sYgtjG;?Kk(7Uh4R>Zdqza`6>D)zu6GG5iUCHKb7z$UBEpy zQDb>)QM-&%m*di3TYenj9SP$5sen0rh@#iL$bbDGYvCs>sNS>M`mnAwOxMi{^VRCu z26tHidZc65DE0UqY0Z4fl`3uHz(AK~#WlofjS{V@9KX1tATsf`Xs*5u_Sx>t3OQw; z*zy_Mt)Ff_EO=+tvrFGEtKr445 zte5ju*WKMI5#Rao&rV8AphdKm107Ky7?0lF?AFA;zTZ>Bw40RT(=Zr-l4%edlUX z9Ox58$?o^G`dxTWyKzQJKhk1xn2$S}a=6@0Vz*}rJ6x;2J;laL*;9G;A zH>9JFuy9VJ7FzAKhglh*4^oztpjCDsGYqxC=&lkcwSf2^CkAD|>(ugeuq>MO$tClq z1H4PEfoqDloZqG#=dn5;_0{L#Crn4zJ#w{DrJCx!h2SOxO&>7?HO>z8`4U8rwa+iZ#}1WX_?C9ajbn1d6gA7H^DG8QHLPAo@!ZW@ekXeuir?T> z@l&|al^?Q&FW$^Bf%D?5&%}$cgsC;CAru zUHTXe&)$k*lldL%&2<+ghcnIx&hsE)RV$jq4h!1}Id%mrdmWE|V^TqI_3^`U@zYvJ zsGrECRDdg+ONgSCxd4N-vxEe#0fyvL`1~#0LVvGcez&` z-!5JC-4Oj)mBMBfdoUz@?6x>ILj>g9*ubNnJH^@lA`sko{!xe|b$tF7igw%jdGCDX z8x#m!n%{Wjr&J|XR}w2O!MxdBR;jdWp!y4E)zMF3$-5cllD3kp zY}(-Wm|Sl1k$&l!;XixRjM*t8m|gz|DB>Z zS^m#0$t;f(19!Ya6Tbxf%3hMtLhjr0+xn$AymQ^%ty*mqb^dkBQtQlC_t{;i)GTZ%f3Dn$8BE0?xk@x$E7Lb#DV$J^q# zrBD>>Fj#t&8JNRbERHeY>{EFf$=nWI9^8c5p|I2wSMB~{7wv%MLYo6odwj1*95Qj! ze4?KR9JWu{1L6>=$+jBv;L}y68ML(av-z%JUQ6>GaQ?Jj_Akl0LE@rKo z{8%(B){LeBzJ$Eo0@!h~3EZk*dpYswr@*B^b=~W%5%z-aYZPb$_Q4eKWFcZ(<>($G z-=Bq_R*==F!JOhETVFy^(wQ=)fwwM%{vkua11d<3fT(#;fDe7@zg%eY?T0qE34eJD zYebf-svlb7(!af^?}^`8*0{p;1`D-P<-R?q=iO#laot9vVTtDhfz#UCj5x_o61bv` z6y-ula?tFunnAZ|=|^gt3XL*YC9l&yP5C1UKR4y z@LOB@TYj1hdvq(p%m3L|{KX&pgEVqvoJvMu4{%(XHpZj*=v6vmx<0?;eGK8^Cpj>E zmmx-@KK?upPP#w>ymsF%YVji3`R2W$2TxQ+xSx6`VLOP|#Fx5$z-gHXU){LIIBbnrvFu5x_BqJ!$NA6G+H^ zSg)E%1+N6lr(Q0msOpwutj5 zM9;qkqfOXf7EBxvp+AJ?mx_DS>|EpF!Q+m$)O6WGj*JWfKI?CT_I9fu_FjPH0hjZCIg z>fO3Qf2rzR$J|$pz2d~Sl` z)bmTm$-B3zXvSi=x47T*TM19$!Y|i&5~rIwwaR8}z$8R9m3x^iLd~B!hqha{9)`79 zU85r%NPU?LzrLCzvy)`60_(#4hTMF;95RydlGJwAm3&;}F{qB-P^r^l#+I=zopwj7 z&!U6-0BZcZq|$n^7{-(2!K)Kl32kmt1*RWt?(hJhwmv(h^o?6T(XtXLWR0>v?EYGo zSM<@Cy~j+n5#_@#EhFMW>=HTp6|IbJ#oy5TV2hn}CqfR?QUaqR;L|0cjU??T%EBG$31Gdk{i}+&Rjm7 z3VadVidv3%0G(;Vpz9+oWWTO@ZBi2ksO6?KkAWum{lp%<yL%G)-``9tIDP8I++e%+0||6;|7A?A2}z~-`2p2Z;-;~vwpOn@tp{~COZpBd$S zu0%Ou%oLu1utt!J%S6+YjVdhoicZoaPs z19$giH1pk0@D^;=WpPU^THYejZLS1HlIh;AN_OCJR=896k z%DSb!&tP^#A)8n3!DD&vCb|@`A+@Cn^H>9y4>tt5D^pr4QfUYd@T$&b>5{F%Ri2$Q zbg)?(QNcOXTPzjAKKJ{y3-|b)!Ow%dcYAZ}8h5NbG>N;^R>f%@9w6U^RqBf$?x8yO z&zv|BqUBq^zrbDlaLI#HKK zEF8SI;oTip@?KO;tec()QC+-`p5O>SS%J}Olk$>3{$A2p>d7?2v*N_Cf#sLbx#`we zVhVrfdpN)@^zg--&~o2{r>i;<4DEPKud5g%R!aTo>`= z6qUiOC99_MtjNaPyX$#Z?Zk0p8(W`6N&s}}%0IN=8Lj29k+NJ9y?+xBT*tYzs)UaOrtpxR;jwPUc|MKi#x*l{0Hmv&@G2iEh*Z|_reQ;3expd6Q`b{ zzDJ`Go%V7=)MStoOumH`CDmwnEe_tzky>iLzl~q&s7Y&my}LR0XnR=ZQtvMphOpV) zUr!d?;jK)Y-l%I#9B)9m_gCy0`IeE|B-ouwz1t0O=R&#f4Tw)7{Uj~r;YGGkKl_m$ z%8942CN)r$5Q>&5-euBw(4MtAk$f-k&$!>EDB9-a^0wP=6o|%HbiBLN^M3p9+uHqU z4HPQKReEZ5!UcXm2fv+ep%_Ol3K`z0e*ZwO#GXxZjA^ zrKpAH-GkVMMoC)bjbA0r6X~6|+rV%B?6VBGYPEa`z;Wg}ll6L)ih6mD$|+{+^$E$X ze4|WGp(&wmjZck$;8Ud22r{-dZos;ouq^O(I3*C_5T*3D-a{MJP8odnj-05MuZ=X5 zy|fLvaA#nN-rmTCH3xpm6V=a`u7pVL_dl#*$~Z=2lm}WXJSsy*+ht2?|3IbluXlHi zc2judV#cVP2SU!b250fbI`G1(z9x}cku!do!~$X+?v2ikcFAuTqAY_~mkQNkwmH7? z)3=Zg$O9V3AP2n!oq$&*ycn*_Z{B${n+5KAzHzjWPoR})co%EJ#qwVKuPE(T{y5*B z{HT<=n~-|q{)>hc8Y)KCR#yZqo)tUz67ATr=vz7RDV)~5rE9}q`HMGcJPjggsRfo- z+)*06?>k_+-poX$X76L&-p`YjUJ9cuE0S0>S(f@ZY9!Z3)aO66Gt}LlZgkUDlMkcU ze>|k>%S!8*5a?f>a4q%vHgg+7h@!`yc7P;#fDd8oFrJPo(C=5Hb4+TsSyBBju~=-L z$u=o^Z?;^SUnB)R?y{!Rr@e(dLA(8y+5dMJpk%9((F{a1f8eyPEov9oeS_fgX9wIa z*+6qibX8Se+Px3}e8pCN-=qUL`U*7ILa#V~WAA@(<4eG3BoCjt zYi}v*Ft&F=XLq)_f|Fn^j8GOrrl>;pUN*HfzyOrz?EL7~B@dKMz;7^vYUFyA(KA|H>)w zaQJ#6@f~gW#34JnpOv1%w@IgCld#QAQapL!qm)OJh`#3m{s^b%2?{`HPmnOIXH}AS z6C-1kbgU(ljT<;xg9BN;!o`NWSLtOlUqBw}3imn_b9= zK8Y7u@tF+Kv3URi6TjTRUe!QH%||UHIg29LbI*N!CaEx49TdC#mK~LoGqBSnUgMTo zI&>v*YR_Q}LDNk8y!}c~eE85I)xGM{R^g#uojVz>B?n+&;5|7_PJBOmtmUaT{<&j6 zWiE<56VEPPE;oFPdowet8v^Pp?BpnH$T+OCuGAMcXLq=ChRIph3G;w}>t?`OI3%ZI zql}sKV3Y?W3@v?0Xbv{oBfO1$z@O?UV%!-h6gewBviHRK#hm>%FEMRFj~kX56+PkN^i^ zIN`L9Y-U4b*UekvxF--NyzZu0-hg+3cU8v{Uz~ugZOB{G#43V{nm(5U%O|UpEFjpd z%Z48_U7OA=WdSIg&-#lutCT-NxQY+Y>{?!{ej#jGB?b(+Wrc1>r{_ zpPiNLs$Mc_^`|9dy&j_BH@rfJ0stMG-?q+E=64Y8&AJ??sG9Fk)?b_!Xq|ixtD_+s zRdX*5yP8iHx%j{hL9Dlr?ga9O$1(cqwCA36O=U{u{Uz%qXTl3Dc5q&oHqB!gv2IN+ zq_o{Exjz>qbVD4M`OOe54^9;<-6~?~!kO$5zs+Auj91OSw;~C#hFJh0FhUz?_$ck6 zEn*@n5Re;Fw9mTdZz37$xBfytpMqUWJIN(Z8&1|YJ&FAya>t@rxD)I3s{6}7so)Cz z74=Z~F>~nf8xY$^?VvqO1%6VUF={RVhsB|xJ0nx=n)&3Ze6ZYXEqbDu6IQ*d)pOJW zaf$F!cYK2x=;ma9AJDA@NDMb%SMVCVWDjwkB*g87*K9ngc74hbc=u-t5hEWz`=9sC z&zob{ra08^I4ELS+?^RrkA|<0&{~w;8t}}jI#qK}z7QrS_{4+o`xV3g%z3uHM*H3# z{#Or$$&fppjw>&I;p?L~Lo4?FVuzX5+&05AYf9NSOKPWj*~n~j(X_zbYo>Gw;NW%s z+Ru0VOc`;BZ@B(vGHMktAC5IdW$Co1=6b$d+1B`U^9HN6^+nitu8sKHc=lbS$+PABa0F4>47 z=vFVkG}iR;*Xyo%T1gJvP0$lk%?m=ZW@*$bmv@#Z_wPRo0Jo_{tqPV|I zb6aC{peo=!?1O1RliV;)d~_(aTk9r`z!|wU{x91uGjw)`doRDfIo2 zLp{cT33mpv1^?oM`N`NlK^B>(YIGfOrOGZ*e>CkWZ~t+c`TU8}_5n#9$-hUfBNfH( zyKF=Ubg#k^Bn0|A>syUA!EeLPIz$>`a{jCU(#@16N{a+-Oag5AC}<{{R2$eeR4yE?kOml`@MW*-ne3NcNUlD3Xzp zH-(ZF5t)^l9T^p_VJ0+eA~SpMalhB~`TqXtpU(Sz_j*5{kLTn0c#b!md|ppzV<5rE z3u_EeL$<7MD%#BbpV?YQ?xfuK@+6a!B(Pr@_7N{>qur3) zyX#PVOU|{d#BFSC>}U<0M|QDGh0<(vgbS^suyaJRD}v#v?PT|#bUPj+m?C&Li-5{g zZY<(-AhiZUJ$tyBMu(yTjWS$(eyJir$Jn<{x|rHjYBzZ_y6l3F%&|Gcqms-PA+Mgb z*vipq<@fRYIEssdeN8K+ko8Jo1@wgIDC{U;bsw0jcwxT!vl!?l5V2XO+*~}-^qmx` z|2iEa4^5H|M3%zTbE$*wS1RO+@3^PVZzk$uT0O4T&Cwp(RN#XVstBZ(F|v_p5l`Z=B44sC)7=KsG57O7K4oE5EMI04>7EF2S)D;M}B2KK-|8; zu^!Cd$}dG*B>-LWg9!73$4*=ElE5=e8lFvzdW$z5%yu2wPFaGbu)-TXG>~dc_nhM*!K;t@lFPw2B;Y^%p3tGjR{B{t*-wP3rOKVdpWQB7PAU%2t% zjOw?-#kJB^rzbm_UaOABqK-!$W=^f54LwMh>vQ<|#p+MQj_v)i(I5l`eJ0p>&$~~Z znj!|P%eht~`^0SS+V6(bjBqq-@*Qi=N_{j=%UU{riY5cLT2DJLs@)n9K@8#+sECA} zc&IecINq9~i;q0QOwtr4KNsyTy=e+b59_&I=h?zy5e=zV2Q1`lo^mxc?=NJB>uAb; z&ov7hLi85K)%O$T)*p*!^glbMzBM9q6ci4>f*z%M%#6FbbbmVN_=d-5+$F?65s9~T z|1za~w^!2gFe(k(&LBxdP+RECUk`_mL}P&WhavE-)C3bLQt9UfG0g^Cykr{cmyeL{ z3fKTn2)8P=z~f)O$7D7)2RHt5AdSB`M-T4yDZYR$4X|k-7Yn{U z$s9Ek2CTz&DWn9@q> zM^W$5wRKm{uM`dGcM~L{w{kG87vnMDIlxGDerM(?FzvP9LlHO!5t;XG=&u_2n=p>v zD~`o9#nLc&pnLrYzhu%$xHclZG`~-$k#g_1Aqa-VZhL+FwZPgw&?qc2+2gb)f``K6nGKT;*U-TxUj67rH%=^h+ zV=iqc)yzx#f5Jy(4;WjW?ZnOF@A^w#M6?yZz+Y$J`u0%y;X(3HWoj)wkmBLUy9-%AX z_8kv6kLO@5XxI!@jk_0-<|;SYHh1#L{8hx>PZ*-%3iEC4f0DuHq>2-=bQXHT-Uz0Z4N`RCqu5xMtE7t*8?6uh>Vn zRE87ZezgeU;&z0Ni!y47xw&k~hig)`jKxMA+c>F8BVcXU%EKToU}W9^&s7 ztGP;`9!_*rOWw*)-lqB7giBhZHoC74T8-ORs4bb|_R(?NyEl3?3|N}E=kxPQ+GJPg zPe$7+Sz-v9KQ0vj4=c*qLaA zvcCjYZSA8@&`<7rYJevfgoRD3{%eilK9-FPWEsM#v|0Iue*Ng3l;O&su^315vST&J zE#Ecl1C|qZr3S*}sN1$nyBYyX{~SILlaFg63JYtAiTO&_rrZ+*{4DUP|k`7M-w#Pr+XlhVF7q~H_vO!`X zh&C$LmJ6rmM(p|GgtjflSHj?4hBAlGu_kOEUuG zc^r)7ViqqTfJ08CkB$l9_R9SXUA%Ocu&;Yev8O+F)LJV5f`b(H0bj%Mp5KMqU@z}b z1U;y2XTqlX+Qwis{1oD)J9Ot>*_y{)Ueboz_ zw}Go1>YrUsGIT5Iy0P{7wNvp^OsF=V>>Zj+F9y|~6vfyH7IFpj-={f$>`b9h zR%W`so^#9S(gT~Tk|4JC5E}dZ3ck>``%Dc44V}l-5h2`K_;k3XL0=3c~ zSU5Rl1UrFYU|Q;WeSF6rE*A*;Dpknuy}$nZxSuU-2c4tLy|6~K9(kXdHgGe51>fZm z@oN2!*MM*y!uFUaFGzD9m|B0tGjfAbrWi7YGqhUpi^^h07D*@L_eG;E=5N!1s(8vb zzw2a`!(!FX4lt)02!p0Od2A^3r9HBXwjVI$Abty z4MC0FP?S0n4g=k1DS@x5dq9`zB%Q>5&^dh`Q&N|Enfg;87L(TPFM;Rq6sr~Gji$qRPtzuE{|1oUZs*fI_-rx1Vvz#`#ebrbAU8WrkNM^g9G`dIw* z9L$n)qJmJ0!nBEUoJ3w3r$z4)G&0yUb1CHjJ#4xJ_T~5O^j3jTIw$Ef<(~T)%2M5l zffw3upJ7;5_SGl54a{Pt>YCkt>Zuk$#kna69sB(*@{iYF=1TxEvTmibFo;P9@q9M0 z+33N9t}$L~;G^=NxRxZ}!=I1){|MVMbGR)`u5ucG;$Y? z(c7UqJqOx{;d8jIZvR2wQW%}x_2UQRd4aXI+md%SQeuwNP$f+pRer@p(oMJuJ6&z8 zS%7P_gLTq~cjksRP@6ys|26|D(+%^9|Ln_78k^{DmJXU4@>$Q(sgJ~9hA$AMqZwFZ z4Ded#&rmowhh zvy4(d|MstbtR7AY6c=2RIa-*?iDt*vZQTcy61QW(K5=P$`9eAvUxB%r>BD-o7ue!apuru9H80ny<*Mu5n`o;K5S66m)_MqW_)V; z*mW(l#Tx?ZNSq4%7z1%%XNw4~{>N8?Jz(*PmGn)GyR691?3W*a&`la42}*&2eCRIf zL_$HPGLva07Nk1WGPKfMI9dlEdBBQHK)rPI@md~d$f?=fMtF&(zWIq54%SMKCVzIg zF(>;Cr^Uul{gM;wTK3h~5yn;*5tg+V@o;qFO`N7M2<65C_xF-uI`Sz_;zAKO71BsC zD4gnNaiZKY#;(d^+8{OlHY^Ij4}XD20_DM^NGl7)Lsk|O>;beE9ffd4jD&vt8!&2u z2Tdwf&o_Jhszs0C(C@H_eDs9VoB~Y!CMfro4DQNpw}|29$fsk}vl_lZ+DCDNK46-0 z3agPBz@C=Pv#Dfxl4h_X7lkQnv9fUP6OMuT-ctb+Qj&~XjTVZJw@g3#Z=`eEkHKQR z;@OoTR2`|e)a9TY_8_D(A9;p>^-t$+rB~G0SDN6dAa%-M*$}{cTnb?=S;oD%0)GH4 z8%R?N-ag2Ra6noxop6Vj??#q3F&(&N_HD>xzDZSbk~Cu@g3w>*0NhmsG2jQ5;dTrr zSMKW+tZ(m!eR%eajD5Nt{j>1lUKk4&aL9u+>e%?bxB3P!w(k82Sr#BGo@lCVGs8=C z+ELEPOLaAMtz?@^!M`0|&wttB4tq9Bw60!6PAE1qVzeG-#9}<{gPX5F+nUycOC63} zwdH&apYc_a6=V#QG*RW-^V&fihk**>RztY+N|^{ zF8hFmf2e<(9q&fjeqRjf{letRMYuFTT^N*HNQS-f)%`zDM4xbE{y7~3cVnD*rGlz+ zV=}rtpmRUMB5^rh|N6$kXaRY>x$QxUoy_^=kE$DL@Z9f18lfSAQ!Be=@OBn5!Jqp1 zcNSSKn$_dNaw>0{?*UR*{hx0_vgV^283AML<6igAwIh#{VsH|M;o9i#yRn2sJv^i> zT_<}YHDN7G8@mUKr1FNe^*)>9O+P@Ag|WP(KK~L=t#~OUL;K<3sU!K*%pgYg8r67*i*L_Q{ofjX+V$xVMpj{c z4K$et1*JSP1cvbGa6>0M8g--HZ>d_cX%D9`uKdUgPKzIgY>7YV(A%cpj$4`E{N}q3 z!T2iY+WYvN0~T;NxhBjbtv}9;0As}yr^$}PY`Ly1J_~7!=JKaw4`XAXiymgllC(jd z>f=Gl8Cc>742TfEzX?YXZ`84-Nz-n5yQTCShqya5xDx*zc;?x3n?;lL5L8Dte#Cd^ zDcw71gZ$FPgJ0t7-f16#(7WLW@={(x3DrpGV&=9#G_N7!QP}?m!|_PJnas0NSNXJ4 zJ9B2A98KWFTrnJ!wfbWP);}zaHVAJL>lYdz6?NugMH&v^fmpclim9LYfkY6+BC#@2$1pI+W3K0kuEV|1fG)VAq165T2Va= zb1tS`!%&QI$!n={IZ~th*-=$ItUv@N`TtE=Weo+o$MLC&75vH61``LNw-YZN#YxDk z3~8hkX)Zs>E8+xk1?uWZ#=Y^2jGUU<$w}pnepX@J!=23~q9WYe*A(-$ zq1fdpod1I}!%LfptF}dIQYXQgI~{Nyf>%Dc>X`5$c{Z0ePA9B|cfJH2>|+%}E{4ps zE78wtLZut_G&tOco0MAW$?q3}(DnNfX9Sy^l{O%?DU(}=ch|zj79~y41@w-|z+y$?=Py&*=n~uUiW^&k zuw_?9{&zX+8@a{ykuLsfIC2tbJ5*~x1l@yE#$4(Roa#hQ4KbWhJHZ+DbY7j+^rJac z6Kr?9x8^l@YaZoH{U{6~sfnfjI{TYTLK~q4U z_g$2!fcEz4EX0fNhtf<=Yte&qNfisD4-UcZXN#OJKl`|KT0u~c{KS!F<)g_?36I;> z^bPTmF#N$Kr-x;{WUtFMti)ij%hcA}kievEw&il7OSDhh_H4LiACrN_yKW^oVoCt1 zS+GgpTIn?8sqsCrTKIuKyrT{_IP?M>2#w1ym~&YT>KXGDy-uQiy9)2kj2Px-I0_Ft z_GqX9pz#bg#TZ@$vCnK1Calb1#hI*_UjQNpXK#cDp^($uZkvrrxdp4ucXyqw`}b_q zSkN>Q`L!YSJM}WWN%<{**e?l9N##C0T0!5 zJ1x|f-w9}go9=2=PMfQ~$Hj?QuSjbL>Dp3(uk>t$9+b7hA|Uz$mgR#m)9C2E{)-X^ z?pB;~79Sn$b724EEJ?-)#2q;PD9M81ev*Y?av^J}4XZStl<`%Mi#ObIa=iF{m*q_S za&As;(Hi@;POW0gm8)z~djC4-atEvnnCBE5;Yeq630iEvqGYDPYpHJn2MFwd!q8Q7 z8!o?XsoXX|{^9|d_i91_D&3$8df~Cbm1+V%fBh9L)Hg(|{i_=Btrl}NY1+pNl~1Mn z@`0GYWgyf+g)C0@ZQpbeKrMs;-%ao+H zTMb@{j2U+n>8-ki@s7Dhp3PzD#}m$~P)vsmw=aM!G!rm(;4OZ;7cUXsyMiytKV661 zr&q68;e__9V!#|3J_W#DA5Kh4KgTdQUsi}IpTA0o3_Ev#Z1J_VSBK>9n~2AlB^x>w z?g8Yz6g-&NEdc+7&S1HxzK~s{=U7rfZ_Jf4M94sv(+GVjCU`^V3o^-iCz!==JYiz znF){#ZaD{;#KXRFe_MFGS%(iT4u#|d+u_J6WPrK#o5^BVARgcWxbgM6CWb;D;iw=|WHY^{ zHe!*X$$&fm`|;mQojwHyU&k?~ky25vX1irUhU~hZJK|VT@=-kI=5=FB=SzSr^`#9@ zNjX%U+h=hz^2mQb;YZgmwfKzMtwFb3aM(wPUVUs$h*9VbMrQ02J-D;`D^>JSHj%s# zKkdkQXAOWaECvX9;Xf$T_lq$yY~oIRdnxb8ivO8h+|hhFaGHqH9|`eaSXNNQ*2#|Hqkt9wrkB56 z9#ft0-CYnyB+Is+9BVHfshz}t2V};oZ3`VRG5O*uDe@yb@ScO)LCGh^Z(W_;V?@L* z*}#YIa2*GK*WcR~H(pBpsKt|x$cUotCq$GU3js#5lk5rkT$gQoW{gN4c(~@TX`NYkG!5wWJX4I+qvKWW*ugS~V{(ow^Gt z2Wl^yW`ktyD5%=tw8Bl<_cNqo{yn)rj=S$*7{A~LUj3+U;3AX}p>?LdG(yNb-LB_! z2wFq|mXbSr3+MnrtRnFGtnZi8NT#2OUv7Kl>+-d#j2QY3y6YGiX5jDYk#z(6Kb2sh z@%%AHblOp_+G3;P`%AYe(SS66GqHBFuNI%GtamFsDUwP@Fz1wC(QBw93Xuo-Gra4Yl9}q6$?B$3t)03@T@uG{KPE|{aqbJn5SAo^fWBQ98DS~+pq&^ zK>8#~EfCm&N8NdJ`fFGL8(@rW2ss9Ja>2n*Wf+T9el<@{czKXTC++c86hFVtHub6$ z^Fbo~G>Wz`SGb0FBv%s2Co`*y7KXpXO8-NKikk7kHYbcP2a#N^2Lu4hLObTvT^7>d zgwy-6)Iy9}b?gIsTxXyhAd?Ldi}}N*mbl2-+(0{AXDD1y^4!(aHtiZyz=NdPF?e1i zdg8W9;lHrvhUOAd?`z>wRetG#TEqZ=;H$+~rKEBef6x7C$nz&!hz?VMKrq2)Q{^>~ zE@9zr!Tq44g)=P%89X@A=j*X!d4-Taef}tLg4E}x6|NtrYOiY?+_}d4;o87LlgNEp1XyYbVeI>5GeaY83Lpju zj1u+=3~FruKsTxIvn~Vam>y8ZA#B!}=gz38%W9PX&wjlhW&3v?f;#Pp^Bjz_f6g2ynFX7vP^La%rd5xVwT1(yWY1}fJm@QDq#^CBbQL{F zl@|DjN4Wu+{vz1_5sqquhF~|01k;o*40I9~Q}?zS2PP9iAn^Zutd3gEIdIeDTOMGg z-C9FNLEfZ@pq!-my5&(fzVL+&Wz8g#JN&-~iWO(FIQUWgPu&oIArUZvfk=H&J_kdW zw$*#RIH+8J9bM!B9b|6q#a^K#D@z*E$>CX4&jtM=DnbJpfR<2? zPklRCP_b*L8&8GNZK_caoIX~X4rA*pOqMM(w8<|4iP}5nkHUzk$=HLd#%TrD13#{l zY=*7w2_h0f{YubPQ+8HtCmbA_l_N;Z81)vnu(z*yptHa)%g3*5>ceU>n*;yjhQ(Ea zmMsp2R_duG1oo1(_|%w{Hv>>;4ovHD{4{{gl5}6PR@W5b6h#BCQO@Eh#TbR-B2l&h zQjw-{nRHh<2JN_C6G@D1{&9Iu_6Q?+zm_N%yn)M7+QkgC{s_Q#GQg`$U^92254G|@ zY|M^nv9mv(R5`VSB^}0Ikgq=Q4(3E zWOrTXex9_a()%?(e09uvCv2$3b#^_%Kx)ORth=#oh@5?39E?p1d3_LlKmVQqpc|In znnA@q`2`p)L!_kY+5-!m=b)G)xPD)kdJ12XhsSh7>~{^Rmy$jMW3q;)%Y<7>)ixz<7m-xg+sp;F*>Il4gG2#|Y74l<<|of%|j4#=aNy z4UpjmrXr$+T}Fq`QGjX*xq&$W0$m}-USQ8u{uquIb|e+T3z2!>ROB2rXCS9zXrA#m zadPXBg($!y84-fDnhpwM1e*0&;mQ^0)|G+FpSjT7W;M{D`fbm>+rLD>9RTqET+7Q= zmCYQdl@oxv>!E`cHIpNwT=sr98wWHZt@%7~R2bP3C(CPtvBw3tRL<;n*b%2Myu3j!?r7C9Gi8}Glz zNjGDdI1Jdq_={99H=i!6CW_VyylZ&$FS3fBAKltAWopJ-w1uTzYgU3$C{8=qJRZmd z&{kYd1po83TYHpJ%8d}6NsDO^oME@j#mwHYlkIqJQ+cy*WkL3)7&|j!h`76--eDsr z$|(B%e$Raf68KyiGh<3O_|Mm@+|_h|!j=J|zNW?Uv|vnD+iiaznBdRcsFw91f)s-L zkd)H(4!2jjT)@TB+N^SOHdEd2sU8r5&n<=tRh%Bj3=GfL;Yjjx$VcHZ3B|R`O)UbRQx)={aZBdUR1^oH;c@Bm~j^deoaa7#%bp$IN~uI#h8ajzNgSl zQ^7;7;65DaJ8MR0o$>k$D|{+&=R3%Hs2{| zs@wcy_MspbMqsUK1toW*g$5uKm7DR*cAX1(Nmuk6p!Dl{mWbi(c3R~WBVBQq*+I7>CFj8PLELl z$3bpdo}YdG#28Uq^a>n$_O{@Z0h`)^!`FF309-(rRGgi2^cGI&KxZ}^OgWk>Ub^j_ zDI6ZNf z%1fN?e{UjHmUBQZZwA3{W2n0=&>j8AIp`XmzyMRS4e^r&BoaGV#zj+=mF`JX6VKMEMb}{zetpgMY@bFuzA5Sd~>D@XQ1>DZYY?(ifGeD${ROEZNLLm#C>pJD8aXZW+ zXGwHS#{jV|iw}eLG5qghl$#$sA-(b|R3fbEu>@d zL_qTd!Qhe*fSQ)FPlXJVDPpKPleqRXhUz9CASHt#DcqZ_B=B zkCJzjQz2!7iHGQ69yEobG!+2Z4(J3?msECcnIk=l?FW2BK}GYt5kha&{e6cG-Fw^K zT_BF~Tgbm&Q*7;m(n~;UB|iri`)hI-AuGL51?hD}0Qyn@4ZlWd#FO@3&BLIqr0lKj zdZwDjp&K}@7XLv%@Fn_*?0SDFG(I77K!9*m!_l+I4zwUMgGy8k)|n%NNVa7FJ6n4tSAj5RW2KG8>NtkqCGzx3k=_!11;u`r??AF0V6 zA~G|R3QuVxSUa3SUnmA8hX|IA9R{_-u7IFyEBI)|H|6i_&Y|y$Wn6r8V9m1|X|Kl* zRNWgl>5#kQ+>Y>&7s@wFjCXDgRFqA{J9#NC8|*w=oqTo%hJgK78mOX0SCCFaq<2h? zVc3-dn;zhI6awUzE*R=26}9iD3$#0N>fD|Ev)8}_>*w4f(BNP`Xg?jccMsNwT^c<* z->nlHWSc2_ahKU|{!l#Gx3W=uXAUNVn&(IBDvru8KjFguI>hL$LT5_P3?k`pAd9Wn zUzvGBv>~ZRoEz-x@qXQdg!~tB8aobkEH~Ykd_o-f_~*)FoWIckCv}l%A8bNsZO2Dm zcYHaS3IHi~Dnagu!5-=&Z$|){lK|y?76aC7nf&&p?7CT`}D%9j-u+HqSdM) z91}=IjrYZ80@5!8xSY1D>;ESE z{|yW#j&yD`2H@Cmw7IqZ!)r#16S;uL$R!2QEO30++pb>D=bz#UcDZJ!dJ8G6PvSBsdhS`JXTfT+_E&d%7`-B(sll7J0E-` zBd2;(ZFu?S=^~81nxL*8+Pj5Oba7A2pA1Ym8oo6!B{8-t=3Up22jsN7gz`Ygs|{sP zM01s`^z}CwM#67-&p2ab117iie`=Qw;viuRsCRMSN?FgK4x~IeCkU5cJ39e^Qq12y zgG2lsn;Tc}`p&w9;W%MNP^Ca&2PRQ4aMn}*Ko*|=6c6?sk6LDKd1BZHIZ@)|-LVfP z)2D~-k|zdgmtc|12wt7>;N0q)2YM*5AGkx8RY4>l8iZO>Z;t1}lnm>omKz1EXFumZ za)G=&d!ujsPbPohnKeCtg%LO5b3PVa$OCVyR3DAOOx>OmHhyjo;6$)5hV&<9Z5xQZ z)-4lE`9MuFMjAwP9!K;*n^8RLfPP2*<@H;#W`z?}T`0=hdN_B;($Dh#ix)*iumFk6 z#R`y0Rj2Mao*nJ*==YFLr2|@4I@rh}25}Kay7pJpkIF3Wb^W|s#dVP0rq*3@z)FJ! zI~>9C399){ zkOf?+DESvg8LjTZVFzhI5E7g7TU$IE;gkF~F?A<|^}|4lkeWPv=hnBk+opOnCPC^! zbq$eRF{b^Zl({9bX}+%$P4ou`80=KnxR}1+EtG?++s#H~`zvqfeS{m~uef@icV@e- z^xM)1@#!1;Fn03+2GsAaU3i0~J!Nth%a*Dc^U6sgj`{$yEBnumpo7x^A0kyz<@RN(jRO2;ctm$0_B`tMyFt>I&xJ(fWirMMX9E_8_~JyK-QSZEE{4;afpV z^Erf^>Ms%d>@aNqBCH*3qNGSwb&Q;!-=rfyQzxP*XMeV*L^qi>9rVu;=tbBHUr|(J6CHix!q*1 zJ_GL5OP$i|0_8L{Ssn9Nh#r~Z^vcHqJ2aD3b@~o`xP(*xmF{BwNPKL|~9$DR&;2rgN&^O;FBI=vrPM6Iz zRDzzWBj3NXDLaF;62qZ^+y(JWu=t^X#Ty4T`? zf`r_`asw!rj>$DE2M9CDwEm!nWQi#iP8JpHd2zB7le*2{dY1ch4m$`{^i2PWW8Uft z_uG&0n+~Byd5h@4E4y4R;z3WO#ySo`o&8z-6k14p7&qygbD^1GT_+XM{mGT$knlmSeA%Qu$a|O8%g{bIb|_v)9*pZ( z4l&yi(dgNJLRzy+>}G?CLPl?iyUk8089y(p%=YrXq)(^mZp$M{dP&UHBYQ^2XSC;) z^E@ui>)YNW6+r=Avs9mDYRcr%ZzwXOzR@#S@?H@T<|>vy#>Y%mZY4$1;#`{vt)|uA`$=|3=Fwb1A_ek47jI zu8ttb7Lt=yHleEaFqA9vGNX8Um1;Kex{;OJd=_YQv>$)f^rrN$nM|Y(<^rH#A`i-W zJ8YUb^=#|@c}KNXePrw4Xa`8wt)KIZKd+kEdcCZ$>LZFaSLo>hyU@vv-$R40SC~l( zRqj8|-sU;4LcZ?`m9^Yy{w)|?`A4ZON1L$|J!Mx#_6bPf^uW{(-6eRR(B0p!d>9-j zUHyzjQ{4S}*F|c>`GTQ5aP^+cnTP_4l8z{vGJ~y=O;M1)+_jFIehU=&WW43ffmU6M z$fpcas<dP9w$I3%kjtK-qp{bwZ(>>ozs{hjeUI)3TCbxAYx(gvri=!A3}h_ua_BD2-7=fKPq43gy4+w zo*)7)f8ScXqDzwzKgV)wu}F~OW~*kul8&(|q z&~doQ-S0zDbMKi=C>&5?eU6h)6qIPj-t&c38r9=a@a&XKPVcia42wbd+TK$U?8*@l z^kFWLm)CE#U=DFcBC&i*)Hl{Kqw*`CWb5M_x2iI|n@@IbGk86S`u8YzU*bgvdbS@0 z_?h)KXS7=r(q2Q5xepK*vtO!fVVLv-erK+LGE4kRWKWf{R za$Hp=7|$V;5d73fZ(-i0$^&be`_8>r-dS$6vZRA+JB_86JTVTHrqpf&q_;ynY0^mb zuoe<`yr_`O#^^!CRUhK7+MZ*^EaZVxt1R3mTtMq$azp%ED)Wyr{yQqo#O z%JRQwtI`1;zV1s|^=h+fISs2zCllWF*jwobGIU1}(KW04F!}AZRj`W3TiAQ)d9z** zp5DPcWH@ig?K{N?wN~buTv9gV!HVW+>hCTdj}0W=&A3@PnWf zfX*5|YWIVa14pRJ3a;nNjbM&zm%HM!UG#Do3(3Nz)0aRh!6Jn5AflBMLOmF?3#u|G zzX30*@$*Cxk)nA(iTQyD;Cmk89~{)8f=fkuwp)&g4Kp-)v=7U#RBhbkNrapvGHKCY z38G~rXL1AYvHV{Lg}A0VH{Yp30TyC*X44zJZ6@;b<00Rnjh@~R$1l8nR61C_+WV=q zOZerKP!s@bfA(Y^PGz>S5N~MB&IQorp8nxxCZhX)&s1NE*;z9}@O6fh)p^rN^ot0% z@#w?0xqq4ga&xLmW7CMV{NOdPP>5a8mpQuTgfsXWLVZ(Ih=73zo{qfwlv{@i%C4}; z7!a{giaKj|8b=zN`E#I=`!03+uY%YpV?Ewk)SZf`v6!t_uOmPIfIDT%qt6{f)Z>8m}kj(un{i=x6uR z)|)RJk$2oF$aKIB{N#~>Ld3sb0HKl{V;co!SW|pDLY-(S{?lv$UmUzoNy%tUpu+*D3xaPc#|5Bmg|DfnV6`0mBB5|fB{-u6AM4=a$CMhFaz9LaTpQkR zZtuMbQ>wXdsND)WTSl&j-8m!Uz$2&q0QDPJPW}!qkqc z69j}CPYfar5v4*eULz_JNlI?u(-za4uF&V8D5@VSYK5FXzrpdi0hiiw?~tO3-O@0O zvXT^+Dph8)YqR@OZivCkCV?gQu!Xs|>%C)nN#3gnT@5)e7lg{2D`xl=$puaCC_Aq> zwmAqNG7&{TK68gjv44U$!_pW7_?5_?s`6OWPmSSX8pz*)n7^P zxGXy$t6x-ou{SleymT|#H=-&0*!M3&kfN@Q#IhzJPaQ!i{54J z1_pa)G~epMKscwFQSl^yd{*S!t3w6)Mu^7nwlu$0Af)pPB{@LJZ)$nVPtn}dp;uC# zQItG#wX>@N1B(L!p_#?MSNtx##h8Q*@c(r!*&EGcl>kUt;KygYiXd7JLqI+es<)V- zGsgP*muzfsbBU8)Q(FoT15mlK+wD*Eh?GSRj-}4da!>RVo&dGN^Uiu`1WW!Yb5W3L zTR7lnee+=IgO?9rEQ5(SU9OdjG85p$XfP?@$n4$QOdUo(ci3rncu`#$e=|1=M>!+> zah0Pp*pyHx<34K;&c`j62@T*+f%#L|=Gn$-Rl5fUh|4uOpAb>F-pCsz|E9OKFA4ZB{5hJloO#uNMmZ0aVmQ|q?+eoUpZtm* zENn~K{rxqSJJ(hWlSSBTm6XHnkT300&Kd(zbiXqD%ucX9F0yxQ>-Q_IZT`IjqV$li z*neLQvM$|RRHK?&Y4Vx8>=Is1hbA9~Pc5j7UoAR`pMq_$&gRv3@*Q|9)^YDv%P+T# z51)XM+1ztG?&HRp63kxTyQlPdAxlc|-eAo~K-S5?-&DJ|`n&Uq6sqC`Z_+cUk!WOH z#|$WKz5bzMh(vyH_j@@|ZNfqj0U+S?YYc4pAnkOLU>Ty~>yJ)v&BPZkuK%9#^mSfs zm9XL3Bk&quh9_?{>MMqX5mRNxoaSImlbMk((=Qr^d0hU?mlq~rx53~&ijNk zwCZtG*NmoHXUbK3_ZvLPwR2MPl05?>8J&a5`&0i)>$3CzD`5^A=n)E&J$JUS+XE$4 z1=5lD&LdcR9HeXM3EoAJ$NyOCDQ@A(m0=;G8(v3Nvv}T%pETo8JE;cHzs?>QHSPDx zvvRLFaBvSh5df7>QDBB-qHks%2)ljnC?*7;c&LdqDO$;TEi~QTK39`ikR&tWHNB(@ zZopo+}Wycm=81npfe_Yv`dFs*Ac{3NbWbe#e5!zv3nV+U+qU_+oO)!1{ zb|Z{+-Jqu~xZZbI9ox0j*O4Goc9!E6s0@CvG^NkYfN^#zA98{>D4nObs1c-)pTx9+zDx zDif>z*J`q_XQ-+H^>kCylUng+ic*r-r2 zvwz<`H~}&KC|g<><=Qlf0|;T`*b^@UT}B_OOYWL@n&l%iU+D@yGcXvUhNFDev?zFk zsn3W1{54|VWt%zvd&ut2`MQ9X{kNa5>GXfu_H_%-Bm!Ctj^+=mHgepyd%nbB`4Yoe zhe!MTEL1Ft+#{LLzO!k+&x1#q#bsK|sSj-DT53)o9w-}BcHt-qJY;7<2T0B$y5MyH zssMqE<8Jl0I%6o`6wKzo`us?UvEGOJIq{RB_BX)$Xy6i!}Wx3a54_E;@-~y2a zYRczy{+Dl;UE{p~Z-l4%uKrTn=^q)pK4Yaz#16mwudOVjaI@b|NgSkROeHB?@D>a% zPw^N(`eI3Zv-_aCl_GQ2J3e_ItJTA!i~c1X_MyD6kJ}Asf5ORs`KTOGuDj(Ckz+l} zL32bYD1NY|WBWBN_}x_~>1$lrtyzW$Eq8y9f@ovJ@dH)wy^FMY_u+qXP^3oH=MPkc z0LMT20$N0L*z1)00R)6HN!12nfWdL+D|By582V?#Ux!c!T^}83J~{$h>ro3!5wvP$ zv@t?h*Jo+%6tYhVj|ssTLRyedB<14}etzCpePfRsm=cVbUl<^tdcxknbd{y0B&5%- z93{8jw7!(8U-3TiIHVeWWcLrvywY}|=A+2Gtz#JAtSYnuSNdu;;L2nCqaJkYSxgz)q zs-nhDM(2R?mLAxqyO&2th0;SWE|CK9#69yq?sa*D7mIfw_|z#srb*AYG&zZp2P8E zRk=YAa8l`F1r8zb_xqM2$!Fz9V%E&b6bhFoAKbs`W0usQzBL>;IT~%ebcg_ka9sFuFuK1QkR9#R4QZ z6{RE$S{Q`q#;kXFNaCHwr>4)Ax45~o`vI^;lD!TFMZ+u1Xo>8rbj!xp{ubPgNyCIbh}r5n{2X2$ydkUcnQ~(1wB<5o^nY zxS4oqWuWmF>!Vsh=L;3-%l`TY{ny!2qzf%Cksn{P9%KXuC~2)jeedgikn;@fG{@VD z$($I#0X^n#=qhyXd-uq{@UROQIuZuHjaUrcDyK{20i{Tb-RFsiXZ8uUj8$M)-=VoZ zhunJrO>$rmF4`(?oy1!?`s|_rBzzK#|^myg^Lr+G6b zfPehWZJli?R{n|3YS+!TKP1DbwKMaEy|acNubVa8xReOe z=@d=3E`E^e?qhnq(8MBHE*iCovH?P>`U2#|IW&MD)Nh0&ffao*1~f(k%VBIdv9_@D zoq;!xmQ#P|Tat)9wF65g^R@bd;v!T0gDAO%SpS3n5Q&5oeD?4T(%FVdBjn2Vo z#j4_4meHgqgfCkYNxM@8Pq!jE_;g#9{Tu6Fd*)sSz@sp09CWQ-HY32Bk>z;F!=>tT zXTA<6Fjy=ui_8=g5m0p911QQC;h_X-u-t|(V%LvEJc|4C1>bWZxsPt0_SwAJq3S{G zcu-EB9UvpZReZ13B;20<7Vq_BM-=iB!&_-KKUuQQAaJXynl{CoG4S&|5`nnf#@!N_ zN-9_(RV$Ln9`9Y5?RFx^?19Wt91z#PR111dwZa9;kpIjlu0Ehy>5Hh{+b9&mbRRUM z{GAVfOzG&k{L3SUc@V3pZ_W|Jl0^pf567PXgT0^Q7B8)tN(B>X0TNwLR2=ehf%;JA zgg5(Tg8o5mNrh=IJbO6^-_QBMqDnRJo54emFfSsxwZVz!3KFt$%sR5qcz}p=X5BaT zb3#4cn8|1u@pIS^U9D*jg4)n1Gt|HUp*B--!YCaAtcCb0p%|O<6xf}@_S>pe%A5WK z@#1l#zDx8-R#3Wvz|hA7wDO`i!s3!upo_E(9W=QVX3%|vQ1Nhr&F3qlbssq_pYni8 zuinhaURlQobK-^=1`2xdPvNp)NPQo{pg~k?qdB3=JQg;Re@-H)?*^zlD}*y6pa?xJ zGt^ETeeZoe^ZVcP*dW1YuV%h&#$Azcw+I=c8~Z#thIMiHN%w$E-TU$aoc89wDpQ|e z?CRg0y@PFV#nn3n!*Ov2H_n6e{3-)_40ipj@QyEXKc61Skpm@op4%kso+x=b0A^G4 zkUf&<@WI~MAtbDubZGIR*I-c888G*zkuqj;R0DWYym}B?sP?|@ThcCs4pU7i)BS4D z$J3er8YIf66#9f5@0)iFE78mPeX=H=C(a`fG{<`xYlk`7o9V{tl&@p%3T7p9wHG7# zerfilNRD~!c{bic0JIp$_$mSeZhNU_9Fjx zO-roYS^c}Ur0feK#ypSn;=#6yBz@U$+V8DFRHP^0G#7#d?Yx(}kI%FBe5ccHet0R| zpcjBEW3Q8&qGg=Fs6i|?p!hu8e$qX(EI%9$8k4rEuwqM+$fwE(ixYvpS@am5@}&rJ zriHDL2oRoc`gOm_fo@rKu;c5pA*0J*V@s3R!Ay~1QAoybxNPFZjX^Y9KTVYBRYCIu;J#k{O(*^xb;vmhSj0Ixh z)gLF=CtT_uW4MVDY#O0!?`T&m%^rGGr3i_>5!Vg9jL5Il|HG1k56%@O6i4W<5xf=1 zhTLec695vcpPrQKoy8`FW<%g}i3|Xiv^rW_)-j0-=S2`Hx)5pLCUF1Zyl?4oR+qZz zs1Q#;EN8IXWYvPD1ZHA&z}3+Nc8t;%pZE?@+?vtUB>djCk}x>B$Nx1*Ttl7V5;W0& z0SXUVv4ho9{OFg45cHBZi(<7drw5UsjS@T=sEY>(ETBtgS1x5=skM+8dEhBtgp58a zSrl_18jsk4@P zj*jfn;_Q!W^}fz|m{nC1YjGmxxE2#c^Afc9I~Qou-EtQSQ2z){Q^2P$XWv!8i&ejf(aa{vLgx%7L@;DmQXs(Yw+}|ORO}KTgV~hikuJCn8iRZL3h{#A@jOX`3 z$ZvJMFMootIy8X`6EH}be4T`Z1n*q_9pb#dZ6$`+Y)@xc6qcrmVi#m#$G@HEPiy;} z_WD)Z99A4-XEJiam`YJO)IoLY(5gd0Sr_>`o%0p}CDwWin%1yE3#3Uy09KzL8o)8E};##26b@O)q6)cklw zLS78Rg+hRy8!5QnU&cWT)U@{+Z|OzZN9)!Rru9u$1s*iv$ZPA9z>4wjcf(9NwPMcf zCY%RZU}>76{76QS>vE?}qFn?VRYTGMAM#%!HlDKVQInb{2uOAE+z=+^ zpfy7zOL4|z2Zb(g{6(j|O176ap@1%&3JbA*2bqqVE$7v_Txaahx8-)pwb7=6AD((f z(hI03Nf>Q(!Bj^D`2DjqWfk+Hw{!lA1B;B64$G=`h#`gSHB~5y4)f|_(ig=jm(x3q zC{D^PK*1cVHzf0a;_fLky_^F9G!)^0>t4rY-u+iNa0;_y7zPjLI1cY;P(~xiYJX~j z_E4(SW-%#b*j7jHE}-B29ym4OXZNNi=L@4ic~ZWj;P~pOCN;k`?y&#LrAWBTB;M#> z^#a7+%6-{Mk~uqmjF?W-PS`%d)lG6k@0gI*o$Pjz`;cCa-OH{ zLBS#{a9H=2+=PI7hiZJZ;RpYfEk94a$`-@q%p;toBs)J!{82NyGOu>v3M?wo0D@bC zZyp}H2BVfN3ypT@$ z#fp^1vmmdCE>V(L`ot*#Vm1vRFlT*uGZp4;fVTKw!@G6~*{Tjl>A?P^rPq1Lvmyw^q5U(9WPibQ1M!Col(p`RdCaFC|Nii# zyE64;2WZ#Ck&~0^n+M>m&|vzHv?1F|)|t6qoUHS|AQj|8;Nz zR|AAMPiorRK-5~u z=g>l#w?=Pj%asgk&yN2(lncinC2!+}{;f@Uz|$zzmW(h}fbL@c#{UmlQ68zPmqG3!R@07;j38R$J?dJX#{Vo4YT#Tax5M7|ySA(m*tCtJqDIf%_8u!lxg! zK+V(BoU`U$O!L@_lxnK@(CzsdL9gb|eLnfc0g4r_j3jXg`88}{0pAplJ26_t%- zM?H4M8=ks@M1K0OeF1`kI^UQi0ty!_Ns1Mp{+N9Pe6 zs(4DkMcuo!-Tw|HyLx#5iDW@t2U8PjZoINYttLG*MIpc?H}qnBG$sVhP;R=!+l!A1iqXEqcD2hLquVgz~K(FBn4<8p+ObQa9tS13MAbPlaZUvsRXZ%q!6&pT86^ z`!b^th&M=n;OcLy-p3%bA*NlS+IV*%gxzTVg#?=Klb-zRov_RQ_K4lnYQnuIQ)7QF z^2v2z02c(-8z!IM#+&0h0Qp6p=BPtAi6d6Oa%CfwzHcw^93KU&Zi3h1g7WlS6Q?N( z5~Pb}A8U5``Bm>8J7u?A-&Q~JcoQI6wRgMx%QHTeQahJ{RLoWf%+vSBpBJ@b`JWabP$Qc+jk5L_Xq%}Ppkt0}u{;^pUl-2A)w<#` z3)GvAg~`7>IwnoF_KRr%K;BxBjGUN+kat0}6^Mz_lORC?= z1|wkQUZxu$RMm6E|LjcrdPsh9G$sOFlVcv9yEJ6_?Hcr0UiYnw`Ss7B(cs1Gxo=ed zs6?yUlF}-tV`7B&#(lbE3n?J)h*G3YUlCG&u|D=Jl~SLCfZosG_b3EP{;E7rEC`M< z+upD73wq*dVcEQI>w+MtBL52xUg|f0Z{(cCP0?=)YcPxj=<(iR3%SWv9esz)criFpGnz9K5Nzc(&C&1Vg;0I)!1KO=4 z8-cQ;<_F5MnMO;0?goEh1bK%s*1UiN!Yg9AedC!l60WFudX8s7o6WiceTJ{TvX3=X z>wQ@gpowr4g1RxN@XG)WWNK!Ig;{+%`UM9M9f>YJyl!nCT)Gf+YO+Lq&(hq@Xzux$ zd)@%3iUm_7oWl--{YB=0wd63E0>T{A-CV)8Fhwz+bzSs7N0aUtI<|KifEm5pD<3^e zV#KK+_JUyB$!G|3srLPNF3MDAZIpZRAem~3oH;W=4Z57&wI*-iK4)Pptu&;_{67Nb zUp4X1BDyn#_T1tES{UfGue{^i8u?A{wfC#?q`!l7f}gs@xz_^gN~aWYEC? zjKM_ucg@U(Y01Y4EdH@&?k=@IKFga9UCn{c9#G#9)NO+KCZZw1ey9^Pw$9tpk3R$} zftT?yuG4p0C05onP>?h_u4aRLRu8mDv-9L{Y4-sd_@9icrGc&;fAk~%H#!I{=SrV_ zGdKo19EI1w{M{l#Ww+|02=SS5cQwl(@MidPlbNxf%CxQpvctE)5ySp)L+#WZ-j@{v zuUXq-44f&dAVue4W&4Vmj;R1;ic%9b1x$*Zb8T$`S3 zp{s>wsjX1$nQ`Z}8LoxBqXfc-o%Pk+sspShP!FclBex~pzN`w+`1dz|bJT=tslso7 zCb*)TJMHH0F0q&l==|jgv7JoDMKFxgo$(j_@YTBQZkyj)O^+4$HNGz-i_)Am%*u#E09>H6HB2N_j}jI=@LJZO>7rYW_36_VNr463 z0Xg2^&r147KxpRHWXQl(r|n5;GOmGiqbD+~TmDx)X`l5U^xcKs1wj831pF(YdIFOK zwgE}AHdDK)FSFzJ2pHntGS<oL~GS+;juqN5U)~`)R2O$-(ATY-9Yr_ z#n*{rxf~d%6Z!t%qkr4T(daJz;(c1nvl2~=5)MQHm}YRa^%S@YN*CE{o0p|>jNQ@y zyh^sttQb>!Gn6UF%z4$TJWIqRMOsMprNBY(3I`y6zNlJRpzxalFYhcG!8#Eslu!}} z#?zxO&tb2~isLXClsR!@qc8qIgWt$$Vp&XcZTf~bT5vpcO8t2RXNLs5_h9YS30^W1H4bKW8$3H7sjx8 zt5}eMH;T=jiGf{IdX!Li&<)UMm=FmJN$j=1oFt+fp&B6M@26X>^zXaA$6POTEC&`< zHALdI=>@BY9Gvc=Oabj%KAhn2I~ONoy+2oYrN}};z6?^TOI?<#@M+;GG75C) zu2;fWu4wS-UssxmD0#-hK$O3%OgtFmD;>s~iISzm_un{VyBRC3z)=jw-gmFe7y$Zy zn%t1Qx%KgNc|udYMV|}y9mjq*Z)IcP-mObjUg9ezO_f-+zDEw&;RwrQ^l(jpY%I?% zJ$U_>;PuZ=aXd9HrS#yQ6b&LFSC*6&Ue9=r{7RqsMKxX(FL!sBueIvV9-Q-=pcWUx z$9oQ{E4WNs4U4IMLE@`xN8i@TVi+AbDV$r{>J?QV7~YYJ_1U&K%S3~D+aD)q%s`%DINZH(qZqj(L6bfa>LPt=hx*aR z?-UgLz8xGYE>q7(wg}wFIU0TCf6ai!uV0I-J{$IhAX%^+1JGMZ6u%Bgc#lj@%XuD|p4#gwL+i!eYPLOVE?`_ww5mc@2zoNS(^&XfEH)h)!n!MoLfn1} zU_y{4a&~k^s(8E8ej96BWCn@vJiT;AgHKfh((cSW?`OKZ3+F@`4m^x8w;Rh%V|{b8 z61_Gsv~ZS>TaKXOb~sE4GO-f0z_5x%#Ua*r3Xm-S3{g3G`^YBzh$vn137!*QM+e-X z51=@l4hu!A%Wl=lM9(nSZ| zju%4@6lqr*4V;%yf;Qjiop#4yY;!0_uF!$^K24FvGIy@brkw#mnSBdk(V_#2yQ}(_ zI5dP*H6a!&L`tmKNayELity_l1R-F-`F-B=#L+JEXDf`gl;&kr#5=SM{ZG;jT+Uye zDCImBuVvA%QcDP=5LrSFSMva?@(xWB}{^ z^0(xn@oqi-@_R(FfCmofrJqomq8xg6Li%2>TS48R!_wD}C4}+0M>A=LdAa?PT$Y#@ z!V6f|P|=CuAEL&Jkv3KfNu!IEKfL*&Xs4^KmGA@Vf4-Sv=RBK4>rs+ z?ssA;sEMg|`+t>#V^3;Up&yy?HqBevZZiSjF_Y& z2wh+MyBq1eKi*>LZg)@K{EaRiFg#X?)+n&mqr3+)M+^RLr@!z~>md4cU_Ra3g@y4z zNUmm!^S-m^vyQ4+?9Hi5>wJ?TQJm{n)Y-ld99mMtIvWxl80_i8f!7roIXz*~Tu@>I zCn-KfS@V7M@)R*|!9*w<*Hmsn+kBz?i>+nfagu(=&}SMGN!`3$I=E)bD7LqAzb~6Z zf)5g$8Y!fnmC#%oXR>s_$$sUo_&Ooe6LxFTeZv#IH!maKxA7x6Q$konn$35+(t3n$ z4*iA>h)z$=<+&;V6QU?on++9b?ySTBxeu6oRijpGu+Tn-+G`%3NdgBHsjmP%rPT%+ z8(_$IZ3@U2hG=l{(EEiqMP>kBI=$0E}y|3e<#t$&Ll6lsJ3f*ToYln5V0 z_RXy}I+N9!MIrx!6;0=PH5V9~6FE(Szt<^0tRrw`ad_socyhA# zP~`V7kvx;%TLAZwMQ=5K9r{f~MWEz@DkA?&I#U0He=(ltl46O<=-xWp?>iE=j5diF z;l#g;LiUcHqibHC4l7ahnhrNE9Us5iPKnKM)3U^_cNlT)=yr zg&fP#DPszZ$Z)q&PmNP7-?}mI$#Mp0qVN4MJ}uE@d^%6Xd(}|~@qM~O2jM=G?rq|h z?IlW<`!62GX$mhZ4Jxr9apjFKSi8^#o%)i6KGQ@&$|>y>hrGf#3x0-$hhUsundnuDQ>E?1>H)9m%t zW2OgYikagQQsMQ;AHyjZf0DGuHCY z3E%Q_UjMs$-+5-u_`OkfuI1xQ8WwwB-GNiaw(4-l^KPE4LAT0gNqZd_gw8Gp?s z{we22IswJ77{WZd2kpSjIeeVw8na}}^9!wBiTczQIj9&CECCbBzusD&34se(ab>qioPSid$mp5l5>*KqGY)g{JEWLX*|P#0ho$2F zUymvM5IELxb89oAFZRD(*vH1Ctqd#ZxTny}yF5Ui8Uk?!w7ZOzL;~Y*yz7tpM>tSxSJ+Y!|TJ2@nAA%$23)?ibBg<*GQqizCGPL*mLWc zE;-RLfuQlP7(7gqeQ+cvtW9$3x%?^qjI0X~YOvj;9KhyVQM zuT`Z-!hT+FdoRR|nGe(s7D)f`nK8Lnr2hT>g;gDBUD8SF;F|gCr%&fzpHA-Xq>+Tu zvC9fh;fgMsBF=WcuQvFqp9^jf`j?%A5?0n}hyM+rpW8Yc3-xB8qGOLH>Y9P?jyY&S6b^S{MFzJ^YSP%D({^d zO55kx!%K;|)TXIOhujufl(*GSPiH#Fg<@d|H?zk1Ol$eh+Bw>qFu-Px{aT2>nS&fV z_@$2$EH`Nqf-_)^&7TUK>eG-Q+x&A2_?WoP-tr*g*fdN0%H#hs7w*4p2R z*LG&I>!fxpeo2UTXpuDUds$N$=cmS8VZ{$TmzCB^zK%(`p76OWg59vsxdF9%}3&_`f8^grvoT8zzkH-?HOB zalI&VB*xs_j4=lT0AjM6Lu&$o8t*!rH``aItH54I1fLt*oL+sH_hQ!gr*wz%o+|)A z@U`hbhjE$aC?H#eL?3NI({#O;mUAtmkkvTr2UtK$}LWw&WkK;xRD|7yoPw50@7u9;L#Rs(FtL^xFh1BO~k$yx;y^) zG!6OB+Wn>qh%?vnOD=8 z`M4a|)waQ-=E~|_5`6f&+6+_01bR4WWr~@JLUr}c#@TC2vI$>O9e+O5vqxt0oI`a*jawO|ge6SGOK z>)Cwg;@|z}B?i&RTrvn-h+u!|?ai2vmG|XRvwWt**xOFXR0|jt(+OhNa1C;nPJ?Q7 z`e3nh|G$SVJcngA4dn=uL`<~BXXE>hGw)g2c!rFu{3YW}$_3z}NnRq%I?G>%RtCOq~z z#D2MJ7l5N)SuSmE??jNF9rwW--eW7K8zV}QsVU*a58YeK=&xY<=PmYHyHkb&puXT* z-FxS;S81;?&G}`h1H_Z)qWxgt2-qtATj{@y&nzx}K_-&Ur)ew*7NF`PNxKB8+sw-X zL^$@U>!vz-sw(eELKX=-baRDJCap_ol2}ww4f`x^b8$8ka&CV01?iA;T~;>{IhJ=z z3x)ZX@~mkRa8`RE^i;FcJ!^Z${?6cnHf%~aD7v*YV?V{RnD+$A9dG( zMBzSP;Ey!V_c19dsa6xK2~@d>Sp9OHY8I$|a#CsYPBo#%QX9I)_ks?3uwHw3zsTPH zq?`mDIgr;`4;G?bB5(S`LB$ohrQa&w`ED5-Yg0hj{91VAkpIbHVha{OBL|B(9qg|F@oU%^(Rrh zTTZ_cyz^zSny&k?LkZncFTlOXh)>YBK(c6+tsd_(HceFTL^Bf zkH?#3v}~p=DqJiwC~TozP%tABiXydopEBiVMF{Fg6Jh&Tq^@cUCUt+aLm~Y2L}TTn z;YfmK4tS0YN4>({{&b|DgB-4asu~Mhg+6`yLB0}xM+plt&+jgT3yFSqx&dSd1BPIX zMVnoP^Oe8F7)`}hoa6hpJM69pE+bhb?6B%KclNcmY$yR|bUCI5@}6~5 zP1UD5wB^$50`ml zvAzpIFZvJLfbh_<0I7oX>d@Cg;t5O&>=3sQLW#C3PK6Ru*KdbI#`_+=Al!5ig}wnt z#g~8i{`6Tf2taHE^6hz>w_3Iw;f5ocN@1x}t!d{Gm?rEp<0XCSH^%@T+(|Jiv3cSn zE=hNB_Vuv?_2%BofHv^z>fx?fUT5k@-eb!83l9bI9Zm+%%x*p|*eiB+tJsw2GvB>7 zqCY%FSnv0e&P%}(Y+M$7Ee%z{{Qk_`Cznf}$B7?vSilGj=RZf;UxMDduMVwM4dI@- zX6|fX8nh*yff~&xvyc}JVy_jnBP1ws;Lve2>oX~9 zV+a28M{A|b)ML?C0WEv!HukY9)N0M;24w9Ed0_vAv?z*@Wqkvq12;-@_)|zY_Ze+T`=e`~x6=2pp8LibZQe8Mu zgCpmbkMt)F9>(Y$xS{1X#uD6Y9CS_(KlkCZH3>#9Znbq3{P7-x8{g4lB}M&mb|ieU z!HRnDZf3Fb7RF-H*JxP?BIOl-J<^yR?e2sb&=^+sPqsCK>u)Mq?Y1S#W7DJ{o&zF> zKpS5xtTnw>I$&FRf#xiCY@#1NruocX{VQHe^+C1P14!xiJb20`T1fZrxB~#O%)a*# z;(xnQwKI`b&mVG9Z8q*si1P40Tg4XWcF2mm-WN;YREMe-<{4NKF5f3#i>$+5yPMAA ztvV>33bm+qoCC$AETrJtioB2*-pyFu zc_VYA>J;RH?4*b!!M|4#p5ET+EIafO_nGR_!LEn64q9uoXxrOPO~y1o1yAiJxI^t| zW?rD;ovC7t#0S})Am;&&sgVKv96;pR2PuO5**eqiOjwX5Xpgu2PYXaPX<_62u4cP9(A%r_ zYU%#QaqaS!ZDR(aj-?6vef8INM8;>DN;ijQF!O^S|;T136Oi92G>>i}(}Z0hTzL z{B*~(AU{DcQ3o(5y3iBWM8SP!@T^VO78qiihjD5iNW3HUF(28Z!1VGQRI{}tu0i}k zpp2zF2P6Y6#;>ohV&lC6rSdG3vPSwf?Q6=0y-vJANrc^*p@3(?W}ZE-sTy2ils8^M zP{gWrv%@-dgoamBIh*L*>Wc-c5C~2H8$25K@U}+>vFgk5l^svIqAP$GMnqqRijfgb zKoyO7t#BsSey` zs`!=18){Gl<%yJIDcu16wfu79YROf%t#?tzANjE1PJX zS%l`y^bev5o60MmgWwiXf82=SRezkt;wwAAd*DIg8R;ePDLQo&o;wCUYT}9G0uLMe z_+8jkNS6lkC5WN9zpF27?Rx?I#rIK_kZwDliHmG(M$;81}$@pI;og1g85I14hvxwuBB(kOKL)`M|J% z%0JCSk63#tj9A7c_EYps5)ZO@OGNP;?cpZ;ej@=N+M`)#i1^J?y!+F-Iz8Ecq{QqN8Minp$ODF?C$+R_eH11$E|0z6@S5VA`7yw* ziuV+y`L3XRAEix09t{Qg2^7!#l9?1KLKL68|omDfZ($9tXMdCuC=i**_2r`Ma{9;s<9+zT`cSn;a>y zlNqit*RI;(0fy#;QMZWr6EO}70@Xs8a9#ZT=)39uXm-l?xjm<3j6ACAK5zgxNHDmX zPsoJXGc0@oX1=G3#Job|xzKSdsd`@D8!1 z$2*cOVg8c{?N`;@c5i-~VdT#VA)fCR_vkg@+Dtw^S|wruv844mG3i=K^|NFBB}pMA zr@0fG#2UJG<9u}+!&(n~*l%Yk-OphC=!$FfAk0(2QRb7MDUZ0z1`)CBw|P(swnnxM|I|lm zlVfCQ$8e?9+q#hI^Ljzr+RQ`TF#v-~gt1He+y`G{c%pylO@pHW!y5^4T8B|)r}!;e ziYN3@c)L}tPKk!~F|0*)n_Z?rSixCS7Gb&pBi{8ue2%r@dMngh$^V|hcY9Rtc4{?2 ztO0*6dW>+;RaU%zKV&k*rv>#B=sednkO#AkTt4GXky8}M^btFG9$Q-q=E6Y;pm|$Y z>;TGgkTuUd=(cuA_}vZNVXtLHEE4owU4Ck+38y_x+d!b{xBuW?KTQiJ(EY}jOdO^s zP=-?u1PNgjj!X*3%YR@_=_*F>Mpt;d2DXWetWb}4;2TAbG}H_CZ(djfT8va3;jzs_ ze>k%^sQJS*lOiaU7Wm9>QIs;3v~PRg6XZvgwmqKNsN558$N3bkjGf%?n=o)`HT8fRGW|v{0F_%0LVWZd%ot`BS9K=V@gd16ow#?{U)0J|g1GX62 ziv}!ix7;|5yW?9$C`Z~muKS;#6FsZXw9}G_^u@k#O&5hCiv#m4tWeL|xp`l(Lv?5s z2o8Q@*CLS#fj3AzFWBC!iUd;Kly_&_cQ3cXG4UU~M(mI|M|@I5ysaDnn5GI!fPsrcpwAM@!Q&M+M+xT+ZZF)H(6;@s`0 z)NdSFP2H_7Bv6_zAsayX2~78wb$yw$xXKY;_K$%csp(D3(_q!x9xyp6e zxU17px);H*xRUUr(>n6_E8#Ls=ja!{w59Kwv&Qj;c&MRw*(=j7ykw&SZEX+*dFp3FKm`Qu$=}~FT@Il3aeBYtx)*d%hlqkg{y_@%(^^ueeScp z8zJtG@$!D#zV9gI0@YhBoetdnj+qAx>e&?HyW~~ zA9It=NTU!G@rNUP$Ws-s6_-=zitB6UU?N9OcZQFloos&i5Y`xZJr}5lwqAuSkV8eO zM)GZM)?bNjo0Q1@kf*pYFg22S(4ljvHzBs~pS8}cNEkrD+~!$~-FH7xAa@fjn`&N$T?=POM{5rN7)#p{`J&W4oY}nu= zl6;xvw0P|lI>AFPNvtjYgqqha_DVC{(oEm-#=%rpb=F?P20w3i8jAZCGLDuN zWm$)dFNmUq7pAodV}zCXCFuZor*^nl6S>)o()TRUV-NRap#BB6Yp(jP!}Z#f(ch`; zi9?P3cPM@(q1Kj1Kj>TvKk-J<^{McdFLjHiOR+*riIersV7}MQ#mGD1pH-?R&xQV} zwIz?&kF3(Wk%!;PT(|AtmUuylsZhQ_!`$ogyqjo_E$2G1ySX=vxa|M_GnPjg7q95* zy_%pXrG=6F9o5inDySTVncv{yiREj5Of3FhwmBKgI`%Tf{Dbt4mVlAvssO7A1ze<${(>d4pfG2+!}imvSSrBw`=kaY3qL?tg% zEcxj`flj>TU2|ADH2IbE>x4haDj#lN_JEbq*BUNiqvNbA3CwW5NvHk`IPD$ z${!A2ZMtN?nqXnGJNL{sF88KQA!u;(cY~R@VdnNDTejVG&Tz7#b$@qpCW?lYiw9rrYgb(k8VqNet zXj*N-_FP+bO#Ng}6?0V&Bv49qXu1vg9b?=7tVaZ{!`HM}c$pwa7HPO(~R#++54a1*z7s1g!y?PvkP}`So~Jucg1?GsVYk zH%MY`xP-BUGrQ?y=r}t3+80isR;BY8AJnVI?F*#U2dE!nQg?c~|BgPP+Y5s-3^a>*y^!$MNFklrsUhV>30cX%;b#^k~0~s zT)YP&zlH5rv8FajltTkPc?k=>K#YL(BAK~&ZO5{nxhK$}`{MP-_`p)SJHEY94-hY3 z68(w_Tr5#474r$}@j0pNrkmBV7n67T3`S?}`RWbo;$Lc)I09Q{jM3htMvb6pb3bSn zjqLkb6g`Q|{gVl2WRB@QkGz32l?S!MyR)>bfm#W)M4a5nM0)MVhK_`^Fm=ZFP7gKs zIkle@X)=TmZq+wmzm%^YCLW%S9<17x(Ruq&x9sS-YZAg^o%N=wuFU`bV8u2 zN8AX(n$X%Ww6a6`olWt}t{4gACa=IOUU8ae$xDlC;Hc1kkizaN|7k{sUSzM)L8MM<43o z@4q6K2|;7%LpO75mTHg?-E9GnU!NoW-t-Wb%Xd>92B&#jhFxai?2Aw>8n2(|)tKOSc! zz=y9b8WMbV2Tncep#qQOWUQfah>SJQwII#@yelq$iT@lbFJ#`K`96A5g|+xNm)1t zn#&`)mLlIDH`N@V3+H}TTERXxKn#vger||3qoOG^vQ|8LEBNqmewg{Ck5TN$?=M;E z$FG@~GtlDAzJTwFC0s6$fVY}f1Bsu{m5k}PjiHJCAe)~Y|LGI!4wl1|F?w~D=u^if!Eg*@W0A7XTQ`M8y}OwFDa6D!mNf`5k3P*K=Uv#*iXYr-A$l5zsp~$` z(|xOoVOOoq8HV@DZ;O%P1G!PInw8$A)1(e60k8SN@zQu-%dxVzIBZ&|vD~ZHmZI0wDYZX7x z!&71$nP0Ogwil`1m&l9T)7)7J`%Fh9Z0-$IJ*S3GF8rJaXCa09LGe+tO8uRDrViIR z$*#(F$MfrDOPi4~w55%(4=iKS7jU#EKWWGWQpwWzXw61w@53#vD-RhjcIo2Z2EABQ z#d8x%FDp{>^wC{(Pz*YQm?=OLO%OgMM?qt1FQGOsMVE~D)hnXc{ht8>h6(u zEcMsZ&Y@}X6C4vw!s0aFAAD&-pvf^^IXNLv#GHCUE0_3G)6mEd-veX zEA#f!=JY7!U8WBzj^$XPqNja6ti@a$6vcNaXM!95;DxI#=)0yrTv5I6ZWl-ko;Rdz zVP&*RB(|Hz$kf#HhfNT1u{@plS3x6Aerw&i=>IkKc(=X38p_nvd!_ngoD+;i0Fa~YGiXgE^yX@$FonAjNC6aKvBazg?xkg@W5)HnHo z{2Ze;sWoVKu60>#STWoF*_te`@6ywCN|J49Ve`Bxi|~wcje$GkdaG4{i(mRt95nfw z^uXPloESFJJ9Sk2Es}pE3A~~vT8|dUjRdAGu+Lbi62``-nWe%5W$xs&CnN~9l?yGOsn(LY#wOHQ3*_gybtOb=w?qa^%EeNioLL9+(wQVfZIF^2J^Q0~5 zcZ?(^{yQ(T{o#qGA_)rpvdMSP8$0qqdj>z%9AtAdvfA8$PXyn3%vvTjrmWt!m^YL%j zaAiwAXD1R5mT6RhFH!Q~^L(pFHO-?&>}hxvqidD1o|y5ePDHol*TBrd(?8rZQta--oU9&r8TE`)W$ zZEdl_Vj-(LYpdTasnOh}()OX%hkUOQYutN>C|8bbxDOp6U9-*CNn72r{J1#hzOCWI zYMWrj_pFCn;(%)|NW2>9eey#7@6=7e$?)M!r zwnqxJDaLBoWs0-K9|xvHVsLr;x*dDq?p`VPik14_cl#j)ejaFwpOt>lD?1@ZPue%p zUX@$ir4`pbOshwZJzaWsb1+Pi33MSlTk{qEQ~J`6T;1zef1x=(Wvee*m5y9ASYdfq zekZ$!k@q7`2r;0v+^yFkx+m|8l7RwPW89W0OMnk%Ko^PGuQ4nHf@h z?DI9)%N?D~RY(HLnP`lx<`!S=-@@s342mW(>SZuNU-gWqcy11-*;V`OAo;R&j)he|udv!*pRj&xYsI&l zk|=2=E#LO=h$!f+PnIFRcytarrtM$DD=cz>VcP=k5H+gw_(}A;r8`1H3ka>s5{PvLu+J>FU{|es+ipf3}xFX*Tn1Xth=UvgA)rKujA~!0cZFRwiGm4o!?(MNtmFb+PX_i@d7(2pcPe9H~E9P$Wj zHMktM9g>VvjdUT`8?3%Ek7QA3#?74C5ZMeeak}f&E$(7zLW0^}sPdk}eX(dRyy{}f z_SwuV?jY`zohjHoYKDxr0#V(xL_tMFto;1OdmV#QKmNrRAIgvTGh}53iTk#$9~Z_6 zNNwZ7GaDN#Rp7s}tbLu_Fmw%CF!(6u#q3_Gkf<~smWmj6;(j@E=q~Yoq;cp}mzZ&8e%$==7lFY7aCnTjJ;8Y#k1PIPy^Ycp* zh#FUlQMFWOYvwrjy>}gV!v=%0-c&NI^IQ5intP79B_6}c+Q-FJ_?t4HmM^aCPtVaG zyb<=?0{|&mbK@g6``OFnxcSJJ?9ewMs)XT}y~qA97VMxFv$)4c|#Luk7a?Nd#A(32nEjaSjSpS*u z;;Z??T0b2RhrD>WiP;#JRn7+w2QJ9hkF^MBHm&Q=PX>LJCqTc%@D$zUgMjSNL5U({ z#l?kX2FE$HCULrAmzx2B|D1v_CsB6`%qydb<1^x?wbm(}D9~HYvm9zCg{a(QuUeKu z8-GNwXohn%7j()xXlimZd`U@>j=RPf~VYHO$8 zXV1Vf3H*XP`k$Qel7o3Fxj;bA1>VmTw?N9v3t3!6|FyQxZT+f0ROPL^zn+Ij__oN7 z>x4^|NMiU7jGSKAHzlhA;}np&_N9G@dcui+TqEqV_v{pnuIS2!*8!`&8_-L;H>~F} zDw7tx@WLg8B)(YQ)2vr{ZRiw}dB{~Dll0SOj>ea*01WTR6JF(kk))_XZ?xGTBd`2L z9w;6tc@>n6U(2H51avmuAm44uK+#!yYV$y7`3>Nnq0HniG&D!Mx$20y==)#v`bC@J zh+cI(z-->)*eSsc^6B5Qqr}b8=OiukYJal9?$jiWiuY}f2N(;~H*eIXwV{+NGq&Dc zt;#r}N)N=~r@q6xxy5PF=Uxw*o<+0q@7#jw-4MG^)Mj&wSdV!yMI$sGn`9>!(65Y+x9IJ=lqMbl94wg zQ(iPN^-|*51wzNpYkB*K^(h25D02zTJaD;ps16<6YEJe()F%>tVLZddhxDNYr>W)0 zX-Y#8pm5(k6Fi&prSby3EoPxoGQt3c^W4mO*&G<)74nfg3!@XntyZqQeeC?}<+rs@ z0#VEo1P>UmlROVC)twoI>CO zD<}Rhkb&8kzfv8w-$9$)d_j3GEspI8)%P@zD%b|5PR=zN3pHd968^jP=qk!Tw?h9DZYs74hFte zb`p%*1*uLI9RLPs-H^2@gG+1anO7%9PIV;*j)3% z!#mf-bHY>!M?E;lUW0x0UrQup9X@jPPts}cbo*f9Om;qbAIrW%aGSp(!dj!%AQd;U zc7*cd*}(`rd#&4L-(acTx+kxV6nw>{Q4P=6oV#XyzSK|MhzJ*7G__lI{u#}BHc1ZO zC%fi9_Bka+HR^lioFGgI;DLP&Pn63C>RJmT zj}Jq>arQ5}+7CNGI^%O%XU#~n>vSPTZ@#+DC6~}9H3)f@BF38Qe=k=Nw({UziQDNp z749>aaOLC4BFx{Pe|?Lhzk+|1G3d}MH&H1P#2yuLu~)z3>_E}3K3dpQyMAnApI^m7 zni}_tA(9flTxSlZ5G^{*RX23@q-#s*1B{HoHQJqmr`Hk=&kqsbg3i!b5^nU+YD!Uwj^I_0?W%HR4$4l zE;lc|MrUXT!E?%2nP{M+EN+Xq2YyLvRQtweDeU0-Bg?+V!1EaO{0Z0^&qeEJ!is4pJna2 z#__cHcQBnN<%{VqhJ$IH>bDR0%fKH2tdgwDJ1mLkZh` zCY^uqZ8I4l{cR399xnl+fNSV{^_9rMLd&7)?77AJJgpC#8eA)^AJ1@RT}t+Pbq5=D zRR$XQ_*VUJJXFuETsuU#-){GI(Sh$7Eh{#nf8erRrxf$|uXc#f6KLl4w{z&#R$Es8 zz~ka5{l`})(JaEquXU;phP+m=1K5oIETFEu=G}Q&gY?qQG>FP}DvjP3^** z!y;8*9`qdVZ}c%0Tc{m z*%IFRIz7599Fj;r7X5}f5H1RSFs@a^D#2;K+vVFx_|lE0I6jN-|8MG#vU~^dGO~yk zH9@&3w<12c#KTaB9T%y(@}Nw~0x6A^o1R#Ufc*)_ongUSDM4{spltlYlb;3pkmP{& zSXJ&1c|^-`%e9-3Jq5yDv((41=~ODb&krd6!gcvT2LA5ddIlF=zCjpemvHYawRaEF z>@PgZV9*RMn5Ri78y9e+{5X#-O z>>0#Enau#Wqd(%OasbiZ26Ig>>Rrt}cxALcc6kj_x!(*8YSvPKYQiP}4zxict!j$mj>52AoB0$FaEb>L>`NZ+ zln2TdqVVZ4D~8oMQE<%gPr;PYY%C8_lQ&3d%oxm!aSmFVv^7oi&=WNbZrO|i3aJT$nHKOd^q)ffVCH97kofc1QHE8v zJjnU8R-?O^Fa1P;&G8M=-(xsw7!0`dG!vyg=?;_29fn7Zjj zNYa=Ek{l9e0I)g`0zUM~eZ((7M#<>y!9YgE$;8qYs-55@q&9l`aBncPr(|~WTkcoh zKtEXyxo-%@3Th#$&Ik3no!A*D2OG}B;gvUd;{HsTIe;^?_gl^pQv)5Xr&tlC!_)9- z_}TUqOC-50)<9Fri2uu1D5667(xhk!)@e&o(9!)#J5*(3>>p|k1I|{5Pj{rCKwzg8 zQabPjTx$zEU7uxn@&5@;H!`hMc>$pW@gxsIUZE!Xv;W&`gafbyWR({G=A zyaQCegN}a{V=6k&@&eiDi*fAMOAf%jAjwyOTnCkV3*_{VlME|QbI^irtyaVNy+8o7 zc{%tT?0(`t&%B|!?vp@>D0Lj+dQa0MQ?CHUaz{*P*@N^zK>j+lvM$K^wFv{tF74(} z@RN-^AmDo|Q}<~K=a)FFow(2^%(z>C1uZ(*x&gG>vgx=PXt{{nBqtpkN`o9NPGOc0 z@TFfa`@ECjqv7FaT0~otGr1;#58{pV z_c?5*JA!%4TGlt{XvwE)9}QgzE-V2$K~Z1+49 zm#`}V3kYt~F|-<)pwC38pBHr9a|sY0rhMjuT3$s4dxm5@7_jq@ zg%CkH8a6w!jzBoRJ7BH`X)4sT|Lqfp|HoVq96M?W(fOwGYBc5*Ab)a)!j`J9z|}-c z0L@AsUoEMEXtsN!*=gA9#YQtEY=(f%{HNn`5wn3`VfrHb1nQcGj+`|~ z1yFPz49nApM5<#KctK;U1uOkR<{<8o5gHt5Kkp>O*fEX;srjZOxts=>V0TFg&~mI{ z1dYVLf;3#Zpum~UcV%FkAc8e5Uvm<=RvUr>DghTL$j$D`7~o!&>e9ZvYiQy3?G%ZonTVPiB1 zFkQs1Bg$clZJyk9oCwP($P5rx7J~$tcZ(pGo}@5!$=}#dZ^;8nxxuz#wB9J>Ksuv^ zU@6;j7x8--d}Ag^kQ1l8nXx$rS}SA5thvYf z@bU8g-Qdd3weugg7;1}?&ceMycQf~KkusBS(hxRy9KLg~QZC9gT?T9$Yh?~-M&PY= z9RRruDlXqmdK!{apHPe7?p4C%sA8ayOOEWYfc;O7nz82EeJ`VPbYZQBmmEL6qWd$} zT^^P`O-n;t_iQW9{QxWpEjLIYu!kQ5n?d)Rg{~xgi@PWwJYMX?XjAk7dAG?$PU6HI zUym_NftGcdNB#3+n@+IwUuD?jNtH>=-Of>te z332qw1Svw^9&9qRw-_gT3k9Q3uJhhUND8A;6H_86q)$5FADDcP=*KsV$6ecmxHN3$ z)K9I&5s`4@cE>Gdy!J4Ol9MT4WViwcoW2XKq|RabaKv{(klOg0em?xnJfCt5>^4xI z2mBUWv;{_7l0{9U|Lh*M=p)xNzXN!<}4#Srdkgl-5##|F}HW# zgcM+tMGAD)!GqIqCX{1>7;}Uth7hhK8X0D{f>6E<`?O6GCtrvR1D7n2fE;2E`Q?tI z2(DdZHK5l)Bg|?C0^e)&hf!SjzRPhS-_hACK8ousz!IFHoVK9Y7YHQJYP1ATW4GT; zG>!Jt1wX+@?tvB*G^K>RtV*=4_21Q;%|@y6*v%(my^6IwWwkvp7FO<&4;V#Uu0@A(8QYUS3)3i=N40?Iik zIFu?q(VM9m_dN6VBYE)$`CDzZvK zoR%mVnH|nK-@Etc_xrwzoAW5=03A0OCOl6Gs4G^iLSz+0b7r zQSa#JFOCokmv8_$SO5J$Jr!!d0U&{cCPs&&N`AL-L`nEYug6Kf8k4okQ?{y?IPSKi z_~A}3nVs4f3^eyB=fZJfcW`41bjwisV=3juM>iE2@;t`~E5EN|qud|o?!1_ty}kAt z*^!i4azSbG`{>9?m%OUDhW1~D8sTr1`g@mqBj5IFu%^!H9qsacTUe-3w8@%SXKa;C zeEA{`f$e?UhC9#lIixYe)0ixumekX()^fvECfxz!F{!6bSkWe|gk*!}hrmLG2Y}ox z!9!#n_zCaaSFUfBT}t9y4g;sQbIH8YwFdP#EC5SGm8?B5V;f^3uz6l^?biX1tb@Yh zU%kWu;DsPS))Y>Rzcl;fck|<%+7CO~*2uzuhlozRai@6sj>w0)Tj@Vt;7uuj>_i_% zow~JfZYJT>;j)0WpGh8B_tF8N0SF)hGNWRU`*pL{sv-aF*jT&^3PcN#+^zb0o=q?U-7sNCjVu>ll(M)R;^lRBAab#~2 zK(0j0LJ4w3Yh;VHpC@VYn*8v41c3Wg$IYiJlq`q+smX4x_=yZh$R0u`_K7SS+Qic- zxhqAlvFl%7Cu_nG7-AEfT^LE;FSGRDWG5z*_;~;ckKY12FSXGZ zWG;Y3Q=E#>V&^u-j^$I>1hD;iB;#CI7E_;q@b>^9(y}sZfv1C=Wo`78<12Vzmkj|o z;Y5~vk|DU~`IM<2+r-r80zzH@WC^xC!MifRt+Ln%yKNhIfF6;`#dRLo^9d6mcJu?t zYXf(=l~Rn*d#N>+5(s#+bsdoO=RRn}73?kW9KaU1wnX?3O37?svh^O%c5JR!IH)}( z124Wjc&>A(6?l~%U-9jfaOvQ2!O9{5b;dP}n{T;6?eK$j_@+`eZ#LA!HXUJz?hWbQ zn~OtL9ih*ewMYRPrb4M!OvonC9=6X9GWe9mW(dgkYrnh`B~KWwlG(@x$5v8GeR;MZ zu;b%xL#z3LGG+3PY{;Hd^DioW*e2;pA{QbmJjpoy2LoPQ9NZZtR}c9iTx5FZT`6Gi zmrb+>USNpRi~*3a!~g^)VX|!pK63*LLV-fIV>V`23nSO+oO~hXe zs3$itdy_-$3ynA^=YTm;Vq!2Xs?g7(QG4~|42FHtp_;B?eh5cS3(`OGS;EPzSz z$0EYZvhK#01Hc1G4VD!;o0EJ7Fg&WtwJSJ)kmo*Z!fM8(UD;4-R#3qv0AvrYVM@@6 zXHjG}lH|ZFHvof(2)qY9{mR?{R3J#t>8>kDOXzJi&Kag>IV?F_Cx&Qq;H}ALu0nd#k>;BUa%04po0v0Ce{&yHR z5_|xW1gypxtG_{ZP_YX4oyL#gC)o*2o=0x1-%6_aA_ZL=?DL9a?PWE%OHlU zN6FO>MtgyYC-^$-`3U zQu1m=@O5KT2o$@c_o1u$R-Cfg)oy<6$DN_YBY}qoNv99OnL8{aZ~oJ?t7*I&?nMT7 zC1m)(LU8;!(e}FIt8T#i0%B%5@yHF6l^m=%DjzRN!^A1Xn|(B1ad-Zm z?|$-*ML7!2FP!N$zaRp%ZX3=ATZzHa?s<<#F1xptN+->Fl`#1cbN~SqJ@gX16 z07}3ASpO$)b=QBjdO{=R*(@B_p8`)cdbwDV~H ztTajJ9zH6jMb73BOmx)KQVaBl=BT-b=#_3GiX*3>r z?AI54vYZd<6;Z3KvKmfD8u8#3s&*9X3HyXcXBzEPT#y-yIzZ994iAw)HXStu^)Syq zpT4`7thg${GzZlZQrIO>iD=@HPZkW+nxmurzix{cB<+$cjneF!+Gx@2#apxhj}*g% zQsgVDiq_%Dlk6lFoQVwAn$3dU=67beL5ghNEzbW|CP8Z9rHXz{Em9UQq!Ana^LrW6 zq`^H(uV4=yE>x%_y@`R4N0CaEyK!oVD7g*FuPTvS1f;rAr5aWI`_I(DmJc<`5+dY6 z7Fph|9J<@s4+?;DCo|Bo7Lr?TKxTz%GJ*phAhmiQc`QlD|F2vPtKZ=z<%tkVp{=IwMDEByMr2ad{ z&@1AqQ*q|_xEM+4%5_viao(=#%@Z)NV!(iG>EiULXyoWaLGkkumEh%T;O(y7Tmn;Y z!>C^-eM)TrK^sDlYM;D@#DK>+y$0}|9~7*iW~tEq#3barcBe7t^N92F7c85sUGCuW ztbm%#h2w8lKBBvoE)P7Y_|Uc9jM;Y}50)%D@A#-@ek80AbKUBH66XJ$lJX!`@P-Ui zw-w?K!)YGMD{$ThA%mzKcs^;85}uHZ#i;L6*oH)kDw7V17^cqXzISMIK*T)gD{c56T>v#vdio}c$SddEOHM{>raH;sl8M~E9S zWUmv>4F?kxBhRTgW_m+mk3AMrOtE;k2X^d-4})w;{c|t>LQh`4#0&aGUQ#Hi2t{Mv zZuNFGbGwpX72Vyo4*f59Y>t_&k4(7)^VZHx*d^T9v3=~p&ojr3^<6(Snr&jp&ijYf zg^pdByt>%0xA0PYov9hTo@uu#aCYT;X8--IxQAI9oIFjSS?qBK=y{&RH1^FJwtKrO zu>LA~pOPyMaF~+cwr5-??7lzKQt2PDCj@HO<4LW_oG|CkT6ll%{esp_Kp{)h?DD5< zg+>A#R?}MK-YSt%MK*O(asDF&xJOU3#*NJzsfKDgvs`0(wzW-dX8SqG2Y5Z^y45kk zK_4wT#^`>2RaIS1_*>DT(>#p#v#JGdDvIzGm`V?x5B>T7Ld?yd`5O0qhs?i3E$jM1 zb7qU|R0+Y21<|O&c*b|Bp-;)G!_9E zpWz+W(-%E$7b?N8Q_*#cC*pm7J(y`a8enV&@PGd-vTk{L3$?|r!c zuDR_A5yTaRce>F&TU-pfRo0MUDP7h^sdxCK=L^aBZ*Tiy{Mzwemz@`ug{vlXwze~- zZ!Qd+OL2eE#JTUuT{ST(;>*LIp+ik;c}fNa}8b zz_>ezV19m=w!&^6pJ%tu9?+F`o1YZL?WsVGV{N9m-ZZ9F_uqZHDC(vVDWU(e6IXA5AT96i8{ohR(wRondb(O>3o)Up ztLbIe3*PSBjl)Jcn@#e}w3RKn@crt~`ZBciMv5t_#0;+l0WqBpj<_B&kEF z+##Hr^VG!HLtMMFzMM@OG%BB|6uAE8g3bA(`{K<7KP{~1zYE6hG#D`(;u5|N$jeea zJC7|IGOeaEW7xhplB0q_zpGxif9oCHuOvCYKhiYMRD|nPFI(zU{_GqsU@8z^u^m{j zl6!NwnW`2gk>ZsgL1sOw74lNE;k$tEQ4)&IgZ`K}5Ont^9N4flP2D+dwgU`ov8#6{ zKaaajTL>3*E&L~(mUbtTNf7D0i?*;?njIBP5uH8@P1FOoo;X}bZn&0 zXFrTbZSYprW{=^8iqgN2E;cP6BB-tLMq@0_2OXXSBaE<>;kvIY-Wyo2Z9bf>whg$) zC@4Vh+14m0XBOc%og*p&8oGy(slFh+xE{d|D&U&f_V9Kp*+_y1MF70f^S8ZOrm;bQ!frUp}rQy*Xa8v=%&b*xELcAH-cF#pB-4LdyZ z>^fZ4ZEsoZvF!h3^PnAf&zVlvHMxYHPcasH7xyEknZiWH-GS?_DYr2}!>2+?&+z}O zWY?(9{sXL$DKU@gFwM-Ei@#-;*cMfA7lgD%PDMr5m$mPGClh*tj2k&pGd-ar`SBq# z2}FvvS$Lid6^0PHp}pk8`Ke9E&zcnt$~O0P5RVQEQ=4{vl-877!FXLrk|OswA~WmC z#v*{gmzIy6$f^_{!7=RrxBm*}$1{x6;crh=aID$yPBCXZQu3JI`K_~jDd5dQcbuwN zv0uL9xvzwuLC!|S{`rpPXWPDNF&eH#oQ}zj*=0M-_rrFOI&tgGj~}UFFZ(qzsphs* zEmCQ7x0jbDd_!~Qb^prH9Y6HFb9VXtb(uU?TgBL={N3{&E4Xz3nOON*qql-;22#fad8yH=QrvARuVq&rdkYQJ)HwGOHzG&< zN6S7a|GqV~FmeBKV(g`DgM6pt&YbjoyTWe_ z>^`|{x6u}`D)2}%I)3b{xJgHF5<~E^t!l}8>qO@%BePM7Tm0Fle(D365Ef>)#$z=* z*4N5AXDDiP9ad?9*^1t;$gq`ZRYAA>hT!nlvORv0?LwSeN;4g?FJsWKN{IX3Ei^qd zslh%wsc}hjN4AE9+@{F zHptib#Jv`~(>y+YDs}(kEtv?BS25-%tkIK* z;Dq{Vt(A|f;{waf+@*K4pMc4SZhz0m4tF*I^1}WN|7eCNz zIrgh-q*AM3nZ|rW?-3iCm~eNa5F)7gn2GKQ%t7R;Y7-Ztmo6D&|kj${C8maP?-&a8l$; zGmu0pXe2IWy5DPQ$V>%{2D8>^-57G%t1M>Uuc6H|Uo^fZRR58xiqUc%87-Rm_5Ahr zgePl{-qGakQZ1p+ZIEyeeD`2G7x`w9k7-A+F=yckFTbZ%ij=DVE=jOrt>5?r0WbNj zIyk6ez44*VOYh%z{RUn`(O88z6v~w8fO_CJbo5DYgxh2#xT(7+k89Pv_DUT&+?ywW z#yyPeM}2kcIE@BqXzX(@!ebY~>k%4@g`udP)(%1xCibp&rwmWG1 z!uGi$pqT~9>Z$1&ZFar=ZfD~sDkk7oEa#lP`8$(%If%~ZFvp%cBt~v!IoYD(+fEcX zJ2ph!_o5Q~jjh&+%|v$oBFM}9i(i(1R*l9}!v+l=N<<|}jpKa|xymqXyHgIk+m3M8 zKKOl-!DyytY4{G=q0k<)0K(9Ya1)<9!04_0s9g`jjK*oRtJ<}$a|im z3Vlg%wews**Apposw2X9)YU)NCaQS<^!m>}$<13?Hjk8VyFm5Yosu8y%K6no;{^}F z0_6|uweqHPV!KEcDdfKL{U8TWR}3lQaSa;Bmdkp|KU_YiKz%UDD1EGTZ;mb$>OcPS zVhY*Ls};KN&3$=zPolq!1@YH?eS>XU%{quH)~k^>+hos)o&OnWo$t4*Hwri^|od+9gcu3Ao7^vW)}KCE12+n60yJk56a!ZT}xT&c63Le@w5!upuY2B(^>Q3|4R zV}8K?E`P--L!;y&_Pv!tKP+XNs#^=tZ13d<)dRsu8Htm^HC>tbbvMo{!hu9M1d|z3 z^5#>$ToNTk@9f^hjul3U7T@L19u{W>`Te$Mnw^v;Wku~2x@fZ~Q-Q90@v&^osVcGs z`(uu`+NE*84FgH92JX++Hstqt8S34jz~8u z?@>+>m|3@(BQAcizAa|%dP)xqdiej&CqyrcoI}-XWTmMs+SEs7;b~slzHQ~JY-ABK zQRRN9Mi;>;Mq}-oOR;e%T1a@uN^~qKD!hrgcCGr(P8Hn7GFz10xSy;(>r<4KRsNY* zH2J`!zYB>UfnRnLCQr4^Wf66&gGV3*3l0h=lSS4ll@#Oj+F!xzQT@l}&HEZgv8M*? ztU$2{DW*O1H&EB=x7{|h@hsqlFJx&W)K65aRcByuYcEn>BQy{ z+u9A2&wLDzyb$IX?OmsX2nBTfR{l7<^<$}}@_~e6eY9JQNU=x0j&MOSHG+(rxj)a< zIMN{%jBq`Lt{%7k!GXfO#IQMiooWNkDrsujUu&rI#P{O7CSN++$vyreo@D@JqOko!4y%GSJ7|aZJ<(py>=#4o1Vfgj#^^~3v?arfb zdRUEUruJVifRH&_qq8%%9U`h-&>=5Oyy9~AB-%lMolN0p=bUAow_kq?H}7yFG?#}e z1WAfjiG&RDkEY=zSJWrLu5EU{?a%dB`TLMB3b>xWpAM2%>8Kvb_a$!W(;mw(zmXOKupF6^6NOwJYrg;1+0U&*)f~2WP}~=@kU}2ZZ*q-u?W)Hvg%>dm;Pfl{ z5y)@Q@CG+tZ#i|U1ebjvfG>TpL+2AwaqHZA@#8ZVQJ8)Ddcw~KlN|>uMW8~n`5l2z z90(zmJiq#2APL9{B}4>eF^r5!clZZfFc8i3l=mZMO-V#`*|gG49bnH9sz9RX0Qna& zUI3|I>FX6tiq8C2^!LIf5P$sceRxyyzG4#_gf|8wUTP*qrt>CDdA34s1$rf){U3Dp zfdIw+I>5tyaXVszjq-*jLRE2^M^!p?c0knpC`*;3;4MdLm;sgQX{JEbBM-Ju-QRL zQAVgsn7?6gy;JcQ^(so^DvWXg&Ll^qRzmrLjT*_XswW?qSnUq4ZdDCNm@ZZ9**+@O zE(@Pt2qoGqzKC8IIM9%?1JF<zW6Vf{MNV$_`M=!()G?ly~89 zZMqI3tUK^GMG-!reYUV36yPYL<&I?gV5GO=<#}UJrMQ4zje%Z%ONX3iK#~#Oq!M&K zKc3KI4CE2!(_LFfI0N}g&NLQeZAYVHbtRZJBPS@bCG8W`r&(A*%}mRayb$vQ!=8|R z2PPt9*RV__M9i}dLUb~&ADKwtb|i#+*{=xh;w>TGI*bUQ=-Tq~wCR9sYygJ zoIm>rYE@VM`Eg-oc?igcW{$kSt&!O!ni=nvhv!1EQ#~zb~QmN-Kn7fqem6 zy!H1uE1Iln!cVNCFsbOt&jmD6*umXbhc~p*6NMQ?LGxuXd2CoELLnxSZs6OW z^JsTcEpbO->}wf$+=V)hQfFr>L#9(&NBI|nBA5pc@Z421GM`^$TQqX|_qE;9Kc?k= z5NUNyQs=}x+JkPFeL}e@3V*gToDUQD-48iA?J6!rHrGb2 zcGytoU|PJ{+zv~KEby(}szbZe_5F=z;|LN!u1383<5Z@>6N72)RKTGTJEhoy%nFEy z^2+h}F`gM$!s(j(S?ea`D)AcRN6eb@UtjP`b}Q@p3!ILKg(_@A)NnINz~;87d}9xc~|9A?K-DEqaoufd?=4ywRkBO2E)^t3;}IZvbKR zY~CN=9rou~3%a0yQ|tPX11)}`<*r*Ilf*=o&E`}jkQg{9xldjJC5U(KxBW(>wYeLV z0M35{&p12I3NP`YVotGEp!V#ba`oI;TK=nmiXu*U9nYG4(i~|pkCi|NYK|WheKdUSrxv#---M1vn%FCx1E0s?O2p<- zpM#{fycn#SYS9V-BLLoe9)iLp`w|?YFluT7+1$mjZs+;!0c`?d;cJZRuxJispX$N6 zMHQn;@c{A}ZS9ekvQi2^?SmNbhjsOIUlvRJvp>t_nCmbNE(l`#VeXpgewe_6jZ6hj zs4@%%1ia=1D1(rJXm_#?u+wOTOP{|aJ4p|po#p}@C}w)SLKeQ zXb0>Js72J#pmb!hgRNR;Y z$oF^c`cVW>CoE)Ai6npR0m9-X({>Qo5D!|(2)LijVLw*rOsm2QH}iYMa2`^iJZO=r zaLVUKZKw3hVe*0o5v9s!L~c-tl?^ra@Zz4UoX!M<(}S*{f>XMtK$s>X+Yte@m63yx zM=fzgc+p6!fD=ww@9%vk=)Ay`axc(vJ({0$;&d>wB?@LB3&U<7cAKe(#}%l@#i_eS zrL4iqtyu)ZKO6Dh0=$=O7Bwmgh!h*va@A)xMO?wU&S?5zLKi-W@BE&0q<2LPQoCC6 z6(UJGOObbszKJNmSj&+DJZ4!9f29P&RZwVxT25Xmhfg0?DtK*4^LyFyQw7O{I#2Qhav80P2XUHl^NxJ7t%b zThXqvO60m#?Xg=KlDUBF6B3TqOdZ;#`^FoI`x<}kN@rkF4$~>Q^GW!#-1t#PfJOLF z*^4|@@mI^3kQIf|(C6y{_U(@;G7QTP#IHCIX3XgB9BiWp$Z2k$80FTy35MZ7V+#$*>JcNQ#euAhZ5Ja~udTAp+^tSV`x321RgeiZcsz4N z`qT&_fIS6JuOKA80RO;R>(#VjbP()O_G`uPk2|5ZtxHATt%+Y|uK+EB*=7kD1t#qw z4kY~tJOv=5UA3D~wzUEob+(QKk71~xao-|Ziix939ehH+_=uyuigz|apr;1%XkovQ z(S%y*FGaulxSSiO_ejZtYz5K0!+w2;dWs<%Y6)2ev1awd?2EL*{o{gJjtFgs>LCJ| z;Z7_q+gn|B=?E5Ew|Q0(M`8AN^MKP>Y~jsp+`p(8i{UZQRO_8`F9DR3Ay8&_D7?r1v4_gpD+{Mh7W#L|*qHe^)vtB9yM~#zh&89q0mo>XC_?rtqL2(ccI>VL>AY*iSTPT5;oy@Qh(*D!oI z*Q`9olBqT4Cm{7PY_qN{=(L$ezGYMmL>`H)SbQoM-ogI_JDZ??(K+}npmLI=ooTGk zzNwN7>pdG9Z0@$}(f3kD*gd3AE0B$!?b;ZZyR>hTbYq{kx|daFnAvw~ynfq@d-;+2)TvUFbp z3VuSLbwz!@eAA&^Sx7#d(Iq%N+xZ#leDFtRz2rOnPd%956m!ZKVNsYh+su8U6wL)Y z7QQe%``{?WFh;yaTV$NpyolHY7x00x7jVow^SfebrzSfSHcaaKWzy6jdtt>WO>E1K zuS5@O9{%V(k;P68%uN)+w4HA2ok@1Z9(cfxNyru1_Vh#=nv?T;M%(5N+d=uS7m$kHF5tLun{ zVVzQ4jr-AX#Ji(+=q(ZjMU>=2e1BOAB@GIU*PeqswvZ*1aoq~-!A`F@#zCGK_;HlL zqlH!R+lKG}aWo-r7o<*xNx58I()gmImSngYtD>*?{Pq?9RUdMpBjWqlVQ820MRlqU zo82)Tw5UHRqwAmm9wn?s#lIHjEqrZMqJ$`J*Y31n>DRu9dJ4#bh;cS`p^KX6v6;9r z@EXKVfKRQ^MD1myF%~}Em*C5mth&fY6{G!ra}>AlShh)N@gIvzX3m7>=52>Sp!3On zScJW|`BEjlgO%S2cSNt)(c=u#l*nJuCODnypt|aX{(q7F!>%Zg8145iKyZtwB#ji~ zLOL(ms4X))s_L}pe2}+{Dll0`u9LJodw}jDKUjp-aPit-66Rw&9oJiF{quvL`A%c4 zrB66f(F~`H`OT3K)oj@2g4A%AUKPIl_c*Qlw*kH)K{m7u7DnOQ7h*{0@3AU(AIUu7 zju&f5*1o`*mhji1JYSONRCA7#S@r46R{8{yXvz5tbNYm%(bwf4-#>xm7>v^NY1WLc zglJj0O~z~(+l0P))x*uQOT#bZO77USw?UJW1c)NqZ+GL}IQ@kUg5r0Td&z)CQiASw zMCq{$Zaq)mAWkH8bZ&@vfvW^XjP4L~za{j~q2JKli-|WDW9akd!%5MY+II=QkB+Uq za=BE=l53PjJ{50#YlTo$Pzxf}c5er{M~o?a2A`j<{O+9k6HNcD7a~95i);+g!3h+) zY@qaeCsi$@U-j0sm;qWmvCAr3e*eiXZ|O$Df0YL|y~EiarNz0$+{$ZgA;x8pee#(K zZSgt@nCzR>L@DG>rv-PF(C<9!55ZdR7RwtMqIc~@aV%$z046+%(GhpmiPL76yVP8` zo{B9dUxAaBxmg9)+ydrV#DdKl@kmyJVRbwknr)c4zE`|=vt0XE{@6Awd1CP=)8r+s zpD8J2CPKP5cOv+=_WEv|i6`IrV9VD4EljM?3WuLn`*ZHFf_gVDT?UkGN~`@pS#DEL z|Nfv%f_x9U6gM8|j5@X%E&0)9>e*PPeY`v{>E4N_^*N%u6*&{fGSE;_UXCv)(6{5h z<6%krz;0cUz>Ud6^Tj_~XvK%d&b9qj_%*Y|{?K}G9!>JxlSIHi5|}uBLNdT`mKI#j z@=&@1q>*U&^joBL+HhE#H@+2`|0(eBu9I8AQvdqfp4{E&U7!zD{7;zOcyICfe%CcV z^D1BdLkhH?DSa*-@Aloo0`I}?&7OJ=*ZX}=c`oXl8jGLasSXZK=c#ZH7xGMkph_h1 z-V+mFsD00X-B(V|b}nZn3pDLll_+Ap`*v^XdEyDiRxYekeaQFKZ~W)32puTx|Zga&zh~;aUj%Y)*YsTYr@`;d(k$j5{W-1~XidL^5Ez4nE=?|Q(bT+GLs`j{yk_9&S#HT7fObl-$zeoFy z-i4e-H)Lz3qik8V+!3)CjLw6znNHX4bY(SXO~~3Lm=F^Kt@2JX4W-;gz_j4I<6kgJ z`hR4>-^>Jd`dWK3O6%{f5~2#%Eu#blz75iylPa`0EJ*ux?6;vIo%`z0xjDH#`boG1 zP1e2coWdQVB~sxfPVXuaD^J#&iVuC$Q~s&fo+u#}V54yU$3*`KKFW_*5wojA>_bQi zgsVhqC&9s2@S+(j=)tP#N1hEaMcJVc(pl$WR@g~(i+`7H)2vt0+!dyZ-qC*K`tgl% z@1&0Jt0gTRamS~2ctKaKV_gM4HMe|3L5qxZG0oR}*UaUc;ocp)$7VV_4k-zZCTn7g zOsU=(%4l(T&&-Zw?DDtfKzbRvw**2MP#;~lfp3Efu$^&8y?wLaTxbcVVVF^|X9!2~VXd|+t-6~j*+A9&{ttK+|Bua3mb zJD|+QJ~0^Ov6F`zRzg@G>s%D`>J7!=uA-i9nAXJ>TZ5S`O~{G$t{Y}NzZUrR&Pm;U=kZzuSW5_ zD0mVz!a8^W*bBY^N*JE+5r$TaO>92jLKb)_%!Gcw$(e%ouK% z4CaBR#P%BZmxvATciDa1v!r_bd7Q(^%TDRc>(k7J{wF1FXlCaxs_nyYe7Yn36AC*T z_ah@Sw>MpC@o8HR>?Ba9PHYXe(a<_No#5TuS#$}_cSgi$oO|pzy(Czyu%RuHNM2eg zZqdY^Fd)cq$sFvsQajxtRT}#-{M-CaX9ZeUWxf|9>?s8C@NY(tGmv4%+`WYGMc?tv z{V0wUJ$?87t>O<&f=Lxl#uOnmEem9oaotFJFTEiahk0kH@jxnT<~`~{wvr`puzsGD zV8m)JU0h*ve&VIzdW?PDLP(ky7`U7eqQqIf{SaX&+1k=!u+h-b{Z?gY;Gh>Y1ddBl zI#1=0Y8=VJ#WcIN^U`?_hIKTore>rXCFG*LppAco{@v=EQ_fFzr)aJgd#SJ=jDc1d^wofZcNkJmNughwC_~sSuQM$In)rb zUN_SQ?fDei@XYe{~zv-0E5{+{SXUZJ+$g1YI=daKy-<%@eD^OMh>N*m&Ew=8G zy5+O+nFh-1%hIob!ZTEuC=Y$X=(E92G)5Wd@t-lKO@8K$35d!ilu7r(qj+b6M+NJg zQuoz|_y0W7uzOnS((H(=mOgC`B0j7-RjGd61Sqw$S1{iI>WpPHuI%)aq1 zGZH)mzkyrNg%__(#22QJB_ny&_B8Rh7?YNTnj1bmt)ijym(EoUUugg6W!d9LzJGjm zNK;qGjX!z+UPfgrWZhcFF`K|G-3QWZA!Bj#LNArk+fyO!dzm-v&boan(;d&;+76SH zC+gdegtPN&V_QgHiPU5*tXbVLn$9NMqkyE$pvl7mBe4e+ZrSA@m_BuW>>ve%?g4Ue-w7d#RjS)Wx}tTgEqX6En@xkLs9&Az37Upuh( zs4>7dd-yY_yoEM$h|IjW)ec`D!CCowa4+!*W^X-^#46)X7nqPoQ>Y2Cm39fLhidZ+ zm}tE&WGX*2df2h0{GQ%oXtLLHF~-yD@H1_!G-KhQ5=?Uzyo2$J16$j3&vzUC5IHl| ze%H`7wzME?)|xCnH(6BnTJWh3lEKo|;~y2HrHp*3fBK*K(7xW`U%cdBJK1r6E21^O zv{ysm8@wR*r4qS&xER{#|g4mjy?WUr8 zFDj9bHAh4nxDFj#h;K}CBs&Kqq)MczCZJL*?_l~1Srl%bQ)O=2ym1=Jqq9wQ6NWnT z*~=o78H?zv9B7FHeKo@A{L9lFFl}DRZT->lhquX|w>P743CX2$G>+_D>2CiqpZI_z zG%)P1J0o%SsMD{7?`VZ!GXM=bEy1U}W#di@OpG1=j@ppl4VIh95km8=AgvNs>ykhP zgMe7Kz(MVMg+4|Yx-B*>e`$}_#N5W`;XD|?2c=5uA3C4~6SQ8RVYPeqP|YL-=ldfx zRtFm+zNd+Qaq{|&cP<%^#*TQM_snbG+gKCg&Q^DE4Sk72#*F1=@q|^lglf$LZ=~y= z|I%A)(6s#31`Lf<$weM6z-QaHBdYldxYYD>V$p{{&6*U56(ky%SkF zWBTW%#4OlRpYEnc=RQUlaQBN*US?bZi!aUvY?B7{X9$h&qwgizuFK@VOYjuqHCX1$ zg@&-j#E@nB_c7khM;zM!N+9SvP-QWHualk9Rxzz@509|8&|aC#6+iM|=3>&>cZZ+s z9H>k5(ooZ}T_<+f?=wSD_(ha(T{s>uFpm#D-;Fi|B7@oNMSGn^5b2_MIRbOez~{Em z?8Q4f;Gq|r+BE|g5D`xW5+NALW;3diqSaSsyiGtU3zK0X)nLDJ3FSAi1fRuzchRUT zyWWmh-NRLaLR|cuVS^Ic*i_4mHJP5b8$)(c!YH}lsPOg=dxm0z+q3=Kw`}&Uo{o@e z(M$gSy#VbC6wULC9=TO_X=j8 zFTF8$N3Pp_Y4C;9i>EuXxziIaV6VI~!clK@W@)qqJlWk%WcqAHZt3?3Oyxi1UVOHH z1-^9|4e5ko*eZ~3-<}R~f>BTP7lq#mX+6bb=a*NxasO$ z!lyRx$j)G%QyI@&eWN06Z@q0dP}dXlcymO+vEsa8=Ts?OC+&)zGL=B8p%5geytvA=9S_5f2Dtq4xk2Z))mPQu+^)L`Tlm9b;Z zPWDD|SmXIe=3`SS*4>6R`P9}M-q0F@zY=L&>f{`6%hEL~rghG`&^J^ol{+OS-i=t6 zjeh(5sb2x7dF1er#IFzROzZ4`_L!DSnbu{Mro|txEj64srkqgl@IJzaF1E&Q!#ZSv zN~#Y&QQtNc7t>glnc!fUc<}JnN_Y6!J94&UfibPml`bCZCP+<|w}d?DP>&M4Gcd`p zF-E|Vb>*2O%Uxo7#yXnA7_~x^Of>)QtSe3Ql_znM~7zOdyxQUx+>Rwg5jx-hr4kE|wi zUzRHNzGwA6!wXnp-L9|`*;EWhjf`^SrG=A8T7 z``mNyx#xY}CpAjXm(-*0Ug~yn2PB}}a1Z!;E9_Pl983}(bhr1Xc98N zfpnFJ4AdO`HUL*WdLy(}f2`_Twyc*Vm=22cZk8Fw@Bq4&zJVI(p@(v z@dkNrl=+x;{VR9Fh{+~?xxj_9c4X66?d&Ua&5-6b*ZgCvK-KO}dG=ayiy$H6PgQ2W zyU7tWspxINR&~h7JpsoG?Bpn79-QfM8}og;8?C#Zv$v_8f$iky%=fHTm@T_Kwz?Yd z9~`GEyOct1wEKQBurfKMPFkJnwB3oC#I6sjNTTi!!3Q{;RN6I=e+3HlaqpHVV<&ra zpig1YSr*$S^(t$CvNT;V=qEH)xe^2gMbc4f74@$nH|~NfS@e)h|PnU z={DPP!CqX+%NA?;Ti7+`ja&;Qnb4()U!@fXNu3fhvU%=PH5mR_B($&|pDssvKAD{~ z9}NzP*J7o+8$0@$2H7r224^0%U-ch^%iQk5B_AU;+^shXYQvYJ2&z%mDDG@?X3&FxX(&CZO z$?_>yk89-5kQ2d`z@;)PhM0T(Jms`#uzs=qz>VY-N9fvnv9w!5d0AHMSZysEY!)eS ztoAb_nstIbzCb8=clezD%>pOWg8zAj{4jzU>oK1`_ecebqZcbt1KP2!LAOEHC(4!@cZozPz&9GoG) zUrh2voJR~W_KvePJ>564=sF-?zw(CKL!0Vb+TglC+EAiflV3jn>YB9bZ?^B_X2#W= z>l{}GXXzuotfdB6c#>gblwZn|;|OT#(NiGTnbE3z(=iKm#$&B^a)>fFg!GwU<`bX4 znsC)&FX5dPXy4#W_$WmBC-p#~MCU+I5M1oY!FBPS4RZ+KqV5B{Eo%oG=4zXgX~o!; z$$BcD4Ye;lLAT}+FRJSQv3);3V|j?9j5^V>{v zJMIgL;jf*%-6l8s421KhXgK-XD@(F5 z%iIGx+P95ILr@p~5RXtLs{NOjGeZ`4B}zYCvUnL^v^Gc(Wehb5w(9$L$vCVW_%idR ztNRJ&XKB*vJF7tdz+%*BwPOv$F%Pgj3Bq(m;n{t}8j|R_3JW6{0LX zjpMfAtbEODaJyFBWt))QVp>P+HJhIL$&35edtjKjaE(4ra#&>Tok(gwUV62sy*ACYskb(txiYO@ z-iB}Io;AK38-q%`kN)(PDCs+qcJHi|?zWjf-BYn!3Szs2KQ6xgKt3m*>67*1xAtP$ z6wzU0vvPMM4j*X{O?w zVyx8}U!Rzal>_{>Hq~px?Faw1G1G6=EsH%tJZ=Gb*fhdR%S}>XF@MJwa4mGV7zzx; z5qD@Q@$4l@u_HU@0Tp$ zJ48FM*^|>Kai@e5ztRTQXlbMz!0JE^^=#`_~xpg(0il-ac2EhK(`y+<)r) z&ENDqf9g~~oVcCPI@fbH8?Isx#bm(`tuET_(_jX?DKAJ3bgo;w>#W=~iU~bt6Yi@+xCCyyK`pr z7&XIFXI73Xcx%G5PgwLHs{=u>sR}f^?QW$o*FCV!m)zT^{vuS*b2ee2ESNGcF=FQw z^SS(?DdKbT@O5*@7Fzq%c@36)`5lQh?rT6cdVWlzL21&_`7uJhO}+^zImzayqod_nebl7-Kpo)Q8*=E zUvIc?rBXL!$1a(p@bAl-s$SHV(dzO-+d)YFFdXD_G9!j`DYIEA*BefjzP?t7RgQ;b zu7Ow$z0@I!l76GxN0lCeLN(`G^R49mI@GwH8&$XRuTHebS=IHpk@+_BpGspyREGe$ zVr2LvZK5emiNQR${IV)u0gef?UghdV^-wMIi=nm{a-k5(&}}^Csa##tM+ZUpQ!UYF z@%D3M?wB6?o))nHT$Uj05Dcv)i>;OR!x)${x=RXda$i3fZmjiu$i}{>;xek-qvQ}8zv1}o$=b7(vjv;&# z)1wRQaJt2-qp5Q6iQn&InfVt-S|Y{Xqn9?A%TG+9w5AV}6*E+le6t~qwS8IP2HL6a zazL!~-uc8|pqUt9)XC8>zYrDm=lZ4tRk^4S&QgCc|87FFO*fO5+4_-59x5Zh?OrRr zC3b*x1X3CQVUCE{2aQM8U4#7`pP2ac%($B46oFfqiU$k=O}Zh2lT+%da9LIME5s2h z&29WcF7t1kgzU-1pI@C>VVSh)P5@S6@AZ%+ zZGbWSCt)5lskB4R?>GvU8ctS)ZEdK^+D8_bboeCL>b{a}uSK7CVr%nNdt0pUGK8)W zJH}l-+w{Oqs#xSfiIKK)Qyl7Gm2XTadra8wNk_3@FX&4mF2O%ea&@s#h#<((y4w`< zJvhqJ>6lB?2PI0V)iJ*oR>ezCO7B?4Aj%*I|I<}2Jl_GD+hzX&7h+*OU9@9_n^F5Z zv}mujxN*WR>jd4q39gvPM=Oot{n$0d_bH=v1Quj$L^c!Y4pm>OA5D~h=70Lk$Tn3{ zV!(oKD!B1AImvlVab)q=#}D_J3w0k~dUK?y!I^(^F8c&UsU0kac5nGtRuvP;ey^81 z9p98{NnEW73`=SXJtupAGrdv&_2oG?`wPhr$3e#9p(zERW+-Uip#pDd?&)A*QGmTRf^ZLoCCa=yHNj_ViNBom{EtJHG^uxBu(q5vHrIPRdd9J_X0OeV4dNetUVOuXxeu&VnEh zH_bNxSufKob^!B&8HW$8_gm9Ni_qTsy|aZv_2>J;+%^ z8DTONV{r4WuIAdYV_5@Pv=IH`S`ka&sPn0oF?4C@S7))~m1xU2wYzM4B2 z6&7K~O70&+bVjhHF>=Sn-6KbyC&IE0jK1^B*$Nl$Kybcp^&wInXv{UGlRCNzlV!F| zW{?~7lxPe1N~C1n?LDSbNzw;u=Np5r%W=VR6cxfJ#39S85u|8q#Lsq4>|c~d;&dG9 zgw)c%W)v&;@77Rf8M%K`_d{q*#n$aFkvH5OxoJE2*X1@DYMTu7j8Gye@Ye#8*{Y`i z4-0%~fzUAC_^m{nEKP53fJKZmyugn}5EJ{l_^-qw%EmrJfuqvLQJgMo-cJ46AiO3m zVPw;j%xBM9`mpnMX8q&m{oZ#2h*CBB5J&>9^yQ4hhAfR(vaTOdfwK~i;ZK=6#mrF&c*W{e)#2XtCOcVz__W^0 zi0>)V#m&$`2N!#R3qe6QpY69!8EF2Y`Ah#+)_$85kw+=N;S~=GUt}YXS}H-!DB&|V zcNQ(|faisgtvdp1OF#M)Nsh$mJ)XzRGJb;iFzQPR()UlbqCA{A;T-@1J1m6_km6 zam4b&clRPy+qL&wKk}8M1H6%=5vxFHbk2ID^$yRp6Jj(jOzaG-bt~m#7v;+)l6hbQ zI&PYdN=%YQ)!lQ=;p6>GXi1o5W~D@{myN7vk7Q=UGm|3 zs9~8|0}1&JIwRvgEjKW%n}=w9&j?)~heA;t_+lJDaVOlBB~_^U&KLSt%JVA~MlIl{ zOHhVidrlMV@?p>F^|6E_U_tD6V2sxdL=>=!UP8o5ps*2IO5J=`$&z2zl`P`B= zRd8=BSLc_Z8l;ZXe#v?M{QbK2xanbefGefgjsz5iSGokGsH#m<*fjU6dY?R=?bLni zLUL8zn*Qq7+uJIx?O%(XJ~X}lX>i3<&oc6Jb$d*OHvRrdj#S3Je=Q~FmjzlDZ%eKo z`B9}xyi1bi3s*Qowg0LGakOcurtx*ce{c8RJ)0(*-B)F{rs#BDK$j6ofww2`6Y;kV z+zne?-xr7P4D(nEH(&`^Z{N0M)O-J@r&3XjufHj&tCCo`$oSE$N!y*X6+R2cyoZF! zg-B)6av;upaN?-59=AJFWeyYU01aT8z}j0?%wv~n`!Y^kEG(-ks8#zWcbp??(>naB zl^qA6KqV{T2I>9To8;$#z6HM=CyuswujvbdaWQt#q8e;%9-x1r@-W%q=eCbE)TEMD z>CQW(!0PvEH1Va6$MVPz!B_!*g73kzBNjnGnaZqRVd!6wlc({XZMdf+5p`Ly<3bI{ z`E4bP2KKH00<0hcIayylg6%yga=63%cr!18_iRLt+GhFps*`{=boV|wkj61LPi%^O zRN^hX)BH`Bnh{>GZ)|;4m|oHLiCmW=Lhl-v+&iAmJ;Oc*0VqI>#JiaNU+)98r2_qm zfS1R2eodOt7SacXSK~9-gYHNhzlXXvwldgdEENcW!Z<^Vu6{5$Cw2h`TVwulZou<5 z`FxE3I;=e^#(M5sE`u4htUGuiWeDXdtC@oJdaMlf@*gEFkt1nDzT^wUdHPKc*XI0M z7X_-*L^horE4v%-XbcSZE*JBjHZMP2b)>_4tyZcEPwJ_!%>FPuAnjV`ST>#w9~Px< z;|)tUC7%pR5biKQM#=A%jBMmuuEiW)$bElzH{-7=dxCk2pDD>HyP}x5+933txt{)} z6{QVm>5~7LQNHY%YY#CTC)V(sEncHg^3_bNm0BrF^!4tEJ^fizo6=yIfHyJTO>|q^ zZmRrCax;wHh}Qpah8&Z3slU7OlCtj926u?tsu*pd&!jChlo24X$b0@y9BT`z%2>YPPCJ5(Rk0|+w(Y>D%cv<~cx!kRhZ z>3CGSDs+Ye8*Iw}du6A0I(RSN{~57*Oy|VT>8>|bZb_-+)Zs5J;@>=<5WQVNRChDd zvLc?q+;0_08sNX@06i9gHLNDq{=o|4;HkOsPvCduwh@tR4ZhzwXhCyF5NEz#r=j)I z<>~Ook3)j4dI*1g|l`2w1sUydCIx zAZN^WkjJ{KUxaUKz}7Zj+eIQ41f+yW{K9rbkLnvCfF;0soGlantd0MJP_OGnOX>Q8 zJV4yWf0XOG%fjXRI!FkF4>H`OUc3xsWE-EwwS;2(LQpv+sJWxIP4lVsHmoWlsb}2v zEh+E>Hj&hmOE(VjsMl*l@h+hZUS_g$l+69cYe%phCmyS`!|`3%SoyRWGTx!;LpdgS z-R=K1e7$PI^eDy!8V5gm^elJdApOU6in<_OwaT_D1U2rx!^Ldjqr4&!FS!-7GeHFI zXo_Kfcve$Hf!jt)_?18t)p936`eYd`Q*6)>~q_+HdSAx zv|u|RpwMYJyQv;^bJPzuEU_l7c;Dyh#HY_`A;P#Kb2McFx+ljo%}W}sDgv0gx&Q8{ z4^Ohjmz~IejtvVQJ&`}+{qD#M9WH1u%P)#eYG?IU6n*Tp6Ew{kHKAuoQec`&4ltgH zWzyd6tBYi4foyZ#ccIJzpHrmF!*$!4+9ek`T;88Na+Lk^^-%bA*qacL*A1YapZs_k z&2PEWSJe4Rtr!wTry+j8zHwYv$95ZKZ1KRho3@W>HtbGTq~_H+O~|ngFs^vBx+EOu zvnsE5uwx9Yk@U7>rW9$#ZXZmiy`fR`1-mshv`n22$X}ivFIp*~e7dJ5%IHr(e%qX}d}HYr#(C zdd;xmB~6jPqvNh4s77!@7&~u>Ys1^mlPP8dZ=%4M5S0l-KXSimgnJvQr1Yr-zaO;iQC<` zq|^BhkaCx~7I@L}>TuaDj-z)%aCYeMDJ=wZI^E}+w0^%bpt3jV+aRjj_L<^E2ejb8 zLOWZqw3_pe^DVc8(W9-meap&T<>{*x>X$p@e$m06r@i)`pJdihdI=8VPjl9P!ujV6 zX8kt=py_{&o!+pd@eS4$<2+Jp$B~ejvw6Z)gR(`Wd{T=9^K-fvpqy25kA^=oRoed| z_oY#fZEsCmi49Bx-G)*;OH!m}>2NyRA4O9z#r!CMS<{-*c;Kb&r4e7N7HqD4Qw)Q&))NBr_>aztP0SVl{#L6x&bMBH3AZ!jdz~- zQ&sWu3^z@rcIYrU`)PxyXtB3N8@SdVcH=twU9UOi>^~FM{n>-Rh%yHoG7?s7H!c^) zK{D37Dyr5>UlXh5dcjhp>douTE~`~Q11M;p%O3%t zPEi(ZGhR5bkK*nmKy$__jrhh$c9)64SL~QHWjpDp5)<~QTO&1A z>)f_yO0dyUfz9pWBrC&>94sLpQ_5hh<}1g@$; zfO{?E(n#;y1@T|bM6}H>Bt8fD3j9k$GkUUhPMJ0KHh}PD=65b2;1v-4N+1COxvxE2 zLdJ{jZXK_$UqNHynvX^|xElQxkg`(1JfYLh)AQhC>PA+E1;$=HY_+wV~So(HKMW8RP%G+sQoaYg`(>Say7`YhK1x zkGraP9Ohxw@i}`9JWp1sbLkghxc~ii^q3^e@Vzo*B?2oSu2F-v0nUs93S~i(mBY<^ z(kumO%U#h1-_m+Gxt{-nWGf~D6?sEpXutx5E&-I`k`4<%S||)n7B=b$(^lwD+T0V{AI6mj=iN*QiKB}3d2`-z-4q0b`bcU6 z^QYNbs@N0g40j0^9KsopDe8y$LBR-ZFpY$LCmDdK87h8lDFWNA3HuA0Jn&3wvo&>1 zerRS=G?xtq74$BJ^JKrGprI#xg(ucB92&tKS#O-y+07K8K=N!QxK&Fx@Y=IgN3qT| zf{FkKKt@Qj6yWoRvHb*3`f!Sw7opui#-mAROw=|T05y?~nMF)&TS7J5x!y)-}+pk0FE`ZMB zT(1lglyC5%oKy? zoU)}{5WgSYy9YtWVng|oe~`=t@K}0e*;fXM0)^xh-otAbh>YDc-jf>`O%Xos$4d(yPNRgDlFJzR^cz z?C8H^Wt=fO+pxXbAzFt9Z0@>Np`0Nwu~kfiI>1`n4#6OLHRmY^*W$6CPF~{dFF@>7 zEeTYM%KW;n451`~jU&S^z!Jl8A{af+sIYdmF0??8>R=UeAqYa%&(d;J{vUt%8 zK-*iK7A!%cXgk&p%-umvab);cPw4KoDk(}|JLePd7;nx!EVZs?8-vLdj64}8#S^=UD`R=0{`TS-h0R91pKG3xj-*0k5({5)A1x7;# z0tQZv(X)S`r(M|Wn`?|b)>?W@`dhmcZVgE0S9dAViqkyuj-C6^iP0+CFWMy&n=-wi zxCbzQplnfw26;I3>H}tY_9@ https://parity.io, version: `${major}.${minor}.${patch}` diff --git a/webpack/app.js b/webpack/app.js index 1d055194d..282a9b6a5 100644 --- a/webpack/app.js +++ b/webpack/app.js @@ -173,7 +173,7 @@ module.exports = { new HtmlWebpackPlugin({ csp: rendererCsp.join(' '), - title: 'Parity UI', + title: 'EnergyWeb UI', filename: 'index.html', template: './index.parity.ejs', favicon: FAVICON, From 44133e481eec7065e54236fdb4ac4b3adb5fba36 Mon Sep 17 00:00:00 2001 From: ETHorHIL Date: Mon, 17 Sep 2018 11:57:03 +0200 Subject: [PATCH 25/36] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 746066f93..80cffd727 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ To quickly get started just download the binary for your OS and install the software. -[Windows](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/parity-ui-setup-0.4.0.exe) - -[Mac](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/parity-ui-0.4.0.pkg) - -[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.0/parity-ui_0.4.0_amd64.deb) +[Windows](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.3/energyweb-ui-setup-0.4.3.exe) + +[Mac](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.3/energyweb-ui-0.4.3.pkg) + +[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.3/energyweb-ui_0.4.3_amd64.deb) [Release history](https://github.com/energywebfoundation/energyweb-ui/releases) From 74bf56795f3b4ec873d7533c2efbdc6a96394284 Mon Sep 17 00:00:00 2001 From: ETHorHIL Date: Fri, 21 Sep 2018 16:45:46 +0200 Subject: [PATCH 26/36] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 80cffd727..76315e96d 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,10 @@ To quickly get started just download the binary for your OS and install the soft [![GPLv3](https://img.shields.io/badge/license-GPL%20v3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) + +!!!!!IMPORTANT!!!!! +EWF is conducting a hardfork on Tobalaba at block 7,250,000 (around 1st October 2018). Please update your old EWF client by downloading the binary above. Alternatively, you can run any Parity client with this chainspec [file](https://github.com/paritytech/parity-ethereum/blob/master/ethcore/res/ethereum/tobalaba.json). + ## About Energy Web Client UI The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a contract development environment, and so much more. EWF UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. From 73d05a01577e6b4e49e4a7ed62b801d587193e72 Mon Sep 17 00:00:00 2001 From: ngyam Date: Wed, 30 Jan 2019 14:29:27 +0100 Subject: [PATCH 27/36] feat(client-version): changed to 2.3.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b13cfe19c..02d97dda2 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "Tobalaba" ], "parity": { - "channel": "v1.11.11" + "channel": "v2.3.0" }, "scripts": { "build": "npm run build:inject && npm run build:app && npm run build:electron && npm run build:embed", From 3990c45ba25fa8d611c5c3435aa94b0a2f424558 Mon Sep 17 00:00:00 2001 From: ngyam Date: Wed, 30 Jan 2019 14:40:39 +0100 Subject: [PATCH 28/36] feat(client-version): bumping version to 0.4.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 02d97dda2..2ec26def0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "energyweb-ui", - "version": "0.4.3", + "version": "0.4.4", "description": "The Electron app for EnergyWeb UI", "main": ".build/electron.js", "jsnext:main": ".build/electron.js", From df0fa2dded7d431a095288c75580879f003c76be Mon Sep 17 00:00:00 2001 From: ngyam Date: Wed, 30 Jan 2019 15:20:49 +0100 Subject: [PATCH 29/36] feat(client-version): update electron version to 4.0.3 Release of 2.0.2 is removed, so it cannot be fetched --- package-lock.json | 211 +++++++++++++++++++++++++++++----------------- package.json | 2 +- 2 files changed, 133 insertions(+), 80 deletions(-) diff --git a/package-lock.json b/package-lock.json index e623d5385..8fe8fe77a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "energyweb-ui", - "version": "0.4.3", + "version": "0.4.4", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -434,7 +434,7 @@ "react-tap-event-plugin": "^3.0.2", "react-tooltip": "3.4.0", "semantic-ui-react": "^0.79.1", - "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", + "solc": "github:ngotchac/solc-js", "webpack": "3.4.1", "webpack-dev-server": "2.6.1" }, @@ -517,6 +517,7 @@ "redux-actions": "1.1.0", "redux-thunk": "2.1.0", "scryptsy": "2.0.0", + "solc": "github:ngotchac/solc-js", "useragent.js": "^0.5.6", "yargs": "6.6.0" }, @@ -524,17 +525,20 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true }, "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" @@ -544,6 +548,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -552,6 +557,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -579,6 +585,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, "requires": { "lcid": "^1.0.0" } @@ -587,6 +594,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -609,6 +617,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -619,6 +628,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -626,7 +636,8 @@ }, "solc": { "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "from": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", + "from": "github:ngotchac/solc-js", + "dev": true, "requires": { "memorystream": "^0.3.1", "require-from-string": "^1.1.0", @@ -637,6 +648,7 @@ "version": "4.8.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "dev": true, "requires": { "cliui": "^3.2.0", "decamelize": "^1.1.1", @@ -660,6 +672,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -670,6 +683,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -678,6 +692,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, "requires": { "is-utf8": "^0.2.0" } @@ -685,12 +700,14 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true }, "yargs-parser": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "dev": true, "requires": { "camelcase": "^3.0.0", "lodash.assign": "^4.0.6" @@ -1443,7 +1460,7 @@ "react-dropzone": "3.7.3", "react-element-to-jsx-string": "6.0.0", "react-event-listener": "0.4.1", - "react-inspector": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", + "react-inspector": "github:paritytech/react-inspector", "react-intl": "2.1.5", "react-markdown": "2.4.4", "react-portal": "3.0.0", @@ -1459,7 +1476,7 @@ "redux-thunk": "2.1.0", "rlp": "2.0.0", "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", + "solc": "github:ngotchac/solc-js", "store": "1.3.20", "sw-toolbox": "^3.6.0", "u2f-api": "0.0.9", @@ -1848,13 +1865,15 @@ "integrity": "sha512-ruBF8KaSwUW9nbzjO4rA7/HOCGYZuNUz9od7uBRy8SRBi24nwxWWmwa2z8R6vPGDRglA0y2Qk1aVBuC1olTnHw==", "dev": true, "requires": { + "jsqr": "git+https://github.com/JodusNodus/jsQR.git", "prop-types": "^15.5.8", "webrtc-adapter": "^2.0.8" }, "dependencies": { "jsqr": { "version": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b", - "from": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b" + "from": "git+https://github.com/JodusNodus/jsQR.git", + "dev": true } } }, @@ -2210,7 +2229,7 @@ "redux-actions": "1.1.0", "redux-thunk": "2.1.0", "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", + "solc": "github:ngotchac/solc-js", "useragent.js": "^0.5.6", "yargs": "6.6.0" }, @@ -7718,20 +7737,20 @@ } }, "electron": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-2.0.2.tgz", - "integrity": "sha512-XmkGVoHLOqmjZ2nU/0zEzMl3TZEz452Q1fTJFKjylg4pLYaq7na7V2uxzydVQNQukZGbERoA7ayjxXzTsXbtdA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/electron/-/electron-4.0.3.tgz", + "integrity": "sha512-wOBYnlv3Xgbwh9DAHBktP3sQcbCBuXMQi1NzPH3EMnbdYNqj+FnTzVLq0RYp0uSzdjR3fhAZ/E6wFSMLaAc5iw==", "dev": true, "requires": { - "@types/node": "^8.0.24", - "electron-download": "^3.0.1", + "@types/node": "^10.12.18", + "electron-download": "^4.1.0", "extract-zip": "^1.0.3" }, "dependencies": { "@types/node": { - "version": "8.10.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.17.tgz", - "integrity": "sha512-3N3FRd/rA1v5glXjb90YdYUa+sOB7WrkU2rAhKZnF4TKD86Cym9swtulGuH0p9nxo7fP5woRNa8b0oFTpCO1bg==", + "version": "10.12.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.19.tgz", + "integrity": "sha512-2NVovndCjJQj6fUUn9jCgpP4WSqr+u1SoUZMZyJkhGeBFsm6dE46l31S7lPUYt9uQ28XI+ibrJA1f5XyH5HNtA==", "dev": true } } @@ -7969,42 +7988,40 @@ } }, "electron-download": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz", - "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.1.tgz", + "integrity": "sha512-FjEWG9Jb/ppK/2zToP+U5dds114fM1ZOJqMAR4aXXL5CvyPE9fiqBK/9YcwC9poIFQTEJk/EM/zyRwziziRZrg==", "dev": true, "requires": { - "debug": "^2.2.0", - "fs-extra": "^0.30.0", - "home-path": "^1.0.1", + "debug": "^3.0.0", + "env-paths": "^1.0.0", + "fs-extra": "^4.0.1", "minimist": "^1.2.0", - "nugget": "^2.0.0", - "path-exists": "^2.1.0", - "rc": "^1.1.2", - "semver": "^5.3.0", - "sumchecker": "^1.2.0" + "nugget": "^2.0.1", + "path-exists": "^3.0.0", + "rc": "^1.2.1", + "semver": "^5.4.1", + "sumchecker": "^2.0.2" }, "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "ms": "^2.1.1" } }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "minimist": { @@ -8012,6 +8029,18 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "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 + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true } } }, @@ -10546,7 +10575,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.1.1", @@ -10597,7 +10627,8 @@ "balanced-match": { "version": "0.4.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "bcrypt-pbkdf": { "version": "1.0.1", @@ -10612,6 +10643,7 @@ "version": "0.0.9", "bundled": true, "dev": true, + "optional": true, "requires": { "inherits": "~2.0.0" } @@ -10629,6 +10661,7 @@ "version": "1.1.7", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^0.4.1", "concat-map": "0.0.1" @@ -10637,7 +10670,8 @@ "buffer-shims": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "caseless": { "version": "0.12.0", @@ -10654,7 +10688,8 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "combined-stream": { "version": "1.0.5", @@ -10668,17 +10703,20 @@ "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", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "cryptiles": { "version": "2.0.5", @@ -10751,7 +10789,8 @@ "extsprintf": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "forever-agent": { "version": "0.6.1", @@ -10773,12 +10812,14 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "fstream": { "version": "1.0.11", "bundled": true, "dev": true, + "optional": true, "requires": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", @@ -10834,6 +10875,7 @@ "version": "7.1.2", "bundled": true, "dev": true, + "optional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10846,7 +10888,8 @@ "graceful-fs": { "version": "4.1.11", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "har-schema": { "version": "1.0.5", @@ -10885,7 +10928,8 @@ "hoek": { "version": "2.16.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "http-signature": { "version": "1.1.1", @@ -10902,6 +10946,7 @@ "version": "1.0.6", "bundled": true, "dev": true, + "optional": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -10910,7 +10955,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.4", @@ -10922,6 +10968,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -10935,7 +10982,8 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "isstream": { "version": "0.1.2", @@ -11024,6 +11072,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -11038,6 +11087,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -11109,6 +11159,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -11138,7 +11189,8 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "performance-now": { "version": "0.2.0", @@ -11149,7 +11201,8 @@ "process-nextick-args": { "version": "1.0.7", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "punycode": { "version": "1.4.1", @@ -11187,6 +11240,7 @@ "version": "2.2.9", "bundled": true, "dev": true, + "optional": true, "requires": { "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", @@ -11231,6 +11285,7 @@ "version": "2.6.1", "bundled": true, "dev": true, + "optional": true, "requires": { "glob": "^7.0.5" } @@ -11238,7 +11293,8 @@ "safe-buffer": { "version": "5.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "semver": { "version": "5.3.0", @@ -11296,6 +11352,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", @@ -11306,6 +11363,7 @@ "version": "1.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.0.1" } @@ -11320,6 +11378,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -11334,6 +11393,7 @@ "version": "2.2.1", "bundled": true, "dev": true, + "optional": true, "requires": { "block-stream": "*", "fstream": "^1.0.2", @@ -11389,7 +11449,8 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "uuid": { "version": "3.0.1", @@ -11418,7 +11479,8 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -12215,12 +12277,6 @@ "os-tmpdir": "^1.0.1" } }, - "home-path": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.6.tgz", - "integrity": "sha512-wo+yjrdAtoXt43Vy92a+0IPCYViiyLAHyp0QVS4xL/tfvVz5sXIW1ubLZk3nhVkD92fQpUMKX+fzMjr5F489vw==", - "dev": true - }, "homedir-polyfill": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", @@ -14106,6 +14162,10 @@ "verror": "1.10.0" } }, + "jsqr": { + "version": "git+https://github.com/cozmo/jsQR.git#92217b7661aa6801b0a4fa5a4a9d41b5a3b8ec03", + "from": "git+https://github.com/cozmo/jsQR.git" + }, "jsx-ast-utils": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", @@ -20014,15 +20074,9 @@ "resolved": "https://registry.npmjs.org/react-qr-reader/-/react-qr-reader-2.0.1.tgz", "integrity": "sha512-J/VuCq/udEqry7Z4nXGTbguetfSdRJr1Cv0lYKbVKIW1blfhB0Xe6OjO+5Th5B8884+s40BDFwtqP67h7YTtYA==", "requires": { - "jsqr": "git+https://github.com/cozmo/jsQR.git#9c8a6f0e3aba2f05a002c73325cbc5d89062df73", + "jsqr": "git+https://github.com/cozmo/jsQR.git", "prop-types": "^15.5.8", "webrtc-adapter": "^5.0.6" - }, - "dependencies": { - "jsqr": { - "version": "git+https://github.com/cozmo/jsQR.git#9c8a6f0e3aba2f05a002c73325cbc5d89062df73", - "from": "jsqr@git+https://github.com/cozmo/jsQR.git#9c8a6f0e3aba2f05a002c73325cbc5d89062df73" - } } }, "react-redux": { @@ -23800,13 +23854,12 @@ } }, "sumchecker": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz", - "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", + "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", "dev": true, "requires": { - "debug": "^2.2.0", - "es6-promise": "^4.0.5" + "debug": "^2.2.0" } }, "supports-color": { diff --git a/package.json b/package.json index 2ec26def0..2d4e74b9d 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "cross-env": "5.1.1", "css-loader": "0.28.4", "ejs-loader": "0.3.0", - "electron": "2.0.2", + "electron": "4.0.3", "electron-builder": "20.26.1", "empty-module": "0.0.2", "enzyme": "3.2.0", From f6bb75d5c480619b88a0c32958af2efa84598d79 Mon Sep 17 00:00:00 2001 From: ETHorHIL Date: Fri, 1 Feb 2019 12:08:32 +0100 Subject: [PATCH 30/36] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 76315e96d..a81aef1e3 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,6 @@ To quickly get started just download the binary for your OS and install the soft [![GPLv3](https://img.shields.io/badge/license-GPL%20v3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) -!!!!!IMPORTANT!!!!! -EWF is conducting a hardfork on Tobalaba at block 7,250,000 (around 1st October 2018). Please update your old EWF client by downloading the binary above. Alternatively, you can run any Parity client with this chainspec [file](https://github.com/paritytech/parity-ethereum/blob/master/ethcore/res/ethereum/tobalaba.json). - ## About Energy Web Client UI The Energy Web Client UI (EWF UI) is a User Interface desktop application for the [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) >=v1.10. It features a Wallet supporting Ether and ERC-20 Tokens, a contract development environment, and so much more. EWF UI will download and run [Parity Ethereum Client](https://github.com/paritytech/parity/blob/master/README.md) in the background if it is not found on the system. From 53c33db17b5244179639d0c462533a91a1497d48 Mon Sep 17 00:00:00 2001 From: Mani Date: Fri, 1 Feb 2019 13:21:15 +0100 Subject: [PATCH 31/36] Feat(packages):electron builder version upgrade Version 20.31.3 --- package-lock.json | 724 ++++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 411 insertions(+), 315 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8fe8fe77a..efb239f0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "7zip-bin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-4.0.2.tgz", - "integrity": "sha512-XtGk+IF57pr852UK1AhQJXqmm1WmSgS5uISL+LPs0z/iAxXouMvdlLJrHPeukP6gd7yR2rDTMSMkHNODgwIq7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-4.1.0.tgz", + "integrity": "sha512-AsnBZN3a8/JcNt+KPkGGODaA4c7l3W5+WpeKgGSbstSLxqWtTXqd1ieJGBQ8IFCtRg8DmmKUcSkIkUc0A4p3YA==", "dev": true }, "@babel/code-frame": { @@ -434,7 +434,7 @@ "react-tap-event-plugin": "^3.0.2", "react-tooltip": "3.4.0", "semantic-ui-react": "^0.79.1", - "solc": "github:ngotchac/solc-js", + "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "webpack": "3.4.1", "webpack-dev-server": "2.6.1" }, @@ -517,7 +517,7 @@ "redux-actions": "1.1.0", "redux-thunk": "2.1.0", "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js", + "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "useragent.js": "^0.5.6", "yargs": "6.6.0" }, @@ -1460,7 +1460,7 @@ "react-dropzone": "3.7.3", "react-element-to-jsx-string": "6.0.0", "react-event-listener": "0.4.1", - "react-inspector": "github:paritytech/react-inspector", + "react-inspector": "github:paritytech/react-inspector#73b5214261a5131821eb9088f58d7e5f31210c23", "react-intl": "2.1.5", "react-markdown": "2.4.4", "react-portal": "3.0.0", @@ -1476,7 +1476,7 @@ "redux-thunk": "2.1.0", "rlp": "2.0.0", "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js", + "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "store": "1.3.20", "sw-toolbox": "^3.6.0", "u2f-api": "0.0.9", @@ -1865,7 +1865,7 @@ "integrity": "sha512-ruBF8KaSwUW9nbzjO4rA7/HOCGYZuNUz9od7uBRy8SRBi24nwxWWmwa2z8R6vPGDRglA0y2Qk1aVBuC1olTnHw==", "dev": true, "requires": { - "jsqr": "git+https://github.com/JodusNodus/jsQR.git", + "jsqr": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b", "prop-types": "^15.5.8", "webrtc-adapter": "^2.0.8" }, @@ -2229,7 +2229,7 @@ "redux-actions": "1.1.0", "redux-thunk": "2.1.0", "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js", + "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "useragent.js": "^0.5.6", "yargs": "6.6.0" }, @@ -2698,52 +2698,56 @@ } }, "app-builder-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.0.0.tgz", - "integrity": "sha512-JUJ1Wiaig1589MxF110HHh5I5v9hn2Qu4ZeleNwSZHfD1S2LrCxm4H+q7Snr/rWlWdEChFoWM2lj11Cdl4LP0Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.3.1.tgz", + "integrity": "sha512-hmqM9qc3jqmmUzkMhUZt81q8l7cdC3i5yZFBZyVpwCWJdG9zTeLwLitVGR7IJd0uK9Vf9sBejKBv6Yi8xise6A==", "dev": true }, "app-builder-lib": { - "version": "20.26.1", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.26.1.tgz", - "integrity": "sha512-tLRC9bU3f7TgeK//jjDfhwzQymmLACkcs6vC/5VZLstVigg0G55RejsD4cCP3YA7fdUNNH6MaOAUh4l9FblCMg==", + "version": "20.31.3", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.31.3.tgz", + "integrity": "sha512-BwpaBs7tqdxcRT4NZ8jBhdSnAGxRilZ32WvCHZQGpaVTXk5whEt2QULwQi1TldwFCmk1tpC99es4YX9mhPP+xw==", "dev": true, "requires": { - "7zip-bin": "~4.0.2", - "app-builder-bin": "2.0.0", + "7zip-bin": "~4.1.0", + "app-builder-bin": "2.3.1", "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.5", - "builder-util": "5.20.1", - "builder-util-runtime": "4.4.1", + "bluebird-lst": "^1.0.6", + "builder-util": "8.0.0", + "builder-util-runtime": "6.1.0", "chromium-pickle-js": "^0.2.0", - "debug": "^3.1.0", + "debug": "^4.1.0", "ejs": "^2.6.1", - "electron-osx-sign": "0.4.10", - "electron-publish": "20.26.0", - "env-paths": "^1.0.0", - "fs-extra-p": "^4.6.1", + "electron-osx-sign": "0.4.11", + "electron-publish": "20.31.2", + "fs-extra-p": "^7.0.0", "hosted-git-info": "^2.7.1", - "is-ci": "^1.1.0", - "isbinaryfile": "^3.0.2", + "is-ci": "^1.2.1", + "isbinaryfile": "^3.0.3", "js-yaml": "^3.12.0", "lazy-val": "^1.0.3", "minimatch": "^3.0.4", "normalize-package-data": "^2.4.0", "plist": "^3.0.1", - "read-config-file": "3.1.0", + "read-config-file": "3.2.0", "sanitize-filename": "^1.6.1", - "semver": "^5.5.0", - "sumchecker": "^2.0.2", + "semver": "^5.6.0", "temp-file": "^3.1.3" }, "dependencies": { + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "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.0.0" + "ms": "^2.1.1" } }, "esprima": { @@ -2758,41 +2762,36 @@ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, "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.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "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 }, - "sumchecker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", - "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", - "dev": true, - "requires": { - "debug": "^2.2.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true } } }, @@ -4507,12 +4506,20 @@ "dev": true }, "bluebird-lst": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.5.tgz", - "integrity": "sha512-Ey0bDNys5qpYPhZ/oQ9vOEvD0TYQDTILMXWP2iGfvMg7rSDde+oV4aQQgqRH+CvBFNz2BSDQnPGMUl6LKBUUQA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.6.tgz", + "integrity": "sha512-CBWFoPuUPpcvMUxfyr8DKdI5d4kjxFl1h39+VbKxP3KJWJHEsLtuT4pPLkjpxCGU6Ask21tvbnftWXdqIxYldQ==", "dev": true, "requires": { - "bluebird": "^3.5.1" + "bluebird": "^3.5.2" + }, + "dependencies": { + "bluebird": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", + "dev": true + } } }, "bmp-js": { @@ -4888,23 +4895,23 @@ "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" }, "builder-util": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-5.20.1.tgz", - "integrity": "sha512-rqSl3Tbi/sECIVWAys8Blic4UEzUpZkGgmVXR2mZwdVPreNnfY3MHqSGSxlJRMTqxSsO0SgxnAEnanBNw4212g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-8.0.0.tgz", + "integrity": "sha512-hszhXrRZKfBf+178Y+QZCLwSH5UXgnDX+/q+fIRtFktCk5Dc9ipdvHAKPVfzhc5vhiw/eVDdFUUX8ShAQcyyBA==", "dev": true, "requires": { - "7zip-bin": "~4.0.2", - "app-builder-bin": "2.0.0", - "bluebird-lst": "^1.0.5", - "builder-util-runtime": "^4.4.1", + "7zip-bin": "~4.1.0", + "app-builder-bin": "2.3.0", + "bluebird-lst": "^1.0.6", + "builder-util-runtime": "^6.1.0", "chalk": "^2.4.1", - "debug": "^3.1.0", - "fs-extra-p": "^4.6.1", - "is-ci": "^1.1.0", + "debug": "^4.1.0", + "fs-extra-p": "^7.0.0", + "is-ci": "^1.2.1", "js-yaml": "^3.12.0", "lazy-val": "^1.0.3", - "semver": "^5.5.0", - "source-map-support": "^0.5.6", + "semver": "^5.6.0", + "source-map-support": "^0.5.9", "stat-mode": "^0.2.2", "temp-file": "^3.1.3" }, @@ -4918,10 +4925,16 @@ "color-convert": "^1.9.0" } }, + "app-builder-bin": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.3.0.tgz", + "integrity": "sha512-jxquarsPVHkUMatxFZzuEmovy2pxaGCIsVqZiAIdQV7wm1Cbq3Jl+gsq26aMXFFIgsN19jCq2HCoXhVv+Mx7HA==", + "dev": true + }, "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", @@ -4929,13 +4942,19 @@ "supports-color": "^5.3.0" } }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "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.0.0" + "ms": "^2.1.1" } }, "esprima": { @@ -4950,20 +4969,35 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, "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.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.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==", + "dev": true + }, "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", "dev": true }, "source-map": { @@ -4973,9 +5007,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", - "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", + "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -4983,9 +5017,9 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "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" @@ -4994,25 +5028,31 @@ } }, "builder-util-runtime": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.4.1.tgz", - "integrity": "sha512-8L2pbL6D3VdI1f8OMknlZJpw0c7KK15BRz3cY77AOUElc4XlCv2UhVV01jJM7+6Lx7henaQh80ALULp64eFYAQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-6.1.0.tgz", + "integrity": "sha512-/1dvNkUNSlMQuIEMBGzJUS60tmDBBA6CYiWT5P9ZTIl2nskMX8VdEClTNTfknkCBQqZArgSTXfWrNmcbXEkbEg==", "dev": true, "requires": { - "bluebird-lst": "^1.0.5", - "debug": "^3.1.0", - "fs-extra-p": "^4.6.1", + "bluebird-lst": "^1.0.6", + "debug": "^4.1.0", + "fs-extra-p": "^7.0.0", "sax": "^1.2.4" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "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.0.0" + "ms": "^2.1.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==", + "dev": true } } }, @@ -7221,16 +7261,16 @@ "dev": true }, "dmg-builder": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-5.1.0.tgz", - "integrity": "sha512-Pyi64um0eZMwwyZeKM2ckhwuCQCvudcRXDwREHm7m9hYzzfKVWmExYXIV0+a9aaeqHesqxwfWyTwl3lwThW+Bw==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.1.2.tgz", + "integrity": "sha512-zhU2toylQ4A82mtubyDBmP0KJnF+b7uXVX+xIJwDR5fsPzIJIT9Uy0x2cwmhMby+4KrPBqg3bMHrbGgIPX7MNw==", "dev": true, "requires": { - "app-builder-lib": "~20.26.0", - "bluebird-lst": "^1.0.5", - "builder-util": "~5.20.0", - "fs-extra-p": "^4.6.1", - "iconv-lite": "^0.4.23", + "app-builder-lib": "~20.31.2", + "bluebird-lst": "^1.0.6", + "builder-util": "~8.0.0", + "fs-extra-p": "^7.0.0", + "iconv-lite": "^0.4.24", "js-yaml": "^3.12.0", "parse-color": "^1.0.0", "sanitize-filename": "^1.6.1" @@ -7243,18 +7283,18 @@ "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==", + "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" } }, "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.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -7756,24 +7796,24 @@ } }, "electron-builder": { - "version": "20.26.1", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.26.1.tgz", - "integrity": "sha512-WEqb8BVdcc8uSfWW9TA9WrltG4TDydwhlUIINkyXVOz68ckV56dSt383unTT9Awo+6oFsjABZdMMYtAjLAuDEw==", + "version": "20.31.3", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.31.3.tgz", + "integrity": "sha512-/niZQtE2DBKDHSdiNBQK2pdH5pS5I6X4eM1rFYVGEf5P+1aR2elQ/VjTWPCi5pVKBhUZk0ODeoiVHO/GCIyaTw==", "dev": true, "requires": { - "app-builder-lib": "20.26.1", - "bluebird-lst": "^1.0.5", - "builder-util": "5.20.1", - "builder-util-runtime": "4.4.1", + "app-builder-lib": "20.31.3", + "bluebird-lst": "^1.0.6", + "builder-util": "8.0.0", + "builder-util-runtime": "6.1.0", "chalk": "^2.4.1", - "dmg-builder": "5.1.0", - "fs-extra-p": "^4.6.1", - "is-ci": "^1.1.0", + "dmg-builder": "6.1.2", + "fs-extra-p": "^7.0.0", + "is-ci": "^1.2.1", "lazy-val": "^1.0.3", - "read-config-file": "3.1.0", + "read-config-file": "3.2.0", "sanitize-filename": "^1.6.1", "update-notifier": "^2.5.0", - "yargs": "^12.0.1" + "yargs": "^12.0.2" }, "dependencies": { "ansi-regex": { @@ -7792,15 +7832,15 @@ } }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", "dev": true }, "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", @@ -7808,6 +7848,12 @@ "supports-color": "^5.3.0" } }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -7819,13 +7865,32 @@ "wrap-ansi": "^2.0.0" } }, - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "xregexp": "4.0.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "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": { @@ -7837,18 +7902,51 @@ "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" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -7859,21 +7957,32 @@ "path-exists": "^3.0.0" } }, + "mem": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", + "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + } + }, "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "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" @@ -7894,6 +8003,22 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "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" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -7914,9 +8039,9 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "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" @@ -7947,32 +8072,33 @@ "dev": true }, "yargs": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", - "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", + "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": "^2.0.0", + "os-locale": "^3.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "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" } } } @@ -8045,9 +8171,9 @@ } }, "electron-osx-sign": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.10.tgz", - "integrity": "sha1-vk87ibKnWh3F8eckkIGrKSnKOiY=", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.11.tgz", + "integrity": "sha512-VVd40nrnVqymvFrY9ZkOYgHJOvexHHYTR3di/SN+mjJ0OWhR1I8BRVj3U+Yamw6hnkZZNKZp52rqL5EFAAPFkQ==", "dev": true, "requires": { "bluebird": "^3.5.0", @@ -8055,45 +8181,28 @@ "debug": "^2.6.8", "isbinaryfile": "^3.0.2", "minimist": "^1.2.0", - "plist": "^2.1.0" + "plist": "^3.0.1" }, "dependencies": { - "base64-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", - "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=", - "dev": true - }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true - }, - "plist": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", - "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=", - "dev": true, - "requires": { - "base64-js": "1.2.0", - "xmlbuilder": "8.2.2", - "xmldom": "0.1.x" - } } } }, "electron-publish": { - "version": "20.26.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.26.0.tgz", - "integrity": "sha512-CPh/U+qyyG8HXrS3s/E2JAgrmysIMDij9VTqz2QAUAwExH1e5V06iII0eMn47BFRRVqw4yF8VMzefuugpwAbkg==", + "version": "20.31.2", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.31.2.tgz", + "integrity": "sha512-5R8Nxnc/26BJbvFn2h3oD8aoMMxjE5CnPWm5j92Cuze+Ht7x6AoSDQAa1Cx6L19X/HSE3DWjTXEOe08SP3N/QA==", "dev": true, "requires": { - "bluebird-lst": "^1.0.5", - "builder-util": "~5.20.0", - "builder-util-runtime": "^4.4.1", + "bluebird-lst": "^1.0.6", + "builder-util": "~8.0.0", + "builder-util-runtime": "^6.1.0", "chalk": "^2.4.1", - "fs-extra-p": "^4.6.1", + "fs-extra-p": "^7.0.0", "lazy-val": "^1.0.3", "mime": "^2.3.1" }, @@ -8108,9 +8217,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", @@ -8125,15 +8234,15 @@ "dev": true }, "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", + "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", "dev": true }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "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" @@ -10513,13 +10622,26 @@ } }, "fs-extra-p": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.6.1.tgz", - "integrity": "sha512-IsTMbUS0svZKZTvqF4vDS9c/L7Mw9n8nZQWWeSzAGacOSe+8CzowhUN0tdZEZFIJNP5HC7L9j3MMikz/G4hDeQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.0.tgz", + "integrity": "sha512-5tg5jBOd0xIXjwj4PDnafOXL5TyPVzjxLby4DPKev53wurEXp7IsojBaD4Lj5M5w7jxw0pbkEU0fFEPmcKoMnA==", "dev": true, "requires": { - "bluebird-lst": "^1.0.5", - "fs-extra": "^6.0.1" + "bluebird-lst": "^1.0.6", + "fs-extra": "^7.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, "fs-readdir-recursive": { @@ -10575,8 +10697,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.1.1", @@ -10627,8 +10748,7 @@ "balanced-match": { "version": "0.4.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", @@ -10643,7 +10763,6 @@ "version": "0.0.9", "bundled": true, "dev": true, - "optional": true, "requires": { "inherits": "~2.0.0" } @@ -10652,7 +10771,6 @@ "version": "2.10.1", "bundled": true, "dev": true, - "optional": true, "requires": { "hoek": "2.x.x" } @@ -10661,7 +10779,6 @@ "version": "1.1.7", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^0.4.1", "concat-map": "0.0.1" @@ -10670,8 +10787,7 @@ "buffer-shims": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "caseless": { "version": "0.12.0", @@ -10688,14 +10804,12 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "combined-stream": { "version": "1.0.5", "bundled": true, "dev": true, - "optional": true, "requires": { "delayed-stream": "~1.0.0" } @@ -10703,20 +10817,17 @@ "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "cryptiles": { "version": "2.0.5", @@ -10762,8 +10873,7 @@ "delayed-stream": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "delegates": { "version": "1.0.0", @@ -10789,8 +10899,7 @@ "extsprintf": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "forever-agent": { "version": "0.6.1", @@ -10812,14 +10921,12 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "fstream": { "version": "1.0.11", "bundled": true, "dev": true, - "optional": true, "requires": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", @@ -10875,7 +10982,6 @@ "version": "7.1.2", "bundled": true, "dev": true, - "optional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10888,8 +10994,7 @@ "graceful-fs": { "version": "4.1.11", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "har-schema": { "version": "1.0.5", @@ -10928,8 +11033,7 @@ "hoek": { "version": "2.16.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "http-signature": { "version": "1.1.1", @@ -10946,7 +11050,6 @@ "version": "1.0.6", "bundled": true, "dev": true, - "optional": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -10955,8 +11058,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.4", @@ -10968,7 +11070,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -10982,8 +11083,7 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "isstream": { "version": "0.1.2", @@ -11056,14 +11156,12 @@ "mime-db": { "version": "1.27.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "mime-types": { "version": "2.1.15", "bundled": true, "dev": true, - "optional": true, "requires": { "mime-db": "~1.27.0" } @@ -11072,7 +11170,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -11080,14 +11177,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "mkdirp": { "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -11140,8 +11235,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "oauth-sign": { "version": "0.8.2", @@ -11159,7 +11253,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -11189,8 +11282,7 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "performance-now": { "version": "0.2.0", @@ -11201,8 +11293,7 @@ "process-nextick-args": { "version": "1.0.7", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "punycode": { "version": "1.4.1", @@ -11240,7 +11331,6 @@ "version": "2.2.9", "bundled": true, "dev": true, - "optional": true, "requires": { "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", @@ -11285,7 +11375,6 @@ "version": "2.6.1", "bundled": true, "dev": true, - "optional": true, "requires": { "glob": "^7.0.5" } @@ -11293,8 +11382,7 @@ "safe-buffer": { "version": "5.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "semver": { "version": "5.3.0", @@ -11352,7 +11440,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -11363,7 +11450,6 @@ "version": "1.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.0.1" } @@ -11378,7 +11464,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -11393,7 +11478,6 @@ "version": "2.2.1", "bundled": true, "dev": true, - "optional": true, "requires": { "block-stream": "*", "fstream": "^1.0.2", @@ -11449,8 +11533,7 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "uuid": { "version": "3.0.1", @@ -11479,8 +11562,7 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -14863,6 +14945,15 @@ "tmpl": "1.0.x" } }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -15559,6 +15650,12 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", "dev": true }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", @@ -16123,12 +16220,24 @@ "object-assign": "^4.1.0" } }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, + "p-is-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", + "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", + "dev": true + }, "p-limit": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", @@ -17782,12 +17891,6 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", "dev": true - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true } } }, @@ -20074,7 +20177,7 @@ "resolved": "https://registry.npmjs.org/react-qr-reader/-/react-qr-reader-2.0.1.tgz", "integrity": "sha512-J/VuCq/udEqry7Z4nXGTbguetfSdRJr1Cv0lYKbVKIW1blfhB0Xe6OjO+5Th5B8884+s40BDFwtqP67h7YTtYA==", "requires": { - "jsqr": "git+https://github.com/cozmo/jsQR.git", + "jsqr": "git+https://github.com/cozmo/jsQR.git#92217b7661aa6801b0a4fa5a4a9d41b5a3b8ec03", "prop-types": "^15.5.8", "webrtc-adapter": "^5.0.6" } @@ -21168,44 +21271,44 @@ "dev": true }, "read-config-file": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.1.0.tgz", - "integrity": "sha512-z3VTrR9fgFu+Ll6MhTdtxbPFBKNGKgzYYnRjOcZvQeE/zwJTjPYVrps0ATgaSWU2/BnucUg3knP+Oz4zo9vEoA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.2.0.tgz", + "integrity": "sha512-i1QRc5jy4sHm9YBGb6ArA5SU1mDrc5wu2mnm3r9gPnm+LVZhBGbpTCKqAXyvV4TJHnBR3Yaaww+9b3DyRZcfww==", "dev": true, "requires": { - "ajv": "^6.5.2", + "ajv": "^6.5.5", "ajv-keywords": "^3.2.0", - "bluebird-lst": "^1.0.5", - "dotenv": "^6.0.0", + "bluebird-lst": "^1.0.6", + "dotenv": "^6.1.0", "dotenv-expand": "^4.2.0", - "fs-extra-p": "^4.6.1", + "fs-extra-p": "^7.0.0", "js-yaml": "^3.12.0", - "json5": "^1.0.1", + "json5": "^2.1.0", "lazy-val": "^1.0.3" }, "dependencies": { "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz", + "integrity": "sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==", "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.1" + "uri-js": "^4.2.2" } }, "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.3.0.tgz", + "integrity": "sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g==", "dev": true }, "dotenv": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.0.0.tgz", - "integrity": "sha512-FlWbnhgjtwD+uNLUGHbMykMOYQaTivdHEmYwAKFjn6GKe/CqY0fNae93ZHTd20snh9ZLr8mTzIL9m0APQ1pjQg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", "dev": true }, "esprima": { @@ -21221,9 +21324,9 @@ "dev": true }, "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.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -21237,9 +21340,9 @@ "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -24152,15 +24255,14 @@ } }, "temp-file": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.1.3.tgz", - "integrity": "sha512-oz2J77loDE9sGrlRTqBzwbsUvoBD2BpyXeaRPKyGwBIwaamSs2jdqAfhutw7Tch9llr1u8E2ruoug09rNPa3PA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.2.tgz", + "integrity": "sha512-FGKccAW0Mux9hC/2bdUIe4bJRv4OyVo4RpVcuplFird1V/YoplIFbnPZjfzbJSf/qNvRZIRB9/4n/RkI0GziuQ==", "dev": true, "requires": { "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.5", - "fs-extra-p": "^4.6.1", - "lazy-val": "^1.0.3" + "bluebird-lst": "^1.0.6", + "fs-extra-p": "^7.0.0" } }, "term-size": { @@ -26232,9 +26334,9 @@ } }, "xmlbuilder": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", - "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", "dev": true }, "xmldom": { @@ -26243,12 +26345,6 @@ "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=", "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 - }, "xss-filters": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/xss-filters/-/xss-filters-1.2.7.tgz", diff --git a/package.json b/package.json index 2d4e74b9d..e5cdb5842 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "css-loader": "0.28.4", "ejs-loader": "0.3.0", "electron": "4.0.3", - "electron-builder": "20.26.1", + "electron-builder": "20.31.3", "empty-module": "0.0.2", "enzyme": "3.2.0", "enzyme-adapter-react-16": "1.1.0", From c7a364141b019ca286987c31b208311bb14e4e56 Mon Sep 17 00:00:00 2001 From: manihagh <47037057+manihagh@users.noreply.github.com> Date: Fri, 1 Feb 2019 17:41:53 +0100 Subject: [PATCH 32/36] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a81aef1e3..40fe1f5fb 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ To quickly get started just download the binary for your OS and install the software. -[Windows](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.3/energyweb-ui-setup-0.4.3.exe) +[Windows](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.4/energyweb-ui-setup-0.4.4.exe) -[Mac](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.3/energyweb-ui-0.4.3.pkg) +[Mac](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.4/energyweb-ui-0.4.4.pkg) -[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.3/energyweb-ui_0.4.3_amd64.deb) +[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.4/energyweb-ui_0.4.4_amd64.deb) [Release history](https://github.com/energywebfoundation/energyweb-ui/releases) From e45ac3c95be3ae9edaa46dd1b5ac88399eedd2a3 Mon Sep 17 00:00:00 2001 From: Mani H Date: Wed, 6 Feb 2019 18:15:25 +0100 Subject: [PATCH 33/36] Updated parity client version. --- package-lock.json | 29 +++++------------------------ package.json | 4 ++-- 2 files changed, 7 insertions(+), 26 deletions(-) diff --git a/package-lock.json b/package-lock.json index efb239f0b..5c25765fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -517,7 +517,6 @@ "redux-actions": "1.1.0", "redux-thunk": "2.1.0", "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "useragent.js": "^0.5.6", "yargs": "6.6.0" }, @@ -525,20 +524,17 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, "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" @@ -548,7 +544,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -557,7 +552,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -585,7 +579,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, "requires": { "lcid": "^1.0.0" } @@ -594,7 +587,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -617,7 +609,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -628,7 +619,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -636,8 +626,7 @@ }, "solc": { "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "from": "github:ngotchac/solc-js", - "dev": true, + "from": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", "requires": { "memorystream": "^0.3.1", "require-from-string": "^1.1.0", @@ -648,7 +637,6 @@ "version": "4.8.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "dev": true, "requires": { "cliui": "^3.2.0", "decamelize": "^1.1.1", @@ -672,7 +660,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -683,7 +670,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -692,7 +678,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, "requires": { "is-utf8": "^0.2.0" } @@ -700,14 +685,12 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "yargs-parser": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "dev": true, "requires": { "camelcase": "^3.0.0", "lodash.assign": "^4.0.6" @@ -1865,15 +1848,13 @@ "integrity": "sha512-ruBF8KaSwUW9nbzjO4rA7/HOCGYZuNUz9od7uBRy8SRBi24nwxWWmwa2z8R6vPGDRglA0y2Qk1aVBuC1olTnHw==", "dev": true, "requires": { - "jsqr": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b", "prop-types": "^15.5.8", "webrtc-adapter": "^2.0.8" }, "dependencies": { "jsqr": { "version": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b", - "from": "git+https://github.com/JodusNodus/jsQR.git", - "dev": true + "from": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b" } } }, diff --git a/package.json b/package.json index e5cdb5842..f363387aa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "energyweb-ui", - "version": "0.4.4", + "version": "0.4.5", "description": "The Electron app for EnergyWeb UI", "main": ".build/electron.js", "jsnext:main": ".build/electron.js", @@ -27,7 +27,7 @@ "Tobalaba" ], "parity": { - "channel": "v2.3.0" + "channel": "v2.3.2" }, "scripts": { "build": "npm run build:inject && npm run build:app && npm run build:electron && npm run build:embed", From a9ef89c407df4dd4866fb58f0314313e5a15dfad Mon Sep 17 00:00:00 2001 From: ngyam Date: Fri, 15 Feb 2019 16:16:46 +0100 Subject: [PATCH 34/36] feat(client): version updated to 2.3.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f363387aa..b28fb8341 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "Tobalaba" ], "parity": { - "channel": "v2.3.2" + "channel": "v2.3.3" }, "scripts": { "build": "npm run build:inject && npm run build:app && npm run build:electron && npm run build:embed", From 0fe4195c2328579f1977137ffbaa2aae35da939c Mon Sep 17 00:00:00 2001 From: ngyam Date: Fri, 15 Feb 2019 16:42:44 +0100 Subject: [PATCH 35/36] 0.4.6 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5c25765fe..6412c4239 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "energyweb-ui", - "version": "0.4.4", + "version": "0.4.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b28fb8341..ed47788e3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "energyweb-ui", - "version": "0.4.5", + "version": "0.4.6", "description": "The Electron app for EnergyWeb UI", "main": ".build/electron.js", "jsnext:main": ".build/electron.js", From 6a010b0c2ec996b40c95148560732a17807f65ca Mon Sep 17 00:00:00 2001 From: "Adam Z. Nagy" Date: Fri, 15 Feb 2019 17:42:01 +0100 Subject: [PATCH 36/36] update(README): links updated to v0.4.6 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 40fe1f5fb..3d893c7f1 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ To quickly get started just download the binary for your OS and install the software. -[Windows](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.4/energyweb-ui-setup-0.4.4.exe) +[Windows](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.6/energyweb-ui-setup-0.4.6.exe) -[Mac](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.4/energyweb-ui-0.4.4.pkg) +[Mac](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.6/energyweb-ui-0.4.6.pkg) -[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.4/energyweb-ui_0.4.4_amd64.deb) +[Linux](https://github.com/energywebfoundation/energyweb-ui/releases/download/v0.4.6/energyweb-ui_0.4.6_amd64.deb) [Release history](https://github.com/energywebfoundation/energyweb-ui/releases)