From c912c06b05bc02511779c9a873dbf3f18ead87ad Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 27 Dec 2019 15:49:36 +0100 Subject: [PATCH 01/13] Initial wmio init framework --- .../NetatmoSecurity/auth.conf | 4 + .../NetatmoSecurity/authentication.js | 29 + .../NetatmoSecurity/icon/icon.png | Bin 0 -> 6500 bytes .../NetatmoSecurity/index.json | 9 + .../node_modules/.bin/har-validator | 15 + .../node_modules/.bin/har-validator.cmd | 7 + .../NetatmoSecurity/node_modules/.bin/uuid | 15 + .../node_modules/.bin/uuid.cmd | 7 + .../@webmethodsio/cli-sdk/LICENSE | 21 + .../@webmethodsio/cli-sdk/index.js | 7 + .../@webmethodsio/cli-sdk/logger/index.js | 26 + .../@webmethodsio/cli-sdk/package.json | 38 + .../cli-sdk/trigger/custom_filter.js | 507 + .../@webmethodsio/cli-sdk/trigger/index.js | 9 + .../cli-sdk/trigger/option_helper.js | 24 + .../node_modules/ansi-regex/index.js | 4 + .../node_modules/ansi-regex/license | 21 + .../node_modules/ansi-regex/package.json | 109 + .../node_modules/ansi-regex/readme.md | 39 + .../node_modules/ansi-styles/index.js | 65 + .../node_modules/ansi-styles/license | 21 + .../node_modules/ansi-styles/package.json | 90 + .../node_modules/ansi-styles/readme.md | 86 + .../node_modules/asn1/.npmignore | 2 + .../NetatmoSecurity/node_modules/asn1/LICENSE | 19 + .../node_modules/asn1/README.md | 50 + .../node_modules/asn1/lib/ber/errors.js | 13 + .../node_modules/asn1/lib/ber/index.js | 27 + .../node_modules/asn1/lib/ber/reader.js | 267 + .../node_modules/asn1/lib/ber/types.js | 36 + .../node_modules/asn1/lib/ber/writer.js | 317 + .../node_modules/asn1/lib/index.js | 20 + .../node_modules/asn1/package.json | 64 + .../node_modules/asn1/tst/ber/reader.test.js | 172 + .../node_modules/asn1/tst/ber/writer.test.js | 296 + .../node_modules/assert-plus/README.md | 126 + .../node_modules/assert-plus/assert.js | 245 + .../node_modules/assert-plus/package.json | 49 + .../node_modules/async/.travis.yml | 5 + .../node_modules/async/LICENSE | 19 + .../node_modules/async/README.md | 1647 ++ .../node_modules/async/bower.json | 38 + .../node_modules/async/component.json | 16 + .../node_modules/async/lib/async.js | 1123 + .../node_modules/async/package.json | 82 + .../async/support/sync-package-managers.js | 53 + .../node_modules/aws-sign2/LICENSE | 55 + .../node_modules/aws-sign2/README.md | 4 + .../node_modules/aws-sign2/index.js | 202 + .../node_modules/aws-sign2/package.json | 49 + .../NetatmoSecurity/node_modules/bl/.jshintrc | 59 + .../node_modules/bl/.npmignore | 1 + .../node_modules/bl/.travis.yml | 11 + .../node_modules/bl/LICENSE.md | 13 + .../NetatmoSecurity/node_modules/bl/README.md | 198 + .../NetatmoSecurity/node_modules/bl/bl.js | 221 + .../node_modules/bl/package.json | 63 + .../node_modules/bl/test/basic-test.js | 557 + .../node_modules/bl/test/sauce.js | 38 + .../node_modules/bl/test/test.js | 9 + .../node_modules/bluebird/LICENSE | 21 + .../node_modules/bluebird/README.md | 677 + .../node_modules/bluebird/changelog.md | 1730 ++ .../bluebird/js/browser/bluebird.js | 4892 +++++ .../bluebird/js/browser/bluebird.min.js | 31 + .../node_modules/bluebird/js/main/any.js | 21 + .../node_modules/bluebird/js/main/assert.js | 55 + .../node_modules/bluebird/js/main/async.js | 150 + .../node_modules/bluebird/js/main/bind.js | 72 + .../node_modules/bluebird/js/main/bluebird.js | 11 + .../node_modules/bluebird/js/main/call_get.js | 123 + .../node_modules/bluebird/js/main/cancel.js | 48 + .../bluebird/js/main/captured_trace.js | 493 + .../bluebird/js/main/catch_filter.js | 66 + .../node_modules/bluebird/js/main/context.js | 38 + .../bluebird/js/main/debuggability.js | 162 + .../bluebird/js/main/direct_resolve.js | 63 + .../node_modules/bluebird/js/main/each.js | 12 + .../node_modules/bluebird/js/main/errors.js | 111 + .../node_modules/bluebird/js/main/es5.js | 80 + .../node_modules/bluebird/js/main/filter.js | 12 + .../node_modules/bluebird/js/main/finally.js | 98 + .../bluebird/js/main/generators.js | 136 + .../node_modules/bluebird/js/main/join.js | 107 + .../node_modules/bluebird/js/main/map.js | 133 + .../node_modules/bluebird/js/main/method.js | 44 + .../node_modules/bluebird/js/main/nodeify.js | 59 + .../node_modules/bluebird/js/main/progress.js | 76 + .../node_modules/bluebird/js/main/promise.js | 759 + .../bluebird/js/main/promise_array.js | 142 + .../bluebird/js/main/promise_resolver.js | 123 + .../bluebird/js/main/promisify.js | 307 + .../node_modules/bluebird/js/main/props.js | 79 + .../node_modules/bluebird/js/main/queue.js | 90 + .../node_modules/bluebird/js/main/race.js | 47 + .../node_modules/bluebird/js/main/reduce.js | 148 + .../node_modules/bluebird/js/main/schedule.js | 35 + .../node_modules/bluebird/js/main/settle.js | 40 + .../node_modules/bluebird/js/main/some.js | 125 + .../js/main/synchronous_inspection.js | 94 + .../bluebird/js/main/thenables.js | 84 + .../node_modules/bluebird/js/main/timers.js | 64 + .../node_modules/bluebird/js/main/using.js | 213 + .../node_modules/bluebird/js/main/util.js | 321 + .../node_modules/bluebird/package.json | 103 + .../node_modules/boom/.npmignore | 18 + .../node_modules/boom/.travis.yml | 8 + .../node_modules/boom/CONTRIBUTING.md | 1 + .../NetatmoSecurity/node_modules/boom/LICENSE | 28 + .../node_modules/boom/README.md | 652 + .../node_modules/boom/images/boom.png | Bin 0 -> 29479 bytes .../node_modules/boom/lib/index.js | 318 + .../node_modules/boom/package.json | 59 + .../node_modules/boom/test/index.js | 654 + .../node_modules/caseless/README.md | 45 + .../node_modules/caseless/index.js | 65 + .../node_modules/caseless/package.json | 56 + .../node_modules/caseless/test.js | 40 + .../node_modules/chalk/index.js | 116 + .../node_modules/chalk/license | 21 + .../node_modules/chalk/package.json | 114 + .../node_modules/chalk/readme.md | 213 + .../node_modules/combined-stream/License | 19 + .../node_modules/combined-stream/Readme.md | 132 + .../combined-stream/lib/combined_stream.js | 188 + .../node_modules/combined-stream/package.json | 57 + .../node_modules/commander/CHANGELOG.md | 419 + .../node_modules/commander/LICENSE | 22 + .../node_modules/commander/Readme.md | 428 + .../node_modules/commander/index.js | 1224 ++ .../node_modules/commander/package.json | 70 + .../node_modules/commander/typings/index.d.ts | 310 + .../node_modules/core-util-is/LICENSE | 19 + .../node_modules/core-util-is/README.md | 3 + .../node_modules/core-util-is/float.patch | 604 + .../node_modules/core-util-is/lib/util.js | 107 + .../node_modules/core-util-is/package.json | 62 + .../node_modules/core-util-is/test.js | 68 + .../node_modules/cryptiles/.npmignore | 18 + .../node_modules/cryptiles/.travis.yml | 8 + .../node_modules/cryptiles/LICENSE | 28 + .../node_modules/cryptiles/README.md | 16 + .../node_modules/cryptiles/lib/index.js | 68 + .../node_modules/cryptiles/package.json | 59 + .../node_modules/cryptiles/test/index.js | 102 + .../node_modules/ctype/.npmignore | 1 + .../node_modules/ctype/CHANGELOG | 78 + .../node_modules/ctype/LICENSE | 24 + .../NetatmoSecurity/node_modules/ctype/README | 82 + .../node_modules/ctype/README.old | 298 + .../NetatmoSecurity/node_modules/ctype/ctf.js | 245 + .../node_modules/ctype/ctio.js | 1485 ++ .../node_modules/ctype/ctype.js | 944 + .../ctype/man/man3ctype/ctio.3ctype | 241 + .../node_modules/ctype/package.json | 46 + .../node_modules/ctype/tools/jsl.conf | 129 + .../node_modules/ctype/tools/jsstyle | 839 + .../node_modules/delayed-stream/.npmignore | 2 + .../node_modules/delayed-stream/License | 19 + .../node_modules/delayed-stream/Makefile | 7 + .../node_modules/delayed-stream/Readme.md | 154 + .../delayed-stream/lib/delayed_stream.js | 99 + .../node_modules/delayed-stream/package.json | 52 + .../delayed-stream/test/common.js | 6 + .../integration/test-delayed-http-upload.js | 38 + .../test-delayed-stream-auto-pause.js | 21 + .../integration/test-delayed-stream-pause.js | 14 + .../test/integration/test-delayed-stream.js | 48 + .../integration/test-handle-source-errors.js | 15 + .../test/integration/test-max-data-size.js | 18 + .../test/integration/test-pipe-resumes.js | 13 + .../test/integration/test-proxy-readable.js | 13 + .../node_modules/delayed-stream/test/run.js | 7 + .../escape-string-regexp/index.js | 11 + .../node_modules/escape-string-regexp/license | 21 + .../escape-string-regexp/package.json | 81 + .../escape-string-regexp/readme.md | 27 + .../node_modules/forever-agent/LICENSE | 55 + .../node_modules/forever-agent/README.md | 4 + .../node_modules/forever-agent/index.js | 138 + .../node_modules/forever-agent/package.json | 50 + .../node_modules/form-data/License | 19 + .../node_modules/form-data/Readme.md | 175 + .../node_modules/form-data/lib/form_data.js | 351 + .../node_modules/form-data/package.json | 67 + .../generate-function/.travis.yml | 3 + .../node_modules/generate-function/LICENSE | 21 + .../node_modules/generate-function/README.md | 89 + .../node_modules/generate-function/example.js | 27 + .../node_modules/generate-function/index.js | 181 + .../generate-function/package.json | 59 + .../node_modules/generate-function/test.js | 49 + .../generate-object-property/.npmignore | 1 + .../generate-object-property/.travis.yml | 3 + .../generate-object-property/LICENSE | 21 + .../generate-object-property/README.md | 19 + .../generate-object-property/index.js | 12 + .../generate-object-property/package.json | 53 + .../generate-object-property/test.js | 12 + .../node_modules/har-validator/LICENSE | 13 + .../node_modules/har-validator/README.md | 362 + .../har-validator/bin/har-validator | 45 + .../node_modules/har-validator/lib/error.js | 10 + .../node_modules/har-validator/lib/index.js | 39 + .../har-validator/lib/schemas/cache.json | 13 + .../har-validator/lib/schemas/cacheEntry.json | 31 + .../har-validator/lib/schemas/content.json | 27 + .../har-validator/lib/schemas/cookie.json | 34 + .../har-validator/lib/schemas/creator.json | 18 + .../har-validator/lib/schemas/entry.json | 51 + .../har-validator/lib/schemas/har.json | 11 + .../har-validator/lib/schemas/index.js | 49 + .../har-validator/lib/schemas/log.json | 34 + .../har-validator/lib/schemas/page.json | 30 + .../lib/schemas/pageTimings.json | 16 + .../har-validator/lib/schemas/postData.json | 41 + .../har-validator/lib/schemas/record.json | 18 + .../har-validator/lib/schemas/request.json | 55 + .../har-validator/lib/schemas/response.json | 52 + .../har-validator/lib/schemas/timings.json | 40 + .../node_modules/har-validator/package.json | 89 + .../node_modules/has-ansi/index.js | 4 + .../node_modules/has-ansi/license | 21 + .../node_modules/has-ansi/package.json | 95 + .../node_modules/has-ansi/readme.md | 36 + .../node_modules/hawk/.npmignore | 20 + .../node_modules/hawk/.travis.yml | 5 + .../NetatmoSecurity/node_modules/hawk/LICENSE | 28 + .../node_modules/hawk/Makefile | 8 + .../node_modules/hawk/README.md | 635 + .../node_modules/hawk/bower.json | 24 + .../node_modules/hawk/component.json | 19 + .../node_modules/hawk/example/usage.js | 78 + .../node_modules/hawk/images/hawk.png | Bin 0 -> 6945 bytes .../node_modules/hawk/images/logo.png | Bin 0 -> 71732 bytes .../node_modules/hawk/index.js | 1 + .../node_modules/hawk/lib/browser.js | 641 + .../node_modules/hawk/lib/client.js | 369 + .../node_modules/hawk/lib/crypto.js | 126 + .../node_modules/hawk/lib/index.js | 15 + .../node_modules/hawk/lib/server.js | 534 + .../node_modules/hawk/lib/utils.js | 164 + .../node_modules/hawk/package.json | 74 + .../node_modules/hawk/test/browser.js | 1453 ++ .../node_modules/hawk/test/client.js | 443 + .../node_modules/hawk/test/crypto.js | 86 + .../node_modules/hawk/test/index.js | 378 + .../node_modules/hawk/test/message.js | 261 + .../node_modules/hawk/test/readme.js | 98 + .../node_modules/hawk/test/server.js | 985 + .../node_modules/hawk/test/uri.js | 590 + .../node_modules/hawk/test/utils.js | 120 + .../node_modules/hoek/.npmignore | 18 + .../node_modules/hoek/.travis.yml | 7 + .../node_modules/hoek/CONTRIBUTING.md | 1 + .../NetatmoSecurity/node_modules/hoek/LICENSE | 31 + .../node_modules/hoek/README.md | 584 + .../node_modules/hoek/images/hoek.png | Bin 0 -> 37939 bytes .../node_modules/hoek/lib/escape.js | 132 + .../node_modules/hoek/lib/index.js | 993 + .../node_modules/hoek/package.json | 57 + .../node_modules/hoek/test/escaper.js | 88 + .../node_modules/hoek/test/index.js | 2513 +++ .../node_modules/hoek/test/modules/ignore.txt | 0 .../node_modules/hoek/test/modules/test1.js | 1 + .../node_modules/hoek/test/modules/test2.js | 1 + .../node_modules/hoek/test/modules/test3.js | 1 + .../http-signature/.dir-locals.el | 6 + .../node_modules/http-signature/.npmignore | 7 + .../node_modules/http-signature/LICENSE | 18 + .../node_modules/http-signature/README.md | 79 + .../http-signature/http_signing.md | 296 + .../node_modules/http-signature/lib/index.js | 26 + .../node_modules/http-signature/lib/parser.js | 304 + .../node_modules/http-signature/lib/signer.js | 178 + .../node_modules/http-signature/lib/util.js | 304 + .../node_modules/http-signature/lib/verify.js | 42 + .../node_modules/http-signature/package.json | 72 + .../node_modules/inherits/LICENSE | 16 + .../node_modules/inherits/README.md | 42 + .../node_modules/inherits/inherits.js | 9 + .../node_modules/inherits/inherits_browser.js | 27 + .../node_modules/inherits/package.json | 61 + .../node_modules/ip-regex/index.js | 24 + .../node_modules/ip-regex/license | 21 + .../node_modules/ip-regex/package.json | 77 + .../node_modules/ip-regex/readme.md | 63 + .../fixtures/invalid-ipv4-addresses.json | 19 + .../fixtures/invalid-ipv6-addresses.json | 335 + .../fixtures/valid-ipv4-addresses.json | 6 + .../fixtures/valid-ipv6-addresses.json | 189 + .../node_modules/is-my-ip-valid/index.js | 90 + .../node_modules/is-my-ip-valid/package.json | 46 + .../node_modules/is-my-ip-valid/readme.md | 42 + .../node_modules/is-my-ip-valid/test.js | 26 + .../node_modules/is-my-json-valid/LICENSE | 21 + .../node_modules/is-my-json-valid/README.md | 263 + .../node_modules/is-my-json-valid/formats.js | 40 + .../node_modules/is-my-json-valid/index.d.ts | 127 + .../node_modules/is-my-json-valid/index.js | 603 + .../is-my-json-valid/package.json | 66 + .../node_modules/is-my-json-valid/require.js | 12 + .../node_modules/is-property/.npmignore | 17 + .../node_modules/is-property/LICENSE | 22 + .../node_modules/is-property/README.md | 28 + .../node_modules/is-property/is-property.js | 5 + .../node_modules/is-property/package.json | 64 + .../node_modules/isarray/README.md | 54 + .../node_modules/isarray/build/build.js | 209 + .../node_modules/isarray/component.json | 19 + .../node_modules/isarray/index.js | 3 + .../node_modules/isarray/package.json | 57 + .../node_modules/isstream/.jshintrc | 59 + .../node_modules/isstream/.npmignore | 1 + .../node_modules/isstream/.travis.yml | 12 + .../node_modules/isstream/LICENSE.md | 11 + .../node_modules/isstream/README.md | 66 + .../node_modules/isstream/isstream.js | 27 + .../node_modules/isstream/package.json | 61 + .../node_modules/isstream/test.js | 168 + .../json-stringify-safe/.npmignore | 1 + .../json-stringify-safe/CHANGELOG.md | 14 + .../node_modules/json-stringify-safe/LICENSE | 15 + .../node_modules/json-stringify-safe/Makefile | 35 + .../json-stringify-safe/README.md | 52 + .../json-stringify-safe/package.json | 66 + .../json-stringify-safe/stringify.js | 27 + .../json-stringify-safe/test/mocha.opts | 2 + .../test/stringify_test.js | 246 + .../node_modules/jsonpointer/LICENSE.md | 21 + .../node_modules/jsonpointer/README.md | 39 + .../node_modules/jsonpointer/jsonpointer.js | 93 + .../node_modules/jsonpointer/package.json | 72 + .../node_modules/lodash/LICENSE | 47 + .../node_modules/lodash/README.md | 39 + .../node_modules/lodash/_DataView.js | 7 + .../node_modules/lodash/_Hash.js | 32 + .../node_modules/lodash/_LazyWrapper.js | 28 + .../node_modules/lodash/_ListCache.js | 32 + .../node_modules/lodash/_LodashWrapper.js | 22 + .../node_modules/lodash/_Map.js | 7 + .../node_modules/lodash/_MapCache.js | 32 + .../node_modules/lodash/_Promise.js | 7 + .../node_modules/lodash/_Set.js | 7 + .../node_modules/lodash/_SetCache.js | 27 + .../node_modules/lodash/_Stack.js | 27 + .../node_modules/lodash/_Symbol.js | 6 + .../node_modules/lodash/_Uint8Array.js | 6 + .../node_modules/lodash/_WeakMap.js | 7 + .../node_modules/lodash/_apply.js | 21 + .../node_modules/lodash/_arrayAggregator.js | 22 + .../node_modules/lodash/_arrayEach.js | 22 + .../node_modules/lodash/_arrayEachRight.js | 21 + .../node_modules/lodash/_arrayEvery.js | 23 + .../node_modules/lodash/_arrayFilter.js | 25 + .../node_modules/lodash/_arrayIncludes.js | 17 + .../node_modules/lodash/_arrayIncludesWith.js | 22 + .../node_modules/lodash/_arrayLikeKeys.js | 49 + .../node_modules/lodash/_arrayMap.js | 21 + .../node_modules/lodash/_arrayPush.js | 20 + .../node_modules/lodash/_arrayReduce.js | 26 + .../node_modules/lodash/_arrayReduceRight.js | 24 + .../node_modules/lodash/_arraySample.js | 15 + .../node_modules/lodash/_arraySampleSize.js | 17 + .../node_modules/lodash/_arrayShuffle.js | 15 + .../node_modules/lodash/_arraySome.js | 23 + .../node_modules/lodash/_asciiSize.js | 12 + .../node_modules/lodash/_asciiToArray.js | 12 + .../node_modules/lodash/_asciiWords.js | 15 + .../node_modules/lodash/_assignMergeValue.js | 20 + .../node_modules/lodash/_assignValue.js | 28 + .../node_modules/lodash/_assocIndexOf.js | 21 + .../node_modules/lodash/_baseAggregator.js | 21 + .../node_modules/lodash/_baseAssign.js | 17 + .../node_modules/lodash/_baseAssignIn.js | 17 + .../node_modules/lodash/_baseAssignValue.js | 25 + .../node_modules/lodash/_baseAt.js | 23 + .../node_modules/lodash/_baseClamp.js | 22 + .../node_modules/lodash/_baseClone.js | 171 + .../node_modules/lodash/_baseConforms.js | 18 + .../node_modules/lodash/_baseConformsTo.js | 27 + .../node_modules/lodash/_baseCreate.js | 30 + .../node_modules/lodash/_baseDelay.js | 21 + .../node_modules/lodash/_baseDifference.js | 67 + .../node_modules/lodash/_baseEach.js | 14 + .../node_modules/lodash/_baseEachRight.js | 14 + .../node_modules/lodash/_baseEvery.js | 21 + .../node_modules/lodash/_baseExtremum.js | 32 + .../node_modules/lodash/_baseFill.js | 32 + .../node_modules/lodash/_baseFilter.js | 21 + .../node_modules/lodash/_baseFindIndex.js | 24 + .../node_modules/lodash/_baseFindKey.js | 23 + .../node_modules/lodash/_baseFlatten.js | 38 + .../node_modules/lodash/_baseFor.js | 16 + .../node_modules/lodash/_baseForOwn.js | 16 + .../node_modules/lodash/_baseForOwnRight.js | 16 + .../node_modules/lodash/_baseForRight.js | 15 + .../node_modules/lodash/_baseFunctions.js | 19 + .../node_modules/lodash/_baseGet.js | 24 + .../node_modules/lodash/_baseGetAllKeys.js | 20 + .../node_modules/lodash/_baseGetTag.js | 28 + .../node_modules/lodash/_baseGt.js | 14 + .../node_modules/lodash/_baseHas.js | 19 + .../node_modules/lodash/_baseHasIn.js | 13 + .../node_modules/lodash/_baseInRange.js | 18 + .../node_modules/lodash/_baseIndexOf.js | 20 + .../node_modules/lodash/_baseIndexOfWith.js | 23 + .../node_modules/lodash/_baseIntersection.js | 74 + .../node_modules/lodash/_baseInverter.js | 21 + .../node_modules/lodash/_baseInvoke.js | 24 + .../node_modules/lodash/_baseIsArguments.js | 18 + .../node_modules/lodash/_baseIsArrayBuffer.js | 17 + .../node_modules/lodash/_baseIsDate.js | 18 + .../node_modules/lodash/_baseIsEqual.js | 28 + .../node_modules/lodash/_baseIsEqualDeep.js | 83 + .../node_modules/lodash/_baseIsMap.js | 18 + .../node_modules/lodash/_baseIsMatch.js | 62 + .../node_modules/lodash/_baseIsNaN.js | 12 + .../node_modules/lodash/_baseIsNative.js | 47 + .../node_modules/lodash/_baseIsRegExp.js | 18 + .../node_modules/lodash/_baseIsSet.js | 18 + .../node_modules/lodash/_baseIsTypedArray.js | 60 + .../node_modules/lodash/_baseIteratee.js | 31 + .../node_modules/lodash/_baseKeys.js | 30 + .../node_modules/lodash/_baseKeysIn.js | 33 + .../node_modules/lodash/_baseLodash.js | 10 + .../node_modules/lodash/_baseLt.js | 14 + .../node_modules/lodash/_baseMap.js | 22 + .../node_modules/lodash/_baseMatches.js | 22 + .../lodash/_baseMatchesProperty.js | 33 + .../node_modules/lodash/_baseMean.js | 20 + .../node_modules/lodash/_baseMerge.js | 42 + .../node_modules/lodash/_baseMergeDeep.js | 94 + .../node_modules/lodash/_baseNth.js | 20 + .../node_modules/lodash/_baseOrderBy.js | 34 + .../node_modules/lodash/_basePick.js | 19 + .../node_modules/lodash/_basePickBy.js | 30 + .../node_modules/lodash/_baseProperty.js | 14 + .../node_modules/lodash/_basePropertyDeep.js | 16 + .../node_modules/lodash/_basePropertyOf.js | 14 + .../node_modules/lodash/_basePullAll.js | 51 + .../node_modules/lodash/_basePullAt.js | 37 + .../node_modules/lodash/_baseRandom.js | 18 + .../node_modules/lodash/_baseRange.js | 28 + .../node_modules/lodash/_baseReduce.js | 23 + .../node_modules/lodash/_baseRepeat.js | 35 + .../node_modules/lodash/_baseRest.js | 17 + .../node_modules/lodash/_baseSample.js | 15 + .../node_modules/lodash/_baseSampleSize.js | 18 + .../node_modules/lodash/_baseSet.js | 47 + .../node_modules/lodash/_baseSetData.js | 17 + .../node_modules/lodash/_baseSetToString.js | 22 + .../node_modules/lodash/_baseShuffle.js | 15 + .../node_modules/lodash/_baseSlice.js | 31 + .../node_modules/lodash/_baseSome.js | 22 + .../node_modules/lodash/_baseSortBy.js | 21 + .../node_modules/lodash/_baseSortedIndex.js | 42 + .../node_modules/lodash/_baseSortedIndexBy.js | 64 + .../node_modules/lodash/_baseSortedUniq.js | 30 + .../node_modules/lodash/_baseSum.js | 24 + .../node_modules/lodash/_baseTimes.js | 20 + .../node_modules/lodash/_baseToNumber.js | 24 + .../node_modules/lodash/_baseToPairs.js | 18 + .../node_modules/lodash/_baseToString.js | 37 + .../node_modules/lodash/_baseUnary.js | 14 + .../node_modules/lodash/_baseUniq.js | 72 + .../node_modules/lodash/_baseUnset.js | 20 + .../node_modules/lodash/_baseUpdate.js | 18 + .../node_modules/lodash/_baseValues.js | 19 + .../node_modules/lodash/_baseWhile.js | 26 + .../node_modules/lodash/_baseWrapperValue.js | 25 + .../node_modules/lodash/_baseXor.js | 36 + .../node_modules/lodash/_baseZipObject.js | 23 + .../node_modules/lodash/_cacheHas.js | 13 + .../lodash/_castArrayLikeObject.js | 14 + .../node_modules/lodash/_castFunction.js | 14 + .../node_modules/lodash/_castPath.js | 21 + .../node_modules/lodash/_castRest.js | 14 + .../node_modules/lodash/_castSlice.js | 18 + .../node_modules/lodash/_charsEndIndex.js | 19 + .../node_modules/lodash/_charsStartIndex.js | 20 + .../node_modules/lodash/_cloneArrayBuffer.js | 16 + .../node_modules/lodash/_cloneBuffer.js | 35 + .../node_modules/lodash/_cloneDataView.js | 16 + .../node_modules/lodash/_cloneRegExp.js | 17 + .../node_modules/lodash/_cloneSymbol.js | 18 + .../node_modules/lodash/_cloneTypedArray.js | 16 + .../node_modules/lodash/_compareAscending.js | 41 + .../node_modules/lodash/_compareMultiple.js | 44 + .../node_modules/lodash/_composeArgs.js | 39 + .../node_modules/lodash/_composeArgsRight.js | 41 + .../node_modules/lodash/_copyArray.js | 20 + .../node_modules/lodash/_copyObject.js | 40 + .../node_modules/lodash/_copySymbols.js | 16 + .../node_modules/lodash/_copySymbolsIn.js | 16 + .../node_modules/lodash/_coreJsData.js | 6 + .../node_modules/lodash/_countHolders.js | 21 + .../node_modules/lodash/_createAggregator.js | 23 + .../node_modules/lodash/_createAssigner.js | 37 + .../node_modules/lodash/_createBaseEach.js | 32 + .../node_modules/lodash/_createBaseFor.js | 25 + .../node_modules/lodash/_createBind.js | 28 + .../node_modules/lodash/_createCaseFirst.js | 33 + .../node_modules/lodash/_createCompounder.js | 24 + .../node_modules/lodash/_createCtor.js | 37 + .../node_modules/lodash/_createCurry.js | 46 + .../node_modules/lodash/_createFind.js | 25 + .../node_modules/lodash/_createFlow.js | 78 + .../node_modules/lodash/_createHybrid.js | 92 + .../node_modules/lodash/_createInverter.js | 17 + .../lodash/_createMathOperation.js | 38 + .../node_modules/lodash/_createOver.js | 27 + .../node_modules/lodash/_createPadding.js | 33 + .../node_modules/lodash/_createPartial.js | 43 + .../node_modules/lodash/_createRange.js | 30 + .../node_modules/lodash/_createRecurry.js | 56 + .../lodash/_createRelationalOperation.js | 20 + .../node_modules/lodash/_createRound.js | 33 + .../node_modules/lodash/_createSet.js | 19 + .../node_modules/lodash/_createToPairs.js | 30 + .../node_modules/lodash/_createWrap.js | 106 + .../lodash/_customDefaultsAssignIn.js | 29 + .../lodash/_customDefaultsMerge.js | 28 + .../node_modules/lodash/_customOmitClone.js | 16 + .../node_modules/lodash/_deburrLetter.js | 71 + .../node_modules/lodash/_defineProperty.js | 11 + .../node_modules/lodash/_equalArrays.js | 83 + .../node_modules/lodash/_equalByTag.js | 112 + .../node_modules/lodash/_equalObjects.js | 89 + .../node_modules/lodash/_escapeHtmlChar.js | 21 + .../node_modules/lodash/_escapeStringChar.js | 22 + .../node_modules/lodash/_flatRest.js | 16 + .../node_modules/lodash/_freeGlobal.js | 4 + .../node_modules/lodash/_getAllKeys.js | 16 + .../node_modules/lodash/_getAllKeysIn.js | 17 + .../node_modules/lodash/_getData.js | 15 + .../node_modules/lodash/_getFuncName.js | 31 + .../node_modules/lodash/_getHolder.js | 13 + .../node_modules/lodash/_getMapData.js | 18 + .../node_modules/lodash/_getMatchData.js | 24 + .../node_modules/lodash/_getNative.js | 17 + .../node_modules/lodash/_getPrototype.js | 6 + .../node_modules/lodash/_getRawTag.js | 46 + .../node_modules/lodash/_getSymbols.js | 30 + .../node_modules/lodash/_getSymbolsIn.js | 25 + .../node_modules/lodash/_getTag.js | 58 + .../node_modules/lodash/_getValue.js | 13 + .../node_modules/lodash/_getView.js | 33 + .../node_modules/lodash/_getWrapDetails.js | 17 + .../node_modules/lodash/_hasPath.js | 39 + .../node_modules/lodash/_hasUnicode.js | 26 + .../node_modules/lodash/_hasUnicodeWord.js | 15 + .../node_modules/lodash/_hashClear.js | 15 + .../node_modules/lodash/_hashDelete.js | 17 + .../node_modules/lodash/_hashGet.js | 30 + .../node_modules/lodash/_hashHas.js | 23 + .../node_modules/lodash/_hashSet.js | 23 + .../node_modules/lodash/_initCloneArray.js | 26 + .../node_modules/lodash/_initCloneByTag.js | 77 + .../node_modules/lodash/_initCloneObject.js | 18 + .../node_modules/lodash/_insertWrapDetails.js | 23 + .../node_modules/lodash/_isFlattenable.js | 20 + .../node_modules/lodash/_isIndex.js | 25 + .../node_modules/lodash/_isIterateeCall.js | 30 + .../node_modules/lodash/_isKey.js | 29 + .../node_modules/lodash/_isKeyable.js | 15 + .../node_modules/lodash/_isLaziable.js | 28 + .../node_modules/lodash/_isMaskable.js | 14 + .../node_modules/lodash/_isMasked.js | 20 + .../node_modules/lodash/_isPrototype.js | 18 + .../lodash/_isStrictComparable.js | 15 + .../node_modules/lodash/_iteratorToArray.js | 18 + .../node_modules/lodash/_lazyClone.js | 23 + .../node_modules/lodash/_lazyReverse.js | 23 + .../node_modules/lodash/_lazyValue.js | 69 + .../node_modules/lodash/_listCacheClear.js | 13 + .../node_modules/lodash/_listCacheDelete.js | 35 + .../node_modules/lodash/_listCacheGet.js | 19 + .../node_modules/lodash/_listCacheHas.js | 16 + .../node_modules/lodash/_listCacheSet.js | 26 + .../node_modules/lodash/_mapCacheClear.js | 21 + .../node_modules/lodash/_mapCacheDelete.js | 18 + .../node_modules/lodash/_mapCacheGet.js | 16 + .../node_modules/lodash/_mapCacheHas.js | 16 + .../node_modules/lodash/_mapCacheSet.js | 22 + .../node_modules/lodash/_mapToArray.js | 18 + .../lodash/_matchesStrictComparable.js | 20 + .../node_modules/lodash/_memoizeCapped.js | 26 + .../node_modules/lodash/_mergeData.js | 90 + .../node_modules/lodash/_metaMap.js | 6 + .../node_modules/lodash/_nativeCreate.js | 6 + .../node_modules/lodash/_nativeKeys.js | 6 + .../node_modules/lodash/_nativeKeysIn.js | 20 + .../node_modules/lodash/_nodeUtil.js | 22 + .../node_modules/lodash/_objectToString.js | 22 + .../node_modules/lodash/_overArg.js | 15 + .../node_modules/lodash/_overRest.js | 36 + .../node_modules/lodash/_parent.js | 16 + .../node_modules/lodash/_reEscape.js | 4 + .../node_modules/lodash/_reEvaluate.js | 4 + .../node_modules/lodash/_reInterpolate.js | 4 + .../node_modules/lodash/_realNames.js | 4 + .../node_modules/lodash/_reorder.js | 29 + .../node_modules/lodash/_replaceHolders.js | 29 + .../node_modules/lodash/_root.js | 9 + .../node_modules/lodash/_safeGet.js | 15 + .../node_modules/lodash/_setCacheAdd.js | 19 + .../node_modules/lodash/_setCacheHas.js | 14 + .../node_modules/lodash/_setData.js | 20 + .../node_modules/lodash/_setToArray.js | 18 + .../node_modules/lodash/_setToPairs.js | 18 + .../node_modules/lodash/_setToString.js | 14 + .../node_modules/lodash/_setWrapToString.js | 21 + .../node_modules/lodash/_shortOut.js | 37 + .../node_modules/lodash/_shuffleSelf.js | 28 + .../node_modules/lodash/_stackClear.js | 15 + .../node_modules/lodash/_stackDelete.js | 18 + .../node_modules/lodash/_stackGet.js | 14 + .../node_modules/lodash/_stackHas.js | 14 + .../node_modules/lodash/_stackSet.js | 34 + .../node_modules/lodash/_strictIndexOf.js | 23 + .../node_modules/lodash/_strictLastIndexOf.js | 21 + .../node_modules/lodash/_stringSize.js | 18 + .../node_modules/lodash/_stringToArray.js | 18 + .../node_modules/lodash/_stringToPath.js | 27 + .../node_modules/lodash/_toKey.js | 21 + .../node_modules/lodash/_toSource.js | 26 + .../node_modules/lodash/_unescapeHtmlChar.js | 21 + .../node_modules/lodash/_unicodeSize.js | 44 + .../node_modules/lodash/_unicodeToArray.js | 40 + .../node_modules/lodash/_unicodeWords.js | 69 + .../node_modules/lodash/_updateWrapDetails.js | 46 + .../node_modules/lodash/_wrapperClone.js | 23 + .../node_modules/lodash/add.js | 22 + .../node_modules/lodash/after.js | 42 + .../node_modules/lodash/array.js | 67 + .../node_modules/lodash/ary.js | 29 + .../node_modules/lodash/assign.js | 58 + .../node_modules/lodash/assignIn.js | 40 + .../node_modules/lodash/assignInWith.js | 38 + .../node_modules/lodash/assignWith.js | 37 + .../NetatmoSecurity/node_modules/lodash/at.js | 23 + .../node_modules/lodash/attempt.js | 35 + .../node_modules/lodash/before.js | 40 + .../node_modules/lodash/bind.js | 57 + .../node_modules/lodash/bindAll.js | 41 + .../node_modules/lodash/bindKey.js | 68 + .../node_modules/lodash/camelCase.js | 29 + .../node_modules/lodash/capitalize.js | 23 + .../node_modules/lodash/castArray.js | 44 + .../node_modules/lodash/ceil.js | 26 + .../node_modules/lodash/chain.js | 38 + .../node_modules/lodash/chunk.js | 50 + .../node_modules/lodash/clamp.js | 39 + .../node_modules/lodash/clone.js | 36 + .../node_modules/lodash/cloneDeep.js | 29 + .../node_modules/lodash/cloneDeepWith.js | 40 + .../node_modules/lodash/cloneWith.js | 42 + .../node_modules/lodash/collection.js | 30 + .../node_modules/lodash/commit.js | 33 + .../node_modules/lodash/compact.js | 31 + .../node_modules/lodash/concat.js | 43 + .../node_modules/lodash/cond.js | 60 + .../node_modules/lodash/conforms.js | 35 + .../node_modules/lodash/conformsTo.js | 32 + .../node_modules/lodash/constant.js | 26 + .../node_modules/lodash/core.js | 3854 ++++ .../node_modules/lodash/core.min.js | 29 + .../node_modules/lodash/countBy.js | 40 + .../node_modules/lodash/create.js | 43 + .../node_modules/lodash/curry.js | 57 + .../node_modules/lodash/curryRight.js | 54 + .../node_modules/lodash/date.js | 3 + .../node_modules/lodash/debounce.js | 190 + .../node_modules/lodash/deburr.js | 45 + .../node_modules/lodash/defaultTo.js | 25 + .../node_modules/lodash/defaults.js | 64 + .../node_modules/lodash/defaultsDeep.js | 30 + .../node_modules/lodash/defer.js | 26 + .../node_modules/lodash/delay.js | 28 + .../node_modules/lodash/difference.js | 33 + .../node_modules/lodash/differenceBy.js | 44 + .../node_modules/lodash/differenceWith.js | 40 + .../node_modules/lodash/divide.js | 22 + .../node_modules/lodash/drop.js | 38 + .../node_modules/lodash/dropRight.js | 39 + .../node_modules/lodash/dropRightWhile.js | 45 + .../node_modules/lodash/dropWhile.js | 45 + .../node_modules/lodash/each.js | 1 + .../node_modules/lodash/eachRight.js | 1 + .../node_modules/lodash/endsWith.js | 43 + .../node_modules/lodash/entries.js | 1 + .../node_modules/lodash/entriesIn.js | 1 + .../NetatmoSecurity/node_modules/lodash/eq.js | 37 + .../node_modules/lodash/escape.js | 43 + .../node_modules/lodash/escapeRegExp.js | 32 + .../node_modules/lodash/every.js | 56 + .../node_modules/lodash/extend.js | 1 + .../node_modules/lodash/extendWith.js | 1 + .../node_modules/lodash/fill.js | 45 + .../node_modules/lodash/filter.js | 48 + .../node_modules/lodash/find.js | 42 + .../node_modules/lodash/findIndex.js | 55 + .../node_modules/lodash/findKey.js | 44 + .../node_modules/lodash/findLast.js | 25 + .../node_modules/lodash/findLastIndex.js | 59 + .../node_modules/lodash/findLastKey.js | 44 + .../node_modules/lodash/first.js | 1 + .../node_modules/lodash/flatMap.js | 29 + .../node_modules/lodash/flatMapDeep.js | 31 + .../node_modules/lodash/flatMapDepth.js | 31 + .../node_modules/lodash/flatten.js | 22 + .../node_modules/lodash/flattenDeep.js | 25 + .../node_modules/lodash/flattenDepth.js | 33 + .../node_modules/lodash/flip.js | 28 + .../node_modules/lodash/floor.js | 26 + .../node_modules/lodash/flow.js | 27 + .../node_modules/lodash/flowRight.js | 26 + .../node_modules/lodash/forEach.js | 41 + .../node_modules/lodash/forEachRight.js | 31 + .../node_modules/lodash/forIn.js | 39 + .../node_modules/lodash/forInRight.js | 37 + .../node_modules/lodash/forOwn.js | 36 + .../node_modules/lodash/forOwnRight.js | 34 + .../NetatmoSecurity/node_modules/lodash/fp.js | 2 + .../node_modules/lodash/fp/F.js | 1 + .../node_modules/lodash/fp/T.js | 1 + .../node_modules/lodash/fp/__.js | 1 + .../node_modules/lodash/fp/_baseConvert.js | 573 + .../node_modules/lodash/fp/_convertBrowser.js | 18 + .../node_modules/lodash/fp/_falseOptions.js | 7 + .../node_modules/lodash/fp/_mapping.js | 368 + .../node_modules/lodash/fp/_util.js | 16 + .../node_modules/lodash/fp/add.js | 5 + .../node_modules/lodash/fp/after.js | 5 + .../node_modules/lodash/fp/all.js | 1 + .../node_modules/lodash/fp/allPass.js | 1 + .../node_modules/lodash/fp/always.js | 1 + .../node_modules/lodash/fp/any.js | 1 + .../node_modules/lodash/fp/anyPass.js | 1 + .../node_modules/lodash/fp/apply.js | 1 + .../node_modules/lodash/fp/array.js | 2 + .../node_modules/lodash/fp/ary.js | 5 + .../node_modules/lodash/fp/assign.js | 5 + .../node_modules/lodash/fp/assignAll.js | 5 + .../node_modules/lodash/fp/assignAllWith.js | 5 + .../node_modules/lodash/fp/assignIn.js | 5 + .../node_modules/lodash/fp/assignInAll.js | 5 + .../node_modules/lodash/fp/assignInAllWith.js | 5 + .../node_modules/lodash/fp/assignInWith.js | 5 + .../node_modules/lodash/fp/assignWith.js | 5 + .../node_modules/lodash/fp/assoc.js | 1 + .../node_modules/lodash/fp/assocPath.js | 1 + .../node_modules/lodash/fp/at.js | 5 + .../node_modules/lodash/fp/attempt.js | 5 + .../node_modules/lodash/fp/before.js | 5 + .../node_modules/lodash/fp/bind.js | 5 + .../node_modules/lodash/fp/bindAll.js | 5 + .../node_modules/lodash/fp/bindKey.js | 5 + .../node_modules/lodash/fp/camelCase.js | 5 + .../node_modules/lodash/fp/capitalize.js | 5 + .../node_modules/lodash/fp/castArray.js | 5 + .../node_modules/lodash/fp/ceil.js | 5 + .../node_modules/lodash/fp/chain.js | 5 + .../node_modules/lodash/fp/chunk.js | 5 + .../node_modules/lodash/fp/clamp.js | 5 + .../node_modules/lodash/fp/clone.js | 5 + .../node_modules/lodash/fp/cloneDeep.js | 5 + .../node_modules/lodash/fp/cloneDeepWith.js | 5 + .../node_modules/lodash/fp/cloneWith.js | 5 + .../node_modules/lodash/fp/collection.js | 2 + .../node_modules/lodash/fp/commit.js | 5 + .../node_modules/lodash/fp/compact.js | 5 + .../node_modules/lodash/fp/complement.js | 1 + .../node_modules/lodash/fp/compose.js | 1 + .../node_modules/lodash/fp/concat.js | 5 + .../node_modules/lodash/fp/cond.js | 5 + .../node_modules/lodash/fp/conforms.js | 1 + .../node_modules/lodash/fp/conformsTo.js | 5 + .../node_modules/lodash/fp/constant.js | 5 + .../node_modules/lodash/fp/contains.js | 1 + .../node_modules/lodash/fp/convert.js | 18 + .../node_modules/lodash/fp/countBy.js | 5 + .../node_modules/lodash/fp/create.js | 5 + .../node_modules/lodash/fp/curry.js | 5 + .../node_modules/lodash/fp/curryN.js | 5 + .../node_modules/lodash/fp/curryRight.js | 5 + .../node_modules/lodash/fp/curryRightN.js | 5 + .../node_modules/lodash/fp/date.js | 2 + .../node_modules/lodash/fp/debounce.js | 5 + .../node_modules/lodash/fp/deburr.js | 5 + .../node_modules/lodash/fp/defaultTo.js | 5 + .../node_modules/lodash/fp/defaults.js | 5 + .../node_modules/lodash/fp/defaultsAll.js | 5 + .../node_modules/lodash/fp/defaultsDeep.js | 5 + .../node_modules/lodash/fp/defaultsDeepAll.js | 5 + .../node_modules/lodash/fp/defer.js | 5 + .../node_modules/lodash/fp/delay.js | 5 + .../node_modules/lodash/fp/difference.js | 5 + .../node_modules/lodash/fp/differenceBy.js | 5 + .../node_modules/lodash/fp/differenceWith.js | 5 + .../node_modules/lodash/fp/dissoc.js | 1 + .../node_modules/lodash/fp/dissocPath.js | 1 + .../node_modules/lodash/fp/divide.js | 5 + .../node_modules/lodash/fp/drop.js | 5 + .../node_modules/lodash/fp/dropLast.js | 1 + .../node_modules/lodash/fp/dropLastWhile.js | 1 + .../node_modules/lodash/fp/dropRight.js | 5 + .../node_modules/lodash/fp/dropRightWhile.js | 5 + .../node_modules/lodash/fp/dropWhile.js | 5 + .../node_modules/lodash/fp/each.js | 1 + .../node_modules/lodash/fp/eachRight.js | 1 + .../node_modules/lodash/fp/endsWith.js | 5 + .../node_modules/lodash/fp/entries.js | 1 + .../node_modules/lodash/fp/entriesIn.js | 1 + .../node_modules/lodash/fp/eq.js | 5 + .../node_modules/lodash/fp/equals.js | 1 + .../node_modules/lodash/fp/escape.js | 5 + .../node_modules/lodash/fp/escapeRegExp.js | 5 + .../node_modules/lodash/fp/every.js | 5 + .../node_modules/lodash/fp/extend.js | 1 + .../node_modules/lodash/fp/extendAll.js | 1 + .../node_modules/lodash/fp/extendAllWith.js | 1 + .../node_modules/lodash/fp/extendWith.js | 1 + .../node_modules/lodash/fp/fill.js | 5 + .../node_modules/lodash/fp/filter.js | 5 + .../node_modules/lodash/fp/find.js | 5 + .../node_modules/lodash/fp/findFrom.js | 5 + .../node_modules/lodash/fp/findIndex.js | 5 + .../node_modules/lodash/fp/findIndexFrom.js | 5 + .../node_modules/lodash/fp/findKey.js | 5 + .../node_modules/lodash/fp/findLast.js | 5 + .../node_modules/lodash/fp/findLastFrom.js | 5 + .../node_modules/lodash/fp/findLastIndex.js | 5 + .../lodash/fp/findLastIndexFrom.js | 5 + .../node_modules/lodash/fp/findLastKey.js | 5 + .../node_modules/lodash/fp/first.js | 1 + .../node_modules/lodash/fp/flatMap.js | 5 + .../node_modules/lodash/fp/flatMapDeep.js | 5 + .../node_modules/lodash/fp/flatMapDepth.js | 5 + .../node_modules/lodash/fp/flatten.js | 5 + .../node_modules/lodash/fp/flattenDeep.js | 5 + .../node_modules/lodash/fp/flattenDepth.js | 5 + .../node_modules/lodash/fp/flip.js | 5 + .../node_modules/lodash/fp/floor.js | 5 + .../node_modules/lodash/fp/flow.js | 5 + .../node_modules/lodash/fp/flowRight.js | 5 + .../node_modules/lodash/fp/forEach.js | 5 + .../node_modules/lodash/fp/forEachRight.js | 5 + .../node_modules/lodash/fp/forIn.js | 5 + .../node_modules/lodash/fp/forInRight.js | 5 + .../node_modules/lodash/fp/forOwn.js | 5 + .../node_modules/lodash/fp/forOwnRight.js | 5 + .../node_modules/lodash/fp/fromPairs.js | 5 + .../node_modules/lodash/fp/function.js | 2 + .../node_modules/lodash/fp/functions.js | 5 + .../node_modules/lodash/fp/functionsIn.js | 5 + .../node_modules/lodash/fp/get.js | 5 + .../node_modules/lodash/fp/getOr.js | 5 + .../node_modules/lodash/fp/groupBy.js | 5 + .../node_modules/lodash/fp/gt.js | 5 + .../node_modules/lodash/fp/gte.js | 5 + .../node_modules/lodash/fp/has.js | 5 + .../node_modules/lodash/fp/hasIn.js | 5 + .../node_modules/lodash/fp/head.js | 5 + .../node_modules/lodash/fp/identical.js | 1 + .../node_modules/lodash/fp/identity.js | 5 + .../node_modules/lodash/fp/inRange.js | 5 + .../node_modules/lodash/fp/includes.js | 5 + .../node_modules/lodash/fp/includesFrom.js | 5 + .../node_modules/lodash/fp/indexBy.js | 1 + .../node_modules/lodash/fp/indexOf.js | 5 + .../node_modules/lodash/fp/indexOfFrom.js | 5 + .../node_modules/lodash/fp/init.js | 1 + .../node_modules/lodash/fp/initial.js | 5 + .../node_modules/lodash/fp/intersection.js | 5 + .../node_modules/lodash/fp/intersectionBy.js | 5 + .../lodash/fp/intersectionWith.js | 5 + .../node_modules/lodash/fp/invert.js | 5 + .../node_modules/lodash/fp/invertBy.js | 5 + .../node_modules/lodash/fp/invertObj.js | 1 + .../node_modules/lodash/fp/invoke.js | 5 + .../node_modules/lodash/fp/invokeArgs.js | 5 + .../node_modules/lodash/fp/invokeArgsMap.js | 5 + .../node_modules/lodash/fp/invokeMap.js | 5 + .../node_modules/lodash/fp/isArguments.js | 5 + .../node_modules/lodash/fp/isArray.js | 5 + .../node_modules/lodash/fp/isArrayBuffer.js | 5 + .../node_modules/lodash/fp/isArrayLike.js | 5 + .../lodash/fp/isArrayLikeObject.js | 5 + .../node_modules/lodash/fp/isBoolean.js | 5 + .../node_modules/lodash/fp/isBuffer.js | 5 + .../node_modules/lodash/fp/isDate.js | 5 + .../node_modules/lodash/fp/isElement.js | 5 + .../node_modules/lodash/fp/isEmpty.js | 5 + .../node_modules/lodash/fp/isEqual.js | 5 + .../node_modules/lodash/fp/isEqualWith.js | 5 + .../node_modules/lodash/fp/isError.js | 5 + .../node_modules/lodash/fp/isFinite.js | 5 + .../node_modules/lodash/fp/isFunction.js | 5 + .../node_modules/lodash/fp/isInteger.js | 5 + .../node_modules/lodash/fp/isLength.js | 5 + .../node_modules/lodash/fp/isMap.js | 5 + .../node_modules/lodash/fp/isMatch.js | 5 + .../node_modules/lodash/fp/isMatchWith.js | 5 + .../node_modules/lodash/fp/isNaN.js | 5 + .../node_modules/lodash/fp/isNative.js | 5 + .../node_modules/lodash/fp/isNil.js | 5 + .../node_modules/lodash/fp/isNull.js | 5 + .../node_modules/lodash/fp/isNumber.js | 5 + .../node_modules/lodash/fp/isObject.js | 5 + .../node_modules/lodash/fp/isObjectLike.js | 5 + .../node_modules/lodash/fp/isPlainObject.js | 5 + .../node_modules/lodash/fp/isRegExp.js | 5 + .../node_modules/lodash/fp/isSafeInteger.js | 5 + .../node_modules/lodash/fp/isSet.js | 5 + .../node_modules/lodash/fp/isString.js | 5 + .../node_modules/lodash/fp/isSymbol.js | 5 + .../node_modules/lodash/fp/isTypedArray.js | 5 + .../node_modules/lodash/fp/isUndefined.js | 5 + .../node_modules/lodash/fp/isWeakMap.js | 5 + .../node_modules/lodash/fp/isWeakSet.js | 5 + .../node_modules/lodash/fp/iteratee.js | 5 + .../node_modules/lodash/fp/join.js | 5 + .../node_modules/lodash/fp/juxt.js | 1 + .../node_modules/lodash/fp/kebabCase.js | 5 + .../node_modules/lodash/fp/keyBy.js | 5 + .../node_modules/lodash/fp/keys.js | 5 + .../node_modules/lodash/fp/keysIn.js | 5 + .../node_modules/lodash/fp/lang.js | 2 + .../node_modules/lodash/fp/last.js | 5 + .../node_modules/lodash/fp/lastIndexOf.js | 5 + .../node_modules/lodash/fp/lastIndexOfFrom.js | 5 + .../node_modules/lodash/fp/lowerCase.js | 5 + .../node_modules/lodash/fp/lowerFirst.js | 5 + .../node_modules/lodash/fp/lt.js | 5 + .../node_modules/lodash/fp/lte.js | 5 + .../node_modules/lodash/fp/map.js | 5 + .../node_modules/lodash/fp/mapKeys.js | 5 + .../node_modules/lodash/fp/mapValues.js | 5 + .../node_modules/lodash/fp/matches.js | 1 + .../node_modules/lodash/fp/matchesProperty.js | 5 + .../node_modules/lodash/fp/math.js | 2 + .../node_modules/lodash/fp/max.js | 5 + .../node_modules/lodash/fp/maxBy.js | 5 + .../node_modules/lodash/fp/mean.js | 5 + .../node_modules/lodash/fp/meanBy.js | 5 + .../node_modules/lodash/fp/memoize.js | 5 + .../node_modules/lodash/fp/merge.js | 5 + .../node_modules/lodash/fp/mergeAll.js | 5 + .../node_modules/lodash/fp/mergeAllWith.js | 5 + .../node_modules/lodash/fp/mergeWith.js | 5 + .../node_modules/lodash/fp/method.js | 5 + .../node_modules/lodash/fp/methodOf.js | 5 + .../node_modules/lodash/fp/min.js | 5 + .../node_modules/lodash/fp/minBy.js | 5 + .../node_modules/lodash/fp/mixin.js | 5 + .../node_modules/lodash/fp/multiply.js | 5 + .../node_modules/lodash/fp/nAry.js | 1 + .../node_modules/lodash/fp/negate.js | 5 + .../node_modules/lodash/fp/next.js | 5 + .../node_modules/lodash/fp/noop.js | 5 + .../node_modules/lodash/fp/now.js | 5 + .../node_modules/lodash/fp/nth.js | 5 + .../node_modules/lodash/fp/nthArg.js | 5 + .../node_modules/lodash/fp/number.js | 2 + .../node_modules/lodash/fp/object.js | 2 + .../node_modules/lodash/fp/omit.js | 5 + .../node_modules/lodash/fp/omitAll.js | 1 + .../node_modules/lodash/fp/omitBy.js | 5 + .../node_modules/lodash/fp/once.js | 5 + .../node_modules/lodash/fp/orderBy.js | 5 + .../node_modules/lodash/fp/over.js | 5 + .../node_modules/lodash/fp/overArgs.js | 5 + .../node_modules/lodash/fp/overEvery.js | 5 + .../node_modules/lodash/fp/overSome.js | 5 + .../node_modules/lodash/fp/pad.js | 5 + .../node_modules/lodash/fp/padChars.js | 5 + .../node_modules/lodash/fp/padCharsEnd.js | 5 + .../node_modules/lodash/fp/padCharsStart.js | 5 + .../node_modules/lodash/fp/padEnd.js | 5 + .../node_modules/lodash/fp/padStart.js | 5 + .../node_modules/lodash/fp/parseInt.js | 5 + .../node_modules/lodash/fp/partial.js | 5 + .../node_modules/lodash/fp/partialRight.js | 5 + .../node_modules/lodash/fp/partition.js | 5 + .../node_modules/lodash/fp/path.js | 1 + .../node_modules/lodash/fp/pathEq.js | 1 + .../node_modules/lodash/fp/pathOr.js | 1 + .../node_modules/lodash/fp/paths.js | 1 + .../node_modules/lodash/fp/pick.js | 5 + .../node_modules/lodash/fp/pickAll.js | 1 + .../node_modules/lodash/fp/pickBy.js | 5 + .../node_modules/lodash/fp/pipe.js | 1 + .../node_modules/lodash/fp/placeholder.js | 6 + .../node_modules/lodash/fp/plant.js | 5 + .../node_modules/lodash/fp/pluck.js | 1 + .../node_modules/lodash/fp/prop.js | 1 + .../node_modules/lodash/fp/propEq.js | 1 + .../node_modules/lodash/fp/propOr.js | 1 + .../node_modules/lodash/fp/property.js | 1 + .../node_modules/lodash/fp/propertyOf.js | 5 + .../node_modules/lodash/fp/props.js | 1 + .../node_modules/lodash/fp/pull.js | 5 + .../node_modules/lodash/fp/pullAll.js | 5 + .../node_modules/lodash/fp/pullAllBy.js | 5 + .../node_modules/lodash/fp/pullAllWith.js | 5 + .../node_modules/lodash/fp/pullAt.js | 5 + .../node_modules/lodash/fp/random.js | 5 + .../node_modules/lodash/fp/range.js | 5 + .../node_modules/lodash/fp/rangeRight.js | 5 + .../node_modules/lodash/fp/rangeStep.js | 5 + .../node_modules/lodash/fp/rangeStepRight.js | 5 + .../node_modules/lodash/fp/rearg.js | 5 + .../node_modules/lodash/fp/reduce.js | 5 + .../node_modules/lodash/fp/reduceRight.js | 5 + .../node_modules/lodash/fp/reject.js | 5 + .../node_modules/lodash/fp/remove.js | 5 + .../node_modules/lodash/fp/repeat.js | 5 + .../node_modules/lodash/fp/replace.js | 5 + .../node_modules/lodash/fp/rest.js | 5 + .../node_modules/lodash/fp/restFrom.js | 5 + .../node_modules/lodash/fp/result.js | 5 + .../node_modules/lodash/fp/reverse.js | 5 + .../node_modules/lodash/fp/round.js | 5 + .../node_modules/lodash/fp/sample.js | 5 + .../node_modules/lodash/fp/sampleSize.js | 5 + .../node_modules/lodash/fp/seq.js | 2 + .../node_modules/lodash/fp/set.js | 5 + .../node_modules/lodash/fp/setWith.js | 5 + .../node_modules/lodash/fp/shuffle.js | 5 + .../node_modules/lodash/fp/size.js | 5 + .../node_modules/lodash/fp/slice.js | 5 + .../node_modules/lodash/fp/snakeCase.js | 5 + .../node_modules/lodash/fp/some.js | 5 + .../node_modules/lodash/fp/sortBy.js | 5 + .../node_modules/lodash/fp/sortedIndex.js | 5 + .../node_modules/lodash/fp/sortedIndexBy.js | 5 + .../node_modules/lodash/fp/sortedIndexOf.js | 5 + .../node_modules/lodash/fp/sortedLastIndex.js | 5 + .../lodash/fp/sortedLastIndexBy.js | 5 + .../lodash/fp/sortedLastIndexOf.js | 5 + .../node_modules/lodash/fp/sortedUniq.js | 5 + .../node_modules/lodash/fp/sortedUniqBy.js | 5 + .../node_modules/lodash/fp/split.js | 5 + .../node_modules/lodash/fp/spread.js | 5 + .../node_modules/lodash/fp/spreadFrom.js | 5 + .../node_modules/lodash/fp/startCase.js | 5 + .../node_modules/lodash/fp/startsWith.js | 5 + .../node_modules/lodash/fp/string.js | 2 + .../node_modules/lodash/fp/stubArray.js | 5 + .../node_modules/lodash/fp/stubFalse.js | 5 + .../node_modules/lodash/fp/stubObject.js | 5 + .../node_modules/lodash/fp/stubString.js | 5 + .../node_modules/lodash/fp/stubTrue.js | 5 + .../node_modules/lodash/fp/subtract.js | 5 + .../node_modules/lodash/fp/sum.js | 5 + .../node_modules/lodash/fp/sumBy.js | 5 + .../lodash/fp/symmetricDifference.js | 1 + .../lodash/fp/symmetricDifferenceBy.js | 1 + .../lodash/fp/symmetricDifferenceWith.js | 1 + .../node_modules/lodash/fp/tail.js | 5 + .../node_modules/lodash/fp/take.js | 5 + .../node_modules/lodash/fp/takeLast.js | 1 + .../node_modules/lodash/fp/takeLastWhile.js | 1 + .../node_modules/lodash/fp/takeRight.js | 5 + .../node_modules/lodash/fp/takeRightWhile.js | 5 + .../node_modules/lodash/fp/takeWhile.js | 5 + .../node_modules/lodash/fp/tap.js | 5 + .../node_modules/lodash/fp/template.js | 5 + .../lodash/fp/templateSettings.js | 5 + .../node_modules/lodash/fp/throttle.js | 5 + .../node_modules/lodash/fp/thru.js | 5 + .../node_modules/lodash/fp/times.js | 5 + .../node_modules/lodash/fp/toArray.js | 5 + .../node_modules/lodash/fp/toFinite.js | 5 + .../node_modules/lodash/fp/toInteger.js | 5 + .../node_modules/lodash/fp/toIterator.js | 5 + .../node_modules/lodash/fp/toJSON.js | 5 + .../node_modules/lodash/fp/toLength.js | 5 + .../node_modules/lodash/fp/toLower.js | 5 + .../node_modules/lodash/fp/toNumber.js | 5 + .../node_modules/lodash/fp/toPairs.js | 5 + .../node_modules/lodash/fp/toPairsIn.js | 5 + .../node_modules/lodash/fp/toPath.js | 5 + .../node_modules/lodash/fp/toPlainObject.js | 5 + .../node_modules/lodash/fp/toSafeInteger.js | 5 + .../node_modules/lodash/fp/toString.js | 5 + .../node_modules/lodash/fp/toUpper.js | 5 + .../node_modules/lodash/fp/transform.js | 5 + .../node_modules/lodash/fp/trim.js | 5 + .../node_modules/lodash/fp/trimChars.js | 5 + .../node_modules/lodash/fp/trimCharsEnd.js | 5 + .../node_modules/lodash/fp/trimCharsStart.js | 5 + .../node_modules/lodash/fp/trimEnd.js | 5 + .../node_modules/lodash/fp/trimStart.js | 5 + .../node_modules/lodash/fp/truncate.js | 5 + .../node_modules/lodash/fp/unapply.js | 1 + .../node_modules/lodash/fp/unary.js | 5 + .../node_modules/lodash/fp/unescape.js | 5 + .../node_modules/lodash/fp/union.js | 5 + .../node_modules/lodash/fp/unionBy.js | 5 + .../node_modules/lodash/fp/unionWith.js | 5 + .../node_modules/lodash/fp/uniq.js | 5 + .../node_modules/lodash/fp/uniqBy.js | 5 + .../node_modules/lodash/fp/uniqWith.js | 5 + .../node_modules/lodash/fp/uniqueId.js | 5 + .../node_modules/lodash/fp/unnest.js | 1 + .../node_modules/lodash/fp/unset.js | 5 + .../node_modules/lodash/fp/unzip.js | 5 + .../node_modules/lodash/fp/unzipWith.js | 5 + .../node_modules/lodash/fp/update.js | 5 + .../node_modules/lodash/fp/updateWith.js | 5 + .../node_modules/lodash/fp/upperCase.js | 5 + .../node_modules/lodash/fp/upperFirst.js | 5 + .../node_modules/lodash/fp/useWith.js | 1 + .../node_modules/lodash/fp/util.js | 2 + .../node_modules/lodash/fp/value.js | 5 + .../node_modules/lodash/fp/valueOf.js | 5 + .../node_modules/lodash/fp/values.js | 5 + .../node_modules/lodash/fp/valuesIn.js | 5 + .../node_modules/lodash/fp/where.js | 1 + .../node_modules/lodash/fp/whereEq.js | 1 + .../node_modules/lodash/fp/without.js | 5 + .../node_modules/lodash/fp/words.js | 5 + .../node_modules/lodash/fp/wrap.js | 5 + .../node_modules/lodash/fp/wrapperAt.js | 5 + .../node_modules/lodash/fp/wrapperChain.js | 5 + .../node_modules/lodash/fp/wrapperLodash.js | 5 + .../node_modules/lodash/fp/wrapperReverse.js | 5 + .../node_modules/lodash/fp/wrapperValue.js | 5 + .../node_modules/lodash/fp/xor.js | 5 + .../node_modules/lodash/fp/xorBy.js | 5 + .../node_modules/lodash/fp/xorWith.js | 5 + .../node_modules/lodash/fp/zip.js | 5 + .../node_modules/lodash/fp/zipAll.js | 5 + .../node_modules/lodash/fp/zipObj.js | 1 + .../node_modules/lodash/fp/zipObject.js | 5 + .../node_modules/lodash/fp/zipObjectDeep.js | 5 + .../node_modules/lodash/fp/zipWith.js | 5 + .../node_modules/lodash/fromPairs.js | 28 + .../node_modules/lodash/function.js | 25 + .../node_modules/lodash/functions.js | 31 + .../node_modules/lodash/functionsIn.js | 31 + .../node_modules/lodash/get.js | 33 + .../node_modules/lodash/groupBy.js | 41 + .../NetatmoSecurity/node_modules/lodash/gt.js | 29 + .../node_modules/lodash/gte.js | 30 + .../node_modules/lodash/has.js | 35 + .../node_modules/lodash/hasIn.js | 34 + .../node_modules/lodash/head.js | 23 + .../node_modules/lodash/identity.js | 21 + .../node_modules/lodash/inRange.js | 55 + .../node_modules/lodash/includes.js | 53 + .../node_modules/lodash/index.js | 1 + .../node_modules/lodash/indexOf.js | 42 + .../node_modules/lodash/initial.js | 22 + .../node_modules/lodash/intersection.js | 30 + .../node_modules/lodash/intersectionBy.js | 45 + .../node_modules/lodash/intersectionWith.js | 41 + .../node_modules/lodash/invert.js | 42 + .../node_modules/lodash/invertBy.js | 56 + .../node_modules/lodash/invoke.js | 24 + .../node_modules/lodash/invokeMap.js | 41 + .../node_modules/lodash/isArguments.js | 36 + .../node_modules/lodash/isArray.js | 26 + .../node_modules/lodash/isArrayBuffer.js | 27 + .../node_modules/lodash/isArrayLike.js | 33 + .../node_modules/lodash/isArrayLikeObject.js | 33 + .../node_modules/lodash/isBoolean.js | 29 + .../node_modules/lodash/isBuffer.js | 38 + .../node_modules/lodash/isDate.js | 27 + .../node_modules/lodash/isElement.js | 25 + .../node_modules/lodash/isEmpty.js | 77 + .../node_modules/lodash/isEqual.js | 35 + .../node_modules/lodash/isEqualWith.js | 41 + .../node_modules/lodash/isError.js | 36 + .../node_modules/lodash/isFinite.js | 36 + .../node_modules/lodash/isFunction.js | 37 + .../node_modules/lodash/isInteger.js | 33 + .../node_modules/lodash/isLength.js | 35 + .../node_modules/lodash/isMap.js | 27 + .../node_modules/lodash/isMatch.js | 36 + .../node_modules/lodash/isMatchWith.js | 41 + .../node_modules/lodash/isNaN.js | 38 + .../node_modules/lodash/isNative.js | 40 + .../node_modules/lodash/isNil.js | 25 + .../node_modules/lodash/isNull.js | 22 + .../node_modules/lodash/isNumber.js | 38 + .../node_modules/lodash/isObject.js | 31 + .../node_modules/lodash/isObjectLike.js | 29 + .../node_modules/lodash/isPlainObject.js | 62 + .../node_modules/lodash/isRegExp.js | 27 + .../node_modules/lodash/isSafeInteger.js | 37 + .../node_modules/lodash/isSet.js | 27 + .../node_modules/lodash/isString.js | 30 + .../node_modules/lodash/isSymbol.js | 29 + .../node_modules/lodash/isTypedArray.js | 27 + .../node_modules/lodash/isUndefined.js | 22 + .../node_modules/lodash/isWeakMap.js | 28 + .../node_modules/lodash/isWeakSet.js | 28 + .../node_modules/lodash/iteratee.js | 53 + .../node_modules/lodash/join.js | 26 + .../node_modules/lodash/kebabCase.js | 28 + .../node_modules/lodash/keyBy.js | 36 + .../node_modules/lodash/keys.js | 37 + .../node_modules/lodash/keysIn.js | 32 + .../node_modules/lodash/lang.js | 58 + .../node_modules/lodash/last.js | 20 + .../node_modules/lodash/lastIndexOf.js | 46 + .../node_modules/lodash/lodash.js | 17097 ++++++++++++++++ .../node_modules/lodash/lodash.min.js | 137 + .../node_modules/lodash/lowerCase.js | 27 + .../node_modules/lodash/lowerFirst.js | 22 + .../NetatmoSecurity/node_modules/lodash/lt.js | 29 + .../node_modules/lodash/lte.js | 30 + .../node_modules/lodash/map.js | 53 + .../node_modules/lodash/mapKeys.js | 36 + .../node_modules/lodash/mapValues.js | 43 + .../node_modules/lodash/matches.js | 39 + .../node_modules/lodash/matchesProperty.js | 37 + .../node_modules/lodash/math.js | 17 + .../node_modules/lodash/max.js | 29 + .../node_modules/lodash/maxBy.js | 34 + .../node_modules/lodash/mean.js | 22 + .../node_modules/lodash/meanBy.js | 31 + .../node_modules/lodash/memoize.js | 73 + .../node_modules/lodash/merge.js | 39 + .../node_modules/lodash/mergeWith.js | 39 + .../node_modules/lodash/method.js | 34 + .../node_modules/lodash/methodOf.js | 33 + .../node_modules/lodash/min.js | 29 + .../node_modules/lodash/minBy.js | 34 + .../node_modules/lodash/mixin.js | 74 + .../node_modules/lodash/multiply.js | 22 + .../node_modules/lodash/negate.js | 40 + .../node_modules/lodash/next.js | 35 + .../node_modules/lodash/noop.js | 17 + .../node_modules/lodash/now.js | 23 + .../node_modules/lodash/nth.js | 29 + .../node_modules/lodash/nthArg.js | 32 + .../node_modules/lodash/number.js | 5 + .../node_modules/lodash/object.js | 49 + .../node_modules/lodash/omit.js | 57 + .../node_modules/lodash/omitBy.js | 29 + .../node_modules/lodash/once.js | 25 + .../node_modules/lodash/orderBy.js | 47 + .../node_modules/lodash/over.js | 24 + .../node_modules/lodash/overArgs.js | 61 + .../node_modules/lodash/overEvery.js | 30 + .../node_modules/lodash/overSome.js | 30 + .../node_modules/lodash/package.json | 66 + .../node_modules/lodash/pad.js | 49 + .../node_modules/lodash/padEnd.js | 39 + .../node_modules/lodash/padStart.js | 39 + .../node_modules/lodash/parseInt.js | 43 + .../node_modules/lodash/partial.js | 50 + .../node_modules/lodash/partialRight.js | 49 + .../node_modules/lodash/partition.js | 43 + .../node_modules/lodash/pick.js | 25 + .../node_modules/lodash/pickBy.js | 37 + .../node_modules/lodash/plant.js | 48 + .../node_modules/lodash/property.js | 32 + .../node_modules/lodash/propertyOf.js | 30 + .../node_modules/lodash/pull.js | 29 + .../node_modules/lodash/pullAll.js | 29 + .../node_modules/lodash/pullAllBy.js | 33 + .../node_modules/lodash/pullAllWith.js | 32 + .../node_modules/lodash/pullAt.js | 43 + .../node_modules/lodash/random.js | 82 + .../node_modules/lodash/range.js | 46 + .../node_modules/lodash/rangeRight.js | 41 + .../node_modules/lodash/rearg.js | 33 + .../node_modules/lodash/reduce.js | 51 + .../node_modules/lodash/reduceRight.js | 36 + .../node_modules/lodash/reject.js | 46 + .../node_modules/lodash/remove.js | 53 + .../node_modules/lodash/repeat.js | 37 + .../node_modules/lodash/replace.js | 29 + .../node_modules/lodash/rest.js | 40 + .../node_modules/lodash/result.js | 56 + .../node_modules/lodash/reverse.js | 34 + .../node_modules/lodash/round.js | 26 + .../node_modules/lodash/sample.js | 24 + .../node_modules/lodash/sampleSize.js | 37 + .../node_modules/lodash/seq.js | 16 + .../node_modules/lodash/set.js | 35 + .../node_modules/lodash/setWith.js | 32 + .../node_modules/lodash/shuffle.js | 25 + .../node_modules/lodash/size.js | 46 + .../node_modules/lodash/slice.js | 37 + .../node_modules/lodash/snakeCase.js | 28 + .../node_modules/lodash/some.js | 51 + .../node_modules/lodash/sortBy.js | 48 + .../node_modules/lodash/sortedIndex.js | 24 + .../node_modules/lodash/sortedIndexBy.js | 33 + .../node_modules/lodash/sortedIndexOf.js | 31 + .../node_modules/lodash/sortedLastIndex.js | 25 + .../node_modules/lodash/sortedLastIndexBy.js | 33 + .../node_modules/lodash/sortedLastIndexOf.js | 31 + .../node_modules/lodash/sortedUniq.js | 24 + .../node_modules/lodash/sortedUniqBy.js | 26 + .../node_modules/lodash/split.js | 52 + .../node_modules/lodash/spread.js | 63 + .../node_modules/lodash/startCase.js | 29 + .../node_modules/lodash/startsWith.js | 39 + .../node_modules/lodash/string.js | 33 + .../node_modules/lodash/stubArray.js | 23 + .../node_modules/lodash/stubFalse.js | 18 + .../node_modules/lodash/stubObject.js | 23 + .../node_modules/lodash/stubString.js | 18 + .../node_modules/lodash/stubTrue.js | 18 + .../node_modules/lodash/subtract.js | 22 + .../node_modules/lodash/sum.js | 24 + .../node_modules/lodash/sumBy.js | 33 + .../node_modules/lodash/tail.js | 22 + .../node_modules/lodash/take.js | 37 + .../node_modules/lodash/takeRight.js | 39 + .../node_modules/lodash/takeRightWhile.js | 45 + .../node_modules/lodash/takeWhile.js | 45 + .../node_modules/lodash/tap.js | 29 + .../node_modules/lodash/template.js | 238 + .../node_modules/lodash/templateSettings.js | 67 + .../node_modules/lodash/throttle.js | 69 + .../node_modules/lodash/thru.js | 28 + .../node_modules/lodash/times.js | 51 + .../node_modules/lodash/toArray.js | 58 + .../node_modules/lodash/toFinite.js | 42 + .../node_modules/lodash/toInteger.js | 36 + .../node_modules/lodash/toIterator.js | 23 + .../node_modules/lodash/toJSON.js | 1 + .../node_modules/lodash/toLength.js | 38 + .../node_modules/lodash/toLower.js | 28 + .../node_modules/lodash/toNumber.js | 66 + .../node_modules/lodash/toPairs.js | 30 + .../node_modules/lodash/toPairsIn.js | 30 + .../node_modules/lodash/toPath.js | 33 + .../node_modules/lodash/toPlainObject.js | 32 + .../node_modules/lodash/toSafeInteger.js | 37 + .../node_modules/lodash/toString.js | 28 + .../node_modules/lodash/toUpper.js | 28 + .../node_modules/lodash/transform.js | 65 + .../node_modules/lodash/trim.js | 49 + .../node_modules/lodash/trimEnd.js | 43 + .../node_modules/lodash/trimStart.js | 43 + .../node_modules/lodash/truncate.js | 111 + .../node_modules/lodash/unary.js | 22 + .../node_modules/lodash/unescape.js | 34 + .../node_modules/lodash/union.js | 26 + .../node_modules/lodash/unionBy.js | 39 + .../node_modules/lodash/unionWith.js | 34 + .../node_modules/lodash/uniq.js | 25 + .../node_modules/lodash/uniqBy.js | 31 + .../node_modules/lodash/uniqWith.js | 28 + .../node_modules/lodash/uniqueId.js | 28 + .../node_modules/lodash/unset.js | 34 + .../node_modules/lodash/unzip.js | 45 + .../node_modules/lodash/unzipWith.js | 39 + .../node_modules/lodash/update.js | 35 + .../node_modules/lodash/updateWith.js | 33 + .../node_modules/lodash/upperCase.js | 27 + .../node_modules/lodash/upperFirst.js | 22 + .../node_modules/lodash/util.js | 34 + .../node_modules/lodash/value.js | 1 + .../node_modules/lodash/valueOf.js | 1 + .../node_modules/lodash/values.js | 34 + .../node_modules/lodash/valuesIn.js | 32 + .../node_modules/lodash/without.js | 31 + .../node_modules/lodash/words.js | 35 + .../node_modules/lodash/wrap.js | 30 + .../node_modules/lodash/wrapperAt.js | 48 + .../node_modules/lodash/wrapperChain.js | 34 + .../node_modules/lodash/wrapperLodash.js | 147 + .../node_modules/lodash/wrapperReverse.js | 44 + .../node_modules/lodash/wrapperValue.js | 21 + .../node_modules/lodash/xor.js | 28 + .../node_modules/lodash/xorBy.js | 39 + .../node_modules/lodash/xorWith.js | 34 + .../node_modules/lodash/zip.js | 22 + .../node_modules/lodash/zipObject.js | 24 + .../node_modules/lodash/zipObjectDeep.js | 23 + .../node_modules/lodash/zipWith.js | 32 + .../node_modules/mime-db/HISTORY.md | 212 + .../node_modules/mime-db/LICENSE | 22 + .../node_modules/mime-db/README.md | 76 + .../node_modules/mime-db/db.json | 6359 ++++++ .../node_modules/mime-db/index.js | 11 + .../node_modules/mime-db/package.json | 93 + .../node_modules/mime-types/HISTORY.md | 115 + .../node_modules/mime-types/LICENSE | 22 + .../node_modules/mime-types/README.md | 102 + .../node_modules/mime-types/index.js | 63 + .../node_modules/mime-types/package.json | 80 + .../node_modules/node-uuid/.npmignore | 4 + .../node_modules/node-uuid/LICENSE.md | 21 + .../node_modules/node-uuid/README.md | 8 + .../node-uuid/benchmark/README.md | 53 + .../node-uuid/benchmark/bench.gnu | 174 + .../node_modules/node-uuid/benchmark/bench.sh | 34 + .../node-uuid/benchmark/benchmark-native.c | 34 + .../node-uuid/benchmark/benchmark.js | 84 + .../node_modules/node-uuid/bin/uuid | 26 + .../node_modules/node-uuid/bower.json | 23 + .../node_modules/node-uuid/component.json | 25 + .../node-uuid/lib/sha1-browser.js | 120 + .../node_modules/node-uuid/package.json | 86 + .../node_modules/node-uuid/test/compare_v1.js | 63 + .../node_modules/node-uuid/test/test.html | 17 + .../node_modules/node-uuid/test/test.js | 231 + .../node_modules/node-uuid/uuid.js | 272 + .../node_modules/node-uuid/v3.js | 54 + .../node_modules/oauth-sign/LICENSE | 55 + .../node_modules/oauth-sign/README.md | 4 + .../node_modules/oauth-sign/index.js | 131 + .../node_modules/oauth-sign/package.json | 52 + .../node_modules/oauth-sign/test.js | 74 + .../NetatmoSecurity/node_modules/psl/LICENSE | 9 + .../node_modules/psl/README.md | 215 + .../node_modules/psl/browserstack-logo.svg | 90 + .../node_modules/psl/data/rules.json | 8807 ++++++++ .../node_modules/psl/dist/psl.js | 9618 +++++++++ .../node_modules/psl/dist/psl.min.js | 1 + .../NetatmoSecurity/node_modules/psl/index.js | 269 + .../node_modules/psl/package.json | 77 + .../node_modules/punycode/LICENSE-MIT.txt | 20 + .../node_modules/punycode/README.md | 122 + .../node_modules/punycode/package.json | 85 + .../node_modules/punycode/punycode.es6.js | 441 + .../node_modules/punycode/punycode.js | 440 + .../node_modules/qs/.jshintignore | 1 + .../NetatmoSecurity/node_modules/qs/.jshintrc | 10 + .../node_modules/qs/.npmignore | 18 + .../node_modules/qs/.travis.yml | 6 + .../node_modules/qs/CHANGELOG.md | 73 + .../node_modules/qs/CONTRIBUTING.md | 1 + .../NetatmoSecurity/node_modules/qs/LICENSE | 28 + .../NetatmoSecurity/node_modules/qs/Makefile | 8 + .../NetatmoSecurity/node_modules/qs/README.md | 233 + .../NetatmoSecurity/node_modules/qs/index.js | 1 + .../node_modules/qs/lib/index.js | 15 + .../node_modules/qs/lib/parse.js | 157 + .../node_modules/qs/lib/stringify.js | 97 + .../node_modules/qs/lib/utils.js | 132 + .../node_modules/qs/package.json | 57 + .../node_modules/qs/test/parse.js | 414 + .../node_modules/qs/test/stringify.js | 209 + .../node_modules/readable-stream/.npmignore | 5 + .../node_modules/readable-stream/LICENSE | 18 + .../node_modules/readable-stream/README.md | 15 + .../node_modules/readable-stream/duplex.js | 1 + .../readable-stream/lib/_stream_duplex.js | 89 + .../lib/_stream_passthrough.js | 46 + .../readable-stream/lib/_stream_readable.js | 982 + .../readable-stream/lib/_stream_transform.js | 210 + .../readable-stream/lib/_stream_writable.js | 386 + .../node_modules/readable-stream/package.json | 65 + .../readable-stream/passthrough.js | 1 + .../node_modules/readable-stream/readable.js | 11 + .../node_modules/readable-stream/transform.js | 1 + .../node_modules/readable-stream/writable.js | 1 + .../node_modules/request/.eslintrc | 39 + .../node_modules/request/.npmignore | 3 + .../node_modules/request/.travis.yml | 12 + .../node_modules/request/CHANGELOG.md | 467 + .../node_modules/request/CONTRIBUTING.md | 44 + .../node_modules/request/LICENSE | 55 + .../node_modules/request/README.md | 1031 + .../request/disabled.appveyor.yml | 36 + .../node_modules/request/examples/README.md | 115 + .../node_modules/request/index.js | 154 + .../node_modules/request/lib/auth.js | 153 + .../node_modules/request/lib/cookies.js | 39 + .../node_modules/request/lib/copy.js | 10 + .../request/lib/getProxyFromURI.js | 79 + .../node_modules/request/lib/har.js | 205 + .../node_modules/request/lib/helpers.js | 55 + .../node_modules/request/lib/multipart.js | 109 + .../node_modules/request/lib/oauth.js | 125 + .../node_modules/request/lib/redirect.js | 154 + .../node_modules/request/package.json | 97 + .../node_modules/request/release.sh | 45 + .../node_modules/request/request.js | 1569 ++ .../node_modules/sntp/.npmignore | 18 + .../node_modules/sntp/.travis.yml | 5 + .../NetatmoSecurity/node_modules/sntp/LICENSE | 28 + .../node_modules/sntp/Makefile | 9 + .../node_modules/sntp/README.md | 68 + .../node_modules/sntp/examples/offset.js | 16 + .../node_modules/sntp/examples/time.js | 25 + .../node_modules/sntp/index.js | 1 + .../node_modules/sntp/lib/index.js | 412 + .../node_modules/sntp/package.json | 68 + .../node_modules/sntp/test/index.js | 435 + .../node_modules/string_decoder/.npmignore | 2 + .../node_modules/string_decoder/LICENSE | 20 + .../node_modules/string_decoder/README.md | 7 + .../node_modules/string_decoder/index.js | 221 + .../node_modules/string_decoder/package.json | 53 + .../node_modules/stringstream/.travis.yml | 4 + .../node_modules/stringstream/LICENSE.txt | 22 + .../node_modules/stringstream/README.md | 38 + .../node_modules/stringstream/example.js | 27 + .../node_modules/stringstream/package.json | 51 + .../node_modules/stringstream/stringstream.js | 102 + .../node_modules/strip-ansi/index.js | 6 + .../node_modules/strip-ansi/license | 21 + .../node_modules/strip-ansi/package.json | 101 + .../node_modules/strip-ansi/readme.md | 33 + .../node_modules/supports-color/index.js | 50 + .../node_modules/supports-color/license | 21 + .../node_modules/supports-color/package.json | 89 + .../node_modules/supports-color/readme.md | 36 + .../node_modules/tough-cookie/LICENSE | 12 + .../node_modules/tough-cookie/README.md | 527 + .../node_modules/tough-cookie/lib/cookie.js | 1488 ++ .../node_modules/tough-cookie/lib/memstore.js | 181 + .../tough-cookie/lib/pathMatch.js | 61 + .../tough-cookie/lib/permuteDomain.js | 56 + .../tough-cookie/lib/pubsuffix-psl.js | 38 + .../node_modules/tough-cookie/lib/store.js | 75 + .../node_modules/tough-cookie/lib/version.js | 2 + .../node_modules/tough-cookie/package.json | 97 + .../node_modules/tunnel-agent/LICENSE | 55 + .../node_modules/tunnel-agent/README.md | 4 + .../node_modules/tunnel-agent/index.js | 243 + .../node_modules/tunnel-agent/package.json | 53 + .../node_modules/xtend/.jshintrc | 30 + .../node_modules/xtend/LICENSE | 20 + .../node_modules/xtend/README.md | 32 + .../node_modules/xtend/immutable.js | 19 + .../node_modules/xtend/mutable.js | 17 + .../node_modules/xtend/package.json | 86 + .../node_modules/xtend/test.js | 103 + .../NetatmoSecurity/package-lock.json | 383 + .../NetatmoSecurity/package.json | 9 + 1535 files changed, 136891 insertions(+) create mode 100644 netatmo-security-connector/NetatmoSecurity/auth.conf create mode 100644 netatmo-security-connector/NetatmoSecurity/authentication.js create mode 100644 netatmo-security-connector/NetatmoSecurity/icon/icon.png create mode 100644 netatmo-security-connector/NetatmoSecurity/index.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator.cmd create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid.cmd create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/logger/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/custom_filter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/option_helper.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/license create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/license create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/errors.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/reader.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/types.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/writer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/reader.test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/writer.test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/assert.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/bower.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/component.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/lib/async.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/support/sync-package-managers.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/aws-sign2/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/aws-sign2/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/aws-sign2/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/aws-sign2/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/.jshintrc create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/LICENSE.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/bl.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/test/basic-test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/test/sauce.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/test/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/changelog.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/browser/bluebird.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/browser/bluebird.min.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/any.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/assert.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/async.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/bind.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/bluebird.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/call_get.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/cancel.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/captured_trace.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/catch_filter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/context.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/debuggability.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/direct_resolve.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/each.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/errors.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/es5.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/filter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/finally.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/generators.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/join.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/map.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/method.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/nodeify.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/progress.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/promise.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/promise_array.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/promise_resolver.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/promisify.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/props.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/queue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/race.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/reduce.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/schedule.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/settle.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/some.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/synchronous_inspection.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/thenables.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/timers.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/using.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/util.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/CONTRIBUTING.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/images/boom.png create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/lib/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/test/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/caseless/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/caseless/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/caseless/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/caseless/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/chalk/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/chalk/license create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/chalk/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/chalk/readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/combined-stream/License create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/combined-stream/Readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/combined-stream/lib/combined_stream.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/combined-stream/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/CHANGELOG.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/Readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/typings/index.d.ts create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/float.patch create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/lib/util.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/lib/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/test/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/CHANGELOG create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/README create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/README.old create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/ctf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/ctio.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/ctype.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/man/man3ctype/ctio.3ctype create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/tools/jsl.conf create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/tools/jsstyle create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/License create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/Makefile create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/Readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/lib/delayed_stream.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/common.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-delayed-stream.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-handle-source-errors.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-max-data-size.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-pipe-resumes.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-proxy-readable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/run.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/escape-string-regexp/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/escape-string-regexp/license create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/escape-string-regexp/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/escape-string-regexp/readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/forever-agent/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/forever-agent/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/forever-agent/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/forever-agent/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/form-data/License create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/form-data/Readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/form-data/lib/form_data.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/form-data/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/example.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/bin/har-validator create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/error.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/cache.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/cacheEntry.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/content.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/cookie.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/creator.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/entry.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/har.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/log.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/page.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/pageTimings.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/postData.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/record.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/request.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/response.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/timings.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/has-ansi/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/has-ansi/license create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/has-ansi/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/has-ansi/readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/Makefile create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/bower.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/component.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/example/usage.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/images/hawk.png create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/images/logo.png create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/browser.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/client.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/crypto.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/server.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/utils.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/browser.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/client.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/crypto.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/message.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/readme.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/server.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/uri.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/utils.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/CONTRIBUTING.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/images/hoek.png create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/lib/escape.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/lib/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/escaper.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/modules/ignore.txt create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/modules/test1.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/modules/test2.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/modules/test3.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/.dir-locals.el create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/http_signing.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/parser.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/signer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/util.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/verify.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/inherits.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/inherits_browser.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ip-regex/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ip-regex/license create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ip-regex/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ip-regex/readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/fixtures/invalid-ipv4-addresses.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/fixtures/invalid-ipv6-addresses.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/fixtures/valid-ipv4-addresses.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/fixtures/valid-ipv6-addresses.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/formats.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/index.d.ts create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/require.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/is-property.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/build/build.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/component.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/.jshintrc create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/LICENSE.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/isstream.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/CHANGELOG.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/Makefile create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/stringify.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/test/mocha.opts create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/test/stringify_test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/jsonpointer/LICENSE.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/jsonpointer/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/jsonpointer/jsonpointer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/jsonpointer/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_DataView.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Hash.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_LazyWrapper.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_ListCache.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_LodashWrapper.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Map.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_MapCache.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Promise.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Set.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_SetCache.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Stack.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Symbol.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Uint8Array.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_WeakMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_apply.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayAggregator.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayEach.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayEachRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayEvery.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayFilter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayIncludes.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayIncludesWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayLikeKeys.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayPush.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayReduce.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayReduceRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arraySample.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arraySampleSize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayShuffle.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arraySome.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_asciiSize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_asciiToArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_asciiWords.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_assignMergeValue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_assignValue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_assocIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAggregator.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAssign.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAssignIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAssignValue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseClamp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseClone.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseConforms.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseConformsTo.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseCreate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseDelay.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseDifference.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseEach.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseEachRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseEvery.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseExtremum.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFill.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFilter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFindIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFindKey.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFlatten.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFor.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseForOwn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseForOwnRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseForRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFunctions.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseGet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseGetAllKeys.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseGetTag.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseGt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseHas.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseHasIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseInRange.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIndexOfWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIntersection.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseInverter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseInvoke.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsArguments.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsArrayBuffer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsDate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsEqual.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsEqualDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsMatch.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsNaN.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsNative.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsRegExp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsTypedArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIteratee.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseKeys.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseKeysIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseLodash.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseLt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMatches.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMatchesProperty.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMean.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMerge.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMergeDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseNth.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseOrderBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePick.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePickBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseProperty.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePropertyDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePropertyOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePullAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePullAt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseRandom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseRange.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseReduce.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseRepeat.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseRest.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSample.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSampleSize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSetData.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSetToString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseShuffle.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSlice.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSome.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSortBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSortedIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSortedIndexBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSortedUniq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSum.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseTimes.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseToNumber.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseToPairs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseToString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseUnary.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseUniq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseUnset.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseUpdate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseValues.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseWrapperValue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseXor.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseZipObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cacheHas.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castArrayLikeObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castFunction.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castPath.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castRest.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castSlice.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_charsEndIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_charsStartIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneArrayBuffer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneBuffer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneDataView.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneRegExp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneSymbol.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneTypedArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_compareAscending.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_compareMultiple.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_composeArgs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_composeArgsRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_copyArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_copyObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_copySymbols.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_copySymbolsIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_coreJsData.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_countHolders.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createAggregator.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createAssigner.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createBaseEach.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createBaseFor.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createBind.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createCaseFirst.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createCompounder.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createCtor.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createCurry.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createFind.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createFlow.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createHybrid.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createInverter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createMathOperation.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createOver.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createPadding.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createPartial.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createRange.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createRecurry.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createRelationalOperation.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createRound.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createToPairs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createWrap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_customDefaultsAssignIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_customDefaultsMerge.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_customOmitClone.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_deburrLetter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_defineProperty.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_equalArrays.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_equalByTag.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_equalObjects.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_escapeHtmlChar.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_escapeStringChar.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_flatRest.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_freeGlobal.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getAllKeys.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getAllKeysIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getData.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getFuncName.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getHolder.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getMapData.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getMatchData.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getNative.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getPrototype.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getRawTag.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getSymbols.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getSymbolsIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getTag.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getValue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getView.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getWrapDetails.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hasPath.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hasUnicode.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hasUnicodeWord.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashClear.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashDelete.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashGet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashHas.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_initCloneArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_initCloneByTag.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_initCloneObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_insertWrapDetails.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isFlattenable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isIterateeCall.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isKey.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isKeyable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isLaziable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isMaskable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isMasked.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isPrototype.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isStrictComparable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_iteratorToArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_lazyClone.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_lazyReverse.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_lazyValue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheClear.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheDelete.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheGet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheHas.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheClear.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheDelete.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheGet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheHas.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapToArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_matchesStrictComparable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_memoizeCapped.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mergeData.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_metaMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_nativeCreate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_nativeKeys.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_nativeKeysIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_nodeUtil.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_objectToString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_overArg.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_overRest.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_parent.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_reEscape.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_reEvaluate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_reInterpolate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_realNames.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_reorder.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_replaceHolders.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_root.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_safeGet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setCacheAdd.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setCacheHas.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setData.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setToArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setToPairs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setToString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setWrapToString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_shortOut.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_shuffleSelf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackClear.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackDelete.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackGet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackHas.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_strictIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_strictLastIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stringSize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stringToArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stringToPath.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_toKey.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_toSource.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_unescapeHtmlChar.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_unicodeSize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_unicodeToArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_unicodeWords.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_updateWrapDetails.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_wrapperClone.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/add.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/after.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/array.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/ary.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/assign.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/assignIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/assignInWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/assignWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/at.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/attempt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/before.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/bind.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/bindAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/bindKey.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/camelCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/capitalize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/castArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/ceil.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/chain.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/chunk.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/clamp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/clone.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/cloneDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/cloneDeepWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/cloneWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/collection.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/commit.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/compact.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/concat.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/cond.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/conforms.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/conformsTo.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/constant.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/core.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/core.min.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/countBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/create.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/curry.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/curryRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/date.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/debounce.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/deburr.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/defaultTo.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/defaults.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/defaultsDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/defer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/delay.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/difference.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/differenceBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/differenceWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/divide.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/drop.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/dropRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/dropRightWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/dropWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/each.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/eachRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/endsWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/entries.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/entriesIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/eq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/escape.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/escapeRegExp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/every.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/extend.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/extendWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fill.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/filter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/find.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findKey.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findLast.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findLastIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findLastKey.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/first.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flatMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flatMapDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flatMapDepth.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flatten.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flattenDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flattenDepth.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flip.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/floor.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flow.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flowRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forEach.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forEachRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forInRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forOwn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forOwnRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/F.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/T.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/__.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_baseConvert.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_convertBrowser.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_falseOptions.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_mapping.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_util.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/add.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/after.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/all.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/allPass.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/always.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/any.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/anyPass.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/apply.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/array.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/ary.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assign.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignAllWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignInAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignInAllWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignInWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assoc.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assocPath.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/at.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/attempt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/before.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/bind.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/bindAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/bindKey.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/camelCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/capitalize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/castArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/ceil.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/chain.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/chunk.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/clamp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/clone.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/cloneDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/cloneDeepWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/cloneWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/collection.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/commit.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/compact.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/complement.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/compose.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/concat.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/cond.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/conforms.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/conformsTo.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/constant.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/contains.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/convert.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/countBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/create.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/curry.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/curryN.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/curryRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/curryRightN.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/date.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/debounce.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/deburr.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaultTo.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaults.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaultsAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaultsDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaultsDeepAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/delay.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/difference.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/differenceBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/differenceWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dissoc.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dissocPath.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/divide.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/drop.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropLast.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropLastWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropRightWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/each.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/eachRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/endsWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/entries.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/entriesIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/eq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/equals.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/escape.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/escapeRegExp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/every.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/extend.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/extendAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/extendAllWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/extendWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/fill.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/filter.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/find.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findFrom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findIndexFrom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findKey.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLast.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLastFrom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLastIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLastIndexFrom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLastKey.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/first.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flatMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flatMapDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flatMapDepth.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flatten.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flattenDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flattenDepth.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flip.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/floor.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flow.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flowRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forEach.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forEachRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forInRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forOwn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forOwnRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/fromPairs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/function.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/functions.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/functionsIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/get.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/getOr.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/groupBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/gt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/gte.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/has.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/hasIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/head.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/identical.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/identity.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/inRange.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/includes.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/includesFrom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/indexBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/indexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/indexOfFrom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/init.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/initial.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/intersection.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/intersectionBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/intersectionWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invert.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invertBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invertObj.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invoke.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invokeArgs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invokeArgsMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invokeMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArguments.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArrayBuffer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArrayLike.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArrayLikeObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isBoolean.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isBuffer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isDate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isElement.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isEmpty.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isEqual.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isEqualWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isError.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isFinite.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isFunction.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isInteger.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isLength.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isMatch.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isMatchWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNaN.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNative.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNil.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNull.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNumber.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isObjectLike.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isPlainObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isRegExp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isSafeInteger.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isSymbol.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isTypedArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isUndefined.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isWeakMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isWeakSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/iteratee.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/join.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/juxt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/kebabCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/keyBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/keys.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/keysIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lang.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/last.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lastIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lastIndexOfFrom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lowerCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lowerFirst.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lte.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/map.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mapKeys.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mapValues.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/matches.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/matchesProperty.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/math.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/max.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/maxBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mean.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/meanBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/memoize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/merge.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mergeAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mergeAllWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mergeWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/method.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/methodOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/min.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/minBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mixin.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/multiply.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/nAry.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/negate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/next.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/noop.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/now.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/nth.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/nthArg.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/number.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/object.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/omit.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/omitAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/omitBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/once.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/orderBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/over.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/overArgs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/overEvery.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/overSome.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pad.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padChars.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padCharsEnd.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padCharsStart.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padEnd.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padStart.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/parseInt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/partial.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/partialRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/partition.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/path.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pathEq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pathOr.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/paths.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pick.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pickAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pickBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pipe.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/placeholder.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/plant.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pluck.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/prop.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/propEq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/propOr.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/property.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/propertyOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/props.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pull.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pullAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pullAllBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pullAllWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pullAt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/random.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/range.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rangeRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rangeStep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rangeStepRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rearg.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/reduce.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/reduceRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/reject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/remove.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/repeat.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/replace.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rest.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/restFrom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/result.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/reverse.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/round.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sample.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sampleSize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/seq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/set.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/setWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/shuffle.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/size.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/slice.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/snakeCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/some.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedIndexBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedLastIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedLastIndexBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedLastIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedUniq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedUniqBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/split.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/spread.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/spreadFrom.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/startCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/startsWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/string.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubFalse.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubTrue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/subtract.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sum.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sumBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/symmetricDifference.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/symmetricDifferenceBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/symmetricDifferenceWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/tail.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/take.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeLast.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeLastWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeRightWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/tap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/template.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/templateSettings.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/throttle.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/thru.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/times.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toFinite.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toInteger.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toIterator.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toJSON.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toLength.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toLower.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toNumber.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toPairs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toPairsIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toPath.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toPlainObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toSafeInteger.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toUpper.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/transform.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trim.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimChars.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimCharsEnd.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimCharsStart.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimEnd.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimStart.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/truncate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unapply.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unary.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unescape.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/union.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unionBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unionWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/uniq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/uniqBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/uniqWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/uniqueId.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unnest.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unset.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unzip.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unzipWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/update.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/updateWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/upperCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/upperFirst.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/useWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/util.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/value.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/valueOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/values.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/valuesIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/where.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/whereEq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/without.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/words.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperAt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperChain.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperLodash.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperReverse.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperValue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/xor.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/xorBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/xorWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zip.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipObj.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipObjectDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fromPairs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/function.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/functions.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/functionsIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/get.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/groupBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/gt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/gte.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/has.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/hasIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/head.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/identity.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/inRange.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/includes.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/indexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/initial.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/intersection.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/intersectionBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/intersectionWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/invert.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/invertBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/invoke.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/invokeMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArguments.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArrayBuffer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArrayLike.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArrayLikeObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isBoolean.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isBuffer.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isDate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isElement.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isEmpty.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isEqual.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isEqualWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isError.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isFinite.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isFunction.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isInteger.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isLength.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isMatch.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isMatchWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNaN.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNative.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNil.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNull.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNumber.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isObjectLike.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isPlainObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isRegExp.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isSafeInteger.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isSymbol.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isTypedArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isUndefined.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isWeakMap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isWeakSet.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/iteratee.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/join.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/kebabCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/keyBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/keys.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/keysIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lang.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/last.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lastIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lodash.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lodash.min.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lowerCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lowerFirst.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lte.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/map.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mapKeys.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mapValues.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/matches.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/matchesProperty.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/math.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/max.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/maxBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mean.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/meanBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/memoize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/merge.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mergeWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/method.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/methodOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/min.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/minBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mixin.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/multiply.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/negate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/next.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/noop.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/now.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/nth.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/nthArg.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/number.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/object.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/omit.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/omitBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/once.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/orderBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/over.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/overArgs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/overEvery.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/overSome.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pad.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/padEnd.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/padStart.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/parseInt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/partial.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/partialRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/partition.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pick.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pickBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/plant.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/property.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/propertyOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pull.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pullAll.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pullAllBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pullAllWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pullAt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/random.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/range.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/rangeRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/rearg.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/reduce.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/reduceRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/reject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/remove.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/repeat.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/replace.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/rest.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/result.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/reverse.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/round.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sample.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sampleSize.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/seq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/set.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/setWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/shuffle.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/size.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/slice.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/snakeCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/some.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedIndexBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedLastIndex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedLastIndexBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedLastIndexOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedUniq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedUniqBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/split.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/spread.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/startCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/startsWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/string.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubFalse.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubTrue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/subtract.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sum.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sumBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/tail.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/take.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/takeRight.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/takeRightWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/takeWhile.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/tap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/template.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/templateSettings.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/throttle.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/thru.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/times.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toArray.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toFinite.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toInteger.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toIterator.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toJSON.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toLength.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toLower.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toNumber.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toPairs.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toPairsIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toPath.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toPlainObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toSafeInteger.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toString.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toUpper.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/transform.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/trim.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/trimEnd.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/trimStart.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/truncate.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unary.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unescape.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/union.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unionBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unionWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/uniq.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/uniqBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/uniqWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/uniqueId.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unset.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unzip.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unzipWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/update.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/updateWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/upperCase.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/upperFirst.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/util.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/value.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/valueOf.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/values.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/valuesIn.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/without.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/words.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrap.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperAt.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperChain.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperLodash.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperReverse.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperValue.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/xor.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/xorBy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/xorWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/zip.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/zipObject.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/zipObjectDeep.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/zipWith.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/HISTORY.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/db.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/HISTORY.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/LICENSE.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/bench.gnu create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/bench.sh create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/benchmark-native.c create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/benchmark.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/bin/uuid create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/bower.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/component.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/lib/sha1-browser.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/compare_v1.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.html create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/uuid.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/v3.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/browserstack-logo.svg create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/data/rules.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.min.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/LICENSE-MIT.txt create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.es6.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintrc create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/CHANGELOG.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/CONTRIBUTING.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/Makefile create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/parse.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/stringify.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/utils.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/parse.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/stringify.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/duplex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_readable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_transform.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_writable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/passthrough.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/readable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/transform.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/writable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/.eslintrc create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/CHANGELOG.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/CONTRIBUTING.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/disabled.appveyor.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/examples/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/auth.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/cookies.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/copy.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/getProxyFromURI.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/har.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/helpers.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/multipart.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/oauth.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/redirect.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/release.sh create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/request.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/Makefile create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/offset.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/time.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/lib/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/test/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/.npmignore create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/.travis.yml create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/LICENSE.txt create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/example.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/stringstream.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/license create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/license create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/readme.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/cookie.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/memstore.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/pathMatch.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/permuteDomain.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/pubsuffix-psl.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/store.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/version.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/index.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/.jshintrc create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/LICENSE create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/README.md create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/immutable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/mutable.js create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/package.json create mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/test.js create mode 100644 netatmo-security-connector/NetatmoSecurity/package-lock.json create mode 100644 netatmo-security-connector/NetatmoSecurity/package.json diff --git a/netatmo-security-connector/NetatmoSecurity/auth.conf b/netatmo-security-connector/NetatmoSecurity/auth.conf new file mode 100644 index 0000000..8754d81 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/auth.conf @@ -0,0 +1,4 @@ +{ + "username": "TOM", + "password": "JERRY" +} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/authentication.js b/netatmo-security-connector/NetatmoSecurity/authentication.js new file mode 100644 index 0000000..f433dfa --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/authentication.js @@ -0,0 +1,29 @@ +var request = require('request'); + +module.exports = { + label : 'Connect to Basic', + mock_input: { }, + validate : function (input, output){ + // auth data will be availablein input.auth + var username = input.auth.username + var password = input.auth.password + request({ + url: 'http://httpbin.org/basic-auth/user/passwd', + auth: { + user: username, + pass: password, + sendImmediately: false + } + }, + function(err, res, body){ + if(err){ + output(err, null) + } + if(res.statusCode == 401){ + output('Unauthorized') + } else { + output(null, 'Logged in successfull'); + } + }) + } +} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/icon/icon.png b/netatmo-security-connector/NetatmoSecurity/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c2b65dcb118104a614f56ef625befcf4a81e7d67 GIT binary patch literal 6500 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 KMNUMnLSTYgYnuB2 literal 0 HcmV?d00001 diff --git a/netatmo-security-connector/NetatmoSecurity/index.json b/netatmo-security-connector/NetatmoSecurity/index.json new file mode 100644 index 0000000..b5d96de --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/index.json @@ -0,0 +1,9 @@ +{ + "name": "NetatmoSecurity", + "description": "Netatmo Security Camera connector", + "triggers": [], + "actions": [], + "version": 1, + "auth_type": "basic", + "docs_link": "http://docs.example.com" +} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator new file mode 100644 index 0000000..e5f2300 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../har-validator/bin/har-validator" "$@" + ret=$? +else + node "$basedir/../har-validator/bin/har-validator" "$@" + ret=$? +fi +exit $ret diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator.cmd b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator.cmd new file mode 100644 index 0000000..45e3fae --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\har-validator\bin\har-validator" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\har-validator\bin\har-validator" %* +) \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid new file mode 100644 index 0000000..4f0e8e6 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../node-uuid/bin/uuid" "$@" + ret=$? +else + node "$basedir/../node-uuid/bin/uuid" "$@" + ret=$? +fi +exit $ret diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid.cmd b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid.cmd new file mode 100644 index 0000000..9f2abd0 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\node-uuid\bin\uuid" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\node-uuid\bin\uuid" %* +) \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/LICENSE new file mode 100644 index 0000000..e6e9056 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Built.io Flow + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/index.js new file mode 100644 index 0000000..1e39a75 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/index.js @@ -0,0 +1,7 @@ +var trigger = require('./trigger/index') +var logger = require('./logger'); + +module.exports = { + trigger : trigger, + logger: logger +} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/logger/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/logger/index.js new file mode 100644 index 0000000..958a551 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/logger/index.js @@ -0,0 +1,26 @@ +function Logger(){ + this.logs = [ ]; +} + +Logger.prototype.log = function(userlogs){ + var self = this; + if(arguments.length){ + Array.prototype.slice.call(arguments).forEach(function (data){ + if(typeof data === 'object'){ + try { + self.logs.push(JSON.stringify(data)) + }catch(e){ + self.logs.push(String(data)); + } + } else { + self.logs.push(String(data)); + } + }) + } +} + +Logger.prototype.getLogs = function(){ + return this.logs; +} + +module.exports = Logger; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/package.json new file mode 100644 index 0000000..23d4368 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/package.json @@ -0,0 +1,38 @@ +{ + "_from": "@webmethodsio/cli-sdk@*", + "_id": "@webmethodsio/cli-sdk@1.0.0", + "_inBundle": false, + "_integrity": "sha512-XQycpmMscE6V3rVNlcFI1BWNKuVKSQOViovr05GRqlA2PR5Sl1Qc8xki70N5LovoDcP1QbM7567CIx1Tmn22oA==", + "_location": "/@webmethodsio/cli-sdk", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@webmethodsio/cli-sdk@*", + "name": "@webmethodsio/cli-sdk", + "escapedName": "@webmethodsio%2fcli-sdk", + "scope": "@webmethodsio", + "rawSpec": "*", + "saveSpec": null, + "fetchSpec": "*" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@webmethodsio/cli-sdk/-/cli-sdk-1.0.0.tgz", + "_shasum": "e938b9f6775594c7db8776bee10450464323453d", + "_spec": "@webmethodsio/cli-sdk@*", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity", + "bundleDependencies": false, + "dependencies": { + "lodash": "4.17.5" + }, + "deprecated": false, + "description": "Webmethods.io cli sdk", + "engines": { + "node": ">=6" + }, + "main": "index.js", + "name": "@webmethodsio/cli-sdk", + "version": "1.0.0" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/custom_filter.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/custom_filter.js new file mode 100644 index 0000000..471c07f --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/custom_filter.js @@ -0,0 +1,507 @@ + +var _ = require('lodash') +var CustomFilters = { } + +module.exports = CustomFilters + +CustomFilters.schema = { + "type" : "array", + "title" : "Custom Filters", + "items" : { + "type" : "object", + "title" : "filter", + "properties" : { + "input" : { + "type" : "string", + "title" : "Input", + "minLength" :1 + }, + "operator" : { + "type" : "string", + "title" : "Condition", + "minLength":1, + "description" : "Select proper condition", + "enum" : [ + "(Text) Matches", + "(Text) Exactly Matches", + "(Text) Does Not Match", + "(Text) Does Not Exactly Match", + "(Text) Contains", + "(Text) Does Not Contain", + "(Text) Starts With", + "(Text) Does Not Start With", + "(Text) Ends With", + "(Text) Does Not End With", + "(Text) Is Alphanumeric", + "(Text) Is Empty", + "(Number) Equals", + "(Number) Not Equals", + "(Number) Greater Than", + "(Number) Greater Than Equals", + "(Number) Less Than", + "(Number) Less Than Equals", + "(Number) Is Negative", + "(Number) Is Positive", + "(Date/Time) Equals", + "(Date/Time) Less Than", + "(Date/Time) Less Than Equals", + "(Date/Time) Greater Than", + "(Date/Time) Greater Than Equals", + "(Array) Length Equals", + "(Array) Length Does Not Equals", + "(Array) Length Less Than", + "(Array) Length Less Than Equals", + "(Array) Length Greater Than", + "(Array) Length Greater Than Equals", + "(Array) Is Empty", + "(Array) Contains All Object", + "(Array) Contains All String", + "(Array) Contains All Number", + "(Array) Contains All Object And Has This Property", + "(Object) Has Property", + "(Object) Does Not Have Property", + "(Object) Is Empty", + "(Regex) Match Pattern", + "(Boolean) Is True", + "(Boolean) Is False", + "(Input) Exists", + "(Input) Does Not Exist", + "(Input) Is Null", + "(Input) Is Undefined", + "(Input) Is String", + "(Input) Is Number", + "(Input) Is Date", + "(Input) Is An Array", + "(Input) Is An Object", + "(Input) Is Boolean", + "(Input) Data Type Is" + ] + }, + "expected": { + "type": "string", + "title": "Expected", + "minLength":1, + "description" : "Value you are expecting, default value is true in case of condition start with Is" + } + } + } +} + +CustomFilters.filter = filter + +CustomFilters.interpolate = interpolate + +CustomFilters.dataType = dataType + +function filter(filters, data, output){ + var customFilters = [ ]; + if(filters && Array.isArray(filters)){ + customFilters = filters.filter(function(item){ + if(item.input && item.input.trim()){ + return true; + } + }); + } + if(!customFilters.length){ + return output(null, data); + } + data = Array.isArray(data) ? data : [ data ]; + var matched = data.filter(function(item){ + return customFilters.every(function(matcher){ + var condition = matcher.operator || matcher.condition; + var context = clone(item); + context.$params = item; + context.$trigger = item; + return testCondition(interpolate(matcher.input, context), condition, matcher.expected); + }); + }); + + if(matched.length){ + return output(null, matched); + } + return output(null); +} + +function interpolate(input, context){ + if(!input || + typeof(input) === "function" || + typeof(input.on) === "function"){ + return input; + }if(Array.isArray(input)){ + input.forEach(function(item, index){ + input[index] = interpolate(item, context, index); + }); + }if(typeof(input) === "object"){ + Object.keys(input).forEach(function(item){ + input[item] = interpolate(input[item], context, item); + }); + }else if(typeof(input) === "string"){ + input = input.trim(); + var parameters = input.match(/{{([^{}]+)}}/g); + if(parameters && parameters.length){ + var contents = parameters.map(function(itemd){ + itemd = String(itemd).replace(/{{|}}/g, '').trim(); + return _.get(context, itemd, ''); + }); + try{ + if(parameters[0].trim() === input.trim()){ + return contents[0]; + } + parameters.forEach(function(paramItem, index){ + var thisContent = contents[index]; + if(typeof(thisContent) !== "string"){ + thisContent = JSON.stringify(thisContent); + } + input = String(input).replace(paramItem, thisContent); + }); + if(input && typeof(input) === "string" && input.match(/{{([^{}]+)}}/g)){ + return interpolate(input, context); + } + return input; + }catch(e){ + } + } + } + return input; +} + +function testCondition(input, condition, expected){ + try{ + switch(condition){ + case "(Text) Exactly Matches" : + return String(input) === String(expected); + + case "(Text) Matches" : + return String(input).toLowerCase().trim() === String(expected).toLowerCase().trim(); + + case "(Text) Does Not Exactly Match" : + return String(input) !== String(expected); + + case "(Text) Does Not Match": + return String(input).toLowerCase() !== String(expected).toLowerCase(); + + case "(Text) Contains": + return String(input).indexOf(String(expected)) >= 0; + + case "(Text) Does Not Contain": + return String(input).indexOf(String(expected)) === -1; + + case "(Text) Starts With": + return String(input).indexOf(String(expected)) === 0; + + case "(Text) Does Not Start With": + return String(input).indexOf(String(expected)) !== 0; + + case "(Text) Ends With": + return String(input).substr(-String(expected).length) === String(expected); + + case "(Text) Does Not End With" : + return String(input).substr(-String(expected).length) !== String(expected); + + case "(Text) Is Alphanumeric": + if(typeof(input) !== "string" && typeof(input) !== "number"){ + return false; + } + var exp2 = (String(expected).toLowerCase().trim() !== "false"); + return alphaNumeric.test(String(input)) === exp2; + + case "(Text) Is Empty": + var exp3 = (String(expected).toLowerCase().trim() !== "false"); + return ((String(input).trim() == "") === exp3); + + case "(Number) Equals": + return Number(input) === Number(expected); + + case "(Number) Not Equals": + return Number(input) !== Number(expected); + + case "(Number) Greater Than": + return Number(input) > Number(expected); + + case "(Number) Greater Than Equals": + return Number(input) >= Number(expected); + + case "(Number) Less Than": + return Number(input) < Number(expected); + + case "(Number) Less Than Equals": + return Number(input) <= Number(expected); + + case "(Number) Is Negative": + var exp4 = (String(expected).toLowerCase().trim() !== "false"); + return (!isNaN(input) && (Number(input) < 0) === exp4); + + case "(Number) Is Positive": + var exp5 = (String(expected).toLowerCase().trim() !== "false"); + return (!isNaN(input) && (Number(input) >= 0) === exp5); + + case "(Date/Time) Equals": + if(new Date(input) == "Invalid Date"){ + throw Error('input should be a date'); + } + if(new Date(expected) == "Invalid Date"){ + throw Error('expected should be a date'); + } + return ((new Date(input)).getTime() === (new Date(expected)).getTime()); + + case "(Date/Time) Less Than": + if(new Date(input) == "Invalid Date"){ + throw Error('input should be a date'); + } + if(new Date(expected) == "Invalid Date"){ + throw Error('expected should be a date'); + } + return ((new Date(input)).getTime() < (new Date(expected)).getTime()); + + case "(Date/Time) Less Than Equals": + if(new Date(input) == "Invalid Date"){ + throw Error('input should be a date'); + } + if(new Date(expected) == "Invalid Date"){ + throw Error('expected should be a date'); + } + return ((new Date(input)).getTime() <= (new Date(expected)).getTime()); + + case "(Date/Time) Greater Than": + if(new Date(input) == "Invalid Date"){ + throw Error('input should be a date'); + } + if(new Date(expected) == "Invalid Date"){ + throw Error('expected should be a date'); + } + return ((new Date(input)).getTime() > (new Date(expected)).getTime()); + + case "(Date/Time) Greater Than Equals": + if(new Date(input) == "Invalid Date"){ + throw Error('input should be a date'); + } + if(new Date(expected) == "Invalid Date"){ + throw Error('expected should be a date'); + } + return ((new Date(input)).getTime() >= (new Date(expected)).getTime()); + + case "(Date/Time) Is Valid Date": + if(new Date(input) == "Invalid Date"){ + throw Error('input should be a date'); + } + var exp6 = (String(expected).toLowerCase().trim() !== "false"); + return (((new Date(input)) != 'Invalid Date') === exp6); + + case "(Array) Length Equals": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + return input.length === Number(expected); + + case "(Array) Length Does Not Equals": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + return input.length !== Number(expected); + + case "(Array) Length Greater Than": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + return input.length > Number(expected); + + case "(Array) Length Less Than": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + return input.length < Number(expected); + + case "(Array) Length Greater Than Equals": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + return input.length >= Number(expected); + + case "(Array) Length Less Than Equals": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + return input.length <= Number(expected); + + case "(Array) Is Empty": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + var exp23 = (String(expected).toLowerCase().trim() !== "false"); + return ((!input.length) === exp23); + + case "(Array) Contains All Object": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + var exp20 = (String(expected).toLowerCase().trim() !== "false"); + var result = input.every(function(item){ + return (dataType(item) === "Object"); + }); + + return (result === exp20); + + case "(Array) Contains All String": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + var exp21 = (String(expected).toLowerCase().trim() !== "false"); + var result2 = input.every(function(item){ + return (dataType(item) === "String") ; + }); + + return (result2 === exp21); + + case "(Array) Contains All Number": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + var exp22 = (String(expected).toLowerCase().trim() !== "false"); + var result3 = input.every(function(item){ + return (dataType(item) === "Number"); + }); + + return (result3 === exp22); + + case "(Array) Contains All Object And Has This Property": + if(!Array.isArray(input)){ + throw Error('input should be an array'); + } + expected = String(expected).trim(); + if(!String(expected).trim()){ + return false; + } + return input.every(function(item){ + if(item && typeof(item) === 'object' && Object(item).hasOwnProperty(expected)){ + return true; + } + }); + + case "(Object) Has Property": + if(dataType(input) !== "Object"){ + throw Error('input should be an object'); + } + return (input && expected && (typeof(input) === "object") && (typeof(input.hasOwnProperty) === "function") && input.hasOwnProperty(expected)); + + case "(Object) Does Not Have Property": + if(dataType(input) !== "Object"){ + throw Error('input should be an object'); + } + return (input && expected && (typeof(input) === "object") && (typeof(input.hasOwnProperty) === "function") && !input.hasOwnProperty(expected)); + + case "(Object) Is Empty": + if(dataType(input) !== "Object"){ + throw Error('input should be an object'); + } + var exp23 = (String(expected).toLowerCase().trim() !== "false"); + return (_.isEmpty(input) === exp23); + + case "(Regex) Match Pattern": + expected = String(expected); + if(expected.match(/^\/[^\/]+\/?[i|g|m]+$/)){ + var regContent = expected.substr(1, expected.lastIndexOf("/") -1); + var modifier = expected.substr(expected.lastIndexOf("/") + 1, expected.length); + var regEx = RegExp(regContent, modifier); + return regEx.test(input); + }else{ + var regExx = RegExp(expected); + return regExx.test(input); + } + + case "(Boolean) Is True": + case "(Boolean) Is Value True": + if(typeof(input) !== "boolean"){ + throw Error('input should be a boolean'); + } + var exp7 = (String(expected).toLowerCase().trim() !== "false"); + return (input === exp7); + + case "(Boolean) Is False": + case "(Boolean) Is Value False": + if(typeof(input) !== "boolean"){ + throw Error('input should be a boolean'); + } + var exp8 = (String(expected).toLowerCase().trim() !== "false"); + return (input !== exp8); + + case "(Input) Exists": + var exp9 = (String(expected).toLowerCase().trim() !== "false"); + var typ1 = (dataType(input) !== "Undefined"); + return (typ1 && typ1 === exp9); + + case "(Input) Does Not Exist": + var exp10 = (String(expected).toLowerCase().trim() !== "false"); + var typ2 = (dataType(input) === "Undefined" || input === "undefined"); + return (typ2 === exp10); + + case "(Input) Is Null": + var exp11 = (String(expected).toLowerCase().trim() !== "false"); + return ((dataType(input) === "Null") === exp11); + + case "(Input) Is Undefined": + var exp12 = (String(expected).toLowerCase().trim() !== "false"); + return ((dataType(input) === "Undefined") === exp12); + + case "(Input) Is String": + var exp13 = (String(expected).toLowerCase().trim() !== "false"); + return ((dataType(input) === "String") === exp13); + + case "(Input) Is Number": + var exp14 = (String(expected).toLowerCase().trim() !== "false"); + return ((dataType(input) === "Number") === exp14); + + case "(Input) Is Date": + var exp15 = (String(expected).toLowerCase().trim() !== "false"); + return ((String(new Date(input)) !== 'Invalid Date') === exp15); + + case "(Input) Is An Array": + var exp16 = (String(expected).toLowerCase().trim() !== "false"); + return ((dataType(input) === 'Array') === exp16); + + case "(Input) Is An Object": + var exp17 = (String(expected).toLowerCase().trim() !== "false"); + return ((dataType(input) === 'Object') === exp17); + + case "(Input) Is Boolean": + var exp18 = (String(expected).toLowerCase().trim() !== "false"); + return ((dataType(input) === 'Boolean') === exp18); + + case "(Input) Data Type Is": + return dataType(input).toLowerCase() === String(expected).toLowerCase(); + + default: + return false; + } + }catch(e){ + return false; + } +} + +function clone(obj){ + if(obj && typeof(obj) === "object"){ + if(Array.isArray(obj)){ + return obj.slice(0); + }else{ + var ret = { }; + Object.keys(obj).forEach(function(item){ + ret[item] = obj[item]; + }); + return ret; + } + } + return obj; +} + +function dataType(obj){ + try{ + if(typeof(obj) === 'undefined'){ + return 'Undefined'; + }else if(obj === null){ + return 'Null'; + } + var text = Function.prototype.toString.call(obj.constructor); + return text.match(/function (.*)\(/)[1]; + }catch(e){ + return typeof(obj); + } +} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/index.js new file mode 100644 index 0000000..8ebfa92 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/index.js @@ -0,0 +1,9 @@ +var customFilter = require('./custom_filter') +var Meta = require('./option_helper') + +var trigger = { + filter : customFilter.filter, + Meta : Meta +} + +module.exports = trigger \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/option_helper.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/option_helper.js new file mode 100644 index 0000000..ebdbee3 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/option_helper.js @@ -0,0 +1,24 @@ + +module.exports = function Meta(meta){ + + this.meta = (meta && typeof(meta) === 'object') ? meta : {} + + this.setMeta = function(arg1, arg2){ + var me = this + if(arg1 && typeof(arg1) === 'object'){ + Object.keys(arg1).forEach((item)=>{ + me.meta[item] = arg1[item] + }) + }else if(arg1 && + typeof(arg1) === 'string' && + typeof(arg2) === 'string'){ + me.meta[arg1] = arg2 + } + } + + this.getMeta = function(key){ + return this.meta[key] + } +} + + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/index.js new file mode 100644 index 0000000..b9574ed --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/index.js @@ -0,0 +1,4 @@ +'use strict'; +module.exports = function () { + return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g; +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/license b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/license new file mode 100644 index 0000000..654d0bf --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/package.json new file mode 100644 index 0000000..c3505c5 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/package.json @@ -0,0 +1,109 @@ +{ + "_from": "ansi-regex@^2.0.0", + "_id": "ansi-regex@2.1.1", + "_inBundle": false, + "_integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "_location": "/ansi-regex", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "ansi-regex@^2.0.0", + "name": "ansi-regex", + "escapedName": "ansi-regex", + "rawSpec": "^2.0.0", + "saveSpec": null, + "fetchSpec": "^2.0.0" + }, + "_requiredBy": [ + "/has-ansi", + "/strip-ansi" + ], + "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df", + "_spec": "ansi-regex@^2.0.0", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\has-ansi", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/chalk/ansi-regex/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Regular expression for matching ANSI escape codes", + "devDependencies": { + "ava": "0.17.0", + "xo": "0.16.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/chalk/ansi-regex#readme", + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "text", + "regex", + "regexp", + "re", + "match", + "test", + "find", + "pattern" + ], + "license": "MIT", + "maintainers": [ + { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + { + "name": "Joshua Appelman", + "email": "jappelman@xebia.com", + "url": "jbnicolai.com" + }, + { + "name": "JD Ballard", + "email": "i.am.qix@gmail.com", + "url": "github.com/qix-" + } + ], + "name": "ansi-regex", + "repository": { + "type": "git", + "url": "git+https://github.com/chalk/ansi-regex.git" + }, + "scripts": { + "test": "xo && ava --verbose", + "view-supported": "node fixtures/view-codes.js" + }, + "version": "2.1.1", + "xo": { + "rules": { + "guard-for-in": 0, + "no-loop-func": 0 + } + } +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/readme.md b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/readme.md new file mode 100644 index 0000000..6a928ed --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/readme.md @@ -0,0 +1,39 @@ +# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex) + +> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) + + +## Install + +``` +$ npm install --save ansi-regex +``` + + +## Usage + +```js +const ansiRegex = require('ansi-regex'); + +ansiRegex().test('\u001b[4mcake\u001b[0m'); +//=> true + +ansiRegex().test('cake'); +//=> false + +'\u001b[4mcake\u001b[0m'.match(ansiRegex()); +//=> ['\u001b[4m', '\u001b[0m'] +``` + +## FAQ + +### Why do you test for codes not in the ECMA 48 standard? + +Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them. + +On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out. + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/index.js new file mode 100644 index 0000000..7894527 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/index.js @@ -0,0 +1,65 @@ +'use strict'; + +function assembleStyles () { + var styles = { + modifiers: { + reset: [0, 0], + bold: [1, 22], // 21 isn't widely supported and 22 does the same thing + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + colors: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39] + }, + bgColors: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49] + } + }; + + // fix humans + styles.colors.grey = styles.colors.gray; + + Object.keys(styles).forEach(function (groupName) { + var group = styles[groupName]; + + Object.keys(group).forEach(function (styleName) { + var style = group[styleName]; + + styles[styleName] = group[styleName] = { + open: '\u001b[' + style[0] + 'm', + close: '\u001b[' + style[1] + 'm' + }; + }); + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + }); + + return styles; +} + +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/license b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/license new file mode 100644 index 0000000..654d0bf --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/package.json new file mode 100644 index 0000000..ca2b0b7 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/package.json @@ -0,0 +1,90 @@ +{ + "_from": "ansi-styles@^2.2.1", + "_id": "ansi-styles@2.2.1", + "_inBundle": false, + "_integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "_location": "/ansi-styles", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "ansi-styles@^2.2.1", + "name": "ansi-styles", + "escapedName": "ansi-styles", + "rawSpec": "^2.2.1", + "saveSpec": null, + "fetchSpec": "^2.2.1" + }, + "_requiredBy": [ + "/chalk" + ], + "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "_shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe", + "_spec": "ansi-styles@^2.2.1", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\chalk", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/chalk/ansi-styles/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "ANSI escape codes for styling strings in the terminal", + "devDependencies": { + "mocha": "*" + }, + "engines": { + "node": ">=0.10.0" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/chalk/ansi-styles#readme", + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "license": "MIT", + "maintainers": [ + { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + { + "name": "Joshua Appelman", + "email": "jappelman@xebia.com", + "url": "jbnicolai.com" + } + ], + "name": "ansi-styles", + "repository": { + "type": "git", + "url": "git+https://github.com/chalk/ansi-styles.git" + }, + "scripts": { + "test": "mocha" + }, + "version": "2.2.1" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/readme.md b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/readme.md new file mode 100644 index 0000000..3f933f6 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/readme.md @@ -0,0 +1,86 @@ +# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) + +> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal + +You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. + +![](screenshot.png) + + +## Install + +``` +$ npm install --save ansi-styles +``` + + +## Usage + +```js +var ansi = require('ansi-styles'); + +console.log(ansi.green.open + 'Hello world!' + ansi.green.close); +``` + + +## API + +Each style has an `open` and `close` property. + + +## Styles + +### Modifiers + +- `reset` +- `bold` +- `dim` +- `italic` *(not widely supported)* +- `underline` +- `inverse` +- `hidden` +- `strikethrough` *(not widely supported)* + +### Colors + +- `black` +- `red` +- `green` +- `yellow` +- `blue` +- `magenta` +- `cyan` +- `white` +- `gray` + +### Background colors + +- `bgBlack` +- `bgRed` +- `bgGreen` +- `bgYellow` +- `bgBlue` +- `bgMagenta` +- `bgCyan` +- `bgWhite` + + +## Advanced usage + +By default you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. + +- `ansi.modifiers` +- `ansi.colors` +- `ansi.bgColors` + + +###### Example + +```js +console.log(ansi.colors.green.open); +``` + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/.npmignore new file mode 100644 index 0000000..eb03e3e --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/.npmignore @@ -0,0 +1,2 @@ +node_modules +*.log diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/LICENSE new file mode 100644 index 0000000..9b5dcdb --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011 Mark Cavage, All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/README.md new file mode 100644 index 0000000..7cebf7a --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/README.md @@ -0,0 +1,50 @@ +node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. +Currently BER encoding is supported; at some point I'll likely have to do DER. + +## Usage + +Mostly, if you're *actually* needing to read and write ASN.1, you probably don't +need this readme to explain what and why. If you have no idea what ASN.1 is, +see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc + +The source is pretty much self-explanatory, and has read/write methods for the +common types out there. + +### Decoding + +The following reads an ASN.1 sequence with a boolean. + + var Ber = require('asn1').Ber; + + var reader = new Ber.Reader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); + + reader.readSequence(); + console.log('Sequence len: ' + reader.length); + if (reader.peek() === Ber.Boolean) + console.log(reader.readBoolean()); + +### Encoding + +The following generates the same payload as above. + + var Ber = require('asn1').Ber; + + var writer = new Ber.Writer(); + + writer.startSequence(); + writer.writeBoolean(true); + writer.endSequence(); + + console.log(writer.buffer); + +## Installation + + npm install asn1 + +## License + +MIT. + +## Bugs + +See . diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/errors.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/errors.js new file mode 100644 index 0000000..ff21d4f --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/errors.js @@ -0,0 +1,13 @@ +// Copyright 2011 Mark Cavage All rights reserved. + + +module.exports = { + + newInvalidAsn1Error: function(msg) { + var e = new Error(); + e.name = 'InvalidAsn1Error'; + e.message = msg || ''; + return e; + } + +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/index.js new file mode 100644 index 0000000..4fb90ae --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/index.js @@ -0,0 +1,27 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var errors = require('./errors'); +var types = require('./types'); + +var Reader = require('./reader'); +var Writer = require('./writer'); + + +///--- Exports + +module.exports = { + + Reader: Reader, + + Writer: Writer + +}; + +for (var t in types) { + if (types.hasOwnProperty(t)) + module.exports[t] = types[t]; +} +for (var e in errors) { + if (errors.hasOwnProperty(e)) + module.exports[e] = errors[e]; +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/reader.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/reader.js new file mode 100644 index 0000000..bd3357a --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/reader.js @@ -0,0 +1,267 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var assert = require('assert'); + +var ASN1 = require('./types'); +var errors = require('./errors'); + + +///--- Globals + +var newInvalidAsn1Error = errors.newInvalidAsn1Error; + + + +///--- API + +function Reader(data) { + if (!data || !Buffer.isBuffer(data)) + throw new TypeError('data must be a node Buffer'); + + this._buf = data; + this._size = data.length; + + // These hold the "current" state + this._len = 0; + this._offset = 0; + + var self = this; + this.__defineGetter__('length', function() { return self._len; }); + this.__defineGetter__('offset', function() { return self._offset; }); + this.__defineGetter__('remain', function() { + return self._size - self._offset; + }); + this.__defineGetter__('buffer', function() { + return self._buf.slice(self._offset); + }); +} + + +/** + * Reads a single byte and advances offset; you can pass in `true` to make this + * a "peek" operation (i.e., get the byte, but don't advance the offset). + * + * @param {Boolean} peek true means don't move offset. + * @return {Number} the next byte, null if not enough data. + */ +Reader.prototype.readByte = function(peek) { + if (this._size - this._offset < 1) + return null; + + var b = this._buf[this._offset] & 0xff; + + if (!peek) + this._offset += 1; + + return b; +}; + + +Reader.prototype.peek = function() { + return this.readByte(true); +}; + + +/** + * Reads a (potentially) variable length off the BER buffer. This call is + * not really meant to be called directly, as callers have to manipulate + * the internal buffer afterwards. + * + * As a result of this call, you can call `Reader.length`, until the + * next thing called that does a readLength. + * + * @return {Number} the amount of offset to advance the buffer. + * @throws {InvalidAsn1Error} on bad ASN.1 + */ +Reader.prototype.readLength = function(offset) { + if (offset === undefined) + offset = this._offset; + + if (offset >= this._size) + return null; + + var lenB = this._buf[offset++] & 0xff; + if (lenB === null) + return null; + + if ((lenB & 0x80) == 0x80) { + lenB &= 0x7f; + + if (lenB == 0) + throw newInvalidAsn1Error('Indefinite length not supported'); + + if (lenB > 4) + throw newInvalidAsn1Error('encoding too long'); + + if (this._size - offset < lenB) + return null; + + this._len = 0; + for (var i = 0; i < lenB; i++) + this._len = (this._len << 8) + (this._buf[offset++] & 0xff); + + } else { + // Wasn't a variable length + this._len = lenB; + } + + return offset; +}; + + +/** + * Parses the next sequence in this BER buffer. + * + * To get the length of the sequence, call `Reader.length`. + * + * @return {Number} the sequence's tag. + */ +Reader.prototype.readSequence = function(tag) { + var seq = this.peek(); + if (seq === null) + return null; + if (tag !== undefined && tag !== seq) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + seq.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + if (o === null) + return null; + + this._offset = o; + return seq; +}; + + +Reader.prototype.readInt = function() { + return this._readTag(ASN1.Integer); +}; + + +Reader.prototype.readBoolean = function() { + return (this._readTag(ASN1.Boolean) === 0 ? false : true); +}; + + +Reader.prototype.readEnumeration = function() { + return this._readTag(ASN1.Enumeration); +}; + + +Reader.prototype.readString = function(tag, retbuf) { + if (!tag) + tag = ASN1.OctetString; + + var b = this.peek(); + if (b === null) + return null; + + if (b !== tag) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + b.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + + if (o === null) + return null; + + if (this.length > this._size - o) + return null; + + this._offset = o; + + if (this.length === 0) + return ''; + + var str = this._buf.slice(this._offset, this._offset + this.length); + this._offset += this.length; + + return retbuf ? str : str.toString('utf8'); +}; + +Reader.prototype.readOID = function(tag) { + if (!tag) + tag = ASN1.OID; + + var b = this.peek(); + if (b === null) + return null; + + if (b !== tag) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + b.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + if (o === null) + return null; + + if (this.length > this._size - o) + return null; + + this._offset = o; + + var values = []; + var value = 0; + + for (var i = 0; i < this.length; i++) { + var byte = this._buf[this._offset++] & 0xff; + + value <<= 7; + value += byte & 0x7f; + if ((byte & 0x80) == 0) { + values.push(value); + value = 0; + } + } + + value = values.shift(); + values.unshift(value % 40); + values.unshift((value / 40) >> 0); + + return values.join('.'); +}; + + +Reader.prototype._readTag = function(tag) { + assert.ok(tag !== undefined); + + var b = this.peek(); + + if (b === null) + return null; + + if (b !== tag) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + b.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + if (o === null) + return null; + + if (this.length > 4) + throw newInvalidAsn1Error('Integer too long: ' + this.length); + + if (this.length > this._size - o) + return null; + this._offset = o; + + var fb = this._buf[this._offset++]; + var value = 0; + + value = fb & 0x7F; + for (var i = 1; i < this.length; i++) { + value <<= 8; + value |= (this._buf[this._offset++] & 0xff); + } + + if ((fb & 0x80) == 0x80) + value = -value; + + return value; +}; + + + +///--- Exported API + +module.exports = Reader; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/types.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/types.js new file mode 100644 index 0000000..8aea000 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/types.js @@ -0,0 +1,36 @@ +// Copyright 2011 Mark Cavage All rights reserved. + + +module.exports = { + EOC: 0, + Boolean: 1, + Integer: 2, + BitString: 3, + OctetString: 4, + Null: 5, + OID: 6, + ObjectDescriptor: 7, + External: 8, + Real: 9, // float + Enumeration: 10, + PDV: 11, + Utf8String: 12, + RelativeOID: 13, + Sequence: 16, + Set: 17, + NumericString: 18, + PrintableString: 19, + T61String: 20, + VideotexString: 21, + IA5String: 22, + UTCTime: 23, + GeneralizedTime: 24, + GraphicString: 25, + VisibleString: 26, + GeneralString: 28, + UniversalString: 29, + CharacterString: 30, + BMPString: 31, + Constructor: 32, + Context: 128 +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/writer.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/writer.js new file mode 100644 index 0000000..7b445cc --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/writer.js @@ -0,0 +1,317 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var assert = require('assert'); +var ASN1 = require('./types'); +var errors = require('./errors'); + + +///--- Globals + +var newInvalidAsn1Error = errors.newInvalidAsn1Error; + +var DEFAULT_OPTS = { + size: 1024, + growthFactor: 8 +}; + + +///--- Helpers + +function merge(from, to) { + assert.ok(from); + assert.equal(typeof(from), 'object'); + assert.ok(to); + assert.equal(typeof(to), 'object'); + + var keys = Object.getOwnPropertyNames(from); + keys.forEach(function(key) { + if (to[key]) + return; + + var value = Object.getOwnPropertyDescriptor(from, key); + Object.defineProperty(to, key, value); + }); + + return to; +} + + + +///--- API + +function Writer(options) { + options = merge(DEFAULT_OPTS, options || {}); + + this._buf = new Buffer(options.size || 1024); + this._size = this._buf.length; + this._offset = 0; + this._options = options; + + // A list of offsets in the buffer where we need to insert + // sequence tag/len pairs. + this._seq = []; + + var self = this; + this.__defineGetter__('buffer', function() { + if (self._seq.length) + throw new InvalidAsn1Error(self._seq.length + ' unended sequence(s)'); + + return self._buf.slice(0, self._offset); + }); +} + + +Writer.prototype.writeByte = function(b) { + if (typeof(b) !== 'number') + throw new TypeError('argument must be a Number'); + + this._ensure(1); + this._buf[this._offset++] = b; +}; + + +Writer.prototype.writeInt = function(i, tag) { + if (typeof(i) !== 'number') + throw new TypeError('argument must be a Number'); + if (typeof(tag) !== 'number') + tag = ASN1.Integer; + + var sz = 4; + + while ((((i & 0xff800000) === 0) || ((i & 0xff800000) === 0xff800000)) && + (sz > 1)) { + sz--; + i <<= 8; + } + + if (sz > 4) + throw new InvalidAsn1Error('BER ints cannot be > 0xffffffff'); + + this._ensure(2 + sz); + this._buf[this._offset++] = tag; + this._buf[this._offset++] = sz; + + while (sz-- > 0) { + this._buf[this._offset++] = ((i & 0xff000000) >> 24); + i <<= 8; + } + +}; + + +Writer.prototype.writeNull = function() { + this.writeByte(ASN1.Null); + this.writeByte(0x00); +}; + + +Writer.prototype.writeEnumeration = function(i, tag) { + if (typeof(i) !== 'number') + throw new TypeError('argument must be a Number'); + if (typeof(tag) !== 'number') + tag = ASN1.Enumeration; + + return this.writeInt(i, tag); +}; + + +Writer.prototype.writeBoolean = function(b, tag) { + if (typeof(b) !== 'boolean') + throw new TypeError('argument must be a Boolean'); + if (typeof(tag) !== 'number') + tag = ASN1.Boolean; + + this._ensure(3); + this._buf[this._offset++] = tag; + this._buf[this._offset++] = 0x01; + this._buf[this._offset++] = b ? 0xff : 0x00; +}; + + +Writer.prototype.writeString = function(s, tag) { + if (typeof(s) !== 'string') + throw new TypeError('argument must be a string (was: ' + typeof(s) + ')'); + if (typeof(tag) !== 'number') + tag = ASN1.OctetString; + + var len = Buffer.byteLength(s); + this.writeByte(tag); + this.writeLength(len); + if (len) { + this._ensure(len); + this._buf.write(s, this._offset); + this._offset += len; + } +}; + + +Writer.prototype.writeBuffer = function(buf, tag) { + if (typeof(tag) !== 'number') + throw new TypeError('tag must be a number'); + if (!Buffer.isBuffer(buf)) + throw new TypeError('argument must be a buffer'); + + this.writeByte(tag); + this.writeLength(buf.length); + this._ensure(buf.length); + buf.copy(this._buf, this._offset, 0, buf.length); + this._offset += buf.length; +}; + + +Writer.prototype.writeStringArray = function(strings) { + if ((!strings instanceof Array)) + throw new TypeError('argument must be an Array[String]'); + + var self = this; + strings.forEach(function(s) { + self.writeString(s); + }); +}; + +// This is really to solve DER cases, but whatever for now +Writer.prototype.writeOID = function(s, tag) { + if (typeof(s) !== 'string') + throw new TypeError('argument must be a string'); + if (typeof(tag) !== 'number') + tag = ASN1.OID; + + if (!/^([0-9]+\.){3,}[0-9]+$/.test(s)) + throw new Error('argument is not a valid OID string'); + + function encodeOctet(bytes, octet) { + if (octet < 128) { + bytes.push(octet); + } else if (octet < 16384) { + bytes.push((octet >>> 7) | 0x80); + bytes.push(octet & 0x7F); + } else if (octet < 2097152) { + bytes.push((octet >>> 14) | 0x80); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } else if (octet < 268435456) { + bytes.push((octet >>> 21) | 0x80); + bytes.push(((octet >>> 14) | 0x80) & 0xFF); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } else { + bytes.push(((octet >>> 28) | 0x80) & 0xFF); + bytes.push(((octet >>> 21) | 0x80) & 0xFF); + bytes.push(((octet >>> 14) | 0x80) & 0xFF); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } + } + + var tmp = s.split('.'); + var bytes = []; + bytes.push(parseInt(tmp[0], 10) * 40 + parseInt(tmp[1], 10)); + tmp.slice(2).forEach(function(b) { + encodeOctet(bytes, parseInt(b, 10)); + }); + + var self = this; + this._ensure(2 + bytes.length); + this.writeByte(tag); + this.writeLength(bytes.length); + bytes.forEach(function(b) { + self.writeByte(b); + }); +}; + + +Writer.prototype.writeLength = function(len) { + if (typeof(len) !== 'number') + throw new TypeError('argument must be a Number'); + + this._ensure(4); + + if (len <= 0x7f) { + this._buf[this._offset++] = len; + } else if (len <= 0xff) { + this._buf[this._offset++] = 0x81; + this._buf[this._offset++] = len; + } else if (len <= 0xffff) { + this._buf[this._offset++] = 0x82; + this._buf[this._offset++] = len >> 8; + this._buf[this._offset++] = len; + } else if (len <= 0xffffff) { + this._shift(start, len, 1); + this._buf[this._offset++] = 0x83; + this._buf[this._offset++] = len >> 16; + this._buf[this._offset++] = len >> 8; + this._buf[this._offset++] = len; + } else { + throw new InvalidAsn1ERror('Length too long (> 4 bytes)'); + } +}; + +Writer.prototype.startSequence = function(tag) { + if (typeof(tag) !== 'number') + tag = ASN1.Sequence | ASN1.Constructor; + + this.writeByte(tag); + this._seq.push(this._offset); + this._ensure(3); + this._offset += 3; +}; + + +Writer.prototype.endSequence = function() { + var seq = this._seq.pop(); + var start = seq + 3; + var len = this._offset - start; + + if (len <= 0x7f) { + this._shift(start, len, -2); + this._buf[seq] = len; + } else if (len <= 0xff) { + this._shift(start, len, -1); + this._buf[seq] = 0x81; + this._buf[seq + 1] = len; + } else if (len <= 0xffff) { + this._buf[seq] = 0x82; + this._buf[seq + 1] = len >> 8; + this._buf[seq + 2] = len; + } else if (len <= 0xffffff) { + this._shift(start, len, 1); + this._buf[seq] = 0x83; + this._buf[seq + 1] = len >> 16; + this._buf[seq + 2] = len >> 8; + this._buf[seq + 3] = len; + } else { + throw new InvalidAsn1Error('Sequence too long'); + } +}; + + +Writer.prototype._shift = function(start, len, shift) { + assert.ok(start !== undefined); + assert.ok(len !== undefined); + assert.ok(shift); + + this._buf.copy(this._buf, start + shift, start, start + len); + this._offset += shift; +}; + +Writer.prototype._ensure = function(len) { + assert.ok(len); + + if (this._size - this._offset < len) { + var sz = this._size * this._options.growthFactor; + if (sz - this._offset < len) + sz += len; + + var buf = new Buffer(sz); + + this._buf.copy(buf, 0, 0, this._offset); + this._buf = buf; + this._size = sz; + } +}; + + + +///--- Exported API + +module.exports = Writer; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/index.js new file mode 100644 index 0000000..d1766e7 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/index.js @@ -0,0 +1,20 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +// If you have no idea what ASN.1 or BER is, see this: +// ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc + +var Ber = require('./ber/index'); + + + +///--- Exported API + +module.exports = { + + Ber: Ber, + + BerReader: Ber.Reader, + + BerWriter: Ber.Writer + +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/package.json new file mode 100644 index 0000000..8ea97ed --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/package.json @@ -0,0 +1,64 @@ +{ + "_from": "asn1@0.1.11", + "_id": "asn1@0.1.11", + "_inBundle": false, + "_integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", + "_location": "/asn1", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "asn1@0.1.11", + "name": "asn1", + "escapedName": "asn1", + "rawSpec": "0.1.11", + "saveSpec": null, + "fetchSpec": "0.1.11" + }, + "_requiredBy": [ + "/http-signature" + ], + "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "_shasum": "559be18376d08a4ec4dbe80877d27818639b2df7", + "_spec": "asn1@0.1.11", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\http-signature", + "author": { + "name": "Mark Cavage", + "email": "mcavage@gmail.com" + }, + "bugs": { + "url": "https://github.com/mcavage/node-asn1/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "David Gwynne", + "email": "loki@animata.net" + }, + { + "name": "Yunong Xiao", + "email": "yunong@joyent.com" + } + ], + "dependencies": {}, + "deprecated": false, + "description": "Contains parsers and serializers for ASN.1 (currently BER only)", + "devDependencies": { + "tap": "0.1.4" + }, + "engines": { + "node": ">=0.4.9" + }, + "homepage": "https://github.com/mcavage/node-asn1#readme", + "main": "lib/index.js", + "name": "asn1", + "repository": { + "type": "git", + "url": "git://github.com/mcavage/node-asn1.git" + }, + "scripts": { + "pretest": "which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi", + "test": "tap ./tst" + }, + "version": "0.1.11" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/reader.test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/reader.test.js new file mode 100644 index 0000000..0b78b47 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/reader.test.js @@ -0,0 +1,172 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var test = require('tap').test; + + + +///--- Globals + +var BerReader; + + + +///--- Tests + +test('load library', function(t) { + BerReader = require('../../lib/index').BerReader; + t.ok(BerReader); + try { + new BerReader(); + t.fail('Should have thrown'); + } catch (e) { + t.ok(e instanceof TypeError, 'Should have been a type error'); + } + t.end(); +}); + + +test('read byte', function(t) { + var reader = new BerReader(new Buffer([0xde])); + t.ok(reader); + t.equal(reader.readByte(), 0xde, 'wrong value'); + t.end(); +}); + + +test('read 1 byte int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x01, 0x03])); + t.ok(reader); + t.equal(reader.readInt(), 0x03, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('read 2 byte int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x02, 0x7e, 0xde])); + t.ok(reader); + t.equal(reader.readInt(), 0x7ede, 'wrong value'); + t.equal(reader.length, 0x02, 'wrong length'); + t.end(); +}); + + +test('read 3 byte int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x03, 0x7e, 0xde, 0x03])); + t.ok(reader); + t.equal(reader.readInt(), 0x7ede03, 'wrong value'); + t.equal(reader.length, 0x03, 'wrong length'); + t.end(); +}); + + +test('read 4 byte int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x04, 0x7e, 0xde, 0x03, 0x01])); + t.ok(reader); + t.equal(reader.readInt(), 0x7ede0301, 'wrong value'); + t.equal(reader.length, 0x04, 'wrong length'); + t.end(); +}); + + +test('read boolean true', function(t) { + var reader = new BerReader(new Buffer([0x01, 0x01, 0xff])); + t.ok(reader); + t.equal(reader.readBoolean(), true, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('read boolean false', function(t) { + var reader = new BerReader(new Buffer([0x01, 0x01, 0x00])); + t.ok(reader); + t.equal(reader.readBoolean(), false, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('read enumeration', function(t) { + var reader = new BerReader(new Buffer([0x0a, 0x01, 0x20])); + t.ok(reader); + t.equal(reader.readEnumeration(), 0x20, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('read string', function(t) { + var dn = 'cn=foo,ou=unit,o=test'; + var buf = new Buffer(dn.length + 2); + buf[0] = 0x04; + buf[1] = Buffer.byteLength(dn); + buf.write(dn, 2); + var reader = new BerReader(buf); + t.ok(reader); + t.equal(reader.readString(), dn, 'wrong value'); + t.equal(reader.length, dn.length, 'wrong length'); + t.end(); +}); + + +test('read sequence', function(t) { + var reader = new BerReader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); + t.ok(reader); + t.equal(reader.readSequence(), 0x30, 'wrong value'); + t.equal(reader.length, 0x03, 'wrong length'); + t.equal(reader.readBoolean(), true, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('anonymous LDAPv3 bind', function(t) { + var BIND = new Buffer(14); + BIND[0] = 0x30; // Sequence + BIND[1] = 12; // len + BIND[2] = 0x02; // ASN.1 Integer + BIND[3] = 1; // len + BIND[4] = 0x04; // msgid (make up 4) + BIND[5] = 0x60; // Bind Request + BIND[6] = 7; // len + BIND[7] = 0x02; // ASN.1 Integer + BIND[8] = 1; // len + BIND[9] = 0x03; // v3 + BIND[10] = 0x04; // String (bind dn) + BIND[11] = 0; // len + BIND[12] = 0x80; // ContextSpecific (choice) + BIND[13] = 0; // simple bind + + // Start testing ^^ + var ber = new BerReader(BIND); + t.equal(ber.readSequence(), 48, 'Not an ASN.1 Sequence'); + t.equal(ber.length, 12, 'Message length should be 12'); + t.equal(ber.readInt(), 4, 'Message id should have been 4'); + t.equal(ber.readSequence(), 96, 'Bind Request should have been 96'); + t.equal(ber.length, 7, 'Bind length should have been 7'); + t.equal(ber.readInt(), 3, 'LDAP version should have been 3'); + t.equal(ber.readString(), '', 'Bind DN should have been empty'); + t.equal(ber.length, 0, 'string length should have been 0'); + t.equal(ber.readByte(), 0x80, 'Should have been ContextSpecific (choice)'); + t.equal(ber.readByte(), 0, 'Should have been simple bind'); + t.equal(null, ber.readByte(), 'Should be out of data'); + t.end(); +}); + + +test('long string', function(t) { + var buf = new Buffer(256); + var o; + var s = + '2;649;CN=Red Hat CS 71GA Demo,O=Red Hat CS 71GA Demo,C=US;' + + 'CN=RHCS Agent - admin01,UID=admin01,O=redhat,C=US [1] This is ' + + 'Teena Vradmin\'s description.'; + buf[0] = 0x04; + buf[1] = 0x81; + buf[2] = 0x94; + buf.write(s, 3); + var ber = new BerReader(buf.slice(0, 3 + s.length)); + t.equal(ber.readString(), s); + t.end(); +}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/writer.test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/writer.test.js new file mode 100644 index 0000000..add0b9f --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/writer.test.js @@ -0,0 +1,296 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var test = require('tap').test; +var sys = require('sys'); + +///--- Globals + +var BerWriter; + +var BerReader; + + +///--- Tests + +test('load library', function(t) { + BerWriter = require('../../lib/index').BerWriter; + t.ok(BerWriter); + t.ok(new BerWriter()); + t.end(); +}); + + +test('write byte', function(t) { + var writer = new BerWriter(); + + writer.writeByte(0xC2); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 1, 'Wrong length'); + t.equal(ber[0], 0xC2, 'value wrong'); + + t.end(); +}); + + +test('write 1 byte int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(0x7f); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 3, 'Wrong length for an int: ' + ber.length); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong (2) -> ' + ber[0]); + t.equal(ber[1], 0x01, 'length wrong(1) -> ' + ber[1]); + t.equal(ber[2], 0x7f, 'value wrong(3) -> ' + ber[2]); + + t.end(); +}); + + +test('write 2 byte int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(0x7ffe); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 4, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x02, 'length wrong'); + t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); + t.equal(ber[3], 0xfe, 'value wrong (byte 2)'); + + t.end(); +}); + + +test('write 3 byte int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(0x7ffffe); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 5, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x03, 'length wrong'); + t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); + t.equal(ber[3], 0xff, 'value wrong (byte 2)'); + t.equal(ber[4], 0xfe, 'value wrong (byte 3)'); + + t.end(); +}); + + +test('write 4 byte int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(0x7ffffffe); + var ber = writer.buffer; + + t.ok(ber); + + t.equal(ber.length, 6, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x04, 'length wrong'); + t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); + t.equal(ber[3], 0xff, 'value wrong (byte 2)'); + t.equal(ber[4], 0xff, 'value wrong (byte 3)'); + t.equal(ber[5], 0xfe, 'value wrong (byte 4)'); + + t.end(); +}); + + +test('write boolean', function(t) { + var writer = new BerWriter(); + + writer.writeBoolean(true); + writer.writeBoolean(false); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 6, 'Wrong length'); + t.equal(ber[0], 0x01, 'tag wrong'); + t.equal(ber[1], 0x01, 'length wrong'); + t.equal(ber[2], 0xff, 'value wrong'); + t.equal(ber[3], 0x01, 'tag wrong'); + t.equal(ber[4], 0x01, 'length wrong'); + t.equal(ber[5], 0x00, 'value wrong'); + + t.end(); +}); + + +test('write string', function(t) { + var writer = new BerWriter(); + writer.writeString('hello world'); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 13, 'wrong length'); + t.equal(ber[0], 0x04, 'wrong tag'); + t.equal(ber[1], 11, 'wrong length'); + t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); + + t.end(); +}); + +test('write buffer', function(t) { + var writer = new BerWriter(); + // write some stuff to start with + writer.writeString('hello world'); + var ber = writer.buffer; + var buf = new Buffer([0x04, 0x0b, 0x30, 0x09, 0x02, 0x01, 0x0f, 0x01, 0x01, + 0xff, 0x01, 0x01, 0xff]); + writer.writeBuffer(buf.slice(2, buf.length), 0x04); + ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 26, 'wrong length'); + t.equal(ber[0], 0x04, 'wrong tag'); + t.equal(ber[1], 11, 'wrong length'); + t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); + t.equal(ber[13], buf[0], 'wrong tag'); + t.equal(ber[14], buf[1], 'wrong length'); + for (var i = 13, j = 0; i < ber.length && j < buf.length; i++, j++) { + t.equal(ber[i], buf[j], 'buffer contents not identical'); + } + t.end(); +}); + +test('write string array', function(t) { + var writer = new BerWriter(); + writer.writeStringArray(['hello world', 'fubar!']); + var ber = writer.buffer; + + t.ok(ber); + + t.equal(ber.length, 21, 'wrong length'); + t.equal(ber[0], 0x04, 'wrong tag'); + t.equal(ber[1], 11, 'wrong length'); + t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); + + t.equal(ber[13], 0x04, 'wrong tag'); + t.equal(ber[14], 6, 'wrong length'); + t.equal(ber.slice(15).toString('utf8'), 'fubar!', 'wrong value'); + + t.end(); +}); + + +test('resize internal buffer', function(t) { + var writer = new BerWriter({size: 2}); + writer.writeString('hello world'); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 13, 'wrong length'); + t.equal(ber[0], 0x04, 'wrong tag'); + t.equal(ber[1], 11, 'wrong length'); + t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); + + t.end(); +}); + + +test('sequence', function(t) { + var writer = new BerWriter({size: 25}); + writer.startSequence(); + writer.writeString('hello world'); + writer.endSequence(); + var ber = writer.buffer; + + t.ok(ber); + console.log(ber); + t.equal(ber.length, 15, 'wrong length'); + t.equal(ber[0], 0x30, 'wrong tag'); + t.equal(ber[1], 13, 'wrong length'); + t.equal(ber[2], 0x04, 'wrong tag'); + t.equal(ber[3], 11, 'wrong length'); + t.equal(ber.slice(4).toString('utf8'), 'hello world', 'wrong value'); + + t.end(); +}); + + +test('nested sequence', function(t) { + var writer = new BerWriter({size: 25}); + writer.startSequence(); + writer.writeString('hello world'); + writer.startSequence(); + writer.writeString('hello world'); + writer.endSequence(); + writer.endSequence(); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 30, 'wrong length'); + t.equal(ber[0], 0x30, 'wrong tag'); + t.equal(ber[1], 28, 'wrong length'); + t.equal(ber[2], 0x04, 'wrong tag'); + t.equal(ber[3], 11, 'wrong length'); + t.equal(ber.slice(4, 15).toString('utf8'), 'hello world', 'wrong value'); + t.equal(ber[15], 0x30, 'wrong tag'); + t.equal(ber[16], 13, 'wrong length'); + t.equal(ber[17], 0x04, 'wrong tag'); + t.equal(ber[18], 11, 'wrong length'); + t.equal(ber.slice(19, 30).toString('utf8'), 'hello world', 'wrong value'); + + t.end(); +}); + + +test('LDAP bind message', function(t) { + var dn = 'cn=foo,ou=unit,o=test'; + var writer = new BerWriter(); + writer.startSequence(); + writer.writeInt(3); // msgid = 3 + writer.startSequence(0x60); // ldap bind + writer.writeInt(3); // ldap v3 + writer.writeString(dn); + writer.writeByte(0x80); + writer.writeByte(0x00); + writer.endSequence(); + writer.endSequence(); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 35, 'wrong length (buffer)'); + t.equal(ber[0], 0x30, 'wrong tag'); + t.equal(ber[1], 33, 'wrong length'); + t.equal(ber[2], 0x02, 'wrong tag'); + t.equal(ber[3], 1, 'wrong length'); + t.equal(ber[4], 0x03, 'wrong value'); + t.equal(ber[5], 0x60, 'wrong tag'); + t.equal(ber[6], 28, 'wrong length'); + t.equal(ber[7], 0x02, 'wrong tag'); + t.equal(ber[8], 1, 'wrong length'); + t.equal(ber[9], 0x03, 'wrong value'); + t.equal(ber[10], 0x04, 'wrong tag'); + t.equal(ber[11], dn.length, 'wrong length'); + t.equal(ber.slice(12, 33).toString('utf8'), dn, 'wrong value'); + t.equal(ber[33], 0x80, 'wrong tag'); + t.equal(ber[34], 0x00, 'wrong len'); + + t.end(); +}); + + +test('Write OID', function(t) { + var oid = '1.2.840.113549.1.1.1'; + var writer = new BerWriter(); + writer.writeOID(oid); + + var ber = writer.buffer; + t.ok(ber); + console.log(require('util').inspect(ber)); + console.log(require('util').inspect(new Buffer([0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x01]))); + + t.end(); +}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/README.md new file mode 100644 index 0000000..c0c3a53 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/README.md @@ -0,0 +1,126 @@ +# node-assert-plus + +This library is a super small wrapper over node's assert module that has two +things: (1) the ability to disable assertions with the environment variable +NODE_NDEBUG, and (2) some API wrappers for argument testing. Like +`assert.string(myArg, 'myArg')`. As a simple example, most of my code looks +like this: + + var assert = require('assert-plus'); + + function fooAccount(options, callback) { + assert.object(options, 'options'); + assert.number(options.id, 'options.id); + assert.bool(options.isManager, 'options.isManager'); + assert.string(options.name, 'options.name'); + assert.arrayOfString(options.email, 'options.email'); + assert.func(callback, 'callback'); + + // Do stuff + callback(null, {}); + } + +# API + +All methods that *aren't* part of node's core assert API are simply assumed to +take an argument, and then a string 'name' that's not a message; `AssertionError` +will be thrown if the assertion fails with a message like: + + AssertionError: foo (string) is required + at test (/home/mark/work/foo/foo.js:3:9) + at Object. (/home/mark/work/foo/foo.js:15:1) + at Module._compile (module.js:446:26) + at Object..js (module.js:464:10) + at Module.load (module.js:353:31) + at Function._load (module.js:311:12) + at Array.0 (module.js:484:10) + at EventEmitter._tickCallback (node.js:190:38) + +from: + + function test(foo) { + assert.string(foo, 'foo'); + } + +There you go. You can check that arrays are of a homogenous type with `Arrayof$Type`: + + function test(foo) { + assert.arrayOfString(foo, 'foo'); + } + +You can assert IFF an argument is not `undefined` (i.e., an optional arg): + + assert.optionalString(foo, 'foo'); + +Lastly, you can opt-out of assertion checking altogether by setting the +environment variable `NODE_NDEBUG=1`. This is pseudo-useful if you have +lots of assertions, and don't want to pay `typeof ()` taxes to v8 in +production. + +The complete list of APIs is: + +* assert.bool +* assert.buffer +* assert.func +* assert.number +* assert.object +* assert.string +* assert.arrayOfBool +* assert.arrayOfFunc +* assert.arrayOfNumber +* assert.arrayOfObject +* assert.arrayOfString +* assert.optionalBool +* assert.optionalBuffer +* assert.optionalFunc +* assert.optionalNumber +* assert.optionalObject +* assert.optionalString +* assert.optionalArrayOfBool +* assert.optionalArrayOfFunc +* assert.optionalArrayOfNumber +* assert.optionalArrayOfObject +* assert.optionalArrayOfString +* assert.AssertionError +* assert.fail +* assert.ok +* assert.equal +* assert.notEqual +* assert.deepEqual +* assert.notDeepEqual +* assert.strictEqual +* assert.notStrictEqual +* assert.throws +* assert.doesNotThrow +* assert.ifError + +# Installation + + npm install assert-plus + +## License + +The MIT License (MIT) +Copyright (c) 2012 Mark Cavage + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +## Bugs + +See . diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/assert.js b/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/assert.js new file mode 100644 index 0000000..ff2ba02 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/assert.js @@ -0,0 +1,245 @@ +// Copyright (c) 2012, Mark Cavage. All rights reserved. + +var assert = require('assert'); +var Stream = require('stream').Stream; +var util = require('util'); + + + +///--- Globals + +var NDEBUG = process.env.NODE_NDEBUG || false; +var UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/; + + + +///--- Messages + +var ARRAY_TYPE_REQUIRED = '%s ([%s]) required'; +var TYPE_REQUIRED = '%s (%s) is required'; + + + +///--- Internal + +function capitalize(str) { + return (str.charAt(0).toUpperCase() + str.slice(1)); +} + +function uncapitalize(str) { + return (str.charAt(0).toLowerCase() + str.slice(1)); +} + +function _() { + return (util.format.apply(util, arguments)); +} + + +function _assert(arg, type, name, stackFunc) { + if (!NDEBUG) { + name = name || type; + stackFunc = stackFunc || _assert.caller; + var t = typeof (arg); + + if (t !== type) { + throw new assert.AssertionError({ + message: _(TYPE_REQUIRED, name, type), + actual: t, + expected: type, + operator: '===', + stackStartFunction: stackFunc + }); + } + } +} + + +function _instanceof(arg, type, name, stackFunc) { + if (!NDEBUG) { + name = name || type; + stackFunc = stackFunc || _instanceof.caller; + + if (!(arg instanceof type)) { + throw new assert.AssertionError({ + message: _(TYPE_REQUIRED, name, type.name), + actual: _getClass(arg), + expected: type.name, + operator: 'instanceof', + stackStartFunction: stackFunc + }); + } + } +} + +function _getClass(object) { + return (Object.prototype.toString.call(object).slice(8, -1)); +}; + + + +///--- API + +function array(arr, type, name) { + if (!NDEBUG) { + name = name || type; + + if (!Array.isArray(arr)) { + throw new assert.AssertionError({ + message: _(ARRAY_TYPE_REQUIRED, name, type), + actual: typeof (arr), + expected: 'array', + operator: 'Array.isArray', + stackStartFunction: array.caller + }); + } + + for (var i = 0; i < arr.length; i++) { + _assert(arr[i], type, name, array); + } + } +} + + +function bool(arg, name) { + _assert(arg, 'boolean', name, bool); +} + + +function buffer(arg, name) { + if (!Buffer.isBuffer(arg)) { + throw new assert.AssertionError({ + message: _(TYPE_REQUIRED, name || '', 'Buffer'), + actual: typeof (arg), + expected: 'buffer', + operator: 'Buffer.isBuffer', + stackStartFunction: buffer + }); + } +} + + +function func(arg, name) { + _assert(arg, 'function', name); +} + + +function number(arg, name) { + _assert(arg, 'number', name); + if (!NDEBUG && (isNaN(arg) || !isFinite(arg))) { + throw new assert.AssertionError({ + message: _(TYPE_REQUIRED, name, 'number'), + actual: arg, + expected: 'number', + operator: 'isNaN', + stackStartFunction: number + }); + } +} + + +function object(arg, name) { + _assert(arg, 'object', name); +} + + +function stream(arg, name) { + _instanceof(arg, Stream, name); +} + + +function date(arg, name) { + _instanceof(arg, Date, name); +} + +function regexp(arg, name) { + _instanceof(arg, RegExp, name); +} + + +function string(arg, name) { + _assert(arg, 'string', name); +} + + +function uuid(arg, name) { + string(arg, name); + if (!NDEBUG && !UUID_REGEXP.test(arg)) { + throw new assert.AssertionError({ + message: _(TYPE_REQUIRED, name, 'uuid'), + actual: 'string', + expected: 'uuid', + operator: 'test', + stackStartFunction: uuid + }); + } +} + + +///--- Exports + +module.exports = { + bool: bool, + buffer: buffer, + date: date, + func: func, + number: number, + object: object, + regexp: regexp, + stream: stream, + string: string, + uuid: uuid +}; + + +Object.keys(module.exports).forEach(function (k) { + if (k === 'buffer') + return; + + var name = 'arrayOf' + capitalize(k); + + if (k === 'bool') + k = 'boolean'; + if (k === 'func') + k = 'function'; + module.exports[name] = function (arg, name) { + array(arg, k, name); + }; +}); + +Object.keys(module.exports).forEach(function (k) { + var _name = 'optional' + capitalize(k); + var s = uncapitalize(k.replace('arrayOf', '')); + if (s === 'bool') + s = 'boolean'; + if (s === 'func') + s = 'function'; + + if (k.indexOf('arrayOf') !== -1) { + module.exports[_name] = function (arg, name) { + if (!NDEBUG && arg !== undefined) { + array(arg, s, name); + } + }; + } else { + module.exports[_name] = function (arg, name) { + if (!NDEBUG && arg !== undefined) { + _assert(arg, s, name); + } + }; + } +}); + + +// Reexport built-in assertions +Object.keys(assert).forEach(function (k) { + if (k === 'AssertionError') { + module.exports[k] = assert[k]; + return; + } + + module.exports[k] = function () { + if (!NDEBUG) { + assert[k].apply(assert[k], arguments); + } + }; +}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/package.json new file mode 100644 index 0000000..e272f82 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/package.json @@ -0,0 +1,49 @@ +{ + "_from": "assert-plus@^0.1.5", + "_id": "assert-plus@0.1.5", + "_inBundle": false, + "_integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", + "_location": "/assert-plus", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "assert-plus@^0.1.5", + "name": "assert-plus", + "escapedName": "assert-plus", + "rawSpec": "^0.1.5", + "saveSpec": null, + "fetchSpec": "^0.1.5" + }, + "_requiredBy": [ + "/http-signature" + ], + "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "_shasum": "ee74009413002d84cec7219c6ac811812e723160", + "_spec": "assert-plus@^0.1.5", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\http-signature", + "author": { + "name": "Mark Cavage", + "email": "mcavage@gmail.com" + }, + "bugs": { + "url": "https://github.com/mcavage/node-assert-plus/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "Extra assertions on top of node's assert module", + "devDependencies": {}, + "engines": { + "node": ">=0.8" + }, + "homepage": "https://github.com/mcavage/node-assert-plus#readme", + "main": "./assert.js", + "name": "assert-plus", + "optionalDependencies": {}, + "repository": { + "type": "git", + "url": "git+https://github.com/mcavage/node-assert-plus.git" + }, + "version": "0.1.5" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/async/.travis.yml new file mode 100644 index 0000000..6064ca0 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/async/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - "0.10" + - "0.12" + - "iojs" diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/async/LICENSE new file mode 100644 index 0000000..8f29698 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/async/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2010-2014 Caolan McMahon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/async/README.md new file mode 100644 index 0000000..6cfb922 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/async/README.md @@ -0,0 +1,1647 @@ +# Async.js + +[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async) + + +Async is a utility module which provides straight-forward, powerful functions +for working with asynchronous JavaScript. Although originally designed for +use with [Node.js](http://nodejs.org) and installable via `npm install async`, +it can also be used directly in the browser. + +Async is also installable via: + +- [bower](http://bower.io/): `bower install async` +- [component](https://github.com/component/component): `component install + caolan/async` +- [jam](http://jamjs.org/): `jam install async` +- [spm](http://spmjs.io/): `spm install async` + +Async provides around 20 functions that include the usual 'functional' +suspects (`map`, `reduce`, `filter`, `each`…) as well as some common patterns +for asynchronous control flow (`parallel`, `series`, `waterfall`…). All these +functions assume you follow the Node.js convention of providing a single +callback as the last argument of your `async` function. + + +## Quick Examples + +```javascript +async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file +}); + +async.filter(['file1','file2','file3'], fs.exists, function(results){ + // results now equals an array of the existing files +}); + +async.parallel([ + function(){ ... }, + function(){ ... } +], callback); + +async.series([ + function(){ ... }, + function(){ ... } +]); +``` + +There are many more functions available so take a look at the docs below for a +full list. This module aims to be comprehensive, so if you feel anything is +missing please create a GitHub issue for it. + +## Common Pitfalls + +### Binding a context to an iterator + +This section is really about `bind`, not about `async`. If you are wondering how to +make `async` execute your iterators in a given context, or are confused as to why +a method of another library isn't working as an iterator, study this example: + +```js +// Here is a simple object with an (unnecessarily roundabout) squaring method +var AsyncSquaringLibrary = { + squareExponent: 2, + square: function(number, callback){ + var result = Math.pow(number, this.squareExponent); + setTimeout(function(){ + callback(null, result); + }, 200); + } +}; + +async.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){ + // result is [NaN, NaN, NaN] + // This fails because the `this.squareExponent` expression in the square + // function is not evaluated in the context of AsyncSquaringLibrary, and is + // therefore undefined. +}); + +async.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){ + // result is [1, 4, 9] + // With the help of bind we can attach a context to the iterator before + // passing it to async. Now the square function will be executed in its + // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent` + // will be as expected. +}); +``` + +## Download + +The source is available for download from +[GitHub](http://github.com/caolan/async). +Alternatively, you can install using Node Package Manager (`npm`): + + npm install async + +__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed + +## In the Browser + +So far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. + +Usage: + +```html + + +``` + +## Documentation + +### Collections + +* [`each`](#each) +* [`eachSeries`](#eachSeries) +* [`eachLimit`](#eachLimit) +* [`map`](#map) +* [`mapSeries`](#mapSeries) +* [`mapLimit`](#mapLimit) +* [`filter`](#filter) +* [`filterSeries`](#filterSeries) +* [`reject`](#reject) +* [`rejectSeries`](#rejectSeries) +* [`reduce`](#reduce) +* [`reduceRight`](#reduceRight) +* [`detect`](#detect) +* [`detectSeries`](#detectSeries) +* [`sortBy`](#sortBy) +* [`some`](#some) +* [`every`](#every) +* [`concat`](#concat) +* [`concatSeries`](#concatSeries) + +### Control Flow + +* [`series`](#seriestasks-callback) +* [`parallel`](#parallel) +* [`parallelLimit`](#parallellimittasks-limit-callback) +* [`whilst`](#whilst) +* [`doWhilst`](#doWhilst) +* [`until`](#until) +* [`doUntil`](#doUntil) +* [`forever`](#forever) +* [`waterfall`](#waterfall) +* [`compose`](#compose) +* [`seq`](#seq) +* [`applyEach`](#applyEach) +* [`applyEachSeries`](#applyEachSeries) +* [`queue`](#queue) +* [`priorityQueue`](#priorityQueue) +* [`cargo`](#cargo) +* [`auto`](#auto) +* [`retry`](#retry) +* [`iterator`](#iterator) +* [`apply`](#apply) +* [`nextTick`](#nextTick) +* [`times`](#times) +* [`timesSeries`](#timesSeries) + +### Utils + +* [`memoize`](#memoize) +* [`unmemoize`](#unmemoize) +* [`log`](#log) +* [`dir`](#dir) +* [`noConflict`](#noConflict) + + +## Collections + + + +### each(arr, iterator, callback) + +Applies the function `iterator` to each item in `arr`, in parallel. +The `iterator` is called with an item from the list, and a callback for when it +has finished. If the `iterator` passes an error to its `callback`, the main +`callback` (for the `each` function) is immediately called with the error. + +Note, that since this function applies `iterator` to each item in parallel, +there is no guarantee that the iterator functions will complete in order. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err)` which must be called once it has + completed. If no error has occurred, the `callback` should be run without + arguments or with an explicit `null` argument. +* `callback(err)` - A callback which is called when all `iterator` functions + have finished, or an error occurs. + +__Examples__ + + +```js +// assuming openFiles is an array of file names and saveFile is a function +// to save the modified contents of that file: + +async.each(openFiles, saveFile, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +```js +// assuming openFiles is an array of file names + +async.each(openFiles, function(file, callback) { + + // Perform operation on file here. + console.log('Processing file ' + file); + + if( file.length > 32 ) { + console.log('This file name is too long'); + callback('File name too long'); + } else { + // Do work to process file here + console.log('File processed'); + callback(); + } +}, function(err){ + // if any of the file processing produced an error, err would equal that error + if( err ) { + // One of the iterations produced an error. + // All processing will now stop. + console.log('A file failed to process'); + } else { + console.log('All files have been processed successfully'); + } +}); +``` + +--------------------------------------- + + + +### eachSeries(arr, iterator, callback) + +The same as [`each`](#each), only `iterator` is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +This means the `iterator` functions will complete in order. + + +--------------------------------------- + + + +### eachLimit(arr, limit, iterator, callback) + +The same as [`each`](#each), only no more than `limit` `iterator`s will be simultaneously +running at any time. + +Note that the items in `arr` are not processed in batches, so there is no guarantee that +the first `limit` `iterator` functions will complete before any others are started. + +__Arguments__ + +* `arr` - An array to iterate over. +* `limit` - The maximum number of `iterator`s to run at any time. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err)` which must be called once it has + completed. If no error has occurred, the callback should be run without + arguments or with an explicit `null` argument. +* `callback(err)` - A callback which is called when all `iterator` functions + have finished, or an error occurs. + +__Example__ + +```js +// Assume documents is an array of JSON objects and requestApi is a +// function that interacts with a rate-limited REST api. + +async.eachLimit(documents, 20, requestApi, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +--------------------------------------- + + +### map(arr, iterator, callback) + +Produces a new array of values by mapping each value in `arr` through +the `iterator` function. The `iterator` is called with an item from `arr` and a +callback for when it has finished processing. Each of these callback takes 2 arguments: +an `error`, and the transformed item from `arr`. If `iterator` passes an error to his +callback, the main `callback` (for the `map` function) is immediately called with the error. + +Note, that since this function applies the `iterator` to each item in parallel, +there is no guarantee that the `iterator` functions will complete in order. +However, the results array will be in the same order as the original `arr`. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, transformed)` which must be called once + it has completed with an error (which can be `null`) and a transformed item. +* `callback(err, results)` - A callback which is called when all `iterator` + functions have finished, or an error occurs. Results is an array of the + transformed items from the `arr`. + +__Example__ + +```js +async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + + +### mapSeries(arr, iterator, callback) + +The same as [`map`](#map), only the `iterator` is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +The results array will be in the same order as the original. + + +--------------------------------------- + + +### mapLimit(arr, limit, iterator, callback) + +The same as [`map`](#map), only no more than `limit` `iterator`s will be simultaneously +running at any time. + +Note that the items are not processed in batches, so there is no guarantee that +the first `limit` `iterator` functions will complete before any others are started. + +__Arguments__ + +* `arr` - An array to iterate over. +* `limit` - The maximum number of `iterator`s to run at any time. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, transformed)` which must be called once + it has completed with an error (which can be `null`) and a transformed item. +* `callback(err, results)` - A callback which is called when all `iterator` + calls have finished, or an error occurs. The result is an array of the + transformed items from the original `arr`. + +__Example__ + +```js +async.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + + + +### filter(arr, iterator, callback) + +__Alias:__ `select` + +Returns a new array of all the values in `arr` which pass an async truth test. +_The callback for each `iterator` call only accepts a single argument of `true` or +`false`; it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like `fs.exists`. This operation is +performed in parallel, but the results array will be in the same order as the +original. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in `arr`. + The `iterator` is passed a `callback(truthValue)`, which must be called with a + boolean argument once it has completed. +* `callback(results)` - A callback which is called after all the `iterator` + functions have finished. + +__Example__ + +```js +async.filter(['file1','file2','file3'], fs.exists, function(results){ + // results now equals an array of the existing files +}); +``` + +--------------------------------------- + + + +### filterSeries(arr, iterator, callback) + +__Alias:__ `selectSeries` + +The same as [`filter`](#filter) only the `iterator` is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +The results array will be in the same order as the original. + +--------------------------------------- + + +### reject(arr, iterator, callback) + +The opposite of [`filter`](#filter). Removes values that pass an `async` truth test. + +--------------------------------------- + + +### rejectSeries(arr, iterator, callback) + +The same as [`reject`](#reject), only the `iterator` is applied to each item in `arr` +in series. + + +--------------------------------------- + + +### reduce(arr, memo, iterator, callback) + +__Aliases:__ `inject`, `foldl` + +Reduces `arr` into a single value using an async `iterator` to return +each successive step. `memo` is the initial state of the reduction. +This function only operates in series. + +For performance reasons, it may make sense to split a call to this function into +a parallel map, and then use the normal `Array.prototype.reduce` on the results. +This function is for situations where each step in the reduction needs to be async; +if you can get the data before reducing it, then it's probably a good idea to do so. + +__Arguments__ + +* `arr` - An array to iterate over. +* `memo` - The initial state of the reduction. +* `iterator(memo, item, callback)` - A function applied to each item in the + array to produce the next step in the reduction. The `iterator` is passed a + `callback(err, reduction)` which accepts an optional error as its first + argument, and the state of the reduction as the second. If an error is + passed to the callback, the reduction is stopped and the main `callback` is + immediately called with the error. +* `callback(err, result)` - A callback which is called after all the `iterator` + functions have finished. Result is the reduced value. + +__Example__ + +```js +async.reduce([1,2,3], 0, function(memo, item, callback){ + // pointless async: + process.nextTick(function(){ + callback(null, memo + item) + }); +}, function(err, result){ + // result is now equal to the last value of memo, which is 6 +}); +``` + +--------------------------------------- + + +### reduceRight(arr, memo, iterator, callback) + +__Alias:__ `foldr` + +Same as [`reduce`](#reduce), only operates on `arr` in reverse order. + + +--------------------------------------- + + +### detect(arr, iterator, callback) + +Returns the first value in `arr` that passes an async truth test. The +`iterator` is applied in parallel, meaning the first iterator to return `true` will +fire the detect `callback` with that result. That means the result might not be +the first item in the original `arr` (in terms of order) that passes the test. + +If order within the original `arr` is important, then look at [`detectSeries`](#detectSeries). + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in `arr`. + The iterator is passed a `callback(truthValue)` which must be called with a + boolean argument once it has completed. +* `callback(result)` - A callback which is called as soon as any iterator returns + `true`, or after all the `iterator` functions have finished. Result will be + the first item in the array that passes the truth test (iterator) or the + value `undefined` if none passed. + +__Example__ + +```js +async.detect(['file1','file2','file3'], fs.exists, function(result){ + // result now equals the first file in the list that exists +}); +``` + +--------------------------------------- + + +### detectSeries(arr, iterator, callback) + +The same as [`detect`](#detect), only the `iterator` is applied to each item in `arr` +in series. This means the result is always the first in the original `arr` (in +terms of array order) that passes the truth test. + + +--------------------------------------- + + +### sortBy(arr, iterator, callback) + +Sorts a list by the results of running each `arr` value through an async `iterator`. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, sortValue)` which must be called once it + has completed with an error (which can be `null`) and a value to use as the sort + criteria. +* `callback(err, results)` - A callback which is called after all the `iterator` + functions have finished, or an error occurs. Results is the items from + the original `arr` sorted by the values returned by the `iterator` calls. + +__Example__ + +```js +async.sortBy(['file1','file2','file3'], function(file, callback){ + fs.stat(file, function(err, stats){ + callback(err, stats.mtime); + }); +}, function(err, results){ + // results is now the original array of files sorted by + // modified date +}); +``` + +__Sort Order__ + +By modifying the callback parameter the sorting order can be influenced: + +```js +//ascending order +async.sortBy([1,9,3,5], function(x, callback){ + callback(null, x); +}, function(err,result){ + //result callback +} ); + +//descending order +async.sortBy([1,9,3,5], function(x, callback){ + callback(null, x*-1); //<- x*-1 instead of x, turns the order around +}, function(err,result){ + //result callback +} ); +``` + +--------------------------------------- + + +### some(arr, iterator, callback) + +__Alias:__ `any` + +Returns `true` if at least one element in the `arr` satisfies an async test. +_The callback for each iterator call only accepts a single argument of `true` or +`false`; it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like `fs.exists`. Once any iterator +call returns `true`, the main `callback` is immediately called. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in the array + in parallel. The iterator is passed a callback(truthValue) which must be + called with a boolean argument once it has completed. +* `callback(result)` - A callback which is called as soon as any iterator returns + `true`, or after all the iterator functions have finished. Result will be + either `true` or `false` depending on the values of the async tests. + +__Example__ + +```js +async.some(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then at least one of the files exists +}); +``` + +--------------------------------------- + + +### every(arr, iterator, callback) + +__Alias:__ `all` + +Returns `true` if every element in `arr` satisfies an async test. +_The callback for each `iterator` call only accepts a single argument of `true` or +`false`; it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like `fs.exists`. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in the array + in parallel. The iterator is passed a callback(truthValue) which must be + called with a boolean argument once it has completed. +* `callback(result)` - A callback which is called after all the `iterator` + functions have finished. Result will be either `true` or `false` depending on + the values of the async tests. + +__Example__ + +```js +async.every(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then every file exists +}); +``` + +--------------------------------------- + + +### concat(arr, iterator, callback) + +Applies `iterator` to each item in `arr`, concatenating the results. Returns the +concatenated list. The `iterator`s are called in parallel, and the results are +concatenated as they return. There is no guarantee that the results array will +be returned in the original order of `arr` passed to the `iterator` function. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, results)` which must be called once it + has completed with an error (which can be `null`) and an array of results. +* `callback(err, results)` - A callback which is called after all the `iterator` + functions have finished, or an error occurs. Results is an array containing + the concatenated results of the `iterator` function. + +__Example__ + +```js +async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){ + // files is now a list of filenames that exist in the 3 directories +}); +``` + +--------------------------------------- + + +### concatSeries(arr, iterator, callback) + +Same as [`concat`](#concat), but executes in series instead of parallel. + + +## Control Flow + + +### series(tasks, [callback]) + +Run the functions in the `tasks` array in series, each one running once the previous +function has completed. If any functions in the series pass an error to its +callback, no more functions are run, and `callback` is immediately called with the value of the error. +Otherwise, `callback` receives an array of results when `tasks` have completed. + +It is also possible to use an object instead of an array. Each property will be +run as a function, and the results will be passed to the final `callback` as an object +instead of an array. This can be a more readable way of handling results from +[`series`](#series). + +**Note** that while many implementations preserve the order of object properties, the +[ECMAScript Language Specifcation](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6) +explicitly states that + +> The mechanics and order of enumerating the properties is not specified. + +So if you rely on the order in which your series of functions are executed, and want +this to work on all platforms, consider using an array. + +__Arguments__ + +* `tasks` - An array or object containing functions to run, each function is passed + a `callback(err, result)` it must call on completion with an error `err` (which can + be `null`) and an optional `result` value. +* `callback(err, results)` - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the `task` callbacks. + +__Example__ + +```js +async.series([ + function(callback){ + // do some stuff ... + callback(null, 'one'); + }, + function(callback){ + // do some more stuff ... + callback(null, 'two'); + } +], +// optional callback +function(err, results){ + // results is now equal to ['one', 'two'] +}); + + +// an example using an object instead of an array +async.series({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equal to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + + +### parallel(tasks, [callback]) + +Run the `tasks` array of functions in parallel, without waiting until the previous +function has completed. If any of the functions pass an error to its +callback, the main `callback` is immediately called with the value of the error. +Once the `tasks` have completed, the results are passed to the final `callback` as an +array. + +It is also possible to use an object instead of an array. Each property will be +run as a function and the results will be passed to the final `callback` as an object +instead of an array. This can be a more readable way of handling results from +[`parallel`](#parallel). + + +__Arguments__ + +* `tasks` - An array or object containing functions to run. Each function is passed + a `callback(err, result)` which it must call on completion with an error `err` + (which can be `null`) and an optional `result` value. +* `callback(err, results)` - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the task callbacks. + +__Example__ + +```js +async.parallel([ + function(callback){ + setTimeout(function(){ + callback(null, 'one'); + }, 200); + }, + function(callback){ + setTimeout(function(){ + callback(null, 'two'); + }, 100); + } +], +// optional callback +function(err, results){ + // the results array will equal ['one','two'] even though + // the second function had a shorter timeout. +}); + + +// an example using an object instead of an array +async.parallel({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equals to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + + +### parallelLimit(tasks, limit, [callback]) + +The same as [`parallel`](#parallel), only `tasks` are executed in parallel +with a maximum of `limit` tasks executing at any time. + +Note that the `tasks` are not executed in batches, so there is no guarantee that +the first `limit` tasks will complete before any others are started. + +__Arguments__ + +* `tasks` - An array or object containing functions to run, each function is passed + a `callback(err, result)` it must call on completion with an error `err` (which can + be `null`) and an optional `result` value. +* `limit` - The maximum number of `tasks` to run at any time. +* `callback(err, results)` - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the `task` callbacks. + +--------------------------------------- + + +### whilst(test, fn, callback) + +Repeatedly call `fn`, while `test` returns `true`. Calls `callback` when stopped, +or an error occurs. + +__Arguments__ + +* `test()` - synchronous truth test to perform before each execution of `fn`. +* `fn(callback)` - A function which is called each time `test` passes. The function is + passed a `callback(err)`, which must be called once it has completed with an + optional `err` argument. +* `callback(err)` - A callback which is called after the test fails and repeated + execution of `fn` has stopped. + +__Example__ + +```js +var count = 0; + +async.whilst( + function () { return count < 5; }, + function (callback) { + count++; + setTimeout(callback, 1000); + }, + function (err) { + // 5 seconds have passed + } +); +``` + +--------------------------------------- + + +### doWhilst(fn, test, callback) + +The post-check version of [`whilst`](#whilst). To reflect the difference in +the order of operations, the arguments `test` and `fn` are switched. + +`doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript. + +--------------------------------------- + + +### until(test, fn, callback) + +Repeatedly call `fn` until `test` returns `true`. Calls `callback` when stopped, +or an error occurs. + +The inverse of [`whilst`](#whilst). + +--------------------------------------- + + +### doUntil(fn, test, callback) + +Like [`doWhilst`](#doWhilst), except the `test` is inverted. Note the argument ordering differs from `until`. + +--------------------------------------- + + +### forever(fn, errback) + +Calls the asynchronous function `fn` with a callback parameter that allows it to +call itself again, in series, indefinitely. + +If an error is passed to the callback then `errback` is called with the +error, and execution stops, otherwise it will never be called. + +```js +async.forever( + function(next) { + // next is suitable for passing to things that need a callback(err [, whatever]); + // it will result in this function being called again. + }, + function(err) { + // if next is called with a value in its first parameter, it will appear + // in here as 'err', and execution will stop. + } +); +``` + +--------------------------------------- + + +### waterfall(tasks, [callback]) + +Runs the `tasks` array of functions in series, each passing their results to the next in +the array. However, if any of the `tasks` pass an error to their own callback, the +next function is not executed, and the main `callback` is immediately called with +the error. + +__Arguments__ + +* `tasks` - An array of functions to run, each function is passed a + `callback(err, result1, result2, ...)` it must call on completion. The first + argument is an error (which can be `null`) and any further arguments will be + passed as arguments in order to the next task. +* `callback(err, [results])` - An optional callback to run once all the functions + have completed. This will be passed the results of the last task's callback. + + + +__Example__ + +```js +async.waterfall([ + function(callback) { + callback(null, 'one', 'two'); + }, + function(arg1, arg2, callback) { + // arg1 now equals 'one' and arg2 now equals 'two' + callback(null, 'three'); + }, + function(arg1, callback) { + // arg1 now equals 'three' + callback(null, 'done'); + } +], function (err, result) { + // result now equals 'done' +}); +``` + +--------------------------------------- + +### compose(fn1, fn2...) + +Creates a function which is a composition of the passed asynchronous +functions. Each function consumes the return value of the function that +follows. Composing functions `f()`, `g()`, and `h()` would produce the result of +`f(g(h()))`, only this version uses callbacks to obtain the return values. + +Each function is executed with the `this` binding of the composed function. + +__Arguments__ + +* `functions...` - the asynchronous functions to compose + + +__Example__ + +```js +function add1(n, callback) { + setTimeout(function () { + callback(null, n + 1); + }, 10); +} + +function mul3(n, callback) { + setTimeout(function () { + callback(null, n * 3); + }, 10); +} + +var add1mul3 = async.compose(mul3, add1); + +add1mul3(4, function (err, result) { + // result now equals 15 +}); +``` + +--------------------------------------- + +### seq(fn1, fn2...) + +Version of the compose function that is more natural to read. +Each function consumes the return value of the previous function. +It is the equivalent of [`compose`](#compose) with the arguments reversed. + +Each function is executed with the `this` binding of the composed function. + +__Arguments__ + +* functions... - the asynchronous functions to compose + + +__Example__ + +```js +// Requires lodash (or underscore), express3 and dresende's orm2. +// Part of an app, that fetches cats of the logged user. +// This example uses `seq` function to avoid overnesting and error +// handling clutter. +app.get('/cats', function(request, response) { + var User = request.models.User; + async.seq( + _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) + function(user, fn) { + user.getCats(fn); // 'getCats' has signature (callback(err, data)) + } + )(req.session.user_id, function (err, cats) { + if (err) { + console.error(err); + response.json({ status: 'error', message: err.message }); + } else { + response.json({ status: 'ok', message: 'Cats found', data: cats }); + } + }); +}); +``` + +--------------------------------------- + +### applyEach(fns, args..., callback) + +Applies the provided arguments to each function in the array, calling +`callback` after all functions have completed. If you only provide the first +argument, then it will return a function which lets you pass in the +arguments as if it were a single function call. + +__Arguments__ + +* `fns` - the asynchronous functions to all call with the same arguments +* `args...` - any number of separate arguments to pass to the function +* `callback` - the final argument should be the callback, called when all + functions have completed processing + + +__Example__ + +```js +async.applyEach([enableSearch, updateSchema], 'bucket', callback); + +// partial application example: +async.each( + buckets, + async.applyEach([enableSearch, updateSchema]), + callback +); +``` + +--------------------------------------- + + +### applyEachSeries(arr, iterator, callback) + +The same as [`applyEach`](#applyEach) only the functions are applied in series. + +--------------------------------------- + + +### queue(worker, concurrency) + +Creates a `queue` object with the specified `concurrency`. Tasks added to the +`queue` are processed in parallel (up to the `concurrency` limit). If all +`worker`s are in progress, the task is queued until one becomes available. +Once a `worker` completes a `task`, that `task`'s callback is called. + +__Arguments__ + +* `worker(task, callback)` - An asynchronous function for processing a queued + task, which must call its `callback(err)` argument when finished, with an + optional `error` as an argument. +* `concurrency` - An `integer` for determining how many `worker` functions should be + run in parallel. + +__Queue objects__ + +The `queue` object returned by this function has the following properties and +methods: + +* `length()` - a function returning the number of items waiting to be processed. +* `started` - a function returning whether or not any items have been pushed and processed by the queue +* `running()` - a function returning the number of items currently being processed. +* `idle()` - a function returning false if there are items waiting or being processed, or true if not. +* `concurrency` - an integer for determining how many `worker` functions should be + run in parallel. This property can be changed after a `queue` is created to + alter the concurrency on-the-fly. +* `push(task, [callback])` - add a new task to the `queue`. Calls `callback` once + the `worker` has finished processing the task. Instead of a single task, a `tasks` array + can be submitted. The respective callback is used for every task in the list. +* `unshift(task, [callback])` - add a new task to the front of the `queue`. +* `saturated` - a callback that is called when the `queue` length hits the `concurrency` limit, + and further tasks will be queued. +* `empty` - a callback that is called when the last item from the `queue` is given to a `worker`. +* `drain` - a callback that is called when the last item from the `queue` has returned from the `worker`. +* `paused` - a boolean for determining whether the queue is in a paused state +* `pause()` - a function that pauses the processing of tasks until `resume()` is called. +* `resume()` - a function that resumes the processing of queued tasks when the queue is paused. +* `kill()` - a function that removes the `drain` callback and empties remaining tasks from the queue forcing it to go idle. + +__Example__ + +```js +// create a queue object with concurrency 2 + +var q = async.queue(function (task, callback) { + console.log('hello ' + task.name); + callback(); +}, 2); + + +// assign a callback +q.drain = function() { + console.log('all items have been processed'); +} + +// add some items to the queue + +q.push({name: 'foo'}, function (err) { + console.log('finished processing foo'); +}); +q.push({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); + +// add some items to the queue (batch-wise) + +q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { + console.log('finished processing item'); +}); + +// add some items to the front of the queue + +q.unshift({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); +``` + + +--------------------------------------- + + +### priorityQueue(worker, concurrency) + +The same as [`queue`](#queue) only tasks are assigned a priority and completed in ascending priority order. There are two differences between `queue` and `priorityQueue` objects: + +* `push(task, priority, [callback])` - `priority` should be a number. If an array of + `tasks` is given, all tasks will be assigned the same priority. +* The `unshift` method was removed. + +--------------------------------------- + + +### cargo(worker, [payload]) + +Creates a `cargo` object with the specified payload. Tasks added to the +cargo will be processed altogether (up to the `payload` limit). If the +`worker` is in progress, the task is queued until it becomes available. Once +the `worker` has completed some tasks, each callback of those tasks is called. +Check out [this animation](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) for how `cargo` and `queue` work. + +While [queue](#queue) passes only one task to one of a group of workers +at a time, cargo passes an array of tasks to a single worker, repeating +when the worker is finished. + +__Arguments__ + +* `worker(tasks, callback)` - An asynchronous function for processing an array of + queued tasks, which must call its `callback(err)` argument when finished, with + an optional `err` argument. +* `payload` - An optional `integer` for determining how many tasks should be + processed per round; if omitted, the default is unlimited. + +__Cargo objects__ + +The `cargo` object returned by this function has the following properties and +methods: + +* `length()` - A function returning the number of items waiting to be processed. +* `payload` - An `integer` for determining how many tasks should be + process per round. This property can be changed after a `cargo` is created to + alter the payload on-the-fly. +* `push(task, [callback])` - Adds `task` to the `queue`. The callback is called + once the `worker` has finished processing the task. Instead of a single task, an array of `tasks` + can be submitted. The respective callback is used for every task in the list. +* `saturated` - A callback that is called when the `queue.length()` hits the concurrency and further tasks will be queued. +* `empty` - A callback that is called when the last item from the `queue` is given to a `worker`. +* `drain` - A callback that is called when the last item from the `queue` has returned from the `worker`. + +__Example__ + +```js +// create a cargo object with payload 2 + +var cargo = async.cargo(function (tasks, callback) { + for(var i=0; i +### auto(tasks, [callback]) + +Determines the best order for running the functions in `tasks`, based on their +requirements. Each function can optionally depend on other functions being completed +first, and each function is run as soon as its requirements are satisfied. + +If any of the functions pass an error to their callback, it will not +complete (so any other functions depending on it will not run), and the main +`callback` is immediately called with the error. Functions also receive an +object containing the results of functions which have completed so far. + +Note, all functions are called with a `results` object as a second argument, +so it is unsafe to pass functions in the `tasks` object which cannot handle the +extra argument. + +For example, this snippet of code: + +```js +async.auto({ + readData: async.apply(fs.readFile, 'data.txt', 'utf-8') +}, callback); +``` + +will have the effect of calling `readFile` with the results object as the last +argument, which will fail: + +```js +fs.readFile('data.txt', 'utf-8', cb, {}); +``` + +Instead, wrap the call to `readFile` in a function which does not forward the +`results` object: + +```js +async.auto({ + readData: function(cb, results){ + fs.readFile('data.txt', 'utf-8', cb); + } +}, callback); +``` + +__Arguments__ + +* `tasks` - An object. Each of its properties is either a function or an array of + requirements, with the function itself the last item in the array. The object's key + of a property serves as the name of the task defined by that property, + i.e. can be used when specifying requirements for other tasks. + The function receives two arguments: (1) a `callback(err, result)` which must be + called when finished, passing an `error` (which can be `null`) and the result of + the function's execution, and (2) a `results` object, containing the results of + the previously executed functions. +* `callback(err, results)` - An optional callback which is called when all the + tasks have been completed. It receives the `err` argument if any `tasks` + pass an error to their callback. Results are always returned; however, if + an error occurs, no further `tasks` will be performed, and the results + object will only contain partial results. + + +__Example__ + +```js +async.auto({ + get_data: function(callback){ + console.log('in get_data'); + // async code to get some data + callback(null, 'data', 'converted to array'); + }, + make_folder: function(callback){ + console.log('in make_folder'); + // async code to create a directory to store a file in + // this is run at the same time as getting the data + callback(null, 'folder'); + }, + write_file: ['get_data', 'make_folder', function(callback, results){ + console.log('in write_file', JSON.stringify(results)); + // once there is some data and the directory exists, + // write the data to a file in the directory + callback(null, 'filename'); + }], + email_link: ['write_file', function(callback, results){ + console.log('in email_link', JSON.stringify(results)); + // once the file is written let's email a link to it... + // results.write_file contains the filename returned by write_file. + callback(null, {'file':results.write_file, 'email':'user@example.com'}); + }] +}, function(err, results) { + console.log('err = ', err); + console.log('results = ', results); +}); +``` + +This is a fairly trivial example, but to do this using the basic parallel and +series functions would look like this: + +```js +async.parallel([ + function(callback){ + console.log('in get_data'); + // async code to get some data + callback(null, 'data', 'converted to array'); + }, + function(callback){ + console.log('in make_folder'); + // async code to create a directory to store a file in + // this is run at the same time as getting the data + callback(null, 'folder'); + } +], +function(err, results){ + async.series([ + function(callback){ + console.log('in write_file', JSON.stringify(results)); + // once there is some data and the directory exists, + // write the data to a file in the directory + results.push('filename'); + callback(null); + }, + function(callback){ + console.log('in email_link', JSON.stringify(results)); + // once the file is written let's email a link to it... + callback(null, {'file':results.pop(), 'email':'user@example.com'}); + } + ]); +}); +``` + +For a complicated series of `async` tasks, using the [`auto`](#auto) function makes adding +new tasks much easier (and the code more readable). + + +--------------------------------------- + + +### retry([times = 5], task, [callback]) + +Attempts to get a successful response from `task` no more than `times` times before +returning an error. If the task is successful, the `callback` will be passed the result +of the successful task. If all attempts fail, the callback will be passed the error and +result (if any) of the final attempt. + +__Arguments__ + +* `times` - An integer indicating how many times to attempt the `task` before giving up. Defaults to 5. +* `task(callback, results)` - A function which receives two arguments: (1) a `callback(err, result)` + which must be called when finished, passing `err` (which can be `null`) and the `result` of + the function's execution, and (2) a `results` object, containing the results of + the previously executed functions (if nested inside another control flow). +* `callback(err, results)` - An optional callback which is called when the + task has succeeded, or after the final failed attempt. It receives the `err` and `result` arguments of the last attempt at completing the `task`. + +The [`retry`](#retry) function can be used as a stand-alone control flow by passing a +callback, as shown below: + +```js +async.retry(3, apiMethod, function(err, result) { + // do something with the result +}); +``` + +It can also be embeded within other control flow functions to retry individual methods +that are not as reliable, like this: + +```js +async.auto({ + users: api.getUsers.bind(api), + payments: async.retry(3, api.getPayments.bind(api)) +}, function(err, results) { + // do something with the results +}); +``` + + +--------------------------------------- + + +### iterator(tasks) + +Creates an iterator function which calls the next function in the `tasks` array, +returning a continuation to call the next one after that. It's also possible to +“peek†at the next iterator with `iterator.next()`. + +This function is used internally by the `async` module, but can be useful when +you want to manually control the flow of functions in series. + +__Arguments__ + +* `tasks` - An array of functions to run. + +__Example__ + +```js +var iterator = async.iterator([ + function(){ sys.p('one'); }, + function(){ sys.p('two'); }, + function(){ sys.p('three'); } +]); + +node> var iterator2 = iterator(); +'one' +node> var iterator3 = iterator2(); +'two' +node> iterator3(); +'three' +node> var nextfn = iterator2.next(); +node> nextfn(); +'three' +``` + +--------------------------------------- + + +### apply(function, arguments..) + +Creates a continuation function with some arguments already applied. + +Useful as a shorthand when combined with other control flow functions. Any arguments +passed to the returned function are added to the arguments originally passed +to apply. + +__Arguments__ + +* `function` - The function you want to eventually apply all arguments to. +* `arguments...` - Any number of arguments to automatically apply when the + continuation is called. + +__Example__ + +```js +// using apply + +async.parallel([ + async.apply(fs.writeFile, 'testfile1', 'test1'), + async.apply(fs.writeFile, 'testfile2', 'test2'), +]); + + +// the same process without using apply + +async.parallel([ + function(callback){ + fs.writeFile('testfile1', 'test1', callback); + }, + function(callback){ + fs.writeFile('testfile2', 'test2', callback); + } +]); +``` + +It's possible to pass any number of additional arguments when calling the +continuation: + +```js +node> var fn = async.apply(sys.puts, 'one'); +node> fn('two', 'three'); +one +two +three +``` + +--------------------------------------- + + +### nextTick(callback), setImmediate(callback) + +Calls `callback` on a later loop around the event loop. In Node.js this just +calls `process.nextTick`; in the browser it falls back to `setImmediate(callback)` +if available, otherwise `setTimeout(callback, 0)`, which means other higher priority +events may precede the execution of `callback`. + +This is used internally for browser-compatibility purposes. + +__Arguments__ + +* `callback` - The function to call on a later loop around the event loop. + +__Example__ + +```js +var call_order = []; +async.nextTick(function(){ + call_order.push('two'); + // call_order now equals ['one','two'] +}); +call_order.push('one') +``` + + +### times(n, callback) + +Calls the `callback` function `n` times, and accumulates results in the same manner +you would use with [`map`](#map). + +__Arguments__ + +* `n` - The number of times to run the function. +* `callback` - The function to call `n` times. + +__Example__ + +```js +// Pretend this is some complicated async factory +var createUser = function(id, callback) { + callback(null, { + id: 'user' + id + }) +} +// generate 5 users +async.times(5, function(n, next){ + createUser(n, function(err, user) { + next(err, user) + }) +}, function(err, users) { + // we should now have 5 users +}); +``` + + +### timesSeries(n, callback) + +The same as [`times`](#times), only the iterator is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +The results array will be in the same order as the original. + + +## Utils + + +### memoize(fn, [hasher]) + +Caches the results of an `async` function. When creating a hash to store function +results against, the callback is omitted from the hash and an optional hash +function can be used. + +The cache of results is exposed as the `memo` property of the function returned +by `memoize`. + +__Arguments__ + +* `fn` - The function to proxy and cache results from. +* `hasher` - Tn optional function for generating a custom hash for storing + results. It has all the arguments applied to it apart from the callback, and + must be synchronous. + +__Example__ + +```js +var slow_fn = function (name, callback) { + // do something + callback(null, result); +}; +var fn = async.memoize(slow_fn); + +// fn can now be used as if it were slow_fn +fn('some name', function () { + // callback +}); +``` + + +### unmemoize(fn) + +Undoes a [`memoize`](#memoize)d function, reverting it to the original, unmemoized +form. Handy for testing. + +__Arguments__ + +* `fn` - the memoized function + + +### log(function, arguments) + +Logs the result of an `async` function to the `console`. Only works in Node.js or +in browsers that support `console.log` and `console.error` (such as FF and Chrome). +If multiple arguments are returned from the async function, `console.log` is +called on each argument in order. + +__Arguments__ + +* `function` - The function you want to eventually apply all arguments to. +* `arguments...` - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, 'hello ' + name); + }, 1000); +}; +``` +```js +node> async.log(hello, 'world'); +'hello world' +``` + +--------------------------------------- + + +### dir(function, arguments) + +Logs the result of an `async` function to the `console` using `console.dir` to +display the properties of the resulting object. Only works in Node.js or +in browsers that support `console.dir` and `console.error` (such as FF and Chrome). +If multiple arguments are returned from the async function, `console.dir` is +called on each argument in order. + +__Arguments__ + +* `function` - The function you want to eventually apply all arguments to. +* `arguments...` - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, {hello: name}); + }, 1000); +}; +``` +```js +node> async.dir(hello, 'world'); +{hello: 'world'} +``` + +--------------------------------------- + + +### noConflict() + +Changes the value of `async` back to its original value, returning a reference to the +`async` object. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/bower.json b/netatmo-security-connector/NetatmoSecurity/node_modules/async/bower.json new file mode 100644 index 0000000..1817688 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/async/bower.json @@ -0,0 +1,38 @@ +{ + "name": "async", + "description": "Higher-order functions and common patterns for asynchronous code", + "version": "0.9.2", + "main": "lib/async.js", + "keywords": [ + "async", + "callback", + "utility", + "module" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/caolan/async.git" + }, + "devDependencies": { + "nodeunit": ">0.0.0", + "uglify-js": "1.2.x", + "nodelint": ">0.0.0", + "lodash": ">=2.4.1" + }, + "moduleType": [ + "amd", + "globals", + "node" + ], + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "authors": [ + "Caolan McMahon" + ] +} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/component.json b/netatmo-security-connector/NetatmoSecurity/node_modules/async/component.json new file mode 100644 index 0000000..5003a7c --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/async/component.json @@ -0,0 +1,16 @@ +{ + "name": "async", + "description": "Higher-order functions and common patterns for asynchronous code", + "version": "0.9.2", + "keywords": [ + "async", + "callback", + "utility", + "module" + ], + "license": "MIT", + "repository": "caolan/async", + "scripts": [ + "lib/async.js" + ] +} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/lib/async.js b/netatmo-security-connector/NetatmoSecurity/node_modules/async/lib/async.js new file mode 100644 index 0000000..394c41c --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/async/lib/async.js @@ -0,0 +1,1123 @@ +/*! + * async + * https://github.com/caolan/async + * + * Copyright 2010-2014 Caolan McMahon + * Released under the MIT license + */ +/*jshint onevar: false, indent:4 */ +/*global setImmediate: false, setTimeout: false, console: false */ +(function () { + + var async = {}; + + // global on the server, window in the browser + var root, previous_async; + + root = this; + if (root != null) { + previous_async = root.async; + } + + async.noConflict = function () { + root.async = previous_async; + return async; + }; + + function only_once(fn) { + var called = false; + return function() { + if (called) throw new Error("Callback was already called."); + called = true; + fn.apply(root, arguments); + } + } + + //// cross-browser compatiblity functions //// + + var _toString = Object.prototype.toString; + + var _isArray = Array.isArray || function (obj) { + return _toString.call(obj) === '[object Array]'; + }; + + var _each = function (arr, iterator) { + for (var i = 0; i < arr.length; i += 1) { + iterator(arr[i], i, arr); + } + }; + + var _map = function (arr, iterator) { + if (arr.map) { + return arr.map(iterator); + } + var results = []; + _each(arr, function (x, i, a) { + results.push(iterator(x, i, a)); + }); + return results; + }; + + var _reduce = function (arr, iterator, memo) { + if (arr.reduce) { + return arr.reduce(iterator, memo); + } + _each(arr, function (x, i, a) { + memo = iterator(memo, x, i, a); + }); + return memo; + }; + + var _keys = function (obj) { + if (Object.keys) { + return Object.keys(obj); + } + var keys = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + keys.push(k); + } + } + return keys; + }; + + //// exported async module functions //// + + //// nextTick implementation with browser-compatible fallback //// + if (typeof process === 'undefined' || !(process.nextTick)) { + if (typeof setImmediate === 'function') { + async.nextTick = function (fn) { + // not a direct alias for IE10 compatibility + setImmediate(fn); + }; + async.setImmediate = async.nextTick; + } + else { + async.nextTick = function (fn) { + setTimeout(fn, 0); + }; + async.setImmediate = async.nextTick; + } + } + else { + async.nextTick = process.nextTick; + if (typeof setImmediate !== 'undefined') { + async.setImmediate = function (fn) { + // not a direct alias for IE10 compatibility + setImmediate(fn); + }; + } + else { + async.setImmediate = async.nextTick; + } + } + + async.each = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + _each(arr, function (x) { + iterator(x, only_once(done) ); + }); + function done(err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(); + } + } + } + }; + async.forEach = async.each; + + async.eachSeries = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + var iterate = function () { + iterator(arr[completed], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(); + } + else { + iterate(); + } + } + }); + }; + iterate(); + }; + async.forEachSeries = async.eachSeries; + + async.eachLimit = function (arr, limit, iterator, callback) { + var fn = _eachLimit(limit); + fn.apply(null, [arr, iterator, callback]); + }; + async.forEachLimit = async.eachLimit; + + var _eachLimit = function (limit) { + + return function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length || limit <= 0) { + return callback(); + } + var completed = 0; + var started = 0; + var running = 0; + + (function replenish () { + if (completed >= arr.length) { + return callback(); + } + + while (running < limit && started < arr.length) { + started += 1; + running += 1; + iterator(arr[started - 1], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + running -= 1; + if (completed >= arr.length) { + callback(); + } + else { + replenish(); + } + } + }); + } + })(); + }; + }; + + + var doParallel = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.each].concat(args)); + }; + }; + var doParallelLimit = function(limit, fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [_eachLimit(limit)].concat(args)); + }; + }; + var doSeries = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.eachSeries].concat(args)); + }; + }; + + + var _asyncMap = function (eachfn, arr, iterator, callback) { + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + if (!callback) { + eachfn(arr, function (x, callback) { + iterator(x.value, function (err) { + callback(err); + }); + }); + } else { + var results = []; + eachfn(arr, function (x, callback) { + iterator(x.value, function (err, v) { + results[x.index] = v; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + async.map = doParallel(_asyncMap); + async.mapSeries = doSeries(_asyncMap); + async.mapLimit = function (arr, limit, iterator, callback) { + return _mapLimit(limit)(arr, iterator, callback); + }; + + var _mapLimit = function(limit) { + return doParallelLimit(limit, _asyncMap); + }; + + // reduce only has a series version, as doing reduce in parallel won't + // work in many situations. + async.reduce = function (arr, memo, iterator, callback) { + async.eachSeries(arr, function (x, callback) { + iterator(memo, x, function (err, v) { + memo = v; + callback(err); + }); + }, function (err) { + callback(err, memo); + }); + }; + // inject alias + async.inject = async.reduce; + // foldl alias + async.foldl = async.reduce; + + async.reduceRight = function (arr, memo, iterator, callback) { + var reversed = _map(arr, function (x) { + return x; + }).reverse(); + async.reduce(reversed, memo, iterator, callback); + }; + // foldr alias + async.foldr = async.reduceRight; + + var _filter = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.filter = doParallel(_filter); + async.filterSeries = doSeries(_filter); + // select alias + async.select = async.filter; + async.selectSeries = async.filterSeries; + + var _reject = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (!v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.reject = doParallel(_reject); + async.rejectSeries = doSeries(_reject); + + var _detect = function (eachfn, arr, iterator, main_callback) { + eachfn(arr, function (x, callback) { + iterator(x, function (result) { + if (result) { + main_callback(x); + main_callback = function () {}; + } + else { + callback(); + } + }); + }, function (err) { + main_callback(); + }); + }; + async.detect = doParallel(_detect); + async.detectSeries = doSeries(_detect); + + async.some = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (v) { + main_callback(true); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(false); + }); + }; + // any alias + async.any = async.some; + + async.every = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (!v) { + main_callback(false); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(true); + }); + }; + // all alias + async.all = async.every; + + async.sortBy = function (arr, iterator, callback) { + async.map(arr, function (x, callback) { + iterator(x, function (err, criteria) { + if (err) { + callback(err); + } + else { + callback(null, {value: x, criteria: criteria}); + } + }); + }, function (err, results) { + if (err) { + return callback(err); + } + else { + var fn = function (left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }; + callback(null, _map(results.sort(fn), function (x) { + return x.value; + })); + } + }); + }; + + async.auto = function (tasks, callback) { + callback = callback || function () {}; + var keys = _keys(tasks); + var remainingTasks = keys.length + if (!remainingTasks) { + return callback(); + } + + var results = {}; + + var listeners = []; + var addListener = function (fn) { + listeners.unshift(fn); + }; + var removeListener = function (fn) { + for (var i = 0; i < listeners.length; i += 1) { + if (listeners[i] === fn) { + listeners.splice(i, 1); + return; + } + } + }; + var taskComplete = function () { + remainingTasks-- + _each(listeners.slice(0), function (fn) { + fn(); + }); + }; + + addListener(function () { + if (!remainingTasks) { + var theCallback = callback; + // prevent final callback from calling itself if it errors + callback = function () {}; + + theCallback(null, results); + } + }); + + _each(keys, function (k) { + var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]]; + var taskCallback = function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + if (err) { + var safeResults = {}; + _each(_keys(results), function(rkey) { + safeResults[rkey] = results[rkey]; + }); + safeResults[k] = args; + callback(err, safeResults); + // stop subsequent errors hitting callback multiple times + callback = function () {}; + } + else { + results[k] = args; + async.setImmediate(taskComplete); + } + }; + var requires = task.slice(0, Math.abs(task.length - 1)) || []; + var ready = function () { + return _reduce(requires, function (a, x) { + return (a && results.hasOwnProperty(x)); + }, true) && !results.hasOwnProperty(k); + }; + if (ready()) { + task[task.length - 1](taskCallback, results); + } + else { + var listener = function () { + if (ready()) { + removeListener(listener); + task[task.length - 1](taskCallback, results); + } + }; + addListener(listener); + } + }); + }; + + async.retry = function(times, task, callback) { + var DEFAULT_TIMES = 5; + var attempts = []; + // Use defaults if times not passed + if (typeof times === 'function') { + callback = task; + task = times; + times = DEFAULT_TIMES; + } + // Make sure times is a number + times = parseInt(times, 10) || DEFAULT_TIMES; + var wrappedTask = function(wrappedCallback, wrappedResults) { + var retryAttempt = function(task, finalAttempt) { + return function(seriesCallback) { + task(function(err, result){ + seriesCallback(!err || finalAttempt, {err: err, result: result}); + }, wrappedResults); + }; + }; + while (times) { + attempts.push(retryAttempt(task, !(times-=1))); + } + async.series(attempts, function(done, data){ + data = data[data.length - 1]; + (wrappedCallback || callback)(data.err, data.result); + }); + } + // If a callback is passed, run this as a controll flow + return callback ? wrappedTask() : wrappedTask + }; + + async.waterfall = function (tasks, callback) { + callback = callback || function () {}; + if (!_isArray(tasks)) { + var err = new Error('First argument to waterfall must be an array of functions'); + return callback(err); + } + if (!tasks.length) { + return callback(); + } + var wrapIterator = function (iterator) { + return function (err) { + if (err) { + callback.apply(null, arguments); + callback = function () {}; + } + else { + var args = Array.prototype.slice.call(arguments, 1); + var next = iterator.next(); + if (next) { + args.push(wrapIterator(next)); + } + else { + args.push(callback); + } + async.setImmediate(function () { + iterator.apply(null, args); + }); + } + }; + }; + wrapIterator(async.iterator(tasks))(); + }; + + var _parallel = function(eachfn, tasks, callback) { + callback = callback || function () {}; + if (_isArray(tasks)) { + eachfn.map(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + eachfn.each(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.parallel = function (tasks, callback) { + _parallel({ map: async.map, each: async.each }, tasks, callback); + }; + + async.parallelLimit = function(tasks, limit, callback) { + _parallel({ map: _mapLimit(limit), each: _eachLimit(limit) }, tasks, callback); + }; + + async.series = function (tasks, callback) { + callback = callback || function () {}; + if (_isArray(tasks)) { + async.mapSeries(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + async.eachSeries(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.iterator = function (tasks) { + var makeCallback = function (index) { + var fn = function () { + if (tasks.length) { + tasks[index].apply(null, arguments); + } + return fn.next(); + }; + fn.next = function () { + return (index < tasks.length - 1) ? makeCallback(index + 1): null; + }; + return fn; + }; + return makeCallback(0); + }; + + async.apply = function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + return function () { + return fn.apply( + null, args.concat(Array.prototype.slice.call(arguments)) + ); + }; + }; + + var _concat = function (eachfn, arr, fn, callback) { + var r = []; + eachfn(arr, function (x, cb) { + fn(x, function (err, y) { + r = r.concat(y || []); + cb(err); + }); + }, function (err) { + callback(err, r); + }); + }; + async.concat = doParallel(_concat); + async.concatSeries = doSeries(_concat); + + async.whilst = function (test, iterator, callback) { + if (test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.whilst(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doWhilst = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + var args = Array.prototype.slice.call(arguments, 1); + if (test.apply(null, args)) { + async.doWhilst(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.until = function (test, iterator, callback) { + if (!test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.until(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doUntil = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + var args = Array.prototype.slice.call(arguments, 1); + if (!test.apply(null, args)) { + async.doUntil(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.queue = function (worker, concurrency) { + if (concurrency === undefined) { + concurrency = 1; + } + function _insert(q, data, pos, callback) { + if (!q.started){ + q.started = true; + } + if (!_isArray(data)) { + data = [data]; + } + if(data.length == 0) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + if (q.drain) { + q.drain(); + } + }); + } + _each(data, function(task) { + var item = { + data: task, + callback: typeof callback === 'function' ? callback : null + }; + + if (pos) { + q.tasks.unshift(item); + } else { + q.tasks.push(item); + } + + if (q.saturated && q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + var workers = 0; + var q = { + tasks: [], + concurrency: concurrency, + saturated: null, + empty: null, + drain: null, + started: false, + paused: false, + push: function (data, callback) { + _insert(q, data, false, callback); + }, + kill: function () { + q.drain = null; + q.tasks = []; + }, + unshift: function (data, callback) { + _insert(q, data, true, callback); + }, + process: function () { + if (!q.paused && workers < q.concurrency && q.tasks.length) { + var task = q.tasks.shift(); + if (q.empty && q.tasks.length === 0) { + q.empty(); + } + workers += 1; + var next = function () { + workers -= 1; + if (task.callback) { + task.callback.apply(task, arguments); + } + if (q.drain && q.tasks.length + workers === 0) { + q.drain(); + } + q.process(); + }; + var cb = only_once(next); + worker(task.data, cb); + } + }, + length: function () { + return q.tasks.length; + }, + running: function () { + return workers; + }, + idle: function() { + return q.tasks.length + workers === 0; + }, + pause: function () { + if (q.paused === true) { return; } + q.paused = true; + }, + resume: function () { + if (q.paused === false) { return; } + q.paused = false; + // Need to call q.process once per concurrent + // worker to preserve full concurrency after pause + for (var w = 1; w <= q.concurrency; w++) { + async.setImmediate(q.process); + } + } + }; + return q; + }; + + async.priorityQueue = function (worker, concurrency) { + + function _compareTasks(a, b){ + return a.priority - b.priority; + }; + + function _binarySearch(sequence, item, compare) { + var beg = -1, + end = sequence.length - 1; + while (beg < end) { + var mid = beg + ((end - beg + 1) >>> 1); + if (compare(item, sequence[mid]) >= 0) { + beg = mid; + } else { + end = mid - 1; + } + } + return beg; + } + + function _insert(q, data, priority, callback) { + if (!q.started){ + q.started = true; + } + if (!_isArray(data)) { + data = [data]; + } + if(data.length == 0) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + if (q.drain) { + q.drain(); + } + }); + } + _each(data, function(task) { + var item = { + data: task, + priority: priority, + callback: typeof callback === 'function' ? callback : null + }; + + q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); + + if (q.saturated && q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + // Start with a normal queue + var q = async.queue(worker, concurrency); + + // Override push to accept second parameter representing priority + q.push = function (data, priority, callback) { + _insert(q, data, priority, callback); + }; + + // Remove unshift function + delete q.unshift; + + return q; + }; + + async.cargo = function (worker, payload) { + var working = false, + tasks = []; + + var cargo = { + tasks: tasks, + payload: payload, + saturated: null, + empty: null, + drain: null, + drained: true, + push: function (data, callback) { + if (!_isArray(data)) { + data = [data]; + } + _each(data, function(task) { + tasks.push({ + data: task, + callback: typeof callback === 'function' ? callback : null + }); + cargo.drained = false; + if (cargo.saturated && tasks.length === payload) { + cargo.saturated(); + } + }); + async.setImmediate(cargo.process); + }, + process: function process() { + if (working) return; + if (tasks.length === 0) { + if(cargo.drain && !cargo.drained) cargo.drain(); + cargo.drained = true; + return; + } + + var ts = typeof payload === 'number' + ? tasks.splice(0, payload) + : tasks.splice(0, tasks.length); + + var ds = _map(ts, function (task) { + return task.data; + }); + + if(cargo.empty) cargo.empty(); + working = true; + worker(ds, function () { + working = false; + + var args = arguments; + _each(ts, function (data) { + if (data.callback) { + data.callback.apply(null, args); + } + }); + + process(); + }); + }, + length: function () { + return tasks.length; + }, + running: function () { + return working; + } + }; + return cargo; + }; + + var _console_fn = function (name) { + return function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + fn.apply(null, args.concat([function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (typeof console !== 'undefined') { + if (err) { + if (console.error) { + console.error(err); + } + } + else if (console[name]) { + _each(args, function (x) { + console[name](x); + }); + } + } + }])); + }; + }; + async.log = _console_fn('log'); + async.dir = _console_fn('dir'); + /*async.info = _console_fn('info'); + async.warn = _console_fn('warn'); + async.error = _console_fn('error');*/ + + async.memoize = function (fn, hasher) { + var memo = {}; + var queues = {}; + hasher = hasher || function (x) { + return x; + }; + var memoized = function () { + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + var key = hasher.apply(null, args); + if (key in memo) { + async.nextTick(function () { + callback.apply(null, memo[key]); + }); + } + else if (key in queues) { + queues[key].push(callback); + } + else { + queues[key] = [callback]; + fn.apply(null, args.concat([function () { + memo[key] = arguments; + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i].apply(null, arguments); + } + }])); + } + }; + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; + }; + + async.unmemoize = function (fn) { + return function () { + return (fn.unmemoized || fn).apply(null, arguments); + }; + }; + + async.times = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.map(counter, iterator, callback); + }; + + async.timesSeries = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.mapSeries(counter, iterator, callback); + }; + + async.seq = function (/* functions... */) { + var fns = arguments; + return function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + async.reduce(fns, args, function (newargs, fn, cb) { + fn.apply(that, newargs.concat([function () { + var err = arguments[0]; + var nextargs = Array.prototype.slice.call(arguments, 1); + cb(err, nextargs); + }])) + }, + function (err, results) { + callback.apply(that, [err].concat(results)); + }); + }; + }; + + async.compose = function (/* functions... */) { + return async.seq.apply(null, Array.prototype.reverse.call(arguments)); + }; + + var _applyEach = function (eachfn, fns /*args...*/) { + var go = function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + return eachfn(fns, function (fn, cb) { + fn.apply(that, args.concat([cb])); + }, + callback); + }; + if (arguments.length > 2) { + var args = Array.prototype.slice.call(arguments, 2); + return go.apply(this, args); + } + else { + return go; + } + }; + async.applyEach = doParallel(_applyEach); + async.applyEachSeries = doSeries(_applyEach); + + async.forever = function (fn, callback) { + function next(err) { + if (err) { + if (callback) { + return callback(err); + } + throw err; + } + fn(next); + } + next(); + }; + + // Node.js + if (typeof module !== 'undefined' && module.exports) { + module.exports = async; + } + // AMD / RequireJS + else if (typeof define !== 'undefined' && define.amd) { + define([], function () { + return async; + }); + } + // included directly via '); + expect(encoded).to.equal('\\x3cscript\\x3ealert\\x281\\x29\\x3c\\x2fscript\\x3e'); + done(); + }); + + it('encodes \' characters', function (done) { + + var encoded = Hoek.escapeJavaScript('something(\'param\')'); + expect(encoded).to.equal('something\\x28\\x27param\\x27\\x29'); + done(); + }); + + it('encodes large unicode characters with the correct padding', function (done) { + + var encoded = Hoek.escapeJavaScript(String.fromCharCode(500) + String.fromCharCode(1000)); + expect(encoded).to.equal('\\u0500\\u1000'); + done(); + }); + + it('doesn\'t throw an exception when passed null', function (done) { + + var encoded = Hoek.escapeJavaScript(null); + expect(encoded).to.equal(''); + done(); + }); +}); + +describe('escapeHtml()', function () { + + it('encodes / characters', function (done) { + + var encoded = Hoek.escapeHtml(''); + expect(encoded).to.equal('<script>alert(1)</script>'); + done(); + }); + + it('encodes < and > as named characters', function (done) { + + var encoded = Hoek.escapeHtml(' + + + + + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.js new file mode 100644 index 0000000..5f1113d --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.js @@ -0,0 +1,231 @@ +if (!this.uuid) { + // node.js + uuid = require('../uuid'); + if (!/_rb/.test(uuid._rng.toString())) { + throw new Error("should use crypto for node.js"); + } +} + +// +// x-platform log/assert shims +// + +function _log(msg, type) { + type = type || 'log'; + + if (typeof(document) != 'undefined') { + document.write('
' + msg.replace(/\n/g, '
') + '
'); + } + if (typeof(console) != 'undefined') { + var color = { + log: '\033[39m', + warn: '\033[33m', + error: '\033[31m' + }; + console[type](color[type] + msg + color.log); + } +} + +function log(msg) {_log(msg, 'log');} +function warn(msg) {_log(msg, 'warn');} +function error(msg) {_log(msg, 'error');} + +function assert(res, msg) { + if (!res) { + error('FAIL: ' + msg); + } else { + log('Pass: ' + msg); + } +} + +// +// Unit tests +// + +// Verify ordering of v1 ids created with explicit times +var TIME = 1321644961388; // 2011-11-18 11:36:01.388-08:00 + +function compare(name, ids) { + ids = ids.map(function(id) { + return id.split('-').reverse().join('-'); + }).sort(); + var sorted = ([].concat(ids)).sort(); + + assert(sorted.toString() == ids.toString(), name + ' have expected order'); +} + +// Verify ordering of v1 ids created using default behavior +compare('uuids with current time', [ + uuid.v1(), + uuid.v1(), + uuid.v1(), + uuid.v1(), + uuid.v1() +]); + +// Verify ordering of v1 ids created with explicit times +compare('uuids with time option', [ + uuid.v1({msecs: TIME - 10*3600*1000}), + uuid.v1({msecs: TIME - 1}), + uuid.v1({msecs: TIME}), + uuid.v1({msecs: TIME + 1}), + uuid.v1({msecs: TIME + 28*24*3600*1000}) +]); + +assert( + uuid.v1({msecs: TIME}) != uuid.v1({msecs: TIME}), + 'IDs created at same msec are different' +); + +// Verify throw if too many ids created +var thrown = false; +try { + uuid.v1({msecs: TIME, nsecs: 10000}); +} catch (e) { + thrown = true; +} +assert(thrown, 'Exception thrown when > 10K ids created in 1 ms'); + +// Verify clock regression bumps clockseq +var uidt = uuid.v1({msecs: TIME}); +var uidtb = uuid.v1({msecs: TIME - 1}); +assert( + parseInt(uidtb.split('-')[3], 16) - parseInt(uidt.split('-')[3], 16) === 1, + 'Clock regression by msec increments the clockseq' +); + +// Verify clock regression bumps clockseq +var uidtn = uuid.v1({msecs: TIME, nsecs: 10}); +var uidtnb = uuid.v1({msecs: TIME, nsecs: 9}); +assert( + parseInt(uidtnb.split('-')[3], 16) - parseInt(uidtn.split('-')[3], 16) === 1, + 'Clock regression by nsec increments the clockseq' +); + +// Verify explicit options produce expected id +var id = uuid.v1({ + msecs: 1321651533573, + nsecs: 5432, + clockseq: 0x385c, + node: [ 0x61, 0xcd, 0x3c, 0xbb, 0x32, 0x10 ] +}); +assert(id == 'd9428888-122b-11e1-b85c-61cd3cbb3210', 'Explicit options produce expected id'); + +// Verify adjacent ids across a msec boundary are 1 time unit apart +var u0 = uuid.v1({msecs: TIME, nsecs: 9999}); +var u1 = uuid.v1({msecs: TIME + 1, nsecs: 0}); + +var before = u0.split('-')[0], after = u1.split('-')[0]; +var dt = parseInt(after, 16) - parseInt(before, 16); +assert(dt === 1, 'Ids spanning 1ms boundary are 100ns apart'); + +// +// Test parse/unparse +// + +id = '00112233445566778899aabbccddeeff'; +assert(uuid.unparse(uuid.parse(id.substr(0,10))) == + '00112233-4400-0000-0000-000000000000', 'Short parse'); +assert(uuid.unparse(uuid.parse('(this is the uuid -> ' + id + id)) == + '00112233-4455-6677-8899-aabbccddeeff', 'Dirty parse'); + +// +// Perf tests +// + +var generators = { + v1: uuid.v1, + v4: uuid.v4 +}; + +var UUID_FORMAT = { + v1: /[0-9a-f]{8}-[0-9a-f]{4}-1[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i, + v4: /[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i +}; + +var N = 1e4; + +// Get %'age an actual value differs from the ideal value +function divergence(actual, ideal) { + return Math.round(100*100*(actual - ideal)/ideal)/100; +} + +function rate(msg, t) { + log(msg + ': ' + (N / (Date.now() - t) * 1e3 | 0) + ' uuids\/second'); +} + +for (var version in generators) { + var counts = {}, max = 0; + var generator = generators[version]; + var format = UUID_FORMAT[version]; + + log('\nSanity check ' + N + ' ' + version + ' uuids'); + for (var i = 0, ok = 0; i < N; i++) { + id = generator(); + if (!format.test(id)) { + throw Error(id + ' is not a valid UUID string'); + } + + if (id != uuid.unparse(uuid.parse(id))) { + assert(fail, id + ' is not a valid id'); + } + + // Count digits for our randomness check + if (version == 'v4') { + var digits = id.replace(/-/g, '').split(''); + for (var j = digits.length-1; j >= 0; j--) { + var c = digits[j]; + max = Math.max(max, counts[c] = (counts[c] || 0) + 1); + } + } + } + + // Check randomness for v4 UUIDs + if (version == 'v4') { + // Limit that we get worried about randomness. (Purely empirical choice, this!) + var limit = 2*100*Math.sqrt(1/N); + + log('\nChecking v4 randomness. Distribution of Hex Digits (% deviation from ideal)'); + + for (var i = 0; i < 16; i++) { + var c = i.toString(16); + var bar = '', n = counts[c], p = Math.round(n/max*100|0); + + // 1-3,5-8, and D-F: 1:16 odds over 30 digits + var ideal = N*30/16; + if (i == 4) { + // 4: 1:1 odds on 1 digit, plus 1:16 odds on 30 digits + ideal = N*(1 + 30/16); + } else if (i >= 8 && i <= 11) { + // 8-B: 1:4 odds on 1 digit, plus 1:16 odds on 30 digits + ideal = N*(1/4 + 30/16); + } else { + // Otherwise: 1:16 odds on 30 digits + ideal = N*30/16; + } + var d = divergence(n, ideal); + + // Draw bar using UTF squares (just for grins) + var s = n/max*50 | 0; + while (s--) bar += '='; + + assert(Math.abs(d) < limit, c + ' |' + bar + '| ' + counts[c] + ' (' + d + '% < ' + limit + '%)'); + } + } +} + +// Perf tests +for (var version in generators) { + log('\nPerformance testing ' + version + ' UUIDs'); + var generator = generators[version]; + var buf = new uuid.BufferClass(16); + + for (var i = 0, t = Date.now(); i < N; i++) generator(); + rate('uuid.' + version + '()', t); + + for (var i = 0, t = Date.now(); i < N; i++) generator('binary'); + rate('uuid.' + version + '(\'binary\')', t); + + for (var i = 0, t = Date.now(); i < N; i++) generator('binary', buf); + rate('uuid.' + version + '(\'binary\', buffer)', t); +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/uuid.js b/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/uuid.js new file mode 100644 index 0000000..89c5b8f --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/uuid.js @@ -0,0 +1,272 @@ +// uuid.js +// +// Copyright (c) 2010-2012 Robert Kieffer +// MIT License - http://opensource.org/licenses/mit-license.php + +/*global window, require, define */ +(function(_window) { + 'use strict'; + + // Unique ID creation requires a high quality random # generator. We feature + // detect to determine the best RNG source, normalizing to a function that + // returns 128-bits of randomness, since that's what's usually required + var _rng, _mathRNG, _nodeRNG, _whatwgRNG, _previousRoot; + + function setupBrowser() { + // Allow for MSIE11 msCrypto + var _crypto = _window.crypto || _window.msCrypto; + + if (!_rng && _crypto && _crypto.getRandomValues) { + // WHATWG crypto-based RNG - http://wiki.whatwg.org/wiki/Crypto + // + // Moderately fast, high quality + try { + var _rnds8 = new Uint8Array(16); + _whatwgRNG = _rng = function whatwgRNG() { + _crypto.getRandomValues(_rnds8); + return _rnds8; + }; + _rng(); + } catch(e) {} + } + + if (!_rng) { + // Math.random()-based (RNG) + // + // If all else fails, use Math.random(). It's fast, but is of unspecified + // quality. + var _rnds = new Array(16); + _mathRNG = _rng = function() { + for (var i = 0, r; i < 16; i++) { + if ((i & 0x03) === 0) { r = Math.random() * 0x100000000; } + _rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; + } + + return _rnds; + }; + if ('undefined' !== typeof console && console.warn) { + console.warn("[SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random()"); + } + } + } + + function setupNode() { + // Node.js crypto-based RNG - http://nodejs.org/docs/v0.6.2/api/crypto.html + // + // Moderately fast, high quality + if ('function' === typeof require) { + try { + var _rb = require('crypto').randomBytes; + _nodeRNG = _rng = _rb && function() {return _rb(16);}; + _rng(); + } catch(e) {} + } + } + + if (_window) { + setupBrowser(); + } else { + setupNode(); + } + + // Buffer class to use + var BufferClass = ('function' === typeof Buffer) ? Buffer : Array; + + // Maps for number <-> hex string conversion + var _byteToHex = []; + var _hexToByte = {}; + for (var i = 0; i < 256; i++) { + _byteToHex[i] = (i + 0x100).toString(16).substr(1); + _hexToByte[_byteToHex[i]] = i; + } + + // **`parse()` - Parse a UUID into it's component bytes** + function parse(s, buf, offset) { + var i = (buf && offset) || 0, ii = 0; + + buf = buf || []; + s.toLowerCase().replace(/[0-9a-f]{2}/g, function(oct) { + if (ii < 16) { // Don't overflow! + buf[i + ii++] = _hexToByte[oct]; + } + }); + + // Zero out remaining bytes if string was short + while (ii < 16) { + buf[i + ii++] = 0; + } + + return buf; + } + + // **`unparse()` - Convert UUID byte array (ala parse()) into a string** + function unparse(buf, offset) { + var i = offset || 0, bth = _byteToHex; + return bth[buf[i++]] + bth[buf[i++]] + + bth[buf[i++]] + bth[buf[i++]] + '-' + + bth[buf[i++]] + bth[buf[i++]] + '-' + + bth[buf[i++]] + bth[buf[i++]] + '-' + + bth[buf[i++]] + bth[buf[i++]] + '-' + + bth[buf[i++]] + bth[buf[i++]] + + bth[buf[i++]] + bth[buf[i++]] + + bth[buf[i++]] + bth[buf[i++]]; + } + + // **`v1()` - Generate time-based UUID** + // + // Inspired by https://github.com/LiosK/UUID.js + // and http://docs.python.org/library/uuid.html + + // random #'s we need to init node and clockseq + var _seedBytes = _rng(); + + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + var _nodeId = [ + _seedBytes[0] | 0x01, + _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5] + ]; + + // Per 4.2.2, randomize (14 bit) clockseq + var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 0x3fff; + + // Previous uuid creation time + var _lastMSecs = 0, _lastNSecs = 0; + + // See https://github.com/broofa/node-uuid for API details + function v1(options, buf, offset) { + var i = buf && offset || 0; + var b = buf || []; + + options = options || {}; + + var clockseq = (options.clockseq != null) ? options.clockseq : _clockseq; + + // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + var msecs = (options.msecs != null) ? options.msecs : new Date().getTime(); + + // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + var nsecs = (options.nsecs != null) ? options.nsecs : _lastNSecs + 1; + + // Time since last uuid creation (in msecs) + var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000; + + // Per 4.2.1.2, Bump clockseq on clock regression + if (dt < 0 && options.clockseq == null) { + clockseq = clockseq + 1 & 0x3fff; + } + + // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs == null) { + nsecs = 0; + } + + // Per 4.2.1.2 Throw error if too many uuids are requested + if (nsecs >= 10000) { + throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; + + // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + msecs += 12219292800000; + + // `time_low` + var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; + + // `time_mid` + var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; + + // `time_high_and_version` + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + b[i++] = tmh >>> 16 & 0xff; + + // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + b[i++] = clockseq >>> 8 | 0x80; + + // `clock_seq_low` + b[i++] = clockseq & 0xff; + + // `node` + var node = options.node || _nodeId; + for (var n = 0; n < 6; n++) { + b[i + n] = node[n]; + } + + return buf ? buf : unparse(b); + } + + // **`v4()` - Generate random UUID** + + // See https://github.com/broofa/node-uuid for API details + function v4(options, buf, offset) { + // Deprecated - 'format' argument, as supported in v1.2 + var i = buf && offset || 0; + + if (typeof(options) === 'string') { + buf = (options === 'binary') ? new BufferClass(16) : null; + options = null; + } + options = options || {}; + + var rnds = options.random || (options.rng || _rng)(); + + // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + rnds[6] = (rnds[6] & 0x0f) | 0x40; + rnds[8] = (rnds[8] & 0x3f) | 0x80; + + // Copy bytes to buffer, if provided + if (buf) { + for (var ii = 0; ii < 16; ii++) { + buf[i + ii] = rnds[ii]; + } + } + + return buf || unparse(rnds); + } + + // Export public API + var uuid = v4; + uuid.v1 = v1; + uuid.v4 = v4; + uuid.parse = parse; + uuid.unparse = unparse; + uuid.BufferClass = BufferClass; + uuid._rng = _rng; + uuid._mathRNG = _mathRNG; + uuid._nodeRNG = _nodeRNG; + uuid._whatwgRNG = _whatwgRNG; + + if (('undefined' !== typeof module) && module.exports) { + // Publish as node.js module + module.exports = uuid; + } else if (typeof define === 'function' && define.amd) { + // Publish as AMD module + define(function() {return uuid;}); + + + } else { + // Publish as global (in browsers) + _previousRoot = _window.uuid; + + // **`noConflict()` - (browser only) to reset global 'uuid' var** + uuid.noConflict = function() { + _window.uuid = _previousRoot; + return uuid; + }; + + _window.uuid = uuid; + } +})('undefined' !== typeof window ? window : null); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/v3.js b/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/v3.js new file mode 100644 index 0000000..a27c5b3 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/v3.js @@ -0,0 +1,54 @@ +var rng = require('./lib/rng'); +var bytesToUuid = require('./lib/bytesToUuid'); + +function v3(name, namespaceUuid, buf, offset) { + var i = buf && offset || 0; + + if (typeof(name) != 'string) { + throw TypeError('name must be defined') + } + if (typeof(namespaceUuid) != 'string) { + throw TypeError('name must be defined') + } + + if (typeof(options) == 'string') { + buf = options == 'binary' ? new Array(16) : null; + options = null; + } + options = options || {}; + + var rnds = options.random || (options.rng || rng)(); + + // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + rnds[6] = (rnds[6] & 0x0f) | 0x40; + rnds[8] = (rnds[8] & 0x3f) | 0x80; + + // Copy bytes to buffer, if provided + if (buf) { + for (var ii = 0; ii < 16; ++ii) { + buf[i + ii] = rnds[ii]; + } + } + + return buf || bytesToUuid(rnds); +} + +exports.namespace = function(uuid) { + // Parse namespace uuid + var namespaceBytes = (uuid).match(/([0-9a-f][0-9a-f])/gi).map(function(s) { + return parseInt(s, 16); + }); + + return function(name) { + var bytes = [].concat(namespaceBytes); + + var utf8String = unescape(encodeURIComponent(s)) + for (var i = 0; i < utf8String.length; i++) { + bytes.push(utf8String.charCodeAt(i)); + } + + var hash = md5(bytes); + } +} + +module.exports = v4; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/LICENSE new file mode 100644 index 0000000..a4a9aee --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/LICENSE @@ -0,0 +1,55 @@ +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/README.md new file mode 100644 index 0000000..34c4a85 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/README.md @@ -0,0 +1,4 @@ +oauth-sign +========== + +OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/index.js new file mode 100644 index 0000000..63b418c --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/index.js @@ -0,0 +1,131 @@ +var crypto = require('crypto') + , qs = require('querystring') + ; + +function sha1 (key, body) { + return crypto.createHmac('sha1', key).update(body).digest('base64') +} + +function rsa (key, body) { + return crypto.createSign("RSA-SHA1").update(body).sign(key, 'base64'); +} + +function rfc3986 (str) { + return encodeURIComponent(str) + .replace(/!/g,'%21') + .replace(/\*/g,'%2A') + .replace(/\(/g,'%28') + .replace(/\)/g,'%29') + .replace(/'/g,'%27') + ; +} + +// Maps object to bi-dimensional array +// Converts { foo: 'A', bar: [ 'b', 'B' ]} to +// [ ['foo', 'A'], ['bar', 'b'], ['bar', 'B'] ] +function map (obj) { + var key, val, arr = [] + for (key in obj) { + val = obj[key] + if (Array.isArray(val)) + for (var i = 0; i < val.length; i++) + arr.push([key, val[i]]) + else + arr.push([key, val]) + } + return arr +} + +// Compare function for sort +function compare (a, b) { + return a > b ? 1 : a < b ? -1 : 0 +} + +function generateBase (httpMethod, base_uri, params) { + // adapted from https://dev.twitter.com/docs/auth/oauth and + // https://dev.twitter.com/docs/auth/creating-signature + + // Parameter normalization + // http://tools.ietf.org/html/rfc5849#section-3.4.1.3.2 + var normalized = map(params) + // 1. First, the name and value of each parameter are encoded + .map(function (p) { + return [ rfc3986(p[0]), rfc3986(p[1] || '') ] + }) + // 2. The parameters are sorted by name, using ascending byte value + // ordering. If two or more parameters share the same name, they + // are sorted by their value. + .sort(function (a, b) { + return compare(a[0], b[0]) || compare(a[1], b[1]) + }) + // 3. The name of each parameter is concatenated to its corresponding + // value using an "=" character (ASCII code 61) as a separator, even + // if the value is empty. + .map(function (p) { return p.join('=') }) + // 4. The sorted name/value pairs are concatenated together into a + // single string by using an "&" character (ASCII code 38) as + // separator. + .join('&') + + var base = [ + rfc3986(httpMethod ? httpMethod.toUpperCase() : 'GET'), + rfc3986(base_uri), + rfc3986(normalized) + ].join('&') + + return base +} + +function hmacsign (httpMethod, base_uri, params, consumer_secret, token_secret) { + var base = generateBase(httpMethod, base_uri, params) + var key = [ + consumer_secret || '', + token_secret || '' + ].map(rfc3986).join('&') + + return sha1(key, base) +} + +function rsasign (httpMethod, base_uri, params, private_key, token_secret) { + var base = generateBase(httpMethod, base_uri, params) + var key = private_key || '' + + return rsa(key, base) +} + +function plaintext (consumer_secret, token_secret) { + var key = [ + consumer_secret || '', + token_secret || '' + ].map(rfc3986).join('&') + + return key +} + +function sign (signMethod, httpMethod, base_uri, params, consumer_secret, token_secret) { + var method + var skipArgs = 1 + + switch (signMethod) { + case 'RSA-SHA1': + method = rsasign + break + case 'HMAC-SHA1': + method = hmacsign + break + case 'PLAINTEXT': + method = plaintext + skipArgs = 4 + break + default: + throw new Error("Signature method not supported: " + signMethod) + } + + return method.apply(null, [].slice.call(arguments, skipArgs)) +} + +exports.hmacsign = hmacsign +exports.rsasign = rsasign +exports.plaintext = plaintext +exports.sign = sign +exports.rfc3986 = rfc3986 diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/package.json new file mode 100644 index 0000000..c4d17bd --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/package.json @@ -0,0 +1,52 @@ +{ + "_from": "oauth-sign@~0.6.0", + "_id": "oauth-sign@0.6.0", + "_inBundle": false, + "_integrity": "sha1-fb6uRPbKRU4fFoRR1jB0ZzWBPOM=", + "_location": "/oauth-sign", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "oauth-sign@~0.6.0", + "name": "oauth-sign", + "escapedName": "oauth-sign", + "rawSpec": "~0.6.0", + "saveSpec": null, + "fetchSpec": "~0.6.0" + }, + "_requiredBy": [ + "/request" + ], + "_resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz", + "_shasum": "7dbeae44f6ca454e1f168451d630746735813ce3", + "_spec": "oauth-sign@~0.6.0", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", + "author": { + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com", + "url": "http://www.futurealoof.com" + }, + "bugs": { + "url": "https://github.com/mikeal/oauth-sign/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.", + "devDependencies": {}, + "engines": { + "node": "*" + }, + "homepage": "https://github.com/mikeal/oauth-sign#readme", + "main": "index.js", + "name": "oauth-sign", + "optionalDependencies": {}, + "repository": { + "url": "git+https://github.com/mikeal/oauth-sign.git" + }, + "scripts": { + "test": "node test.js" + }, + "version": "0.6.0" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/test.js new file mode 100644 index 0000000..aea800b --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/test.js @@ -0,0 +1,74 @@ +var oauth = require('./index') + , hmacsign = oauth.hmacsign + , assert = require('assert') + , qs = require('querystring') + ; + +// Tests from Twitter documentation https://dev.twitter.com/docs/auth/oauth + +var reqsign = hmacsign('POST', 'https://api.twitter.com/oauth/request_token', + { oauth_callback: 'http://localhost:3005/the_dance/process_callback?service_provider_id=11' + , oauth_consumer_key: 'GDdmIQH6jhtmLUypg82g' + , oauth_nonce: 'QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk' + , oauth_signature_method: 'HMAC-SHA1' + , oauth_timestamp: '1272323042' + , oauth_version: '1.0' + }, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98") + +console.log(reqsign) +console.log('8wUi7m5HFQy76nowoCThusfgB+Q=') +assert.equal(reqsign, '8wUi7m5HFQy76nowoCThusfgB+Q=') + +var accsign = hmacsign('POST', 'https://api.twitter.com/oauth/access_token', + { oauth_consumer_key: 'GDdmIQH6jhtmLUypg82g' + , oauth_nonce: '9zWH6qe0qG7Lc1telCn7FhUbLyVdjEaL3MO5uHxn8' + , oauth_signature_method: 'HMAC-SHA1' + , oauth_token: '8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc' + , oauth_timestamp: '1272323047' + , oauth_verifier: 'pDNg57prOHapMbhv25RNf75lVRd6JDsni1AJJIDYoTY' + , oauth_version: '1.0' + }, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98", "x6qpRnlEmW9JbQn4PQVVeVG8ZLPEx6A0TOebgwcuA") + +console.log(accsign) +console.log('PUw/dHA4fnlJYM6RhXk5IU/0fCc=') +assert.equal(accsign, 'PUw/dHA4fnlJYM6RhXk5IU/0fCc=') + +var upsign = hmacsign('POST', 'http://api.twitter.com/1/statuses/update.json', + { oauth_consumer_key: "GDdmIQH6jhtmLUypg82g" + , oauth_nonce: "oElnnMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7Q6Y" + , oauth_signature_method: "HMAC-SHA1" + , oauth_token: "819797-Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw" + , oauth_timestamp: "1272325550" + , oauth_version: "1.0" + , status: 'setting up my twitter ç§ã®ã•ãˆãšã‚Šã‚’設定ã™ã‚‹' + }, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98", "J6zix3FfA9LofH0awS24M3HcBYXO5nI1iYe8EfBA") + +console.log(upsign) +console.log('yOahq5m0YjDDjfjxHaXEsW9D+X0=') +assert.equal(upsign, 'yOahq5m0YjDDjfjxHaXEsW9D+X0=') + +// example in rfc5849 +var params = qs.parse('b5=%3D%253D&a3=a&c%40=&a2=r%20b' + '&' + 'c2&a3=2+q') +params.oauth_consumer_key = '9djdj82h48djs9d2' +params.oauth_token = 'kkk9d7dh3k39sjv7' +params.oauth_nonce = '7d8f3e4a' +params.oauth_signature_method = 'HMAC-SHA1' +params.oauth_timestamp = '137131201' + +var rfc5849sign = hmacsign('POST', 'http://example.com/request', + params, "j49sk3j29djd", "dh893hdasih9") + +console.log(rfc5849sign) +console.log('r6/TJjbCOr97/+UU0NsvSne7s5g=') +assert.equal(rfc5849sign, 'r6/TJjbCOr97/+UU0NsvSne7s5g=') + + +// PLAINTEXT + +var plainSign = oauth.sign('PLAINTEXT', 'GET', 'http://dummy.com', {}, 'consumer_secret', 'token_secret') +console.log(plainSign) +assert.equal(plainSign, 'consumer_secret&token_secret') + +plainSign = oauth.plaintext('consumer_secret', 'token_secret') +console.log(plainSign) +assert.equal(plainSign, 'consumer_secret&token_secret') diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/LICENSE new file mode 100644 index 0000000..78d792e --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/LICENSE @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright (c) 2017 Lupo Montero lupomontero@gmail.com + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/README.md new file mode 100644 index 0000000..e876c3d --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/README.md @@ -0,0 +1,215 @@ +# psl (Public Suffix List) + +[![NPM](https://nodei.co/npm/psl.png?downloads=true&downloadRank=true)](https://nodei.co/npm/psl/) + +[![Greenkeeper badge](https://badges.greenkeeper.io/lupomontero/psl.svg)](https://greenkeeper.io/) +[![Build Status](https://travis-ci.org/lupomontero/psl.svg?branch=master)](https://travis-ci.org/lupomontero/psl) +[![devDependency Status](https://david-dm.org/lupomontero/psl/dev-status.png)](https://david-dm.org/lupomontero/psl#info=devDependencies) + +`psl` is a `JavaScript` domain name parser based on the +[Public Suffix List](https://publicsuffix.org/). + +This implementation is tested against the +[test data hosted by Mozilla](http://mxr.mozilla.org/mozilla-central/source/netwerk/test/unit/data/test_psl.txt?raw=1) +and kindly provided by [Comodo](https://www.comodo.com/). + +Cross browser testing provided by +[BrowserStack](https://www.browserstack.com/) + +## What is the Public Suffix List? + +The Public Suffix List is a cross-vendor initiative to provide an accurate list +of domain name suffixes. + +The Public Suffix List is an initiative of the Mozilla Project, but is +maintained as a community resource. It is available for use in any software, +but was originally created to meet the needs of browser manufacturers. + +A "public suffix" is one under which Internet users can directly register names. +Some examples of public suffixes are ".com", ".co.uk" and "pvt.k12.wy.us". The +Public Suffix List is a list of all known public suffixes. + +Source: http://publicsuffix.org + + +## Installation + +### Node.js + +```sh +npm install --save psl +``` + +### Browser + +Download [psl.min.js](https://raw.githubusercontent.com/lupomontero/psl/master/dist/psl.min.js) +and include it in a script tag. + +```html + +``` + +This script is browserified and wrapped in a [umd](https://github.com/umdjs/umd) +wrapper so you should be able to use it standalone or together with a module +loader. + +## API + +### `psl.parse(domain)` + +Parse domain based on Public Suffix List. Returns an `Object` with the following +properties: + +* `tld`: Top level domain (this is the _public suffix_). +* `sld`: Second level domain (the first private part of the domain name). +* `domain`: The domain name is the `sld` + `tld`. +* `subdomain`: Optional parts left of the domain. + +#### Example: + +```js +var psl = require('psl'); + +// Parse domain without subdomain +var parsed = psl.parse('google.com'); +console.log(parsed.tld); // 'com' +console.log(parsed.sld); // 'google' +console.log(parsed.domain); // 'google.com' +console.log(parsed.subdomain); // null + +// Parse domain with subdomain +var parsed = psl.parse('www.google.com'); +console.log(parsed.tld); // 'com' +console.log(parsed.sld); // 'google' +console.log(parsed.domain); // 'google.com' +console.log(parsed.subdomain); // 'www' + +// Parse domain with nested subdomains +var parsed = psl.parse('a.b.c.d.foo.com'); +console.log(parsed.tld); // 'com' +console.log(parsed.sld); // 'foo' +console.log(parsed.domain); // 'foo.com' +console.log(parsed.subdomain); // 'a.b.c.d' +``` + +### `psl.get(domain)` + +Get domain name, `sld` + `tld`. Returns `null` if not valid. + +#### Example: + +```js +var psl = require('psl'); + +// null input. +psl.get(null); // null + +// Mixed case. +psl.get('COM'); // null +psl.get('example.COM'); // 'example.com' +psl.get('WwW.example.COM'); // 'example.com' + +// Unlisted TLD. +psl.get('example'); // null +psl.get('example.example'); // 'example.example' +psl.get('b.example.example'); // 'example.example' +psl.get('a.b.example.example'); // 'example.example' + +// TLD with only 1 rule. +psl.get('biz'); // null +psl.get('domain.biz'); // 'domain.biz' +psl.get('b.domain.biz'); // 'domain.biz' +psl.get('a.b.domain.biz'); // 'domain.biz' + +// TLD with some 2-level rules. +psl.get('uk.com'); // null); +psl.get('example.uk.com'); // 'example.uk.com'); +psl.get('b.example.uk.com'); // 'example.uk.com'); + +// More complex TLD. +psl.get('c.kobe.jp'); // null +psl.get('b.c.kobe.jp'); // 'b.c.kobe.jp' +psl.get('a.b.c.kobe.jp'); // 'b.c.kobe.jp' +psl.get('city.kobe.jp'); // 'city.kobe.jp' +psl.get('www.city.kobe.jp'); // 'city.kobe.jp' + +// IDN labels. +psl.get('食狮.com.cn'); // '食狮.com.cn' +psl.get('食狮.å…¬å¸.cn'); // '食狮.å…¬å¸.cn' +psl.get('www.食狮.å…¬å¸.cn'); // '食狮.å…¬å¸.cn' + +// Same as above, but punycoded. +psl.get('xn--85x722f.com.cn'); // 'xn--85x722f.com.cn' +psl.get('xn--85x722f.xn--55qx5d.cn'); // 'xn--85x722f.xn--55qx5d.cn' +psl.get('www.xn--85x722f.xn--55qx5d.cn'); // 'xn--85x722f.xn--55qx5d.cn' +``` + +### `psl.isValid(domain)` + +Check whether a domain has a valid Public Suffix. Returns a `Boolean` indicating +whether the domain has a valid Public Suffix. + +#### Example + +```js +var psl = require('psl'); + +psl.isValid('google.com'); // true +psl.isValid('www.google.com'); // true +psl.isValid('x.yz'); // false +``` + + +## Testing and Building + +Test are written using [`mocha`](https://mochajs.org/) and can be +run in two different environments: `node` and `phantomjs`. + +```sh +# This will run `eslint`, `mocha` and `karma`. +npm test + +# Individual test environments +# Run tests in node only. +./node_modules/.bin/mocha test +# Run tests in phantomjs only. +./node_modules/.bin/karma start ./karma.conf.js --single-run + +# Build data (parse raw list) and create dist files +npm run build +``` + +Feel free to fork if you see possible improvements! + + +## Acknowledgements + +* Mozilla Foundation's [Public Suffix List](https://publicsuffix.org/) +* Thanks to Rob Stradling of [Comodo](https://www.comodo.com/) for providing + test data. +* Inspired by [weppos/publicsuffix-ruby](https://github.com/weppos/publicsuffix-ruby) + + +## License + +The MIT License (MIT) + +Copyright (c) 2017 Lupo Montero + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/browserstack-logo.svg b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/browserstack-logo.svg new file mode 100644 index 0000000..195f64d --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/browserstack-logo.svg @@ -0,0 +1,90 @@ + + + + +Browserstack-logo-white + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/data/rules.json b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/data/rules.json new file mode 100644 index 0000000..774ea0e --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/data/rules.json @@ -0,0 +1,8807 @@ +[ +"ac", +"com.ac", +"edu.ac", +"gov.ac", +"net.ac", +"mil.ac", +"org.ac", +"ad", +"nom.ad", +"ae", +"co.ae", +"net.ae", +"org.ae", +"sch.ae", +"ac.ae", +"gov.ae", +"mil.ae", +"aero", +"accident-investigation.aero", +"accident-prevention.aero", +"aerobatic.aero", +"aeroclub.aero", +"aerodrome.aero", +"agents.aero", +"aircraft.aero", +"airline.aero", +"airport.aero", +"air-surveillance.aero", +"airtraffic.aero", +"air-traffic-control.aero", +"ambulance.aero", +"amusement.aero", +"association.aero", +"author.aero", +"ballooning.aero", +"broker.aero", +"caa.aero", +"cargo.aero", +"catering.aero", +"certification.aero", +"championship.aero", +"charter.aero", +"civilaviation.aero", +"club.aero", +"conference.aero", +"consultant.aero", +"consulting.aero", +"control.aero", +"council.aero", +"crew.aero", +"design.aero", +"dgca.aero", +"educator.aero", +"emergency.aero", +"engine.aero", +"engineer.aero", +"entertainment.aero", +"equipment.aero", +"exchange.aero", +"express.aero", +"federation.aero", +"flight.aero", +"freight.aero", +"fuel.aero", +"gliding.aero", +"government.aero", +"groundhandling.aero", +"group.aero", +"hanggliding.aero", +"homebuilt.aero", +"insurance.aero", +"journal.aero", +"journalist.aero", +"leasing.aero", +"logistics.aero", +"magazine.aero", +"maintenance.aero", +"media.aero", +"microlight.aero", +"modelling.aero", +"navigation.aero", +"parachuting.aero", +"paragliding.aero", +"passenger-association.aero", +"pilot.aero", +"press.aero", +"production.aero", +"recreation.aero", +"repbody.aero", +"res.aero", +"research.aero", +"rotorcraft.aero", +"safety.aero", +"scientist.aero", +"services.aero", +"show.aero", +"skydiving.aero", +"software.aero", +"student.aero", +"trader.aero", +"trading.aero", +"trainer.aero", +"union.aero", +"workinggroup.aero", +"works.aero", +"af", +"gov.af", +"com.af", +"org.af", +"net.af", +"edu.af", +"ag", +"com.ag", +"org.ag", +"net.ag", +"co.ag", +"nom.ag", +"ai", +"off.ai", +"com.ai", +"net.ai", +"org.ai", +"al", +"com.al", +"edu.al", +"gov.al", +"mil.al", +"net.al", +"org.al", +"am", +"co.am", +"com.am", +"commune.am", +"net.am", +"org.am", +"ao", +"ed.ao", +"gv.ao", +"og.ao", +"co.ao", +"pb.ao", +"it.ao", +"aq", +"ar", +"com.ar", +"edu.ar", +"gob.ar", +"gov.ar", +"int.ar", +"mil.ar", +"musica.ar", +"net.ar", +"org.ar", +"tur.ar", +"arpa", +"e164.arpa", +"in-addr.arpa", +"ip6.arpa", +"iris.arpa", +"uri.arpa", +"urn.arpa", +"as", +"gov.as", +"asia", +"at", +"ac.at", +"co.at", +"gv.at", +"or.at", +"au", +"com.au", +"net.au", +"org.au", +"edu.au", +"gov.au", +"asn.au", +"id.au", +"info.au", +"conf.au", +"oz.au", +"act.au", +"nsw.au", +"nt.au", +"qld.au", +"sa.au", +"tas.au", +"vic.au", +"wa.au", +"act.edu.au", +"catholic.edu.au", +"eq.edu.au", +"nsw.edu.au", +"nt.edu.au", +"qld.edu.au", +"sa.edu.au", +"tas.edu.au", +"vic.edu.au", +"wa.edu.au", +"qld.gov.au", +"sa.gov.au", +"tas.gov.au", +"vic.gov.au", +"wa.gov.au", +"education.tas.edu.au", +"schools.nsw.edu.au", +"aw", +"com.aw", +"ax", +"az", +"com.az", +"net.az", +"int.az", +"gov.az", +"org.az", +"edu.az", +"info.az", +"pp.az", +"mil.az", +"name.az", +"pro.az", +"biz.az", +"ba", +"com.ba", +"edu.ba", +"gov.ba", +"mil.ba", +"net.ba", +"org.ba", +"bb", +"biz.bb", +"co.bb", +"com.bb", +"edu.bb", +"gov.bb", +"info.bb", +"net.bb", +"org.bb", +"store.bb", +"tv.bb", +"*.bd", +"be", +"ac.be", +"bf", +"gov.bf", +"bg", +"a.bg", +"b.bg", +"c.bg", +"d.bg", +"e.bg", +"f.bg", +"g.bg", +"h.bg", +"i.bg", +"j.bg", +"k.bg", +"l.bg", +"m.bg", +"n.bg", +"o.bg", +"p.bg", +"q.bg", +"r.bg", +"s.bg", +"t.bg", +"u.bg", +"v.bg", +"w.bg", +"x.bg", +"y.bg", +"z.bg", +"0.bg", +"1.bg", +"2.bg", +"3.bg", +"4.bg", +"5.bg", +"6.bg", +"7.bg", +"8.bg", +"9.bg", +"bh", +"com.bh", +"edu.bh", +"net.bh", +"org.bh", +"gov.bh", +"bi", +"co.bi", +"com.bi", +"edu.bi", +"or.bi", +"org.bi", +"biz", +"bj", +"asso.bj", +"barreau.bj", +"gouv.bj", +"bm", +"com.bm", +"edu.bm", +"gov.bm", +"net.bm", +"org.bm", +"bn", +"com.bn", +"edu.bn", +"gov.bn", +"net.bn", +"org.bn", +"bo", +"com.bo", +"edu.bo", +"gob.bo", +"int.bo", +"org.bo", +"net.bo", +"mil.bo", +"tv.bo", +"web.bo", +"academia.bo", +"agro.bo", +"arte.bo", +"blog.bo", +"bolivia.bo", +"ciencia.bo", +"cooperativa.bo", +"democracia.bo", +"deporte.bo", +"ecologia.bo", +"economia.bo", +"empresa.bo", +"indigena.bo", +"industria.bo", +"info.bo", +"medicina.bo", +"movimiento.bo", +"musica.bo", +"natural.bo", +"nombre.bo", +"noticias.bo", +"patria.bo", +"politica.bo", +"profesional.bo", +"plurinacional.bo", +"pueblo.bo", +"revista.bo", +"salud.bo", +"tecnologia.bo", +"tksat.bo", +"transporte.bo", +"wiki.bo", +"br", +"9guacu.br", +"abc.br", +"adm.br", +"adv.br", +"agr.br", +"aju.br", +"am.br", +"anani.br", +"aparecida.br", +"arq.br", +"art.br", +"ato.br", +"b.br", +"barueri.br", +"belem.br", +"bhz.br", +"bio.br", +"blog.br", +"bmd.br", +"boavista.br", +"bsb.br", +"campinagrande.br", +"campinas.br", +"caxias.br", +"cim.br", +"cng.br", +"cnt.br", +"com.br", +"contagem.br", +"coop.br", +"cri.br", +"cuiaba.br", +"curitiba.br", +"def.br", +"ecn.br", +"eco.br", +"edu.br", +"emp.br", +"eng.br", +"esp.br", +"etc.br", +"eti.br", +"far.br", +"feira.br", +"flog.br", +"floripa.br", +"fm.br", +"fnd.br", +"fortal.br", +"fot.br", +"foz.br", +"fst.br", +"g12.br", +"ggf.br", +"goiania.br", +"gov.br", +"ac.gov.br", +"al.gov.br", +"am.gov.br", +"ap.gov.br", +"ba.gov.br", +"ce.gov.br", +"df.gov.br", +"es.gov.br", +"go.gov.br", +"ma.gov.br", +"mg.gov.br", +"ms.gov.br", +"mt.gov.br", +"pa.gov.br", +"pb.gov.br", +"pe.gov.br", +"pi.gov.br", +"pr.gov.br", +"rj.gov.br", +"rn.gov.br", +"ro.gov.br", +"rr.gov.br", +"rs.gov.br", +"sc.gov.br", +"se.gov.br", +"sp.gov.br", +"to.gov.br", +"gru.br", +"imb.br", +"ind.br", +"inf.br", +"jab.br", +"jampa.br", +"jdf.br", +"joinville.br", +"jor.br", +"jus.br", +"leg.br", +"lel.br", +"londrina.br", +"macapa.br", +"maceio.br", +"manaus.br", +"maringa.br", +"mat.br", +"med.br", +"mil.br", +"morena.br", +"mp.br", +"mus.br", +"natal.br", +"net.br", +"niteroi.br", +"*.nom.br", +"not.br", +"ntr.br", +"odo.br", +"ong.br", +"org.br", +"osasco.br", +"palmas.br", +"poa.br", +"ppg.br", +"pro.br", +"psc.br", +"psi.br", +"pvh.br", +"qsl.br", +"radio.br", +"rec.br", +"recife.br", +"ribeirao.br", +"rio.br", +"riobranco.br", +"riopreto.br", +"salvador.br", +"sampa.br", +"santamaria.br", +"santoandre.br", +"saobernardo.br", +"saogonca.br", +"sjc.br", +"slg.br", +"slz.br", +"sorocaba.br", +"srv.br", +"taxi.br", +"tc.br", +"teo.br", +"the.br", +"tmp.br", +"trd.br", +"tur.br", +"tv.br", +"udi.br", +"vet.br", +"vix.br", +"vlog.br", +"wiki.br", +"zlg.br", +"bs", +"com.bs", +"net.bs", +"org.bs", +"edu.bs", +"gov.bs", +"bt", +"com.bt", +"edu.bt", +"gov.bt", +"net.bt", +"org.bt", +"bv", +"bw", +"co.bw", +"org.bw", +"by", +"gov.by", +"mil.by", +"com.by", +"of.by", +"bz", +"com.bz", +"net.bz", +"org.bz", +"edu.bz", +"gov.bz", +"ca", +"ab.ca", +"bc.ca", +"mb.ca", +"nb.ca", +"nf.ca", +"nl.ca", +"ns.ca", +"nt.ca", +"nu.ca", +"on.ca", +"pe.ca", +"qc.ca", +"sk.ca", +"yk.ca", +"gc.ca", +"cat", +"cc", +"cd", +"gov.cd", +"cf", +"cg", +"ch", +"ci", +"org.ci", +"or.ci", +"com.ci", +"co.ci", +"edu.ci", +"ed.ci", +"ac.ci", +"net.ci", +"go.ci", +"asso.ci", +"aéroport.ci", +"int.ci", +"presse.ci", +"md.ci", +"gouv.ci", +"*.ck", +"!www.ck", +"cl", +"gov.cl", +"gob.cl", +"co.cl", +"mil.cl", +"cm", +"co.cm", +"com.cm", +"gov.cm", +"net.cm", +"cn", +"ac.cn", +"com.cn", +"edu.cn", +"gov.cn", +"net.cn", +"org.cn", +"mil.cn", +"å…¬å¸.cn", +"网络.cn", +"網絡.cn", +"ah.cn", +"bj.cn", +"cq.cn", +"fj.cn", +"gd.cn", +"gs.cn", +"gz.cn", +"gx.cn", +"ha.cn", +"hb.cn", +"he.cn", +"hi.cn", +"hl.cn", +"hn.cn", +"jl.cn", +"js.cn", +"jx.cn", +"ln.cn", +"nm.cn", +"nx.cn", +"qh.cn", +"sc.cn", +"sd.cn", +"sh.cn", +"sn.cn", +"sx.cn", +"tj.cn", +"xj.cn", +"xz.cn", +"yn.cn", +"zj.cn", +"hk.cn", +"mo.cn", +"tw.cn", +"co", +"arts.co", +"com.co", +"edu.co", +"firm.co", +"gov.co", +"info.co", +"int.co", +"mil.co", +"net.co", +"nom.co", +"org.co", +"rec.co", +"web.co", +"com", +"coop", +"cr", +"ac.cr", +"co.cr", +"ed.cr", +"fi.cr", +"go.cr", +"or.cr", +"sa.cr", +"cu", +"com.cu", +"edu.cu", +"org.cu", +"net.cu", +"gov.cu", +"inf.cu", +"cv", +"cw", +"com.cw", +"edu.cw", +"net.cw", +"org.cw", +"cx", +"gov.cx", +"cy", +"ac.cy", +"biz.cy", +"com.cy", +"ekloges.cy", +"gov.cy", +"ltd.cy", +"name.cy", +"net.cy", +"org.cy", +"parliament.cy", +"press.cy", +"pro.cy", +"tm.cy", +"cz", +"de", +"dj", +"dk", +"dm", +"com.dm", +"net.dm", +"org.dm", +"edu.dm", +"gov.dm", +"do", +"art.do", +"com.do", +"edu.do", +"gob.do", +"gov.do", +"mil.do", +"net.do", +"org.do", +"sld.do", +"web.do", +"dz", +"com.dz", +"org.dz", +"net.dz", +"gov.dz", +"edu.dz", +"asso.dz", +"pol.dz", +"art.dz", +"ec", +"com.ec", +"info.ec", +"net.ec", +"fin.ec", +"k12.ec", +"med.ec", +"pro.ec", +"org.ec", +"edu.ec", +"gov.ec", +"gob.ec", +"mil.ec", +"edu", +"ee", +"edu.ee", +"gov.ee", +"riik.ee", +"lib.ee", +"med.ee", +"com.ee", +"pri.ee", +"aip.ee", +"org.ee", +"fie.ee", +"eg", +"com.eg", +"edu.eg", +"eun.eg", +"gov.eg", +"mil.eg", +"name.eg", +"net.eg", +"org.eg", +"sci.eg", +"*.er", +"es", +"com.es", +"nom.es", +"org.es", +"gob.es", +"edu.es", +"et", +"com.et", +"gov.et", +"org.et", +"edu.et", +"biz.et", +"name.et", +"info.et", +"net.et", +"eu", +"fi", +"aland.fi", +"*.fj", +"*.fk", +"fm", +"fo", +"fr", +"asso.fr", +"com.fr", +"gouv.fr", +"nom.fr", +"prd.fr", +"tm.fr", +"aeroport.fr", +"avocat.fr", +"avoues.fr", +"cci.fr", +"chambagri.fr", +"chirurgiens-dentistes.fr", +"experts-comptables.fr", +"geometre-expert.fr", +"greta.fr", +"huissier-justice.fr", +"medecin.fr", +"notaires.fr", +"pharmacien.fr", +"port.fr", +"veterinaire.fr", +"ga", +"gb", +"gd", +"ge", +"com.ge", +"edu.ge", +"gov.ge", +"org.ge", +"mil.ge", +"net.ge", +"pvt.ge", +"gf", +"gg", +"co.gg", +"net.gg", +"org.gg", +"gh", +"com.gh", +"edu.gh", +"gov.gh", +"org.gh", +"mil.gh", +"gi", +"com.gi", +"ltd.gi", +"gov.gi", +"mod.gi", +"edu.gi", +"org.gi", +"gl", +"co.gl", +"com.gl", +"edu.gl", +"net.gl", +"org.gl", +"gm", +"gn", +"ac.gn", +"com.gn", +"edu.gn", +"gov.gn", +"org.gn", +"net.gn", +"gov", +"gp", +"com.gp", +"net.gp", +"mobi.gp", +"edu.gp", +"org.gp", +"asso.gp", +"gq", +"gr", +"com.gr", +"edu.gr", +"net.gr", +"org.gr", +"gov.gr", +"gs", +"gt", +"com.gt", +"edu.gt", +"gob.gt", +"ind.gt", +"mil.gt", +"net.gt", +"org.gt", +"gu", +"com.gu", +"edu.gu", +"gov.gu", +"guam.gu", +"info.gu", +"net.gu", +"org.gu", +"web.gu", +"gw", +"gy", +"co.gy", +"com.gy", +"edu.gy", +"gov.gy", +"net.gy", +"org.gy", +"hk", +"com.hk", +"edu.hk", +"gov.hk", +"idv.hk", +"net.hk", +"org.hk", +"å…¬å¸.hk", +"教育.hk", +"敎育.hk", +"政府.hk", +"個人.hk", +"个人.hk", +"箇人.hk", +"網络.hk", +"网络.hk", +"组織.hk", +"網絡.hk", +"网絡.hk", +"组织.hk", +"組織.hk", +"組织.hk", +"hm", +"hn", +"com.hn", +"edu.hn", +"org.hn", +"net.hn", +"mil.hn", +"gob.hn", +"hr", +"iz.hr", +"from.hr", +"name.hr", +"com.hr", +"ht", +"com.ht", +"shop.ht", +"firm.ht", +"info.ht", +"adult.ht", +"net.ht", +"pro.ht", +"org.ht", +"med.ht", +"art.ht", +"coop.ht", +"pol.ht", +"asso.ht", +"edu.ht", +"rel.ht", +"gouv.ht", +"perso.ht", +"hu", +"co.hu", +"info.hu", +"org.hu", +"priv.hu", +"sport.hu", +"tm.hu", +"2000.hu", +"agrar.hu", +"bolt.hu", +"casino.hu", +"city.hu", +"erotica.hu", +"erotika.hu", +"film.hu", +"forum.hu", +"games.hu", +"hotel.hu", +"ingatlan.hu", +"jogasz.hu", +"konyvelo.hu", +"lakas.hu", +"media.hu", +"news.hu", +"reklam.hu", +"sex.hu", +"shop.hu", +"suli.hu", +"szex.hu", +"tozsde.hu", +"utazas.hu", +"video.hu", +"id", +"ac.id", +"biz.id", +"co.id", +"desa.id", +"go.id", +"mil.id", +"my.id", +"net.id", +"or.id", +"ponpes.id", +"sch.id", +"web.id", +"ie", +"gov.ie", +"il", +"ac.il", +"co.il", +"gov.il", +"idf.il", +"k12.il", +"muni.il", +"net.il", +"org.il", +"im", +"ac.im", +"co.im", +"com.im", +"ltd.co.im", +"net.im", +"org.im", +"plc.co.im", +"tt.im", +"tv.im", +"in", +"co.in", +"firm.in", +"net.in", +"org.in", +"gen.in", +"ind.in", +"nic.in", +"ac.in", +"edu.in", +"res.in", +"gov.in", +"mil.in", +"info", +"int", +"eu.int", +"io", +"com.io", +"iq", +"gov.iq", +"edu.iq", +"mil.iq", +"com.iq", +"org.iq", +"net.iq", +"ir", +"ac.ir", +"co.ir", +"gov.ir", +"id.ir", +"net.ir", +"org.ir", +"sch.ir", +"ایران.ir", +"ايران.ir", +"is", +"net.is", +"com.is", +"edu.is", +"gov.is", +"org.is", +"int.is", +"it", +"gov.it", +"edu.it", +"abr.it", +"abruzzo.it", +"aosta-valley.it", +"aostavalley.it", +"bas.it", +"basilicata.it", +"cal.it", +"calabria.it", +"cam.it", +"campania.it", +"emilia-romagna.it", +"emiliaromagna.it", +"emr.it", +"friuli-v-giulia.it", +"friuli-ve-giulia.it", +"friuli-vegiulia.it", +"friuli-venezia-giulia.it", +"friuli-veneziagiulia.it", +"friuli-vgiulia.it", +"friuliv-giulia.it", +"friulive-giulia.it", +"friulivegiulia.it", +"friulivenezia-giulia.it", +"friuliveneziagiulia.it", +"friulivgiulia.it", +"fvg.it", +"laz.it", +"lazio.it", +"lig.it", +"liguria.it", +"lom.it", +"lombardia.it", +"lombardy.it", +"lucania.it", +"mar.it", +"marche.it", +"mol.it", +"molise.it", +"piedmont.it", +"piemonte.it", +"pmn.it", +"pug.it", +"puglia.it", +"sar.it", +"sardegna.it", +"sardinia.it", +"sic.it", +"sicilia.it", +"sicily.it", +"taa.it", +"tos.it", +"toscana.it", +"trentin-sud-tirol.it", +"trentin-süd-tirol.it", +"trentin-sudtirol.it", +"trentin-südtirol.it", +"trentin-sued-tirol.it", +"trentin-suedtirol.it", +"trentino-a-adige.it", +"trentino-aadige.it", +"trentino-alto-adige.it", +"trentino-altoadige.it", +"trentino-s-tirol.it", +"trentino-stirol.it", +"trentino-sud-tirol.it", +"trentino-süd-tirol.it", +"trentino-sudtirol.it", +"trentino-südtirol.it", +"trentino-sued-tirol.it", +"trentino-suedtirol.it", +"trentino.it", +"trentinoa-adige.it", +"trentinoaadige.it", +"trentinoalto-adige.it", +"trentinoaltoadige.it", +"trentinos-tirol.it", +"trentinostirol.it", +"trentinosud-tirol.it", +"trentinosüd-tirol.it", +"trentinosudtirol.it", +"trentinosüdtirol.it", +"trentinosued-tirol.it", +"trentinosuedtirol.it", +"trentinsud-tirol.it", +"trentinsüd-tirol.it", +"trentinsudtirol.it", +"trentinsüdtirol.it", +"trentinsued-tirol.it", +"trentinsuedtirol.it", +"tuscany.it", +"umb.it", +"umbria.it", +"val-d-aosta.it", +"val-daosta.it", +"vald-aosta.it", +"valdaosta.it", +"valle-aosta.it", +"valle-d-aosta.it", +"valle-daosta.it", +"valleaosta.it", +"valled-aosta.it", +"valledaosta.it", +"vallee-aoste.it", +"vallée-aoste.it", +"vallee-d-aoste.it", +"vallée-d-aoste.it", +"valleeaoste.it", +"valléeaoste.it", +"valleedaoste.it", +"valléedaoste.it", +"vao.it", +"vda.it", +"ven.it", +"veneto.it", +"ag.it", +"agrigento.it", +"al.it", +"alessandria.it", +"alto-adige.it", +"altoadige.it", +"an.it", +"ancona.it", +"andria-barletta-trani.it", +"andria-trani-barletta.it", +"andriabarlettatrani.it", +"andriatranibarletta.it", +"ao.it", +"aosta.it", +"aoste.it", +"ap.it", +"aq.it", +"aquila.it", +"ar.it", +"arezzo.it", +"ascoli-piceno.it", +"ascolipiceno.it", +"asti.it", +"at.it", +"av.it", +"avellino.it", +"ba.it", +"balsan-sudtirol.it", +"balsan-südtirol.it", +"balsan-suedtirol.it", +"balsan.it", +"bari.it", +"barletta-trani-andria.it", +"barlettatraniandria.it", +"belluno.it", +"benevento.it", +"bergamo.it", +"bg.it", +"bi.it", +"biella.it", +"bl.it", +"bn.it", +"bo.it", +"bologna.it", +"bolzano-altoadige.it", +"bolzano.it", +"bozen-sudtirol.it", +"bozen-südtirol.it", +"bozen-suedtirol.it", +"bozen.it", +"br.it", +"brescia.it", +"brindisi.it", +"bs.it", +"bt.it", +"bulsan-sudtirol.it", +"bulsan-südtirol.it", +"bulsan-suedtirol.it", +"bulsan.it", +"bz.it", +"ca.it", +"cagliari.it", +"caltanissetta.it", +"campidano-medio.it", +"campidanomedio.it", +"campobasso.it", +"carbonia-iglesias.it", +"carboniaiglesias.it", +"carrara-massa.it", +"carraramassa.it", +"caserta.it", +"catania.it", +"catanzaro.it", +"cb.it", +"ce.it", +"cesena-forli.it", +"cesena-forlì.it", +"cesenaforli.it", +"cesenaforlì.it", +"ch.it", +"chieti.it", +"ci.it", +"cl.it", +"cn.it", +"co.it", +"como.it", +"cosenza.it", +"cr.it", +"cremona.it", +"crotone.it", +"cs.it", +"ct.it", +"cuneo.it", +"cz.it", +"dell-ogliastra.it", +"dellogliastra.it", +"en.it", +"enna.it", +"fc.it", +"fe.it", +"fermo.it", +"ferrara.it", +"fg.it", +"fi.it", +"firenze.it", +"florence.it", +"fm.it", +"foggia.it", +"forli-cesena.it", +"forlì-cesena.it", +"forlicesena.it", +"forlìcesena.it", +"fr.it", +"frosinone.it", +"ge.it", +"genoa.it", +"genova.it", +"go.it", +"gorizia.it", +"gr.it", +"grosseto.it", +"iglesias-carbonia.it", +"iglesiascarbonia.it", +"im.it", +"imperia.it", +"is.it", +"isernia.it", +"kr.it", +"la-spezia.it", +"laquila.it", +"laspezia.it", +"latina.it", +"lc.it", +"le.it", +"lecce.it", +"lecco.it", +"li.it", +"livorno.it", +"lo.it", +"lodi.it", +"lt.it", +"lu.it", +"lucca.it", +"macerata.it", +"mantova.it", +"massa-carrara.it", +"massacarrara.it", +"matera.it", +"mb.it", +"mc.it", +"me.it", +"medio-campidano.it", +"mediocampidano.it", +"messina.it", +"mi.it", +"milan.it", +"milano.it", +"mn.it", +"mo.it", +"modena.it", +"monza-brianza.it", +"monza-e-della-brianza.it", +"monza.it", +"monzabrianza.it", +"monzaebrianza.it", +"monzaedellabrianza.it", +"ms.it", +"mt.it", +"na.it", +"naples.it", +"napoli.it", +"no.it", +"novara.it", +"nu.it", +"nuoro.it", +"og.it", +"ogliastra.it", +"olbia-tempio.it", +"olbiatempio.it", +"or.it", +"oristano.it", +"ot.it", +"pa.it", +"padova.it", +"padua.it", +"palermo.it", +"parma.it", +"pavia.it", +"pc.it", +"pd.it", +"pe.it", +"perugia.it", +"pesaro-urbino.it", +"pesarourbino.it", +"pescara.it", +"pg.it", +"pi.it", +"piacenza.it", +"pisa.it", +"pistoia.it", +"pn.it", +"po.it", +"pordenone.it", +"potenza.it", +"pr.it", +"prato.it", +"pt.it", +"pu.it", +"pv.it", +"pz.it", +"ra.it", +"ragusa.it", +"ravenna.it", +"rc.it", +"re.it", +"reggio-calabria.it", +"reggio-emilia.it", +"reggiocalabria.it", +"reggioemilia.it", +"rg.it", +"ri.it", +"rieti.it", +"rimini.it", +"rm.it", +"rn.it", +"ro.it", +"roma.it", +"rome.it", +"rovigo.it", +"sa.it", +"salerno.it", +"sassari.it", +"savona.it", +"si.it", +"siena.it", +"siracusa.it", +"so.it", +"sondrio.it", +"sp.it", +"sr.it", +"ss.it", +"suedtirol.it", +"südtirol.it", +"sv.it", +"ta.it", +"taranto.it", +"te.it", +"tempio-olbia.it", +"tempioolbia.it", +"teramo.it", +"terni.it", +"tn.it", +"to.it", +"torino.it", +"tp.it", +"tr.it", +"trani-andria-barletta.it", +"trani-barletta-andria.it", +"traniandriabarletta.it", +"tranibarlettaandria.it", +"trapani.it", +"trento.it", +"treviso.it", +"trieste.it", +"ts.it", +"turin.it", +"tv.it", +"ud.it", +"udine.it", +"urbino-pesaro.it", +"urbinopesaro.it", +"va.it", +"varese.it", +"vb.it", +"vc.it", +"ve.it", +"venezia.it", +"venice.it", +"verbania.it", +"vercelli.it", +"verona.it", +"vi.it", +"vibo-valentia.it", +"vibovalentia.it", +"vicenza.it", +"viterbo.it", +"vr.it", +"vs.it", +"vt.it", +"vv.it", +"je", +"co.je", +"net.je", +"org.je", +"*.jm", +"jo", +"com.jo", +"org.jo", +"net.jo", +"edu.jo", +"sch.jo", +"gov.jo", +"mil.jo", +"name.jo", +"jobs", +"jp", +"ac.jp", +"ad.jp", +"co.jp", +"ed.jp", +"go.jp", +"gr.jp", +"lg.jp", +"ne.jp", +"or.jp", +"aichi.jp", +"akita.jp", +"aomori.jp", +"chiba.jp", +"ehime.jp", +"fukui.jp", +"fukuoka.jp", +"fukushima.jp", +"gifu.jp", +"gunma.jp", +"hiroshima.jp", +"hokkaido.jp", +"hyogo.jp", +"ibaraki.jp", +"ishikawa.jp", +"iwate.jp", +"kagawa.jp", +"kagoshima.jp", +"kanagawa.jp", +"kochi.jp", +"kumamoto.jp", +"kyoto.jp", +"mie.jp", +"miyagi.jp", +"miyazaki.jp", +"nagano.jp", +"nagasaki.jp", +"nara.jp", +"niigata.jp", +"oita.jp", +"okayama.jp", +"okinawa.jp", +"osaka.jp", +"saga.jp", +"saitama.jp", +"shiga.jp", +"shimane.jp", +"shizuoka.jp", +"tochigi.jp", +"tokushima.jp", +"tokyo.jp", +"tottori.jp", +"toyama.jp", +"wakayama.jp", +"yamagata.jp", +"yamaguchi.jp", +"yamanashi.jp", +"栃木.jp", +"愛知.jp", +"愛媛.jp", +"兵庫.jp", +"熊本.jp", +"茨城.jp", +"北海é“.jp", +"åƒè‘‰.jp", +"和歌山.jp", +"é•·å´Ž.jp", +"長野.jp", +"新潟.jp", +"é’森.jp", +"é™å²¡.jp", +"æ±äº¬.jp", +"石å·.jp", +"埼玉.jp", +"三é‡.jp", +"京都.jp", +"ä½è³€.jp", +"大分.jp", +"大阪.jp", +"奈良.jp", +"宮城.jp", +"宮崎.jp", +"富山.jp", +"å±±å£.jp", +"山形.jp", +"山梨.jp", +"岩手.jp", +"å²é˜œ.jp", +"岡山.jp", +"島根.jp", +"広島.jp", +"徳島.jp", +"沖縄.jp", +"滋賀.jp", +"神奈å·.jp", +"ç¦äº•.jp", +"ç¦å²¡.jp", +"ç¦å³¶.jp", +"秋田.jp", +"群馬.jp", +"香å·.jp", +"高知.jp", +"é³¥å–.jp", +"鹿å…島.jp", +"*.kawasaki.jp", +"*.kitakyushu.jp", +"*.kobe.jp", +"*.nagoya.jp", +"*.sapporo.jp", +"*.sendai.jp", +"*.yokohama.jp", +"!city.kawasaki.jp", +"!city.kitakyushu.jp", +"!city.kobe.jp", +"!city.nagoya.jp", +"!city.sapporo.jp", +"!city.sendai.jp", +"!city.yokohama.jp", +"aisai.aichi.jp", +"ama.aichi.jp", +"anjo.aichi.jp", +"asuke.aichi.jp", +"chiryu.aichi.jp", +"chita.aichi.jp", +"fuso.aichi.jp", +"gamagori.aichi.jp", +"handa.aichi.jp", +"hazu.aichi.jp", +"hekinan.aichi.jp", +"higashiura.aichi.jp", +"ichinomiya.aichi.jp", +"inazawa.aichi.jp", +"inuyama.aichi.jp", +"isshiki.aichi.jp", +"iwakura.aichi.jp", +"kanie.aichi.jp", +"kariya.aichi.jp", +"kasugai.aichi.jp", +"kira.aichi.jp", +"kiyosu.aichi.jp", +"komaki.aichi.jp", +"konan.aichi.jp", +"kota.aichi.jp", +"mihama.aichi.jp", +"miyoshi.aichi.jp", +"nishio.aichi.jp", +"nisshin.aichi.jp", +"obu.aichi.jp", +"oguchi.aichi.jp", +"oharu.aichi.jp", +"okazaki.aichi.jp", +"owariasahi.aichi.jp", +"seto.aichi.jp", +"shikatsu.aichi.jp", +"shinshiro.aichi.jp", +"shitara.aichi.jp", +"tahara.aichi.jp", +"takahama.aichi.jp", +"tobishima.aichi.jp", +"toei.aichi.jp", +"togo.aichi.jp", +"tokai.aichi.jp", +"tokoname.aichi.jp", +"toyoake.aichi.jp", +"toyohashi.aichi.jp", +"toyokawa.aichi.jp", +"toyone.aichi.jp", +"toyota.aichi.jp", +"tsushima.aichi.jp", +"yatomi.aichi.jp", +"akita.akita.jp", +"daisen.akita.jp", +"fujisato.akita.jp", +"gojome.akita.jp", +"hachirogata.akita.jp", +"happou.akita.jp", +"higashinaruse.akita.jp", +"honjo.akita.jp", +"honjyo.akita.jp", +"ikawa.akita.jp", +"kamikoani.akita.jp", +"kamioka.akita.jp", +"katagami.akita.jp", +"kazuno.akita.jp", +"kitaakita.akita.jp", +"kosaka.akita.jp", +"kyowa.akita.jp", +"misato.akita.jp", +"mitane.akita.jp", +"moriyoshi.akita.jp", +"nikaho.akita.jp", +"noshiro.akita.jp", +"odate.akita.jp", +"oga.akita.jp", +"ogata.akita.jp", +"semboku.akita.jp", +"yokote.akita.jp", +"yurihonjo.akita.jp", +"aomori.aomori.jp", +"gonohe.aomori.jp", +"hachinohe.aomori.jp", +"hashikami.aomori.jp", +"hiranai.aomori.jp", +"hirosaki.aomori.jp", +"itayanagi.aomori.jp", +"kuroishi.aomori.jp", +"misawa.aomori.jp", +"mutsu.aomori.jp", +"nakadomari.aomori.jp", +"noheji.aomori.jp", +"oirase.aomori.jp", +"owani.aomori.jp", +"rokunohe.aomori.jp", +"sannohe.aomori.jp", +"shichinohe.aomori.jp", +"shingo.aomori.jp", +"takko.aomori.jp", +"towada.aomori.jp", +"tsugaru.aomori.jp", +"tsuruta.aomori.jp", +"abiko.chiba.jp", +"asahi.chiba.jp", +"chonan.chiba.jp", +"chosei.chiba.jp", +"choshi.chiba.jp", +"chuo.chiba.jp", +"funabashi.chiba.jp", +"futtsu.chiba.jp", +"hanamigawa.chiba.jp", +"ichihara.chiba.jp", +"ichikawa.chiba.jp", +"ichinomiya.chiba.jp", +"inzai.chiba.jp", +"isumi.chiba.jp", +"kamagaya.chiba.jp", +"kamogawa.chiba.jp", +"kashiwa.chiba.jp", +"katori.chiba.jp", +"katsuura.chiba.jp", +"kimitsu.chiba.jp", +"kisarazu.chiba.jp", +"kozaki.chiba.jp", +"kujukuri.chiba.jp", +"kyonan.chiba.jp", +"matsudo.chiba.jp", +"midori.chiba.jp", +"mihama.chiba.jp", +"minamiboso.chiba.jp", +"mobara.chiba.jp", +"mutsuzawa.chiba.jp", +"nagara.chiba.jp", +"nagareyama.chiba.jp", +"narashino.chiba.jp", +"narita.chiba.jp", +"noda.chiba.jp", +"oamishirasato.chiba.jp", +"omigawa.chiba.jp", +"onjuku.chiba.jp", +"otaki.chiba.jp", +"sakae.chiba.jp", +"sakura.chiba.jp", +"shimofusa.chiba.jp", +"shirako.chiba.jp", +"shiroi.chiba.jp", +"shisui.chiba.jp", +"sodegaura.chiba.jp", +"sosa.chiba.jp", +"tako.chiba.jp", +"tateyama.chiba.jp", +"togane.chiba.jp", +"tohnosho.chiba.jp", +"tomisato.chiba.jp", +"urayasu.chiba.jp", +"yachimata.chiba.jp", +"yachiyo.chiba.jp", +"yokaichiba.chiba.jp", +"yokoshibahikari.chiba.jp", +"yotsukaido.chiba.jp", +"ainan.ehime.jp", +"honai.ehime.jp", +"ikata.ehime.jp", +"imabari.ehime.jp", +"iyo.ehime.jp", +"kamijima.ehime.jp", +"kihoku.ehime.jp", +"kumakogen.ehime.jp", +"masaki.ehime.jp", +"matsuno.ehime.jp", +"matsuyama.ehime.jp", +"namikata.ehime.jp", +"niihama.ehime.jp", +"ozu.ehime.jp", +"saijo.ehime.jp", +"seiyo.ehime.jp", +"shikokuchuo.ehime.jp", +"tobe.ehime.jp", +"toon.ehime.jp", +"uchiko.ehime.jp", +"uwajima.ehime.jp", +"yawatahama.ehime.jp", +"echizen.fukui.jp", +"eiheiji.fukui.jp", +"fukui.fukui.jp", +"ikeda.fukui.jp", +"katsuyama.fukui.jp", +"mihama.fukui.jp", +"minamiechizen.fukui.jp", +"obama.fukui.jp", +"ohi.fukui.jp", +"ono.fukui.jp", +"sabae.fukui.jp", +"sakai.fukui.jp", +"takahama.fukui.jp", +"tsuruga.fukui.jp", +"wakasa.fukui.jp", +"ashiya.fukuoka.jp", +"buzen.fukuoka.jp", +"chikugo.fukuoka.jp", +"chikuho.fukuoka.jp", +"chikujo.fukuoka.jp", +"chikushino.fukuoka.jp", +"chikuzen.fukuoka.jp", +"chuo.fukuoka.jp", +"dazaifu.fukuoka.jp", +"fukuchi.fukuoka.jp", +"hakata.fukuoka.jp", +"higashi.fukuoka.jp", +"hirokawa.fukuoka.jp", +"hisayama.fukuoka.jp", +"iizuka.fukuoka.jp", +"inatsuki.fukuoka.jp", +"kaho.fukuoka.jp", +"kasuga.fukuoka.jp", +"kasuya.fukuoka.jp", +"kawara.fukuoka.jp", +"keisen.fukuoka.jp", +"koga.fukuoka.jp", +"kurate.fukuoka.jp", +"kurogi.fukuoka.jp", +"kurume.fukuoka.jp", +"minami.fukuoka.jp", +"miyako.fukuoka.jp", +"miyama.fukuoka.jp", +"miyawaka.fukuoka.jp", +"mizumaki.fukuoka.jp", +"munakata.fukuoka.jp", +"nakagawa.fukuoka.jp", +"nakama.fukuoka.jp", +"nishi.fukuoka.jp", +"nogata.fukuoka.jp", +"ogori.fukuoka.jp", +"okagaki.fukuoka.jp", +"okawa.fukuoka.jp", +"oki.fukuoka.jp", +"omuta.fukuoka.jp", +"onga.fukuoka.jp", +"onojo.fukuoka.jp", +"oto.fukuoka.jp", +"saigawa.fukuoka.jp", +"sasaguri.fukuoka.jp", +"shingu.fukuoka.jp", +"shinyoshitomi.fukuoka.jp", +"shonai.fukuoka.jp", +"soeda.fukuoka.jp", +"sue.fukuoka.jp", +"tachiarai.fukuoka.jp", +"tagawa.fukuoka.jp", +"takata.fukuoka.jp", +"toho.fukuoka.jp", +"toyotsu.fukuoka.jp", +"tsuiki.fukuoka.jp", +"ukiha.fukuoka.jp", +"umi.fukuoka.jp", +"usui.fukuoka.jp", +"yamada.fukuoka.jp", +"yame.fukuoka.jp", +"yanagawa.fukuoka.jp", +"yukuhashi.fukuoka.jp", +"aizubange.fukushima.jp", +"aizumisato.fukushima.jp", +"aizuwakamatsu.fukushima.jp", +"asakawa.fukushima.jp", +"bandai.fukushima.jp", +"date.fukushima.jp", +"fukushima.fukushima.jp", +"furudono.fukushima.jp", +"futaba.fukushima.jp", +"hanawa.fukushima.jp", +"higashi.fukushima.jp", +"hirata.fukushima.jp", +"hirono.fukushima.jp", +"iitate.fukushima.jp", +"inawashiro.fukushima.jp", +"ishikawa.fukushima.jp", +"iwaki.fukushima.jp", +"izumizaki.fukushima.jp", +"kagamiishi.fukushima.jp", +"kaneyama.fukushima.jp", +"kawamata.fukushima.jp", +"kitakata.fukushima.jp", +"kitashiobara.fukushima.jp", +"koori.fukushima.jp", +"koriyama.fukushima.jp", +"kunimi.fukushima.jp", +"miharu.fukushima.jp", +"mishima.fukushima.jp", +"namie.fukushima.jp", +"nango.fukushima.jp", +"nishiaizu.fukushima.jp", +"nishigo.fukushima.jp", +"okuma.fukushima.jp", +"omotego.fukushima.jp", +"ono.fukushima.jp", +"otama.fukushima.jp", +"samegawa.fukushima.jp", +"shimogo.fukushima.jp", +"shirakawa.fukushima.jp", +"showa.fukushima.jp", +"soma.fukushima.jp", +"sukagawa.fukushima.jp", +"taishin.fukushima.jp", +"tamakawa.fukushima.jp", +"tanagura.fukushima.jp", +"tenei.fukushima.jp", +"yabuki.fukushima.jp", +"yamato.fukushima.jp", +"yamatsuri.fukushima.jp", +"yanaizu.fukushima.jp", +"yugawa.fukushima.jp", +"anpachi.gifu.jp", +"ena.gifu.jp", +"gifu.gifu.jp", +"ginan.gifu.jp", +"godo.gifu.jp", +"gujo.gifu.jp", +"hashima.gifu.jp", +"hichiso.gifu.jp", +"hida.gifu.jp", +"higashishirakawa.gifu.jp", +"ibigawa.gifu.jp", +"ikeda.gifu.jp", +"kakamigahara.gifu.jp", +"kani.gifu.jp", +"kasahara.gifu.jp", +"kasamatsu.gifu.jp", +"kawaue.gifu.jp", +"kitagata.gifu.jp", +"mino.gifu.jp", +"minokamo.gifu.jp", +"mitake.gifu.jp", +"mizunami.gifu.jp", +"motosu.gifu.jp", +"nakatsugawa.gifu.jp", +"ogaki.gifu.jp", +"sakahogi.gifu.jp", +"seki.gifu.jp", +"sekigahara.gifu.jp", +"shirakawa.gifu.jp", +"tajimi.gifu.jp", +"takayama.gifu.jp", +"tarui.gifu.jp", +"toki.gifu.jp", +"tomika.gifu.jp", +"wanouchi.gifu.jp", +"yamagata.gifu.jp", +"yaotsu.gifu.jp", +"yoro.gifu.jp", +"annaka.gunma.jp", +"chiyoda.gunma.jp", +"fujioka.gunma.jp", +"higashiagatsuma.gunma.jp", +"isesaki.gunma.jp", +"itakura.gunma.jp", +"kanna.gunma.jp", +"kanra.gunma.jp", +"katashina.gunma.jp", +"kawaba.gunma.jp", +"kiryu.gunma.jp", +"kusatsu.gunma.jp", +"maebashi.gunma.jp", +"meiwa.gunma.jp", +"midori.gunma.jp", +"minakami.gunma.jp", +"naganohara.gunma.jp", +"nakanojo.gunma.jp", +"nanmoku.gunma.jp", +"numata.gunma.jp", +"oizumi.gunma.jp", +"ora.gunma.jp", +"ota.gunma.jp", +"shibukawa.gunma.jp", +"shimonita.gunma.jp", +"shinto.gunma.jp", +"showa.gunma.jp", +"takasaki.gunma.jp", +"takayama.gunma.jp", +"tamamura.gunma.jp", +"tatebayashi.gunma.jp", +"tomioka.gunma.jp", +"tsukiyono.gunma.jp", +"tsumagoi.gunma.jp", +"ueno.gunma.jp", +"yoshioka.gunma.jp", +"asaminami.hiroshima.jp", +"daiwa.hiroshima.jp", +"etajima.hiroshima.jp", +"fuchu.hiroshima.jp", +"fukuyama.hiroshima.jp", +"hatsukaichi.hiroshima.jp", +"higashihiroshima.hiroshima.jp", +"hongo.hiroshima.jp", +"jinsekikogen.hiroshima.jp", +"kaita.hiroshima.jp", +"kui.hiroshima.jp", +"kumano.hiroshima.jp", +"kure.hiroshima.jp", +"mihara.hiroshima.jp", +"miyoshi.hiroshima.jp", +"naka.hiroshima.jp", +"onomichi.hiroshima.jp", +"osakikamijima.hiroshima.jp", +"otake.hiroshima.jp", +"saka.hiroshima.jp", +"sera.hiroshima.jp", +"seranishi.hiroshima.jp", +"shinichi.hiroshima.jp", +"shobara.hiroshima.jp", +"takehara.hiroshima.jp", +"abashiri.hokkaido.jp", +"abira.hokkaido.jp", +"aibetsu.hokkaido.jp", +"akabira.hokkaido.jp", +"akkeshi.hokkaido.jp", +"asahikawa.hokkaido.jp", +"ashibetsu.hokkaido.jp", +"ashoro.hokkaido.jp", +"assabu.hokkaido.jp", +"atsuma.hokkaido.jp", +"bibai.hokkaido.jp", +"biei.hokkaido.jp", +"bifuka.hokkaido.jp", +"bihoro.hokkaido.jp", +"biratori.hokkaido.jp", +"chippubetsu.hokkaido.jp", +"chitose.hokkaido.jp", +"date.hokkaido.jp", +"ebetsu.hokkaido.jp", +"embetsu.hokkaido.jp", +"eniwa.hokkaido.jp", +"erimo.hokkaido.jp", +"esan.hokkaido.jp", +"esashi.hokkaido.jp", +"fukagawa.hokkaido.jp", +"fukushima.hokkaido.jp", +"furano.hokkaido.jp", +"furubira.hokkaido.jp", +"haboro.hokkaido.jp", +"hakodate.hokkaido.jp", +"hamatonbetsu.hokkaido.jp", +"hidaka.hokkaido.jp", +"higashikagura.hokkaido.jp", +"higashikawa.hokkaido.jp", +"hiroo.hokkaido.jp", +"hokuryu.hokkaido.jp", +"hokuto.hokkaido.jp", +"honbetsu.hokkaido.jp", +"horokanai.hokkaido.jp", +"horonobe.hokkaido.jp", +"ikeda.hokkaido.jp", +"imakane.hokkaido.jp", +"ishikari.hokkaido.jp", +"iwamizawa.hokkaido.jp", +"iwanai.hokkaido.jp", +"kamifurano.hokkaido.jp", +"kamikawa.hokkaido.jp", +"kamishihoro.hokkaido.jp", +"kamisunagawa.hokkaido.jp", +"kamoenai.hokkaido.jp", +"kayabe.hokkaido.jp", +"kembuchi.hokkaido.jp", +"kikonai.hokkaido.jp", +"kimobetsu.hokkaido.jp", +"kitahiroshima.hokkaido.jp", +"kitami.hokkaido.jp", +"kiyosato.hokkaido.jp", +"koshimizu.hokkaido.jp", +"kunneppu.hokkaido.jp", +"kuriyama.hokkaido.jp", +"kuromatsunai.hokkaido.jp", +"kushiro.hokkaido.jp", +"kutchan.hokkaido.jp", +"kyowa.hokkaido.jp", +"mashike.hokkaido.jp", +"matsumae.hokkaido.jp", +"mikasa.hokkaido.jp", +"minamifurano.hokkaido.jp", +"mombetsu.hokkaido.jp", +"moseushi.hokkaido.jp", +"mukawa.hokkaido.jp", +"muroran.hokkaido.jp", +"naie.hokkaido.jp", +"nakagawa.hokkaido.jp", +"nakasatsunai.hokkaido.jp", +"nakatombetsu.hokkaido.jp", +"nanae.hokkaido.jp", +"nanporo.hokkaido.jp", +"nayoro.hokkaido.jp", +"nemuro.hokkaido.jp", +"niikappu.hokkaido.jp", +"niki.hokkaido.jp", +"nishiokoppe.hokkaido.jp", +"noboribetsu.hokkaido.jp", +"numata.hokkaido.jp", +"obihiro.hokkaido.jp", +"obira.hokkaido.jp", +"oketo.hokkaido.jp", +"okoppe.hokkaido.jp", +"otaru.hokkaido.jp", +"otobe.hokkaido.jp", +"otofuke.hokkaido.jp", +"otoineppu.hokkaido.jp", +"oumu.hokkaido.jp", +"ozora.hokkaido.jp", +"pippu.hokkaido.jp", +"rankoshi.hokkaido.jp", +"rebun.hokkaido.jp", +"rikubetsu.hokkaido.jp", +"rishiri.hokkaido.jp", +"rishirifuji.hokkaido.jp", +"saroma.hokkaido.jp", +"sarufutsu.hokkaido.jp", +"shakotan.hokkaido.jp", +"shari.hokkaido.jp", +"shibecha.hokkaido.jp", +"shibetsu.hokkaido.jp", +"shikabe.hokkaido.jp", +"shikaoi.hokkaido.jp", +"shimamaki.hokkaido.jp", +"shimizu.hokkaido.jp", +"shimokawa.hokkaido.jp", +"shinshinotsu.hokkaido.jp", +"shintoku.hokkaido.jp", +"shiranuka.hokkaido.jp", +"shiraoi.hokkaido.jp", +"shiriuchi.hokkaido.jp", +"sobetsu.hokkaido.jp", +"sunagawa.hokkaido.jp", +"taiki.hokkaido.jp", +"takasu.hokkaido.jp", +"takikawa.hokkaido.jp", +"takinoue.hokkaido.jp", +"teshikaga.hokkaido.jp", +"tobetsu.hokkaido.jp", +"tohma.hokkaido.jp", +"tomakomai.hokkaido.jp", +"tomari.hokkaido.jp", +"toya.hokkaido.jp", +"toyako.hokkaido.jp", +"toyotomi.hokkaido.jp", +"toyoura.hokkaido.jp", +"tsubetsu.hokkaido.jp", +"tsukigata.hokkaido.jp", +"urakawa.hokkaido.jp", +"urausu.hokkaido.jp", +"uryu.hokkaido.jp", +"utashinai.hokkaido.jp", +"wakkanai.hokkaido.jp", +"wassamu.hokkaido.jp", +"yakumo.hokkaido.jp", +"yoichi.hokkaido.jp", +"aioi.hyogo.jp", +"akashi.hyogo.jp", +"ako.hyogo.jp", +"amagasaki.hyogo.jp", +"aogaki.hyogo.jp", +"asago.hyogo.jp", +"ashiya.hyogo.jp", +"awaji.hyogo.jp", +"fukusaki.hyogo.jp", +"goshiki.hyogo.jp", +"harima.hyogo.jp", +"himeji.hyogo.jp", +"ichikawa.hyogo.jp", +"inagawa.hyogo.jp", +"itami.hyogo.jp", +"kakogawa.hyogo.jp", +"kamigori.hyogo.jp", +"kamikawa.hyogo.jp", +"kasai.hyogo.jp", +"kasuga.hyogo.jp", +"kawanishi.hyogo.jp", +"miki.hyogo.jp", +"minamiawaji.hyogo.jp", +"nishinomiya.hyogo.jp", +"nishiwaki.hyogo.jp", +"ono.hyogo.jp", +"sanda.hyogo.jp", +"sannan.hyogo.jp", +"sasayama.hyogo.jp", +"sayo.hyogo.jp", +"shingu.hyogo.jp", +"shinonsen.hyogo.jp", +"shiso.hyogo.jp", +"sumoto.hyogo.jp", +"taishi.hyogo.jp", +"taka.hyogo.jp", +"takarazuka.hyogo.jp", +"takasago.hyogo.jp", +"takino.hyogo.jp", +"tamba.hyogo.jp", +"tatsuno.hyogo.jp", +"toyooka.hyogo.jp", +"yabu.hyogo.jp", +"yashiro.hyogo.jp", +"yoka.hyogo.jp", +"yokawa.hyogo.jp", +"ami.ibaraki.jp", +"asahi.ibaraki.jp", +"bando.ibaraki.jp", +"chikusei.ibaraki.jp", +"daigo.ibaraki.jp", +"fujishiro.ibaraki.jp", +"hitachi.ibaraki.jp", +"hitachinaka.ibaraki.jp", +"hitachiomiya.ibaraki.jp", +"hitachiota.ibaraki.jp", +"ibaraki.ibaraki.jp", +"ina.ibaraki.jp", +"inashiki.ibaraki.jp", +"itako.ibaraki.jp", +"iwama.ibaraki.jp", +"joso.ibaraki.jp", +"kamisu.ibaraki.jp", +"kasama.ibaraki.jp", +"kashima.ibaraki.jp", +"kasumigaura.ibaraki.jp", +"koga.ibaraki.jp", +"miho.ibaraki.jp", +"mito.ibaraki.jp", +"moriya.ibaraki.jp", +"naka.ibaraki.jp", +"namegata.ibaraki.jp", +"oarai.ibaraki.jp", +"ogawa.ibaraki.jp", +"omitama.ibaraki.jp", +"ryugasaki.ibaraki.jp", +"sakai.ibaraki.jp", +"sakuragawa.ibaraki.jp", +"shimodate.ibaraki.jp", +"shimotsuma.ibaraki.jp", +"shirosato.ibaraki.jp", +"sowa.ibaraki.jp", +"suifu.ibaraki.jp", +"takahagi.ibaraki.jp", +"tamatsukuri.ibaraki.jp", +"tokai.ibaraki.jp", +"tomobe.ibaraki.jp", +"tone.ibaraki.jp", +"toride.ibaraki.jp", +"tsuchiura.ibaraki.jp", +"tsukuba.ibaraki.jp", +"uchihara.ibaraki.jp", +"ushiku.ibaraki.jp", +"yachiyo.ibaraki.jp", +"yamagata.ibaraki.jp", +"yawara.ibaraki.jp", +"yuki.ibaraki.jp", +"anamizu.ishikawa.jp", +"hakui.ishikawa.jp", +"hakusan.ishikawa.jp", +"kaga.ishikawa.jp", +"kahoku.ishikawa.jp", +"kanazawa.ishikawa.jp", +"kawakita.ishikawa.jp", +"komatsu.ishikawa.jp", +"nakanoto.ishikawa.jp", +"nanao.ishikawa.jp", +"nomi.ishikawa.jp", +"nonoichi.ishikawa.jp", +"noto.ishikawa.jp", +"shika.ishikawa.jp", +"suzu.ishikawa.jp", +"tsubata.ishikawa.jp", +"tsurugi.ishikawa.jp", +"uchinada.ishikawa.jp", +"wajima.ishikawa.jp", +"fudai.iwate.jp", +"fujisawa.iwate.jp", +"hanamaki.iwate.jp", +"hiraizumi.iwate.jp", +"hirono.iwate.jp", +"ichinohe.iwate.jp", +"ichinoseki.iwate.jp", +"iwaizumi.iwate.jp", +"iwate.iwate.jp", +"joboji.iwate.jp", +"kamaishi.iwate.jp", +"kanegasaki.iwate.jp", +"karumai.iwate.jp", +"kawai.iwate.jp", +"kitakami.iwate.jp", +"kuji.iwate.jp", +"kunohe.iwate.jp", +"kuzumaki.iwate.jp", +"miyako.iwate.jp", +"mizusawa.iwate.jp", +"morioka.iwate.jp", +"ninohe.iwate.jp", +"noda.iwate.jp", +"ofunato.iwate.jp", +"oshu.iwate.jp", +"otsuchi.iwate.jp", +"rikuzentakata.iwate.jp", +"shiwa.iwate.jp", +"shizukuishi.iwate.jp", +"sumita.iwate.jp", +"tanohata.iwate.jp", +"tono.iwate.jp", +"yahaba.iwate.jp", +"yamada.iwate.jp", +"ayagawa.kagawa.jp", +"higashikagawa.kagawa.jp", +"kanonji.kagawa.jp", +"kotohira.kagawa.jp", +"manno.kagawa.jp", +"marugame.kagawa.jp", +"mitoyo.kagawa.jp", +"naoshima.kagawa.jp", +"sanuki.kagawa.jp", +"tadotsu.kagawa.jp", +"takamatsu.kagawa.jp", +"tonosho.kagawa.jp", +"uchinomi.kagawa.jp", +"utazu.kagawa.jp", +"zentsuji.kagawa.jp", +"akune.kagoshima.jp", +"amami.kagoshima.jp", +"hioki.kagoshima.jp", +"isa.kagoshima.jp", +"isen.kagoshima.jp", +"izumi.kagoshima.jp", +"kagoshima.kagoshima.jp", +"kanoya.kagoshima.jp", +"kawanabe.kagoshima.jp", +"kinko.kagoshima.jp", +"kouyama.kagoshima.jp", +"makurazaki.kagoshima.jp", +"matsumoto.kagoshima.jp", +"minamitane.kagoshima.jp", +"nakatane.kagoshima.jp", +"nishinoomote.kagoshima.jp", +"satsumasendai.kagoshima.jp", +"soo.kagoshima.jp", +"tarumizu.kagoshima.jp", +"yusui.kagoshima.jp", +"aikawa.kanagawa.jp", +"atsugi.kanagawa.jp", +"ayase.kanagawa.jp", +"chigasaki.kanagawa.jp", +"ebina.kanagawa.jp", +"fujisawa.kanagawa.jp", +"hadano.kanagawa.jp", +"hakone.kanagawa.jp", +"hiratsuka.kanagawa.jp", +"isehara.kanagawa.jp", +"kaisei.kanagawa.jp", +"kamakura.kanagawa.jp", +"kiyokawa.kanagawa.jp", +"matsuda.kanagawa.jp", +"minamiashigara.kanagawa.jp", +"miura.kanagawa.jp", +"nakai.kanagawa.jp", +"ninomiya.kanagawa.jp", +"odawara.kanagawa.jp", +"oi.kanagawa.jp", +"oiso.kanagawa.jp", +"sagamihara.kanagawa.jp", +"samukawa.kanagawa.jp", +"tsukui.kanagawa.jp", +"yamakita.kanagawa.jp", +"yamato.kanagawa.jp", +"yokosuka.kanagawa.jp", +"yugawara.kanagawa.jp", +"zama.kanagawa.jp", +"zushi.kanagawa.jp", +"aki.kochi.jp", +"geisei.kochi.jp", +"hidaka.kochi.jp", +"higashitsuno.kochi.jp", +"ino.kochi.jp", +"kagami.kochi.jp", +"kami.kochi.jp", +"kitagawa.kochi.jp", +"kochi.kochi.jp", +"mihara.kochi.jp", +"motoyama.kochi.jp", +"muroto.kochi.jp", +"nahari.kochi.jp", +"nakamura.kochi.jp", +"nankoku.kochi.jp", +"nishitosa.kochi.jp", +"niyodogawa.kochi.jp", +"ochi.kochi.jp", +"okawa.kochi.jp", +"otoyo.kochi.jp", +"otsuki.kochi.jp", +"sakawa.kochi.jp", +"sukumo.kochi.jp", +"susaki.kochi.jp", +"tosa.kochi.jp", +"tosashimizu.kochi.jp", +"toyo.kochi.jp", +"tsuno.kochi.jp", +"umaji.kochi.jp", +"yasuda.kochi.jp", +"yusuhara.kochi.jp", +"amakusa.kumamoto.jp", +"arao.kumamoto.jp", +"aso.kumamoto.jp", +"choyo.kumamoto.jp", +"gyokuto.kumamoto.jp", +"kamiamakusa.kumamoto.jp", +"kikuchi.kumamoto.jp", +"kumamoto.kumamoto.jp", +"mashiki.kumamoto.jp", +"mifune.kumamoto.jp", +"minamata.kumamoto.jp", +"minamioguni.kumamoto.jp", +"nagasu.kumamoto.jp", +"nishihara.kumamoto.jp", +"oguni.kumamoto.jp", +"ozu.kumamoto.jp", +"sumoto.kumamoto.jp", +"takamori.kumamoto.jp", +"uki.kumamoto.jp", +"uto.kumamoto.jp", +"yamaga.kumamoto.jp", +"yamato.kumamoto.jp", +"yatsushiro.kumamoto.jp", +"ayabe.kyoto.jp", +"fukuchiyama.kyoto.jp", +"higashiyama.kyoto.jp", +"ide.kyoto.jp", +"ine.kyoto.jp", +"joyo.kyoto.jp", +"kameoka.kyoto.jp", +"kamo.kyoto.jp", +"kita.kyoto.jp", +"kizu.kyoto.jp", +"kumiyama.kyoto.jp", +"kyotamba.kyoto.jp", +"kyotanabe.kyoto.jp", +"kyotango.kyoto.jp", +"maizuru.kyoto.jp", +"minami.kyoto.jp", +"minamiyamashiro.kyoto.jp", +"miyazu.kyoto.jp", +"muko.kyoto.jp", +"nagaokakyo.kyoto.jp", +"nakagyo.kyoto.jp", +"nantan.kyoto.jp", +"oyamazaki.kyoto.jp", +"sakyo.kyoto.jp", +"seika.kyoto.jp", +"tanabe.kyoto.jp", +"uji.kyoto.jp", +"ujitawara.kyoto.jp", +"wazuka.kyoto.jp", +"yamashina.kyoto.jp", +"yawata.kyoto.jp", +"asahi.mie.jp", +"inabe.mie.jp", +"ise.mie.jp", +"kameyama.mie.jp", +"kawagoe.mie.jp", +"kiho.mie.jp", +"kisosaki.mie.jp", +"kiwa.mie.jp", +"komono.mie.jp", +"kumano.mie.jp", +"kuwana.mie.jp", +"matsusaka.mie.jp", +"meiwa.mie.jp", +"mihama.mie.jp", +"minamiise.mie.jp", +"misugi.mie.jp", +"miyama.mie.jp", +"nabari.mie.jp", +"shima.mie.jp", +"suzuka.mie.jp", +"tado.mie.jp", +"taiki.mie.jp", +"taki.mie.jp", +"tamaki.mie.jp", +"toba.mie.jp", +"tsu.mie.jp", +"udono.mie.jp", +"ureshino.mie.jp", +"watarai.mie.jp", +"yokkaichi.mie.jp", +"furukawa.miyagi.jp", +"higashimatsushima.miyagi.jp", +"ishinomaki.miyagi.jp", +"iwanuma.miyagi.jp", +"kakuda.miyagi.jp", +"kami.miyagi.jp", +"kawasaki.miyagi.jp", +"marumori.miyagi.jp", +"matsushima.miyagi.jp", +"minamisanriku.miyagi.jp", +"misato.miyagi.jp", +"murata.miyagi.jp", +"natori.miyagi.jp", +"ogawara.miyagi.jp", +"ohira.miyagi.jp", +"onagawa.miyagi.jp", +"osaki.miyagi.jp", +"rifu.miyagi.jp", +"semine.miyagi.jp", +"shibata.miyagi.jp", +"shichikashuku.miyagi.jp", +"shikama.miyagi.jp", +"shiogama.miyagi.jp", +"shiroishi.miyagi.jp", +"tagajo.miyagi.jp", +"taiwa.miyagi.jp", +"tome.miyagi.jp", +"tomiya.miyagi.jp", +"wakuya.miyagi.jp", +"watari.miyagi.jp", +"yamamoto.miyagi.jp", +"zao.miyagi.jp", +"aya.miyazaki.jp", +"ebino.miyazaki.jp", +"gokase.miyazaki.jp", +"hyuga.miyazaki.jp", +"kadogawa.miyazaki.jp", +"kawaminami.miyazaki.jp", +"kijo.miyazaki.jp", +"kitagawa.miyazaki.jp", +"kitakata.miyazaki.jp", +"kitaura.miyazaki.jp", +"kobayashi.miyazaki.jp", +"kunitomi.miyazaki.jp", +"kushima.miyazaki.jp", +"mimata.miyazaki.jp", +"miyakonojo.miyazaki.jp", +"miyazaki.miyazaki.jp", +"morotsuka.miyazaki.jp", +"nichinan.miyazaki.jp", +"nishimera.miyazaki.jp", +"nobeoka.miyazaki.jp", +"saito.miyazaki.jp", +"shiiba.miyazaki.jp", +"shintomi.miyazaki.jp", +"takaharu.miyazaki.jp", +"takanabe.miyazaki.jp", +"takazaki.miyazaki.jp", +"tsuno.miyazaki.jp", +"achi.nagano.jp", +"agematsu.nagano.jp", +"anan.nagano.jp", +"aoki.nagano.jp", +"asahi.nagano.jp", +"azumino.nagano.jp", +"chikuhoku.nagano.jp", +"chikuma.nagano.jp", +"chino.nagano.jp", +"fujimi.nagano.jp", +"hakuba.nagano.jp", +"hara.nagano.jp", +"hiraya.nagano.jp", +"iida.nagano.jp", +"iijima.nagano.jp", +"iiyama.nagano.jp", +"iizuna.nagano.jp", +"ikeda.nagano.jp", +"ikusaka.nagano.jp", +"ina.nagano.jp", +"karuizawa.nagano.jp", +"kawakami.nagano.jp", +"kiso.nagano.jp", +"kisofukushima.nagano.jp", +"kitaaiki.nagano.jp", +"komagane.nagano.jp", +"komoro.nagano.jp", +"matsukawa.nagano.jp", +"matsumoto.nagano.jp", +"miasa.nagano.jp", +"minamiaiki.nagano.jp", +"minamimaki.nagano.jp", +"minamiminowa.nagano.jp", +"minowa.nagano.jp", +"miyada.nagano.jp", +"miyota.nagano.jp", +"mochizuki.nagano.jp", +"nagano.nagano.jp", +"nagawa.nagano.jp", +"nagiso.nagano.jp", +"nakagawa.nagano.jp", +"nakano.nagano.jp", +"nozawaonsen.nagano.jp", +"obuse.nagano.jp", +"ogawa.nagano.jp", +"okaya.nagano.jp", +"omachi.nagano.jp", +"omi.nagano.jp", +"ookuwa.nagano.jp", +"ooshika.nagano.jp", +"otaki.nagano.jp", +"otari.nagano.jp", +"sakae.nagano.jp", +"sakaki.nagano.jp", +"saku.nagano.jp", +"sakuho.nagano.jp", +"shimosuwa.nagano.jp", +"shinanomachi.nagano.jp", +"shiojiri.nagano.jp", +"suwa.nagano.jp", +"suzaka.nagano.jp", +"takagi.nagano.jp", +"takamori.nagano.jp", +"takayama.nagano.jp", +"tateshina.nagano.jp", +"tatsuno.nagano.jp", +"togakushi.nagano.jp", +"togura.nagano.jp", +"tomi.nagano.jp", +"ueda.nagano.jp", +"wada.nagano.jp", +"yamagata.nagano.jp", +"yamanouchi.nagano.jp", +"yasaka.nagano.jp", +"yasuoka.nagano.jp", +"chijiwa.nagasaki.jp", +"futsu.nagasaki.jp", +"goto.nagasaki.jp", +"hasami.nagasaki.jp", +"hirado.nagasaki.jp", +"iki.nagasaki.jp", +"isahaya.nagasaki.jp", +"kawatana.nagasaki.jp", +"kuchinotsu.nagasaki.jp", +"matsuura.nagasaki.jp", +"nagasaki.nagasaki.jp", +"obama.nagasaki.jp", +"omura.nagasaki.jp", +"oseto.nagasaki.jp", +"saikai.nagasaki.jp", +"sasebo.nagasaki.jp", +"seihi.nagasaki.jp", +"shimabara.nagasaki.jp", +"shinkamigoto.nagasaki.jp", +"togitsu.nagasaki.jp", +"tsushima.nagasaki.jp", +"unzen.nagasaki.jp", +"ando.nara.jp", +"gose.nara.jp", +"heguri.nara.jp", +"higashiyoshino.nara.jp", +"ikaruga.nara.jp", +"ikoma.nara.jp", +"kamikitayama.nara.jp", +"kanmaki.nara.jp", +"kashiba.nara.jp", +"kashihara.nara.jp", +"katsuragi.nara.jp", +"kawai.nara.jp", +"kawakami.nara.jp", +"kawanishi.nara.jp", +"koryo.nara.jp", +"kurotaki.nara.jp", +"mitsue.nara.jp", +"miyake.nara.jp", +"nara.nara.jp", +"nosegawa.nara.jp", +"oji.nara.jp", +"ouda.nara.jp", +"oyodo.nara.jp", +"sakurai.nara.jp", +"sango.nara.jp", +"shimoichi.nara.jp", +"shimokitayama.nara.jp", +"shinjo.nara.jp", +"soni.nara.jp", +"takatori.nara.jp", +"tawaramoto.nara.jp", +"tenkawa.nara.jp", +"tenri.nara.jp", +"uda.nara.jp", +"yamatokoriyama.nara.jp", +"yamatotakada.nara.jp", +"yamazoe.nara.jp", +"yoshino.nara.jp", +"aga.niigata.jp", +"agano.niigata.jp", +"gosen.niigata.jp", +"itoigawa.niigata.jp", +"izumozaki.niigata.jp", +"joetsu.niigata.jp", +"kamo.niigata.jp", +"kariwa.niigata.jp", +"kashiwazaki.niigata.jp", +"minamiuonuma.niigata.jp", +"mitsuke.niigata.jp", +"muika.niigata.jp", +"murakami.niigata.jp", +"myoko.niigata.jp", +"nagaoka.niigata.jp", +"niigata.niigata.jp", +"ojiya.niigata.jp", +"omi.niigata.jp", +"sado.niigata.jp", +"sanjo.niigata.jp", +"seiro.niigata.jp", +"seirou.niigata.jp", +"sekikawa.niigata.jp", +"shibata.niigata.jp", +"tagami.niigata.jp", +"tainai.niigata.jp", +"tochio.niigata.jp", +"tokamachi.niigata.jp", +"tsubame.niigata.jp", +"tsunan.niigata.jp", +"uonuma.niigata.jp", +"yahiko.niigata.jp", +"yoita.niigata.jp", +"yuzawa.niigata.jp", +"beppu.oita.jp", +"bungoono.oita.jp", +"bungotakada.oita.jp", +"hasama.oita.jp", +"hiji.oita.jp", +"himeshima.oita.jp", +"hita.oita.jp", +"kamitsue.oita.jp", +"kokonoe.oita.jp", +"kuju.oita.jp", +"kunisaki.oita.jp", +"kusu.oita.jp", +"oita.oita.jp", +"saiki.oita.jp", +"taketa.oita.jp", +"tsukumi.oita.jp", +"usa.oita.jp", +"usuki.oita.jp", +"yufu.oita.jp", +"akaiwa.okayama.jp", +"asakuchi.okayama.jp", +"bizen.okayama.jp", +"hayashima.okayama.jp", +"ibara.okayama.jp", +"kagamino.okayama.jp", +"kasaoka.okayama.jp", +"kibichuo.okayama.jp", +"kumenan.okayama.jp", +"kurashiki.okayama.jp", +"maniwa.okayama.jp", +"misaki.okayama.jp", +"nagi.okayama.jp", +"niimi.okayama.jp", +"nishiawakura.okayama.jp", +"okayama.okayama.jp", +"satosho.okayama.jp", +"setouchi.okayama.jp", +"shinjo.okayama.jp", +"shoo.okayama.jp", +"soja.okayama.jp", +"takahashi.okayama.jp", +"tamano.okayama.jp", +"tsuyama.okayama.jp", +"wake.okayama.jp", +"yakage.okayama.jp", +"aguni.okinawa.jp", +"ginowan.okinawa.jp", +"ginoza.okinawa.jp", +"gushikami.okinawa.jp", +"haebaru.okinawa.jp", +"higashi.okinawa.jp", +"hirara.okinawa.jp", +"iheya.okinawa.jp", +"ishigaki.okinawa.jp", +"ishikawa.okinawa.jp", +"itoman.okinawa.jp", +"izena.okinawa.jp", +"kadena.okinawa.jp", +"kin.okinawa.jp", +"kitadaito.okinawa.jp", +"kitanakagusuku.okinawa.jp", +"kumejima.okinawa.jp", +"kunigami.okinawa.jp", +"minamidaito.okinawa.jp", +"motobu.okinawa.jp", +"nago.okinawa.jp", +"naha.okinawa.jp", +"nakagusuku.okinawa.jp", +"nakijin.okinawa.jp", +"nanjo.okinawa.jp", +"nishihara.okinawa.jp", +"ogimi.okinawa.jp", +"okinawa.okinawa.jp", +"onna.okinawa.jp", +"shimoji.okinawa.jp", +"taketomi.okinawa.jp", +"tarama.okinawa.jp", +"tokashiki.okinawa.jp", +"tomigusuku.okinawa.jp", +"tonaki.okinawa.jp", +"urasoe.okinawa.jp", +"uruma.okinawa.jp", +"yaese.okinawa.jp", +"yomitan.okinawa.jp", +"yonabaru.okinawa.jp", +"yonaguni.okinawa.jp", +"zamami.okinawa.jp", +"abeno.osaka.jp", +"chihayaakasaka.osaka.jp", +"chuo.osaka.jp", +"daito.osaka.jp", +"fujiidera.osaka.jp", +"habikino.osaka.jp", +"hannan.osaka.jp", +"higashiosaka.osaka.jp", +"higashisumiyoshi.osaka.jp", +"higashiyodogawa.osaka.jp", +"hirakata.osaka.jp", +"ibaraki.osaka.jp", +"ikeda.osaka.jp", +"izumi.osaka.jp", +"izumiotsu.osaka.jp", +"izumisano.osaka.jp", +"kadoma.osaka.jp", +"kaizuka.osaka.jp", +"kanan.osaka.jp", +"kashiwara.osaka.jp", +"katano.osaka.jp", +"kawachinagano.osaka.jp", +"kishiwada.osaka.jp", +"kita.osaka.jp", +"kumatori.osaka.jp", +"matsubara.osaka.jp", +"minato.osaka.jp", +"minoh.osaka.jp", +"misaki.osaka.jp", +"moriguchi.osaka.jp", +"neyagawa.osaka.jp", +"nishi.osaka.jp", +"nose.osaka.jp", +"osakasayama.osaka.jp", +"sakai.osaka.jp", +"sayama.osaka.jp", +"sennan.osaka.jp", +"settsu.osaka.jp", +"shijonawate.osaka.jp", +"shimamoto.osaka.jp", +"suita.osaka.jp", +"tadaoka.osaka.jp", +"taishi.osaka.jp", +"tajiri.osaka.jp", +"takaishi.osaka.jp", +"takatsuki.osaka.jp", +"tondabayashi.osaka.jp", +"toyonaka.osaka.jp", +"toyono.osaka.jp", +"yao.osaka.jp", +"ariake.saga.jp", +"arita.saga.jp", +"fukudomi.saga.jp", +"genkai.saga.jp", +"hamatama.saga.jp", +"hizen.saga.jp", +"imari.saga.jp", +"kamimine.saga.jp", +"kanzaki.saga.jp", +"karatsu.saga.jp", +"kashima.saga.jp", +"kitagata.saga.jp", +"kitahata.saga.jp", +"kiyama.saga.jp", +"kouhoku.saga.jp", +"kyuragi.saga.jp", +"nishiarita.saga.jp", +"ogi.saga.jp", +"omachi.saga.jp", +"ouchi.saga.jp", +"saga.saga.jp", +"shiroishi.saga.jp", +"taku.saga.jp", +"tara.saga.jp", +"tosu.saga.jp", +"yoshinogari.saga.jp", +"arakawa.saitama.jp", +"asaka.saitama.jp", +"chichibu.saitama.jp", +"fujimi.saitama.jp", +"fujimino.saitama.jp", +"fukaya.saitama.jp", +"hanno.saitama.jp", +"hanyu.saitama.jp", +"hasuda.saitama.jp", +"hatogaya.saitama.jp", +"hatoyama.saitama.jp", +"hidaka.saitama.jp", +"higashichichibu.saitama.jp", +"higashimatsuyama.saitama.jp", +"honjo.saitama.jp", +"ina.saitama.jp", +"iruma.saitama.jp", +"iwatsuki.saitama.jp", +"kamiizumi.saitama.jp", +"kamikawa.saitama.jp", +"kamisato.saitama.jp", +"kasukabe.saitama.jp", +"kawagoe.saitama.jp", +"kawaguchi.saitama.jp", +"kawajima.saitama.jp", +"kazo.saitama.jp", +"kitamoto.saitama.jp", +"koshigaya.saitama.jp", +"kounosu.saitama.jp", +"kuki.saitama.jp", +"kumagaya.saitama.jp", +"matsubushi.saitama.jp", +"minano.saitama.jp", +"misato.saitama.jp", +"miyashiro.saitama.jp", +"miyoshi.saitama.jp", +"moroyama.saitama.jp", +"nagatoro.saitama.jp", +"namegawa.saitama.jp", +"niiza.saitama.jp", +"ogano.saitama.jp", +"ogawa.saitama.jp", +"ogose.saitama.jp", +"okegawa.saitama.jp", +"omiya.saitama.jp", +"otaki.saitama.jp", +"ranzan.saitama.jp", +"ryokami.saitama.jp", +"saitama.saitama.jp", +"sakado.saitama.jp", +"satte.saitama.jp", +"sayama.saitama.jp", +"shiki.saitama.jp", +"shiraoka.saitama.jp", +"soka.saitama.jp", +"sugito.saitama.jp", +"toda.saitama.jp", +"tokigawa.saitama.jp", +"tokorozawa.saitama.jp", +"tsurugashima.saitama.jp", +"urawa.saitama.jp", +"warabi.saitama.jp", +"yashio.saitama.jp", +"yokoze.saitama.jp", +"yono.saitama.jp", +"yorii.saitama.jp", +"yoshida.saitama.jp", +"yoshikawa.saitama.jp", +"yoshimi.saitama.jp", +"aisho.shiga.jp", +"gamo.shiga.jp", +"higashiomi.shiga.jp", +"hikone.shiga.jp", +"koka.shiga.jp", +"konan.shiga.jp", +"kosei.shiga.jp", +"koto.shiga.jp", +"kusatsu.shiga.jp", +"maibara.shiga.jp", +"moriyama.shiga.jp", +"nagahama.shiga.jp", +"nishiazai.shiga.jp", +"notogawa.shiga.jp", +"omihachiman.shiga.jp", +"otsu.shiga.jp", +"ritto.shiga.jp", +"ryuoh.shiga.jp", +"takashima.shiga.jp", +"takatsuki.shiga.jp", +"torahime.shiga.jp", +"toyosato.shiga.jp", +"yasu.shiga.jp", +"akagi.shimane.jp", +"ama.shimane.jp", +"gotsu.shimane.jp", +"hamada.shimane.jp", +"higashiizumo.shimane.jp", +"hikawa.shimane.jp", +"hikimi.shimane.jp", +"izumo.shimane.jp", +"kakinoki.shimane.jp", +"masuda.shimane.jp", +"matsue.shimane.jp", +"misato.shimane.jp", +"nishinoshima.shimane.jp", +"ohda.shimane.jp", +"okinoshima.shimane.jp", +"okuizumo.shimane.jp", +"shimane.shimane.jp", +"tamayu.shimane.jp", +"tsuwano.shimane.jp", +"unnan.shimane.jp", +"yakumo.shimane.jp", +"yasugi.shimane.jp", +"yatsuka.shimane.jp", +"arai.shizuoka.jp", +"atami.shizuoka.jp", +"fuji.shizuoka.jp", +"fujieda.shizuoka.jp", +"fujikawa.shizuoka.jp", +"fujinomiya.shizuoka.jp", +"fukuroi.shizuoka.jp", +"gotemba.shizuoka.jp", +"haibara.shizuoka.jp", +"hamamatsu.shizuoka.jp", +"higashiizu.shizuoka.jp", +"ito.shizuoka.jp", +"iwata.shizuoka.jp", +"izu.shizuoka.jp", +"izunokuni.shizuoka.jp", +"kakegawa.shizuoka.jp", +"kannami.shizuoka.jp", +"kawanehon.shizuoka.jp", +"kawazu.shizuoka.jp", +"kikugawa.shizuoka.jp", +"kosai.shizuoka.jp", +"makinohara.shizuoka.jp", +"matsuzaki.shizuoka.jp", +"minamiizu.shizuoka.jp", +"mishima.shizuoka.jp", +"morimachi.shizuoka.jp", +"nishiizu.shizuoka.jp", +"numazu.shizuoka.jp", +"omaezaki.shizuoka.jp", +"shimada.shizuoka.jp", +"shimizu.shizuoka.jp", +"shimoda.shizuoka.jp", +"shizuoka.shizuoka.jp", +"susono.shizuoka.jp", +"yaizu.shizuoka.jp", +"yoshida.shizuoka.jp", +"ashikaga.tochigi.jp", +"bato.tochigi.jp", +"haga.tochigi.jp", +"ichikai.tochigi.jp", +"iwafune.tochigi.jp", +"kaminokawa.tochigi.jp", +"kanuma.tochigi.jp", +"karasuyama.tochigi.jp", +"kuroiso.tochigi.jp", +"mashiko.tochigi.jp", +"mibu.tochigi.jp", +"moka.tochigi.jp", +"motegi.tochigi.jp", +"nasu.tochigi.jp", +"nasushiobara.tochigi.jp", +"nikko.tochigi.jp", +"nishikata.tochigi.jp", +"nogi.tochigi.jp", +"ohira.tochigi.jp", +"ohtawara.tochigi.jp", +"oyama.tochigi.jp", +"sakura.tochigi.jp", +"sano.tochigi.jp", +"shimotsuke.tochigi.jp", +"shioya.tochigi.jp", +"takanezawa.tochigi.jp", +"tochigi.tochigi.jp", +"tsuga.tochigi.jp", +"ujiie.tochigi.jp", +"utsunomiya.tochigi.jp", +"yaita.tochigi.jp", +"aizumi.tokushima.jp", +"anan.tokushima.jp", +"ichiba.tokushima.jp", +"itano.tokushima.jp", +"kainan.tokushima.jp", +"komatsushima.tokushima.jp", +"matsushige.tokushima.jp", +"mima.tokushima.jp", +"minami.tokushima.jp", +"miyoshi.tokushima.jp", +"mugi.tokushima.jp", +"nakagawa.tokushima.jp", +"naruto.tokushima.jp", +"sanagochi.tokushima.jp", +"shishikui.tokushima.jp", +"tokushima.tokushima.jp", +"wajiki.tokushima.jp", +"adachi.tokyo.jp", +"akiruno.tokyo.jp", +"akishima.tokyo.jp", +"aogashima.tokyo.jp", +"arakawa.tokyo.jp", +"bunkyo.tokyo.jp", +"chiyoda.tokyo.jp", +"chofu.tokyo.jp", +"chuo.tokyo.jp", +"edogawa.tokyo.jp", +"fuchu.tokyo.jp", +"fussa.tokyo.jp", +"hachijo.tokyo.jp", +"hachioji.tokyo.jp", +"hamura.tokyo.jp", +"higashikurume.tokyo.jp", +"higashimurayama.tokyo.jp", +"higashiyamato.tokyo.jp", +"hino.tokyo.jp", +"hinode.tokyo.jp", +"hinohara.tokyo.jp", +"inagi.tokyo.jp", +"itabashi.tokyo.jp", +"katsushika.tokyo.jp", +"kita.tokyo.jp", +"kiyose.tokyo.jp", +"kodaira.tokyo.jp", +"koganei.tokyo.jp", +"kokubunji.tokyo.jp", +"komae.tokyo.jp", +"koto.tokyo.jp", +"kouzushima.tokyo.jp", +"kunitachi.tokyo.jp", +"machida.tokyo.jp", +"meguro.tokyo.jp", +"minato.tokyo.jp", +"mitaka.tokyo.jp", +"mizuho.tokyo.jp", +"musashimurayama.tokyo.jp", +"musashino.tokyo.jp", +"nakano.tokyo.jp", +"nerima.tokyo.jp", +"ogasawara.tokyo.jp", +"okutama.tokyo.jp", +"ome.tokyo.jp", +"oshima.tokyo.jp", +"ota.tokyo.jp", +"setagaya.tokyo.jp", +"shibuya.tokyo.jp", +"shinagawa.tokyo.jp", +"shinjuku.tokyo.jp", +"suginami.tokyo.jp", +"sumida.tokyo.jp", +"tachikawa.tokyo.jp", +"taito.tokyo.jp", +"tama.tokyo.jp", +"toshima.tokyo.jp", +"chizu.tottori.jp", +"hino.tottori.jp", +"kawahara.tottori.jp", +"koge.tottori.jp", +"kotoura.tottori.jp", +"misasa.tottori.jp", +"nanbu.tottori.jp", +"nichinan.tottori.jp", +"sakaiminato.tottori.jp", +"tottori.tottori.jp", +"wakasa.tottori.jp", +"yazu.tottori.jp", +"yonago.tottori.jp", +"asahi.toyama.jp", +"fuchu.toyama.jp", +"fukumitsu.toyama.jp", +"funahashi.toyama.jp", +"himi.toyama.jp", +"imizu.toyama.jp", +"inami.toyama.jp", +"johana.toyama.jp", +"kamiichi.toyama.jp", +"kurobe.toyama.jp", +"nakaniikawa.toyama.jp", +"namerikawa.toyama.jp", +"nanto.toyama.jp", +"nyuzen.toyama.jp", +"oyabe.toyama.jp", +"taira.toyama.jp", +"takaoka.toyama.jp", +"tateyama.toyama.jp", +"toga.toyama.jp", +"tonami.toyama.jp", +"toyama.toyama.jp", +"unazuki.toyama.jp", +"uozu.toyama.jp", +"yamada.toyama.jp", +"arida.wakayama.jp", +"aridagawa.wakayama.jp", +"gobo.wakayama.jp", +"hashimoto.wakayama.jp", +"hidaka.wakayama.jp", +"hirogawa.wakayama.jp", +"inami.wakayama.jp", +"iwade.wakayama.jp", +"kainan.wakayama.jp", +"kamitonda.wakayama.jp", +"katsuragi.wakayama.jp", +"kimino.wakayama.jp", +"kinokawa.wakayama.jp", +"kitayama.wakayama.jp", +"koya.wakayama.jp", +"koza.wakayama.jp", +"kozagawa.wakayama.jp", +"kudoyama.wakayama.jp", +"kushimoto.wakayama.jp", +"mihama.wakayama.jp", +"misato.wakayama.jp", +"nachikatsuura.wakayama.jp", +"shingu.wakayama.jp", +"shirahama.wakayama.jp", +"taiji.wakayama.jp", +"tanabe.wakayama.jp", +"wakayama.wakayama.jp", +"yuasa.wakayama.jp", +"yura.wakayama.jp", +"asahi.yamagata.jp", +"funagata.yamagata.jp", +"higashine.yamagata.jp", +"iide.yamagata.jp", +"kahoku.yamagata.jp", +"kaminoyama.yamagata.jp", +"kaneyama.yamagata.jp", +"kawanishi.yamagata.jp", +"mamurogawa.yamagata.jp", +"mikawa.yamagata.jp", +"murayama.yamagata.jp", +"nagai.yamagata.jp", +"nakayama.yamagata.jp", +"nanyo.yamagata.jp", +"nishikawa.yamagata.jp", +"obanazawa.yamagata.jp", +"oe.yamagata.jp", +"oguni.yamagata.jp", +"ohkura.yamagata.jp", +"oishida.yamagata.jp", +"sagae.yamagata.jp", +"sakata.yamagata.jp", +"sakegawa.yamagata.jp", +"shinjo.yamagata.jp", +"shirataka.yamagata.jp", +"shonai.yamagata.jp", +"takahata.yamagata.jp", +"tendo.yamagata.jp", +"tozawa.yamagata.jp", +"tsuruoka.yamagata.jp", +"yamagata.yamagata.jp", +"yamanobe.yamagata.jp", +"yonezawa.yamagata.jp", +"yuza.yamagata.jp", +"abu.yamaguchi.jp", +"hagi.yamaguchi.jp", +"hikari.yamaguchi.jp", +"hofu.yamaguchi.jp", +"iwakuni.yamaguchi.jp", +"kudamatsu.yamaguchi.jp", +"mitou.yamaguchi.jp", +"nagato.yamaguchi.jp", +"oshima.yamaguchi.jp", +"shimonoseki.yamaguchi.jp", +"shunan.yamaguchi.jp", +"tabuse.yamaguchi.jp", +"tokuyama.yamaguchi.jp", +"toyota.yamaguchi.jp", +"ube.yamaguchi.jp", +"yuu.yamaguchi.jp", +"chuo.yamanashi.jp", +"doshi.yamanashi.jp", +"fuefuki.yamanashi.jp", +"fujikawa.yamanashi.jp", +"fujikawaguchiko.yamanashi.jp", +"fujiyoshida.yamanashi.jp", +"hayakawa.yamanashi.jp", +"hokuto.yamanashi.jp", +"ichikawamisato.yamanashi.jp", +"kai.yamanashi.jp", +"kofu.yamanashi.jp", +"koshu.yamanashi.jp", +"kosuge.yamanashi.jp", +"minami-alps.yamanashi.jp", +"minobu.yamanashi.jp", +"nakamichi.yamanashi.jp", +"nanbu.yamanashi.jp", +"narusawa.yamanashi.jp", +"nirasaki.yamanashi.jp", +"nishikatsura.yamanashi.jp", +"oshino.yamanashi.jp", +"otsuki.yamanashi.jp", +"showa.yamanashi.jp", +"tabayama.yamanashi.jp", +"tsuru.yamanashi.jp", +"uenohara.yamanashi.jp", +"yamanakako.yamanashi.jp", +"yamanashi.yamanashi.jp", +"ke", +"ac.ke", +"co.ke", +"go.ke", +"info.ke", +"me.ke", +"mobi.ke", +"ne.ke", +"or.ke", +"sc.ke", +"kg", +"org.kg", +"net.kg", +"com.kg", +"edu.kg", +"gov.kg", +"mil.kg", +"*.kh", +"ki", +"edu.ki", +"biz.ki", +"net.ki", +"org.ki", +"gov.ki", +"info.ki", +"com.ki", +"km", +"org.km", +"nom.km", +"gov.km", +"prd.km", +"tm.km", +"edu.km", +"mil.km", +"ass.km", +"com.km", +"coop.km", +"asso.km", +"presse.km", +"medecin.km", +"notaires.km", +"pharmaciens.km", +"veterinaire.km", +"gouv.km", +"kn", +"net.kn", +"org.kn", +"edu.kn", +"gov.kn", +"kp", +"com.kp", +"edu.kp", +"gov.kp", +"org.kp", +"rep.kp", +"tra.kp", +"kr", +"ac.kr", +"co.kr", +"es.kr", +"go.kr", +"hs.kr", +"kg.kr", +"mil.kr", +"ms.kr", +"ne.kr", +"or.kr", +"pe.kr", +"re.kr", +"sc.kr", +"busan.kr", +"chungbuk.kr", +"chungnam.kr", +"daegu.kr", +"daejeon.kr", +"gangwon.kr", +"gwangju.kr", +"gyeongbuk.kr", +"gyeonggi.kr", +"gyeongnam.kr", +"incheon.kr", +"jeju.kr", +"jeonbuk.kr", +"jeonnam.kr", +"seoul.kr", +"ulsan.kr", +"kw", +"com.kw", +"edu.kw", +"emb.kw", +"gov.kw", +"ind.kw", +"net.kw", +"org.kw", +"ky", +"edu.ky", +"gov.ky", +"com.ky", +"org.ky", +"net.ky", +"kz", +"org.kz", +"edu.kz", +"net.kz", +"gov.kz", +"mil.kz", +"com.kz", +"la", +"int.la", +"net.la", +"info.la", +"edu.la", +"gov.la", +"per.la", +"com.la", +"org.la", +"lb", +"com.lb", +"edu.lb", +"gov.lb", +"net.lb", +"org.lb", +"lc", +"com.lc", +"net.lc", +"co.lc", +"org.lc", +"edu.lc", +"gov.lc", +"li", +"lk", +"gov.lk", +"sch.lk", +"net.lk", +"int.lk", +"com.lk", +"org.lk", +"edu.lk", +"ngo.lk", +"soc.lk", +"web.lk", +"ltd.lk", +"assn.lk", +"grp.lk", +"hotel.lk", +"ac.lk", +"lr", +"com.lr", +"edu.lr", +"gov.lr", +"org.lr", +"net.lr", +"ls", +"ac.ls", +"biz.ls", +"co.ls", +"edu.ls", +"gov.ls", +"info.ls", +"net.ls", +"org.ls", +"sc.ls", +"lt", +"gov.lt", +"lu", +"lv", +"com.lv", +"edu.lv", +"gov.lv", +"org.lv", +"mil.lv", +"id.lv", +"net.lv", +"asn.lv", +"conf.lv", +"ly", +"com.ly", +"net.ly", +"gov.ly", +"plc.ly", +"edu.ly", +"sch.ly", +"med.ly", +"org.ly", +"id.ly", +"ma", +"co.ma", +"net.ma", +"gov.ma", +"org.ma", +"ac.ma", +"press.ma", +"mc", +"tm.mc", +"asso.mc", +"md", +"me", +"co.me", +"net.me", +"org.me", +"edu.me", +"ac.me", +"gov.me", +"its.me", +"priv.me", +"mg", +"org.mg", +"nom.mg", +"gov.mg", +"prd.mg", +"tm.mg", +"edu.mg", +"mil.mg", +"com.mg", +"co.mg", +"mh", +"mil", +"mk", +"com.mk", +"org.mk", +"net.mk", +"edu.mk", +"gov.mk", +"inf.mk", +"name.mk", +"ml", +"com.ml", +"edu.ml", +"gouv.ml", +"gov.ml", +"net.ml", +"org.ml", +"presse.ml", +"*.mm", +"mn", +"gov.mn", +"edu.mn", +"org.mn", +"mo", +"com.mo", +"net.mo", +"org.mo", +"edu.mo", +"gov.mo", +"mobi", +"mp", +"mq", +"mr", +"gov.mr", +"ms", +"com.ms", +"edu.ms", +"gov.ms", +"net.ms", +"org.ms", +"mt", +"com.mt", +"edu.mt", +"net.mt", +"org.mt", +"mu", +"com.mu", +"net.mu", +"org.mu", +"gov.mu", +"ac.mu", +"co.mu", +"or.mu", +"museum", +"academy.museum", +"agriculture.museum", +"air.museum", +"airguard.museum", +"alabama.museum", +"alaska.museum", +"amber.museum", +"ambulance.museum", +"american.museum", +"americana.museum", +"americanantiques.museum", +"americanart.museum", +"amsterdam.museum", +"and.museum", +"annefrank.museum", +"anthro.museum", +"anthropology.museum", +"antiques.museum", +"aquarium.museum", +"arboretum.museum", +"archaeological.museum", +"archaeology.museum", +"architecture.museum", +"art.museum", +"artanddesign.museum", +"artcenter.museum", +"artdeco.museum", +"arteducation.museum", +"artgallery.museum", +"arts.museum", +"artsandcrafts.museum", +"asmatart.museum", +"assassination.museum", +"assisi.museum", +"association.museum", +"astronomy.museum", +"atlanta.museum", +"austin.museum", +"australia.museum", +"automotive.museum", +"aviation.museum", +"axis.museum", +"badajoz.museum", +"baghdad.museum", +"bahn.museum", +"bale.museum", +"baltimore.museum", +"barcelona.museum", +"baseball.museum", +"basel.museum", +"baths.museum", +"bauern.museum", +"beauxarts.museum", +"beeldengeluid.museum", +"bellevue.museum", +"bergbau.museum", +"berkeley.museum", +"berlin.museum", +"bern.museum", +"bible.museum", +"bilbao.museum", +"bill.museum", +"birdart.museum", +"birthplace.museum", +"bonn.museum", +"boston.museum", +"botanical.museum", +"botanicalgarden.museum", +"botanicgarden.museum", +"botany.museum", +"brandywinevalley.museum", +"brasil.museum", +"bristol.museum", +"british.museum", +"britishcolumbia.museum", +"broadcast.museum", +"brunel.museum", +"brussel.museum", +"brussels.museum", +"bruxelles.museum", +"building.museum", +"burghof.museum", +"bus.museum", +"bushey.museum", +"cadaques.museum", +"california.museum", +"cambridge.museum", +"can.museum", +"canada.museum", +"capebreton.museum", +"carrier.museum", +"cartoonart.museum", +"casadelamoneda.museum", +"castle.museum", +"castres.museum", +"celtic.museum", +"center.museum", +"chattanooga.museum", +"cheltenham.museum", +"chesapeakebay.museum", +"chicago.museum", +"children.museum", +"childrens.museum", +"childrensgarden.museum", +"chiropractic.museum", +"chocolate.museum", +"christiansburg.museum", +"cincinnati.museum", +"cinema.museum", +"circus.museum", +"civilisation.museum", +"civilization.museum", +"civilwar.museum", +"clinton.museum", +"clock.museum", +"coal.museum", +"coastaldefence.museum", +"cody.museum", +"coldwar.museum", +"collection.museum", +"colonialwilliamsburg.museum", +"coloradoplateau.museum", +"columbia.museum", +"columbus.museum", +"communication.museum", +"communications.museum", +"community.museum", +"computer.museum", +"computerhistory.museum", +"comunicações.museum", +"contemporary.museum", +"contemporaryart.museum", +"convent.museum", +"copenhagen.museum", +"corporation.museum", +"correios-e-telecomunicações.museum", +"corvette.museum", +"costume.museum", +"countryestate.museum", +"county.museum", +"crafts.museum", +"cranbrook.museum", +"creation.museum", +"cultural.museum", +"culturalcenter.museum", +"culture.museum", +"cyber.museum", +"cymru.museum", +"dali.museum", +"dallas.museum", +"database.museum", +"ddr.museum", +"decorativearts.museum", +"delaware.museum", +"delmenhorst.museum", +"denmark.museum", +"depot.museum", +"design.museum", +"detroit.museum", +"dinosaur.museum", +"discovery.museum", +"dolls.museum", +"donostia.museum", +"durham.museum", +"eastafrica.museum", +"eastcoast.museum", +"education.museum", +"educational.museum", +"egyptian.museum", +"eisenbahn.museum", +"elburg.museum", +"elvendrell.museum", +"embroidery.museum", +"encyclopedic.museum", +"england.museum", +"entomology.museum", +"environment.museum", +"environmentalconservation.museum", +"epilepsy.museum", +"essex.museum", +"estate.museum", +"ethnology.museum", +"exeter.museum", +"exhibition.museum", +"family.museum", +"farm.museum", +"farmequipment.museum", +"farmers.museum", +"farmstead.museum", +"field.museum", +"figueres.museum", +"filatelia.museum", +"film.museum", +"fineart.museum", +"finearts.museum", +"finland.museum", +"flanders.museum", +"florida.museum", +"force.museum", +"fortmissoula.museum", +"fortworth.museum", +"foundation.museum", +"francaise.museum", +"frankfurt.museum", +"franziskaner.museum", +"freemasonry.museum", +"freiburg.museum", +"fribourg.museum", +"frog.museum", +"fundacio.museum", +"furniture.museum", +"gallery.museum", +"garden.museum", +"gateway.museum", +"geelvinck.museum", +"gemological.museum", +"geology.museum", +"georgia.museum", +"giessen.museum", +"glas.museum", +"glass.museum", +"gorge.museum", +"grandrapids.museum", +"graz.museum", +"guernsey.museum", +"halloffame.museum", +"hamburg.museum", +"handson.museum", +"harvestcelebration.museum", +"hawaii.museum", +"health.museum", +"heimatunduhren.museum", +"hellas.museum", +"helsinki.museum", +"hembygdsforbund.museum", +"heritage.museum", +"histoire.museum", +"historical.museum", +"historicalsociety.museum", +"historichouses.museum", +"historisch.museum", +"historisches.museum", +"history.museum", +"historyofscience.museum", +"horology.museum", +"house.museum", +"humanities.museum", +"illustration.museum", +"imageandsound.museum", +"indian.museum", +"indiana.museum", +"indianapolis.museum", +"indianmarket.museum", +"intelligence.museum", +"interactive.museum", +"iraq.museum", +"iron.museum", +"isleofman.museum", +"jamison.museum", +"jefferson.museum", +"jerusalem.museum", +"jewelry.museum", +"jewish.museum", +"jewishart.museum", +"jfk.museum", +"journalism.museum", +"judaica.museum", +"judygarland.museum", +"juedisches.museum", +"juif.museum", +"karate.museum", +"karikatur.museum", +"kids.museum", +"koebenhavn.museum", +"koeln.museum", +"kunst.museum", +"kunstsammlung.museum", +"kunstunddesign.museum", +"labor.museum", +"labour.museum", +"lajolla.museum", +"lancashire.museum", +"landes.museum", +"lans.museum", +"läns.museum", +"larsson.museum", +"lewismiller.museum", +"lincoln.museum", +"linz.museum", +"living.museum", +"livinghistory.museum", +"localhistory.museum", +"london.museum", +"losangeles.museum", +"louvre.museum", +"loyalist.museum", +"lucerne.museum", +"luxembourg.museum", +"luzern.museum", +"mad.museum", +"madrid.museum", +"mallorca.museum", +"manchester.museum", +"mansion.museum", +"mansions.museum", +"manx.museum", +"marburg.museum", +"maritime.museum", +"maritimo.museum", +"maryland.museum", +"marylhurst.museum", +"media.museum", +"medical.museum", +"medizinhistorisches.museum", +"meeres.museum", +"memorial.museum", +"mesaverde.museum", +"michigan.museum", +"midatlantic.museum", +"military.museum", +"mill.museum", +"miners.museum", +"mining.museum", +"minnesota.museum", +"missile.museum", +"missoula.museum", +"modern.museum", +"moma.museum", +"money.museum", +"monmouth.museum", +"monticello.museum", +"montreal.museum", +"moscow.museum", +"motorcycle.museum", +"muenchen.museum", +"muenster.museum", +"mulhouse.museum", +"muncie.museum", +"museet.museum", +"museumcenter.museum", +"museumvereniging.museum", +"music.museum", +"national.museum", +"nationalfirearms.museum", +"nationalheritage.museum", +"nativeamerican.museum", +"naturalhistory.museum", +"naturalhistorymuseum.museum", +"naturalsciences.museum", +"nature.museum", +"naturhistorisches.museum", +"natuurwetenschappen.museum", +"naumburg.museum", +"naval.museum", +"nebraska.museum", +"neues.museum", +"newhampshire.museum", +"newjersey.museum", +"newmexico.museum", +"newport.museum", +"newspaper.museum", +"newyork.museum", +"niepce.museum", +"norfolk.museum", +"north.museum", +"nrw.museum", +"nyc.museum", +"nyny.museum", +"oceanographic.museum", +"oceanographique.museum", +"omaha.museum", +"online.museum", +"ontario.museum", +"openair.museum", +"oregon.museum", +"oregontrail.museum", +"otago.museum", +"oxford.museum", +"pacific.museum", +"paderborn.museum", +"palace.museum", +"paleo.museum", +"palmsprings.museum", +"panama.museum", +"paris.museum", +"pasadena.museum", +"pharmacy.museum", +"philadelphia.museum", +"philadelphiaarea.museum", +"philately.museum", +"phoenix.museum", +"photography.museum", +"pilots.museum", +"pittsburgh.museum", +"planetarium.museum", +"plantation.museum", +"plants.museum", +"plaza.museum", +"portal.museum", +"portland.museum", +"portlligat.museum", +"posts-and-telecommunications.museum", +"preservation.museum", +"presidio.museum", +"press.museum", +"project.museum", +"public.museum", +"pubol.museum", +"quebec.museum", +"railroad.museum", +"railway.museum", +"research.museum", +"resistance.museum", +"riodejaneiro.museum", +"rochester.museum", +"rockart.museum", +"roma.museum", +"russia.museum", +"saintlouis.museum", +"salem.museum", +"salvadordali.museum", +"salzburg.museum", +"sandiego.museum", +"sanfrancisco.museum", +"santabarbara.museum", +"santacruz.museum", +"santafe.museum", +"saskatchewan.museum", +"satx.museum", +"savannahga.museum", +"schlesisches.museum", +"schoenbrunn.museum", +"schokoladen.museum", +"school.museum", +"schweiz.museum", +"science.museum", +"scienceandhistory.museum", +"scienceandindustry.museum", +"sciencecenter.museum", +"sciencecenters.museum", +"science-fiction.museum", +"sciencehistory.museum", +"sciences.museum", +"sciencesnaturelles.museum", +"scotland.museum", +"seaport.museum", +"settlement.museum", +"settlers.museum", +"shell.museum", +"sherbrooke.museum", +"sibenik.museum", +"silk.museum", +"ski.museum", +"skole.museum", +"society.museum", +"sologne.museum", +"soundandvision.museum", +"southcarolina.museum", +"southwest.museum", +"space.museum", +"spy.museum", +"square.museum", +"stadt.museum", +"stalbans.museum", +"starnberg.museum", +"state.museum", +"stateofdelaware.museum", +"station.museum", +"steam.museum", +"steiermark.museum", +"stjohn.museum", +"stockholm.museum", +"stpetersburg.museum", +"stuttgart.museum", +"suisse.museum", +"surgeonshall.museum", +"surrey.museum", +"svizzera.museum", +"sweden.museum", +"sydney.museum", +"tank.museum", +"tcm.museum", +"technology.museum", +"telekommunikation.museum", +"television.museum", +"texas.museum", +"textile.museum", +"theater.museum", +"time.museum", +"timekeeping.museum", +"topology.museum", +"torino.museum", +"touch.museum", +"town.museum", +"transport.museum", +"tree.museum", +"trolley.museum", +"trust.museum", +"trustee.museum", +"uhren.museum", +"ulm.museum", +"undersea.museum", +"university.museum", +"usa.museum", +"usantiques.museum", +"usarts.museum", +"uscountryestate.museum", +"usculture.museum", +"usdecorativearts.museum", +"usgarden.museum", +"ushistory.museum", +"ushuaia.museum", +"uslivinghistory.museum", +"utah.museum", +"uvic.museum", +"valley.museum", +"vantaa.museum", +"versailles.museum", +"viking.museum", +"village.museum", +"virginia.museum", +"virtual.museum", +"virtuel.museum", +"vlaanderen.museum", +"volkenkunde.museum", +"wales.museum", +"wallonie.museum", +"war.museum", +"washingtondc.museum", +"watchandclock.museum", +"watch-and-clock.museum", +"western.museum", +"westfalen.museum", +"whaling.museum", +"wildlife.museum", +"williamsburg.museum", +"windmill.museum", +"workshop.museum", +"york.museum", +"yorkshire.museum", +"yosemite.museum", +"youth.museum", +"zoological.museum", +"zoology.museum", +"ירושלי×.museum", +"иком.museum", +"mv", +"aero.mv", +"biz.mv", +"com.mv", +"coop.mv", +"edu.mv", +"gov.mv", +"info.mv", +"int.mv", +"mil.mv", +"museum.mv", +"name.mv", +"net.mv", +"org.mv", +"pro.mv", +"mw", +"ac.mw", +"biz.mw", +"co.mw", +"com.mw", +"coop.mw", +"edu.mw", +"gov.mw", +"int.mw", +"museum.mw", +"net.mw", +"org.mw", +"mx", +"com.mx", +"org.mx", +"gob.mx", +"edu.mx", +"net.mx", +"my", +"com.my", +"net.my", +"org.my", +"gov.my", +"edu.my", +"mil.my", +"name.my", +"mz", +"ac.mz", +"adv.mz", +"co.mz", +"edu.mz", +"gov.mz", +"mil.mz", +"net.mz", +"org.mz", +"na", +"info.na", +"pro.na", +"name.na", +"school.na", +"or.na", +"dr.na", +"us.na", +"mx.na", +"ca.na", +"in.na", +"cc.na", +"tv.na", +"ws.na", +"mobi.na", +"co.na", +"com.na", +"org.na", +"name", +"nc", +"asso.nc", +"nom.nc", +"ne", +"net", +"nf", +"com.nf", +"net.nf", +"per.nf", +"rec.nf", +"web.nf", +"arts.nf", +"firm.nf", +"info.nf", +"other.nf", +"store.nf", +"ng", +"com.ng", +"edu.ng", +"gov.ng", +"i.ng", +"mil.ng", +"mobi.ng", +"name.ng", +"net.ng", +"org.ng", +"sch.ng", +"ni", +"ac.ni", +"biz.ni", +"co.ni", +"com.ni", +"edu.ni", +"gob.ni", +"in.ni", +"info.ni", +"int.ni", +"mil.ni", +"net.ni", +"nom.ni", +"org.ni", +"web.ni", +"nl", +"no", +"fhs.no", +"vgs.no", +"fylkesbibl.no", +"folkebibl.no", +"museum.no", +"idrett.no", +"priv.no", +"mil.no", +"stat.no", +"dep.no", +"kommune.no", +"herad.no", +"aa.no", +"ah.no", +"bu.no", +"fm.no", +"hl.no", +"hm.no", +"jan-mayen.no", +"mr.no", +"nl.no", +"nt.no", +"of.no", +"ol.no", +"oslo.no", +"rl.no", +"sf.no", +"st.no", +"svalbard.no", +"tm.no", +"tr.no", +"va.no", +"vf.no", +"gs.aa.no", +"gs.ah.no", +"gs.bu.no", +"gs.fm.no", +"gs.hl.no", +"gs.hm.no", +"gs.jan-mayen.no", +"gs.mr.no", +"gs.nl.no", +"gs.nt.no", +"gs.of.no", +"gs.ol.no", +"gs.oslo.no", +"gs.rl.no", +"gs.sf.no", +"gs.st.no", +"gs.svalbard.no", +"gs.tm.no", +"gs.tr.no", +"gs.va.no", +"gs.vf.no", +"akrehamn.no", +"Ã¥krehamn.no", +"algard.no", +"Ã¥lgÃ¥rd.no", +"arna.no", +"brumunddal.no", +"bryne.no", +"bronnoysund.no", +"brønnøysund.no", +"drobak.no", +"drøbak.no", +"egersund.no", +"fetsund.no", +"floro.no", +"florø.no", +"fredrikstad.no", +"hokksund.no", +"honefoss.no", +"hønefoss.no", +"jessheim.no", +"jorpeland.no", +"jørpeland.no", +"kirkenes.no", +"kopervik.no", +"krokstadelva.no", +"langevag.no", +"langevÃ¥g.no", +"leirvik.no", +"mjondalen.no", +"mjøndalen.no", +"mo-i-rana.no", +"mosjoen.no", +"mosjøen.no", +"nesoddtangen.no", +"orkanger.no", +"osoyro.no", +"osøyro.no", +"raholt.no", +"rÃ¥holt.no", +"sandnessjoen.no", +"sandnessjøen.no", +"skedsmokorset.no", +"slattum.no", +"spjelkavik.no", +"stathelle.no", +"stavern.no", +"stjordalshalsen.no", +"stjørdalshalsen.no", +"tananger.no", +"tranby.no", +"vossevangen.no", +"afjord.no", +"Ã¥fjord.no", +"agdenes.no", +"al.no", +"Ã¥l.no", +"alesund.no", +"Ã¥lesund.no", +"alstahaug.no", +"alta.no", +"áltá.no", +"alaheadju.no", +"álaheadju.no", +"alvdal.no", +"amli.no", +"Ã¥mli.no", +"amot.no", +"Ã¥mot.no", +"andebu.no", +"andoy.no", +"andøy.no", +"andasuolo.no", +"ardal.no", +"Ã¥rdal.no", +"aremark.no", +"arendal.no", +"Ã¥s.no", +"aseral.no", +"Ã¥seral.no", +"asker.no", +"askim.no", +"askvoll.no", +"askoy.no", +"askøy.no", +"asnes.no", +"Ã¥snes.no", +"audnedaln.no", +"aukra.no", +"aure.no", +"aurland.no", +"aurskog-holand.no", +"aurskog-høland.no", +"austevoll.no", +"austrheim.no", +"averoy.no", +"averøy.no", +"balestrand.no", +"ballangen.no", +"balat.no", +"bálát.no", +"balsfjord.no", +"bahccavuotna.no", +"báhccavuotna.no", +"bamble.no", +"bardu.no", +"beardu.no", +"beiarn.no", +"bajddar.no", +"bájddar.no", +"baidar.no", +"báidár.no", +"berg.no", +"bergen.no", +"berlevag.no", +"berlevÃ¥g.no", +"bearalvahki.no", +"bearalváhki.no", +"bindal.no", +"birkenes.no", +"bjarkoy.no", +"bjarkøy.no", +"bjerkreim.no", +"bjugn.no", +"bodo.no", +"bodø.no", +"badaddja.no", +"bÃ¥dÃ¥ddjÃ¥.no", +"budejju.no", +"bokn.no", +"bremanger.no", +"bronnoy.no", +"brønnøy.no", +"bygland.no", +"bykle.no", +"barum.no", +"bærum.no", +"bo.telemark.no", +"bø.telemark.no", +"bo.nordland.no", +"bø.nordland.no", +"bievat.no", +"bievát.no", +"bomlo.no", +"bømlo.no", +"batsfjord.no", +"bÃ¥tsfjord.no", +"bahcavuotna.no", +"báhcavuotna.no", +"dovre.no", +"drammen.no", +"drangedal.no", +"dyroy.no", +"dyrøy.no", +"donna.no", +"dønna.no", +"eid.no", +"eidfjord.no", +"eidsberg.no", +"eidskog.no", +"eidsvoll.no", +"eigersund.no", +"elverum.no", +"enebakk.no", +"engerdal.no", +"etne.no", +"etnedal.no", +"evenes.no", +"evenassi.no", +"evenášši.no", +"evje-og-hornnes.no", +"farsund.no", +"fauske.no", +"fuossko.no", +"fuoisku.no", +"fedje.no", +"fet.no", +"finnoy.no", +"finnøy.no", +"fitjar.no", +"fjaler.no", +"fjell.no", +"flakstad.no", +"flatanger.no", +"flekkefjord.no", +"flesberg.no", +"flora.no", +"fla.no", +"flÃ¥.no", +"folldal.no", +"forsand.no", +"fosnes.no", +"frei.no", +"frogn.no", +"froland.no", +"frosta.no", +"frana.no", +"fræna.no", +"froya.no", +"frøya.no", +"fusa.no", +"fyresdal.no", +"forde.no", +"førde.no", +"gamvik.no", +"gangaviika.no", +"gáŋgaviika.no", +"gaular.no", +"gausdal.no", +"gildeskal.no", +"gildeskÃ¥l.no", +"giske.no", +"gjemnes.no", +"gjerdrum.no", +"gjerstad.no", +"gjesdal.no", +"gjovik.no", +"gjøvik.no", +"gloppen.no", +"gol.no", +"gran.no", +"grane.no", +"granvin.no", +"gratangen.no", +"grimstad.no", +"grong.no", +"kraanghke.no", +"krÃ¥anghke.no", +"grue.no", +"gulen.no", +"hadsel.no", +"halden.no", +"halsa.no", +"hamar.no", +"hamaroy.no", +"habmer.no", +"hábmer.no", +"hapmir.no", +"hápmir.no", +"hammerfest.no", +"hammarfeasta.no", +"hámmárfeasta.no", +"haram.no", +"hareid.no", +"harstad.no", +"hasvik.no", +"aknoluokta.no", +"ákÅ‹oluokta.no", +"hattfjelldal.no", +"aarborte.no", +"haugesund.no", +"hemne.no", +"hemnes.no", +"hemsedal.no", +"heroy.more-og-romsdal.no", +"herøy.møre-og-romsdal.no", +"heroy.nordland.no", +"herøy.nordland.no", +"hitra.no", +"hjartdal.no", +"hjelmeland.no", +"hobol.no", +"hobøl.no", +"hof.no", +"hol.no", +"hole.no", +"holmestrand.no", +"holtalen.no", +"holtÃ¥len.no", +"hornindal.no", +"horten.no", +"hurdal.no", +"hurum.no", +"hvaler.no", +"hyllestad.no", +"hagebostad.no", +"hægebostad.no", +"hoyanger.no", +"høyanger.no", +"hoylandet.no", +"høylandet.no", +"ha.no", +"hÃ¥.no", +"ibestad.no", +"inderoy.no", +"inderøy.no", +"iveland.no", +"jevnaker.no", +"jondal.no", +"jolster.no", +"jølster.no", +"karasjok.no", +"karasjohka.no", +"kárášjohka.no", +"karlsoy.no", +"galsa.no", +"gálsá.no", +"karmoy.no", +"karmøy.no", +"kautokeino.no", +"guovdageaidnu.no", +"klepp.no", +"klabu.no", +"klæbu.no", +"kongsberg.no", +"kongsvinger.no", +"kragero.no", +"kragerø.no", +"kristiansand.no", +"kristiansund.no", +"krodsherad.no", +"krødsherad.no", +"kvalsund.no", +"rahkkeravju.no", +"ráhkkerávju.no", +"kvam.no", +"kvinesdal.no", +"kvinnherad.no", +"kviteseid.no", +"kvitsoy.no", +"kvitsøy.no", +"kvafjord.no", +"kvæfjord.no", +"giehtavuoatna.no", +"kvanangen.no", +"kvænangen.no", +"navuotna.no", +"návuotna.no", +"kafjord.no", +"kÃ¥fjord.no", +"gaivuotna.no", +"gáivuotna.no", +"larvik.no", +"lavangen.no", +"lavagis.no", +"loabat.no", +"loabát.no", +"lebesby.no", +"davvesiida.no", +"leikanger.no", +"leirfjord.no", +"leka.no", +"leksvik.no", +"lenvik.no", +"leangaviika.no", +"leaÅ‹gaviika.no", +"lesja.no", +"levanger.no", +"lier.no", +"lierne.no", +"lillehammer.no", +"lillesand.no", +"lindesnes.no", +"lindas.no", +"lindÃ¥s.no", +"lom.no", +"loppa.no", +"lahppi.no", +"láhppi.no", +"lund.no", +"lunner.no", +"luroy.no", +"lurøy.no", +"luster.no", +"lyngdal.no", +"lyngen.no", +"ivgu.no", +"lardal.no", +"lerdal.no", +"lærdal.no", +"lodingen.no", +"lødingen.no", +"lorenskog.no", +"lørenskog.no", +"loten.no", +"løten.no", +"malvik.no", +"masoy.no", +"mÃ¥søy.no", +"muosat.no", +"muosát.no", +"mandal.no", +"marker.no", +"marnardal.no", +"masfjorden.no", +"meland.no", +"meldal.no", +"melhus.no", +"meloy.no", +"meløy.no", +"meraker.no", +"merÃ¥ker.no", +"moareke.no", +"moÃ¥reke.no", +"midsund.no", +"midtre-gauldal.no", +"modalen.no", +"modum.no", +"molde.no", +"moskenes.no", +"moss.no", +"mosvik.no", +"malselv.no", +"mÃ¥lselv.no", +"malatvuopmi.no", +"málatvuopmi.no", +"namdalseid.no", +"aejrie.no", +"namsos.no", +"namsskogan.no", +"naamesjevuemie.no", +"nååmesjevuemie.no", +"laakesvuemie.no", +"nannestad.no", +"narvik.no", +"narviika.no", +"naustdal.no", +"nedre-eiker.no", +"nes.akershus.no", +"nes.buskerud.no", +"nesna.no", +"nesodden.no", +"nesseby.no", +"unjarga.no", +"unjárga.no", +"nesset.no", +"nissedal.no", +"nittedal.no", +"nord-aurdal.no", +"nord-fron.no", +"nord-odal.no", +"norddal.no", +"nordkapp.no", +"davvenjarga.no", +"davvenjárga.no", +"nordre-land.no", +"nordreisa.no", +"raisa.no", +"ráisa.no", +"nore-og-uvdal.no", +"notodden.no", +"naroy.no", +"nærøy.no", +"notteroy.no", +"nøtterøy.no", +"odda.no", +"oksnes.no", +"øksnes.no", +"oppdal.no", +"oppegard.no", +"oppegÃ¥rd.no", +"orkdal.no", +"orland.no", +"ørland.no", +"orskog.no", +"ørskog.no", +"orsta.no", +"ørsta.no", +"os.hedmark.no", +"os.hordaland.no", +"osen.no", +"osteroy.no", +"osterøy.no", +"ostre-toten.no", +"østre-toten.no", +"overhalla.no", +"ovre-eiker.no", +"øvre-eiker.no", +"oyer.no", +"øyer.no", +"oygarden.no", +"øygarden.no", +"oystre-slidre.no", +"øystre-slidre.no", +"porsanger.no", +"porsangu.no", +"porsáŋgu.no", +"porsgrunn.no", +"radoy.no", +"radøy.no", +"rakkestad.no", +"rana.no", +"ruovat.no", +"randaberg.no", +"rauma.no", +"rendalen.no", +"rennebu.no", +"rennesoy.no", +"rennesøy.no", +"rindal.no", +"ringebu.no", +"ringerike.no", +"ringsaker.no", +"rissa.no", +"risor.no", +"risør.no", +"roan.no", +"rollag.no", +"rygge.no", +"ralingen.no", +"rælingen.no", +"rodoy.no", +"rødøy.no", +"romskog.no", +"rømskog.no", +"roros.no", +"røros.no", +"rost.no", +"røst.no", +"royken.no", +"røyken.no", +"royrvik.no", +"røyrvik.no", +"rade.no", +"rÃ¥de.no", +"salangen.no", +"siellak.no", +"saltdal.no", +"salat.no", +"sálát.no", +"sálat.no", +"samnanger.no", +"sande.more-og-romsdal.no", +"sande.møre-og-romsdal.no", +"sande.vestfold.no", +"sandefjord.no", +"sandnes.no", +"sandoy.no", +"sandøy.no", +"sarpsborg.no", +"sauda.no", +"sauherad.no", +"sel.no", +"selbu.no", +"selje.no", +"seljord.no", +"sigdal.no", +"siljan.no", +"sirdal.no", +"skaun.no", +"skedsmo.no", +"ski.no", +"skien.no", +"skiptvet.no", +"skjervoy.no", +"skjervøy.no", +"skierva.no", +"skiervá.no", +"skjak.no", +"skjÃ¥k.no", +"skodje.no", +"skanland.no", +"skÃ¥nland.no", +"skanit.no", +"skánit.no", +"smola.no", +"smøla.no", +"snillfjord.no", +"snasa.no", +"snÃ¥sa.no", +"snoasa.no", +"snaase.no", +"snÃ¥ase.no", +"sogndal.no", +"sokndal.no", +"sola.no", +"solund.no", +"songdalen.no", +"sortland.no", +"spydeberg.no", +"stange.no", +"stavanger.no", +"steigen.no", +"steinkjer.no", +"stjordal.no", +"stjørdal.no", +"stokke.no", +"stor-elvdal.no", +"stord.no", +"stordal.no", +"storfjord.no", +"omasvuotna.no", +"strand.no", +"stranda.no", +"stryn.no", +"sula.no", +"suldal.no", +"sund.no", +"sunndal.no", +"surnadal.no", +"sveio.no", +"svelvik.no", +"sykkylven.no", +"sogne.no", +"søgne.no", +"somna.no", +"sømna.no", +"sondre-land.no", +"søndre-land.no", +"sor-aurdal.no", +"sør-aurdal.no", +"sor-fron.no", +"sør-fron.no", +"sor-odal.no", +"sør-odal.no", +"sor-varanger.no", +"sør-varanger.no", +"matta-varjjat.no", +"mátta-várjjat.no", +"sorfold.no", +"sørfold.no", +"sorreisa.no", +"sørreisa.no", +"sorum.no", +"sørum.no", +"tana.no", +"deatnu.no", +"time.no", +"tingvoll.no", +"tinn.no", +"tjeldsund.no", +"dielddanuorri.no", +"tjome.no", +"tjøme.no", +"tokke.no", +"tolga.no", +"torsken.no", +"tranoy.no", +"tranøy.no", +"tromso.no", +"tromsø.no", +"tromsa.no", +"romsa.no", +"trondheim.no", +"troandin.no", +"trysil.no", +"trana.no", +"træna.no", +"trogstad.no", +"trøgstad.no", +"tvedestrand.no", +"tydal.no", +"tynset.no", +"tysfjord.no", +"divtasvuodna.no", +"divttasvuotna.no", +"tysnes.no", +"tysvar.no", +"tysvær.no", +"tonsberg.no", +"tønsberg.no", +"ullensaker.no", +"ullensvang.no", +"ulvik.no", +"utsira.no", +"vadso.no", +"vadsø.no", +"cahcesuolo.no", +"Äáhcesuolo.no", +"vaksdal.no", +"valle.no", +"vang.no", +"vanylven.no", +"vardo.no", +"vardø.no", +"varggat.no", +"várggát.no", +"vefsn.no", +"vaapste.no", +"vega.no", +"vegarshei.no", +"vegÃ¥rshei.no", +"vennesla.no", +"verdal.no", +"verran.no", +"vestby.no", +"vestnes.no", +"vestre-slidre.no", +"vestre-toten.no", +"vestvagoy.no", +"vestvÃ¥gøy.no", +"vevelstad.no", +"vik.no", +"vikna.no", +"vindafjord.no", +"volda.no", +"voss.no", +"varoy.no", +"værøy.no", +"vagan.no", +"vÃ¥gan.no", +"voagat.no", +"vagsoy.no", +"vÃ¥gsøy.no", +"vaga.no", +"vÃ¥gÃ¥.no", +"valer.ostfold.no", +"vÃ¥ler.østfold.no", +"valer.hedmark.no", +"vÃ¥ler.hedmark.no", +"*.np", +"nr", +"biz.nr", +"info.nr", +"gov.nr", +"edu.nr", +"org.nr", +"net.nr", +"com.nr", +"nu", +"nz", +"ac.nz", +"co.nz", +"cri.nz", +"geek.nz", +"gen.nz", +"govt.nz", +"health.nz", +"iwi.nz", +"kiwi.nz", +"maori.nz", +"mil.nz", +"mÄori.nz", +"net.nz", +"org.nz", +"parliament.nz", +"school.nz", +"om", +"co.om", +"com.om", +"edu.om", +"gov.om", +"med.om", +"museum.om", +"net.om", +"org.om", +"pro.om", +"onion", +"org", +"pa", +"ac.pa", +"gob.pa", +"com.pa", +"org.pa", +"sld.pa", +"edu.pa", +"net.pa", +"ing.pa", +"abo.pa", +"med.pa", +"nom.pa", +"pe", +"edu.pe", +"gob.pe", +"nom.pe", +"mil.pe", +"org.pe", +"com.pe", +"net.pe", +"pf", +"com.pf", +"org.pf", +"edu.pf", +"*.pg", +"ph", +"com.ph", +"net.ph", +"org.ph", +"gov.ph", +"edu.ph", +"ngo.ph", +"mil.ph", +"i.ph", +"pk", +"com.pk", +"net.pk", +"edu.pk", +"org.pk", +"fam.pk", +"biz.pk", +"web.pk", +"gov.pk", +"gob.pk", +"gok.pk", +"gon.pk", +"gop.pk", +"gos.pk", +"info.pk", +"pl", +"com.pl", +"net.pl", +"org.pl", +"aid.pl", +"agro.pl", +"atm.pl", +"auto.pl", +"biz.pl", +"edu.pl", +"gmina.pl", +"gsm.pl", +"info.pl", +"mail.pl", +"miasta.pl", +"media.pl", +"mil.pl", +"nieruchomosci.pl", +"nom.pl", +"pc.pl", +"powiat.pl", +"priv.pl", +"realestate.pl", +"rel.pl", +"sex.pl", +"shop.pl", +"sklep.pl", +"sos.pl", +"szkola.pl", +"targi.pl", +"tm.pl", +"tourism.pl", +"travel.pl", +"turystyka.pl", +"gov.pl", +"ap.gov.pl", +"ic.gov.pl", +"is.gov.pl", +"us.gov.pl", +"kmpsp.gov.pl", +"kppsp.gov.pl", +"kwpsp.gov.pl", +"psp.gov.pl", +"wskr.gov.pl", +"kwp.gov.pl", +"mw.gov.pl", +"ug.gov.pl", +"um.gov.pl", +"umig.gov.pl", +"ugim.gov.pl", +"upow.gov.pl", +"uw.gov.pl", +"starostwo.gov.pl", +"pa.gov.pl", +"po.gov.pl", +"psse.gov.pl", +"pup.gov.pl", +"rzgw.gov.pl", +"sa.gov.pl", +"so.gov.pl", +"sr.gov.pl", +"wsa.gov.pl", +"sko.gov.pl", +"uzs.gov.pl", +"wiih.gov.pl", +"winb.gov.pl", +"pinb.gov.pl", +"wios.gov.pl", +"witd.gov.pl", +"wzmiuw.gov.pl", +"piw.gov.pl", +"wiw.gov.pl", +"griw.gov.pl", +"wif.gov.pl", +"oum.gov.pl", +"sdn.gov.pl", +"zp.gov.pl", +"uppo.gov.pl", +"mup.gov.pl", +"wuoz.gov.pl", +"konsulat.gov.pl", +"oirm.gov.pl", +"augustow.pl", +"babia-gora.pl", +"bedzin.pl", +"beskidy.pl", +"bialowieza.pl", +"bialystok.pl", +"bielawa.pl", +"bieszczady.pl", +"boleslawiec.pl", +"bydgoszcz.pl", +"bytom.pl", +"cieszyn.pl", +"czeladz.pl", +"czest.pl", +"dlugoleka.pl", +"elblag.pl", +"elk.pl", +"glogow.pl", +"gniezno.pl", +"gorlice.pl", +"grajewo.pl", +"ilawa.pl", +"jaworzno.pl", +"jelenia-gora.pl", +"jgora.pl", +"kalisz.pl", +"kazimierz-dolny.pl", +"karpacz.pl", +"kartuzy.pl", +"kaszuby.pl", +"katowice.pl", +"kepno.pl", +"ketrzyn.pl", +"klodzko.pl", +"kobierzyce.pl", +"kolobrzeg.pl", +"konin.pl", +"konskowola.pl", +"kutno.pl", +"lapy.pl", +"lebork.pl", +"legnica.pl", +"lezajsk.pl", +"limanowa.pl", +"lomza.pl", +"lowicz.pl", +"lubin.pl", +"lukow.pl", +"malbork.pl", +"malopolska.pl", +"mazowsze.pl", +"mazury.pl", +"mielec.pl", +"mielno.pl", +"mragowo.pl", +"naklo.pl", +"nowaruda.pl", +"nysa.pl", +"olawa.pl", +"olecko.pl", +"olkusz.pl", +"olsztyn.pl", +"opoczno.pl", +"opole.pl", +"ostroda.pl", +"ostroleka.pl", +"ostrowiec.pl", +"ostrowwlkp.pl", +"pila.pl", +"pisz.pl", +"podhale.pl", +"podlasie.pl", +"polkowice.pl", +"pomorze.pl", +"pomorskie.pl", +"prochowice.pl", +"pruszkow.pl", +"przeworsk.pl", +"pulawy.pl", +"radom.pl", +"rawa-maz.pl", +"rybnik.pl", +"rzeszow.pl", +"sanok.pl", +"sejny.pl", +"slask.pl", +"slupsk.pl", +"sosnowiec.pl", +"stalowa-wola.pl", +"skoczow.pl", +"starachowice.pl", +"stargard.pl", +"suwalki.pl", +"swidnica.pl", +"swiebodzin.pl", +"swinoujscie.pl", +"szczecin.pl", +"szczytno.pl", +"tarnobrzeg.pl", +"tgory.pl", +"turek.pl", +"tychy.pl", +"ustka.pl", +"walbrzych.pl", +"warmia.pl", +"warszawa.pl", +"waw.pl", +"wegrow.pl", +"wielun.pl", +"wlocl.pl", +"wloclawek.pl", +"wodzislaw.pl", +"wolomin.pl", +"wroclaw.pl", +"zachpomor.pl", +"zagan.pl", +"zarow.pl", +"zgora.pl", +"zgorzelec.pl", +"pm", +"pn", +"gov.pn", +"co.pn", +"org.pn", +"edu.pn", +"net.pn", +"post", +"pr", +"com.pr", +"net.pr", +"org.pr", +"gov.pr", +"edu.pr", +"isla.pr", +"pro.pr", +"biz.pr", +"info.pr", +"name.pr", +"est.pr", +"prof.pr", +"ac.pr", +"pro", +"aaa.pro", +"aca.pro", +"acct.pro", +"avocat.pro", +"bar.pro", +"cpa.pro", +"eng.pro", +"jur.pro", +"law.pro", +"med.pro", +"recht.pro", +"ps", +"edu.ps", +"gov.ps", +"sec.ps", +"plo.ps", +"com.ps", +"org.ps", +"net.ps", +"pt", +"net.pt", +"gov.pt", +"org.pt", +"edu.pt", +"int.pt", +"publ.pt", +"com.pt", +"nome.pt", +"pw", +"co.pw", +"ne.pw", +"or.pw", +"ed.pw", +"go.pw", +"belau.pw", +"py", +"com.py", +"coop.py", +"edu.py", +"gov.py", +"mil.py", +"net.py", +"org.py", +"qa", +"com.qa", +"edu.qa", +"gov.qa", +"mil.qa", +"name.qa", +"net.qa", +"org.qa", +"sch.qa", +"re", +"asso.re", +"com.re", +"nom.re", +"ro", +"arts.ro", +"com.ro", +"firm.ro", +"info.ro", +"nom.ro", +"nt.ro", +"org.ro", +"rec.ro", +"store.ro", +"tm.ro", +"www.ro", +"rs", +"ac.rs", +"co.rs", +"edu.rs", +"gov.rs", +"in.rs", +"org.rs", +"ru", +"rw", +"ac.rw", +"co.rw", +"coop.rw", +"gov.rw", +"mil.rw", +"net.rw", +"org.rw", +"sa", +"com.sa", +"net.sa", +"org.sa", +"gov.sa", +"med.sa", +"pub.sa", +"edu.sa", +"sch.sa", +"sb", +"com.sb", +"edu.sb", +"gov.sb", +"net.sb", +"org.sb", +"sc", +"com.sc", +"gov.sc", +"net.sc", +"org.sc", +"edu.sc", +"sd", +"com.sd", +"net.sd", +"org.sd", +"edu.sd", +"med.sd", +"tv.sd", +"gov.sd", +"info.sd", +"se", +"a.se", +"ac.se", +"b.se", +"bd.se", +"brand.se", +"c.se", +"d.se", +"e.se", +"f.se", +"fh.se", +"fhsk.se", +"fhv.se", +"g.se", +"h.se", +"i.se", +"k.se", +"komforb.se", +"kommunalforbund.se", +"komvux.se", +"l.se", +"lanbib.se", +"m.se", +"n.se", +"naturbruksgymn.se", +"o.se", +"org.se", +"p.se", +"parti.se", +"pp.se", +"press.se", +"r.se", +"s.se", +"t.se", +"tm.se", +"u.se", +"w.se", +"x.se", +"y.se", +"z.se", +"sg", +"com.sg", +"net.sg", +"org.sg", +"gov.sg", +"edu.sg", +"per.sg", +"sh", +"com.sh", +"net.sh", +"gov.sh", +"org.sh", +"mil.sh", +"si", +"sj", +"sk", +"sl", +"com.sl", +"net.sl", +"edu.sl", +"gov.sl", +"org.sl", +"sm", +"sn", +"art.sn", +"com.sn", +"edu.sn", +"gouv.sn", +"org.sn", +"perso.sn", +"univ.sn", +"so", +"com.so", +"edu.so", +"gov.so", +"me.so", +"net.so", +"org.so", +"sr", +"ss", +"biz.ss", +"com.ss", +"edu.ss", +"gov.ss", +"net.ss", +"org.ss", +"st", +"co.st", +"com.st", +"consulado.st", +"edu.st", +"embaixada.st", +"gov.st", +"mil.st", +"net.st", +"org.st", +"principe.st", +"saotome.st", +"store.st", +"su", +"sv", +"com.sv", +"edu.sv", +"gob.sv", +"org.sv", +"red.sv", +"sx", +"gov.sx", +"sy", +"edu.sy", +"gov.sy", +"net.sy", +"mil.sy", +"com.sy", +"org.sy", +"sz", +"co.sz", +"ac.sz", +"org.sz", +"tc", +"td", +"tel", +"tf", +"tg", +"th", +"ac.th", +"co.th", +"go.th", +"in.th", +"mi.th", +"net.th", +"or.th", +"tj", +"ac.tj", +"biz.tj", +"co.tj", +"com.tj", +"edu.tj", +"go.tj", +"gov.tj", +"int.tj", +"mil.tj", +"name.tj", +"net.tj", +"nic.tj", +"org.tj", +"test.tj", +"web.tj", +"tk", +"tl", +"gov.tl", +"tm", +"com.tm", +"co.tm", +"org.tm", +"net.tm", +"nom.tm", +"gov.tm", +"mil.tm", +"edu.tm", +"tn", +"com.tn", +"ens.tn", +"fin.tn", +"gov.tn", +"ind.tn", +"intl.tn", +"nat.tn", +"net.tn", +"org.tn", +"info.tn", +"perso.tn", +"tourism.tn", +"edunet.tn", +"rnrt.tn", +"rns.tn", +"rnu.tn", +"mincom.tn", +"agrinet.tn", +"defense.tn", +"turen.tn", +"to", +"com.to", +"gov.to", +"net.to", +"org.to", +"edu.to", +"mil.to", +"tr", +"av.tr", +"bbs.tr", +"bel.tr", +"biz.tr", +"com.tr", +"dr.tr", +"edu.tr", +"gen.tr", +"gov.tr", +"info.tr", +"mil.tr", +"k12.tr", +"kep.tr", +"name.tr", +"net.tr", +"org.tr", +"pol.tr", +"tel.tr", +"tsk.tr", +"tv.tr", +"web.tr", +"nc.tr", +"gov.nc.tr", +"tt", +"co.tt", +"com.tt", +"org.tt", +"net.tt", +"biz.tt", +"info.tt", +"pro.tt", +"int.tt", +"coop.tt", +"jobs.tt", +"mobi.tt", +"travel.tt", +"museum.tt", +"aero.tt", +"name.tt", +"gov.tt", +"edu.tt", +"tv", +"tw", +"edu.tw", +"gov.tw", +"mil.tw", +"com.tw", +"net.tw", +"org.tw", +"idv.tw", +"game.tw", +"ebiz.tw", +"club.tw", +"網路.tw", +"組織.tw", +"商業.tw", +"tz", +"ac.tz", +"co.tz", +"go.tz", +"hotel.tz", +"info.tz", +"me.tz", +"mil.tz", +"mobi.tz", +"ne.tz", +"or.tz", +"sc.tz", +"tv.tz", +"ua", +"com.ua", +"edu.ua", +"gov.ua", +"in.ua", +"net.ua", +"org.ua", +"cherkassy.ua", +"cherkasy.ua", +"chernigov.ua", +"chernihiv.ua", +"chernivtsi.ua", +"chernovtsy.ua", +"ck.ua", +"cn.ua", +"cr.ua", +"crimea.ua", +"cv.ua", +"dn.ua", +"dnepropetrovsk.ua", +"dnipropetrovsk.ua", +"dominic.ua", +"donetsk.ua", +"dp.ua", +"if.ua", +"ivano-frankivsk.ua", +"kh.ua", +"kharkiv.ua", +"kharkov.ua", +"kherson.ua", +"khmelnitskiy.ua", +"khmelnytskyi.ua", +"kiev.ua", +"kirovograd.ua", +"km.ua", +"kr.ua", +"krym.ua", +"ks.ua", +"kv.ua", +"kyiv.ua", +"lg.ua", +"lt.ua", +"lugansk.ua", +"lutsk.ua", +"lv.ua", +"lviv.ua", +"mk.ua", +"mykolaiv.ua", +"nikolaev.ua", +"od.ua", +"odesa.ua", +"odessa.ua", +"pl.ua", +"poltava.ua", +"rivne.ua", +"rovno.ua", +"rv.ua", +"sb.ua", +"sebastopol.ua", +"sevastopol.ua", +"sm.ua", +"sumy.ua", +"te.ua", +"ternopil.ua", +"uz.ua", +"uzhgorod.ua", +"vinnica.ua", +"vinnytsia.ua", +"vn.ua", +"volyn.ua", +"yalta.ua", +"zaporizhzhe.ua", +"zaporizhzhia.ua", +"zhitomir.ua", +"zhytomyr.ua", +"zp.ua", +"zt.ua", +"ug", +"co.ug", +"or.ug", +"ac.ug", +"sc.ug", +"go.ug", +"ne.ug", +"com.ug", +"org.ug", +"uk", +"ac.uk", +"co.uk", +"gov.uk", +"ltd.uk", +"me.uk", +"net.uk", +"nhs.uk", +"org.uk", +"plc.uk", +"police.uk", +"*.sch.uk", +"us", +"dni.us", +"fed.us", +"isa.us", +"kids.us", +"nsn.us", +"ak.us", +"al.us", +"ar.us", +"as.us", +"az.us", +"ca.us", +"co.us", +"ct.us", +"dc.us", +"de.us", +"fl.us", +"ga.us", +"gu.us", +"hi.us", +"ia.us", +"id.us", +"il.us", +"in.us", +"ks.us", +"ky.us", +"la.us", +"ma.us", +"md.us", +"me.us", +"mi.us", +"mn.us", +"mo.us", +"ms.us", +"mt.us", +"nc.us", +"nd.us", +"ne.us", +"nh.us", +"nj.us", +"nm.us", +"nv.us", +"ny.us", +"oh.us", +"ok.us", +"or.us", +"pa.us", +"pr.us", +"ri.us", +"sc.us", +"sd.us", +"tn.us", +"tx.us", +"ut.us", +"vi.us", +"vt.us", +"va.us", +"wa.us", +"wi.us", +"wv.us", +"wy.us", +"k12.ak.us", +"k12.al.us", +"k12.ar.us", +"k12.as.us", +"k12.az.us", +"k12.ca.us", +"k12.co.us", +"k12.ct.us", +"k12.dc.us", +"k12.de.us", +"k12.fl.us", +"k12.ga.us", +"k12.gu.us", +"k12.ia.us", +"k12.id.us", +"k12.il.us", +"k12.in.us", +"k12.ks.us", +"k12.ky.us", +"k12.la.us", +"k12.ma.us", +"k12.md.us", +"k12.me.us", +"k12.mi.us", +"k12.mn.us", +"k12.mo.us", +"k12.ms.us", +"k12.mt.us", +"k12.nc.us", +"k12.ne.us", +"k12.nh.us", +"k12.nj.us", +"k12.nm.us", +"k12.nv.us", +"k12.ny.us", +"k12.oh.us", +"k12.ok.us", +"k12.or.us", +"k12.pa.us", +"k12.pr.us", +"k12.ri.us", +"k12.sc.us", +"k12.tn.us", +"k12.tx.us", +"k12.ut.us", +"k12.vi.us", +"k12.vt.us", +"k12.va.us", +"k12.wa.us", +"k12.wi.us", +"k12.wy.us", +"cc.ak.us", +"cc.al.us", +"cc.ar.us", +"cc.as.us", +"cc.az.us", +"cc.ca.us", +"cc.co.us", +"cc.ct.us", +"cc.dc.us", +"cc.de.us", +"cc.fl.us", +"cc.ga.us", +"cc.gu.us", +"cc.hi.us", +"cc.ia.us", +"cc.id.us", +"cc.il.us", +"cc.in.us", +"cc.ks.us", +"cc.ky.us", +"cc.la.us", +"cc.ma.us", +"cc.md.us", +"cc.me.us", +"cc.mi.us", +"cc.mn.us", +"cc.mo.us", +"cc.ms.us", +"cc.mt.us", +"cc.nc.us", +"cc.nd.us", +"cc.ne.us", +"cc.nh.us", +"cc.nj.us", +"cc.nm.us", +"cc.nv.us", +"cc.ny.us", +"cc.oh.us", +"cc.ok.us", +"cc.or.us", +"cc.pa.us", +"cc.pr.us", +"cc.ri.us", +"cc.sc.us", +"cc.sd.us", +"cc.tn.us", +"cc.tx.us", +"cc.ut.us", +"cc.vi.us", +"cc.vt.us", +"cc.va.us", +"cc.wa.us", +"cc.wi.us", +"cc.wv.us", +"cc.wy.us", +"lib.ak.us", +"lib.al.us", +"lib.ar.us", +"lib.as.us", +"lib.az.us", +"lib.ca.us", +"lib.co.us", +"lib.ct.us", +"lib.dc.us", +"lib.fl.us", +"lib.ga.us", +"lib.gu.us", +"lib.hi.us", +"lib.ia.us", +"lib.id.us", +"lib.il.us", +"lib.in.us", +"lib.ks.us", +"lib.ky.us", +"lib.la.us", +"lib.ma.us", +"lib.md.us", +"lib.me.us", +"lib.mi.us", +"lib.mn.us", +"lib.mo.us", +"lib.ms.us", +"lib.mt.us", +"lib.nc.us", +"lib.nd.us", +"lib.ne.us", +"lib.nh.us", +"lib.nj.us", +"lib.nm.us", +"lib.nv.us", +"lib.ny.us", +"lib.oh.us", +"lib.ok.us", +"lib.or.us", +"lib.pa.us", +"lib.pr.us", +"lib.ri.us", +"lib.sc.us", +"lib.sd.us", +"lib.tn.us", +"lib.tx.us", +"lib.ut.us", +"lib.vi.us", +"lib.vt.us", +"lib.va.us", +"lib.wa.us", +"lib.wi.us", +"lib.wy.us", +"pvt.k12.ma.us", +"chtr.k12.ma.us", +"paroch.k12.ma.us", +"ann-arbor.mi.us", +"cog.mi.us", +"dst.mi.us", +"eaton.mi.us", +"gen.mi.us", +"mus.mi.us", +"tec.mi.us", +"washtenaw.mi.us", +"uy", +"com.uy", +"edu.uy", +"gub.uy", +"mil.uy", +"net.uy", +"org.uy", +"uz", +"co.uz", +"com.uz", +"net.uz", +"org.uz", +"va", +"vc", +"com.vc", +"net.vc", +"org.vc", +"gov.vc", +"mil.vc", +"edu.vc", +"ve", +"arts.ve", +"co.ve", +"com.ve", +"e12.ve", +"edu.ve", +"firm.ve", +"gob.ve", +"gov.ve", +"info.ve", +"int.ve", +"mil.ve", +"net.ve", +"org.ve", +"rec.ve", +"store.ve", +"tec.ve", +"web.ve", +"vg", +"vi", +"co.vi", +"com.vi", +"k12.vi", +"net.vi", +"org.vi", +"vn", +"com.vn", +"net.vn", +"org.vn", +"edu.vn", +"gov.vn", +"int.vn", +"ac.vn", +"biz.vn", +"info.vn", +"name.vn", +"pro.vn", +"health.vn", +"vu", +"com.vu", +"edu.vu", +"net.vu", +"org.vu", +"wf", +"ws", +"com.ws", +"net.ws", +"org.ws", +"gov.ws", +"edu.ws", +"yt", +"امارات", +"Õ°Õ¡Õµ", +"বাংলা", +"бг", +"бел", +"中国", +"中國", +"الجزائر", +"مصر", +"ею", +"موريتانيا", +"გე", +"ελ", +"香港", +"å…¬å¸.香港", +"教育.香港", +"政府.香港", +"個人.香港", +"網絡.香港", +"組織.香港", +"ಭಾರತ", +"ଭାରତ", +"ভাৰত", +"भारतमà¥", +"भारोत", +"ڀارت", +"ഭാരതം", +"भारत", +"بارت", +"بھارت", +"భారతà±", +"ભારત", +"ਭਾਰਤ", +"ভারত", +"இநà¯à®¤à®¿à®¯à®¾", +"ایران", +"ايران", +"عراق", +"الاردن", +"한국", +"қаз", +"ලංකà·", +"இலஙà¯à®•à¯ˆ", +"المغرب", +"мкд", +"мон", +"澳門", +"澳门", +"مليسيا", +"عمان", +"پاکستان", +"پاكستان", +"Ùلسطين", +"Ñрб", +"пр.Ñрб", +"орг.Ñрб", +"обр.Ñрб", +"од.Ñрб", +"упр.Ñрб", +"ак.Ñрб", +"рф", +"قطر", +"السعودية", +"السعودیة", +"السعودیۃ", +"السعوديه", +"سودان", +"新加å¡", +"சிஙà¯à®•à®ªà¯à®ªà¯‚à®°à¯", +"سورية", +"سوريا", +"ไทย", +"ศึà¸à¸©à¸².ไทย", +"ธุรà¸à¸´à¸ˆ.ไทย", +"รัà¸à¸šà¸²à¸¥.ไทย", +"ทหาร.ไทย", +"เน็ต.ไทย", +"องค์à¸à¸£.ไทย", +"تونس", +"å°ç£", +"å°æ¹¾", +"臺ç£", +"укр", +"اليمن", +"xxx", +"*.ye", +"ac.za", +"agric.za", +"alt.za", +"co.za", +"edu.za", +"gov.za", +"grondar.za", +"law.za", +"mil.za", +"net.za", +"ngo.za", +"nic.za", +"nis.za", +"nom.za", +"org.za", +"school.za", +"tm.za", +"web.za", +"zm", +"ac.zm", +"biz.zm", +"co.zm", +"com.zm", +"edu.zm", +"gov.zm", +"info.zm", +"mil.zm", +"net.zm", +"org.zm", +"sch.zm", +"zw", +"ac.zw", +"co.zw", +"gov.zw", +"mil.zw", +"org.zw", +"aaa", +"aarp", +"abarth", +"abb", +"abbott", +"abbvie", +"abc", +"able", +"abogado", +"abudhabi", +"academy", +"accenture", +"accountant", +"accountants", +"aco", +"actor", +"adac", +"ads", +"adult", +"aeg", +"aetna", +"afamilycompany", +"afl", +"africa", +"agakhan", +"agency", +"aig", +"aigo", +"airbus", +"airforce", +"airtel", +"akdn", +"alfaromeo", +"alibaba", +"alipay", +"allfinanz", +"allstate", +"ally", +"alsace", +"alstom", +"americanexpress", +"americanfamily", +"amex", +"amfam", +"amica", +"amsterdam", +"analytics", +"android", +"anquan", +"anz", +"aol", +"apartments", +"app", +"apple", +"aquarelle", +"arab", +"aramco", +"archi", +"army", +"art", +"arte", +"asda", +"associates", +"athleta", +"attorney", +"auction", +"audi", +"audible", +"audio", +"auspost", +"author", +"auto", +"autos", +"avianca", +"aws", +"axa", +"azure", +"baby", +"baidu", +"banamex", +"bananarepublic", +"band", +"bank", +"bar", +"barcelona", +"barclaycard", +"barclays", +"barefoot", +"bargains", +"baseball", +"basketball", +"bauhaus", +"bayern", +"bbc", +"bbt", +"bbva", +"bcg", +"bcn", +"beats", +"beauty", +"beer", +"bentley", +"berlin", +"best", +"bestbuy", +"bet", +"bharti", +"bible", +"bid", +"bike", +"bing", +"bingo", +"bio", +"black", +"blackfriday", +"blockbuster", +"blog", +"bloomberg", +"blue", +"bms", +"bmw", +"bnpparibas", +"boats", +"boehringer", +"bofa", +"bom", +"bond", +"boo", +"book", +"booking", +"bosch", +"bostik", +"boston", +"bot", +"boutique", +"box", +"bradesco", +"bridgestone", +"broadway", +"broker", +"brother", +"brussels", +"budapest", +"bugatti", +"build", +"builders", +"business", +"buy", +"buzz", +"bzh", +"cab", +"cafe", +"cal", +"call", +"calvinklein", +"cam", +"camera", +"camp", +"cancerresearch", +"canon", +"capetown", +"capital", +"capitalone", +"car", +"caravan", +"cards", +"care", +"career", +"careers", +"cars", +"casa", +"case", +"caseih", +"cash", +"casino", +"catering", +"catholic", +"cba", +"cbn", +"cbre", +"cbs", +"ceb", +"center", +"ceo", +"cern", +"cfa", +"cfd", +"chanel", +"channel", +"charity", +"chase", +"chat", +"cheap", +"chintai", +"christmas", +"chrome", +"church", +"cipriani", +"circle", +"cisco", +"citadel", +"citi", +"citic", +"city", +"cityeats", +"claims", +"cleaning", +"click", +"clinic", +"clinique", +"clothing", +"cloud", +"club", +"clubmed", +"coach", +"codes", +"coffee", +"college", +"cologne", +"comcast", +"commbank", +"community", +"company", +"compare", +"computer", +"comsec", +"condos", +"construction", +"consulting", +"contact", +"contractors", +"cooking", +"cookingchannel", +"cool", +"corsica", +"country", +"coupon", +"coupons", +"courses", +"cpa", +"credit", +"creditcard", +"creditunion", +"cricket", +"crown", +"crs", +"cruise", +"cruises", +"csc", +"cuisinella", +"cymru", +"cyou", +"dabur", +"dad", +"dance", +"data", +"date", +"dating", +"datsun", +"day", +"dclk", +"dds", +"deal", +"dealer", +"deals", +"degree", +"delivery", +"dell", +"deloitte", +"delta", +"democrat", +"dental", +"dentist", +"desi", +"design", +"dev", +"dhl", +"diamonds", +"diet", +"digital", +"direct", +"directory", +"discount", +"discover", +"dish", +"diy", +"dnp", +"docs", +"doctor", +"dog", +"domains", +"dot", +"download", +"drive", +"dtv", +"dubai", +"duck", +"dunlop", +"dupont", +"durban", +"dvag", +"dvr", +"earth", +"eat", +"eco", +"edeka", +"education", +"email", +"emerck", +"energy", +"engineer", +"engineering", +"enterprises", +"epson", +"equipment", +"ericsson", +"erni", +"esq", +"estate", +"esurance", +"etisalat", +"eurovision", +"eus", +"events", +"exchange", +"expert", +"exposed", +"express", +"extraspace", +"fage", +"fail", +"fairwinds", +"faith", +"family", +"fan", +"fans", +"farm", +"farmers", +"fashion", +"fast", +"fedex", +"feedback", +"ferrari", +"ferrero", +"fiat", +"fidelity", +"fido", +"film", +"final", +"finance", +"financial", +"fire", +"firestone", +"firmdale", +"fish", +"fishing", +"fit", +"fitness", +"flickr", +"flights", +"flir", +"florist", +"flowers", +"fly", +"foo", +"food", +"foodnetwork", +"football", +"ford", +"forex", +"forsale", +"forum", +"foundation", +"fox", +"free", +"fresenius", +"frl", +"frogans", +"frontdoor", +"frontier", +"ftr", +"fujitsu", +"fujixerox", +"fun", +"fund", +"furniture", +"futbol", +"fyi", +"gal", +"gallery", +"gallo", +"gallup", +"game", +"games", +"gap", +"garden", +"gay", +"gbiz", +"gdn", +"gea", +"gent", +"genting", +"george", +"ggee", +"gift", +"gifts", +"gives", +"giving", +"glade", +"glass", +"gle", +"global", +"globo", +"gmail", +"gmbh", +"gmo", +"gmx", +"godaddy", +"gold", +"goldpoint", +"golf", +"goo", +"goodyear", +"goog", +"google", +"gop", +"got", +"grainger", +"graphics", +"gratis", +"green", +"gripe", +"grocery", +"group", +"guardian", +"gucci", +"guge", +"guide", +"guitars", +"guru", +"hair", +"hamburg", +"hangout", +"haus", +"hbo", +"hdfc", +"hdfcbank", +"health", +"healthcare", +"help", +"helsinki", +"here", +"hermes", +"hgtv", +"hiphop", +"hisamitsu", +"hitachi", +"hiv", +"hkt", +"hockey", +"holdings", +"holiday", +"homedepot", +"homegoods", +"homes", +"homesense", +"honda", +"horse", +"hospital", +"host", +"hosting", +"hot", +"hoteles", +"hotels", +"hotmail", +"house", +"how", +"hsbc", +"hughes", +"hyatt", +"hyundai", +"ibm", +"icbc", +"ice", +"icu", +"ieee", +"ifm", +"ikano", +"imamat", +"imdb", +"immo", +"immobilien", +"inc", +"industries", +"infiniti", +"ing", +"ink", +"institute", +"insurance", +"insure", +"intel", +"international", +"intuit", +"investments", +"ipiranga", +"irish", +"ismaili", +"ist", +"istanbul", +"itau", +"itv", +"iveco", +"jaguar", +"java", +"jcb", +"jcp", +"jeep", +"jetzt", +"jewelry", +"jio", +"jll", +"jmp", +"jnj", +"joburg", +"jot", +"joy", +"jpmorgan", +"jprs", +"juegos", +"juniper", +"kaufen", +"kddi", +"kerryhotels", +"kerrylogistics", +"kerryproperties", +"kfh", +"kia", +"kim", +"kinder", +"kindle", +"kitchen", +"kiwi", +"koeln", +"komatsu", +"kosher", +"kpmg", +"kpn", +"krd", +"kred", +"kuokgroup", +"kyoto", +"lacaixa", +"lamborghini", +"lamer", +"lancaster", +"lancia", +"land", +"landrover", +"lanxess", +"lasalle", +"lat", +"latino", +"latrobe", +"law", +"lawyer", +"lds", +"lease", +"leclerc", +"lefrak", +"legal", +"lego", +"lexus", +"lgbt", +"liaison", +"lidl", +"life", +"lifeinsurance", +"lifestyle", +"lighting", +"like", +"lilly", +"limited", +"limo", +"lincoln", +"linde", +"link", +"lipsy", +"live", +"living", +"lixil", +"llc", +"llp", +"loan", +"loans", +"locker", +"locus", +"loft", +"lol", +"london", +"lotte", +"lotto", +"love", +"lpl", +"lplfinancial", +"ltd", +"ltda", +"lundbeck", +"lupin", +"luxe", +"luxury", +"macys", +"madrid", +"maif", +"maison", +"makeup", +"man", +"management", +"mango", +"map", +"market", +"marketing", +"markets", +"marriott", +"marshalls", +"maserati", +"mattel", +"mba", +"mckinsey", +"med", +"media", +"meet", +"melbourne", +"meme", +"memorial", +"men", +"menu", +"merckmsd", +"metlife", +"miami", +"microsoft", +"mini", +"mint", +"mit", +"mitsubishi", +"mlb", +"mls", +"mma", +"mobile", +"moda", +"moe", +"moi", +"mom", +"monash", +"money", +"monster", +"mormon", +"mortgage", +"moscow", +"moto", +"motorcycles", +"mov", +"movie", +"movistar", +"msd", +"mtn", +"mtr", +"mutual", +"nab", +"nadex", +"nagoya", +"nationwide", +"natura", +"navy", +"nba", +"nec", +"netbank", +"netflix", +"network", +"neustar", +"new", +"newholland", +"news", +"next", +"nextdirect", +"nexus", +"nfl", +"ngo", +"nhk", +"nico", +"nike", +"nikon", +"ninja", +"nissan", +"nissay", +"nokia", +"northwesternmutual", +"norton", +"now", +"nowruz", +"nowtv", +"nra", +"nrw", +"ntt", +"nyc", +"obi", +"observer", +"off", +"office", +"okinawa", +"olayan", +"olayangroup", +"oldnavy", +"ollo", +"omega", +"one", +"ong", +"onl", +"online", +"onyourside", +"ooo", +"open", +"oracle", +"orange", +"organic", +"origins", +"osaka", +"otsuka", +"ott", +"ovh", +"page", +"panasonic", +"paris", +"pars", +"partners", +"parts", +"party", +"passagens", +"pay", +"pccw", +"pet", +"pfizer", +"pharmacy", +"phd", +"philips", +"phone", +"photo", +"photography", +"photos", +"physio", +"pics", +"pictet", +"pictures", +"pid", +"pin", +"ping", +"pink", +"pioneer", +"pizza", +"place", +"play", +"playstation", +"plumbing", +"plus", +"pnc", +"pohl", +"poker", +"politie", +"porn", +"pramerica", +"praxi", +"press", +"prime", +"prod", +"productions", +"prof", +"progressive", +"promo", +"properties", +"property", +"protection", +"pru", +"prudential", +"pub", +"pwc", +"qpon", +"quebec", +"quest", +"qvc", +"racing", +"radio", +"raid", +"read", +"realestate", +"realtor", +"realty", +"recipes", +"red", +"redstone", +"redumbrella", +"rehab", +"reise", +"reisen", +"reit", +"reliance", +"ren", +"rent", +"rentals", +"repair", +"report", +"republican", +"rest", +"restaurant", +"review", +"reviews", +"rexroth", +"rich", +"richardli", +"ricoh", +"rightathome", +"ril", +"rio", +"rip", +"rmit", +"rocher", +"rocks", +"rodeo", +"rogers", +"room", +"rsvp", +"rugby", +"ruhr", +"run", +"rwe", +"ryukyu", +"saarland", +"safe", +"safety", +"sakura", +"sale", +"salon", +"samsclub", +"samsung", +"sandvik", +"sandvikcoromant", +"sanofi", +"sap", +"sarl", +"sas", +"save", +"saxo", +"sbi", +"sbs", +"sca", +"scb", +"schaeffler", +"schmidt", +"scholarships", +"school", +"schule", +"schwarz", +"science", +"scjohnson", +"scor", +"scot", +"search", +"seat", +"secure", +"security", +"seek", +"select", +"sener", +"services", +"ses", +"seven", +"sew", +"sex", +"sexy", +"sfr", +"shangrila", +"sharp", +"shaw", +"shell", +"shia", +"shiksha", +"shoes", +"shop", +"shopping", +"shouji", +"show", +"showtime", +"shriram", +"silk", +"sina", +"singles", +"site", +"ski", +"skin", +"sky", +"skype", +"sling", +"smart", +"smile", +"sncf", +"soccer", +"social", +"softbank", +"software", +"sohu", +"solar", +"solutions", +"song", +"sony", +"soy", +"spa", +"space", +"sport", +"spot", +"spreadbetting", +"srl", +"stada", +"staples", +"star", +"statebank", +"statefarm", +"stc", +"stcgroup", +"stockholm", +"storage", +"store", +"stream", +"studio", +"study", +"style", +"sucks", +"supplies", +"supply", +"support", +"surf", +"surgery", +"suzuki", +"swatch", +"swiftcover", +"swiss", +"sydney", +"symantec", +"systems", +"tab", +"taipei", +"talk", +"taobao", +"target", +"tatamotors", +"tatar", +"tattoo", +"tax", +"taxi", +"tci", +"tdk", +"team", +"tech", +"technology", +"telefonica", +"temasek", +"tennis", +"teva", +"thd", +"theater", +"theatre", +"tiaa", +"tickets", +"tienda", +"tiffany", +"tips", +"tires", +"tirol", +"tjmaxx", +"tjx", +"tkmaxx", +"tmall", +"today", +"tokyo", +"tools", +"top", +"toray", +"toshiba", +"total", +"tours", +"town", +"toyota", +"toys", +"trade", +"trading", +"training", +"travel", +"travelchannel", +"travelers", +"travelersinsurance", +"trust", +"trv", +"tube", +"tui", +"tunes", +"tushu", +"tvs", +"ubank", +"ubs", +"unicom", +"university", +"uno", +"uol", +"ups", +"vacations", +"vana", +"vanguard", +"vegas", +"ventures", +"verisign", +"versicherung", +"vet", +"viajes", +"video", +"vig", +"viking", +"villas", +"vin", +"vip", +"virgin", +"visa", +"vision", +"vistaprint", +"viva", +"vivo", +"vlaanderen", +"vodka", +"volkswagen", +"volvo", +"vote", +"voting", +"voto", +"voyage", +"vuelos", +"wales", +"walmart", +"walter", +"wang", +"wanggou", +"watch", +"watches", +"weather", +"weatherchannel", +"webcam", +"weber", +"website", +"wed", +"wedding", +"weibo", +"weir", +"whoswho", +"wien", +"wiki", +"williamhill", +"win", +"windows", +"wine", +"winners", +"wme", +"wolterskluwer", +"woodside", +"work", +"works", +"world", +"wow", +"wtc", +"wtf", +"xbox", +"xerox", +"xfinity", +"xihuan", +"xin", +"कॉम", +"セール", +"佛山", +"慈善", +"集团", +"在线", +"大众汽车", +"点看", +"คอม", +"å…«å¦", +"موقع", +"公益", +"å…¬å¸", +"香格里拉", +"网站", +"移动", +"我爱你", +"моÑква", +"католик", +"онлайн", +"Ñайт", +"è”通", +"קו×", +"时尚", +"å¾®åš", +"淡马锡", +"ファッション", +"орг", +"नेट", +"ストア", +"삼성", +"商标", +"商店", +"商城", +"дети", +"ãƒã‚¤ãƒ³ãƒˆ", +"æ–°é—»", +"工行", +"家電", +"كوم", +"中文网", +"中信", +"娱ä¹", +"è°·æ­Œ", +"電訊盈科", +"购物", +"クラウド", +"通販", +"网店", +"संगठन", +"é¤åŽ…", +"网络", +"ком", +"诺基亚", +"食å“", +"飞利浦", +"手表", +"手机", +"ارامكو", +"العليان", +"اتصالات", +"بازار", +"ابوظبي", +"كاثوليك", +"همراه", +"ë‹·ì»´", +"政府", +"شبكة", +"بيتك", +"عرب", +"机构", +"组织机构", +"å¥åº·", +"æ‹›è˜", +"руÑ", +"ç å®", +"大拿", +"ã¿ã‚“ãª", +"グーグル", +"世界", +"書ç±", +"网å€", +"ë‹·ë„·", +"コム", +"天主教", +"游æˆ", +"vermögensberater", +"vermögensberatung", +"ä¼ä¸š", +"ä¿¡æ¯", +"嘉里大酒店", +"嘉里", +"广东", +"政务", +"xyz", +"yachts", +"yahoo", +"yamaxun", +"yandex", +"yodobashi", +"yoga", +"yokohama", +"you", +"youtube", +"yun", +"zappos", +"zara", +"zero", +"zip", +"zone", +"zuerich", +"cc.ua", +"inf.ua", +"ltd.ua", +"beep.pl", +"barsy.ca", +"*.compute.estate", +"*.alces.network", +"altervista.org", +"alwaysdata.net", +"cloudfront.net", +"*.compute.amazonaws.com", +"*.compute-1.amazonaws.com", +"*.compute.amazonaws.com.cn", +"us-east-1.amazonaws.com", +"cn-north-1.eb.amazonaws.com.cn", +"cn-northwest-1.eb.amazonaws.com.cn", +"elasticbeanstalk.com", +"ap-northeast-1.elasticbeanstalk.com", +"ap-northeast-2.elasticbeanstalk.com", +"ap-northeast-3.elasticbeanstalk.com", +"ap-south-1.elasticbeanstalk.com", +"ap-southeast-1.elasticbeanstalk.com", +"ap-southeast-2.elasticbeanstalk.com", +"ca-central-1.elasticbeanstalk.com", +"eu-central-1.elasticbeanstalk.com", +"eu-west-1.elasticbeanstalk.com", +"eu-west-2.elasticbeanstalk.com", +"eu-west-3.elasticbeanstalk.com", +"sa-east-1.elasticbeanstalk.com", +"us-east-1.elasticbeanstalk.com", +"us-east-2.elasticbeanstalk.com", +"us-gov-west-1.elasticbeanstalk.com", +"us-west-1.elasticbeanstalk.com", +"us-west-2.elasticbeanstalk.com", +"*.elb.amazonaws.com", +"*.elb.amazonaws.com.cn", +"s3.amazonaws.com", +"s3-ap-northeast-1.amazonaws.com", +"s3-ap-northeast-2.amazonaws.com", +"s3-ap-south-1.amazonaws.com", +"s3-ap-southeast-1.amazonaws.com", +"s3-ap-southeast-2.amazonaws.com", +"s3-ca-central-1.amazonaws.com", +"s3-eu-central-1.amazonaws.com", +"s3-eu-west-1.amazonaws.com", +"s3-eu-west-2.amazonaws.com", +"s3-eu-west-3.amazonaws.com", +"s3-external-1.amazonaws.com", +"s3-fips-us-gov-west-1.amazonaws.com", +"s3-sa-east-1.amazonaws.com", +"s3-us-gov-west-1.amazonaws.com", +"s3-us-east-2.amazonaws.com", +"s3-us-west-1.amazonaws.com", +"s3-us-west-2.amazonaws.com", +"s3.ap-northeast-2.amazonaws.com", +"s3.ap-south-1.amazonaws.com", +"s3.cn-north-1.amazonaws.com.cn", +"s3.ca-central-1.amazonaws.com", +"s3.eu-central-1.amazonaws.com", +"s3.eu-west-2.amazonaws.com", +"s3.eu-west-3.amazonaws.com", +"s3.us-east-2.amazonaws.com", +"s3.dualstack.ap-northeast-1.amazonaws.com", +"s3.dualstack.ap-northeast-2.amazonaws.com", +"s3.dualstack.ap-south-1.amazonaws.com", +"s3.dualstack.ap-southeast-1.amazonaws.com", +"s3.dualstack.ap-southeast-2.amazonaws.com", +"s3.dualstack.ca-central-1.amazonaws.com", +"s3.dualstack.eu-central-1.amazonaws.com", +"s3.dualstack.eu-west-1.amazonaws.com", +"s3.dualstack.eu-west-2.amazonaws.com", +"s3.dualstack.eu-west-3.amazonaws.com", +"s3.dualstack.sa-east-1.amazonaws.com", +"s3.dualstack.us-east-1.amazonaws.com", +"s3.dualstack.us-east-2.amazonaws.com", +"s3-website-us-east-1.amazonaws.com", +"s3-website-us-west-1.amazonaws.com", +"s3-website-us-west-2.amazonaws.com", +"s3-website-ap-northeast-1.amazonaws.com", +"s3-website-ap-southeast-1.amazonaws.com", +"s3-website-ap-southeast-2.amazonaws.com", +"s3-website-eu-west-1.amazonaws.com", +"s3-website-sa-east-1.amazonaws.com", +"s3-website.ap-northeast-2.amazonaws.com", +"s3-website.ap-south-1.amazonaws.com", +"s3-website.ca-central-1.amazonaws.com", +"s3-website.eu-central-1.amazonaws.com", +"s3-website.eu-west-2.amazonaws.com", +"s3-website.eu-west-3.amazonaws.com", +"s3-website.us-east-2.amazonaws.com", +"amsw.nl", +"t3l3p0rt.net", +"tele.amune.org", +"apigee.io", +"on-aptible.com", +"user.aseinet.ne.jp", +"gv.vc", +"d.gv.vc", +"user.party.eus", +"pimienta.org", +"poivron.org", +"potager.org", +"sweetpepper.org", +"myasustor.com", +"myfritz.net", +"*.awdev.ca", +"*.advisor.ws", +"b-data.io", +"backplaneapp.io", +"balena-devices.com", +"app.banzaicloud.io", +"betainabox.com", +"bnr.la", +"blackbaudcdn.net", +"boomla.net", +"boxfuse.io", +"square7.ch", +"bplaced.com", +"bplaced.de", +"square7.de", +"bplaced.net", +"square7.net", +"browsersafetymark.io", +"uk0.bigv.io", +"dh.bytemark.co.uk", +"vm.bytemark.co.uk", +"mycd.eu", +"carrd.co", +"crd.co", +"uwu.ai", +"ae.org", +"ar.com", +"br.com", +"cn.com", +"com.de", +"com.se", +"de.com", +"eu.com", +"gb.com", +"gb.net", +"hu.com", +"hu.net", +"jp.net", +"jpn.com", +"kr.com", +"mex.com", +"no.com", +"qc.com", +"ru.com", +"sa.com", +"se.net", +"uk.com", +"uk.net", +"us.com", +"uy.com", +"za.bz", +"za.com", +"africa.com", +"gr.com", +"in.net", +"us.org", +"co.com", +"c.la", +"certmgr.org", +"xenapponazure.com", +"discourse.group", +"virtueeldomein.nl", +"cleverapps.io", +"*.lcl.dev", +"*.stg.dev", +"c66.me", +"cloud66.ws", +"cloud66.zone", +"jdevcloud.com", +"wpdevcloud.com", +"cloudaccess.host", +"freesite.host", +"cloudaccess.net", +"cloudcontrolled.com", +"cloudcontrolapp.com", +"cloudera.site", +"trycloudflare.com", +"workers.dev", +"wnext.app", +"co.ca", +"*.otap.co", +"co.cz", +"c.cdn77.org", +"cdn77-ssl.net", +"r.cdn77.net", +"rsc.cdn77.org", +"ssl.origin.cdn77-secure.org", +"cloudns.asia", +"cloudns.biz", +"cloudns.club", +"cloudns.cc", +"cloudns.eu", +"cloudns.in", +"cloudns.info", +"cloudns.org", +"cloudns.pro", +"cloudns.pw", +"cloudns.us", +"cloudeity.net", +"cnpy.gdn", +"co.nl", +"co.no", +"webhosting.be", +"hosting-cluster.nl", +"ac.ru", +"edu.ru", +"gov.ru", +"int.ru", +"mil.ru", +"test.ru", +"dyn.cosidns.de", +"dynamisches-dns.de", +"dnsupdater.de", +"internet-dns.de", +"l-o-g-i-n.de", +"dynamic-dns.info", +"feste-ip.net", +"knx-server.net", +"static-access.net", +"realm.cz", +"*.cryptonomic.net", +"cupcake.is", +"*.customer-oci.com", +"*.oci.customer-oci.com", +"*.ocp.customer-oci.com", +"*.ocs.customer-oci.com", +"cyon.link", +"cyon.site", +"daplie.me", +"localhost.daplie.me", +"dattolocal.com", +"dattorelay.com", +"dattoweb.com", +"mydatto.com", +"dattolocal.net", +"mydatto.net", +"biz.dk", +"co.dk", +"firm.dk", +"reg.dk", +"store.dk", +"*.dapps.earth", +"*.bzz.dapps.earth", +"builtwithdark.com", +"edgestack.me", +"debian.net", +"dedyn.io", +"dnshome.de", +"online.th", +"shop.th", +"drayddns.com", +"dreamhosters.com", +"mydrobo.com", +"drud.io", +"drud.us", +"duckdns.org", +"dy.fi", +"tunk.org", +"dyndns-at-home.com", +"dyndns-at-work.com", +"dyndns-blog.com", +"dyndns-free.com", +"dyndns-home.com", +"dyndns-ip.com", +"dyndns-mail.com", +"dyndns-office.com", +"dyndns-pics.com", +"dyndns-remote.com", +"dyndns-server.com", +"dyndns-web.com", +"dyndns-wiki.com", +"dyndns-work.com", +"dyndns.biz", +"dyndns.info", +"dyndns.org", +"dyndns.tv", +"at-band-camp.net", +"ath.cx", +"barrel-of-knowledge.info", +"barrell-of-knowledge.info", +"better-than.tv", +"blogdns.com", +"blogdns.net", +"blogdns.org", +"blogsite.org", +"boldlygoingnowhere.org", +"broke-it.net", +"buyshouses.net", +"cechire.com", +"dnsalias.com", +"dnsalias.net", +"dnsalias.org", +"dnsdojo.com", +"dnsdojo.net", +"dnsdojo.org", +"does-it.net", +"doesntexist.com", +"doesntexist.org", +"dontexist.com", +"dontexist.net", +"dontexist.org", +"doomdns.com", +"doomdns.org", +"dvrdns.org", +"dyn-o-saur.com", +"dynalias.com", +"dynalias.net", +"dynalias.org", +"dynathome.net", +"dyndns.ws", +"endofinternet.net", +"endofinternet.org", +"endoftheinternet.org", +"est-a-la-maison.com", +"est-a-la-masion.com", +"est-le-patron.com", +"est-mon-blogueur.com", +"for-better.biz", +"for-more.biz", +"for-our.info", +"for-some.biz", +"for-the.biz", +"forgot.her.name", +"forgot.his.name", +"from-ak.com", +"from-al.com", +"from-ar.com", +"from-az.net", +"from-ca.com", +"from-co.net", +"from-ct.com", +"from-dc.com", +"from-de.com", +"from-fl.com", +"from-ga.com", +"from-hi.com", +"from-ia.com", +"from-id.com", +"from-il.com", +"from-in.com", +"from-ks.com", +"from-ky.com", +"from-la.net", +"from-ma.com", +"from-md.com", +"from-me.org", +"from-mi.com", +"from-mn.com", +"from-mo.com", +"from-ms.com", +"from-mt.com", +"from-nc.com", +"from-nd.com", +"from-ne.com", +"from-nh.com", +"from-nj.com", +"from-nm.com", +"from-nv.com", +"from-ny.net", +"from-oh.com", +"from-ok.com", +"from-or.com", +"from-pa.com", +"from-pr.com", +"from-ri.com", +"from-sc.com", +"from-sd.com", +"from-tn.com", +"from-tx.com", +"from-ut.com", +"from-va.com", +"from-vt.com", +"from-wa.com", +"from-wi.com", +"from-wv.com", +"from-wy.com", +"ftpaccess.cc", +"fuettertdasnetz.de", +"game-host.org", +"game-server.cc", +"getmyip.com", +"gets-it.net", +"go.dyndns.org", +"gotdns.com", +"gotdns.org", +"groks-the.info", +"groks-this.info", +"ham-radio-op.net", +"here-for-more.info", +"hobby-site.com", +"hobby-site.org", +"home.dyndns.org", +"homedns.org", +"homeftp.net", +"homeftp.org", +"homeip.net", +"homelinux.com", +"homelinux.net", +"homelinux.org", +"homeunix.com", +"homeunix.net", +"homeunix.org", +"iamallama.com", +"in-the-band.net", +"is-a-anarchist.com", +"is-a-blogger.com", +"is-a-bookkeeper.com", +"is-a-bruinsfan.org", +"is-a-bulls-fan.com", +"is-a-candidate.org", +"is-a-caterer.com", +"is-a-celticsfan.org", +"is-a-chef.com", +"is-a-chef.net", +"is-a-chef.org", +"is-a-conservative.com", +"is-a-cpa.com", +"is-a-cubicle-slave.com", +"is-a-democrat.com", +"is-a-designer.com", +"is-a-doctor.com", +"is-a-financialadvisor.com", +"is-a-geek.com", +"is-a-geek.net", +"is-a-geek.org", +"is-a-green.com", +"is-a-guru.com", +"is-a-hard-worker.com", +"is-a-hunter.com", +"is-a-knight.org", +"is-a-landscaper.com", +"is-a-lawyer.com", +"is-a-liberal.com", +"is-a-libertarian.com", +"is-a-linux-user.org", +"is-a-llama.com", +"is-a-musician.com", +"is-a-nascarfan.com", +"is-a-nurse.com", +"is-a-painter.com", +"is-a-patsfan.org", +"is-a-personaltrainer.com", +"is-a-photographer.com", +"is-a-player.com", +"is-a-republican.com", +"is-a-rockstar.com", +"is-a-socialist.com", +"is-a-soxfan.org", +"is-a-student.com", +"is-a-teacher.com", +"is-a-techie.com", +"is-a-therapist.com", +"is-an-accountant.com", +"is-an-actor.com", +"is-an-actress.com", +"is-an-anarchist.com", +"is-an-artist.com", +"is-an-engineer.com", +"is-an-entertainer.com", +"is-by.us", +"is-certified.com", +"is-found.org", +"is-gone.com", +"is-into-anime.com", +"is-into-cars.com", +"is-into-cartoons.com", +"is-into-games.com", +"is-leet.com", +"is-lost.org", +"is-not-certified.com", +"is-saved.org", +"is-slick.com", +"is-uberleet.com", +"is-very-bad.org", +"is-very-evil.org", +"is-very-good.org", +"is-very-nice.org", +"is-very-sweet.org", +"is-with-theband.com", +"isa-geek.com", +"isa-geek.net", +"isa-geek.org", +"isa-hockeynut.com", +"issmarterthanyou.com", +"isteingeek.de", +"istmein.de", +"kicks-ass.net", +"kicks-ass.org", +"knowsitall.info", +"land-4-sale.us", +"lebtimnetz.de", +"leitungsen.de", +"likes-pie.com", +"likescandy.com", +"merseine.nu", +"mine.nu", +"misconfused.org", +"mypets.ws", +"myphotos.cc", +"neat-url.com", +"office-on-the.net", +"on-the-web.tv", +"podzone.net", +"podzone.org", +"readmyblog.org", +"saves-the-whales.com", +"scrapper-site.net", +"scrapping.cc", +"selfip.biz", +"selfip.com", +"selfip.info", +"selfip.net", +"selfip.org", +"sells-for-less.com", +"sells-for-u.com", +"sells-it.net", +"sellsyourhome.org", +"servebbs.com", +"servebbs.net", +"servebbs.org", +"serveftp.net", +"serveftp.org", +"servegame.org", +"shacknet.nu", +"simple-url.com", +"space-to-rent.com", +"stuff-4-sale.org", +"stuff-4-sale.us", +"teaches-yoga.com", +"thruhere.net", +"traeumtgerade.de", +"webhop.biz", +"webhop.info", +"webhop.net", +"webhop.org", +"worse-than.tv", +"writesthisblog.com", +"ddnss.de", +"dyn.ddnss.de", +"dyndns.ddnss.de", +"dyndns1.de", +"dyn-ip24.de", +"home-webserver.de", +"dyn.home-webserver.de", +"myhome-server.de", +"ddnss.org", +"definima.net", +"definima.io", +"bci.dnstrace.pro", +"ddnsfree.com", +"ddnsgeek.com", +"giize.com", +"gleeze.com", +"kozow.com", +"loseyourip.com", +"ooguy.com", +"theworkpc.com", +"casacam.net", +"dynu.net", +"accesscam.org", +"camdvr.org", +"freeddns.org", +"mywire.org", +"webredirect.org", +"myddns.rocks", +"blogsite.xyz", +"dynv6.net", +"e4.cz", +"en-root.fr", +"mytuleap.com", +"onred.one", +"staging.onred.one", +"enonic.io", +"customer.enonic.io", +"eu.org", +"al.eu.org", +"asso.eu.org", +"at.eu.org", +"au.eu.org", +"be.eu.org", +"bg.eu.org", +"ca.eu.org", +"cd.eu.org", +"ch.eu.org", +"cn.eu.org", +"cy.eu.org", +"cz.eu.org", +"de.eu.org", +"dk.eu.org", +"edu.eu.org", +"ee.eu.org", +"es.eu.org", +"fi.eu.org", +"fr.eu.org", +"gr.eu.org", +"hr.eu.org", +"hu.eu.org", +"ie.eu.org", +"il.eu.org", +"in.eu.org", +"int.eu.org", +"is.eu.org", +"it.eu.org", +"jp.eu.org", +"kr.eu.org", +"lt.eu.org", +"lu.eu.org", +"lv.eu.org", +"mc.eu.org", +"me.eu.org", +"mk.eu.org", +"mt.eu.org", +"my.eu.org", +"net.eu.org", +"ng.eu.org", +"nl.eu.org", +"no.eu.org", +"nz.eu.org", +"paris.eu.org", +"pl.eu.org", +"pt.eu.org", +"q-a.eu.org", +"ro.eu.org", +"ru.eu.org", +"se.eu.org", +"si.eu.org", +"sk.eu.org", +"tr.eu.org", +"uk.eu.org", +"us.eu.org", +"eu-1.evennode.com", +"eu-2.evennode.com", +"eu-3.evennode.com", +"eu-4.evennode.com", +"us-1.evennode.com", +"us-2.evennode.com", +"us-3.evennode.com", +"us-4.evennode.com", +"twmail.cc", +"twmail.net", +"twmail.org", +"mymailer.com.tw", +"url.tw", +"apps.fbsbx.com", +"ru.net", +"adygeya.ru", +"bashkiria.ru", +"bir.ru", +"cbg.ru", +"com.ru", +"dagestan.ru", +"grozny.ru", +"kalmykia.ru", +"kustanai.ru", +"marine.ru", +"mordovia.ru", +"msk.ru", +"mytis.ru", +"nalchik.ru", +"nov.ru", +"pyatigorsk.ru", +"spb.ru", +"vladikavkaz.ru", +"vladimir.ru", +"abkhazia.su", +"adygeya.su", +"aktyubinsk.su", +"arkhangelsk.su", +"armenia.su", +"ashgabad.su", +"azerbaijan.su", +"balashov.su", +"bashkiria.su", +"bryansk.su", +"bukhara.su", +"chimkent.su", +"dagestan.su", +"east-kazakhstan.su", +"exnet.su", +"georgia.su", +"grozny.su", +"ivanovo.su", +"jambyl.su", +"kalmykia.su", +"kaluga.su", +"karacol.su", +"karaganda.su", +"karelia.su", +"khakassia.su", +"krasnodar.su", +"kurgan.su", +"kustanai.su", +"lenug.su", +"mangyshlak.su", +"mordovia.su", +"msk.su", +"murmansk.su", +"nalchik.su", +"navoi.su", +"north-kazakhstan.su", +"nov.su", +"obninsk.su", +"penza.su", +"pokrovsk.su", +"sochi.su", +"spb.su", +"tashkent.su", +"termez.su", +"togliatti.su", +"troitsk.su", +"tselinograd.su", +"tula.su", +"tuva.su", +"vladikavkaz.su", +"vladimir.su", +"vologda.su", +"channelsdvr.net", +"fastly-terrarium.com", +"fastlylb.net", +"map.fastlylb.net", +"freetls.fastly.net", +"map.fastly.net", +"a.prod.fastly.net", +"global.prod.fastly.net", +"a.ssl.fastly.net", +"b.ssl.fastly.net", +"global.ssl.fastly.net", +"fastpanel.direct", +"fastvps-server.com", +"fhapp.xyz", +"fedorainfracloud.org", +"fedorapeople.org", +"cloud.fedoraproject.org", +"app.os.fedoraproject.org", +"app.os.stg.fedoraproject.org", +"mydobiss.com", +"filegear.me", +"filegear-au.me", +"filegear-de.me", +"filegear-gb.me", +"filegear-ie.me", +"filegear-jp.me", +"filegear-sg.me", +"firebaseapp.com", +"flynnhub.com", +"flynnhosting.net", +"0e.vc", +"freebox-os.com", +"freeboxos.com", +"fbx-os.fr", +"fbxos.fr", +"freebox-os.fr", +"freeboxos.fr", +"freedesktop.org", +"*.futurecms.at", +"*.ex.futurecms.at", +"*.in.futurecms.at", +"futurehosting.at", +"futuremailing.at", +"*.ex.ortsinfo.at", +"*.kunden.ortsinfo.at", +"*.statics.cloud", +"service.gov.uk", +"gehirn.ne.jp", +"usercontent.jp", +"gentapps.com", +"lab.ms", +"github.io", +"githubusercontent.com", +"gitlab.io", +"glitch.me", +"lolipop.io", +"cloudapps.digital", +"london.cloudapps.digital", +"homeoffice.gov.uk", +"ro.im", +"shop.ro", +"goip.de", +"run.app", +"a.run.app", +"web.app", +"*.0emm.com", +"appspot.com", +"*.r.appspot.com", +"blogspot.ae", +"blogspot.al", +"blogspot.am", +"blogspot.ba", +"blogspot.be", +"blogspot.bg", +"blogspot.bj", +"blogspot.ca", +"blogspot.cf", +"blogspot.ch", +"blogspot.cl", +"blogspot.co.at", +"blogspot.co.id", +"blogspot.co.il", +"blogspot.co.ke", +"blogspot.co.nz", +"blogspot.co.uk", +"blogspot.co.za", +"blogspot.com", +"blogspot.com.ar", +"blogspot.com.au", +"blogspot.com.br", +"blogspot.com.by", +"blogspot.com.co", +"blogspot.com.cy", +"blogspot.com.ee", +"blogspot.com.eg", +"blogspot.com.es", +"blogspot.com.mt", +"blogspot.com.ng", +"blogspot.com.tr", +"blogspot.com.uy", +"blogspot.cv", +"blogspot.cz", +"blogspot.de", +"blogspot.dk", +"blogspot.fi", +"blogspot.fr", +"blogspot.gr", +"blogspot.hk", +"blogspot.hr", +"blogspot.hu", +"blogspot.ie", +"blogspot.in", +"blogspot.is", +"blogspot.it", +"blogspot.jp", +"blogspot.kr", +"blogspot.li", +"blogspot.lt", +"blogspot.lu", +"blogspot.md", +"blogspot.mk", +"blogspot.mr", +"blogspot.mx", +"blogspot.my", +"blogspot.nl", +"blogspot.no", +"blogspot.pe", +"blogspot.pt", +"blogspot.qa", +"blogspot.re", +"blogspot.ro", +"blogspot.rs", +"blogspot.ru", +"blogspot.se", +"blogspot.sg", +"blogspot.si", +"blogspot.sk", +"blogspot.sn", +"blogspot.td", +"blogspot.tw", +"blogspot.ug", +"blogspot.vn", +"cloudfunctions.net", +"cloud.goog", +"codespot.com", +"googleapis.com", +"googlecode.com", +"pagespeedmobilizer.com", +"publishproxy.com", +"withgoogle.com", +"withyoutube.com", +"awsmppl.com", +"fin.ci", +"free.hr", +"caa.li", +"ua.rs", +"conf.se", +"hs.zone", +"hs.run", +"hashbang.sh", +"hasura.app", +"hasura-app.io", +"hepforge.org", +"herokuapp.com", +"herokussl.com", +"myravendb.com", +"ravendb.community", +"ravendb.me", +"development.run", +"ravendb.run", +"bpl.biz", +"orx.biz", +"ng.city", +"biz.gl", +"ng.ink", +"col.ng", +"firm.ng", +"gen.ng", +"ltd.ng", +"ngo.ng", +"ng.school", +"sch.so", +"häkkinen.fi", +"*.moonscale.io", +"moonscale.net", +"iki.fi", +"dyn-berlin.de", +"in-berlin.de", +"in-brb.de", +"in-butter.de", +"in-dsl.de", +"in-dsl.net", +"in-dsl.org", +"in-vpn.de", +"in-vpn.net", +"in-vpn.org", +"biz.at", +"info.at", +"info.cx", +"ac.leg.br", +"al.leg.br", +"am.leg.br", +"ap.leg.br", +"ba.leg.br", +"ce.leg.br", +"df.leg.br", +"es.leg.br", +"go.leg.br", +"ma.leg.br", +"mg.leg.br", +"ms.leg.br", +"mt.leg.br", +"pa.leg.br", +"pb.leg.br", +"pe.leg.br", +"pi.leg.br", +"pr.leg.br", +"rj.leg.br", +"rn.leg.br", +"ro.leg.br", +"rr.leg.br", +"rs.leg.br", +"sc.leg.br", +"se.leg.br", +"sp.leg.br", +"to.leg.br", +"pixolino.com", +"ipifony.net", +"mein-iserv.de", +"test-iserv.de", +"iserv.dev", +"iobb.net", +"myjino.ru", +"*.hosting.myjino.ru", +"*.landing.myjino.ru", +"*.spectrum.myjino.ru", +"*.vps.myjino.ru", +"*.triton.zone", +"*.cns.joyent.com", +"js.org", +"kaas.gg", +"khplay.nl", +"keymachine.de", +"kinghost.net", +"uni5.net", +"knightpoint.systems", +"oya.to", +"co.krd", +"edu.krd", +"git-repos.de", +"lcube-server.de", +"svn-repos.de", +"leadpages.co", +"lpages.co", +"lpusercontent.com", +"lelux.site", +"co.business", +"co.education", +"co.events", +"co.financial", +"co.network", +"co.place", +"co.technology", +"app.lmpm.com", +"linkitools.space", +"linkyard.cloud", +"linkyard-cloud.ch", +"members.linode.com", +"nodebalancer.linode.com", +"we.bs", +"loginline.app", +"loginline.dev", +"loginline.io", +"loginline.services", +"loginline.site", +"krasnik.pl", +"leczna.pl", +"lubartow.pl", +"lublin.pl", +"poniatowa.pl", +"swidnik.pl", +"uklugs.org", +"glug.org.uk", +"lug.org.uk", +"lugs.org.uk", +"barsy.bg", +"barsy.co.uk", +"barsyonline.co.uk", +"barsycenter.com", +"barsyonline.com", +"barsy.club", +"barsy.de", +"barsy.eu", +"barsy.in", +"barsy.info", +"barsy.io", +"barsy.me", +"barsy.menu", +"barsy.mobi", +"barsy.net", +"barsy.online", +"barsy.org", +"barsy.pro", +"barsy.pub", +"barsy.shop", +"barsy.site", +"barsy.support", +"barsy.uk", +"*.magentosite.cloud", +"mayfirst.info", +"mayfirst.org", +"hb.cldmail.ru", +"miniserver.com", +"memset.net", +"cloud.metacentrum.cz", +"custom.metacentrum.cz", +"flt.cloud.muni.cz", +"usr.cloud.muni.cz", +"meteorapp.com", +"eu.meteorapp.com", +"co.pl", +"azurecontainer.io", +"azurewebsites.net", +"azure-mobile.net", +"cloudapp.net", +"mozilla-iot.org", +"bmoattachments.org", +"net.ru", +"org.ru", +"pp.ru", +"ui.nabu.casa", +"pony.club", +"of.fashion", +"on.fashion", +"of.football", +"in.london", +"of.london", +"for.men", +"and.mom", +"for.mom", +"for.one", +"for.sale", +"of.work", +"to.work", +"nctu.me", +"bitballoon.com", +"netlify.com", +"4u.com", +"ngrok.io", +"nh-serv.co.uk", +"nfshost.com", +"dnsking.ch", +"mypi.co", +"n4t.co", +"001www.com", +"ddnslive.com", +"myiphost.com", +"forumz.info", +"16-b.it", +"32-b.it", +"64-b.it", +"soundcast.me", +"tcp4.me", +"dnsup.net", +"hicam.net", +"now-dns.net", +"ownip.net", +"vpndns.net", +"dynserv.org", +"now-dns.org", +"x443.pw", +"now-dns.top", +"ntdll.top", +"freeddns.us", +"crafting.xyz", +"zapto.xyz", +"nsupdate.info", +"nerdpol.ovh", +"blogsyte.com", +"brasilia.me", +"cable-modem.org", +"ciscofreak.com", +"collegefan.org", +"couchpotatofries.org", +"damnserver.com", +"ddns.me", +"ditchyourip.com", +"dnsfor.me", +"dnsiskinky.com", +"dvrcam.info", +"dynns.com", +"eating-organic.net", +"fantasyleague.cc", +"geekgalaxy.com", +"golffan.us", +"health-carereform.com", +"homesecuritymac.com", +"homesecuritypc.com", +"hopto.me", +"ilovecollege.info", +"loginto.me", +"mlbfan.org", +"mmafan.biz", +"myactivedirectory.com", +"mydissent.net", +"myeffect.net", +"mymediapc.net", +"mypsx.net", +"mysecuritycamera.com", +"mysecuritycamera.net", +"mysecuritycamera.org", +"net-freaks.com", +"nflfan.org", +"nhlfan.net", +"no-ip.ca", +"no-ip.co.uk", +"no-ip.net", +"noip.us", +"onthewifi.com", +"pgafan.net", +"point2this.com", +"pointto.us", +"privatizehealthinsurance.net", +"quicksytes.com", +"read-books.org", +"securitytactics.com", +"serveexchange.com", +"servehumour.com", +"servep2p.com", +"servesarcasm.com", +"stufftoread.com", +"ufcfan.org", +"unusualperson.com", +"workisboring.com", +"3utilities.com", +"bounceme.net", +"ddns.net", +"ddnsking.com", +"gotdns.ch", +"hopto.org", +"myftp.biz", +"myftp.org", +"myvnc.com", +"no-ip.biz", +"no-ip.info", +"no-ip.org", +"noip.me", +"redirectme.net", +"servebeer.com", +"serveblog.net", +"servecounterstrike.com", +"serveftp.com", +"servegame.com", +"servehalflife.com", +"servehttp.com", +"serveirc.com", +"serveminecraft.net", +"servemp3.com", +"servepics.com", +"servequake.com", +"sytes.net", +"webhop.me", +"zapto.org", +"stage.nodeart.io", +"nodum.co", +"nodum.io", +"pcloud.host", +"nyc.mn", +"nom.ae", +"nom.af", +"nom.ai", +"nom.al", +"nym.by", +"nym.bz", +"nom.cl", +"nym.ec", +"nom.gd", +"nom.ge", +"nom.gl", +"nym.gr", +"nom.gt", +"nym.gy", +"nym.hk", +"nom.hn", +"nym.ie", +"nom.im", +"nom.ke", +"nym.kz", +"nym.la", +"nym.lc", +"nom.li", +"nym.li", +"nym.lt", +"nym.lu", +"nym.me", +"nom.mk", +"nym.mn", +"nym.mx", +"nom.nu", +"nym.nz", +"nym.pe", +"nym.pt", +"nom.pw", +"nom.qa", +"nym.ro", +"nom.rs", +"nom.si", +"nym.sk", +"nom.st", +"nym.su", +"nym.sx", +"nom.tj", +"nym.tw", +"nom.ug", +"nom.uy", +"nom.vc", +"nom.vg", +"cya.gg", +"cloudycluster.net", +"nid.io", +"opencraft.hosting", +"operaunite.com", +"skygearapp.com", +"outsystemscloud.com", +"ownprovider.com", +"own.pm", +"ox.rs", +"oy.lc", +"pgfog.com", +"pagefrontapp.com", +"art.pl", +"gliwice.pl", +"krakow.pl", +"poznan.pl", +"wroc.pl", +"zakopane.pl", +"pantheonsite.io", +"gotpantheon.com", +"mypep.link", +"perspecta.cloud", +"on-web.fr", +"*.platform.sh", +"*.platformsh.site", +"dyn53.io", +"co.bn", +"xen.prgmr.com", +"priv.at", +"prvcy.page", +"*.dweb.link", +"protonet.io", +"chirurgiens-dentistes-en-france.fr", +"byen.site", +"pubtls.org", +"qualifioapp.com", +"instantcloud.cn", +"ras.ru", +"qa2.com", +"qcx.io", +"*.sys.qcx.io", +"dev-myqnapcloud.com", +"alpha-myqnapcloud.com", +"myqnapcloud.com", +"*.quipelements.com", +"vapor.cloud", +"vaporcloud.io", +"rackmaze.com", +"rackmaze.net", +"*.on-k3s.io", +"*.on-rancher.cloud", +"*.on-rio.io", +"readthedocs.io", +"rhcloud.com", +"app.render.com", +"onrender.com", +"repl.co", +"repl.run", +"resindevice.io", +"devices.resinstaging.io", +"hzc.io", +"wellbeingzone.eu", +"ptplus.fit", +"wellbeingzone.co.uk", +"git-pages.rit.edu", +"sandcats.io", +"logoip.de", +"logoip.com", +"schokokeks.net", +"gov.scot", +"scrysec.com", +"firewall-gateway.com", +"firewall-gateway.de", +"my-gateway.de", +"my-router.de", +"spdns.de", +"spdns.eu", +"firewall-gateway.net", +"my-firewall.org", +"myfirewall.org", +"spdns.org", +"biz.ua", +"co.ua", +"pp.ua", +"shiftedit.io", +"myshopblocks.com", +"shopitsite.com", +"mo-siemens.io", +"1kapp.com", +"appchizi.com", +"applinzi.com", +"sinaapp.com", +"vipsinaapp.com", +"siteleaf.net", +"bounty-full.com", +"alpha.bounty-full.com", +"beta.bounty-full.com", +"stackhero-network.com", +"static.land", +"dev.static.land", +"sites.static.land", +"apps.lair.io", +"*.stolos.io", +"spacekit.io", +"customer.speedpartner.de", +"api.stdlib.com", +"storj.farm", +"utwente.io", +"soc.srcf.net", +"user.srcf.net", +"temp-dns.com", +"applicationcloud.io", +"scapp.io", +"*.s5y.io", +"*.sensiosite.cloud", +"syncloud.it", +"diskstation.me", +"dscloud.biz", +"dscloud.me", +"dscloud.mobi", +"dsmynas.com", +"dsmynas.net", +"dsmynas.org", +"familyds.com", +"familyds.net", +"familyds.org", +"i234.me", +"myds.me", +"synology.me", +"vpnplus.to", +"direct.quickconnect.to", +"taifun-dns.de", +"gda.pl", +"gdansk.pl", +"gdynia.pl", +"med.pl", +"sopot.pl", +"edugit.org", +"telebit.app", +"telebit.io", +"*.telebit.xyz", +"gwiddle.co.uk", +"thingdustdata.com", +"cust.dev.thingdust.io", +"cust.disrec.thingdust.io", +"cust.prod.thingdust.io", +"cust.testing.thingdust.io", +"arvo.network", +"azimuth.network", +"bloxcms.com", +"townnews-staging.com", +"12hp.at", +"2ix.at", +"4lima.at", +"lima-city.at", +"12hp.ch", +"2ix.ch", +"4lima.ch", +"lima-city.ch", +"trafficplex.cloud", +"de.cool", +"12hp.de", +"2ix.de", +"4lima.de", +"lima-city.de", +"1337.pictures", +"clan.rip", +"lima-city.rocks", +"webspace.rocks", +"lima.zone", +"*.transurl.be", +"*.transurl.eu", +"*.transurl.nl", +"tuxfamily.org", +"dd-dns.de", +"diskstation.eu", +"diskstation.org", +"dray-dns.de", +"draydns.de", +"dyn-vpn.de", +"dynvpn.de", +"mein-vigor.de", +"my-vigor.de", +"my-wan.de", +"syno-ds.de", +"synology-diskstation.de", +"synology-ds.de", +"uber.space", +"*.uberspace.de", +"hk.com", +"hk.org", +"ltd.hk", +"inc.hk", +"virtualuser.de", +"virtual-user.de", +"lib.de.us", +"2038.io", +"router.management", +"v-info.info", +"voorloper.cloud", +"wafflecell.com", +"*.webhare.dev", +"wedeploy.io", +"wedeploy.me", +"wedeploy.sh", +"remotewd.com", +"wmflabs.org", +"half.host", +"xnbay.com", +"u2.xnbay.com", +"u2-local.xnbay.com", +"cistron.nl", +"demon.nl", +"xs4all.space", +"yandexcloud.net", +"storage.yandexcloud.net", +"website.yandexcloud.net", +"official.academy", +"yolasite.com", +"ybo.faith", +"yombo.me", +"homelink.one", +"ybo.party", +"ybo.review", +"ybo.science", +"ybo.trade", +"nohost.me", +"noho.st", +"za.net", +"za.org", +"now.sh", +"bss.design", +"basicserver.io", +"virtualserver.io", +"site.builder.nu", +"enterprisecloud.nu" +] \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.js b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.js new file mode 100644 index 0000000..459b035 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.js @@ -0,0 +1,9618 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.psl = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i= punySuffix.length) { + // return memo; + // } + //} + return rule; + }, null); +}; + + +// +// Error codes and messages. +// +exports.errorCodes = { + DOMAIN_TOO_SHORT: 'Domain name too short.', + DOMAIN_TOO_LONG: 'Domain name too long. It should be no more than 255 chars.', + LABEL_STARTS_WITH_DASH: 'Domain name label can not start with a dash.', + LABEL_ENDS_WITH_DASH: 'Domain name label can not end with a dash.', + LABEL_TOO_LONG: 'Domain name label should be at most 63 chars long.', + LABEL_TOO_SHORT: 'Domain name label should be at least 1 character long.', + LABEL_INVALID_CHARS: 'Domain name label can only contain alphanumeric characters or dashes.' +}; + + +// +// Validate domain name and throw if not valid. +// +// From wikipedia: +// +// Hostnames are composed of series of labels concatenated with dots, as are all +// domain names. Each label must be between 1 and 63 characters long, and the +// entire hostname (including the delimiting dots) has a maximum of 255 chars. +// +// Allowed chars: +// +// * `a-z` +// * `0-9` +// * `-` but not as a starting or ending character +// * `.` as a separator for the textual portions of a domain name +// +// * http://en.wikipedia.org/wiki/Domain_name +// * http://en.wikipedia.org/wiki/Hostname +// +internals.validate = function (input) { + + // Before we can validate we need to take care of IDNs with unicode chars. + var ascii = Punycode.toASCII(input); + + if (ascii.length < 1) { + return 'DOMAIN_TOO_SHORT'; + } + if (ascii.length > 255) { + return 'DOMAIN_TOO_LONG'; + } + + // Check each part's length and allowed chars. + var labels = ascii.split('.'); + var label; + + for (var i = 0; i < labels.length; ++i) { + label = labels[i]; + if (!label.length) { + return 'LABEL_TOO_SHORT'; + } + if (label.length > 63) { + return 'LABEL_TOO_LONG'; + } + if (label.charAt(0) === '-') { + return 'LABEL_STARTS_WITH_DASH'; + } + if (label.charAt(label.length - 1) === '-') { + return 'LABEL_ENDS_WITH_DASH'; + } + if (!/^[a-z0-9\-]+$/.test(label)) { + return 'LABEL_INVALID_CHARS'; + } + } +}; + + +// +// Public API +// + + +// +// Parse domain. +// +exports.parse = function (input) { + + if (typeof input !== 'string') { + throw new TypeError('Domain name must be a string.'); + } + + // Force domain to lowercase. + var domain = input.slice(0).toLowerCase(); + + // Handle FQDN. + // TODO: Simply remove trailing dot? + if (domain.charAt(domain.length - 1) === '.') { + domain = domain.slice(0, domain.length - 1); + } + + // Validate and sanitise input. + var error = internals.validate(domain); + if (error) { + return { + input: input, + error: { + message: exports.errorCodes[error], + code: error + } + }; + } + + var parsed = { + input: input, + tld: null, + sld: null, + domain: null, + subdomain: null, + listed: false + }; + + var domainParts = domain.split('.'); + + // Non-Internet TLD + if (domainParts[domainParts.length - 1] === 'local') { + return parsed; + } + + var handlePunycode = function () { + + if (!/xn--/.test(domain)) { + return parsed; + } + if (parsed.domain) { + parsed.domain = Punycode.toASCII(parsed.domain); + } + if (parsed.subdomain) { + parsed.subdomain = Punycode.toASCII(parsed.subdomain); + } + return parsed; + }; + + var rule = internals.findRule(domain); + + // Unlisted tld. + if (!rule) { + if (domainParts.length < 2) { + return parsed; + } + parsed.tld = domainParts.pop(); + parsed.sld = domainParts.pop(); + parsed.domain = [parsed.sld, parsed.tld].join('.'); + if (domainParts.length) { + parsed.subdomain = domainParts.pop(); + } + return handlePunycode(); + } + + // At this point we know the public suffix is listed. + parsed.listed = true; + + var tldParts = rule.suffix.split('.'); + var privateParts = domainParts.slice(0, domainParts.length - tldParts.length); + + if (rule.exception) { + privateParts.push(tldParts.shift()); + } + + parsed.tld = tldParts.join('.'); + + if (!privateParts.length) { + return handlePunycode(); + } + + if (rule.wildcard) { + tldParts.unshift(privateParts.pop()); + parsed.tld = tldParts.join('.'); + } + + if (!privateParts.length) { + return handlePunycode(); + } + + parsed.sld = privateParts.pop(); + parsed.domain = [parsed.sld, parsed.tld].join('.'); + + if (privateParts.length) { + parsed.subdomain = privateParts.join('.'); + } + + return handlePunycode(); +}; + + +// +// Get domain. +// +exports.get = function (domain) { + + if (!domain) { + return null; + } + return exports.parse(domain).domain || null; +}; + + +// +// Check whether domain belongs to a known public suffix. +// +exports.isValid = function (domain) { + + var parsed = exports.parse(domain); + return Boolean(parsed.domain && parsed.listed); +}; + +},{"./data/rules.json":1,"punycode":3}],3:[function(require,module,exports){ +(function (global){ +/*! https://mths.be/punycode v1.4.1 by @mathias */ +;(function(root) { + + /** Detect free variables */ + var freeExports = typeof exports == 'object' && exports && + !exports.nodeType && exports; + var freeModule = typeof module == 'object' && module && + !module.nodeType && module; + var freeGlobal = typeof global == 'object' && global; + if ( + freeGlobal.global === freeGlobal || + freeGlobal.window === freeGlobal || + freeGlobal.self === freeGlobal + ) { + root = freeGlobal; + } + + /** + * The `punycode` object. + * @name punycode + * @type Object + */ + var punycode, + + /** Highest positive signed 32-bit float value */ + maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 + + /** Bootstring parameters */ + base = 36, + tMin = 1, + tMax = 26, + skew = 38, + damp = 700, + initialBias = 72, + initialN = 128, // 0x80 + delimiter = '-', // '\x2D' + + /** Regular expressions */ + regexPunycode = /^xn--/, + regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars + regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators + + /** Error messages */ + errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' + }, + + /** Convenience shortcuts */ + baseMinusTMin = base - tMin, + floor = Math.floor, + stringFromCharCode = String.fromCharCode, + + /** Temporary variable */ + key; + + /*--------------------------------------------------------------------------*/ + + /** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ + function error(type) { + throw new RangeError(errors[type]); + } + + /** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ + function map(array, fn) { + var length = array.length; + var result = []; + while (length--) { + result[length] = fn(array[length]); + } + return result; + } + + /** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ + function mapDomain(string, fn) { + var parts = string.split('@'); + var result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + var labels = string.split('.'); + var encoded = map(labels, fn).join('.'); + return result + encoded; + } + + /** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ + function ucs2decode(string) { + var output = [], + counter = 0, + length = string.length, + value, + extra; + while (counter < length) { + value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // high surrogate, and there is a next character + extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // low surrogate + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // unmatched surrogate; only append this code unit, in case the next + // code unit is the high surrogate of a surrogate pair + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; + } + + /** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ + function ucs2encode(array) { + return map(array, function(value) { + var output = ''; + if (value > 0xFFFF) { + value -= 0x10000; + output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); + value = 0xDC00 | value & 0x3FF; + } + output += stringFromCharCode(value); + return output; + }).join(''); + } + + /** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ + function basicToDigit(codePoint) { + if (codePoint - 48 < 10) { + return codePoint - 22; + } + if (codePoint - 65 < 26) { + return codePoint - 65; + } + if (codePoint - 97 < 26) { + return codePoint - 97; + } + return base; + } + + /** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ + function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); + } + + /** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ + function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); + } + + /** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ + function decode(input) { + // Don't use UCS-2 + var output = [], + inputLength = input.length, + out, + i = 0, + n = initialN, + bias = initialBias, + basic, + j, + index, + oldi, + w, + k, + digit, + t, + /** Cached calculation results */ + baseMinusT; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + for (oldi = i, w = 1, k = base; /* no condition */; k += base) { + + if (index >= inputLength) { + error('invalid-input'); + } + + digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error('overflow'); + } + + i += digit * w; + t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + + if (digit < t) { + break; + } + + baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error('overflow'); + } + + w *= baseMinusT; + + } + + out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output + output.splice(i++, 0, n); + + } + + return ucs2encode(output); + } + + /** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ + function encode(input) { + var n, + delta, + handledCPCount, + basicLength, + bias, + j, + m, + q, + k, + t, + currentValue, + output = [], + /** `inputLength` will hold the number of code points in `input`. */ + inputLength, + /** Cached calculation results */ + handledCPCountPlusOne, + baseMinusT, + qMinusT; + + // Convert the input in UCS-2 to Unicode + input = ucs2decode(input); + + // Cache the length + inputLength = input.length; + + // Initialize the state + n = initialN; + delta = 0; + bias = initialBias; + + // Handle the basic code points + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + handledCPCount = basicLength = output.length; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string - if it is not empty - with a delimiter + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + for (m = maxInt, j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow + handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; + + if (currentValue < n && ++delta > maxInt) { + error('overflow'); + } + + if (currentValue == n) { + // Represent delta as a generalized variable-length integer + for (q = delta, k = base; /* no condition */; k += base) { + t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) { + break; + } + qMinusT = q - t; + baseMinusT = base - t; + output.push( + stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) + ); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + + } + return output.join(''); + } + + /** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ + function toUnicode(input) { + return mapDomain(input, function(string) { + return regexPunycode.test(string) + ? decode(string.slice(4).toLowerCase()) + : string; + }); + } + + /** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ + function toASCII(input) { + return mapDomain(input, function(string) { + return regexNonASCII.test(string) + ? 'xn--' + encode(string) + : string; + }); + } + + /*--------------------------------------------------------------------------*/ + + /** Define the public API */ + punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '1.4.1', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode + }; + + /** Expose `punycode` */ + // Some AMD build optimizers, like r.js, check for specific condition patterns + // like the following: + if ( + typeof define == 'function' && + typeof define.amd == 'object' && + define.amd + ) { + define('punycode', function() { + return punycode; + }); + } else if (freeExports && freeModule) { + if (module.exports == freeExports) { + // in Node.js, io.js, or RingoJS v0.8.0+ + freeModule.exports = punycode; + } else { + // in Narwhal or RingoJS v0.7.0- + for (key in punycode) { + punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); + } + } + } else { + // in Rhino or a web browser + root.punycode = punycode; + } + +}(this)); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}]},{},[2])(2) +}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.min.js b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.min.js new file mode 100644 index 0000000..77e6025 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.min.js @@ -0,0 +1 @@ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).psl=a()}}(function(){return function s(m,t,u){function r(o,a){if(!t[o]){if(!m[o]){var i="function"==typeof require&&require;if(!a&&i)return i(o,!0);if(p)return p(o,!0);var e=new Error("Cannot find module '"+o+"'");throw e.code="MODULE_NOT_FOUND",e}var n=t[o]={exports:{}};m[o][0].call(n.exports,function(a){return r(m[o][1][a]||a)},n,n.exports,s,m,t,u)}return t[o].exports}for(var p="function"==typeof require&&require,a=0;a= 0x80 (not a basic code point)","invalid-input":"Invalid input"},c=b-y,x=Math.floor,q=String.fromCharCode;function A(a){throw new RangeError(k[a])}function l(a,o){for(var i=a.length,e=[];i--;)e[i]=o(a[i]);return e}function g(a,o){var i=a.split("@"),e="";return 1>>10&1023|55296),a=56320|1023&a),o+=q(a)}).join("")}function L(a,o){return a+22+75*(a<26)-((0!=o)<<5)}function I(a,o,i){var e=0;for(a=i?x(a/t):a>>1,a+=x(a/o);c*f>>1x((d-g)/m))&&A("overflow"),g+=u*m,!(u<(r=t<=j?y:j+f<=t?f:t-j));t+=b)m>x(d/(p=b-r))&&A("overflow"),m*=p;j=I(g-s,o=c.length+1,0==s),x(g/o)>d-h&&A("overflow"),h+=x(g/o),g%=o,c.splice(g++,0,h)}return _(c)}function j(a){var o,i,e,n,s,m,t,u,r,p,k,c,l,g,h,j=[];for(c=(a=O(a)).length,o=w,s=v,m=i=0;mx((d-i)/(l=e+1))&&A("overflow"),i+=(t-o)*l,o=t,m=0;md&&A("overflow"),k==o){for(u=i,r=b;!(u<(p=r<=s?y:s+f<=r?f:r-s));r+=b)h=u-p,g=b-p,j.push(q(L(p+h%g,0))),u=x(h/g);j.push(q(L(u,0))),s=I(i,l,e==n),i=0,++e}++i,++o}return j.join("")}if(n={version:"1.4.1",ucs2:{decode:O,encode:_},decode:h,encode:j,toASCII:function(a){return g(a,function(a){return r.test(a)?"xn--"+j(a):a})},toUnicode:function(a){return g(a,function(a){return u.test(a)?h(a.slice(4).toLowerCase()):a})}},0,o&&i)if(T.exports==o)i.exports=n;else for(s in n)n.hasOwnProperty(s)&&(o[s]=n[s]);else a.punycode=n}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[2])(2)}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/index.js new file mode 100644 index 0000000..da7bc12 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/index.js @@ -0,0 +1,269 @@ +/*eslint no-var:0, prefer-arrow-callback: 0, object-shorthand: 0 */ +'use strict'; + + +var Punycode = require('punycode'); + + +var internals = {}; + + +// +// Read rules from file. +// +internals.rules = require('./data/rules.json').map(function (rule) { + + return { + rule: rule, + suffix: rule.replace(/^(\*\.|\!)/, ''), + punySuffix: -1, + wildcard: rule.charAt(0) === '*', + exception: rule.charAt(0) === '!' + }; +}); + + +// +// Check is given string ends with `suffix`. +// +internals.endsWith = function (str, suffix) { + + return str.indexOf(suffix, str.length - suffix.length) !== -1; +}; + + +// +// Find rule for a given domain. +// +internals.findRule = function (domain) { + + var punyDomain = Punycode.toASCII(domain); + return internals.rules.reduce(function (memo, rule) { + + if (rule.punySuffix === -1){ + rule.punySuffix = Punycode.toASCII(rule.suffix); + } + if (!internals.endsWith(punyDomain, '.' + rule.punySuffix) && punyDomain !== rule.punySuffix) { + return memo; + } + // This has been commented out as it never seems to run. This is because + // sub tlds always appear after their parents and we never find a shorter + // match. + //if (memo) { + // var memoSuffix = Punycode.toASCII(memo.suffix); + // if (memoSuffix.length >= punySuffix.length) { + // return memo; + // } + //} + return rule; + }, null); +}; + + +// +// Error codes and messages. +// +exports.errorCodes = { + DOMAIN_TOO_SHORT: 'Domain name too short.', + DOMAIN_TOO_LONG: 'Domain name too long. It should be no more than 255 chars.', + LABEL_STARTS_WITH_DASH: 'Domain name label can not start with a dash.', + LABEL_ENDS_WITH_DASH: 'Domain name label can not end with a dash.', + LABEL_TOO_LONG: 'Domain name label should be at most 63 chars long.', + LABEL_TOO_SHORT: 'Domain name label should be at least 1 character long.', + LABEL_INVALID_CHARS: 'Domain name label can only contain alphanumeric characters or dashes.' +}; + + +// +// Validate domain name and throw if not valid. +// +// From wikipedia: +// +// Hostnames are composed of series of labels concatenated with dots, as are all +// domain names. Each label must be between 1 and 63 characters long, and the +// entire hostname (including the delimiting dots) has a maximum of 255 chars. +// +// Allowed chars: +// +// * `a-z` +// * `0-9` +// * `-` but not as a starting or ending character +// * `.` as a separator for the textual portions of a domain name +// +// * http://en.wikipedia.org/wiki/Domain_name +// * http://en.wikipedia.org/wiki/Hostname +// +internals.validate = function (input) { + + // Before we can validate we need to take care of IDNs with unicode chars. + var ascii = Punycode.toASCII(input); + + if (ascii.length < 1) { + return 'DOMAIN_TOO_SHORT'; + } + if (ascii.length > 255) { + return 'DOMAIN_TOO_LONG'; + } + + // Check each part's length and allowed chars. + var labels = ascii.split('.'); + var label; + + for (var i = 0; i < labels.length; ++i) { + label = labels[i]; + if (!label.length) { + return 'LABEL_TOO_SHORT'; + } + if (label.length > 63) { + return 'LABEL_TOO_LONG'; + } + if (label.charAt(0) === '-') { + return 'LABEL_STARTS_WITH_DASH'; + } + if (label.charAt(label.length - 1) === '-') { + return 'LABEL_ENDS_WITH_DASH'; + } + if (!/^[a-z0-9\-]+$/.test(label)) { + return 'LABEL_INVALID_CHARS'; + } + } +}; + + +// +// Public API +// + + +// +// Parse domain. +// +exports.parse = function (input) { + + if (typeof input !== 'string') { + throw new TypeError('Domain name must be a string.'); + } + + // Force domain to lowercase. + var domain = input.slice(0).toLowerCase(); + + // Handle FQDN. + // TODO: Simply remove trailing dot? + if (domain.charAt(domain.length - 1) === '.') { + domain = domain.slice(0, domain.length - 1); + } + + // Validate and sanitise input. + var error = internals.validate(domain); + if (error) { + return { + input: input, + error: { + message: exports.errorCodes[error], + code: error + } + }; + } + + var parsed = { + input: input, + tld: null, + sld: null, + domain: null, + subdomain: null, + listed: false + }; + + var domainParts = domain.split('.'); + + // Non-Internet TLD + if (domainParts[domainParts.length - 1] === 'local') { + return parsed; + } + + var handlePunycode = function () { + + if (!/xn--/.test(domain)) { + return parsed; + } + if (parsed.domain) { + parsed.domain = Punycode.toASCII(parsed.domain); + } + if (parsed.subdomain) { + parsed.subdomain = Punycode.toASCII(parsed.subdomain); + } + return parsed; + }; + + var rule = internals.findRule(domain); + + // Unlisted tld. + if (!rule) { + if (domainParts.length < 2) { + return parsed; + } + parsed.tld = domainParts.pop(); + parsed.sld = domainParts.pop(); + parsed.domain = [parsed.sld, parsed.tld].join('.'); + if (domainParts.length) { + parsed.subdomain = domainParts.pop(); + } + return handlePunycode(); + } + + // At this point we know the public suffix is listed. + parsed.listed = true; + + var tldParts = rule.suffix.split('.'); + var privateParts = domainParts.slice(0, domainParts.length - tldParts.length); + + if (rule.exception) { + privateParts.push(tldParts.shift()); + } + + parsed.tld = tldParts.join('.'); + + if (!privateParts.length) { + return handlePunycode(); + } + + if (rule.wildcard) { + tldParts.unshift(privateParts.pop()); + parsed.tld = tldParts.join('.'); + } + + if (!privateParts.length) { + return handlePunycode(); + } + + parsed.sld = privateParts.pop(); + parsed.domain = [parsed.sld, parsed.tld].join('.'); + + if (privateParts.length) { + parsed.subdomain = privateParts.join('.'); + } + + return handlePunycode(); +}; + + +// +// Get domain. +// +exports.get = function (domain) { + + if (!domain) { + return null; + } + return exports.parse(domain).domain || null; +}; + + +// +// Check whether domain belongs to a known public suffix. +// +exports.isValid = function (domain) { + + var parsed = exports.parse(domain); + return Boolean(parsed.domain && parsed.listed); +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/package.json new file mode 100644 index 0000000..dc07a8a --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/package.json @@ -0,0 +1,77 @@ +{ + "_from": "psl@^1.1.28", + "_id": "psl@1.6.0", + "_inBundle": false, + "_integrity": "sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==", + "_location": "/psl", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "psl@^1.1.28", + "name": "psl", + "escapedName": "psl", + "rawSpec": "^1.1.28", + "saveSpec": null, + "fetchSpec": "^1.1.28" + }, + "_requiredBy": [ + "/tough-cookie" + ], + "_resolved": "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz", + "_shasum": "60557582ee23b6c43719d9890fb4170ecd91e110", + "_spec": "psl@^1.1.28", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\tough-cookie", + "author": { + "name": "Lupo Montero", + "email": "lupomontero@gmail.com", + "url": "https://lupomontero.com/" + }, + "bugs": { + "url": "https://github.com/lupomontero/psl/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Domain name parser based on the Public Suffix List", + "devDependencies": { + "JSONStream": "^1.3.5", + "browserify": "^16.5.0", + "commit-and-pr": "^1.0.4", + "eslint": "^6.7.2", + "eslint-config-hapi": "^12.0.0", + "eslint-plugin-hapi": "^4.1.0", + "karma": "^4.4.1", + "karma-browserify": "^6.1.0", + "karma-mocha": "^1.3.0", + "karma-mocha-reporter": "^2.2.5", + "karma-phantomjs-launcher": "^1.0.4", + "mocha": "^6.2.2", + "phantomjs-prebuilt": "^2.1.16", + "request": "^2.88.0", + "uglify-js": "^3.7.1", + "watchify": "^3.11.1" + }, + "homepage": "https://github.com/lupomontero/psl#readme", + "keywords": [ + "publicsuffix", + "publicsuffixlist" + ], + "license": "MIT", + "main": "index.js", + "name": "psl", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/lupomontero/psl.git" + }, + "scripts": { + "build": "browserify ./index.js --standalone=psl > ./dist/psl.js", + "changelog": "git log $(git describe --tags --abbrev=0)..HEAD --oneline --format=\"%h %s (%an <%ae>)\"", + "commit-and-pr": "commit-and-pr", + "postbuild": "cat ./dist/psl.js | uglifyjs -c -m > ./dist/psl.min.js", + "prebuild": "./scripts/update-rules.js", + "pretest": "eslint .", + "test": "mocha test && karma start ./karma.conf.js --single-run", + "watch": "mocha test --watch" + }, + "version": "1.6.0" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/LICENSE-MIT.txt b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/LICENSE-MIT.txt new file mode 100644 index 0000000..a41e0a7 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/LICENSE-MIT.txt @@ -0,0 +1,20 @@ +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/README.md new file mode 100644 index 0000000..ee2f9d6 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/README.md @@ -0,0 +1,122 @@ +# Punycode.js [![Build status](https://travis-ci.org/bestiejs/punycode.js.svg?branch=master)](https://travis-ci.org/bestiejs/punycode.js) [![Code coverage status](http://img.shields.io/codecov/c/github/bestiejs/punycode.js.svg)](https://codecov.io/gh/bestiejs/punycode.js) [![Dependency status](https://gemnasium.com/bestiejs/punycode.js.svg)](https://gemnasium.com/bestiejs/punycode.js) + +Punycode.js is a robust Punycode converter that fully complies to [RFC 3492](https://tools.ietf.org/html/rfc3492) and [RFC 5891](https://tools.ietf.org/html/rfc5891). + +This JavaScript library is the result of comparing, optimizing and documenting different open-source implementations of the Punycode algorithm: + +* [The C example code from RFC 3492](https://tools.ietf.org/html/rfc3492#appendix-C) +* [`punycode.c` by _Markus W. Scherer_ (IBM)](http://opensource.apple.com/source/ICU/ICU-400.42/icuSources/common/punycode.c) +* [`punycode.c` by _Ben Noordhuis_](https://github.com/bnoordhuis/punycode/blob/master/punycode.c) +* [JavaScript implementation by _some_](http://stackoverflow.com/questions/183485/can-anyone-recommend-a-good-free-javascript-for-punycode-to-unicode-conversion/301287#301287) +* [`punycode.js` by _Ben Noordhuis_](https://github.com/joyent/node/blob/426298c8c1c0d5b5224ac3658c41e7c2a3fe9377/lib/punycode.js) (note: [not fully compliant](https://github.com/joyent/node/issues/2072)) + +This project was [bundled](https://github.com/joyent/node/blob/master/lib/punycode.js) with Node.js from [v0.6.2+](https://github.com/joyent/node/compare/975f1930b1...61e796decc) until [v7](https://github.com/nodejs/node/pull/7941) (soft-deprecated). + +The current version supports recent versions of Node.js only. It provides a CommonJS module and an ES6 module. For the old version that offers the same functionality with broader support, including Rhino, Ringo, Narwhal, and web browsers, see [v1.4.1](https://github.com/bestiejs/punycode.js/releases/tag/v1.4.1). + +## Installation + +Via [npm](https://www.npmjs.com/): + +```bash +npm install punycode --save +``` + +In [Node.js](https://nodejs.org/): + +```js +const punycode = require('punycode'); +``` + +## API + +### `punycode.decode(string)` + +Converts a Punycode string of ASCII symbols to a string of Unicode symbols. + +```js +// decode domain name parts +punycode.decode('maana-pta'); // 'mañana' +punycode.decode('--dqo34k'); // '☃-⌘' +``` + +### `punycode.encode(string)` + +Converts a string of Unicode symbols to a Punycode string of ASCII symbols. + +```js +// encode domain name parts +punycode.encode('mañana'); // 'maana-pta' +punycode.encode('☃-⌘'); // '--dqo34k' +``` + +### `punycode.toUnicode(input)` + +Converts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode. + +```js +// decode domain names +punycode.toUnicode('xn--maana-pta.com'); +// → 'mañana.com' +punycode.toUnicode('xn----dqo34k.com'); +// → '☃-⌘.com' + +// decode email addresses +punycode.toUnicode('джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq'); +// → 'джумла@джpумлатеÑÑ‚.bрфa' +``` + +### `punycode.toASCII(input)` + +Converts a lowercased Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that’s already in ASCII. + +```js +// encode domain names +punycode.toASCII('mañana.com'); +// → 'xn--maana-pta.com' +punycode.toASCII('☃-⌘.com'); +// → 'xn----dqo34k.com' + +// encode email addresses +punycode.toASCII('джумла@джpумлатеÑÑ‚.bрфa'); +// → 'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq' +``` + +### `punycode.ucs2` + +#### `punycode.ucs2.decode(string)` + +Creates an array containing the numeric code point values of each Unicode symbol in the string. While [JavaScript uses UCS-2 internally](https://mathiasbynens.be/notes/javascript-encoding), this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16. + +```js +punycode.ucs2.decode('abc'); +// → [0x61, 0x62, 0x63] +// surrogate pair for U+1D306 TETRAGRAM FOR CENTRE: +punycode.ucs2.decode('\uD834\uDF06'); +// → [0x1D306] +``` + +#### `punycode.ucs2.encode(codePoints)` + +Creates a string based on an array of numeric code point values. + +```js +punycode.ucs2.encode([0x61, 0x62, 0x63]); +// → 'abc' +punycode.ucs2.encode([0x1D306]); +// → '\uD834\uDF06' +``` + +### `punycode.version` + +A string representing the current Punycode.js version number. + +## Author + +| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") | +|---| +| [Mathias Bynens](https://mathiasbynens.be/) | + +## License + +Punycode.js is available under the [MIT](https://mths.be/mit) license. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/package.json new file mode 100644 index 0000000..f573f2d --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/package.json @@ -0,0 +1,85 @@ +{ + "_from": "punycode@^2.1.1", + "_id": "punycode@2.1.1", + "_inBundle": false, + "_integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "_location": "/punycode", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "punycode@^2.1.1", + "name": "punycode", + "escapedName": "punycode", + "rawSpec": "^2.1.1", + "saveSpec": null, + "fetchSpec": "^2.1.1" + }, + "_requiredBy": [ + "/tough-cookie" + ], + "_resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "_shasum": "b58b010ac40c22c5657616c8d2c2c02c7bf479ec", + "_spec": "punycode@^2.1.1", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\tough-cookie", + "author": { + "name": "Mathias Bynens", + "url": "https://mathiasbynens.be/" + }, + "bugs": { + "url": "https://github.com/bestiejs/punycode.js/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Mathias Bynens", + "url": "https://mathiasbynens.be/" + } + ], + "deprecated": false, + "description": "A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.", + "devDependencies": { + "codecov": "^1.0.1", + "istanbul": "^0.4.1", + "mocha": "^2.5.3" + }, + "engines": { + "node": ">=6" + }, + "files": [ + "LICENSE-MIT.txt", + "punycode.js", + "punycode.es6.js" + ], + "homepage": "https://mths.be/punycode", + "jsnext:main": "punycode.es6.js", + "jspm": { + "map": { + "./punycode.js": { + "node": "@node/punycode" + } + } + }, + "keywords": [ + "punycode", + "unicode", + "idn", + "idna", + "dns", + "url", + "domain" + ], + "license": "MIT", + "main": "punycode.js", + "module": "punycode.es6.js", + "name": "punycode", + "repository": { + "type": "git", + "url": "git+https://github.com/bestiejs/punycode.js.git" + }, + "scripts": { + "prepublish": "node scripts/prepublish.js", + "test": "mocha tests" + }, + "version": "2.1.1" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.es6.js b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.es6.js new file mode 100644 index 0000000..4610bc9 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.es6.js @@ -0,0 +1,441 @@ +'use strict'; + +/** Highest positive signed 32-bit float value */ +const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + +/** Bootstring parameters */ +const base = 36; +const tMin = 1; +const tMax = 26; +const skew = 38; +const damp = 700; +const initialBias = 72; +const initialN = 128; // 0x80 +const delimiter = '-'; // '\x2D' + +/** Regular expressions */ +const regexPunycode = /^xn--/; +const regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars +const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + +/** Error messages */ +const errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; + +/** Convenience shortcuts */ +const baseMinusTMin = base - tMin; +const floor = Math.floor; +const stringFromCharCode = String.fromCharCode; + +/*--------------------------------------------------------------------------*/ + +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error(type) { + throw new RangeError(errors[type]); +} + +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, fn) { + const result = []; + let length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; +} + +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ +function mapDomain(string, fn) { + const parts = string.split('@'); + let result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + const labels = string.split('.'); + const encoded = map(labels, fn).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + const output = []; + let counter = 0; + const length = string.length; + while (counter < length) { + const value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + const extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +} + +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +const ucs2encode = array => String.fromCodePoint(...array); + +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +const basicToDigit = function(codePoint) { + if (codePoint - 0x30 < 0x0A) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1A) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1A) { + return codePoint - 0x61; + } + return base; +}; + +/** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +const digitToBasic = function(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +const adapt = function(delta, numPoints, firstTime) { + let k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +const decode = function(input) { + // Don't use UCS-2. + const output = []; + const inputLength = input.length; + let i = 0; + let n = initialN; + let bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + let basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (let j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + let oldi = i; + for (let w = 1, k = base; /* no condition */; k += base) { + + if (index >= inputLength) { + error('invalid-input'); + } + + const digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error('overflow'); + } + + i += digit * w; + const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + + if (digit < t) { + break; + } + + const baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error('overflow'); + } + + w *= baseMinusT; + + } + + const out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + + } + + return String.fromCodePoint(...output); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +const encode = function(input) { + const output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + let inputLength = input.length; + + // Initialize the state. + let n = initialN; + let delta = 0; + let bias = initialBias; + + // Handle the basic code points. + for (const currentValue of input) { + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + let basicLength = output.length; + let handledCPCount = basicLength; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + let m = maxInt; + for (const currentValue of input) { + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + const handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (const currentValue of input) { + if (currentValue < n && ++delta > maxInt) { + error('overflow'); + } + if (currentValue == n) { + // Represent delta as a generalized variable-length integer. + let q = delta; + for (let k = base; /* no condition */; k += base) { + const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) { + break; + } + const qMinusT = q - t; + const baseMinusT = base - t; + output.push( + stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) + ); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + + } + return output.join(''); +}; + +/** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +const toUnicode = function(input) { + return mapDomain(input, function(string) { + return regexPunycode.test(string) + ? decode(string.slice(4).toLowerCase()) + : string; + }); +}; + +/** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +const toASCII = function(input) { + return mapDomain(input, function(string) { + return regexNonASCII.test(string) + ? 'xn--' + encode(string) + : string; + }); +}; + +/*--------------------------------------------------------------------------*/ + +/** Define the public API */ +const punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.1.0', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; + +export { ucs2decode, ucs2encode, decode, encode, toASCII, toUnicode }; +export default punycode; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.js b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.js new file mode 100644 index 0000000..ea61fd0 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.js @@ -0,0 +1,440 @@ +'use strict'; + +/** Highest positive signed 32-bit float value */ +const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + +/** Bootstring parameters */ +const base = 36; +const tMin = 1; +const tMax = 26; +const skew = 38; +const damp = 700; +const initialBias = 72; +const initialN = 128; // 0x80 +const delimiter = '-'; // '\x2D' + +/** Regular expressions */ +const regexPunycode = /^xn--/; +const regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars +const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + +/** Error messages */ +const errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; + +/** Convenience shortcuts */ +const baseMinusTMin = base - tMin; +const floor = Math.floor; +const stringFromCharCode = String.fromCharCode; + +/*--------------------------------------------------------------------------*/ + +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error(type) { + throw new RangeError(errors[type]); +} + +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, fn) { + const result = []; + let length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; +} + +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ +function mapDomain(string, fn) { + const parts = string.split('@'); + let result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + const labels = string.split('.'); + const encoded = map(labels, fn).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + const output = []; + let counter = 0; + const length = string.length; + while (counter < length) { + const value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + const extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +} + +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +const ucs2encode = array => String.fromCodePoint(...array); + +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +const basicToDigit = function(codePoint) { + if (codePoint - 0x30 < 0x0A) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1A) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1A) { + return codePoint - 0x61; + } + return base; +}; + +/** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +const digitToBasic = function(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +const adapt = function(delta, numPoints, firstTime) { + let k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +const decode = function(input) { + // Don't use UCS-2. + const output = []; + const inputLength = input.length; + let i = 0; + let n = initialN; + let bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + let basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (let j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + let oldi = i; + for (let w = 1, k = base; /* no condition */; k += base) { + + if (index >= inputLength) { + error('invalid-input'); + } + + const digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error('overflow'); + } + + i += digit * w; + const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + + if (digit < t) { + break; + } + + const baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error('overflow'); + } + + w *= baseMinusT; + + } + + const out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + + } + + return String.fromCodePoint(...output); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +const encode = function(input) { + const output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + let inputLength = input.length; + + // Initialize the state. + let n = initialN; + let delta = 0; + let bias = initialBias; + + // Handle the basic code points. + for (const currentValue of input) { + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + let basicLength = output.length; + let handledCPCount = basicLength; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + let m = maxInt; + for (const currentValue of input) { + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + const handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (const currentValue of input) { + if (currentValue < n && ++delta > maxInt) { + error('overflow'); + } + if (currentValue == n) { + // Represent delta as a generalized variable-length integer. + let q = delta; + for (let k = base; /* no condition */; k += base) { + const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) { + break; + } + const qMinusT = q - t; + const baseMinusT = base - t; + output.push( + stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) + ); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + + } + return output.join(''); +}; + +/** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +const toUnicode = function(input) { + return mapDomain(input, function(string) { + return regexPunycode.test(string) + ? decode(string.slice(4).toLowerCase()) + : string; + }); +}; + +/** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +const toASCII = function(input) { + return mapDomain(input, function(string) { + return regexNonASCII.test(string) + ? 'xn--' + encode(string) + : string; + }); +}; + +/*--------------------------------------------------------------------------*/ + +/** Define the public API */ +const punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.1.0', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; + +module.exports = punycode; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintignore b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintignore @@ -0,0 +1 @@ +node_modules diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintrc b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintrc new file mode 100644 index 0000000..997b3f7 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintrc @@ -0,0 +1,10 @@ +{ + "node": true, + + "curly": true, + "latedef": true, + "quotmark": true, + "undef": true, + "unused": true, + "trailing": true +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.npmignore new file mode 100644 index 0000000..7e1574d --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.npmignore @@ -0,0 +1,18 @@ +.idea +*.iml +npm-debug.log +dump.rdb +node_modules +results.tap +results.xml +npm-shrinkwrap.json +config.json +.DS_Store +*/.DS_Store +*/*/.DS_Store +._* +*/._* +*/*/._* +coverage.* +lib-cov +complexity.md diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.travis.yml new file mode 100644 index 0000000..f502178 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.travis.yml @@ -0,0 +1,6 @@ +language: node_js + +node_js: + - 0.10 + - 0.12 + - iojs diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CHANGELOG.md b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CHANGELOG.md new file mode 100644 index 0000000..378370b --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CHANGELOG.md @@ -0,0 +1,73 @@ + +## [**2.4.1**](https://github.com/hapijs/qs/issues?milestone=20&state=closed) +- [**#73**](https://github.com/hapijs/qs/issues/73) Property 'hasOwnProperty' of object # is not a function + +## [**2.4.0**](https://github.com/hapijs/qs/issues?milestone=19&state=closed) +- [**#70**](https://github.com/hapijs/qs/issues/70) Add arrayFormat option + +## [**2.3.3**](https://github.com/hapijs/qs/issues?milestone=18&state=closed) +- [**#59**](https://github.com/hapijs/qs/issues/59) make sure array indexes are >= 0, closes #57 +- [**#58**](https://github.com/hapijs/qs/issues/58) make qs usable for browser loader + +## [**2.3.2**](https://github.com/hapijs/qs/issues?milestone=17&state=closed) +- [**#55**](https://github.com/hapijs/qs/issues/55) allow merging a string into an object + +## [**2.3.1**](https://github.com/hapijs/qs/issues?milestone=16&state=closed) +- [**#52**](https://github.com/hapijs/qs/issues/52) Return "undefined" and "false" instead of throwing "TypeError". + +## [**2.3.0**](https://github.com/hapijs/qs/issues?milestone=15&state=closed) +- [**#50**](https://github.com/hapijs/qs/issues/50) add option to omit array indices, closes #46 + +## [**2.2.5**](https://github.com/hapijs/qs/issues?milestone=14&state=closed) +- [**#39**](https://github.com/hapijs/qs/issues/39) Is there an alternative to Buffer.isBuffer? +- [**#49**](https://github.com/hapijs/qs/issues/49) refactor utils.merge, fixes #45 +- [**#41**](https://github.com/hapijs/qs/issues/41) avoid browserifying Buffer, for #39 + +## [**2.2.4**](https://github.com/hapijs/qs/issues?milestone=13&state=closed) +- [**#38**](https://github.com/hapijs/qs/issues/38) how to handle object keys beginning with a number + +## [**2.2.3**](https://github.com/hapijs/qs/issues?milestone=12&state=closed) +- [**#37**](https://github.com/hapijs/qs/issues/37) parser discards first empty value in array +- [**#36**](https://github.com/hapijs/qs/issues/36) Update to lab 4.x + +## [**2.2.2**](https://github.com/hapijs/qs/issues?milestone=11&state=closed) +- [**#33**](https://github.com/hapijs/qs/issues/33) Error when plain object in a value +- [**#34**](https://github.com/hapijs/qs/issues/34) use Object.prototype.hasOwnProperty.call instead of obj.hasOwnProperty +- [**#24**](https://github.com/hapijs/qs/issues/24) Changelog? Semver? + +## [**2.2.1**](https://github.com/hapijs/qs/issues?milestone=10&state=closed) +- [**#32**](https://github.com/hapijs/qs/issues/32) account for circular references properly, closes #31 +- [**#31**](https://github.com/hapijs/qs/issues/31) qs.parse stackoverflow on circular objects + +## [**2.2.0**](https://github.com/hapijs/qs/issues?milestone=9&state=closed) +- [**#26**](https://github.com/hapijs/qs/issues/26) Don't use Buffer global if it's not present +- [**#30**](https://github.com/hapijs/qs/issues/30) Bug when merging non-object values into arrays +- [**#29**](https://github.com/hapijs/qs/issues/29) Don't call Utils.clone at the top of Utils.merge +- [**#23**](https://github.com/hapijs/qs/issues/23) Ability to not limit parameters? + +## [**2.1.0**](https://github.com/hapijs/qs/issues?milestone=8&state=closed) +- [**#22**](https://github.com/hapijs/qs/issues/22) Enable using a RegExp as delimiter + +## [**2.0.0**](https://github.com/hapijs/qs/issues?milestone=7&state=closed) +- [**#18**](https://github.com/hapijs/qs/issues/18) Why is there arrayLimit? +- [**#20**](https://github.com/hapijs/qs/issues/20) Configurable parametersLimit +- [**#21**](https://github.com/hapijs/qs/issues/21) make all limits optional, for #18, for #20 + +## [**1.2.2**](https://github.com/hapijs/qs/issues?milestone=6&state=closed) +- [**#19**](https://github.com/hapijs/qs/issues/19) Don't overwrite null values + +## [**1.2.1**](https://github.com/hapijs/qs/issues?milestone=5&state=closed) +- [**#16**](https://github.com/hapijs/qs/issues/16) ignore non-string delimiters +- [**#15**](https://github.com/hapijs/qs/issues/15) Close code block + +## [**1.2.0**](https://github.com/hapijs/qs/issues?milestone=4&state=closed) +- [**#12**](https://github.com/hapijs/qs/issues/12) Add optional delim argument +- [**#13**](https://github.com/hapijs/qs/issues/13) fix #11: flattened keys in array are now correctly parsed + +## [**1.1.0**](https://github.com/hapijs/qs/issues?milestone=3&state=closed) +- [**#7**](https://github.com/hapijs/qs/issues/7) Empty values of a POST array disappear after being submitted +- [**#9**](https://github.com/hapijs/qs/issues/9) Should not omit equals signs (=) when value is null +- [**#6**](https://github.com/hapijs/qs/issues/6) Minor grammar fix in README + +## [**1.0.2**](https://github.com/hapijs/qs/issues?milestone=2&state=closed) +- [**#5**](https://github.com/hapijs/qs/issues/5) array holes incorrectly copied into object on large index diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CONTRIBUTING.md b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CONTRIBUTING.md new file mode 100644 index 0000000..8928361 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CONTRIBUTING.md @@ -0,0 +1 @@ +Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md). diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/LICENSE new file mode 100644 index 0000000..d456948 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2014 Nathan LaFreniere and other contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + * * * + +The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/Makefile b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/Makefile new file mode 100644 index 0000000..31cc899 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/Makefile @@ -0,0 +1,8 @@ +test: + @node node_modules/lab/bin/lab -a code -L +test-cov: + @node node_modules/lab/bin/lab -a code -t 100 -L +test-cov-html: + @node node_modules/lab/bin/lab -a code -L -r html -o coverage.html + +.PHONY: test test-cov test-cov-html diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/README.md new file mode 100644 index 0000000..2d7e7f5 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/README.md @@ -0,0 +1,233 @@ +# qs + +A querystring parsing and stringifying library with some added security. + +[![Build Status](https://secure.travis-ci.org/hapijs/qs.svg)](http://travis-ci.org/hapijs/qs) + +Lead Maintainer: [Nathan LaFreniere](https://github.com/nlf) + +The **qs** module was originally created and maintained by [TJ Holowaychuk](https://github.com/visionmedia/node-querystring). + +## Usage + +```javascript +var Qs = require('qs'); + +var obj = Qs.parse('a=c'); // { a: 'c' } +var str = Qs.stringify(obj); // 'a=c' +``` + +### Parsing Objects + +```javascript +Qs.parse(string, [options]); +``` + +**qs** allows you to create nested objects within your query strings, by surrounding the name of sub-keys with square brackets `[]`. +For example, the string `'foo[bar]=baz'` converts to: + +```javascript +{ + foo: { + bar: 'baz' + } +} +``` + +URI encoded strings work too: + +```javascript +Qs.parse('a%5Bb%5D=c'); +// { a: { b: 'c' } } +``` + +You can also nest your objects, like `'foo[bar][baz]=foobarbaz'`: + +```javascript +{ + foo: { + bar: { + baz: 'foobarbaz' + } + } +} +``` + +By default, when nesting objects **qs** will only parse up to 5 children deep. This means if you attempt to parse a string like +`'a[b][c][d][e][f][g][h][i]=j'` your resulting object will be: + +```javascript +{ + a: { + b: { + c: { + d: { + e: { + f: { + '[g][h][i]': 'j' + } + } + } + } + } + } +} +``` + +This depth can be overridden by passing a `depth` option to `Qs.parse(string, [options])`: + +```javascript +Qs.parse('a[b][c][d][e][f][g][h][i]=j', { depth: 1 }); +// { a: { b: { '[c][d][e][f][g][h][i]': 'j' } } } +``` + +The depth limit helps mitigate abuse when **qs** is used to parse user input, and it is recommended to keep it a reasonably small number. + +For similar reasons, by default **qs** will only parse up to 1000 parameters. This can be overridden by passing a `parameterLimit` option: + +```javascript +Qs.parse('a=b&c=d', { parameterLimit: 1 }); +// { a: 'b' } +``` + +An optional delimiter can also be passed: + +```javascript +Qs.parse('a=b;c=d', { delimiter: ';' }); +// { a: 'b', c: 'd' } +``` + +Delimiters can be a regular expression too: + +```javascript +Qs.parse('a=b;c=d,e=f', { delimiter: /[;,]/ }); +// { a: 'b', c: 'd', e: 'f' } +``` + +### Parsing Arrays + +**qs** can also parse arrays using a similar `[]` notation: + +```javascript +Qs.parse('a[]=b&a[]=c'); +// { a: ['b', 'c'] } +``` + +You may specify an index as well: + +```javascript +Qs.parse('a[1]=c&a[0]=b'); +// { a: ['b', 'c'] } +``` + +Note that the only difference between an index in an array and a key in an object is that the value between the brackets must be a number +to create an array. When creating arrays with specific indices, **qs** will compact a sparse array to only the existing values preserving +their order: + +```javascript +Qs.parse('a[1]=b&a[15]=c'); +// { a: ['b', 'c'] } +``` + +Note that an empty string is also a value, and will be preserved: + +```javascript +Qs.parse('a[]=&a[]=b'); +// { a: ['', 'b'] } +Qs.parse('a[0]=b&a[1]=&a[2]=c'); +// { a: ['b', '', 'c'] } +``` + +**qs** will also limit specifying indices in an array to a maximum index of `20`. Any array members with an index of greater than `20` will +instead be converted to an object with the index as the key: + +```javascript +Qs.parse('a[100]=b'); +// { a: { '100': 'b' } } +``` + +This limit can be overridden by passing an `arrayLimit` option: + +```javascript +Qs.parse('a[1]=b', { arrayLimit: 0 }); +// { a: { '1': 'b' } } +``` + +To disable array parsing entirely, set `arrayLimit` to `-1`. + +If you mix notations, **qs** will merge the two items into an object: + +```javascript +Qs.parse('a[0]=b&a[b]=c'); +// { a: { '0': 'b', b: 'c' } } +``` + +You can also create arrays of objects: + +```javascript +Qs.parse('a[][b]=c'); +// { a: [{ b: 'c' }] } +``` + +### Stringifying + +```javascript +Qs.stringify(object, [options]); +``` + +When stringifying, **qs** always URI encodes output. Objects are stringified as you would expect: + +```javascript +Qs.stringify({ a: 'b' }); +// 'a=b' +Qs.stringify({ a: { b: 'c' } }); +// 'a%5Bb%5D=c' +``` + +Examples beyond this point will be shown as though the output is not URI encoded for clarity. Please note that the return values in these cases *will* be URI encoded during real usage. + +When arrays are stringified, by default they are given explicit indices: + +```javascript +Qs.stringify({ a: ['b', 'c', 'd'] }); +// 'a[0]=b&a[1]=c&a[2]=d' +``` + +You may override this by setting the `indices` option to `false`: + +```javascript +Qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false }); +// 'a=b&a=c&a=d' +``` + +You may use the `arrayFormat` option to specify the format of the output array + +```javascript +Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' }) +// 'a[0]=b&a[1]=c' +Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' }) +// 'a[]=b&a[]=c' +Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' }) +// 'a=b&a=c' +``` + +Empty strings and null values will omit the value, but the equals sign (=) remains in place: + +```javascript +Qs.stringify({ a: '' }); +// 'a=' +``` + +Properties that are set to `undefined` will be omitted entirely: + +```javascript +Qs.stringify({ a: null, b: undefined }); +// 'a=' +``` + +The delimiter may be overridden with stringify as well: + +```javascript +Qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' }); +// 'a=b;c=d' +``` diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/index.js new file mode 100644 index 0000000..2291cd8 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/'); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/index.js new file mode 100644 index 0000000..0e09493 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/index.js @@ -0,0 +1,15 @@ +// Load modules + +var Stringify = require('./stringify'); +var Parse = require('./parse'); + + +// Declare internals + +var internals = {}; + + +module.exports = { + stringify: Stringify, + parse: Parse +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/parse.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/parse.js new file mode 100644 index 0000000..5c154bb --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/parse.js @@ -0,0 +1,157 @@ +// Load modules + +var Utils = require('./utils'); + + +// Declare internals + +var internals = { + delimiter: '&', + depth: 5, + arrayLimit: 20, + parameterLimit: 1000 +}; + + +internals.parseValues = function (str, options) { + + var obj = {}; + var parts = str.split(options.delimiter, options.parameterLimit === Infinity ? undefined : options.parameterLimit); + + for (var i = 0, il = parts.length; i < il; ++i) { + var part = parts[i]; + var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1; + + if (pos === -1) { + obj[Utils.decode(part)] = ''; + } + else { + var key = Utils.decode(part.slice(0, pos)); + var val = Utils.decode(part.slice(pos + 1)); + + if (!Object.prototype.hasOwnProperty.call(obj, key)) { + obj[key] = val; + } + else { + obj[key] = [].concat(obj[key]).concat(val); + } + } + } + + return obj; +}; + + +internals.parseObject = function (chain, val, options) { + + if (!chain.length) { + return val; + } + + var root = chain.shift(); + + var obj = {}; + if (root === '[]') { + obj = []; + obj = obj.concat(internals.parseObject(chain, val, options)); + } + else { + var cleanRoot = root[0] === '[' && root[root.length - 1] === ']' ? root.slice(1, root.length - 1) : root; + var index = parseInt(cleanRoot, 10); + var indexString = '' + index; + if (!isNaN(index) && + root !== cleanRoot && + indexString === cleanRoot && + index >= 0 && + index <= options.arrayLimit) { + + obj = []; + obj[index] = internals.parseObject(chain, val, options); + } + else { + obj[cleanRoot] = internals.parseObject(chain, val, options); + } + } + + return obj; +}; + + +internals.parseKeys = function (key, val, options) { + + if (!key) { + return; + } + + // The regex chunks + + var parent = /^([^\[\]]*)/; + var child = /(\[[^\[\]]*\])/g; + + // Get the parent + + var segment = parent.exec(key); + + // Don't allow them to overwrite object prototype properties + + if (Object.prototype.hasOwnProperty(segment[1])) { + return; + } + + // Stash the parent if it exists + + var keys = []; + if (segment[1]) { + keys.push(segment[1]); + } + + // Loop through children appending to the array until we hit depth + + var i = 0; + while ((segment = child.exec(key)) !== null && i < options.depth) { + + ++i; + if (!Object.prototype.hasOwnProperty(segment[1].replace(/\[|\]/g, ''))) { + keys.push(segment[1]); + } + } + + // If there's a remainder, just add whatever is left + + if (segment) { + keys.push('[' + key.slice(segment.index) + ']'); + } + + return internals.parseObject(keys, val, options); +}; + + +module.exports = function (str, options) { + + if (str === '' || + str === null || + typeof str === 'undefined') { + + return {}; + } + + options = options || {}; + options.delimiter = typeof options.delimiter === 'string' || Utils.isRegExp(options.delimiter) ? options.delimiter : internals.delimiter; + options.depth = typeof options.depth === 'number' ? options.depth : internals.depth; + options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : internals.arrayLimit; + options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : internals.parameterLimit; + + var tempObj = typeof str === 'string' ? internals.parseValues(str, options) : str; + var obj = {}; + + // Iterate over the keys and setup the new object + + var keys = Object.keys(tempObj); + for (var i = 0, il = keys.length; i < il; ++i) { + var key = keys[i]; + var newObj = internals.parseKeys(key, tempObj[key], options); + obj = Utils.merge(obj, newObj); + } + + return Utils.compact(obj); +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/stringify.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/stringify.js new file mode 100644 index 0000000..3ce6cc1 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/stringify.js @@ -0,0 +1,97 @@ +// Load modules + +var Utils = require('./utils'); + + +// Declare internals + +var internals = { + delimiter: '&', + arrayPrefixGenerators: { + brackets: function (prefix, key) { + return prefix + '[]'; + }, + indices: function (prefix, key) { + return prefix + '[' + key + ']'; + }, + repeat: function (prefix, key) { + return prefix; + } + } +}; + + +internals.stringify = function (obj, prefix, generateArrayPrefix) { + + if (Utils.isBuffer(obj)) { + obj = obj.toString(); + } + else if (obj instanceof Date) { + obj = obj.toISOString(); + } + else if (obj === null) { + obj = ''; + } + + if (typeof obj === 'string' || + typeof obj === 'number' || + typeof obj === 'boolean') { + + return [encodeURIComponent(prefix) + '=' + encodeURIComponent(obj)]; + } + + var values = []; + + if (typeof obj === 'undefined') { + return values; + } + + var objKeys = Object.keys(obj); + for (var i = 0, il = objKeys.length; i < il; ++i) { + var key = objKeys[i]; + if (Array.isArray(obj)) { + values = values.concat(internals.stringify(obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix)); + } + else { + values = values.concat(internals.stringify(obj[key], prefix + '[' + key + ']', generateArrayPrefix)); + } + } + + return values; +}; + + +module.exports = function (obj, options) { + + options = options || {}; + var delimiter = typeof options.delimiter === 'undefined' ? internals.delimiter : options.delimiter; + + var keys = []; + + if (typeof obj !== 'object' || + obj === null) { + + return ''; + } + + var arrayFormat; + if (options.arrayFormat in internals.arrayPrefixGenerators) { + arrayFormat = options.arrayFormat; + } + else if ('indices' in options) { + arrayFormat = options.indices ? 'indices' : 'repeat'; + } + else { + arrayFormat = 'indices'; + } + + var generateArrayPrefix = internals.arrayPrefixGenerators[arrayFormat]; + + var objKeys = Object.keys(obj); + for (var i = 0, il = objKeys.length; i < il; ++i) { + var key = objKeys[i]; + keys = keys.concat(internals.stringify(obj[key], key, generateArrayPrefix)); + } + + return keys.join(delimiter); +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/utils.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/utils.js new file mode 100644 index 0000000..5240bd5 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/utils.js @@ -0,0 +1,132 @@ +// Load modules + + +// Declare internals + +var internals = {}; + + +exports.arrayToObject = function (source) { + + var obj = {}; + for (var i = 0, il = source.length; i < il; ++i) { + if (typeof source[i] !== 'undefined') { + + obj[i] = source[i]; + } + } + + return obj; +}; + + +exports.merge = function (target, source) { + + if (!source) { + return target; + } + + if (typeof source !== 'object') { + if (Array.isArray(target)) { + target.push(source); + } + else { + target[source] = true; + } + + return target; + } + + if (typeof target !== 'object') { + target = [target].concat(source); + return target; + } + + if (Array.isArray(target) && + !Array.isArray(source)) { + + target = exports.arrayToObject(target); + } + + var keys = Object.keys(source); + for (var k = 0, kl = keys.length; k < kl; ++k) { + var key = keys[k]; + var value = source[key]; + + if (!target[key]) { + target[key] = value; + } + else { + target[key] = exports.merge(target[key], value); + } + } + + return target; +}; + + +exports.decode = function (str) { + + try { + return decodeURIComponent(str.replace(/\+/g, ' ')); + } catch (e) { + return str; + } +}; + + +exports.compact = function (obj, refs) { + + if (typeof obj !== 'object' || + obj === null) { + + return obj; + } + + refs = refs || []; + var lookup = refs.indexOf(obj); + if (lookup !== -1) { + return refs[lookup]; + } + + refs.push(obj); + + if (Array.isArray(obj)) { + var compacted = []; + + for (var i = 0, il = obj.length; i < il; ++i) { + if (typeof obj[i] !== 'undefined') { + compacted.push(obj[i]); + } + } + + return compacted; + } + + var keys = Object.keys(obj); + for (i = 0, il = keys.length; i < il; ++i) { + var key = keys[i]; + obj[key] = exports.compact(obj[key], refs); + } + + return obj; +}; + + +exports.isRegExp = function (obj) { + return Object.prototype.toString.call(obj) === '[object RegExp]'; +}; + + +exports.isBuffer = function (obj) { + + if (obj === null || + typeof obj === 'undefined') { + + return false; + } + + return !!(obj.constructor && + obj.constructor.isBuffer && + obj.constructor.isBuffer(obj)); +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/package.json new file mode 100644 index 0000000..ce7d9ae --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/package.json @@ -0,0 +1,57 @@ +{ + "_from": "qs@~2.4.0", + "_id": "qs@2.4.2", + "_inBundle": false, + "_integrity": "sha1-9854jld33wtQENp/fE5zujJHD1o=", + "_location": "/qs", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "qs@~2.4.0", + "name": "qs", + "escapedName": "qs", + "rawSpec": "~2.4.0", + "saveSpec": null, + "fetchSpec": "~2.4.0" + }, + "_requiredBy": [ + "/request" + ], + "_resolved": "https://registry.npmjs.org/qs/-/qs-2.4.2.tgz", + "_shasum": "f7ce788e5777df0b5010da7f7c4e73ba32470f5a", + "_spec": "qs@~2.4.0", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", + "bugs": { + "url": "https://github.com/hapijs/qs/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "A querystring parser that supports nesting and arrays, with a depth limit", + "devDependencies": { + "code": "1.x.x", + "lab": "5.x.x" + }, + "homepage": "https://github.com/hapijs/qs", + "keywords": [ + "querystring", + "qs" + ], + "licenses": [ + { + "type": "BSD", + "url": "http://github.com/hapijs/qs/raw/master/LICENSE" + } + ], + "main": "index.js", + "name": "qs", + "repository": { + "type": "git", + "url": "git+https://github.com/hapijs/qs.git" + }, + "scripts": { + "test": "make test-cov" + }, + "version": "2.4.2" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/parse.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/parse.js new file mode 100644 index 0000000..79c575b --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/parse.js @@ -0,0 +1,414 @@ +/* eslint no-extend-native:0 */ +// Load modules + +var Code = require('code'); +var Lab = require('lab'); +var Qs = require('../'); + + +// Declare internals + +var internals = {}; + + +// Test shortcuts + +var lab = exports.lab = Lab.script(); +var expect = Code.expect; +var describe = lab.experiment; +var it = lab.test; + + +describe('parse()', function () { + + it('parses a simple string', function (done) { + + expect(Qs.parse('0=foo')).to.deep.equal({ '0': 'foo' }); + expect(Qs.parse('foo=c++')).to.deep.equal({ foo: 'c ' }); + expect(Qs.parse('a[>=]=23')).to.deep.equal({ a: { '>=': '23' } }); + expect(Qs.parse('a[<=>]==23')).to.deep.equal({ a: { '<=>': '=23' } }); + expect(Qs.parse('a[==]=23')).to.deep.equal({ a: { '==': '23' } }); + expect(Qs.parse('foo')).to.deep.equal({ foo: '' }); + expect(Qs.parse('foo=bar')).to.deep.equal({ foo: 'bar' }); + expect(Qs.parse(' foo = bar = baz ')).to.deep.equal({ ' foo ': ' bar = baz ' }); + expect(Qs.parse('foo=bar=baz')).to.deep.equal({ foo: 'bar=baz' }); + expect(Qs.parse('foo=bar&bar=baz')).to.deep.equal({ foo: 'bar', bar: 'baz' }); + expect(Qs.parse('foo=bar&baz')).to.deep.equal({ foo: 'bar', baz: '' }); + expect(Qs.parse('cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World')).to.deep.equal({ + cht: 'p3', + chd: 't:60,40', + chs: '250x100', + chl: 'Hello|World' + }); + done(); + }); + + it('parses a single nested string', function (done) { + + expect(Qs.parse('a[b]=c')).to.deep.equal({ a: { b: 'c' } }); + done(); + }); + + it('parses a double nested string', function (done) { + + expect(Qs.parse('a[b][c]=d')).to.deep.equal({ a: { b: { c: 'd' } } }); + done(); + }); + + it('defaults to a depth of 5', function (done) { + + expect(Qs.parse('a[b][c][d][e][f][g][h]=i')).to.deep.equal({ a: { b: { c: { d: { e: { f: { '[g][h]': 'i' } } } } } } }); + done(); + }); + + it('only parses one level when depth = 1', function (done) { + + expect(Qs.parse('a[b][c]=d', { depth: 1 })).to.deep.equal({ a: { b: { '[c]': 'd' } } }); + expect(Qs.parse('a[b][c][d]=e', { depth: 1 })).to.deep.equal({ a: { b: { '[c][d]': 'e' } } }); + done(); + }); + + it('parses a simple array', function (done) { + + expect(Qs.parse('a=b&a=c')).to.deep.equal({ a: ['b', 'c'] }); + done(); + }); + + it('parses an explicit array', function (done) { + + expect(Qs.parse('a[]=b')).to.deep.equal({ a: ['b'] }); + expect(Qs.parse('a[]=b&a[]=c')).to.deep.equal({ a: ['b', 'c'] }); + expect(Qs.parse('a[]=b&a[]=c&a[]=d')).to.deep.equal({ a: ['b', 'c', 'd'] }); + done(); + }); + + it('parses a mix of simple and explicit arrays', function (done) { + + expect(Qs.parse('a=b&a[]=c')).to.deep.equal({ a: ['b', 'c'] }); + expect(Qs.parse('a[]=b&a=c')).to.deep.equal({ a: ['b', 'c'] }); + expect(Qs.parse('a[0]=b&a=c')).to.deep.equal({ a: ['b', 'c'] }); + expect(Qs.parse('a=b&a[0]=c')).to.deep.equal({ a: ['b', 'c'] }); + expect(Qs.parse('a[1]=b&a=c')).to.deep.equal({ a: ['b', 'c'] }); + expect(Qs.parse('a=b&a[1]=c')).to.deep.equal({ a: ['b', 'c'] }); + done(); + }); + + it('parses a nested array', function (done) { + + expect(Qs.parse('a[b][]=c&a[b][]=d')).to.deep.equal({ a: { b: ['c', 'd'] } }); + expect(Qs.parse('a[>=]=25')).to.deep.equal({ a: { '>=': '25' } }); + done(); + }); + + it('allows to specify array indices', function (done) { + + expect(Qs.parse('a[1]=c&a[0]=b&a[2]=d')).to.deep.equal({ a: ['b', 'c', 'd'] }); + expect(Qs.parse('a[1]=c&a[0]=b')).to.deep.equal({ a: ['b', 'c'] }); + expect(Qs.parse('a[1]=c')).to.deep.equal({ a: ['c'] }); + done(); + }); + + it('limits specific array indices to 20', function (done) { + + expect(Qs.parse('a[20]=a')).to.deep.equal({ a: ['a'] }); + expect(Qs.parse('a[21]=a')).to.deep.equal({ a: { '21': 'a' } }); + done(); + }); + + it('supports keys that begin with a number', function (done) { + + expect(Qs.parse('a[12b]=c')).to.deep.equal({ a: { '12b': 'c' } }); + done(); + }); + + it('supports encoded = signs', function (done) { + + expect(Qs.parse('he%3Dllo=th%3Dere')).to.deep.equal({ 'he=llo': 'th=ere' }); + done(); + }); + + it('is ok with url encoded strings', function (done) { + + expect(Qs.parse('a[b%20c]=d')).to.deep.equal({ a: { 'b c': 'd' } }); + expect(Qs.parse('a[b]=c%20d')).to.deep.equal({ a: { b: 'c d' } }); + done(); + }); + + it('allows brackets in the value', function (done) { + + expect(Qs.parse('pets=["tobi"]')).to.deep.equal({ pets: '["tobi"]' }); + expect(Qs.parse('operators=[">=", "<="]')).to.deep.equal({ operators: '[">=", "<="]' }); + done(); + }); + + it('allows empty values', function (done) { + + expect(Qs.parse('')).to.deep.equal({}); + expect(Qs.parse(null)).to.deep.equal({}); + expect(Qs.parse(undefined)).to.deep.equal({}); + done(); + }); + + it('transforms arrays to objects', function (done) { + + expect(Qs.parse('foo[0]=bar&foo[bad]=baz')).to.deep.equal({ foo: { '0': 'bar', bad: 'baz' } }); + expect(Qs.parse('foo[bad]=baz&foo[0]=bar')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar' } }); + expect(Qs.parse('foo[bad]=baz&foo[]=bar')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar' } }); + expect(Qs.parse('foo[]=bar&foo[bad]=baz')).to.deep.equal({ foo: { '0': 'bar', bad: 'baz' } }); + expect(Qs.parse('foo[bad]=baz&foo[]=bar&foo[]=foo')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar', '1': 'foo' } }); + expect(Qs.parse('foo[0][a]=a&foo[0][b]=b&foo[1][a]=aa&foo[1][b]=bb')).to.deep.equal({foo: [ {a: 'a', b: 'b'}, {a: 'aa', b: 'bb'} ]}); + done(); + }); + + it('can add keys to objects', function (done) { + + expect(Qs.parse('a[b]=c&a=d')).to.deep.equal({ a: { b: 'c', d: true } }); + done(); + }); + + it('correctly prunes undefined values when converting an array to an object', function (done) { + + expect(Qs.parse('a[2]=b&a[99999999]=c')).to.deep.equal({ a: { '2': 'b', '99999999': 'c' } }); + done(); + }); + + it('supports malformed uri characters', function (done) { + + expect(Qs.parse('{%:%}')).to.deep.equal({ '{%:%}': '' }); + expect(Qs.parse('foo=%:%}')).to.deep.equal({ foo: '%:%}' }); + done(); + }); + + it('doesn\'t produce empty keys', function (done) { + + expect(Qs.parse('_r=1&')).to.deep.equal({ '_r': '1' }); + done(); + }); + + it('cannot override prototypes', function (done) { + + var obj = Qs.parse('hasOwnProperty=bad&toString=bad&bad[toString]=bad&constructor=bad'); + expect(typeof obj.toString).to.equal('function'); + expect(typeof obj.bad.toString).to.equal('function'); + expect(typeof obj.constructor).to.equal('function'); + expect(typeof obj.hasOwnProperty).to.equal('function'); + done(); + }); + + it('cannot access Object prototype', function (done) { + + Qs.parse('constructor[prototype][bad]=bad'); + Qs.parse('bad[constructor][prototype][bad]=bad'); + expect(typeof Object.prototype.bad).to.equal('undefined'); + done(); + }); + + it('parses arrays of objects', function (done) { + + expect(Qs.parse('a[][b]=c')).to.deep.equal({ a: [{ b: 'c' }] }); + expect(Qs.parse('a[0][b]=c')).to.deep.equal({ a: [{ b: 'c' }] }); + done(); + }); + + it('allows for empty strings in arrays', function (done) { + + expect(Qs.parse('a[]=b&a[]=&a[]=c')).to.deep.equal({ a: ['b', '', 'c'] }); + expect(Qs.parse('a[0]=b&a[1]=&a[2]=c&a[19]=')).to.deep.equal({ a: ['b', '', 'c', ''] }); + expect(Qs.parse('a[]=&a[]=b&a[]=c')).to.deep.equal({ a: ['', 'b', 'c'] }); + done(); + }); + + it('compacts sparse arrays', function (done) { + + expect(Qs.parse('a[10]=1&a[2]=2')).to.deep.equal({ a: ['2', '1'] }); + done(); + }); + + it('parses semi-parsed strings', function (done) { + + expect(Qs.parse({ 'a[b]': 'c' })).to.deep.equal({ a: { b: 'c' } }); + expect(Qs.parse({ 'a[b]': 'c', 'a[d]': 'e' })).to.deep.equal({ a: { b: 'c', d: 'e' } }); + done(); + }); + + it('parses buffers correctly', function (done) { + + var b = new Buffer('test'); + expect(Qs.parse({ a: b })).to.deep.equal({ a: b }); + done(); + }); + + it('continues parsing when no parent is found', function (done) { + + expect(Qs.parse('[]&a=b')).to.deep.equal({ '0': '', a: 'b' }); + expect(Qs.parse('[foo]=bar')).to.deep.equal({ foo: 'bar' }); + done(); + }); + + it('does not error when parsing a very long array', function (done) { + + var str = 'a[]=a'; + while (Buffer.byteLength(str) < 128 * 1024) { + str += '&' + str; + } + + expect(function () { + + Qs.parse(str); + }).to.not.throw(); + + done(); + }); + + it('should not throw when a native prototype has an enumerable property', { parallel: false }, function (done) { + + Object.prototype.crash = ''; + Array.prototype.crash = ''; + expect(Qs.parse.bind(null, 'a=b')).to.not.throw(); + expect(Qs.parse('a=b')).to.deep.equal({ a: 'b' }); + expect(Qs.parse.bind(null, 'a[][b]=c')).to.not.throw(); + expect(Qs.parse('a[][b]=c')).to.deep.equal({ a: [{ b: 'c' }] }); + delete Object.prototype.crash; + delete Array.prototype.crash; + done(); + }); + + it('parses a string with an alternative string delimiter', function (done) { + + expect(Qs.parse('a=b;c=d', { delimiter: ';' })).to.deep.equal({ a: 'b', c: 'd' }); + done(); + }); + + it('parses a string with an alternative RegExp delimiter', function (done) { + + expect(Qs.parse('a=b; c=d', { delimiter: /[;,] */ })).to.deep.equal({ a: 'b', c: 'd' }); + done(); + }); + + it('does not use non-splittable objects as delimiters', function (done) { + + expect(Qs.parse('a=b&c=d', { delimiter: true })).to.deep.equal({ a: 'b', c: 'd' }); + done(); + }); + + it('allows overriding parameter limit', function (done) { + + expect(Qs.parse('a=b&c=d', { parameterLimit: 1 })).to.deep.equal({ a: 'b' }); + done(); + }); + + it('allows setting the parameter limit to Infinity', function (done) { + + expect(Qs.parse('a=b&c=d', { parameterLimit: Infinity })).to.deep.equal({ a: 'b', c: 'd' }); + done(); + }); + + it('allows overriding array limit', function (done) { + + expect(Qs.parse('a[0]=b', { arrayLimit: -1 })).to.deep.equal({ a: { '0': 'b' } }); + expect(Qs.parse('a[-1]=b', { arrayLimit: -1 })).to.deep.equal({ a: { '-1': 'b' } }); + expect(Qs.parse('a[0]=b&a[1]=c', { arrayLimit: 0 })).to.deep.equal({ a: { '0': 'b', '1': 'c' } }); + done(); + }); + + it('parses an object', function (done) { + + var input = { + 'user[name]': {'pop[bob]': 3}, + 'user[email]': null + }; + + var expected = { + 'user': { + 'name': {'pop[bob]': 3}, + 'email': null + } + }; + + var result = Qs.parse(input); + + expect(result).to.deep.equal(expected); + done(); + }); + + it('parses an object and not child values', function (done) { + + var input = { + 'user[name]': {'pop[bob]': { 'test': 3 }}, + 'user[email]': null + }; + + var expected = { + 'user': { + 'name': {'pop[bob]': { 'test': 3 }}, + 'email': null + } + }; + + var result = Qs.parse(input); + + expect(result).to.deep.equal(expected); + done(); + }); + + it('does not blow up when Buffer global is missing', function (done) { + + var tempBuffer = global.Buffer; + delete global.Buffer; + var result = Qs.parse('a=b&c=d'); + global.Buffer = tempBuffer; + expect(result).to.deep.equal({ a: 'b', c: 'd' }); + done(); + }); + + it('does not crash when using invalid dot notation', function (done) { + + expect(Qs.parse('roomInfoList[0].childrenAges[0]=15&roomInfoList[0].numberOfAdults=2')).to.deep.equal({ roomInfoList: [['15', '2']] }); + done(); + }); + + it('does not crash when parsing circular references', function (done) { + + var a = {}; + a.b = a; + + var parsed; + + expect(function () { + + parsed = Qs.parse({ 'foo[bar]': 'baz', 'foo[baz]': a }); + }).to.not.throw(); + + expect(parsed).to.contain('foo'); + expect(parsed.foo).to.contain('bar', 'baz'); + expect(parsed.foo.bar).to.equal('baz'); + expect(parsed.foo.baz).to.deep.equal(a); + done(); + }); + + it('parses plain objects correctly', function (done) { + + var a = Object.create(null); + a.b = 'c'; + + expect(Qs.parse(a)).to.deep.equal({ b: 'c' }); + var result = Qs.parse({ a: a }); + expect(result).to.contain('a'); + expect(result.a).to.deep.equal(a); + done(); + }); + + it('parses dates correctly', function (done) { + + var now = new Date(); + expect(Qs.parse({ a: now })).to.deep.equal({ a: now }); + done(); + }); + + it('parses regular expressions correctly', function (done) { + + var re = /^test$/; + expect(Qs.parse({ a: re })).to.deep.equal({ a: re }); + done(); + }); +}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/stringify.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/stringify.js new file mode 100644 index 0000000..7bdec32 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/stringify.js @@ -0,0 +1,209 @@ +/* eslint no-extend-native:0 */ +// Load modules + +var Code = require('code'); +var Lab = require('lab'); +var Qs = require('../'); + + +// Declare internals + +var internals = {}; + + +// Test shortcuts + +var lab = exports.lab = Lab.script(); +var expect = Code.expect; +var describe = lab.experiment; +var it = lab.test; + + +describe('stringify()', function () { + + it('stringifies a querystring object', function (done) { + + expect(Qs.stringify({ a: 'b' })).to.equal('a=b'); + expect(Qs.stringify({ a: 1 })).to.equal('a=1'); + expect(Qs.stringify({ a: 1, b: 2 })).to.equal('a=1&b=2'); + done(); + }); + + it('stringifies a nested object', function (done) { + + expect(Qs.stringify({ a: { b: 'c' } })).to.equal('a%5Bb%5D=c'); + expect(Qs.stringify({ a: { b: { c: { d: 'e' } } } })).to.equal('a%5Bb%5D%5Bc%5D%5Bd%5D=e'); + done(); + }); + + it('stringifies an array value', function (done) { + + expect(Qs.stringify({ a: ['b', 'c', 'd'] })).to.equal('a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d'); + done(); + }); + + it('omits array indices when asked', function (done) { + + expect(Qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false })).to.equal('a=b&a=c&a=d'); + done(); + }); + + it('stringifies a nested array value', function (done) { + + expect(Qs.stringify({ a: { b: ['c', 'd'] } })).to.equal('a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d'); + done(); + }); + + it('stringifies an object inside an array', function (done) { + + expect(Qs.stringify({ a: [{ b: 'c' }] })).to.equal('a%5B0%5D%5Bb%5D=c'); + expect(Qs.stringify({ a: [{ b: { c: [1] } }] })).to.equal('a%5B0%5D%5Bb%5D%5Bc%5D%5B0%5D=1'); + done(); + }); + + it('does not omit object keys when indices = false', function (done) { + + expect(Qs.stringify({ a: [{ b: 'c' }] }, { indices: false })).to.equal('a%5Bb%5D=c'); + done(); + }); + + it('uses indices notation for arrays when indices=true', function (done) { + + expect(Qs.stringify({ a: ['b', 'c'] }, { indices: true })).to.equal('a%5B0%5D=b&a%5B1%5D=c'); + done(); + }); + + it('uses indices notation for arrays when no arrayFormat is specified', function (done) { + + expect(Qs.stringify({ a: ['b', 'c'] })).to.equal('a%5B0%5D=b&a%5B1%5D=c'); + done(); + }); + + it('uses indices notation for arrays when no arrayFormat=indices', function (done) { + + expect(Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })).to.equal('a%5B0%5D=b&a%5B1%5D=c'); + done(); + }); + + it('uses repeat notation for arrays when no arrayFormat=repeat', function (done) { + + expect(Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })).to.equal('a=b&a=c'); + done(); + }); + + it('uses brackets notation for arrays when no arrayFormat=brackets', function (done) { + + expect(Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })).to.equal('a%5B%5D=b&a%5B%5D=c'); + done(); + }); + + it('stringifies a complicated object', function (done) { + + expect(Qs.stringify({ a: { b: 'c', d: 'e' } })).to.equal('a%5Bb%5D=c&a%5Bd%5D=e'); + done(); + }); + + it('stringifies an empty value', function (done) { + + expect(Qs.stringify({ a: '' })).to.equal('a='); + expect(Qs.stringify({ a: '', b: '' })).to.equal('a=&b='); + expect(Qs.stringify({ a: null })).to.equal('a='); + expect(Qs.stringify({ a: { b: null } })).to.equal('a%5Bb%5D='); + done(); + }); + + it('stringifies an empty object', function (done) { + + var obj = Object.create(null); + obj.a = 'b'; + expect(Qs.stringify(obj)).to.equal('a=b'); + done(); + }); + + it('returns an empty string for invalid input', function (done) { + + expect(Qs.stringify(undefined)).to.equal(''); + expect(Qs.stringify(false)).to.equal(''); + expect(Qs.stringify(null)).to.equal(''); + expect(Qs.stringify('')).to.equal(''); + done(); + }); + + it('stringifies an object with an empty object as a child', function (done) { + + var obj = { + a: Object.create(null) + }; + + obj.a.b = 'c'; + expect(Qs.stringify(obj)).to.equal('a%5Bb%5D=c'); + done(); + }); + + it('drops keys with a value of undefined', function (done) { + + expect(Qs.stringify({ a: undefined })).to.equal(''); + expect(Qs.stringify({ a: { b: undefined, c: null } })).to.equal('a%5Bc%5D='); + done(); + }); + + it('url encodes values', function (done) { + + expect(Qs.stringify({ a: 'b c' })).to.equal('a=b%20c'); + done(); + }); + + it('stringifies a date', function (done) { + + var now = new Date(); + var str = 'a=' + encodeURIComponent(now.toISOString()); + expect(Qs.stringify({ a: now })).to.equal(str); + done(); + }); + + it('stringifies the weird object from qs', function (done) { + + expect(Qs.stringify({ 'my weird field': 'q1!2"\'w$5&7/z8)?' })).to.equal('my%20weird%20field=q1!2%22\'w%245%267%2Fz8)%3F'); + done(); + }); + + it('skips properties that are part of the object prototype', function (done) { + + Object.prototype.crash = 'test'; + expect(Qs.stringify({ a: 'b'})).to.equal('a=b'); + expect(Qs.stringify({ a: { b: 'c' } })).to.equal('a%5Bb%5D=c'); + delete Object.prototype.crash; + done(); + }); + + it('stringifies boolean values', function (done) { + + expect(Qs.stringify({ a: true })).to.equal('a=true'); + expect(Qs.stringify({ a: { b: true } })).to.equal('a%5Bb%5D=true'); + expect(Qs.stringify({ b: false })).to.equal('b=false'); + expect(Qs.stringify({ b: { c: false } })).to.equal('b%5Bc%5D=false'); + done(); + }); + + it('stringifies buffer values', function (done) { + + expect(Qs.stringify({ a: new Buffer('test') })).to.equal('a=test'); + expect(Qs.stringify({ a: { b: new Buffer('test') } })).to.equal('a%5Bb%5D=test'); + done(); + }); + + it('stringifies an object using an alternative delimiter', function (done) { + + expect(Qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' })).to.equal('a=b;c=d'); + done(); + }); + + it('doesn\'t blow up when Buffer global is missing', function (done) { + + var tempBuffer = global.Buffer; + delete global.Buffer; + expect(Qs.stringify({ a: 'b', c: 'd' })).to.equal('a=b&c=d'); + global.Buffer = tempBuffer; + done(); + }); +}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/.npmignore new file mode 100644 index 0000000..38344f8 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/.npmignore @@ -0,0 +1,5 @@ +build/ +test/ +examples/ +fs.js +zlib.js \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/LICENSE new file mode 100644 index 0000000..e3d4e69 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/LICENSE @@ -0,0 +1,18 @@ +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/README.md new file mode 100644 index 0000000..3fb3e80 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/README.md @@ -0,0 +1,15 @@ +# readable-stream + +***Node-core streams for userland*** + +[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) +[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/) + +This package is a mirror of the Streams2 and Streams3 implementations in Node-core. + +If you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core. + +**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12. + +**readable-stream** uses proper patch-level versioning so if you pin to `"~1.0.0"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `"~1.1.0"` + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/duplex.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/duplex.js new file mode 100644 index 0000000..ca807af --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/duplex.js @@ -0,0 +1 @@ +module.exports = require("./lib/_stream_duplex.js") diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_duplex.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_duplex.js new file mode 100644 index 0000000..b513d61 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_duplex.js @@ -0,0 +1,89 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// a duplex stream is just a stream that is both readable and writable. +// Since JS doesn't have multiple prototypal inheritance, this class +// prototypally inherits from Readable, and then parasitically from +// Writable. + +module.exports = Duplex; + +/**/ +var objectKeys = Object.keys || function (obj) { + var keys = []; + for (var key in obj) keys.push(key); + return keys; +} +/**/ + + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +var Readable = require('./_stream_readable'); +var Writable = require('./_stream_writable'); + +util.inherits(Duplex, Readable); + +forEach(objectKeys(Writable.prototype), function(method) { + if (!Duplex.prototype[method]) + Duplex.prototype[method] = Writable.prototype[method]; +}); + +function Duplex(options) { + if (!(this instanceof Duplex)) + return new Duplex(options); + + Readable.call(this, options); + Writable.call(this, options); + + if (options && options.readable === false) + this.readable = false; + + if (options && options.writable === false) + this.writable = false; + + this.allowHalfOpen = true; + if (options && options.allowHalfOpen === false) + this.allowHalfOpen = false; + + this.once('end', onend); +} + +// the no-half-open enforcer +function onend() { + // if we allow half-open state, or if the writable side ended, + // then we're ok. + if (this.allowHalfOpen || this._writableState.ended) + return; + + // no more data can be written. + // But allow more writes to happen in this tick. + process.nextTick(this.end.bind(this)); +} + +function forEach (xs, f) { + for (var i = 0, l = xs.length; i < l; i++) { + f(xs[i], i); + } +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_passthrough.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_passthrough.js new file mode 100644 index 0000000..895ca50 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_passthrough.js @@ -0,0 +1,46 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// a passthrough stream. +// basically just the most minimal sort of Transform stream. +// Every written chunk gets output as-is. + +module.exports = PassThrough; + +var Transform = require('./_stream_transform'); + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +util.inherits(PassThrough, Transform); + +function PassThrough(options) { + if (!(this instanceof PassThrough)) + return new PassThrough(options); + + Transform.call(this, options); +} + +PassThrough.prototype._transform = function(chunk, encoding, cb) { + cb(null, chunk); +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_readable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_readable.js new file mode 100644 index 0000000..6307220 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_readable.js @@ -0,0 +1,982 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +module.exports = Readable; + +/**/ +var isArray = require('isarray'); +/**/ + + +/**/ +var Buffer = require('buffer').Buffer; +/**/ + +Readable.ReadableState = ReadableState; + +var EE = require('events').EventEmitter; + +/**/ +if (!EE.listenerCount) EE.listenerCount = function(emitter, type) { + return emitter.listeners(type).length; +}; +/**/ + +var Stream = require('stream'); + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +var StringDecoder; + +util.inherits(Readable, Stream); + +function ReadableState(options, stream) { + options = options || {}; + + // the point at which it stops calling _read() to fill the buffer + // Note: 0 is a valid value, means "don't call _read preemptively ever" + var hwm = options.highWaterMark; + this.highWaterMark = (hwm || hwm === 0) ? hwm : 16 * 1024; + + // cast to ints. + this.highWaterMark = ~~this.highWaterMark; + + this.buffer = []; + this.length = 0; + this.pipes = null; + this.pipesCount = 0; + this.flowing = false; + this.ended = false; + this.endEmitted = false; + this.reading = false; + + // In streams that never have any data, and do push(null) right away, + // the consumer can miss the 'end' event if they do some I/O before + // consuming the stream. So, we don't emit('end') until some reading + // happens. + this.calledRead = false; + + // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, becuase any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. + this.sync = true; + + // whenever we return null, then we set a flag to say + // that we're awaiting a 'readable' event emission. + this.needReadable = false; + this.emittedReadable = false; + this.readableListening = false; + + + // object stream flag. Used to make read(n) ignore n and to + // make all the buffer merging and length checks go away + this.objectMode = !!options.objectMode; + + // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + this.defaultEncoding = options.defaultEncoding || 'utf8'; + + // when piping, we only care about 'readable' events that happen + // after read()ing all the bytes and not getting any pushback. + this.ranOut = false; + + // the number of writers that are awaiting a drain event in .pipe()s + this.awaitDrain = 0; + + // if true, a maybeReadMore has been scheduled + this.readingMore = false; + + this.decoder = null; + this.encoding = null; + if (options.encoding) { + if (!StringDecoder) + StringDecoder = require('string_decoder/').StringDecoder; + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; + } +} + +function Readable(options) { + if (!(this instanceof Readable)) + return new Readable(options); + + this._readableState = new ReadableState(options, this); + + // legacy + this.readable = true; + + Stream.call(this); +} + +// Manually shove something into the read() buffer. +// This returns true if the highWaterMark has not been hit yet, +// similar to how Writable.write() returns true if you should +// write() some more. +Readable.prototype.push = function(chunk, encoding) { + var state = this._readableState; + + if (typeof chunk === 'string' && !state.objectMode) { + encoding = encoding || state.defaultEncoding; + if (encoding !== state.encoding) { + chunk = new Buffer(chunk, encoding); + encoding = ''; + } + } + + return readableAddChunk(this, state, chunk, encoding, false); +}; + +// Unshift should *always* be something directly out of read() +Readable.prototype.unshift = function(chunk) { + var state = this._readableState; + return readableAddChunk(this, state, chunk, '', true); +}; + +function readableAddChunk(stream, state, chunk, encoding, addToFront) { + var er = chunkInvalid(state, chunk); + if (er) { + stream.emit('error', er); + } else if (chunk === null || chunk === undefined) { + state.reading = false; + if (!state.ended) + onEofChunk(stream, state); + } else if (state.objectMode || chunk && chunk.length > 0) { + if (state.ended && !addToFront) { + var e = new Error('stream.push() after EOF'); + stream.emit('error', e); + } else if (state.endEmitted && addToFront) { + var e = new Error('stream.unshift() after end event'); + stream.emit('error', e); + } else { + if (state.decoder && !addToFront && !encoding) + chunk = state.decoder.write(chunk); + + // update the buffer info. + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) { + state.buffer.unshift(chunk); + } else { + state.reading = false; + state.buffer.push(chunk); + } + + if (state.needReadable) + emitReadable(stream); + + maybeReadMore(stream, state); + } + } else if (!addToFront) { + state.reading = false; + } + + return needMoreData(state); +} + + + +// if it's past the high water mark, we can push in some more. +// Also, if we have no data yet, we can stand some +// more bytes. This is to work around cases where hwm=0, +// such as the repl. Also, if the push() triggered a +// readable event, and the user called read(largeNumber) such that +// needReadable was set, then we ought to push more, so that another +// 'readable' event will be triggered. +function needMoreData(state) { + return !state.ended && + (state.needReadable || + state.length < state.highWaterMark || + state.length === 0); +} + +// backwards compatibility. +Readable.prototype.setEncoding = function(enc) { + if (!StringDecoder) + StringDecoder = require('string_decoder/').StringDecoder; + this._readableState.decoder = new StringDecoder(enc); + this._readableState.encoding = enc; +}; + +// Don't raise the hwm > 128MB +var MAX_HWM = 0x800000; +function roundUpToNextPowerOf2(n) { + if (n >= MAX_HWM) { + n = MAX_HWM; + } else { + // Get the next highest power of 2 + n--; + for (var p = 1; p < 32; p <<= 1) n |= n >> p; + n++; + } + return n; +} + +function howMuchToRead(n, state) { + if (state.length === 0 && state.ended) + return 0; + + if (state.objectMode) + return n === 0 ? 0 : 1; + + if (n === null || isNaN(n)) { + // only flow one buffer at a time + if (state.flowing && state.buffer.length) + return state.buffer[0].length; + else + return state.length; + } + + if (n <= 0) + return 0; + + // If we're asking for more than the target buffer level, + // then raise the water mark. Bump up to the next highest + // power of 2, to prevent increasing it excessively in tiny + // amounts. + if (n > state.highWaterMark) + state.highWaterMark = roundUpToNextPowerOf2(n); + + // don't have that much. return null, unless we've ended. + if (n > state.length) { + if (!state.ended) { + state.needReadable = true; + return 0; + } else + return state.length; + } + + return n; +} + +// you can override either this method, or the async _read(n) below. +Readable.prototype.read = function(n) { + var state = this._readableState; + state.calledRead = true; + var nOrig = n; + var ret; + + if (typeof n !== 'number' || n > 0) + state.emittedReadable = false; + + // if we're doing read(0) to trigger a readable event, but we + // already have a bunch of data in the buffer, then just trigger + // the 'readable' event and move on. + if (n === 0 && + state.needReadable && + (state.length >= state.highWaterMark || state.ended)) { + emitReadable(this); + return null; + } + + n = howMuchToRead(n, state); + + // if we've ended, and we're now clear, then finish it up. + if (n === 0 && state.ended) { + ret = null; + + // In cases where the decoder did not receive enough data + // to produce a full chunk, then immediately received an + // EOF, state.buffer will contain [, ]. + // howMuchToRead will see this and coerce the amount to + // read to zero (because it's looking at the length of the + // first in state.buffer), and we'll end up here. + // + // This can only happen via state.decoder -- no other venue + // exists for pushing a zero-length chunk into state.buffer + // and triggering this behavior. In this case, we return our + // remaining data and end the stream, if appropriate. + if (state.length > 0 && state.decoder) { + ret = fromList(n, state); + state.length -= ret.length; + } + + if (state.length === 0) + endReadable(this); + + return ret; + } + + // All the actual chunk generation logic needs to be + // *below* the call to _read. The reason is that in certain + // synthetic stream cases, such as passthrough streams, _read + // may be a completely synchronous operation which may change + // the state of the read buffer, providing enough data when + // before there was *not* enough. + // + // So, the steps are: + // 1. Figure out what the state of things will be after we do + // a read from the buffer. + // + // 2. If that resulting state will trigger a _read, then call _read. + // Note that this may be asynchronous, or synchronous. Yes, it is + // deeply ugly to write APIs this way, but that still doesn't mean + // that the Readable class should behave improperly, as streams are + // designed to be sync/async agnostic. + // Take note if the _read call is sync or async (ie, if the read call + // has returned yet), so that we know whether or not it's safe to emit + // 'readable' etc. + // + // 3. Actually pull the requested chunks out of the buffer and return. + + // if we need a readable event, then we need to do some reading. + var doRead = state.needReadable; + + // if we currently have less than the highWaterMark, then also read some + if (state.length - n <= state.highWaterMark) + doRead = true; + + // however, if we've ended, then there's no point, and if we're already + // reading, then it's unnecessary. + if (state.ended || state.reading) + doRead = false; + + if (doRead) { + state.reading = true; + state.sync = true; + // if the length is currently zero, then we *need* a readable event. + if (state.length === 0) + state.needReadable = true; + // call internal read method + this._read(state.highWaterMark); + state.sync = false; + } + + // If _read called its callback synchronously, then `reading` + // will be false, and we need to re-evaluate how much data we + // can return to the user. + if (doRead && !state.reading) + n = howMuchToRead(nOrig, state); + + if (n > 0) + ret = fromList(n, state); + else + ret = null; + + if (ret === null) { + state.needReadable = true; + n = 0; + } + + state.length -= n; + + // If we have nothing in the buffer, then we want to know + // as soon as we *do* get something into the buffer. + if (state.length === 0 && !state.ended) + state.needReadable = true; + + // If we happened to read() exactly the remaining amount in the + // buffer, and the EOF has been seen at this point, then make sure + // that we emit 'end' on the very next tick. + if (state.ended && !state.endEmitted && state.length === 0) + endReadable(this); + + return ret; +}; + +function chunkInvalid(state, chunk) { + var er = null; + if (!Buffer.isBuffer(chunk) && + 'string' !== typeof chunk && + chunk !== null && + chunk !== undefined && + !state.objectMode) { + er = new TypeError('Invalid non-string/buffer chunk'); + } + return er; +} + + +function onEofChunk(stream, state) { + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; + } + } + state.ended = true; + + // if we've ended and we have some data left, then emit + // 'readable' now to make sure it gets picked up. + if (state.length > 0) + emitReadable(stream); + else + endReadable(stream); +} + +// Don't emit readable right away in sync mode, because this can trigger +// another read() call => stack overflow. This way, it might trigger +// a nextTick recursion warning, but that's not so bad. +function emitReadable(stream) { + var state = stream._readableState; + state.needReadable = false; + if (state.emittedReadable) + return; + + state.emittedReadable = true; + if (state.sync) + process.nextTick(function() { + emitReadable_(stream); + }); + else + emitReadable_(stream); +} + +function emitReadable_(stream) { + stream.emit('readable'); +} + + +// at this point, the user has presumably seen the 'readable' event, +// and called read() to consume some data. that may have triggered +// in turn another _read(n) call, in which case reading = true if +// it's in progress. +// However, if we're not ended, or reading, and the length < hwm, +// then go ahead and try to read some more preemptively. +function maybeReadMore(stream, state) { + if (!state.readingMore) { + state.readingMore = true; + process.nextTick(function() { + maybeReadMore_(stream, state); + }); + } +} + +function maybeReadMore_(stream, state) { + var len = state.length; + while (!state.reading && !state.flowing && !state.ended && + state.length < state.highWaterMark) { + stream.read(0); + if (len === state.length) + // didn't get any data, stop spinning. + break; + else + len = state.length; + } + state.readingMore = false; +} + +// abstract method. to be overridden in specific implementation classes. +// call cb(er, data) where data is <= n in length. +// for virtual (non-string, non-buffer) streams, "length" is somewhat +// arbitrary, and perhaps not very meaningful. +Readable.prototype._read = function(n) { + this.emit('error', new Error('not implemented')); +}; + +Readable.prototype.pipe = function(dest, pipeOpts) { + var src = this; + var state = this._readableState; + + switch (state.pipesCount) { + case 0: + state.pipes = dest; + break; + case 1: + state.pipes = [state.pipes, dest]; + break; + default: + state.pipes.push(dest); + break; + } + state.pipesCount += 1; + + var doEnd = (!pipeOpts || pipeOpts.end !== false) && + dest !== process.stdout && + dest !== process.stderr; + + var endFn = doEnd ? onend : cleanup; + if (state.endEmitted) + process.nextTick(endFn); + else + src.once('end', endFn); + + dest.on('unpipe', onunpipe); + function onunpipe(readable) { + if (readable !== src) return; + cleanup(); + } + + function onend() { + dest.end(); + } + + // when the dest drains, it reduces the awaitDrain counter + // on the source. This would be more elegant with a .once() + // handler in flow(), but adding and removing repeatedly is + // too slow. + var ondrain = pipeOnDrain(src); + dest.on('drain', ondrain); + + function cleanup() { + // cleanup event handlers once the pipe is broken + dest.removeListener('close', onclose); + dest.removeListener('finish', onfinish); + dest.removeListener('drain', ondrain); + dest.removeListener('error', onerror); + dest.removeListener('unpipe', onunpipe); + src.removeListener('end', onend); + src.removeListener('end', cleanup); + + // if the reader is waiting for a drain event from this + // specific writer, then it would cause it to never start + // flowing again. + // So, if this is awaiting a drain, then we just call it now. + // If we don't know, then assume that we are waiting for one. + if (!dest._writableState || dest._writableState.needDrain) + ondrain(); + } + + // if the dest has an error, then stop piping into it. + // however, don't suppress the throwing behavior for this. + function onerror(er) { + unpipe(); + dest.removeListener('error', onerror); + if (EE.listenerCount(dest, 'error') === 0) + dest.emit('error', er); + } + // This is a brutally ugly hack to make sure that our error handler + // is attached before any userland ones. NEVER DO THIS. + if (!dest._events || !dest._events.error) + dest.on('error', onerror); + else if (isArray(dest._events.error)) + dest._events.error.unshift(onerror); + else + dest._events.error = [onerror, dest._events.error]; + + + + // Both close and finish should trigger unpipe, but only once. + function onclose() { + dest.removeListener('finish', onfinish); + unpipe(); + } + dest.once('close', onclose); + function onfinish() { + dest.removeListener('close', onclose); + unpipe(); + } + dest.once('finish', onfinish); + + function unpipe() { + src.unpipe(dest); + } + + // tell the dest that it's being piped to + dest.emit('pipe', src); + + // start the flow if it hasn't been started already. + if (!state.flowing) { + // the handler that waits for readable events after all + // the data gets sucked out in flow. + // This would be easier to follow with a .once() handler + // in flow(), but that is too slow. + this.on('readable', pipeOnReadable); + + state.flowing = true; + process.nextTick(function() { + flow(src); + }); + } + + return dest; +}; + +function pipeOnDrain(src) { + return function() { + var dest = this; + var state = src._readableState; + state.awaitDrain--; + if (state.awaitDrain === 0) + flow(src); + }; +} + +function flow(src) { + var state = src._readableState; + var chunk; + state.awaitDrain = 0; + + function write(dest, i, list) { + var written = dest.write(chunk); + if (false === written) { + state.awaitDrain++; + } + } + + while (state.pipesCount && null !== (chunk = src.read())) { + + if (state.pipesCount === 1) + write(state.pipes, 0, null); + else + forEach(state.pipes, write); + + src.emit('data', chunk); + + // if anyone needs a drain, then we have to wait for that. + if (state.awaitDrain > 0) + return; + } + + // if every destination was unpiped, either before entering this + // function, or in the while loop, then stop flowing. + // + // NB: This is a pretty rare edge case. + if (state.pipesCount === 0) { + state.flowing = false; + + // if there were data event listeners added, then switch to old mode. + if (EE.listenerCount(src, 'data') > 0) + emitDataEvents(src); + return; + } + + // at this point, no one needed a drain, so we just ran out of data + // on the next readable event, start it over again. + state.ranOut = true; +} + +function pipeOnReadable() { + if (this._readableState.ranOut) { + this._readableState.ranOut = false; + flow(this); + } +} + + +Readable.prototype.unpipe = function(dest) { + var state = this._readableState; + + // if we're not piping anywhere, then do nothing. + if (state.pipesCount === 0) + return this; + + // just one destination. most common case. + if (state.pipesCount === 1) { + // passed in one, but it's not the right one. + if (dest && dest !== state.pipes) + return this; + + if (!dest) + dest = state.pipes; + + // got a match. + state.pipes = null; + state.pipesCount = 0; + this.removeListener('readable', pipeOnReadable); + state.flowing = false; + if (dest) + dest.emit('unpipe', this); + return this; + } + + // slow case. multiple pipe destinations. + + if (!dest) { + // remove all. + var dests = state.pipes; + var len = state.pipesCount; + state.pipes = null; + state.pipesCount = 0; + this.removeListener('readable', pipeOnReadable); + state.flowing = false; + + for (var i = 0; i < len; i++) + dests[i].emit('unpipe', this); + return this; + } + + // try to find the right one. + var i = indexOf(state.pipes, dest); + if (i === -1) + return this; + + state.pipes.splice(i, 1); + state.pipesCount -= 1; + if (state.pipesCount === 1) + state.pipes = state.pipes[0]; + + dest.emit('unpipe', this); + + return this; +}; + +// set up data events if they are asked for +// Ensure readable listeners eventually get something +Readable.prototype.on = function(ev, fn) { + var res = Stream.prototype.on.call(this, ev, fn); + + if (ev === 'data' && !this._readableState.flowing) + emitDataEvents(this); + + if (ev === 'readable' && this.readable) { + var state = this._readableState; + if (!state.readableListening) { + state.readableListening = true; + state.emittedReadable = false; + state.needReadable = true; + if (!state.reading) { + this.read(0); + } else if (state.length) { + emitReadable(this, state); + } + } + } + + return res; +}; +Readable.prototype.addListener = Readable.prototype.on; + +// pause() and resume() are remnants of the legacy readable stream API +// If the user uses them, then switch into old mode. +Readable.prototype.resume = function() { + emitDataEvents(this); + this.read(0); + this.emit('resume'); +}; + +Readable.prototype.pause = function() { + emitDataEvents(this, true); + this.emit('pause'); +}; + +function emitDataEvents(stream, startPaused) { + var state = stream._readableState; + + if (state.flowing) { + // https://github.com/isaacs/readable-stream/issues/16 + throw new Error('Cannot switch to old mode now.'); + } + + var paused = startPaused || false; + var readable = false; + + // convert to an old-style stream. + stream.readable = true; + stream.pipe = Stream.prototype.pipe; + stream.on = stream.addListener = Stream.prototype.on; + + stream.on('readable', function() { + readable = true; + + var c; + while (!paused && (null !== (c = stream.read()))) + stream.emit('data', c); + + if (c === null) { + readable = false; + stream._readableState.needReadable = true; + } + }); + + stream.pause = function() { + paused = true; + this.emit('pause'); + }; + + stream.resume = function() { + paused = false; + if (readable) + process.nextTick(function() { + stream.emit('readable'); + }); + else + this.read(0); + this.emit('resume'); + }; + + // now make it start, just in case it hadn't already. + stream.emit('readable'); +} + +// wrap an old-style stream as the async data source. +// This is *not* part of the readable stream interface. +// It is an ugly unfortunate mess of history. +Readable.prototype.wrap = function(stream) { + var state = this._readableState; + var paused = false; + + var self = this; + stream.on('end', function() { + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) + self.push(chunk); + } + + self.push(null); + }); + + stream.on('data', function(chunk) { + if (state.decoder) + chunk = state.decoder.write(chunk); + + // don't skip over falsy values in objectMode + //if (state.objectMode && util.isNullOrUndefined(chunk)) + if (state.objectMode && (chunk === null || chunk === undefined)) + return; + else if (!state.objectMode && (!chunk || !chunk.length)) + return; + + var ret = self.push(chunk); + if (!ret) { + paused = true; + stream.pause(); + } + }); + + // proxy all the other methods. + // important when wrapping filters and duplexes. + for (var i in stream) { + if (typeof stream[i] === 'function' && + typeof this[i] === 'undefined') { + this[i] = function(method) { return function() { + return stream[method].apply(stream, arguments); + }}(i); + } + } + + // proxy certain important events. + var events = ['error', 'close', 'destroy', 'pause', 'resume']; + forEach(events, function(ev) { + stream.on(ev, self.emit.bind(self, ev)); + }); + + // when we try to consume some more bytes, simply unpause the + // underlying stream. + self._read = function(n) { + if (paused) { + paused = false; + stream.resume(); + } + }; + + return self; +}; + + + +// exposed for testing purposes only. +Readable._fromList = fromList; + +// Pluck off n bytes from an array of buffers. +// Length is the combined lengths of all the buffers in the list. +function fromList(n, state) { + var list = state.buffer; + var length = state.length; + var stringMode = !!state.decoder; + var objectMode = !!state.objectMode; + var ret; + + // nothing in the list, definitely empty. + if (list.length === 0) + return null; + + if (length === 0) + ret = null; + else if (objectMode) + ret = list.shift(); + else if (!n || n >= length) { + // read it all, truncate the array. + if (stringMode) + ret = list.join(''); + else + ret = Buffer.concat(list, length); + list.length = 0; + } else { + // read just some of it. + if (n < list[0].length) { + // just take a part of the first list item. + // slice is the same for buffers and strings. + var buf = list[0]; + ret = buf.slice(0, n); + list[0] = buf.slice(n); + } else if (n === list[0].length) { + // first list is a perfect match + ret = list.shift(); + } else { + // complex case. + // we have enough to cover it, but it spans past the first buffer. + if (stringMode) + ret = ''; + else + ret = new Buffer(n); + + var c = 0; + for (var i = 0, l = list.length; i < l && c < n; i++) { + var buf = list[0]; + var cpy = Math.min(n - c, buf.length); + + if (stringMode) + ret += buf.slice(0, cpy); + else + buf.copy(ret, c, 0, cpy); + + if (cpy < buf.length) + list[0] = buf.slice(cpy); + else + list.shift(); + + c += cpy; + } + } + } + + return ret; +} + +function endReadable(stream) { + var state = stream._readableState; + + // If we get here before consuming all the bytes, then that is a + // bug in node. Should never happen. + if (state.length > 0) + throw new Error('endReadable called on non-empty stream'); + + if (!state.endEmitted && state.calledRead) { + state.ended = true; + process.nextTick(function() { + // Check that we didn't get one last unshift. + if (!state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.readable = false; + stream.emit('end'); + } + }); + } +} + +function forEach (xs, f) { + for (var i = 0, l = xs.length; i < l; i++) { + f(xs[i], i); + } +} + +function indexOf (xs, x) { + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) return i; + } + return -1; +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_transform.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_transform.js new file mode 100644 index 0000000..eb188df --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_transform.js @@ -0,0 +1,210 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + + +// a transform stream is a readable/writable stream where you do +// something with the data. Sometimes it's called a "filter", +// but that's not a great name for it, since that implies a thing where +// some bits pass through, and others are simply ignored. (That would +// be a valid example of a transform, of course.) +// +// While the output is causally related to the input, it's not a +// necessarily symmetric or synchronous transformation. For example, +// a zlib stream might take multiple plain-text writes(), and then +// emit a single compressed chunk some time in the future. +// +// Here's how this works: +// +// The Transform stream has all the aspects of the readable and writable +// stream classes. When you write(chunk), that calls _write(chunk,cb) +// internally, and returns false if there's a lot of pending writes +// buffered up. When you call read(), that calls _read(n) until +// there's enough pending readable data buffered up. +// +// In a transform stream, the written data is placed in a buffer. When +// _read(n) is called, it transforms the queued up data, calling the +// buffered _write cb's as it consumes chunks. If consuming a single +// written chunk would result in multiple output chunks, then the first +// outputted bit calls the readcb, and subsequent chunks just go into +// the read buffer, and will cause it to emit 'readable' if necessary. +// +// This way, back-pressure is actually determined by the reading side, +// since _read has to be called to start processing a new chunk. However, +// a pathological inflate type of transform can cause excessive buffering +// here. For example, imagine a stream where every byte of input is +// interpreted as an integer from 0-255, and then results in that many +// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in +// 1kb of data being output. In this case, you could write a very small +// amount of input, and end up with a very large amount of output. In +// such a pathological inflating mechanism, there'd be no way to tell +// the system to stop doing the transform. A single 4MB write could +// cause the system to run out of memory. +// +// However, even in such a pathological case, only a single written chunk +// would be consumed, and then the rest would wait (un-transformed) until +// the results of the previous transformed chunk were consumed. + +module.exports = Transform; + +var Duplex = require('./_stream_duplex'); + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +util.inherits(Transform, Duplex); + + +function TransformState(options, stream) { + this.afterTransform = function(er, data) { + return afterTransform(stream, er, data); + }; + + this.needTransform = false; + this.transforming = false; + this.writecb = null; + this.writechunk = null; +} + +function afterTransform(stream, er, data) { + var ts = stream._transformState; + ts.transforming = false; + + var cb = ts.writecb; + + if (!cb) + return stream.emit('error', new Error('no writecb in Transform class')); + + ts.writechunk = null; + ts.writecb = null; + + if (data !== null && data !== undefined) + stream.push(data); + + if (cb) + cb(er); + + var rs = stream._readableState; + rs.reading = false; + if (rs.needReadable || rs.length < rs.highWaterMark) { + stream._read(rs.highWaterMark); + } +} + + +function Transform(options) { + if (!(this instanceof Transform)) + return new Transform(options); + + Duplex.call(this, options); + + var ts = this._transformState = new TransformState(options, this); + + // when the writable side finishes, then flush out anything remaining. + var stream = this; + + // start out asking for a readable event once data is transformed. + this._readableState.needReadable = true; + + // we have implemented the _read method, and done the other things + // that Readable wants before the first _read call, so unset the + // sync guard flag. + this._readableState.sync = false; + + this.once('finish', function() { + if ('function' === typeof this._flush) + this._flush(function(er) { + done(stream, er); + }); + else + done(stream); + }); +} + +Transform.prototype.push = function(chunk, encoding) { + this._transformState.needTransform = false; + return Duplex.prototype.push.call(this, chunk, encoding); +}; + +// This is the part where you do stuff! +// override this function in implementation classes. +// 'chunk' is an input chunk. +// +// Call `push(newChunk)` to pass along transformed output +// to the readable side. You may call 'push' zero or more times. +// +// Call `cb(err)` when you are done with this chunk. If you pass +// an error, then that'll put the hurt on the whole operation. If you +// never call cb(), then you'll never get another chunk. +Transform.prototype._transform = function(chunk, encoding, cb) { + throw new Error('not implemented'); +}; + +Transform.prototype._write = function(chunk, encoding, cb) { + var ts = this._transformState; + ts.writecb = cb; + ts.writechunk = chunk; + ts.writeencoding = encoding; + if (!ts.transforming) { + var rs = this._readableState; + if (ts.needTransform || + rs.needReadable || + rs.length < rs.highWaterMark) + this._read(rs.highWaterMark); + } +}; + +// Doesn't matter what the args are here. +// _transform does all the work. +// That we got here means that the readable side wants more data. +Transform.prototype._read = function(n) { + var ts = this._transformState; + + if (ts.writechunk !== null && ts.writecb && !ts.transforming) { + ts.transforming = true; + this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); + } else { + // mark that we need a transform, so that any data that comes in + // will get processed, now that we've asked for it. + ts.needTransform = true; + } +}; + + +function done(stream, er) { + if (er) + return stream.emit('error', er); + + // if there's nothing in the write buffer, then that means + // that nothing more will ever be provided + var ws = stream._writableState; + var rs = stream._readableState; + var ts = stream._transformState; + + if (ws.length) + throw new Error('calling transform done when ws.length != 0'); + + if (ts.transforming) + throw new Error('calling transform done when still transforming'); + + return stream.push(null); +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_writable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_writable.js new file mode 100644 index 0000000..4bdaa4f --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_writable.js @@ -0,0 +1,386 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// A bit simpler than readable streams. +// Implement an async ._write(chunk, cb), and it'll handle all +// the drain event emission and buffering. + +module.exports = Writable; + +/**/ +var Buffer = require('buffer').Buffer; +/**/ + +Writable.WritableState = WritableState; + + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +var Stream = require('stream'); + +util.inherits(Writable, Stream); + +function WriteReq(chunk, encoding, cb) { + this.chunk = chunk; + this.encoding = encoding; + this.callback = cb; +} + +function WritableState(options, stream) { + options = options || {}; + + // the point at which write() starts returning false + // Note: 0 is a valid value, means that we always return false if + // the entire buffer is not flushed immediately on write() + var hwm = options.highWaterMark; + this.highWaterMark = (hwm || hwm === 0) ? hwm : 16 * 1024; + + // object stream flag to indicate whether or not this stream + // contains buffers or objects. + this.objectMode = !!options.objectMode; + + // cast to ints. + this.highWaterMark = ~~this.highWaterMark; + + this.needDrain = false; + // at the start of calling end() + this.ending = false; + // when end() has been called, and returned + this.ended = false; + // when 'finish' is emitted + this.finished = false; + + // should we decode strings into buffers before passing to _write? + // this is here so that some node-core streams can optimize string + // handling at a lower level. + var noDecode = options.decodeStrings === false; + this.decodeStrings = !noDecode; + + // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + this.defaultEncoding = options.defaultEncoding || 'utf8'; + + // not an actual buffer we keep track of, but a measurement + // of how much we're waiting to get pushed to some underlying + // socket or file. + this.length = 0; + + // a flag to see when we're in the middle of a write. + this.writing = false; + + // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, becuase any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. + this.sync = true; + + // a flag to know if we're processing previously buffered items, which + // may call the _write() callback in the same tick, so that we don't + // end up in an overlapped onwrite situation. + this.bufferProcessing = false; + + // the callback that's passed to _write(chunk,cb) + this.onwrite = function(er) { + onwrite(stream, er); + }; + + // the callback that the user supplies to write(chunk,encoding,cb) + this.writecb = null; + + // the amount that is being written when _write is called. + this.writelen = 0; + + this.buffer = []; + + // True if the error was already emitted and should not be thrown again + this.errorEmitted = false; +} + +function Writable(options) { + var Duplex = require('./_stream_duplex'); + + // Writable ctor is applied to Duplexes, though they're not + // instanceof Writable, they're instanceof Readable. + if (!(this instanceof Writable) && !(this instanceof Duplex)) + return new Writable(options); + + this._writableState = new WritableState(options, this); + + // legacy. + this.writable = true; + + Stream.call(this); +} + +// Otherwise people can pipe Writable streams, which is just wrong. +Writable.prototype.pipe = function() { + this.emit('error', new Error('Cannot pipe. Not readable.')); +}; + + +function writeAfterEnd(stream, state, cb) { + var er = new Error('write after end'); + // TODO: defer error events consistently everywhere, not just the cb + stream.emit('error', er); + process.nextTick(function() { + cb(er); + }); +} + +// If we get something that is not a buffer, string, null, or undefined, +// and we're not in objectMode, then that's an error. +// Otherwise stream chunks are all considered to be of length=1, and the +// watermarks determine how many objects to keep in the buffer, rather than +// how many bytes or characters. +function validChunk(stream, state, chunk, cb) { + var valid = true; + if (!Buffer.isBuffer(chunk) && + 'string' !== typeof chunk && + chunk !== null && + chunk !== undefined && + !state.objectMode) { + var er = new TypeError('Invalid non-string/buffer chunk'); + stream.emit('error', er); + process.nextTick(function() { + cb(er); + }); + valid = false; + } + return valid; +} + +Writable.prototype.write = function(chunk, encoding, cb) { + var state = this._writableState; + var ret = false; + + if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (Buffer.isBuffer(chunk)) + encoding = 'buffer'; + else if (!encoding) + encoding = state.defaultEncoding; + + if (typeof cb !== 'function') + cb = function() {}; + + if (state.ended) + writeAfterEnd(this, state, cb); + else if (validChunk(this, state, chunk, cb)) + ret = writeOrBuffer(this, state, chunk, encoding, cb); + + return ret; +}; + +function decodeChunk(state, chunk, encoding) { + if (!state.objectMode && + state.decodeStrings !== false && + typeof chunk === 'string') { + chunk = new Buffer(chunk, encoding); + } + return chunk; +} + +// if we're already writing something, then just put this +// in the queue, and wait our turn. Otherwise, call _write +// If we return false, then we need a drain event, so set that flag. +function writeOrBuffer(stream, state, chunk, encoding, cb) { + chunk = decodeChunk(state, chunk, encoding); + if (Buffer.isBuffer(chunk)) + encoding = 'buffer'; + var len = state.objectMode ? 1 : chunk.length; + + state.length += len; + + var ret = state.length < state.highWaterMark; + // we must ensure that previous needDrain will not be reset to false. + if (!ret) + state.needDrain = true; + + if (state.writing) + state.buffer.push(new WriteReq(chunk, encoding, cb)); + else + doWrite(stream, state, len, chunk, encoding, cb); + + return ret; +} + +function doWrite(stream, state, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + stream._write(chunk, encoding, state.onwrite); + state.sync = false; +} + +function onwriteError(stream, state, sync, er, cb) { + if (sync) + process.nextTick(function() { + cb(er); + }); + else + cb(er); + + stream._writableState.errorEmitted = true; + stream.emit('error', er); +} + +function onwriteStateUpdate(state) { + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; +} + +function onwrite(stream, er) { + var state = stream._writableState; + var sync = state.sync; + var cb = state.writecb; + + onwriteStateUpdate(state); + + if (er) + onwriteError(stream, state, sync, er, cb); + else { + // Check if we're actually ready to finish, but don't emit yet + var finished = needFinish(stream, state); + + if (!finished && !state.bufferProcessing && state.buffer.length) + clearBuffer(stream, state); + + if (sync) { + process.nextTick(function() { + afterWrite(stream, state, finished, cb); + }); + } else { + afterWrite(stream, state, finished, cb); + } + } +} + +function afterWrite(stream, state, finished, cb) { + if (!finished) + onwriteDrain(stream, state); + cb(); + if (finished) + finishMaybe(stream, state); +} + +// Must force callback to be called on nextTick, so that we don't +// emit 'drain' before the write() consumer gets the 'false' return +// value, and has a chance to attach a 'drain' listener. +function onwriteDrain(stream, state) { + if (state.length === 0 && state.needDrain) { + state.needDrain = false; + stream.emit('drain'); + } +} + + +// if there's something in the buffer waiting, then process it +function clearBuffer(stream, state) { + state.bufferProcessing = true; + + for (var c = 0; c < state.buffer.length; c++) { + var entry = state.buffer[c]; + var chunk = entry.chunk; + var encoding = entry.encoding; + var cb = entry.callback; + var len = state.objectMode ? 1 : chunk.length; + + doWrite(stream, state, len, chunk, encoding, cb); + + // if we didn't call the onwrite immediately, then + // it means that we need to wait until it does. + // also, that means that the chunk and cb are currently + // being processed, so move the buffer counter past them. + if (state.writing) { + c++; + break; + } + } + + state.bufferProcessing = false; + if (c < state.buffer.length) + state.buffer = state.buffer.slice(c); + else + state.buffer.length = 0; +} + +Writable.prototype._write = function(chunk, encoding, cb) { + cb(new Error('not implemented')); +}; + +Writable.prototype.end = function(chunk, encoding, cb) { + var state = this._writableState; + + if (typeof chunk === 'function') { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (typeof chunk !== 'undefined' && chunk !== null) + this.write(chunk, encoding); + + // ignore unnecessary end() calls. + if (!state.ending && !state.finished) + endWritable(this, state, cb); +}; + + +function needFinish(stream, state) { + return (state.ending && + state.length === 0 && + !state.finished && + !state.writing); +} + +function finishMaybe(stream, state) { + var need = needFinish(stream, state); + if (need) { + state.finished = true; + stream.emit('finish'); + } + return need; +} + +function endWritable(stream, state, cb) { + state.ending = true; + finishMaybe(stream, state); + if (cb) { + if (state.finished) + process.nextTick(cb); + else + stream.once('finish', cb); + } + state.ended = true; +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/package.json new file mode 100644 index 0000000..4bbfafa --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/package.json @@ -0,0 +1,65 @@ +{ + "_from": "readable-stream@~1.0.26", + "_id": "readable-stream@1.0.34", + "_inBundle": false, + "_integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "_location": "/readable-stream", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "readable-stream@~1.0.26", + "name": "readable-stream", + "escapedName": "readable-stream", + "rawSpec": "~1.0.26", + "saveSpec": null, + "fetchSpec": "~1.0.26" + }, + "_requiredBy": [ + "/bl" + ], + "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "_shasum": "125820e34bc842d2f2aaafafe4c2916ee32c157c", + "_spec": "readable-stream@~1.0.26", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\bl", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "browser": { + "util": false + }, + "bugs": { + "url": "https://github.com/isaacs/readable-stream/issues" + }, + "bundleDependencies": false, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "deprecated": false, + "description": "Streams2, a user-land copy of the stream library from Node.js v0.10.x", + "devDependencies": { + "tap": "~0.2.6" + }, + "homepage": "https://github.com/isaacs/readable-stream#readme", + "keywords": [ + "readable", + "stream", + "pipe" + ], + "license": "MIT", + "main": "readable.js", + "name": "readable-stream", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/readable-stream.git" + }, + "scripts": { + "test": "tap test/simple/*.js" + }, + "version": "1.0.34" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/passthrough.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/passthrough.js new file mode 100644 index 0000000..27e8d8a --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/passthrough.js @@ -0,0 +1 @@ +module.exports = require("./lib/_stream_passthrough.js") diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/readable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/readable.js new file mode 100644 index 0000000..26511e8 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/readable.js @@ -0,0 +1,11 @@ +var Stream = require('stream'); // hack to fix a circular dependency issue when used with browserify +exports = module.exports = require('./lib/_stream_readable.js'); +exports.Stream = Stream; +exports.Readable = exports; +exports.Writable = require('./lib/_stream_writable.js'); +exports.Duplex = require('./lib/_stream_duplex.js'); +exports.Transform = require('./lib/_stream_transform.js'); +exports.PassThrough = require('./lib/_stream_passthrough.js'); +if (!process.browser && process.env.READABLE_STREAM === 'disable') { + module.exports = require('stream'); +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/transform.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/transform.js new file mode 100644 index 0000000..5d482f0 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/transform.js @@ -0,0 +1 @@ +module.exports = require("./lib/_stream_transform.js") diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/writable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/writable.js new file mode 100644 index 0000000..e1e9efd --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/writable.js @@ -0,0 +1 @@ +module.exports = require("./lib/_stream_writable.js") diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/.eslintrc b/netatmo-security-connector/NetatmoSecurity/node_modules/request/.eslintrc new file mode 100644 index 0000000..8538b41 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/.eslintrc @@ -0,0 +1,39 @@ +{ + "env": { + "node": true + }, + "rules": { + // 2-space indentation + "indent": [2, 2], + // Disallow semi-colons, unless needed to disambiguate statement + "semi": [2, "never"], + // Require strings to use single quotes + "quotes": [2, "single"], + // Require curly braces for all control statements + "curly": 2, + // Disallow using variables and functions before they've been defined + "no-use-before-define": 2, + // Allow any case for variable naming + "camelcase": 0, + // Disallow unused variables, except as function arguments + "no-unused-vars": [2, {"args":"none"}], + // Allow leading underscores for method names + // REASON: we use underscores to denote private methods + "no-underscore-dangle": 0, + // Allow multi spaces around operators since they are + // used for alignment. This is not consistent in the + // code. + "no-multi-spaces": 0, + // Style rule is: most objects use { beforeColon: false, afterColon: true }, unless aligning which uses: + // + // { + // beforeColon : true, + // afterColon : true + // } + // + // eslint can't handle this, so the check is disabled. + "key-spacing": 0, + // Allow shadowing vars in outer scope (needs discussion) + "no-shadow": 0 + } +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/request/.npmignore new file mode 100644 index 0000000..53fc9ef --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/.npmignore @@ -0,0 +1,3 @@ +coverage +tests +node_modules diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/request/.travis.yml new file mode 100644 index 0000000..bd0f638 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/.travis.yml @@ -0,0 +1,12 @@ +language: node_js +node_js: + - "io.js" + - "0.12" + - "0.10" +after_script: ./node_modules/.bin/istanbul cover ./node_modules/tape/bin/tape tests/test-*.js --report lcovonly && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js --verbose +webhooks: + urls: https://webhooks.gitter.im/e/237280ed4796c19cc626 + on_success: change # options: [always|never|change] default: always + on_failure: always # options: [always|never|change] default: always + on_start: false # default: false +sudo: false diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/CHANGELOG.md b/netatmo-security-connector/NetatmoSecurity/node_modules/request/CHANGELOG.md new file mode 100644 index 0000000..1c01d08 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/CHANGELOG.md @@ -0,0 +1,467 @@ +## Change Log + +### v2.55.0 (2015/04/05) +- [#1520](https://github.com/request/request/pull/1520) Refactor defaults (@simov) +- [#1525](https://github.com/request/request/pull/1525) Delete request headers with undefined value. (@froatsnook) +- [#1521](https://github.com/request/request/pull/1521) Add promise tests (@simov) +- [#1518](https://github.com/request/request/pull/1518) Fix defaults (@simov) +- [#1515](https://github.com/request/request/pull/1515) Allow static invoking of convenience methods (@simov) +- [#1505](https://github.com/request/request/pull/1505) Fix multipart boundary extraction regexp (@simov) +- [#1510](https://github.com/request/request/pull/1510) Fix basic auth form data (@simov) + +### v2.54.0 (2015/03/24) +- [#1501](https://github.com/request/request/pull/1501) HTTP Archive 1.2 support (@ahmadnassri) +- [#1486](https://github.com/request/request/pull/1486) Add a test for the forever agent (@akshayp) +- [#1500](https://github.com/request/request/pull/1500) Adding handling for no auth method and null bearer (@philberg) +- [#1498](https://github.com/request/request/pull/1498) Add table of contents in readme (@simov) +- [#1477](https://github.com/request/request/pull/1477) Add support for qs options via qsOptions key (@simov) +- [#1496](https://github.com/request/request/pull/1496) Parameters encoded to base 64 should be decoded as UTF-8, not ASCII. (@albanm) +- [#1494](https://github.com/request/request/pull/1494) Update eslint (@froatsnook) +- [#1474](https://github.com/request/request/pull/1474) Require Colon in Basic Auth (@erykwalder) +- [#1481](https://github.com/request/request/pull/1481) Fix baseUrl and redirections. (@burningtree) +- [#1469](https://github.com/request/request/pull/1469) Feature/base url (@froatsnook) +- [#1459](https://github.com/request/request/pull/1459) Add option to time request/response cycle (including rollup of redirects) (@aaron-em) +- [#1468](https://github.com/request/request/pull/1468) Re-enable io.js/node 0.12 build (@simov, @BBB) +- [#1442](https://github.com/request/request/pull/1442) Fixed the issue with strictSSL tests on 0.12 & io.js by explicitly setting a cipher that matches the cert. (@BBB, @nicolasmccurdy, @simov, @0x4139) +- [#1460](https://github.com/request/request/pull/1460) localAddress or proxy config is lost when redirecting (@simov, @0x4139) +- [#1453](https://github.com/request/request/pull/1453) Test on Node.js 0.12 and io.js with allowed failures (@nicolasmccurdy) +- [#1426](https://github.com/request/request/pull/1426) Fixing tests to pass on io.js and node 0.12 (only test-https.js stiff failing) (@mikeal) +- [#1446](https://github.com/request/request/pull/1446) Missing HTTP referer header with redirects Fixes #1038 (@simov, @guimonz) +- [#1428](https://github.com/request/request/pull/1428) Deprecate Node v0.8.x (@nylen) +- [#1436](https://github.com/request/request/pull/1436) Add ability to set a requester without setting default options (@tikotzky) +- [#1435](https://github.com/request/request/pull/1435) dry up verb methods (@sethpollack) +- [#1423](https://github.com/request/request/pull/1423) Allow fully qualified multipart content-type header (@simov) +- [#1430](https://github.com/request/request/pull/1430) Fix recursive requester (@tikotzky) +- [#1429](https://github.com/request/request/pull/1429) Throw error when making HEAD request with a body (@tikotzky) +- [#1419](https://github.com/request/request/pull/1419) Add note that the project is broken in 0.12.x (@nylen) +- [#1413](https://github.com/request/request/pull/1413) Fix basic auth (@simov) +- [#1397](https://github.com/request/request/pull/1397) Improve pipe-from-file tests (@nylen) + +### v2.53.0 (2015/02/02) +- [#1396](https://github.com/request/request/pull/1396) Do not rfc3986 escape JSON bodies (@nylen, @simov) +- [#1392](https://github.com/request/request/pull/1392) Improve `timeout` option description (@watson) + +### v2.52.0 (2015/02/02) +- [#1383](https://github.com/request/request/pull/1383) Add missing HTTPS options that were not being passed to tunnel (@brichard19) (@nylen, @brichard19) +- [#1388](https://github.com/request/request/pull/1388) Upgrade mime-types package version (@roderickhsiao) +- [#1389](https://github.com/request/request/pull/1389) Revise Setup Tunnel Function (@seanstrom) +- [#1374](https://github.com/request/request/pull/1374) Allow explicitly disabling tunneling for proxied https destinations (@nylen) +- [#1376](https://github.com/request/request/pull/1376) Use karma-browserify for tests. Add browser test coverage reporter. (@eiriksm) +- [#1366](https://github.com/request/request/pull/1366) Refactor OAuth into separate module (@simov) +- [#1373](https://github.com/request/request/pull/1373) Rewrite tunnel test to be pure Node.js (@nylen) +- [#1371](https://github.com/request/request/pull/1371) Upgrade test reporter (@nylen) +- [#1360](https://github.com/request/request/pull/1360) Refactor basic, bearer, digest auth logic into separate class (@simov) +- [#1354](https://github.com/request/request/pull/1354) Remove circular dependency from debugging code (@nylen) +- [#1351](https://github.com/request/request/pull/1351) Move digest auth into private prototype method (@simov) +- [#1352](https://github.com/request/request/pull/1352) Update hawk dependency to ~2.3.0 (@mridgway) +- [#1353](https://github.com/request/request/pull/1353) Correct travis-ci badge (@dogancelik) +- [#1349](https://github.com/request/request/pull/1349) Make sure we return on errored browser requests. (@eiriksm) +- [#1346](https://github.com/request/request/pull/1346) getProxyFromURI Extraction Refactor (@seanstrom) +- [#1337](https://github.com/request/request/pull/1337) Standardize test ports on 6767 (@nylen) +- [#1341](https://github.com/request/request/pull/1341) Emit FormData error events as Request error events (@nylen, @rwky) +- [#1343](https://github.com/request/request/pull/1343) Clean up readme badges, and add Travis and Coveralls badges (@nylen) +- [#1345](https://github.com/request/request/pull/1345) Update README.md (@Aaron-Hartwig) +- [#1338](https://github.com/request/request/pull/1338) Always wait for server.close() callback in tests (@nylen) +- [#1342](https://github.com/request/request/pull/1342) Add mock https server and redo start of browser tests for this purpose. (@eiriksm) +- [#1339](https://github.com/request/request/pull/1339) Improve auth docs (@nylen) +- [#1335](https://github.com/request/request/pull/1335) Add support for OAuth plaintext signature method (@simov) +- [#1332](https://github.com/request/request/pull/1332) Add clean script to remove test-browser.js after the tests run (@seanstrom) +- [#1327](https://github.com/request/request/pull/1327) Fix errors generating coverage reports. (@nylen) +- [#1330](https://github.com/request/request/pull/1330) Return empty buffer upon empty response body and encoding is set to null (@seanstrom) +- [#1326](https://github.com/request/request/pull/1326) Use faster container-based infrastructure on Travis (@nylen) +- [#1315](https://github.com/request/request/pull/1315) Implement rfc3986 option (@simov) +- [#1314](https://github.com/request/request/pull/1314) Detect urlencoded form data header via regex (@simov) +- [#1317](https://github.com/request/request/pull/1317) Improve OAuth1.0 server side flow example (@simov) + +### v2.51.0 (2014/12/10) +- [#1310](https://github.com/request/request/pull/1310) Revert changes introduced in https://github.com/request/request/pull/1282 (@simov) + +### v2.50.0 (2014/12/09) +- [#1308](https://github.com/request/request/pull/1308) Add browser test to keep track of browserify compability. (@eiriksm) +- [#1299](https://github.com/request/request/pull/1299) Add optional support for jsonReviver (@poislagarde) +- [#1277](https://github.com/request/request/pull/1277) Add Coveralls configuration (@simov) +- [#1307](https://github.com/request/request/pull/1307) Upgrade form-data, add back browserify compability. Fixes #455. (@eiriksm) +- [#1305](https://github.com/request/request/pull/1305) Fix typo in README.md (@LewisJEllis) +- [#1288](https://github.com/request/request/pull/1288) Update README.md to explain custom file use case (@cliffcrosland) + +### v2.49.0 (2014/11/28) +- [#1295](https://github.com/request/request/pull/1295) fix(proxy): no-proxy false positive (@oliamb) +- [#1292](https://github.com/request/request/pull/1292) Upgrade `caseless` to 0.8.1 (@mmalecki) +- [#1276](https://github.com/request/request/pull/1276) Set transfer encoding for multipart/related to chunked by default (@simov) +- [#1275](https://github.com/request/request/pull/1275) Fix multipart content-type headers detection (@simov) +- [#1269](https://github.com/request/request/pull/1269) adds streams example for review (@tbuchok) +- [#1238](https://github.com/request/request/pull/1238) Add examples README.md (@simov) + +### v2.48.0 (2014/11/12) +- [#1263](https://github.com/request/request/pull/1263) Fixed a syntax error / typo in README.md (@xna2) +- [#1253](https://github.com/request/request/pull/1253) Add multipart chunked flag (@simov, @nylen) +- [#1251](https://github.com/request/request/pull/1251) Clarify that defaults() does not modify global defaults (@nylen) +- [#1250](https://github.com/request/request/pull/1250) Improve documentation for pool and maxSockets options (@nylen) +- [#1237](https://github.com/request/request/pull/1237) Documenting error handling when using streams (@vmattos) +- [#1244](https://github.com/request/request/pull/1244) Finalize changelog command (@nylen) +- [#1241](https://github.com/request/request/pull/1241) Fix typo (@alexanderGugel) +- [#1223](https://github.com/request/request/pull/1223) Show latest version number instead of "upcoming" in changelog (@nylen) +- [#1236](https://github.com/request/request/pull/1236) Document how to use custom CA in README (#1229) (@hypesystem) +- [#1228](https://github.com/request/request/pull/1228) Support for oauth with RSA-SHA1 signing (@nylen) +- [#1216](https://github.com/request/request/pull/1216) Made json and multipart options coexist (@nylen, @simov) +- [#1225](https://github.com/request/request/pull/1225) Allow header white/exclusive lists in any case. (@RReverser) + +### v2.47.0 (2014/10/26) +- [#1222](https://github.com/request/request/pull/1222) Move from mikeal/request to request/request (@nylen) +- [#1220](https://github.com/request/request/pull/1220) update qs dependency to 2.3.1 (@FredKSchott) +- [#1212](https://github.com/request/request/pull/1212) Improve tests/test-timeout.js (@nylen) +- [#1219](https://github.com/request/request/pull/1219) remove old globalAgent workaround for node 0.4 (@request) +- [#1214](https://github.com/request/request/pull/1214) Remove cruft left over from optional dependencies (@nylen) +- [#1215](https://github.com/request/request/pull/1215) Add proxyHeaderExclusiveList option for proxy-only headers. (@RReverser) +- [#1211](https://github.com/request/request/pull/1211) Allow 'Host' header instead of 'host' and remember case across redirects (@nylen) +- [#1208](https://github.com/request/request/pull/1208) Improve release script (@nylen) +- [#1213](https://github.com/request/request/pull/1213) Support for custom cookie store (@nylen, @mitsuru) +- [#1197](https://github.com/request/request/pull/1197) Clean up some code around setting the agent (@FredKSchott) +- [#1209](https://github.com/request/request/pull/1209) Improve multipart form append test (@simov) +- [#1207](https://github.com/request/request/pull/1207) Update changelog (@nylen) +- [#1185](https://github.com/request/request/pull/1185) Stream multipart/related bodies (@simov) + +### v2.46.0 (2014/10/23) +- [#1198](https://github.com/request/request/pull/1198) doc for TLS/SSL protocol options (@shawnzhu) +- [#1200](https://github.com/request/request/pull/1200) Add a Gitter chat badge to README.md (@gitter-badger) +- [#1196](https://github.com/request/request/pull/1196) Upgrade taper test reporter to v0.3.0 (@nylen) +- [#1199](https://github.com/request/request/pull/1199) Fix lint error: undeclared var i (@nylen) +- [#1191](https://github.com/request/request/pull/1191) Move self.proxy decision logic out of init and into a helper (@FredKSchott) +- [#1190](https://github.com/request/request/pull/1190) Move _buildRequest() logic back into init (@FredKSchott) +- [#1186](https://github.com/request/request/pull/1186) Support Smarter Unix URL Scheme (@FredKSchott) +- [#1178](https://github.com/request/request/pull/1178) update form documentation for new usage (@FredKSchott) +- [#1180](https://github.com/request/request/pull/1180) Enable no-mixed-requires linting rule (@nylen) +- [#1184](https://github.com/request/request/pull/1184) Don't forward authorization header across redirects to different hosts (@nylen) +- [#1183](https://github.com/request/request/pull/1183) Correct README about pre and postamble CRLF using multipart and not mult... (@netpoetica) +- [#1179](https://github.com/request/request/pull/1179) Lint tests directory (@nylen) +- [#1169](https://github.com/request/request/pull/1169) add metadata for form-data file field (@dotcypress) +- [#1173](https://github.com/request/request/pull/1173) remove optional dependencies (@seanstrom) +- [#1165](https://github.com/request/request/pull/1165) Cleanup event listeners and remove function creation from init (@FredKSchott) +- [#1174](https://github.com/request/request/pull/1174) update the request.cookie docs to have a valid cookie example (@seanstrom) +- [#1168](https://github.com/request/request/pull/1168) create a detach helper and use detach helper in replace of nextTick (@seanstrom) +- [#1171](https://github.com/request/request/pull/1171) in post can send form data and use callback (@MiroRadenovic) +- [#1159](https://github.com/request/request/pull/1159) accept charset for x-www-form-urlencoded content-type (@seanstrom) +- [#1157](https://github.com/request/request/pull/1157) Update README.md: body with json=true (@Rob--W) +- [#1164](https://github.com/request/request/pull/1164) Disable tests/test-timeout.js on Travis (@nylen) +- [#1153](https://github.com/request/request/pull/1153) Document how to run a single test (@nylen) +- [#1144](https://github.com/request/request/pull/1144) adds documentation for the "response" event within the streaming section (@tbuchok) +- [#1162](https://github.com/request/request/pull/1162) Update eslintrc file to no longer allow past errors (@FredKSchott) +- [#1155](https://github.com/request/request/pull/1155) Support/use self everywhere (@seanstrom) +- [#1161](https://github.com/request/request/pull/1161) fix no-use-before-define lint warnings (@emkay) +- [#1156](https://github.com/request/request/pull/1156) adding curly brackets to get rid of lint errors (@emkay) +- [#1151](https://github.com/request/request/pull/1151) Fix localAddress test on OS X (@nylen) +- [#1145](https://github.com/request/request/pull/1145) documentation: fix outdated reference to setCookieSync old name in README (@FredKSchott) +- [#1131](https://github.com/request/request/pull/1131) Update pool documentation (@FredKSchott) +- [#1143](https://github.com/request/request/pull/1143) Rewrite all tests to use tape (@nylen) +- [#1137](https://github.com/request/request/pull/1137) Add ability to specifiy querystring lib in options. (@jgrund) +- [#1138](https://github.com/request/request/pull/1138) allow hostname and port in place of host on uri (@cappslock) +- [#1134](https://github.com/request/request/pull/1134) Fix multiple redirects and `self.followRedirect` (@blakeembrey) +- [#1130](https://github.com/request/request/pull/1130) documentation fix: add note about npm test for contributing (@FredKSchott) +- [#1120](https://github.com/request/request/pull/1120) Support/refactor request setup tunnel (@seanstrom) +- [#1129](https://github.com/request/request/pull/1129) linting fix: convert double quote strings to use single quotes (@FredKSchott) +- [#1124](https://github.com/request/request/pull/1124) linting fix: remove unneccesary semi-colons (@FredKSchott) + +### v2.45.0 (2014/10/06) +- [#1128](https://github.com/request/request/pull/1128) Add test for setCookie regression (@nylen) +- [#1127](https://github.com/request/request/pull/1127) added tests around using objects as values in a query string (@bcoe) +- [#1103](https://github.com/request/request/pull/1103) Support/refactor request constructor (@nylen, @seanstrom) +- [#1119](https://github.com/request/request/pull/1119) add basic linting to request library (@FredKSchott) +- [#1121](https://github.com/request/request/pull/1121) Revert "Explicitly use sync versions of cookie functions" (@nylen) +- [#1118](https://github.com/request/request/pull/1118) linting fix: Restructure bad empty if statement (@FredKSchott) +- [#1117](https://github.com/request/request/pull/1117) Fix a bad check for valid URIs (@FredKSchott) +- [#1113](https://github.com/request/request/pull/1113) linting fix: space out operators (@FredKSchott) +- [#1116](https://github.com/request/request/pull/1116) Fix typo in `noProxyHost` definition (@FredKSchott) +- [#1114](https://github.com/request/request/pull/1114) linting fix: Added a `new` operator that was missing when creating and throwing a new error (@FredKSchott) +- [#1096](https://github.com/request/request/pull/1096) No_proxy support (@samcday) +- [#1107](https://github.com/request/request/pull/1107) linting-fix: remove unused variables (@FredKSchott) +- [#1112](https://github.com/request/request/pull/1112) linting fix: Make return values consistent and more straitforward (@FredKSchott) +- [#1111](https://github.com/request/request/pull/1111) linting fix: authPieces was getting redeclared (@FredKSchott) +- [#1105](https://github.com/request/request/pull/1105) Use strict mode in request (@FredKSchott) +- [#1110](https://github.com/request/request/pull/1110) linting fix: replace lazy '==' with more strict '===' (@FredKSchott) +- [#1109](https://github.com/request/request/pull/1109) linting fix: remove function call from if-else conditional statement (@FredKSchott) +- [#1102](https://github.com/request/request/pull/1102) Fix to allow setting a `requester` on recursive calls to `request.defaults` (@tikotzky) +- [#1095](https://github.com/request/request/pull/1095) Tweaking engines in package.json (@pdehaan) +- [#1082](https://github.com/request/request/pull/1082) Forward the socket event from the httpModule request (@seanstrom) +- [#972](https://github.com/request/request/pull/972) Clarify gzip handling in the README (@kevinoid) +- [#1089](https://github.com/request/request/pull/1089) Mention that encoding defaults to utf8, not Buffer (@stuartpb) +- [#1088](https://github.com/request/request/pull/1088) Fix cookie example in README.md and make it more clear (@pipi32167) +- [#1027](https://github.com/request/request/pull/1027) Add support for multipart form data in request options. (@crocket) +- [#1076](https://github.com/request/request/pull/1076) use Request.abort() to abort the request when the request has timed-out (@seanstrom) +- [#1068](https://github.com/request/request/pull/1068) add optional postamble required by .NET multipart requests (@netpoetica) + +### v2.43.0 (2014/09/18) +- [#1057](https://github.com/request/request/pull/1057) Defaults should not overwrite defined options (@davidwood) +- [#1046](https://github.com/request/request/pull/1046) Propagate datastream errors, useful in case gzip fails. (@ZJONSSON, @Janpot) +- [#1063](https://github.com/request/request/pull/1063) copy the input headers object #1060 (@finnp) +- [#1031](https://github.com/request/request/pull/1031) Explicitly use sync versions of cookie functions (@ZJONSSON) +- [#1056](https://github.com/request/request/pull/1056) Fix redirects when passing url.parse(x) as URL to convenience method (@nylen) + +### v2.42.0 (2014/09/04) +- [#1053](https://github.com/request/request/pull/1053) Fix #1051 Parse auth properly when using non-tunneling proxy (@isaacs) + +### v2.41.0 (2014/09/04) +- [#1050](https://github.com/request/request/pull/1050) Pass whitelisted headers to tunneling proxy. Organize all tunneling logic. (@isaacs, @Feldhacker) +- [#1035](https://github.com/request/request/pull/1035) souped up nodei.co badge (@rvagg) +- [#1048](https://github.com/request/request/pull/1048) Aws is now possible over a proxy (@steven-aerts) +- [#1039](https://github.com/request/request/pull/1039) extract out helper functions to a helper file (@seanstrom) +- [#1021](https://github.com/request/request/pull/1021) Support/refactor indexjs (@seanstrom) +- [#1033](https://github.com/request/request/pull/1033) Improve and document debug options (@nylen) +- [#1034](https://github.com/request/request/pull/1034) Fix readme headings (@nylen) +- [#1030](https://github.com/request/request/pull/1030) Allow recursive request.defaults (@tikotzky) +- [#1029](https://github.com/request/request/pull/1029) Fix a couple of typos (@nylen) +- [#675](https://github.com/request/request/pull/675) Checking for SSL fault on connection before reading SSL properties (@VRMink) +- [#989](https://github.com/request/request/pull/989) Added allowRedirect function. Should return true if redirect is allowed or false otherwise (@doronin) +- [#1025](https://github.com/request/request/pull/1025) [fixes #1023] Set self._ended to true once response has ended (@mridgway) +- [#1020](https://github.com/request/request/pull/1020) Add back removed debug metadata (@FredKSchott) +- [#1008](https://github.com/request/request/pull/1008) Moving to module instead of cutomer buffer concatenation. (@mikeal) +- [#770](https://github.com/request/request/pull/770) Added dependency badge for README file; (@timgluz) +- [#1016](https://github.com/request/request/pull/1016) toJSON no longer results in an infinite loop, returns simple objects (@FredKSchott) +- [#1018](https://github.com/request/request/pull/1018) Remove pre-0.4.4 HTTPS fix (@mmalecki) +- [#1006](https://github.com/request/request/pull/1006) Migrate to caseless, fixes #1001 (@mikeal) +- [#995](https://github.com/request/request/pull/995) Fix parsing array of objects (@sjonnet19) +- [#999](https://github.com/request/request/pull/999) Fix fallback for browserify for optional modules. (@eiriksm) +- [#996](https://github.com/request/request/pull/996) Wrong oauth signature when multiple same param keys exist [updated] (@bengl) + +### v2.40.0 (2014/08/06) +- [#992](https://github.com/request/request/pull/992) Fix security vulnerability. Update qs (@poeticninja) +- [#988](https://github.com/request/request/pull/988) “--†-> “—†(@upisfree) +- [#987](https://github.com/request/request/pull/987) Show optional modules as being loaded by the module that reqeusted them (@iarna) + +### v2.39.0 (2014/07/24) +- [#976](https://github.com/request/request/pull/976) Update README.md (@pvoznenko) + +### v2.38.0 (2014/07/22) +- [#952](https://github.com/request/request/pull/952) Adding support to client certificate with proxy use case (@ofirshaked) +- [#884](https://github.com/request/request/pull/884) Documented tough-cookie installation. (@wbyoung) +- [#935](https://github.com/request/request/pull/935) Correct repository url (@fritx) +- [#963](https://github.com/request/request/pull/963) Update changelog (@nylen) +- [#960](https://github.com/request/request/pull/960) Support gzip with encoding on node pre-v0.9.4 (@kevinoid) +- [#953](https://github.com/request/request/pull/953) Add async Content-Length computation when using form-data (@LoicMahieu) +- [#844](https://github.com/request/request/pull/844) Add support for HTTP[S]_PROXY environment variables. Fixes #595. (@jvmccarthy) +- [#946](https://github.com/request/request/pull/946) defaults: merge headers (@aj0strow) + +### v2.37.0 (2014/07/07) +- [#957](https://github.com/request/request/pull/957) Silence EventEmitter memory leak warning #311 (@watson) +- [#955](https://github.com/request/request/pull/955) check for content-length header before setting it in nextTick (@camilleanne) +- [#951](https://github.com/request/request/pull/951) Add support for gzip content decoding (@kevinoid) +- [#949](https://github.com/request/request/pull/949) Manually enter querystring in form option (@charlespwd) +- [#944](https://github.com/request/request/pull/944) Make request work with browserify (@eiriksm) +- [#943](https://github.com/request/request/pull/943) New mime module (@eiriksm) +- [#927](https://github.com/request/request/pull/927) Bump version of hawk dep. (@samccone) +- [#907](https://github.com/request/request/pull/907) append secureOptions to poolKey (@medovob) + +### v2.35.0 (2014/05/17) +- [#901](https://github.com/request/request/pull/901) Fixes #555 (@pigulla) +- [#897](https://github.com/request/request/pull/897) merge with default options (@vohof) +- [#891](https://github.com/request/request/pull/891) fixes 857 - options object is mutated by calling request (@lalitkapoor) +- [#869](https://github.com/request/request/pull/869) Pipefilter test (@tgohn) +- [#866](https://github.com/request/request/pull/866) Fix typo (@dandv) +- [#861](https://github.com/request/request/pull/861) Add support for RFC 6750 Bearer Tokens (@phedny) +- [#809](https://github.com/request/request/pull/809) upgrade tunnel-proxy to 0.4.0 (@ksato9700) +- [#850](https://github.com/request/request/pull/850) Fix word consistency in readme (@0xNobody) +- [#810](https://github.com/request/request/pull/810) add some exposition to mpu example in README.md (@mikermcneil) +- [#840](https://github.com/request/request/pull/840) improve error reporting for invalid protocols (@FND) +- [#821](https://github.com/request/request/pull/821) added secureOptions back (@nw) +- [#815](https://github.com/request/request/pull/815) Create changelog based on pull requests (@lalitkapoor) + +### v2.34.0 (2014/02/18) +- [#516](https://github.com/request/request/pull/516) UNIX Socket URL Support (@lyuzashi) +- [#801](https://github.com/request/request/pull/801) 794 ignore cookie parsing and domain errors (@lalitkapoor) +- [#802](https://github.com/request/request/pull/802) Added the Apache license to the package.json. (@keskival) +- [#793](https://github.com/request/request/pull/793) Adds content-length calculation when submitting forms using form-data li... (@Juul) +- [#785](https://github.com/request/request/pull/785) Provide ability to override content-type when `json` option used (@vvo) +- [#781](https://github.com/request/request/pull/781) simpler isReadStream function (@joaojeronimo) + +### v2.32.0 (2014/01/16) +- [#767](https://github.com/request/request/pull/767) Use tough-cookie CookieJar sync API (@stash) +- [#764](https://github.com/request/request/pull/764) Case-insensitive authentication scheme (@bobyrizov) +- [#763](https://github.com/request/request/pull/763) Upgrade tough-cookie to 0.10.0 (@stash) +- [#744](https://github.com/request/request/pull/744) Use Cookie.parse (@lalitkapoor) +- [#757](https://github.com/request/request/pull/757) require aws-sign2 (@mafintosh) + +### v2.31.0 (2014/01/08) +- [#645](https://github.com/request/request/pull/645) update twitter api url to v1.1 (@mick) +- [#746](https://github.com/request/request/pull/746) README: Markdown code highlight (@weakish) +- [#745](https://github.com/request/request/pull/745) updating setCookie example to make it clear that the callback is required (@emkay) +- [#742](https://github.com/request/request/pull/742) Add note about JSON output body type (@iansltx) +- [#741](https://github.com/request/request/pull/741) README example is using old cookie jar api (@emkay) +- [#736](https://github.com/request/request/pull/736) Fix callback arguments documentation (@mmalecki) + +### v2.30.0 (2013/12/13) +- [#732](https://github.com/request/request/pull/732) JSHINT: Creating global 'for' variable. Should be 'for (var ...'. (@Fritz-Lium) +- [#730](https://github.com/request/request/pull/730) better HTTP DIGEST support (@dai-shi) +- [#728](https://github.com/request/request/pull/728) Fix TypeError when calling request.cookie (@scarletmeow) + +### v2.29.0 (2013/12/06) +- [#727](https://github.com/request/request/pull/727) fix requester bug (@jchris) + +### v2.28.0 (2013/12/04) +- [#724](https://github.com/request/request/pull/724) README.md: add custom HTTP Headers example. (@tcort) +- [#719](https://github.com/request/request/pull/719) Made a comment gender neutral. (@oztu) +- [#715](https://github.com/request/request/pull/715) Request.multipart no longer crashes when header 'Content-type' present (@pastaclub) +- [#710](https://github.com/request/request/pull/710) Fixing listing in callback part of docs. (@lukasz-zak) +- [#696](https://github.com/request/request/pull/696) Edited README.md for formatting and clarity of phrasing (@Zearin) +- [#694](https://github.com/request/request/pull/694) Typo in README (@VRMink) +- [#690](https://github.com/request/request/pull/690) Handle blank password in basic auth. (@diversario) +- [#682](https://github.com/request/request/pull/682) Optional dependencies (@Turbo87) +- [#683](https://github.com/request/request/pull/683) Travis CI support (@Turbo87) +- [#674](https://github.com/request/request/pull/674) change cookie module,to tough-cookie.please check it . (@sxyizhiren) +- [#666](https://github.com/request/request/pull/666) make `ciphers` and `secureProtocol` to work in https request (@richarddong) +- [#656](https://github.com/request/request/pull/656) Test case for #304. (@diversario) +- [#662](https://github.com/request/request/pull/662) option.tunnel to explicitly disable tunneling (@seanmonstar) +- [#659](https://github.com/request/request/pull/659) fix failure when running with NODE_DEBUG=request, and a test for that (@jrgm) +- [#630](https://github.com/request/request/pull/630) Send random cnonce for HTTP Digest requests (@wprl) + +### v2.27.0 (2013/08/15) +- [#619](https://github.com/request/request/pull/619) decouple things a bit (@joaojeronimo) + +### v2.26.0 (2013/08/07) +- [#613](https://github.com/request/request/pull/613) Fixes #583, moved initialization of self.uri.pathname (@lexander) +- [#605](https://github.com/request/request/pull/605) Only include ":" + pass in Basic Auth if it's defined (fixes #602) (@bendrucker) + +### v2.24.0 (2013/07/23) +- [#596](https://github.com/request/request/pull/596) Global agent is being used when pool is specified (@Cauldrath) +- [#594](https://github.com/request/request/pull/594) Emit complete event when there is no callback (@RomainLK) +- [#601](https://github.com/request/request/pull/601) Fixed a small typo (@michalstanko) + +### v2.23.0 (2013/07/23) +- [#589](https://github.com/request/request/pull/589) Prevent setting headers after they are sent (@geek) +- [#587](https://github.com/request/request/pull/587) Global cookie jar disabled by default (@threepointone) + +### v2.22.0 (2013/07/05) +- [#544](https://github.com/request/request/pull/544) Update http-signature version. (@davidlehn) +- [#581](https://github.com/request/request/pull/581) Fix spelling of "ignoring." (@bigeasy) +- [#568](https://github.com/request/request/pull/568) use agentOptions to create agent when specified in request (@SamPlacette) +- [#564](https://github.com/request/request/pull/564) Fix redirections (@criloz) +- [#541](https://github.com/request/request/pull/541) The exported request function doesn't have an auth method (@tschaub) +- [#542](https://github.com/request/request/pull/542) Expose Request class (@regality) + +### v2.21.0 (2013/04/30) +- [#536](https://github.com/request/request/pull/536) Allow explicitly empty user field for basic authentication. (@mikeando) +- [#532](https://github.com/request/request/pull/532) fix typo (@fredericosilva) +- [#497](https://github.com/request/request/pull/497) Added redirect event (@Cauldrath) +- [#503](https://github.com/request/request/pull/503) Fix basic auth for passwords that contain colons (@tonistiigi) +- [#521](https://github.com/request/request/pull/521) Improving test-localAddress.js (@noway421) +- [#529](https://github.com/request/request/pull/529) dependencies versions bump (@jodaka) + +### v2.17.0 (2013/04/22) +- [#523](https://github.com/request/request/pull/523) Updating dependencies (@noway421) +- [#520](https://github.com/request/request/pull/520) Fixing test-tunnel.js (@noway421) +- [#519](https://github.com/request/request/pull/519) Update internal path state on post-creation QS changes (@jblebrun) +- [#510](https://github.com/request/request/pull/510) Add HTTP Signature support. (@davidlehn) +- [#502](https://github.com/request/request/pull/502) Fix POST (and probably other) requests that are retried after 401 Unauthorized (@nylen) +- [#508](https://github.com/request/request/pull/508) Honor the .strictSSL option when using proxies (tunnel-agent) (@jhs) +- [#512](https://github.com/request/request/pull/512) Make password optional to support the format: http://username@hostname/ (@pajato1) +- [#513](https://github.com/request/request/pull/513) add 'localAddress' support (@yyfrankyy) +- [#498](https://github.com/request/request/pull/498) Moving response emit above setHeaders on destination streams (@kenperkins) +- [#490](https://github.com/request/request/pull/490) Empty response body (3-rd argument) must be passed to callback as an empty string (@Olegas) +- [#479](https://github.com/request/request/pull/479) Changing so if Accept header is explicitly set, sending json does not ov... (@RoryH) +- [#475](https://github.com/request/request/pull/475) Use `unescape` from `querystring` (@shimaore) +- [#473](https://github.com/request/request/pull/473) V0.10 compat (@isaacs) +- [#471](https://github.com/request/request/pull/471) Using querystring library from visionmedia (@kbackowski) +- [#461](https://github.com/request/request/pull/461) Strip the UTF8 BOM from a UTF encoded response (@kppullin) +- [#460](https://github.com/request/request/pull/460) hawk 0.10.0 (@hueniverse) +- [#462](https://github.com/request/request/pull/462) if query params are empty, then request path shouldn't end with a '?' (merges cleanly now) (@jaipandya) +- [#456](https://github.com/request/request/pull/456) hawk 0.9.0 (@hueniverse) +- [#429](https://github.com/request/request/pull/429) Copy options before adding callback. (@nrn) +- [#454](https://github.com/request/request/pull/454) Destroy the response if present when destroying the request (clean merge) (@mafintosh) +- [#310](https://github.com/request/request/pull/310) Twitter Oauth Stuff Out of Date; Now Updated (@joemccann) +- [#413](https://github.com/request/request/pull/413) rename googledoodle.png to .jpg (@nfriedly) +- [#448](https://github.com/request/request/pull/448) Convenience method for PATCH (@mloar) +- [#444](https://github.com/request/request/pull/444) protect against double callbacks on error path (@spollack) +- [#433](https://github.com/request/request/pull/433) Added support for HTTPS cert & key (@mmalecki) +- [#430](https://github.com/request/request/pull/430) Respect specified {Host,host} headers, not just {host} (@andrewschaaf) +- [#415](https://github.com/request/request/pull/415) Fixed a typo. (@jerem) +- [#338](https://github.com/request/request/pull/338) Add more auth options, including digest support (@nylen) +- [#403](https://github.com/request/request/pull/403) Optimize environment lookup to happen once only (@mmalecki) +- [#398](https://github.com/request/request/pull/398) Add more reporting to tests (@mmalecki) +- [#388](https://github.com/request/request/pull/388) Ensure "safe" toJSON doesn't break EventEmitters (@othiym23) +- [#381](https://github.com/request/request/pull/381) Resolving "Invalid signature. Expected signature base string: " (@landeiro) +- [#380](https://github.com/request/request/pull/380) Fixes missing host header on retried request when using forever agent (@mac-) +- [#376](https://github.com/request/request/pull/376) Headers lost on redirect (@kapetan) +- [#375](https://github.com/request/request/pull/375) Fix for missing oauth_timestamp parameter (@jplock) +- [#374](https://github.com/request/request/pull/374) Correct Host header for proxy tunnel CONNECT (@youurayy) +- [#370](https://github.com/request/request/pull/370) Twitter reverse auth uses x_auth_mode not x_auth_type (@drudge) +- [#369](https://github.com/request/request/pull/369) Don't remove x_auth_mode for Twitter reverse auth (@drudge) +- [#344](https://github.com/request/request/pull/344) Make AWS auth signing find headers correctly (@nlf) +- [#363](https://github.com/request/request/pull/363) rfc3986 on base_uri, now passes tests (@jeffmarshall) +- [#362](https://github.com/request/request/pull/362) Running `rfc3986` on `base_uri` in `oauth.hmacsign` instead of just `encodeURIComponent` (@jeffmarshall) +- [#361](https://github.com/request/request/pull/361) Don't create a Content-Length header if we already have it set (@danjenkins) +- [#360](https://github.com/request/request/pull/360) Delete self._form along with everything else on redirect (@jgautier) +- [#355](https://github.com/request/request/pull/355) stop sending erroneous headers on redirected requests (@azylman) +- [#332](https://github.com/request/request/pull/332) Fix #296 - Only set Content-Type if body exists (@Marsup) +- [#343](https://github.com/request/request/pull/343) Allow AWS to work in more situations, added a note in the README on its usage (@nlf) +- [#320](https://github.com/request/request/pull/320) request.defaults() doesn't need to wrap jar() (@StuartHarris) +- [#322](https://github.com/request/request/pull/322) Fix + test for piped into request bumped into redirect. #321 (@alexindigo) +- [#326](https://github.com/request/request/pull/326) Do not try to remove listener from an undefined connection (@strk) +- [#318](https://github.com/request/request/pull/318) Pass servername to tunneling secure socket creation (@isaacs) +- [#317](https://github.com/request/request/pull/317) Workaround for #313 (@isaacs) +- [#293](https://github.com/request/request/pull/293) Allow parser errors to bubble up to request (@mscdex) +- [#290](https://github.com/request/request/pull/290) A test for #289 (@isaacs) +- [#280](https://github.com/request/request/pull/280) Like in node.js print options if NODE_DEBUG contains the word request (@Filirom1) +- [#207](https://github.com/request/request/pull/207) Fix #206 Change HTTP/HTTPS agent when redirecting between protocols (@isaacs) +- [#214](https://github.com/request/request/pull/214) documenting additional behavior of json option (@jphaas) +- [#272](https://github.com/request/request/pull/272) Boundary begins with CRLF? (@elspoono) +- [#284](https://github.com/request/request/pull/284) Remove stray `console.log()` call in multipart generator. (@bcherry) +- [#241](https://github.com/request/request/pull/241) Composability updates suggested by issue #239 (@polotek) +- [#282](https://github.com/request/request/pull/282) OAuth Authorization header contains non-"oauth_" parameters (@jplock) +- [#279](https://github.com/request/request/pull/279) fix tests with boundary by injecting boundry from header (@benatkin) +- [#273](https://github.com/request/request/pull/273) Pipe back pressure issue (@mafintosh) +- [#268](https://github.com/request/request/pull/268) I'm not OCD seriously (@TehShrike) +- [#263](https://github.com/request/request/pull/263) Bug in OAuth key generation for sha1 (@nanodocumet) +- [#265](https://github.com/request/request/pull/265) uncaughtException when redirected to invalid URI (@naholyr) +- [#262](https://github.com/request/request/pull/262) JSON test should check for equality (@timshadel) +- [#261](https://github.com/request/request/pull/261) Setting 'pool' to 'false' does NOT disable Agent pooling (@timshadel) +- [#249](https://github.com/request/request/pull/249) Fix for the fix of your (closed) issue #89 where self.headers[content-length] is set to 0 for all methods (@sethbridges) +- [#255](https://github.com/request/request/pull/255) multipart allow body === '' ( the empty string ) (@Filirom1) +- [#260](https://github.com/request/request/pull/260) fixed just another leak of 'i' (@sreuter) +- [#246](https://github.com/request/request/pull/246) Fixing the set-cookie header (@jeromegn) +- [#243](https://github.com/request/request/pull/243) Dynamic boundary (@zephrax) +- [#240](https://github.com/request/request/pull/240) don't error when null is passed for options (@polotek) +- [#211](https://github.com/request/request/pull/211) Replace all occurrences of special chars in RFC3986 (@chriso) +- [#224](https://github.com/request/request/pull/224) Multipart content-type change (@janjongboom) +- [#217](https://github.com/request/request/pull/217) need to use Authorization (titlecase) header with Tumblr OAuth (@visnup) +- [#203](https://github.com/request/request/pull/203) Fix cookie and redirect bugs and add auth support for HTTPS tunnel (@milewise) +- [#199](https://github.com/request/request/pull/199) Tunnel (@isaacs) +- [#198](https://github.com/request/request/pull/198) Bugfix on forever usage of util.inherits (@isaacs) +- [#197](https://github.com/request/request/pull/197) Make ForeverAgent work with HTTPS (@isaacs) +- [#193](https://github.com/request/request/pull/193) Fixes GH-119 (@goatslacker) +- [#188](https://github.com/request/request/pull/188) Add abort support to the returned request (@itay) +- [#176](https://github.com/request/request/pull/176) Querystring option (@csainty) +- [#182](https://github.com/request/request/pull/182) Fix request.defaults to support (uri, options, callback) api (@twilson63) +- [#180](https://github.com/request/request/pull/180) Modified the post, put, head and del shortcuts to support uri optional param (@twilson63) +- [#179](https://github.com/request/request/pull/179) fix to add opts in .pipe(stream, opts) (@substack) +- [#177](https://github.com/request/request/pull/177) Issue #173 Support uri as first and optional config as second argument (@twilson63) +- [#170](https://github.com/request/request/pull/170) can't create a cookie in a wrapped request (defaults) (@fabianonunes) +- [#168](https://github.com/request/request/pull/168) Picking off an EasyFix by adding some missing mimetypes. (@serby) +- [#161](https://github.com/request/request/pull/161) Fix cookie jar/headers.cookie collision (#125) (@papandreou) +- [#162](https://github.com/request/request/pull/162) Fix issue #159 (@dpetukhov) +- [#90](https://github.com/request/request/pull/90) add option followAllRedirects to follow post/put redirects (@jroes) +- [#148](https://github.com/request/request/pull/148) Retry Agent (@thejh) +- [#146](https://github.com/request/request/pull/146) Multipart should respect content-type if previously set (@apeace) +- [#144](https://github.com/request/request/pull/144) added "form" option to readme (@petejkim) +- [#133](https://github.com/request/request/pull/133) Fixed cookies parsing (@afanasy) +- [#135](https://github.com/request/request/pull/135) host vs hostname (@iangreenleaf) +- [#132](https://github.com/request/request/pull/132) return the body as a Buffer when encoding is set to null (@jahewson) +- [#112](https://github.com/request/request/pull/112) Support using a custom http-like module (@jhs) +- [#104](https://github.com/request/request/pull/104) Cookie handling contains bugs (@janjongboom) +- [#121](https://github.com/request/request/pull/121) Another patch for cookie handling regression (@jhurliman) +- [#117](https://github.com/request/request/pull/117) Remove the global `i` (@3rd-Eden) +- [#110](https://github.com/request/request/pull/110) Update to Iris Couch URL (@jhs) +- [#86](https://github.com/request/request/pull/86) Can't post binary to multipart requests (@developmentseed) +- [#105](https://github.com/request/request/pull/105) added test for proxy option. (@dominictarr) +- [#102](https://github.com/request/request/pull/102) Implemented cookies - closes issue 82: https://github.com/mikeal/request/issues/82 (@alessioalex) +- [#97](https://github.com/request/request/pull/97) Typo in previous pull causes TypeError in non-0.5.11 versions (@isaacs) +- [#96](https://github.com/request/request/pull/96) Authless parsed url host support (@isaacs) +- [#81](https://github.com/request/request/pull/81) Enhance redirect handling (@danmactough) +- [#78](https://github.com/request/request/pull/78) Don't try to do strictSSL for non-ssl connections (@isaacs) +- [#76](https://github.com/request/request/pull/76) Bug when a request fails and a timeout is set (@Marsup) +- [#70](https://github.com/request/request/pull/70) add test script to package.json (@isaacs) +- [#73](https://github.com/request/request/pull/73) Fix #71 Respect the strictSSL flag (@isaacs) +- [#69](https://github.com/request/request/pull/69) Flatten chunked requests properly (@isaacs) +- [#67](https://github.com/request/request/pull/67) fixed global variable leaks (@aheckmann) +- [#66](https://github.com/request/request/pull/66) Do not overwrite established content-type headers for read stream deliver (@voodootikigod) +- [#53](https://github.com/request/request/pull/53) Parse json: Issue #51 (@benatkin) +- [#45](https://github.com/request/request/pull/45) Added timeout option (@mbrevoort) +- [#35](https://github.com/request/request/pull/35) The "end" event isn't emitted for some responses (@voxpelli) +- [#31](https://github.com/request/request/pull/31) Error on piping a request to a destination (@tobowers) \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/CONTRIBUTING.md b/netatmo-security-connector/NetatmoSecurity/node_modules/request/CONTRIBUTING.md new file mode 100644 index 0000000..06b1968 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/CONTRIBUTING.md @@ -0,0 +1,44 @@ +# This is an OPEN Open Source Project + +----------------------------------------- + +## What? + +Individuals making significant and valuable contributions are given +commit-access to the project to contribute as they see fit. This project is +more like an open wiki than a standard guarded open source project. + +## Rules + +There are a few basic ground-rules for contributors: + +1. **No `--force` pushes** or modifying the Git history in any way. +1. **Non-master branches** ought to be used for ongoing work. +1. **External API changes and significant modifications** ought to be subject + to an **internal pull-request** to solicit feedback from other contributors. +1. Internal pull-requests to solicit feedback are *encouraged* for any other + non-trivial contribution but left to the discretion of the contributor. +1. For significant changes wait a full 24 hours before merging so that active + contributors who are distributed throughout the world have a chance to weigh + in. +1. Contributors should attempt to adhere to the prevailing code-style. +1. Run `npm test` locally before submitting your PR, to catch any easy to miss + style & testing issues. To diagnose test failures, there are two ways to + run a single test file: + - `node_modules/.bin/taper tests/test-file.js` - run using the default + [`taper`](https://github.com/nylen/taper) test reporter. + - `node tests/test-file.js` - view the raw + [tap](https://testanything.org/) output. + + +## Releases + +Declaring formal releases remains the prerogative of the project maintainer. + +## Changes to this arrangement + +This is an experiment and feedback is welcome! This document may also be +subject to pull-requests or changes by contributors where you believe you have +something valuable to add or change. + +----------------------------------------- diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/request/LICENSE new file mode 100644 index 0000000..a4a9aee --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/LICENSE @@ -0,0 +1,55 @@ +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/request/README.md new file mode 100644 index 0000000..2abc9e1 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/README.md @@ -0,0 +1,1031 @@ + +# Request - Simplified HTTP client + +[![npm package](https://nodei.co/npm/request.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/request/) + +[![Build status](https://img.shields.io/travis/request/request.svg?style=flat-square)](https://travis-ci.org/request/request) +[![Coverage](https://img.shields.io/coveralls/request/request.svg?style=flat-square)](https://coveralls.io/r/request/request) +[![Gitter](https://img.shields.io/badge/gitter-join_chat-blue.svg?style=flat-square)](https://gitter.im/request/request?utm_source=badge) + + +## Super simple to use + +Request is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default. + +```js +var request = require('request'); +request('http://www.google.com', function (error, response, body) { + if (!error && response.statusCode == 200) { + console.log(body) // Show the HTML for the Google homepage. + } +}) +``` + + +## Table of contents + +- [Streaming](#streaming) +- [Forms](#forms) +- [HTTP Authentication](#http-authentication) +- [Custom HTTP Headers](#custom-http-headers) +- [OAuth Signing](#oauth-signing) +- [Proxies](#proxies) +- [Unix Domain Sockets](#unix-domain-sockets) +- [TLS/SSL Protocol](#tlsssl-protocol) +- [Support for HAR 1.2](#support-for-har-12) +- [**All Available Options**](#requestoptions-callback) + +Request also offers [convenience methods](#convenience-methods) like +`request.defaults` and `request.post`, and there are +lots of [usage examples](#examples) and several +[debugging techniques](#debugging). + + +--- + + +## Streaming + +You can stream any response to a file stream. + +```js +request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png')) +``` + +You can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types (in this case `application/json`) and use the proper `content-type` in the PUT request (if the headers don’t already provide one). + +```js +fs.createReadStream('file.json').pipe(request.put('http://mysite.com/obj.json')) +``` + +Request can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers. + +```js +request.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png')) +``` + +Request emits a "response" event when a response is received. The `response` argument will be an instance of [http.IncomingMessage](http://nodejs.org/api/http.html#http_http_incomingmessage). + +```js +request + .get('http://google.com/img.png') + .on('response', function(response) { + console.log(response.statusCode) // 200 + console.log(response.headers['content-type']) // 'image/png' + }) + .pipe(request.put('http://mysite.com/img.png')) +``` + +To easily handle errors when streaming requests, listen to the `error` event before piping: + +```js +request + .get('http://mysite.com/doodle.png') + .on('error', function(err) { + console.log(err) + }) + .pipe(fs.createWriteStream('doodle.png')) +``` + +Now let’s get fancy. + +```js +http.createServer(function (req, resp) { + if (req.url === '/doodle.png') { + if (req.method === 'PUT') { + req.pipe(request.put('http://mysite.com/doodle.png')) + } else if (req.method === 'GET' || req.method === 'HEAD') { + request.get('http://mysite.com/doodle.png').pipe(resp) + } + } +}) +``` + +You can also `pipe()` from `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don't really care about security, you can do: + +```js +http.createServer(function (req, resp) { + if (req.url === '/doodle.png') { + var x = request('http://mysite.com/doodle.png') + req.pipe(x) + x.pipe(resp) + } +}) +``` + +And since `pipe()` returns the destination stream in ≥ Node 0.5.x you can do one line proxying. :) + +```js +req.pipe(request('http://mysite.com/doodle.png')).pipe(resp) +``` + +Also, none of this new functionality conflicts with requests previous features, it just expands them. + +```js +var r = request.defaults({'proxy':'http://localproxy.com'}) + +http.createServer(function (req, resp) { + if (req.url === '/doodle.png') { + r.get('http://google.com/doodle.png').pipe(resp) + } +}) +``` + +You can still use intermediate proxies, the requests will still follow HTTP forwards, etc. + +[back to top](#table-of-contents) + + +--- + + +## Forms + +`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API. + + +#### application/x-www-form-urlencoded (URL-Encoded Forms) + +URL-encoded forms are simple. + +```js +request.post('http://service.com/upload', {form:{key:'value'}}) +// or +request.post('http://service.com/upload').form({key:'value'}) +// or +request.post({url:'http://service.com/upload', form: {key:'value'}}, function(err,httpResponse,body){ /* ... */ }) +``` + + +#### multipart/form-data (Multipart Form Uploads) + +For `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). For the most cases, you can pass your upload form data via the `formData` option. + + +```js +var formData = { + // Pass a simple key-value pair + my_field: 'my_value', + // Pass data via Buffers + my_buffer: new Buffer([1, 2, 3]), + // Pass data via Streams + my_file: fs.createReadStream(__dirname + '/unicycle.jpg'), + // Pass multiple values /w an Array + attachments: [ + fs.createReadStream(__dirname + '/attachment1.jpg'), + fs.createReadStream(__dirname + '/attachment2.jpg') + ], + // Pass optional meta-data with an 'options' object with style: {value: DATA, options: OPTIONS} + // Use case: for some types of streams, you'll need to provide "file"-related information manually. + // See the `form-data` README for more information about options: https://github.com/felixge/node-form-data + custom_file: { + value: fs.createReadStream('/dev/urandom'), + options: { + filename: 'topsecret.jpg', + contentType: 'image/jpg' + } + } +}; +request.post({url:'http://service.com/upload', formData: formData}, function optionalCallback(err, httpResponse, body) { + if (err) { + return console.error('upload failed:', err); + } + console.log('Upload successful! Server responded with:', body); +}); +``` + +For advanced cases, you can access the form-data object itself via `r.form()`. This can be modified until the request is fired on the next cycle of the event-loop. (Note that this calling `form()` will clear the currently set form data for that request.) + +```js +// NOTE: Advanced use-case, for normal use see 'formData' usage above +var r = request.post('http://service.com/upload', function optionalCallback(err, httpResponse, body) { // ... + +var form = r.form(); +form.append('my_field', 'my_value'); +form.append('my_buffer', new Buffer([1, 2, 3])); +form.append('custom_file', fs.createReadStream(__dirname + '/unicycle.jpg'), {filename: 'unicycle.jpg'}); +``` +See the [form-data README](https://github.com/felixge/node-form-data) for more information & examples. + + +#### multipart/related + +Some variations in different HTTP implementations require a newline/CRLF before, after, or both before and after the boundary of a `multipart/related` request (using the multipart option). This has been observed in the .NET WebAPI version 4.0. You can turn on a boundary preambleCRLF or postamble by passing them as `true` to your request options. + +```js + request({ + method: 'PUT', + preambleCRLF: true, + postambleCRLF: true, + uri: 'http://service.com/upload', + multipart: [ + { + 'content-type': 'application/json' + body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}}) + }, + { body: 'I am an attachment' }, + { body: fs.createReadStream('image.png') } + ], + // alternatively pass an object containing additional options + multipart: { + chunked: false, + data: [ + { + 'content-type': 'application/json', + body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}}) + }, + { body: 'I am an attachment' } + ] + } + }, + function (error, response, body) { + if (error) { + return console.error('upload failed:', error); + } + console.log('Upload successful! Server responded with:', body); + }) +``` + +[back to top](#table-of-contents) + + +--- + + +## HTTP Authentication + +```js +request.get('http://some.server.com/').auth('username', 'password', false); +// or +request.get('http://some.server.com/', { + 'auth': { + 'user': 'username', + 'pass': 'password', + 'sendImmediately': false + } +}); +// or +request.get('http://some.server.com/').auth(null, null, true, 'bearerToken'); +// or +request.get('http://some.server.com/', { + 'auth': { + 'bearer': 'bearerToken' + } +}); +``` + +If passed as an option, `auth` should be a hash containing values: + +- `user` || `username` +- `pass` || `password` +- `sendImmediately` (optional) +- `bearer` (optional) + +The method form takes parameters +`auth(username, password, sendImmediately, bearer)`. + +`sendImmediately` defaults to `true`, which causes a basic or bearer +authentication header to be sent. If `sendImmediately` is `false`, then +`request` will retry with a proper authentication header after receiving a +`401` response from the server (which must contain a `WWW-Authenticate` header +indicating the required authentication method). + +Note that you can also specify basic authentication using the URL itself, as +detailed in [RFC 1738](http://www.ietf.org/rfc/rfc1738.txt). Simply pass the +`user:password` before the host with an `@` sign: + +```js +var username = 'username', + password = 'password', + url = 'http://' + username + ':' + password + '@some.server.com'; + +request({url: url}, function (error, response, body) { + // Do more stuff with 'body' here +}); +``` + +Digest authentication is supported, but it only works with `sendImmediately` +set to `false`; otherwise `request` will send basic authentication on the +initial request, which will probably cause the request to fail. + +Bearer authentication is supported, and is activated when the `bearer` value is +available. The value may be either a `String` or a `Function` returning a +`String`. Using a function to supply the bearer token is particularly useful if +used in conjuction with `defaults` to allow a single function to supply the +last known token at the time of sending a request, or to compute one on the fly. + +[back to top](#table-of-contents) + + +--- + + +## Custom HTTP Headers + +HTTP Headers, such as `User-Agent`, can be set in the `options` object. +In the example below, we call the github API to find out the number +of stars and forks for the request repository. This requires a +custom `User-Agent` header as well as https. + +```js +var request = require('request'); + +var options = { + url: 'https://api.github.com/repos/request/request', + headers: { + 'User-Agent': 'request' + } +}; + +function callback(error, response, body) { + if (!error && response.statusCode == 200) { + var info = JSON.parse(body); + console.log(info.stargazers_count + " Stars"); + console.log(info.forks_count + " Forks"); + } +} + +request(options, callback); +``` + +[back to top](#table-of-contents) + + +--- + + +## OAuth Signing + +[OAuth version 1.0](https://tools.ietf.org/html/rfc5849) is supported. The +default signing algorithm is +[HMAC-SHA1](https://tools.ietf.org/html/rfc5849#section-3.4.2): + +```js +// OAuth1.0 - 3-legged server side flow (Twitter example) +// step 1 +var qs = require('querystring') + , oauth = + { callback: 'http://mysite.com/callback/' + , consumer_key: CONSUMER_KEY + , consumer_secret: CONSUMER_SECRET + } + , url = 'https://api.twitter.com/oauth/request_token' + ; +request.post({url:url, oauth:oauth}, function (e, r, body) { + // Ideally, you would take the body in the response + // and construct a URL that a user clicks on (like a sign in button). + // The verifier is only available in the response after a user has + // verified with twitter that they are authorizing your app. + + // step 2 + var req_data = qs.parse(body) + var uri = 'https://api.twitter.com/oauth/authenticate' + + '?' + qs.stringify({oauth_token: req_data.oauth_token}) + // redirect the user to the authorize uri + + // step 3 + // after the user is redirected back to your server + var auth_data = qs.parse(body) + , oauth = + { consumer_key: CONSUMER_KEY + , consumer_secret: CONSUMER_SECRET + , token: auth_data.oauth_token + , token_secret: req_data.oauth_token_secret + , verifier: auth_data.oauth_verifier + } + , url = 'https://api.twitter.com/oauth/access_token' + ; + request.post({url:url, oauth:oauth}, function (e, r, body) { + // ready to make signed requests on behalf of the user + var perm_data = qs.parse(body) + , oauth = + { consumer_key: CONSUMER_KEY + , consumer_secret: CONSUMER_SECRET + , token: perm_data.oauth_token + , token_secret: perm_data.oauth_token_secret + } + , url = 'https://api.twitter.com/1.1/users/show.json' + , qs = + { screen_name: perm_data.screen_name + , user_id: perm_data.user_id + } + ; + request.get({url:url, oauth:oauth, json:true}, function (e, r, user) { + console.log(user) + }) + }) +}) +``` + +For [RSA-SHA1 signing](https://tools.ietf.org/html/rfc5849#section-3.4.3), make +the following changes to the OAuth options object: +* Pass `signature_method : 'RSA-SHA1'` +* Instead of `consumer_secret`, specify a `private_key` string in + [PEM format](http://how2ssl.com/articles/working_with_pem_files/) + +For [PLAINTEXT signing](http://oauth.net/core/1.0/#anchor22), make +the following changes to the OAuth options object: +* Pass `signature_method : 'PLAINTEXT'` + +To send OAuth parameters via query params or in a post body as described in The +[Consumer Request Parameters](http://oauth.net/core/1.0/#consumer_req_param) +section of the oauth1 spec: +* Pass `transport_method : 'query'` or `transport_method : 'body'` in the OAuth + options object. +* `transport_method` defaults to `'header'` + +[back to top](#table-of-contents) + + +--- + + +## Proxies + +If you specify a `proxy` option, then the request (and any subsequent +redirects) will be sent via a connection to the proxy server. + +If your endpoint is an `https` url, and you are using a proxy, then +request will send a `CONNECT` request to the proxy server *first*, and +then use the supplied connection to connect to the endpoint. + +That is, first it will make a request like: + +``` +HTTP/1.1 CONNECT endpoint-server.com:80 +Host: proxy-server.com +User-Agent: whatever user agent you specify +``` + +and then the proxy server make a TCP connection to `endpoint-server` +on port `80`, and return a response that looks like: + +``` +HTTP/1.1 200 OK +``` + +At this point, the connection is left open, and the client is +communicating directly with the `endpoint-server.com` machine. + +See [the wikipedia page on HTTP Tunneling](http://en.wikipedia.org/wiki/HTTP_tunnel) +for more information. + +By default, when proxying `http` traffic, request will simply make a +standard proxied `http` request. This is done by making the `url` +section of the initial line of the request a fully qualified url to +the endpoint. + +For example, it will make a single request that looks like: + +``` +HTTP/1.1 GET http://endpoint-server.com/some-url +Host: proxy-server.com +Other-Headers: all go here + +request body or whatever +``` + +Because a pure "http over http" tunnel offers no additional security +or other features, it is generally simpler to go with a +straightforward HTTP proxy in this case. However, if you would like +to force a tunneling proxy, you may set the `tunnel` option to `true`. + +You can also make a standard proxied `http` request by explicitly setting +`tunnel : false`, but **note that this will allow the proxy to see the traffic +to/from the destination server**. + +If you are using a tunneling proxy, you may set the +`proxyHeaderWhiteList` to share certain headers with the proxy. + +You can also set the `proxyHeaderExclusiveList` to share certain +headers only with the proxy and not with destination host. + +By default, this set is: + +``` +accept +accept-charset +accept-encoding +accept-language +accept-ranges +cache-control +content-encoding +content-language +content-length +content-location +content-md5 +content-range +content-type +connection +date +expect +max-forwards +pragma +proxy-authorization +referer +te +transfer-encoding +user-agent +via +``` + +Note that, when using a tunneling proxy, the `proxy-authorization` +header and any headers from custom `proxyHeaderExclusiveList` are +*never* sent to the endpoint server, but only to the proxy server. + + +### Controlling proxy behaviour using environment variables + +The following environment variables are respected by `request`: + + * `HTTP_PROXY` / `http_proxy` + * `HTTPS_PROXY` / `https_proxy` + * `NO_PROXY` / `no_proxy` + +When `HTTP_PROXY` / `http_proxy` are set, they will be used to proxy non-SSL requests that do not have an explicit `proxy` configuration option present. Similarly, `HTTPS_PROXY` / `https_proxy` will be respected for SSL requests that do not have an explicit `proxy` configuration option. It is valid to define a proxy in one of the environment variables, but then override it for a specific request, using the `proxy` configuration option. Furthermore, the `proxy` configuration option can be explicitly set to false / null to opt out of proxying altogether for that request. + +`request` is also aware of the `NO_PROXY`/`no_proxy` environment variables. These variables provide a granular way to opt out of proxying, on a per-host basis. It should contain a comma separated list of hosts to opt out of proxying. It is also possible to opt of proxying when a particular destination port is used. Finally, the variable may be set to `*` to opt out of the implicit proxy configuration of the other environment variables. + +Here's some examples of valid `no_proxy` values: + + * `google.com` - don't proxy HTTP/HTTPS requests to Google. + * `google.com:443` - don't proxy HTTPS requests to Google, but *do* proxy HTTP requests to Google. + * `google.com:443, yahoo.com:80` - don't proxy HTTPS requests to Google, and don't proxy HTTP requests to Yahoo! + * `*` - ignore `https_proxy`/`http_proxy` environment variables altogether. + +[back to top](#table-of-contents) + + +--- + + +## UNIX Domain Sockets + +`request` supports making requests to [UNIX Domain Sockets](http://en.wikipedia.org/wiki/Unix_domain_socket). To make one, use the following URL scheme: + +```js +/* Pattern */ 'http://unix:SOCKET:PATH' +/* Example */ request.get('http://unix:/absolute/path/to/unix.socket:/request/path') +``` + +Note: The `SOCKET` path is assumed to be absolute to the root of the host file system. + +[back to top](#table-of-contents) + + +--- + + +## TLS/SSL Protocol + +TLS/SSL Protocol options, such as `cert`, `key` and `passphrase`, can be +set in the `agentOptions` property of the `options` object. +In the example below, we call an API requires client side SSL certificate +(in PEM format) with passphrase protected private key (in PEM format) and disable the SSLv3 protocol: + +```js +var fs = require('fs') + , path = require('path') + , certFile = path.resolve(__dirname, 'ssl/client.crt') + , keyFile = path.resolve(__dirname, 'ssl/client.key') + , request = require('request'); + +var options = { + url: 'https://api.some-server.com/', + agentOptions: { + cert: fs.readFileSync(certFile), + key: fs.readFileSync(keyFile), + // Or use `pfx` property replacing `cert` and `key` when using private key, certificate and CA certs in PFX or PKCS12 format: + // pfx: fs.readFileSync(pfxFilePath), + passphrase: 'password', + securityOptions: 'SSL_OP_NO_SSLv3' + } +}; + +request.get(options); +``` + +It is able to force using SSLv3 only by specifying `secureProtocol`: + +```js +request.get({ + url: 'https://api.some-server.com/', + agentOptions: { + secureProtocol: 'SSLv3_method' + } +}); +``` + +It is possible to accept other certificates than those signed by generally allowed Certificate Authorities (CAs). +This can be useful, for example, when using self-signed certificates. +To allow a different certificate, you can specify the signing CA by adding the contents of the CA's certificate file to the `agentOptions`: + +```js +request.get({ + url: 'https://api.some-server.com/', + agentOptions: { + ca: fs.readFileSync('ca.cert.pem') + } +}); +``` + +[back to top](#table-of-contents) + + +--- + +## Support for HAR 1.2 + +The `options.har` property will override the values: `url`, `method`, `qs`, `headers`, `form`, `formData`, `body`, `json`, as well as construct multipart data and read files from disk when `request.postData.params[].fileName` is present without a matching `value`. + +a validation step will check if the HAR Request format matches the latest spec (v1.2) and will skip parsing if not matching. + +```js + var request = require('request') + request({ + // will be ignored + method: 'GET' + uri: 'http://www.google.com', + + // HTTP Archive Request Object + har: { + url: 'http://www.mockbin.com/har' + method: 'POST', + headers: [ + { + name: 'content-type', + value: 'application/x-www-form-urlencoded' + } + ], + postData: { + mimeType: 'application/x-www-form-urlencoded', + params: [ + { + name: 'foo', + value: 'bar' + }, + { + name: 'hello', + value: 'world' + } + ] + } + } + }) + + // a POST request will be sent to http://www.mockbin.com + // with body an application/x-www-form-urlencoded body: + // foo=bar&hello=world +``` + +[back to top](#table-of-contents) + + +--- + +## request(options, callback) + +The first argument can be either a `url` or an `options` object. The only required option is `uri`; all others are optional. + +- `uri` || `url` - fully qualified uri or a parsed url object from `url.parse()` +- `baseUrl` - fully qualified uri string used as the base url. Most useful with `request.defaults`, for example when you want to do many requests to the same domain. If `baseUrl` is `https://example.com/api/`, then requesting `/end/point?test=true` will fetch `https://example.com/api/end/point?test=true`. When `baseUrl` is given, `uri` must also be a string. +- `method` - http method (default: `"GET"`) +- `headers` - http headers (default: `{}`) + +--- + +- `qs` - object containing querystring values to be appended to the `uri` +- `qsParseOptions` - object containing options to pass to the [qs.parse](https://github.com/hapijs/qs#parsing-objects) method or [querystring.parse](https://nodejs.org/docs/v0.12.0/api/querystring.html#querystring_querystring_parse_str_sep_eq_options) method +- `qsStringifyOptions` - object containing options to pass to the [qs.stringify](https://github.com/hapijs/qs#stringifying) method or to the [querystring.stringify](https://nodejs.org/docs/v0.12.0/api/querystring.html#querystring_querystring_stringify_obj_sep_eq_options) method. For example, to change the way arrays are converted to query strings pass the `arrayFormat` option with one of `indices|brackets|repeat` +- `useQuerystring` - If true, use `querystring` to stringify and parse + querystrings, otherwise use `qs` (default: `false`). Set this option to + `true` if you need arrays to be serialized as `foo=bar&foo=baz` instead of the + default `foo[0]=bar&foo[1]=baz`. + +--- + +- `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer` or `String`, unless `json` is `true`. If `json` is `true`, then `body` must be a JSON-serializable object. +- `form` - when passed an object or a querystring, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded` header. When passed no options, a `FormData` instance is returned (and is piped to request). See "Forms" section above. +- `formData` - Data to pass for a `multipart/form-data` request. See + [Forms](#forms) section above. +- `multipart` - array of objects which contain their own headers and `body` + attributes. Sends a `multipart/related` request. See [Forms](#forms) section + above. + - Alternatively you can pass in an object `{chunked: false, data: []}` where + `chunked` is used to specify whether the request is sent in + [chunked transfer encoding](https://en.wikipedia.org/wiki/Chunked_transfer_encoding) + In non-chunked requests, data items with body streams are not allowed. +- `preambleCRLF` - append a newline/CRLF before the boundary of your `multipart/form-data` request. +- `postambleCRLF` - append a newline/CRLF at the end of the boundary of your `multipart/form-data` request. +- `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as JSON. +- `jsonReviver` - a [reviver function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) that will be passed to `JSON.parse()` when parsing a JSON response body. + +--- + +- `auth` - A hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). See documentation above. +- `oauth` - Options for OAuth HMAC-SHA1 signing. See documentation above. +- `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example). +- `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`. Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services) +- `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent's library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options. + +--- + +- `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`). This property can also be implemented as function which gets `response` object as a single argument and should return `true` if redirects should continue or `false` otherwise. +- `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`) +- `maxRedirects` - the maximum number of redirects to follow (default: `10`) + +--- + +- `encoding` - Encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`. Anything else **(including the default value of `undefined`)** will be passed as the [encoding](http://nodejs.org/api/buffer.html#buffer_buffer) parameter to `toString()` (meaning this is effectively `utf8` by default). +- `gzip` - If `true`, add an `Accept-Encoding` header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response. **Note:** Automatic decoding of the response content is performed on the body data returned through `request` (both through the `request` stream and passed to the callback function) but is not performed on the `response` stream (available from the `response` event) which is the unmodified `http.IncomingMessage` object which may contain compressed data. See example below. +- `jar` - If `true` and `tough-cookie` is installed, remember cookies for future use (or define your custom cookie jar; see examples section) + +--- + +- `pool` - An object describing which agents to use for the request. If this option is omitted the request will use the global agent (as long as [your options allow for it](request.js#L747)). Otherwise, request will search the pool for your custom agent. If no custom agent is found, a new agent will be created and added to the pool. + - A `maxSockets` property can also be provided on the `pool` object to set the max number of sockets for all agents created (ex: `pool: {maxSockets: Infinity}`). + - Note that if you are sending multiple requests in a loop and creating + multiple new `pool` objects, `maxSockets` will not work as intended. To + work around this, either use [`request.defaults`](#requestdefaultsoptions) + with your pool options or create the pool object with the `maxSockets` + property outside of the loop. +- `timeout` - Integer containing the number of milliseconds to wait for a + request to respond before aborting the request. Note that if the underlying + TCP connection cannot be established, the OS-wide TCP connection timeout will + overrule the `timeout` option ([the default in Linux is around 20 seconds](http://www.sekuda.com/overriding_the_default_linux_kernel_20_second_tcp_socket_connect_timeout)). +- `localAddress` - Local interface to bind for network connections. +- `proxy` - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`) +- `strictSSL` - If `true`, requires SSL certificates be valid. **Note:** to use your own certificate authority, you need to specify an agent that was created with that CA as an option. +- `agentOptions` - Object containing user agent options. See documentation above. **Note:** [see tls API doc for TLS/SSL options](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback). +- `tunnel` - controls the behavior of + [HTTP `CONNECT` tunneling](https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_tunneling) + as follows: + - `undefined` (default) - `true` if the destination is `https` or a previous + request in the redirect chain used a tunneling proxy, `false` otherwise + - `true` - always tunnel to the destination by making a `CONNECT` request to + the proxy + - `false` - request the destination as a `GET` request. +- `proxyHeaderWhiteList` - A whitelist of headers to send to a + tunneling proxy. +- `proxyHeaderExclusiveList` - A whitelist of headers to send + exclusively to a tunneling proxy and not to destination. +- `removeRefererHeader` - removes the referer header when a redirect happens (default: `false`). + +--- + +- `time` - If `true`, the request-response cycle (including all redirects) is timed at millisecond resolution, and the result provided on the response's `elapsedTime` property. + +--- + +- `har` - A [HAR 1.2 Request Object](http://www.softwareishard.com/blog/har-12-spec/#request), will be processed from HAR format into options overwriting matching values *(see the [HAR 1.2 section](#support-for-har-1.2) for details)* + +The callback argument gets 3 arguments: + +1. An `error` when applicable (usually from [`http.ClientRequest`](http://nodejs.org/api/http.html#http_class_http_clientrequest) object) +2. An [`http.IncomingMessage`](http://nodejs.org/api/http.html#http_http_incomingmessage) object +3. The third is the `response` body (`String` or `Buffer`, or JSON object if the `json` option is supplied) + +[back to top](#table-of-contents) + + +--- + +## Convenience methods + +There are also shorthand methods for different HTTP METHODs and some other conveniences. + + +### request.defaults(options) + +This method **returns a wrapper** around the normal request API that defaults +to whatever options you pass to it. + +**Note:** `request.defaults()` **does not** modify the global request API; +instead, it **returns a wrapper** that has your default settings applied to it. + +**Note:** You can call `.defaults()` on the wrapper that is returned from +`request.defaults` to add/override defaults that were previously defaulted. + +For example: +```js +//requests using baseRequest() will set the 'x-token' header +var baseRequest = request.defaults({ + headers: {x-token: 'my-token'} +}) + +//requests using specialRequest() will include the 'x-token' header set in +//baseRequest and will also include the 'special' header +var specialRequest = baseRequest.defaults({ + headers: {special: 'special value'} +}) +``` + +### request.put + +Same as `request()`, but defaults to `method: "PUT"`. + +```js +request.put(url) +``` + +### request.patch + +Same as `request()`, but defaults to `method: "PATCH"`. + +```js +request.patch(url) +``` + +### request.post + +Same as `request()`, but defaults to `method: "POST"`. + +```js +request.post(url) +``` + +### request.head + +Same as `request()`, but defaults to `method: "HEAD"`. + +```js +request.head(url) +``` + +### request.del + +Same as `request()`, but defaults to `method: "DELETE"`. + +```js +request.del(url) +``` + +### request.get + +Same as `request()` (for uniformity). + +```js +request.get(url) +``` +### request.cookie + +Function that creates a new cookie. + +```js +request.cookie('key1=value1') +``` +### request.jar() + +Function that creates a new cookie jar. + +```js +request.jar() +``` + +[back to top](#table-of-contents) + + +--- + + +## Debugging + +There are at least three ways to debug the operation of `request`: + +1. Launch the node process like `NODE_DEBUG=request node script.js` + (`lib,request,otherlib` works too). + +2. Set `require('request').debug = true` at any time (this does the same thing + as #1). + +3. Use the [request-debug module](https://github.com/nylen/request-debug) to + view request and response headers and bodies. + +[back to top](#table-of-contents) + + +--- + + +## Examples: + +```js + var request = require('request') + , rand = Math.floor(Math.random()*100000000).toString() + ; + request( + { method: 'PUT' + , uri: 'http://mikeal.iriscouch.com/testjs/' + rand + , multipart: + [ { 'content-type': 'application/json' + , body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}}) + } + , { body: 'I am an attachment' } + ] + } + , function (error, response, body) { + if(response.statusCode == 201){ + console.log('document saved as: http://mikeal.iriscouch.com/testjs/'+ rand) + } else { + console.log('error: '+ response.statusCode) + console.log(body) + } + } + ) +``` + +For backwards-compatibility, response compression is not supported by default. +To accept gzip-compressed responses, set the `gzip` option to `true`. Note +that the body data passed through `request` is automatically decompressed +while the response object is unmodified and will contain compressed data if +the server sent a compressed response. + +```js + var request = require('request') + request( + { method: 'GET' + , uri: 'http://www.google.com' + , gzip: true + } + , function (error, response, body) { + // body is the decompressed response body + console.log('server encoded the data as: ' + (response.headers['content-encoding'] || 'identity')) + console.log('the decoded data is: ' + body) + } + ).on('data', function(data) { + // decompressed data as it is received + console.log('decoded chunk: ' + data) + }) + .on('response', function(response) { + // unmodified http.IncomingMessage object + response.on('data', function(data) { + // compressed data as it is received + console.log('received ' + data.length + ' bytes of compressed data') + }) + }) +``` + +Cookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`) and install `tough-cookie`. + +```js +var request = request.defaults({jar: true}) +request('http://www.google.com', function () { + request('http://images.google.com') +}) +``` + +To use a custom cookie jar (instead of `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`) + +```js +var j = request.jar() +var request = request.defaults({jar:j}) +request('http://www.google.com', function () { + request('http://images.google.com') +}) +``` + +OR + +```js +var j = request.jar(); +var cookie = request.cookie('key1=value1'); +var url = 'http://www.google.com'; +j.setCookie(cookie, url); +request({url: url, jar: j}, function () { + request('http://images.google.com') +}) +``` + +To use a custom cookie store (such as a +[`FileCookieStore`](https://github.com/mitsuru/tough-cookie-filestore) +which supports saving to and restoring from JSON files), pass it as a parameter +to `request.jar()`: + +```js +var FileCookieStore = require('tough-cookie-filestore'); +// NOTE - currently the 'cookies.json' file must already exist! +var j = request.jar(new FileCookieStore('cookies.json')); +request = request.defaults({ jar : j }) +request('http://www.google.com', function() { + request('http://images.google.com') +}) +``` + +The cookie store must be a +[`tough-cookie`](https://github.com/goinstant/tough-cookie) +store and it must support synchronous operations; see the +[`CookieStore` API docs](https://github.com/goinstant/tough-cookie/#cookiestore-api) +for details. + +To inspect your cookie jar after a request: + +```js +var j = request.jar() +request({url: 'http://www.google.com', jar: j}, function () { + var cookie_string = j.getCookieString(uri); // "key1=value1; key2=value2; ..." + var cookies = j.getCookies(uri); + // [{key: 'key1', value: 'value1', domain: "www.google.com", ...}, ...] +}) +``` + +[back to top](#table-of-contents) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/disabled.appveyor.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/request/disabled.appveyor.yml new file mode 100644 index 0000000..238f3d6 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/disabled.appveyor.yml @@ -0,0 +1,36 @@ +# http://www.appveyor.com/docs/appveyor-yml + +# Fix line endings in Windows. (runs before repo cloning) +init: + - git config --global core.autocrlf input + +# Test against these versions of Node.js. +environment: + matrix: + - nodejs_version: "0.10" + - nodejs_version: "0.8" + - nodejs_version: "0.11" + +# Allow failing jobs for bleeding-edge Node.js versions. +matrix: + allow_failures: + - nodejs_version: "0.11" + +# Install scripts. (runs after repo cloning) +install: + # Get the latest stable version of Node 0.STABLE.latest + - ps: Update-NodeJsInstallation (Get-NodeJsLatestBuild $env:nodejs_version) + # Typical npm stuff. + - npm install + +# Post-install test scripts. +test_script: + # Output useful info for debugging. + - ps: "npm test # PowerShell" # Pass comment to PS for easier debugging + - cmd: npm test + +# Don't actually build. +build: off + +# Set build version format here instead of in the admin panel. +version: "{build}" diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/examples/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/request/examples/README.md new file mode 100644 index 0000000..526d71b --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/examples/README.md @@ -0,0 +1,115 @@ + +# Authentication + +## OAuth + +### OAuth1.0 Refresh Token + +- http://oauth.googlecode.com/svn/spec/ext/session/1.0/drafts/1/spec.html#anchor4 +- https://developer.yahoo.com/oauth/guide/oauth-refreshaccesstoken.html + +```js +request.post('https://api.login.yahoo.com/oauth/v2/get_token', { + oauth: { + consumer_key: '...', + consumer_secret: '...', + token: '...', + token_secret: '...', + session_handle: '...' + } +}, function (err, res, body) { + var result = require('querystring').parse(body) + // assert.equal(typeof result, 'object') +}) +``` + +### OAuth2 Refresh Token + +- https://tools.ietf.org/html/draft-ietf-oauth-v2-31#section-6 + +```js +request.post('https://accounts.google.com/o/oauth2/token', { + form: { + grant_type: 'refresh_token', + client_id: '...', + client_secret: '...', + refresh_token: '...' + }, + json: true +}, function (err, res, body) { + // assert.equal(typeof body, 'object') +}) +``` + +# Multipart + +## multipart/form-data + +### Flickr Image Upload + +- https://www.flickr.com/services/api/upload.api.html + +```js +request.post('https://up.flickr.com/services/upload', { + oauth: { + consumer_key: '...', + consumer_secret: '...', + token: '...', + token_secret: '...' + }, + // all meta data should be included here for proper signing + qs: { + title: 'My cat is awesome', + description: 'Sent on ' + new Date(), + is_public: 1 + }, + // again the same meta data + the actual photo + formData: { + title: 'My cat is awesome', + description: 'Sent on ' + new Date(), + is_public: 1, + photo:fs.createReadStream('cat.png') + }, + json: true +}, function (err, res, body) { + // assert.equal(typeof body, 'object') +}) +``` + +# Streams + +## `POST` data + +Use Request as a Writable stream to easily `POST` Readable streams (like files, other HTTP requests, or otherwise). + +TL;DR: Pipe a Readable Stream onto Request via: + +``` +READABLE.pipe(request.post(URL)); +``` + +A more detailed example: + +```js +var fs = require('fs') + , path = require('path') + , http = require('http') + , request = require('request') + , TMP_FILE_PATH = path.join(path.sep, 'tmp', 'foo') +; + +// write a temporary file: +fs.writeFileSync(TMP_FILE_PATH, 'foo bar baz quk\n'); + +http.createServer(function(req, res) { + console.log('the server is receiving data!\n'); + req + .on('end', res.end.bind(res)) + .pipe(process.stdout) + ; +}).listen(3000).unref(); + +fs.createReadStream(TMP_FILE_PATH) + .pipe(request.post('http://127.0.0.1:3000')) +; +``` diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/index.js new file mode 100644 index 0000000..3474840 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/index.js @@ -0,0 +1,154 @@ +// Copyright 2010-2012 Mikeal Rogers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict' + +var extend = require('util')._extend + , cookies = require('./lib/cookies') + , helpers = require('./lib/helpers') + +var isFunction = helpers.isFunction + , paramsHaveRequestBody = helpers.paramsHaveRequestBody + + +// organize params for patch, post, put, head, del +function initParams(uri, options, callback) { + if (typeof options === 'function') { + callback = options + } + + var params = {} + if (typeof options === 'object') { + params = extend({}, options) + params = extend(params, {uri: uri}) + } else if (typeof uri === 'string') { + params = extend({}, {uri: uri}) + } else { + params = extend({}, uri) + } + + params.callback = callback + return params +} + +function request (uri, options, callback) { + if (typeof uri === 'undefined') { + throw new Error('undefined is not a valid uri or options object.') + } + + var params = initParams(uri, options, callback) + + if (params.method === 'HEAD' && paramsHaveRequestBody(params)) { + throw new Error('HTTP HEAD requests MUST NOT include a request body.') + } + + return new request.Request(params) +} + +var verbs = ['get', 'head', 'post', 'put', 'patch', 'del'] + +verbs.forEach(function(verb) { + var method = verb === 'del' ? 'DELETE' : verb.toUpperCase() + request[verb] = function (uri, options, callback) { + var params = initParams(uri, options, callback) + params.method = method + return request(params, params.callback) + } +}) + +request.jar = function (store) { + return cookies.jar(store) +} + +request.cookie = function (str) { + return cookies.parse(str) +} + +function wrapRequestMethod (method, options, requester) { + + return function (uri, opts, callback) { + var params = initParams(uri, opts, callback) + + var headerlessOptions = extend({}, options) + delete headerlessOptions.headers + params = extend(headerlessOptions, params) + + if (options.headers) { + var headers = extend({}, options.headers) + params.headers = extend(headers, params.headers) + } + + if (typeof method === 'string') { + params.method = (method === 'del' ? 'DELETE' : method.toUpperCase()) + method = request[method] + } + + if (isFunction(requester)) { + method = requester + } + + return method(params, params.callback) + } +} + +request.defaults = function (options, requester) { + var self = this + + if (typeof options === 'function') { + requester = options + options = {} + } + + var defaults = wrapRequestMethod(self, options, requester) + + var verbs = ['get', 'head', 'post', 'put', 'patch', 'del'] + verbs.forEach(function(verb) { + defaults[verb] = wrapRequestMethod(verb, options, requester) + }) + + defaults.cookie = wrapRequestMethod(self.cookie, options, requester) + defaults.jar = self.jar + defaults.defaults = self.defaults + return defaults +} + +request.forever = function (agentOptions, optionsArg) { + var options = {} + if (optionsArg) { + options = extend({}, optionsArg) + } + if (agentOptions) { + options.agentOptions = agentOptions + } + + options.forever = true + return request.defaults(options) +} + +// Exports + +module.exports = request +request.Request = require('./request') +request.initParams = initParams + +// Backwards compatibility for request.debug +Object.defineProperty(request, 'debug', { + enumerable : true, + get : function() { + return request.Request.debug + }, + set : function(debug) { + request.Request.debug = debug + } +}) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/auth.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/auth.js new file mode 100644 index 0000000..13c3ac8 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/auth.js @@ -0,0 +1,153 @@ +'use strict' + +var caseless = require('caseless') + , uuid = require('node-uuid') + , helpers = require('./helpers') + +var md5 = helpers.md5 + , toBase64 = helpers.toBase64 + + +function Auth (request) { + // define all public properties here + this.request = request + this.hasAuth = false + this.sentAuth = false + this.bearerToken = null + this.user = null + this.pass = null +} + +Auth.prototype.basic = function (user, pass, sendImmediately) { + var self = this + if (typeof user !== 'string' || (pass !== undefined && typeof pass !== 'string')) { + throw new Error('auth() received invalid user or password') + } + self.user = user + self.pass = pass + self.hasAuth = true + var header = user + ':' + (pass || '') + if (sendImmediately || typeof sendImmediately === 'undefined') { + var authHeader = 'Basic ' + toBase64(header) + self.sentAuth = true + return authHeader + } +} + +Auth.prototype.bearer = function (bearer, sendImmediately) { + var self = this + self.bearerToken = bearer + self.hasAuth = true + if (sendImmediately || typeof sendImmediately === 'undefined') { + if (typeof bearer === 'function') { + bearer = bearer() + } + var authHeader = 'Bearer ' + (bearer || '') + self.sentAuth = true + return authHeader + } +} + +Auth.prototype.digest = function (method, path, authHeader) { + // TODO: More complete implementation of RFC 2617. + // - check challenge.algorithm + // - support algorithm="MD5-sess" + // - handle challenge.domain + // - support qop="auth-int" only + // - handle Authentication-Info (not necessarily?) + // - check challenge.stale (not necessarily?) + // - increase nc (not necessarily?) + // For reference: + // http://tools.ietf.org/html/rfc2617#section-3 + // https://github.com/bagder/curl/blob/master/lib/http_digest.c + + var self = this + + var challenge = {} + var re = /([a-z0-9_-]+)=(?:"([^"]+)"|([a-z0-9_-]+))/gi + for (;;) { + var match = re.exec(authHeader) + if (!match) { + break + } + challenge[match[1]] = match[2] || match[3] + } + + var ha1 = md5(self.user + ':' + challenge.realm + ':' + self.pass) + var ha2 = md5(method + ':' + path) + var qop = /(^|,)\s*auth\s*($|,)/.test(challenge.qop) && 'auth' + var nc = qop && '00000001' + var cnonce = qop && uuid().replace(/-/g, '') + var digestResponse = qop + ? md5(ha1 + ':' + challenge.nonce + ':' + nc + ':' + cnonce + ':' + qop + ':' + ha2) + : md5(ha1 + ':' + challenge.nonce + ':' + ha2) + var authValues = { + username: self.user, + realm: challenge.realm, + nonce: challenge.nonce, + uri: path, + qop: qop, + response: digestResponse, + nc: nc, + cnonce: cnonce, + algorithm: challenge.algorithm, + opaque: challenge.opaque + } + + authHeader = [] + for (var k in authValues) { + if (authValues[k]) { + if (k === 'qop' || k === 'nc' || k === 'algorithm') { + authHeader.push(k + '=' + authValues[k]) + } else { + authHeader.push(k + '="' + authValues[k] + '"') + } + } + } + authHeader = 'Digest ' + authHeader.join(', ') + self.sentAuth = true + return authHeader +} + +Auth.prototype.onRequest = function (user, pass, sendImmediately, bearer) { + var self = this + , request = self.request + + var authHeader + if (bearer === undefined && user === undefined) { + throw new Error('no auth mechanism defined') + } else if (bearer !== undefined) { + authHeader = self.bearer(bearer, sendImmediately) + } else { + authHeader = self.basic(user, pass, sendImmediately) + } + if (authHeader) { + request.setHeader('authorization', authHeader) + } +} + +Auth.prototype.onResponse = function (response) { + var self = this + , request = self.request + + if (!self.hasAuth || self.sentAuth) { return null } + + var c = caseless(response.headers) + + var authHeader = c.get('www-authenticate') + var authVerb = authHeader && authHeader.split(' ')[0].toLowerCase() + // debug('reauth', authVerb) + + switch (authVerb) { + case 'basic': + return self.basic(self.user, self.pass, true) + + case 'bearer': + return self.bearer(self.bearerToken, true) + + case 'digest': + return self.digest(request.method, request.path, authHeader) + } +} + +exports.Auth = Auth diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/cookies.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/cookies.js new file mode 100644 index 0000000..adde7c6 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/cookies.js @@ -0,0 +1,39 @@ +'use strict' + +var tough = require('tough-cookie') + +var Cookie = tough.Cookie + , CookieJar = tough.CookieJar + + +exports.parse = function(str) { + if (str && str.uri) { + str = str.uri + } + if (typeof str !== 'string') { + throw new Error('The cookie function only accepts STRING as param') + } + return Cookie.parse(str) +} + +// Adapt the sometimes-Async api of tough.CookieJar to our requirements +function RequestJar(store) { + var self = this + self._jar = new CookieJar(store) +} +RequestJar.prototype.setCookie = function(cookieOrStr, uri, options) { + var self = this + return self._jar.setCookieSync(cookieOrStr, uri, options || {}) +} +RequestJar.prototype.getCookieString = function(uri) { + var self = this + return self._jar.getCookieStringSync(uri) +} +RequestJar.prototype.getCookies = function(uri) { + var self = this + return self._jar.getCookiesSync(uri) +} + +exports.jar = function(store) { + return new RequestJar(store) +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/copy.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/copy.js new file mode 100644 index 0000000..ad162a5 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/copy.js @@ -0,0 +1,10 @@ +'use strict' + +module.exports = +function copy (obj) { + var o = {} + Object.keys(obj).forEach(function (i) { + o[i] = obj[i] + }) + return o +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/getProxyFromURI.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/getProxyFromURI.js new file mode 100644 index 0000000..c2013a6 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/getProxyFromURI.js @@ -0,0 +1,79 @@ +'use strict' + +function formatHostname(hostname) { + // canonicalize the hostname, so that 'oogle.com' won't match 'google.com' + return hostname.replace(/^\.*/, '.').toLowerCase() +} + +function parseNoProxyZone(zone) { + zone = zone.trim().toLowerCase() + + var zoneParts = zone.split(':', 2) + , zoneHost = formatHostname(zoneParts[0]) + , zonePort = zoneParts[1] + , hasPort = zone.indexOf(':') > -1 + + return {hostname: zoneHost, port: zonePort, hasPort: hasPort} +} + +function uriInNoProxy(uri, noProxy) { + var port = uri.port || (uri.protocol === 'https:' ? '443' : '80') + , hostname = formatHostname(uri.hostname) + , noProxyList = noProxy.split(',') + + // iterate through the noProxyList until it finds a match. + return noProxyList.map(parseNoProxyZone).some(function(noProxyZone) { + var isMatchedAt = hostname.indexOf(noProxyZone.hostname) + , hostnameMatched = ( + isMatchedAt > -1 && + (isMatchedAt === hostname.length - noProxyZone.hostname.length) + ) + + if (noProxyZone.hasPort) { + return (port === noProxyZone.port) && hostnameMatched + } + + return hostnameMatched + }) +} + +function getProxyFromURI(uri) { + // Decide the proper request proxy to use based on the request URI object and the + // environmental variables (NO_PROXY, HTTP_PROXY, etc.) + // respect NO_PROXY environment variables (see: http://lynx.isc.org/current/breakout/lynx_help/keystrokes/environments.html) + + var noProxy = process.env.NO_PROXY || process.env.no_proxy || '' + + // if the noProxy is a wildcard then return null + + if (noProxy === '*') { + return null + } + + // if the noProxy is not empty and the uri is found return null + + if (noProxy !== '' && uriInNoProxy(uri, noProxy)) { + return null + } + + // Check for HTTP or HTTPS Proxy in environment Else default to null + + if (uri.protocol === 'http:') { + return process.env.HTTP_PROXY || + process.env.http_proxy || null + } + + if (uri.protocol === 'https:') { + return process.env.HTTPS_PROXY || + process.env.https_proxy || + process.env.HTTP_PROXY || + process.env.http_proxy || null + } + + // if none of that works, return null + // (What uri protocol are you using then?) + + return null +} + +module.exports = getProxyFromURI diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/har.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/har.js new file mode 100644 index 0000000..83453a3 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/har.js @@ -0,0 +1,205 @@ +'use strict' + +var fs = require('fs') +var qs = require('querystring') +var validate = require('har-validator') +var util = require('util') + +function Har (request) { + this.request = request +} + +Har.prototype.reducer = function (obj, pair) { + // new property ? + if (obj[pair.name] === undefined) { + obj[pair.name] = pair.value + return obj + } + + // existing? convert to array + var arr = [ + obj[pair.name], + pair.value + ] + + obj[pair.name] = arr + + return obj +} + +Har.prototype.prep = function (data) { + // construct utility properties + data.queryObj = {} + data.headersObj = {} + data.postData.jsonObj = false + data.postData.paramsObj = false + + // construct query objects + if (data.queryString && data.queryString.length) { + data.queryObj = data.queryString.reduce(this.reducer, {}) + } + + // construct headers objects + if (data.headers && data.headers.length) { + // loweCase header keys + data.headersObj = data.headers.reduceRight(function (headers, header) { + headers[header.name] = header.value + return headers + }, {}) + } + + // construct Cookie header + if (data.cookies && data.cookies.length) { + var cookies = data.cookies.map(function (cookie) { + return cookie.name + '=' + cookie.value + }) + + if (cookies.length) { + data.headersObj.cookie = cookies.join('; ') + } + } + + // prep body + switch (data.postData.mimeType) { + case 'multipart/mixed': + case 'multipart/related': + case 'multipart/form-data': + case 'multipart/alternative': + // reset values + data.postData.mimeType = 'multipart/form-data' + break + + case 'application/x-www-form-urlencoded': + if (!data.postData.params) { + data.postData.text = '' + } else { + data.postData.paramsObj = data.postData.params.reduce(this.reducer, {}) + + // always overwrite + data.postData.text = qs.stringify(data.postData.paramsObj) + } + break + + case 'text/json': + case 'text/x-json': + case 'application/json': + case 'application/x-json': + data.postData.mimeType = 'application/json' + + if (data.postData.text) { + try { + data.postData.jsonObj = JSON.parse(data.postData.text) + } catch (e) { + this.request.debug(e) + + // force back to text/plain + data.postData.mimeType = 'text/plain' + } + } + break + } + + return data +} + +Har.prototype.options = function (options) { + // skip if no har property defined + if (!options.har) { + return options + } + + var har = util._extend({}, options.har) + + // only process the first entry + if (har.log && har.log.entries) { + har = har.log.entries[0] + } + + // add optional properties to make validation successful + har.url = har.url || options.url || options.uri || options.baseUrl || '/' + har.httpVersion = har.httpVersion || 'HTTP/1.1' + har.queryString = har.queryString || [] + har.headers = har.headers || [] + har.cookies = har.cookies || [] + har.postData = har.postData || {} + har.postData.mimeType = har.postData.mimeType || 'application/octet-stream' + + har.bodySize = 0 + har.headersSize = 0 + har.postData.size = 0 + + if (!validate.request(har)) { + return options + } + + // clean up and get some utility properties + var req = this.prep(har) + + // construct new options + if (req.url) { + options.url = req.url + } + + if (req.method) { + options.method = req.method + } + + if (Object.keys(req.queryObj).length) { + options.qs = req.queryObj + } + + if (Object.keys(req.headersObj).length) { + options.headers = req.headersObj + } + + switch (req.postData.mimeType) { + case 'application/x-www-form-urlencoded': + options.form = req.postData.paramsObj + break + + case 'application/json': + if (req.postData.jsonObj) { + options.body = req.postData.jsonObj + options.json = true + } + break + + case 'multipart/form-data': + options.formData = {} + + req.postData.params.forEach(function (param) { + var attachment = {} + + if (!param.fileName && !param.fileName && !param.contentType) { + options.formData[param.name] = param.value + return + } + + // attempt to read from disk! + if (param.fileName && !param.value) { + attachment.value = fs.createReadStream(param.fileName) + } else if (param.value) { + attachment.value = param.value + } + + if (param.fileName) { + attachment.options = { + filename: param.fileName, + contentType: param.contentType ? param.contentType : null + } + } + + options.formData[param.name] = attachment + }) + break + + default: + if (req.postData.text) { + options.body = req.postData.text + } + } + + return options +} + +exports.Har = Har diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/helpers.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/helpers.js new file mode 100644 index 0000000..8530d40 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/helpers.js @@ -0,0 +1,55 @@ +'use strict' + +var jsonSafeStringify = require('json-stringify-safe') + , crypto = require('crypto') + +function deferMethod() { + if(typeof setImmediate === 'undefined') { + return process.nextTick + } + + return setImmediate +} + +function isFunction(value) { + return typeof value === 'function' +} + +function paramsHaveRequestBody(params) { + return ( + params.body || + params.requestBodyStream || + (params.json && typeof params.json !== 'boolean') || + params.multipart + ) +} + +function safeStringify (obj) { + var ret + try { + ret = JSON.stringify(obj) + } catch (e) { + ret = jsonSafeStringify(obj) + } + return ret +} + +function md5 (str) { + return crypto.createHash('md5').update(str).digest('hex') +} + +function isReadStream (rs) { + return rs.readable && rs.path && rs.mode +} + +function toBase64 (str) { + return (new Buffer(str || '', 'utf8')).toString('base64') +} + +exports.isFunction = isFunction +exports.paramsHaveRequestBody = paramsHaveRequestBody +exports.safeStringify = safeStringify +exports.md5 = md5 +exports.isReadStream = isReadStream +exports.toBase64 = toBase64 +exports.defer = deferMethod() diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/multipart.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/multipart.js new file mode 100644 index 0000000..905a54b --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/multipart.js @@ -0,0 +1,109 @@ +'use strict' + +var uuid = require('node-uuid') + , CombinedStream = require('combined-stream') + , isstream = require('isstream') + + +function Multipart (request) { + this.request = request + this.boundary = uuid() + this.chunked = false + this.body = null +} + +Multipart.prototype.isChunked = function (options) { + var self = this + , chunked = false + , parts = options.data || options + + if (!parts.forEach) { + throw new Error('Argument error, options.multipart.') + } + + if (options.chunked !== undefined) { + chunked = options.chunked + } + + if (self.request.getHeader('transfer-encoding') === 'chunked') { + chunked = true + } + + if (!chunked) { + parts.forEach(function (part) { + if(typeof part.body === 'undefined') { + throw new Error('Body attribute missing in multipart.') + } + if (isstream(part.body)) { + chunked = true + } + }) + } + + return chunked +} + +Multipart.prototype.setHeaders = function (chunked) { + var self = this + + if (chunked && !self.request.hasHeader('transfer-encoding')) { + self.request.setHeader('transfer-encoding', 'chunked') + } + + var header = self.request.getHeader('content-type') + + if (!header || header.indexOf('multipart') === -1) { + self.request.setHeader('content-type', 'multipart/related; boundary=' + self.boundary) + } else { + if (header.indexOf('boundary') !== -1) { + self.boundary = header.replace(/.*boundary=([^\s;]+).*/, '$1') + } else { + self.request.setHeader('content-type', header + '; boundary=' + self.boundary) + } + } +} + +Multipart.prototype.build = function (parts, chunked) { + var self = this + var body = chunked ? new CombinedStream() : [] + + function add (part) { + return chunked ? body.append(part) : body.push(new Buffer(part)) + } + + if (self.request.preambleCRLF) { + add('\r\n') + } + + parts.forEach(function (part) { + var preamble = '--' + self.boundary + '\r\n' + Object.keys(part).forEach(function (key) { + if (key === 'body') { return } + preamble += key + ': ' + part[key] + '\r\n' + }) + preamble += '\r\n' + add(preamble) + add(part.body) + add('\r\n') + }) + add('--' + self.boundary + '--') + + if (self.request.postambleCRLF) { + add('\r\n') + } + + return body +} + +Multipart.prototype.onRequest = function (options) { + var self = this + + var chunked = self.isChunked(options) + , parts = options.data || options + + self.setHeaders(chunked) + self.chunked = chunked + self.body = self.build(parts, chunked) +} + +exports.Multipart = Multipart diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/oauth.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/oauth.js new file mode 100644 index 0000000..fc1cac6 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/oauth.js @@ -0,0 +1,125 @@ +'use strict' + +var qs = require('qs') + , caseless = require('caseless') + , uuid = require('node-uuid') + , oauth = require('oauth-sign') + + +function OAuth (request) { + this.request = request +} + +OAuth.prototype.buildParams = function (_oauth, uri, method, query, form, qsLib) { + var oa = {} + for (var i in _oauth) { + oa['oauth_' + i] = _oauth[i] + } + if (!oa.oauth_version) { + oa.oauth_version = '1.0' + } + if (!oa.oauth_timestamp) { + oa.oauth_timestamp = Math.floor( Date.now() / 1000 ).toString() + } + if (!oa.oauth_nonce) { + oa.oauth_nonce = uuid().replace(/-/g, '') + } + if (!oa.oauth_signature_method) { + oa.oauth_signature_method = 'HMAC-SHA1' + } + + var consumer_secret_or_private_key = oa.oauth_consumer_secret || oa.oauth_private_key + delete oa.oauth_consumer_secret + delete oa.oauth_private_key + + var token_secret = oa.oauth_token_secret + delete oa.oauth_token_secret + + var realm = oa.oauth_realm + delete oa.oauth_realm + delete oa.oauth_transport_method + + var baseurl = uri.protocol + '//' + uri.host + uri.pathname + var params = qsLib.parse([].concat(query, form, qsLib.stringify(oa)).join('&')) + + oa.oauth_signature = oauth.sign( + oa.oauth_signature_method, + method, + baseurl, + params, + consumer_secret_or_private_key, + token_secret) + + if (realm) { + oa.realm = realm + } + + return oa +} + +OAuth.prototype.concatParams = function (oa, sep, wrap) { + wrap = wrap || '' + + var params = Object.keys(oa).filter(function (i) { + return i !== 'realm' && i !== 'oauth_signature' + }).sort() + + if (oa.realm) { + params.splice(0, 1, 'realm') + } + params.push('oauth_signature') + + return params.map(function (i) { + return i + '=' + wrap + oauth.rfc3986(oa[i]) + wrap + }).join(sep) +} + +OAuth.prototype.onRequest = function (_oauth) { + var self = this + , request = self.request + + var uri = request.uri || {} + , method = request.method || '' + , headers = caseless(request.headers) + , body = request.body || '' + , qsLib = request.qsLib || qs + + var form + , query + , contentType = headers.get('content-type') || '' + , formContentType = 'application/x-www-form-urlencoded' + , transport = _oauth.transport_method || 'header' + + if (contentType.slice(0, formContentType.length) === formContentType) { + contentType = formContentType + form = body + } + if (uri.query) { + query = uri.query + } + if (transport === 'body' && (method !== 'POST' || contentType !== formContentType)) { + throw new Error('oauth: transport_method of \'body\' requires \'POST\' ' + + 'and content-type \'' + formContentType + '\'') + } + + var oa = this.buildParams(_oauth, uri, method, query, form, qsLib) + + switch (transport) { + case 'header': + request.setHeader('Authorization', 'OAuth ' + this.concatParams(oa, ',', '"')) + break + + case 'query': + request.path = (query ? '&' : '?') + this.concatParams(oa, '&') + break + + case 'body': + request.body = (form ? form + '&' : '') + this.concatParams(oa, '&') + break + + default: + throw new Error('oauth: transport_method invalid') + } +} + +exports.OAuth = OAuth diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/redirect.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/redirect.js new file mode 100644 index 0000000..7dd6c25 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/redirect.js @@ -0,0 +1,154 @@ +'use strict' + +var url = require('url') +var isUrl = /^https?:/ + +function Redirect (request) { + this.request = request + this.followRedirect = true + this.followRedirects = true + this.followAllRedirects = false + this.allowRedirect = function () {return true} + this.maxRedirects = 10 + this.redirects = [] + this.redirectsFollowed = 0 + this.removeRefererHeader = false +} + +Redirect.prototype.onRequest = function () { + var self = this + , request = self.request + + if (request.maxRedirects !== undefined) { + self.maxRedirects = request.maxRedirects + } + if (typeof request.followRedirect === 'function') { + self.allowRedirect = request.followRedirect + } + if (request.followRedirect !== undefined) { + self.followRedirects = !!request.followRedirect + } + if (request.followAllRedirects !== undefined) { + self.followAllRedirects = request.followAllRedirects + } + if (self.followRedirects || self.followAllRedirects) { + self.redirects = self.redirects || [] + } + if (request.removeRefererHeader !== undefined) { + self.removeRefererHeader = request.removeRefererHeader + } +} + +Redirect.prototype.redirectTo = function (response) { + var self = this + , request = self.request + + var redirectTo = null + if (response.statusCode >= 300 && response.statusCode < 400 && response.caseless.has('location')) { + var location = response.caseless.get('location') + // debug('redirect', location) + + if (self.followAllRedirects) { + redirectTo = location + } else if (self.followRedirects) { + switch (request.method) { + case 'PATCH': + case 'PUT': + case 'POST': + case 'DELETE': + // Do not follow redirects + break + default: + redirectTo = location + break + } + } + } else if (response.statusCode === 401) { + var authHeader = request._auth.onResponse(response) + if (authHeader) { + request.setHeader('authorization', authHeader) + redirectTo = request.uri + } + } + return redirectTo +} + +Redirect.prototype.onResponse = function (response) { + var self = this + , request = self.request + + var redirectTo = self.redirectTo(response) + if (!redirectTo || !self.allowRedirect.call(request, response)) { + return false + } + + + // debug('redirect to', redirectTo) + + // ignore any potential response body. it cannot possibly be useful + // to us at this point. + if (request._paused) { + response.resume() + } + + if (self.redirectsFollowed >= self.maxRedirects) { + request.emit('error', new Error('Exceeded maxRedirects. Probably stuck in a redirect loop ' + request.uri.href)) + return false + } + self.redirectsFollowed += 1 + + if (!isUrl.test(redirectTo)) { + redirectTo = url.resolve(request.uri.href, redirectTo) + } + + var uriPrev = request.uri + request.uri = url.parse(redirectTo) + + // handle the case where we change protocol from https to http or vice versa + if (request.uri.protocol !== uriPrev.protocol) { + request._updateProtocol() + } + + self.redirects.push( + { statusCode : response.statusCode + , redirectUri: redirectTo + } + ) + if (self.followAllRedirects && response.statusCode !== 401 && response.statusCode !== 307) { + request.method = 'GET' + } + // request.method = 'GET' // Force all redirects to use GET || commented out fixes #215 + delete request.src + delete request.req + delete request.agent + delete request._started + if (response.statusCode !== 401 && response.statusCode !== 307) { + // Remove parameters from the previous response, unless this is the second request + // for a server that requires digest authentication. + delete request.body + delete request._form + if (request.headers) { + request.removeHeader('host') + request.removeHeader('content-type') + request.removeHeader('content-length') + if (request.uri.hostname !== request.originalHost.split(':')[0]) { + // Remove authorization if changing hostnames (but not if just + // changing ports or protocols). This matches the behavior of curl: + // https://github.com/bagder/curl/blob/6beb0eee/lib/http.c#L710 + request.removeHeader('authorization') + } + } + } + + if (!self.removeRefererHeader) { + request.setHeader('referer', request.uri.href) + } + + request.emit('redirect') + + request.init() + + return true +} + +exports.Redirect = Redirect diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/request/package.json new file mode 100644 index 0000000..6c02bf5 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/package.json @@ -0,0 +1,97 @@ +{ + "_from": "request@2.55.0", + "_id": "request@2.55.0", + "_inBundle": false, + "_integrity": "sha1-11wc32eddrsQD5v/4f5VG1wk6T0=", + "_location": "/request", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "request@2.55.0", + "name": "request", + "escapedName": "request", + "rawSpec": "2.55.0", + "saveSpec": null, + "fetchSpec": "2.55.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/request/-/request-2.55.0.tgz", + "_shasum": "d75c1cdf679d76bb100f9bffe1fe551b5c24e93d", + "_spec": "request@2.55.0", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity", + "author": { + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com" + }, + "bugs": { + "url": "http://github.com/request/request/issues" + }, + "bundleDependencies": false, + "dependencies": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.9.0", + "combined-stream": "~0.0.5", + "forever-agent": "~0.6.0", + "form-data": "~0.2.0", + "har-validator": "^1.4.0", + "hawk": "~2.3.0", + "http-signature": "~0.10.0", + "isstream": "~0.1.1", + "json-stringify-safe": "~5.0.0", + "mime-types": "~2.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.6.0", + "qs": "~2.4.0", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + }, + "deprecated": false, + "description": "Simplified HTTP request client.", + "devDependencies": { + "bluebird": "~2.9.21", + "browserify": "~5.9.1", + "browserify-istanbul": "~0.1.3", + "coveralls": "~2.11.2", + "eslint": "0.17.1", + "function-bind": "~1.0.0", + "istanbul": "~0.3.2", + "karma": "~0.12.21", + "karma-browserify": "~3.0.1", + "karma-cli": "0.0.4", + "karma-coverage": "0.2.6", + "karma-phantomjs-launcher": "~0.1.4", + "karma-tap": "~1.0.1", + "rimraf": "~2.2.8", + "server-destroy": "~1.0.0", + "tape": "~3.0.0", + "taper": "~0.4.0" + }, + "engines": { + "node": ">=0.8.0" + }, + "homepage": "https://github.com/request/request#readme", + "license": "Apache-2.0", + "main": "index.js", + "name": "request", + "repository": { + "type": "git", + "url": "git+https://github.com/request/request.git" + }, + "scripts": { + "lint": "node node_modules/.bin/eslint lib/ *.js tests/ && echo Lint passed.", + "test": "npm run lint && node node_modules/.bin/taper tests/test-*.js && npm run test-browser", + "test-browser": "node tests/browser/start.js" + }, + "tags": [ + "http", + "simple", + "util", + "utility" + ], + "version": "2.55.0" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/release.sh b/netatmo-security-connector/NetatmoSecurity/node_modules/request/release.sh new file mode 100644 index 0000000..7678bf8 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/release.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +if [ -z "`which github-changes`" ]; then + # specify version because github-changes "is under heavy development. Things + # may break between releases" until 0.1.0 + echo "First, do: [sudo] npm install -g github-changes@0.0.14" + exit 1 +fi + +if [ -d .git/refs/remotes/upstream ]; then + remote=upstream +else + remote=origin +fi + +# Increment v2.x.y -> v2.x+1.0 +npm version minor || exit 1 + +# Generate changelog from pull requests +github-changes -o request -r request \ + --auth --verbose \ + --file CHANGELOG.md \ + --only-pulls --use-commit-body \ + --date-format '(YYYY/MM/DD)' \ + || exit 1 + +# Since the tag for the new version hasn't been pushed yet, any changes in it +# will be marked as "upcoming" +version="$(grep '"version"' package.json | cut -d'"' -f4)" +sed -i -e "s/^### upcoming/### v$version/" CHANGELOG.md + +# This may fail if no changelog updates +# TODO: would this ever actually happen? handle it better? +git add CHANGELOG.md; git commit -m 'Update changelog' + +# Publish the new version to npm +npm publish || exit 1 + +# Increment v2.x.0 -> v2.x.1 +# For rationale, see: +# https://github.com/request/oauth-sign/issues/10#issuecomment-58917018 +npm version patch || exit 1 + +# Push back to the main repo +git push $remote master --tags || exit 1 diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/request.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/request.js new file mode 100644 index 0000000..5f8f268 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/request/request.js @@ -0,0 +1,1569 @@ +'use strict' + +var http = require('http') + , https = require('https') + , url = require('url') + , util = require('util') + , stream = require('stream') + , qs = require('qs') + , querystring = require('querystring') + , zlib = require('zlib') + , helpers = require('./lib/helpers') + , bl = require('bl') + , hawk = require('hawk') + , aws = require('aws-sign2') + , httpSignature = require('http-signature') + , mime = require('mime-types') + , tunnel = require('tunnel-agent') + , stringstream = require('stringstream') + , caseless = require('caseless') + , ForeverAgent = require('forever-agent') + , FormData = require('form-data') + , cookies = require('./lib/cookies') + , copy = require('./lib/copy') + , getProxyFromURI = require('./lib/getProxyFromURI') + , Har = require('./lib/har').Har + , Auth = require('./lib/auth').Auth + , OAuth = require('./lib/oauth').OAuth + , Multipart = require('./lib/multipart').Multipart + , Redirect = require('./lib/redirect').Redirect + +var safeStringify = helpers.safeStringify + , isReadStream = helpers.isReadStream + , toBase64 = helpers.toBase64 + , defer = helpers.defer + , globalCookieJar = cookies.jar() + + +var globalPool = {} + +var defaultProxyHeaderWhiteList = [ + 'accept', + 'accept-charset', + 'accept-encoding', + 'accept-language', + 'accept-ranges', + 'cache-control', + 'content-encoding', + 'content-language', + 'content-length', + 'content-location', + 'content-md5', + 'content-range', + 'content-type', + 'connection', + 'date', + 'expect', + 'max-forwards', + 'pragma', + 'referer', + 'te', + 'transfer-encoding', + 'user-agent', + 'via' +] + +var defaultProxyHeaderExclusiveList = [ + 'proxy-authorization' +] + +function filterForNonReserved(reserved, options) { + // Filter out properties that are not reserved. + // Reserved values are passed in at call site. + + var object = {} + for (var i in options) { + var notReserved = (reserved.indexOf(i) === -1) + if (notReserved) { + object[i] = options[i] + } + } + return object +} + +function filterOutReservedFunctions(reserved, options) { + // Filter out properties that are functions and are reserved. + // Reserved values are passed in at call site. + + var object = {} + for (var i in options) { + var isReserved = !(reserved.indexOf(i) === -1) + var isFunction = (typeof options[i] === 'function') + if (!(isReserved && isFunction)) { + object[i] = options[i] + } + } + return object + +} + +function constructProxyHost(uriObject) { + var port = uriObject.portA + , protocol = uriObject.protocol + , proxyHost = uriObject.hostname + ':' + + if (port) { + proxyHost += port + } else if (protocol === 'https:') { + proxyHost += '443' + } else { + proxyHost += '80' + } + + return proxyHost +} + +function constructProxyHeaderWhiteList(headers, proxyHeaderWhiteList) { + var whiteList = proxyHeaderWhiteList + .reduce(function (set, header) { + set[header.toLowerCase()] = true + return set + }, {}) + + return Object.keys(headers) + .filter(function (header) { + return whiteList[header.toLowerCase()] + }) + .reduce(function (set, header) { + set[header] = headers[header] + return set + }, {}) +} + +function getTunnelOption(self, options) { + // Tunnel HTTPS by default, or if a previous request in the redirect chain + // was tunneled. Allow the user to override this setting. + + // If self.tunnel is already set (because this is a redirect), use the + // existing value. + if (typeof self.tunnel !== 'undefined') { + return self.tunnel + } + + // If options.tunnel is set (the user specified a value), use it. + if (typeof options.tunnel !== 'undefined') { + return options.tunnel + } + + // If the destination is HTTPS, tunnel. + if (self.uri.protocol === 'https:') { + return true + } + + // Otherwise, leave tunnel unset, because if a later request in the redirect + // chain is HTTPS then that request (and any subsequent ones) should be + // tunneled. + return undefined +} + +function constructTunnelOptions(request) { + var proxy = request.proxy + + var tunnelOptions = { + proxy : { + host : proxy.hostname, + port : +proxy.port, + proxyAuth : proxy.auth, + headers : request.proxyHeaders + }, + headers : request.headers, + ca : request.ca, + cert : request.cert, + key : request.key, + passphrase : request.passphrase, + pfx : request.pfx, + ciphers : request.ciphers, + rejectUnauthorized : request.rejectUnauthorized, + secureOptions : request.secureOptions, + secureProtocol : request.secureProtocol + } + + return tunnelOptions +} + +function constructTunnelFnName(uri, proxy) { + var uriProtocol = (uri.protocol === 'https:' ? 'https' : 'http') + var proxyProtocol = (proxy.protocol === 'https:' ? 'Https' : 'Http') + return [uriProtocol, proxyProtocol].join('Over') +} + +function getTunnelFn(request) { + var uri = request.uri + var proxy = request.proxy + var tunnelFnName = constructTunnelFnName(uri, proxy) + return tunnel[tunnelFnName] +} + +// Function for properly handling a connection error +function connectionErrorHandler(error) { + var socket = this + if (socket.res) { + if (socket.res.request) { + socket.res.request.emit('error', error) + } else { + socket.res.emit('error', error) + } + } else { + socket._httpMessage.emit('error', error) + } +} + +// Return a simpler request object to allow serialization +function requestToJSON() { + var self = this + return { + uri: self.uri, + method: self.method, + headers: self.headers + } +} + +// Return a simpler response object to allow serialization +function responseToJSON() { + var self = this + return { + statusCode: self.statusCode, + body: self.body, + headers: self.headers, + request: requestToJSON.call(self.request) + } +} + +// encode rfc3986 characters +function rfc3986 (str) { + return str.replace(/[!'()*]/g, function(c) { + return '%' + c.charCodeAt(0).toString(16).toUpperCase() + }) +} + +function Request (options) { + // if given the method property in options, set property explicitMethod to true + + // extend the Request instance with any non-reserved properties + // remove any reserved functions from the options object + // set Request instance to be readable and writable + // call init + + var self = this + + // start with HAR, then override with additional options + if (options.har) { + self._har = new Har(self) + options = self._har.options(options) + } + + stream.Stream.call(self) + var reserved = Object.keys(Request.prototype) + var nonReserved = filterForNonReserved(reserved, options) + + stream.Stream.call(self) + util._extend(self, nonReserved) + options = filterOutReservedFunctions(reserved, options) + + self.readable = true + self.writable = true + if (options.method) { + self.explicitMethod = true + } + self._auth = new Auth(self) + self._oauth = new OAuth(self) + self._multipart = new Multipart(self) + self._redirect = new Redirect(self) + self.init(options) +} + +util.inherits(Request, stream.Stream) + +// Debugging +Request.debug = process.env.NODE_DEBUG && /\brequest\b/.test(process.env.NODE_DEBUG) +function debug() { + if (Request.debug) { + console.error('REQUEST %s', util.format.apply(util, arguments)) + } +} + +Request.prototype.setupTunnel = function () { + var self = this + + if (typeof self.proxy === 'string') { + self.proxy = url.parse(self.proxy) + } + + if (!self.proxy || !self.tunnel) { + return false + } + + // Setup Proxy Header Exclusive List and White List + self.proxyHeaderExclusiveList = self.proxyHeaderExclusiveList || [] + self.proxyHeaderWhiteList = self.proxyHeaderWhiteList || defaultProxyHeaderWhiteList + var proxyHeaderExclusiveList = self.proxyHeaderExclusiveList.concat(defaultProxyHeaderExclusiveList) + var proxyHeaderWhiteList = self.proxyHeaderWhiteList.concat(proxyHeaderExclusiveList) + + // Setup Proxy Headers and Proxy Headers Host + // Only send the Proxy White Listed Header names + self.proxyHeaders = constructProxyHeaderWhiteList(self.headers, proxyHeaderWhiteList) + self.proxyHeaders.host = constructProxyHost(self.uri) + proxyHeaderExclusiveList.forEach(self.removeHeader, self) + + // Set Agent from Tunnel Data + var tunnelFn = getTunnelFn(self) + var tunnelOptions = constructTunnelOptions(self) + self.agent = tunnelFn(tunnelOptions) + + return true +} + +Request.prototype.init = function (options) { + // init() contains all the code to setup the request object. + // the actual outgoing request is not started until start() is called + // this function is called from both the constructor and on redirect. + var self = this + if (!options) { + options = {} + } + self.headers = self.headers ? copy(self.headers) : {} + + // Delete headers with value undefined since they break + // ClientRequest.OutgoingMessage.setHeader in node 0.12 + for (var headerName in self.headers) { + if (typeof self.headers[headerName] === 'undefined') { + delete self.headers[headerName] + } + } + + caseless.httpify(self, self.headers) + + if (!self.method) { + self.method = options.method || 'GET' + } + if (!self.localAddress) { + self.localAddress = options.localAddress + } + + if (!self.qsLib) { + self.qsLib = (options.useQuerystring ? querystring : qs) + } + if (!self.qsParseOptions) { + self.qsParseOptions = options.qsParseOptions + } + if (!self.qsStringifyOptions) { + self.qsStringifyOptions = options.qsStringifyOptions + } + + debug(options) + if (!self.pool && self.pool !== false) { + self.pool = globalPool + } + self.dests = self.dests || [] + self.__isRequestRequest = true + + // Protect against double callback + if (!self._callback && self.callback) { + self._callback = self.callback + self.callback = function () { + if (self._callbackCalled) { + return // Print a warning maybe? + } + self._callbackCalled = true + self._callback.apply(self, arguments) + } + self.on('error', self.callback.bind()) + self.on('complete', self.callback.bind(self, null)) + } + + // People use this property instead all the time, so support it + if (!self.uri && self.url) { + self.uri = self.url + delete self.url + } + + // If there's a baseUrl, then use it as the base URL (i.e. uri must be + // specified as a relative path and is appended to baseUrl). + if (self.baseUrl) { + if (typeof self.baseUrl !== 'string') { + return self.emit('error', new Error('options.baseUrl must be a string')) + } + + if (typeof self.uri !== 'string') { + return self.emit('error', new Error('options.uri must be a string when using options.baseUrl')) + } + + if (self.uri.indexOf('//') === 0 || self.uri.indexOf('://') !== -1) { + return self.emit('error', new Error('options.uri must be a path when using options.baseUrl')) + } + + // Handle all cases to make sure that there's only one slash between + // baseUrl and uri. + var baseUrlEndsWithSlash = self.baseUrl.lastIndexOf('/') === self.baseUrl.length - 1 + var uriStartsWithSlash = self.uri.indexOf('/') === 0 + + if (baseUrlEndsWithSlash && uriStartsWithSlash) { + self.uri = self.baseUrl + self.uri.slice(1) + } else if (baseUrlEndsWithSlash || uriStartsWithSlash) { + self.uri = self.baseUrl + self.uri + } else if (self.uri === '') { + self.uri = self.baseUrl + } else { + self.uri = self.baseUrl + '/' + self.uri + } + delete self.baseUrl + } + + // A URI is needed by this point, throw if we haven't been able to get one + if (!self.uri) { + return self.emit('error', new Error('options.uri is a required argument')) + } + + // If a string URI/URL was given, parse it into a URL object + if(typeof self.uri === 'string') { + self.uri = url.parse(self.uri) + } + + // DEPRECATED: Warning for users of the old Unix Sockets URL Scheme + if (self.uri.protocol === 'unix:') { + return self.emit('error', new Error('`unix://` URL scheme is no longer supported. Please use the format `http://unix:SOCKET:PATH`')) + } + + // Support Unix Sockets + if(self.uri.host === 'unix') { + // Get the socket & request paths from the URL + var unixParts = self.uri.path.split(':') + , host = unixParts[0] + , path = unixParts[1] + // Apply unix properties to request + self.socketPath = host + self.uri.pathname = path + self.uri.path = path + self.uri.host = host + self.uri.hostname = host + self.uri.isUnix = true + } + + if (self.strictSSL === false) { + self.rejectUnauthorized = false + } + + if(!self.hasOwnProperty('proxy')) { + self.proxy = getProxyFromURI(self.uri) + } + + self.tunnel = getTunnelOption(self, options) + if (self.proxy) { + self.setupTunnel() + } + + if (!self.uri.pathname) {self.uri.pathname = '/'} + + if (!(self.uri.host || (self.uri.hostname && self.uri.port)) && !self.uri.isUnix) { + // Invalid URI: it may generate lot of bad errors, like 'TypeError: Cannot call method `indexOf` of undefined' in CookieJar + // Detect and reject it as soon as possible + var faultyUri = url.format(self.uri) + var message = 'Invalid URI "' + faultyUri + '"' + if (Object.keys(options).length === 0) { + // No option ? This can be the sign of a redirect + // As this is a case where the user cannot do anything (they didn't call request directly with this URL) + // they should be warned that it can be caused by a redirection (can save some hair) + message += '. This can be caused by a crappy redirection.' + } + // This error was fatal + return self.emit('error', new Error(message)) + } + + self._redirect.onRequest() + + self.setHost = false + if (!self.hasHeader('host')) { + var hostHeaderName = self.originalHostHeaderName || 'host' + self.setHeader(hostHeaderName, self.uri.hostname) + if (self.uri.port) { + if ( !(self.uri.port === 80 && self.uri.protocol === 'http:') && + !(self.uri.port === 443 && self.uri.protocol === 'https:') ) { + self.setHeader(hostHeaderName, self.getHeader('host') + (':' + self.uri.port) ) + } + } + self.setHost = true + } + + self.jar(self._jar || options.jar) + + if (!self.uri.port) { + if (self.uri.protocol === 'http:') {self.uri.port = 80} + else if (self.uri.protocol === 'https:') {self.uri.port = 443} + } + + if (self.proxy && !self.tunnel) { + self.port = self.proxy.port + self.host = self.proxy.hostname + } else { + self.port = self.uri.port + self.host = self.uri.hostname + } + + if (options.form) { + self.form(options.form) + } + + if (options.formData) { + var formData = options.formData + var requestForm = self.form() + var appendFormValue = function (key, value) { + if (value.hasOwnProperty('value') && value.hasOwnProperty('options')) { + requestForm.append(key, value.value, value.options) + } else { + requestForm.append(key, value) + } + } + for (var formKey in formData) { + if (formData.hasOwnProperty(formKey)) { + var formValue = formData[formKey] + if (formValue instanceof Array) { + for (var j = 0; j < formValue.length; j++) { + appendFormValue(formKey, formValue[j]) + } + } else { + appendFormValue(formKey, formValue) + } + } + } + } + + if (options.qs) { + self.qs(options.qs) + } + + if (self.uri.path) { + self.path = self.uri.path + } else { + self.path = self.uri.pathname + (self.uri.search || '') + } + + if (self.path.length === 0) { + self.path = '/' + } + + // Auth must happen last in case signing is dependent on other headers + if (options.oauth) { + self.oauth(options.oauth) + } + + if (options.aws) { + self.aws(options.aws) + } + + if (options.hawk) { + self.hawk(options.hawk) + } + + if (options.httpSignature) { + self.httpSignature(options.httpSignature) + } + + if (options.auth) { + if (Object.prototype.hasOwnProperty.call(options.auth, 'username')) { + options.auth.user = options.auth.username + } + if (Object.prototype.hasOwnProperty.call(options.auth, 'password')) { + options.auth.pass = options.auth.password + } + + self.auth( + options.auth.user, + options.auth.pass, + options.auth.sendImmediately, + options.auth.bearer + ) + } + + if (self.gzip && !self.hasHeader('accept-encoding')) { + self.setHeader('accept-encoding', 'gzip') + } + + if (self.uri.auth && !self.hasHeader('authorization')) { + var uriAuthPieces = self.uri.auth.split(':').map(function(item){ return querystring.unescape(item) }) + self.auth(uriAuthPieces[0], uriAuthPieces.slice(1).join(':'), true) + } + + if (!self.tunnel && self.proxy && self.proxy.auth && !self.hasHeader('proxy-authorization')) { + var proxyAuthPieces = self.proxy.auth.split(':').map(function(item){ + return querystring.unescape(item) + }) + var authHeader = 'Basic ' + toBase64(proxyAuthPieces.join(':')) + self.setHeader('proxy-authorization', authHeader) + } + + if (self.proxy && !self.tunnel) { + self.path = (self.uri.protocol + '//' + self.uri.host + self.path) + } + + if (options.json) { + self.json(options.json) + } + if (options.multipart) { + self.multipart(options.multipart) + } + + if (options.time) { + self.timing = true + self.elapsedTime = self.elapsedTime || 0 + } + + if (self.body) { + var length = 0 + if (!Buffer.isBuffer(self.body)) { + if (Array.isArray(self.body)) { + for (var i = 0; i < self.body.length; i++) { + length += self.body[i].length + } + } else { + self.body = new Buffer(self.body) + length = self.body.length + } + } else { + length = self.body.length + } + if (length) { + if (!self.hasHeader('content-length')) { + self.setHeader('content-length', length) + } + } else { + throw new Error('Argument error, options.body.') + } + } + + var protocol = self.proxy && !self.tunnel ? self.proxy.protocol : self.uri.protocol + , defaultModules = {'http:':http, 'https:':https} + , httpModules = self.httpModules || {} + + self.httpModule = httpModules[protocol] || defaultModules[protocol] + + if (!self.httpModule) { + return self.emit('error', new Error('Invalid protocol: ' + protocol)) + } + + if (options.ca) { + self.ca = options.ca + } + + if (!self.agent) { + if (options.agentOptions) { + self.agentOptions = options.agentOptions + } + + if (options.agentClass) { + self.agentClass = options.agentClass + } else if (options.forever) { + self.agentClass = protocol === 'http:' ? ForeverAgent : ForeverAgent.SSL + } else { + self.agentClass = self.httpModule.Agent + } + } + + if (self.pool === false) { + self.agent = false + } else { + self.agent = self.agent || self.getNewAgent() + } + + self.on('pipe', function (src) { + if (self.ntick && self._started) { + throw new Error('You cannot pipe to this stream after the outbound request has started.') + } + self.src = src + if (isReadStream(src)) { + if (!self.hasHeader('content-type')) { + self.setHeader('content-type', mime.lookup(src.path)) + } + } else { + if (src.headers) { + for (var i in src.headers) { + if (!self.hasHeader(i)) { + self.setHeader(i, src.headers[i]) + } + } + } + if (self._json && !self.hasHeader('content-type')) { + self.setHeader('content-type', 'application/json') + } + if (src.method && !self.explicitMethod) { + self.method = src.method + } + } + + // self.on('pipe', function () { + // console.error('You have already piped to this stream. Pipeing twice is likely to break the request.') + // }) + }) + + defer(function () { + if (self._aborted) { + return + } + + var end = function () { + if (self._form) { + if (!self._auth.hasAuth) { + self._form.pipe(self) + } + else if (self._auth.hasAuth && self._auth.sentAuth) { + self._form.pipe(self) + } + } + if (self._multipart && self._multipart.chunked) { + self._multipart.body.pipe(self) + } + if (self.body) { + if (Array.isArray(self.body)) { + self.body.forEach(function (part) { + self.write(part) + }) + } else { + self.write(self.body) + } + self.end() + } else if (self.requestBodyStream) { + console.warn('options.requestBodyStream is deprecated, please pass the request object to stream.pipe.') + self.requestBodyStream.pipe(self) + } else if (!self.src) { + if (self._auth.hasAuth && !self._auth.sentAuth) { + self.end() + return + } + if (self.method !== 'GET' && typeof self.method !== 'undefined') { + self.setHeader('content-length', 0) + } + self.end() + } + } + + if (self._form && !self.hasHeader('content-length')) { + // Before ending the request, we had to compute the length of the whole form, asyncly + self.setHeader(self._form.getHeaders()) + self._form.getLength(function (err, length) { + if (!err) { + self.setHeader('content-length', length) + } + end() + }) + } else { + end() + } + + self.ntick = true + }) + +} + +// Must call this when following a redirect from https to http or vice versa +// Attempts to keep everything as identical as possible, but update the +// httpModule, Tunneling agent, and/or Forever Agent in use. +Request.prototype._updateProtocol = function () { + var self = this + var protocol = self.uri.protocol + + if (protocol === 'https:' || self.tunnel) { + // previously was doing http, now doing https + // if it's https, then we might need to tunnel now. + if (self.proxy) { + if (self.setupTunnel()) { + return + } + } + + self.httpModule = https + switch (self.agentClass) { + case ForeverAgent: + self.agentClass = ForeverAgent.SSL + break + case http.Agent: + self.agentClass = https.Agent + break + default: + // nothing we can do. Just hope for the best. + return + } + + // if there's an agent, we need to get a new one. + if (self.agent) { + self.agent = self.getNewAgent() + } + + } else { + // previously was doing https, now doing http + self.httpModule = http + switch (self.agentClass) { + case ForeverAgent.SSL: + self.agentClass = ForeverAgent + break + case https.Agent: + self.agentClass = http.Agent + break + default: + // nothing we can do. just hope for the best + return + } + + // if there's an agent, then get a new one. + if (self.agent) { + self.agent = null + self.agent = self.getNewAgent() + } + } +} + +Request.prototype.getNewAgent = function () { + var self = this + var Agent = self.agentClass + var options = {} + if (self.agentOptions) { + for (var i in self.agentOptions) { + options[i] = self.agentOptions[i] + } + } + if (self.ca) { + options.ca = self.ca + } + if (self.ciphers) { + options.ciphers = self.ciphers + } + if (self.secureProtocol) { + options.secureProtocol = self.secureProtocol + } + if (self.secureOptions) { + options.secureOptions = self.secureOptions + } + if (typeof self.rejectUnauthorized !== 'undefined') { + options.rejectUnauthorized = self.rejectUnauthorized + } + + if (self.cert && self.key) { + options.key = self.key + options.cert = self.cert + } + + if (self.pfx) { + options.pfx = self.pfx + } + + if (self.passphrase) { + options.passphrase = self.passphrase + } + + var poolKey = '' + + // different types of agents are in different pools + if (Agent !== self.httpModule.Agent) { + poolKey += Agent.name + } + + // ca option is only relevant if proxy or destination are https + var proxy = self.proxy + if (typeof proxy === 'string') { + proxy = url.parse(proxy) + } + var isHttps = (proxy && proxy.protocol === 'https:') || this.uri.protocol === 'https:' + + if (isHttps) { + if (options.ca) { + if (poolKey) { + poolKey += ':' + } + poolKey += options.ca + } + + if (typeof options.rejectUnauthorized !== 'undefined') { + if (poolKey) { + poolKey += ':' + } + poolKey += options.rejectUnauthorized + } + + if (options.cert) { + if (poolKey) { + poolKey += ':' + } + poolKey += options.cert.toString('ascii') + options.key.toString('ascii') + } + + if (options.pfx) { + if (poolKey) { + poolKey += ':' + } + poolKey += options.pfx.toString('ascii') + } + + if (options.ciphers) { + if (poolKey) { + poolKey += ':' + } + poolKey += options.ciphers + } + + if (options.secureProtocol) { + if (poolKey) { + poolKey += ':' + } + poolKey += options.secureProtocol + } + + if (options.secureOptions) { + if (poolKey) { + poolKey += ':' + } + poolKey += options.secureOptions + } + } + + if (self.pool === globalPool && !poolKey && Object.keys(options).length === 0 && self.httpModule.globalAgent) { + // not doing anything special. Use the globalAgent + return self.httpModule.globalAgent + } + + // we're using a stored agent. Make sure it's protocol-specific + poolKey = self.uri.protocol + poolKey + + // generate a new agent for this setting if none yet exists + if (!self.pool[poolKey]) { + self.pool[poolKey] = new Agent(options) + // properly set maxSockets on new agents + if (self.pool.maxSockets) { + self.pool[poolKey].maxSockets = self.pool.maxSockets + } + } + + return self.pool[poolKey] +} + +Request.prototype.start = function () { + // start() is called once we are ready to send the outgoing HTTP request. + // this is usually called on the first write(), end() or on nextTick() + var self = this + + if (self._aborted) { + return + } + + self._started = true + self.method = self.method || 'GET' + self.href = self.uri.href + + if (self.src && self.src.stat && self.src.stat.size && !self.hasHeader('content-length')) { + self.setHeader('content-length', self.src.stat.size) + } + if (self._aws) { + self.aws(self._aws, true) + } + + // We have a method named auth, which is completely different from the http.request + // auth option. If we don't remove it, we're gonna have a bad time. + var reqOptions = copy(self) + delete reqOptions.auth + + debug('make request', self.uri.href) + + self.req = self.httpModule.request(reqOptions) + + if (self.timing) { + self.startTime = new Date().getTime() + } + + if (self.timeout && !self.timeoutTimer) { + var timeout = self.timeout < 0 ? 0 : self.timeout + self.timeoutTimer = setTimeout(function () { + self.abort() + var e = new Error('ETIMEDOUT') + e.code = 'ETIMEDOUT' + self.emit('error', e) + }, timeout) + + // Set additional timeout on socket - in case if remote + // server freeze after sending headers + if (self.req.setTimeout) { // only works on node 0.6+ + self.req.setTimeout(timeout, function () { + if (self.req) { + self.req.abort() + var e = new Error('ESOCKETTIMEDOUT') + e.code = 'ESOCKETTIMEDOUT' + self.emit('error', e) + } + }) + } + } + + self.req.on('response', self.onRequestResponse.bind(self)) + self.req.on('error', self.onRequestError.bind(self)) + self.req.on('drain', function() { + self.emit('drain') + }) + self.req.on('socket', function(socket) { + self.emit('socket', socket) + }) + + self.on('end', function() { + if ( self.req.connection ) { + self.req.connection.removeListener('error', connectionErrorHandler) + } + }) + self.emit('request', self.req) +} + +Request.prototype.onRequestError = function (error) { + var self = this + if (self._aborted) { + return + } + if (self.req && self.req._reusedSocket && error.code === 'ECONNRESET' + && self.agent.addRequestNoreuse) { + self.agent = { addRequest: self.agent.addRequestNoreuse.bind(self.agent) } + self.start() + self.req.end() + return + } + if (self.timeout && self.timeoutTimer) { + clearTimeout(self.timeoutTimer) + self.timeoutTimer = null + } + self.emit('error', error) +} + +Request.prototype.onRequestResponse = function (response) { + var self = this + debug('onRequestResponse', self.uri.href, response.statusCode, response.headers) + response.on('end', function() { + if (self.timing) { + self.elapsedTime += (new Date().getTime() - self.startTime) + debug('elapsed time', self.elapsedTime) + response.elapsedTime = self.elapsedTime + } + debug('response end', self.uri.href, response.statusCode, response.headers) + }) + + // The check on response.connection is a workaround for browserify. + if (response.connection && response.connection.listeners('error').indexOf(connectionErrorHandler) === -1) { + response.connection.setMaxListeners(0) + response.connection.once('error', connectionErrorHandler) + } + if (self._aborted) { + debug('aborted', self.uri.href) + response.resume() + return + } + if (self._paused) { + response.pause() + } else if (response.resume) { + // response.resume should be defined, but check anyway before calling. Workaround for browserify. + response.resume() + } + + self.response = response + response.request = self + response.toJSON = responseToJSON + + // XXX This is different on 0.10, because SSL is strict by default + if (self.httpModule === https && + self.strictSSL && (!response.hasOwnProperty('client') || + !response.client.authorized)) { + debug('strict ssl error', self.uri.href) + var sslErr = response.hasOwnProperty('client') ? response.client.authorizationError : self.uri.href + ' does not support SSL' + self.emit('error', new Error('SSL Error: ' + sslErr)) + return + } + + // Save the original host before any redirect (if it changes, we need to + // remove any authorization headers). Also remember the case of the header + // name because lots of broken servers expect Host instead of host and we + // want the caller to be able to specify this. + self.originalHost = self.getHeader('host') + if (!self.originalHostHeaderName) { + self.originalHostHeaderName = self.hasHeader('host') + } + if (self.setHost) { + self.removeHeader('host') + } + if (self.timeout && self.timeoutTimer) { + clearTimeout(self.timeoutTimer) + self.timeoutTimer = null + } + + var targetCookieJar = (self._jar && self._jar.setCookie) ? self._jar : globalCookieJar + var addCookie = function (cookie) { + //set the cookie if it's domain in the href's domain. + try { + targetCookieJar.setCookie(cookie, self.uri.href, {ignoreError: true}) + } catch (e) { + self.emit('error', e) + } + } + + response.caseless = caseless(response.headers) + + if (response.caseless.has('set-cookie') && (!self._disableCookies)) { + var headerName = response.caseless.has('set-cookie') + if (Array.isArray(response.headers[headerName])) { + response.headers[headerName].forEach(addCookie) + } else { + addCookie(response.headers[headerName]) + } + } + + if (self._redirect.onResponse(response)) { + return // Ignore the rest of the response + } else { + // Be a good stream and emit end when the response is finished. + // Hack to emit end on close because of a core bug that never fires end + response.on('close', function () { + if (!self._ended) { + self.response.emit('end') + } + }) + + response.on('end', function () { + self._ended = true + }) + + var dataStream + if (self.gzip) { + var contentEncoding = response.headers['content-encoding'] || 'identity' + contentEncoding = contentEncoding.trim().toLowerCase() + + if (contentEncoding === 'gzip') { + dataStream = zlib.createGunzip() + response.pipe(dataStream) + } else { + // Since previous versions didn't check for Content-Encoding header, + // ignore any invalid values to preserve backwards-compatibility + if (contentEncoding !== 'identity') { + debug('ignoring unrecognized Content-Encoding ' + contentEncoding) + } + dataStream = response + } + } else { + dataStream = response + } + + if (self.encoding) { + if (self.dests.length !== 0) { + console.error('Ignoring encoding parameter as this stream is being piped to another stream which makes the encoding option invalid.') + } else if (dataStream.setEncoding) { + dataStream.setEncoding(self.encoding) + } else { + // Should only occur on node pre-v0.9.4 (joyent/node@9b5abe5) with + // zlib streams. + // If/When support for 0.9.4 is dropped, this should be unnecessary. + dataStream = dataStream.pipe(stringstream(self.encoding)) + } + } + + self.emit('response', response) + + self.dests.forEach(function (dest) { + self.pipeDest(dest) + }) + + dataStream.on('data', function (chunk) { + self._destdata = true + self.emit('data', chunk) + }) + dataStream.on('end', function (chunk) { + self.emit('end', chunk) + }) + dataStream.on('error', function (error) { + self.emit('error', error) + }) + dataStream.on('close', function () {self.emit('close')}) + + if (self.callback) { + var buffer = bl() + , strings = [] + + self.on('data', function (chunk) { + if (Buffer.isBuffer(chunk)) { + buffer.append(chunk) + } else { + strings.push(chunk) + } + }) + self.on('end', function () { + debug('end event', self.uri.href) + if (self._aborted) { + debug('aborted', self.uri.href) + return + } + + if (buffer.length) { + debug('has body', self.uri.href, buffer.length) + if (self.encoding === null) { + // response.body = buffer + // can't move to this until https://github.com/rvagg/bl/issues/13 + response.body = buffer.slice() + } else { + response.body = buffer.toString(self.encoding) + } + } else if (strings.length) { + // The UTF8 BOM [0xEF,0xBB,0xBF] is converted to [0xFE,0xFF] in the JS UTC16/UCS2 representation. + // Strip this value out when the encoding is set to 'utf8', as upstream consumers won't expect it and it breaks JSON.parse(). + if (self.encoding === 'utf8' && strings[0].length > 0 && strings[0][0] === '\uFEFF') { + strings[0] = strings[0].substring(1) + } + response.body = strings.join('') + } + + if (self._json) { + try { + response.body = JSON.parse(response.body, self._jsonReviver) + } catch (e) {} + } + debug('emitting complete', self.uri.href) + if(typeof response.body === 'undefined' && !self._json) { + response.body = self.encoding === null ? new Buffer(0) : '' + } + self.emit('complete', response, response.body) + }) + } + //if no callback + else{ + self.on('end', function () { + if (self._aborted) { + debug('aborted', self.uri.href) + return + } + self.emit('complete', response) + }) + } + } + debug('finish init function', self.uri.href) +} + +Request.prototype.abort = function () { + var self = this + self._aborted = true + + if (self.req) { + self.req.abort() + } + else if (self.response) { + self.response.abort() + } + + self.emit('abort') +} + +Request.prototype.pipeDest = function (dest) { + var self = this + var response = self.response + // Called after the response is received + if (dest.headers && !dest.headersSent) { + if (response.caseless.has('content-type')) { + var ctname = response.caseless.has('content-type') + if (dest.setHeader) { + dest.setHeader(ctname, response.headers[ctname]) + } + else { + dest.headers[ctname] = response.headers[ctname] + } + } + + if (response.caseless.has('content-length')) { + var clname = response.caseless.has('content-length') + if (dest.setHeader) { + dest.setHeader(clname, response.headers[clname]) + } else { + dest.headers[clname] = response.headers[clname] + } + } + } + if (dest.setHeader && !dest.headersSent) { + for (var i in response.headers) { + // If the response content is being decoded, the Content-Encoding header + // of the response doesn't represent the piped content, so don't pass it. + if (!self.gzip || i !== 'content-encoding') { + dest.setHeader(i, response.headers[i]) + } + } + dest.statusCode = response.statusCode + } + if (self.pipefilter) { + self.pipefilter(response, dest) + } +} + +Request.prototype.qs = function (q, clobber) { + var self = this + var base + if (!clobber && self.uri.query) { + base = self.qsLib.parse(self.uri.query, self.qsParseOptions) + } else { + base = {} + } + + for (var i in q) { + base[i] = q[i] + } + + if (self.qsLib.stringify(base, self.qsStringifyOptions) === ''){ + return self + } + + var qs = self.qsLib.stringify(base, self.qsStringifyOptions) + + self.uri = url.parse(self.uri.href.split('?')[0] + '?' + rfc3986(qs)) + self.url = self.uri + self.path = self.uri.path + + return self +} +Request.prototype.form = function (form) { + var self = this + if (form) { + self.setHeader('content-type', 'application/x-www-form-urlencoded') + self.body = (typeof form === 'string') + ? form.toString('utf8') + : self.qsLib.stringify(form, self.qsStringifyOptions).toString('utf8') + self.body = rfc3986(self.body) + return self + } + // create form-data object + self._form = new FormData() + self._form.on('error', function(err) { + err.message = 'form-data: ' + err.message + self.emit('error', err) + self.abort() + }) + return self._form +} +Request.prototype.multipart = function (multipart) { + var self = this + + self._multipart.onRequest(multipart) + + if (!self._multipart.chunked) { + self.body = self._multipart.body + } + + return self +} +Request.prototype.json = function (val) { + var self = this + + if (!self.hasHeader('accept')) { + self.setHeader('accept', 'application/json') + } + + self._json = true + if (typeof val === 'boolean') { + if (self.body !== undefined) { + if (!/^application\/x-www-form-urlencoded\b/.test(self.getHeader('content-type'))) { + self.body = safeStringify(self.body) + } else { + self.body = rfc3986(self.body) + } + if (!self.hasHeader('content-type')) { + self.setHeader('content-type', 'application/json') + } + } + } else { + self.body = safeStringify(val) + if (!self.hasHeader('content-type')) { + self.setHeader('content-type', 'application/json') + } + } + + if (typeof self.jsonReviver === 'function') { + self._jsonReviver = self.jsonReviver + } + + return self +} +Request.prototype.getHeader = function (name, headers) { + var self = this + var result, re, match + if (!headers) { + headers = self.headers + } + Object.keys(headers).forEach(function (key) { + if (key.length !== name.length) { + return + } + re = new RegExp(name, 'i') + match = key.match(re) + if (match) { + result = headers[key] + } + }) + return result +} + +Request.prototype.auth = function (user, pass, sendImmediately, bearer) { + var self = this + + self._auth.onRequest(user, pass, sendImmediately, bearer) + + return self +} +Request.prototype.aws = function (opts, now) { + var self = this + + if (!now) { + self._aws = opts + return self + } + var date = new Date() + self.setHeader('date', date.toUTCString()) + var auth = + { key: opts.key + , secret: opts.secret + , verb: self.method.toUpperCase() + , date: date + , contentType: self.getHeader('content-type') || '' + , md5: self.getHeader('content-md5') || '' + , amazonHeaders: aws.canonicalizeHeaders(self.headers) + } + var path = self.uri.path + if (opts.bucket && path) { + auth.resource = '/' + opts.bucket + path + } else if (opts.bucket && !path) { + auth.resource = '/' + opts.bucket + } else if (!opts.bucket && path) { + auth.resource = path + } else if (!opts.bucket && !path) { + auth.resource = '/' + } + auth.resource = aws.canonicalizeResource(auth.resource) + self.setHeader('authorization', aws.authorization(auth)) + + return self +} +Request.prototype.httpSignature = function (opts) { + var self = this + httpSignature.signRequest({ + getHeader: function(header) { + return self.getHeader(header, self.headers) + }, + setHeader: function(header, value) { + self.setHeader(header, value) + }, + method: self.method, + path: self.path + }, opts) + debug('httpSignature authorization', self.getHeader('authorization')) + + return self +} +Request.prototype.hawk = function (opts) { + var self = this + self.setHeader('Authorization', hawk.client.header(self.uri, self.method, opts).field) +} +Request.prototype.oauth = function (_oauth) { + var self = this + + self._oauth.onRequest(_oauth) + + return self +} + +Request.prototype.jar = function (jar) { + var self = this + var cookies + + if (self._redirect.redirectsFollowed === 0) { + self.originalCookieHeader = self.getHeader('cookie') + } + + if (!jar) { + // disable cookies + cookies = false + self._disableCookies = true + } else { + var targetCookieJar = (jar && jar.getCookieString) ? jar : globalCookieJar + var urihref = self.uri.href + //fetch cookie in the Specified host + if (targetCookieJar) { + cookies = targetCookieJar.getCookieString(urihref) + } + } + + //if need cookie and cookie is not empty + if (cookies && cookies.length) { + if (self.originalCookieHeader) { + // Don't overwrite existing Cookie header + self.setHeader('cookie', self.originalCookieHeader + '; ' + cookies) + } else { + self.setHeader('cookie', cookies) + } + } + self._jar = jar + return self +} + + +// Stream API +Request.prototype.pipe = function (dest, opts) { + var self = this + + if (self.response) { + if (self._destdata) { + throw new Error('You cannot pipe after data has been emitted from the response.') + } else if (self._ended) { + throw new Error('You cannot pipe after the response has been ended.') + } else { + stream.Stream.prototype.pipe.call(self, dest, opts) + self.pipeDest(dest) + return dest + } + } else { + self.dests.push(dest) + stream.Stream.prototype.pipe.call(self, dest, opts) + return dest + } +} +Request.prototype.write = function () { + var self = this + if (!self._started) { + self.start() + } + return self.req.write.apply(self.req, arguments) +} +Request.prototype.end = function (chunk) { + var self = this + if (chunk) { + self.write(chunk) + } + if (!self._started) { + self.start() + } + self.req.end() +} +Request.prototype.pause = function () { + var self = this + if (!self.response) { + self._paused = true + } else { + self.response.pause.apply(self.response, arguments) + } +} +Request.prototype.resume = function () { + var self = this + if (!self.response) { + self._paused = false + } else { + self.response.resume.apply(self.response, arguments) + } +} +Request.prototype.destroy = function () { + var self = this + if (!self._ended) { + self.end() + } else if (self.response) { + self.response.destroy() + } +} + +Request.defaultProxyHeaderWhiteList = + defaultProxyHeaderWhiteList.slice() + +Request.defaultProxyHeaderExclusiveList = + defaultProxyHeaderExclusiveList.slice() + +// Exports + +Request.prototype.toJSON = requestToJSON +module.exports = Request diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.npmignore new file mode 100644 index 0000000..77ba16c --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.npmignore @@ -0,0 +1,18 @@ +.idea +*.iml +npm-debug.log +dump.rdb +node_modules +results.tap +results.xml +npm-shrinkwrap.json +config.json +.DS_Store +*/.DS_Store +*/*/.DS_Store +._* +*/._* +*/*/._* +coverage.* +lib-cov + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.travis.yml new file mode 100644 index 0000000..047f7e3 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.travis.yml @@ -0,0 +1,5 @@ +language: node_js + +node_js: + - 0.10 + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/LICENSE new file mode 100644 index 0000000..b0d8774 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2012-2014, Eran Hammer and other contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + * * * + +The complete list of contributors can be found at: https://github.com/hueniverse/sntp/graphs/contributors diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/Makefile b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/Makefile new file mode 100644 index 0000000..417fd93 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/Makefile @@ -0,0 +1,9 @@ +test: + @node node_modules/lab/bin/lab +test-cov: + @node node_modules/lab/bin/lab -t 100 -m 3000 +test-cov-html: + @node node_modules/lab/bin/lab -r html -o coverage.html + +.PHONY: test test-cov test-cov-html + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/README.md new file mode 100644 index 0000000..98a6e02 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/README.md @@ -0,0 +1,68 @@ +# sntp + +An SNTP v4 client (RFC4330) for node. Simpy connects to the NTP or SNTP server requested and returns the server time +along with the roundtrip duration and clock offset. To adjust the local time to the NTP time, add the returned `t` offset +to the local time. + +[![Build Status](https://secure.travis-ci.org/hueniverse/sntp.png)](http://travis-ci.org/hueniverse/sntp) + +# Usage + +```javascript +var Sntp = require('sntp'); + +// All options are optional + +var options = { + host: 'nist1-sj.ustiming.org', // Defaults to pool.ntp.org + port: 123, // Defaults to 123 (NTP) + resolveReference: true, // Default to false (not resolving) + timeout: 1000 // Defaults to zero (no timeout) +}; + +// Request server time + +Sntp.time(options, function (err, time) { + + if (err) { + console.log('Failed: ' + err.message); + process.exit(1); + } + + console.log('Local clock is off by: ' + time.t + ' milliseconds'); + process.exit(0); +}); +``` + +If an application needs to maintain continuous time synchronization, the module provides a stateful method for +querying the current offset only when the last one is too old (defaults to daily). + +```javascript +// Request offset once + +Sntp.offset(function (err, offset) { + + console.log(offset); // New (served fresh) + + // Request offset again + + Sntp.offset(function (err, offset) { + + console.log(offset); // Identical (served from cache) + }); +}); +``` + +To set a background offset refresh, start the interval and use the provided now() method. If for any reason the +client fails to obtain an up-to-date offset, the current system clock is used. + +```javascript +var before = Sntp.now(); // System time without offset + +Sntp.start(function () { + + var now = Sntp.now(); // With offset + Sntp.stop(); +}); +``` + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/offset.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/offset.js new file mode 100644 index 0000000..0303f6d --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/offset.js @@ -0,0 +1,16 @@ +var Sntp = require('../lib'); + +// Request offset once + +Sntp.offset(function (err, offset) { + + console.log(offset); // New (served fresh) + + // Request offset again + + Sntp.offset(function (err, offset) { + + console.log(offset); // Identical (served from cache) + }); +}); + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/time.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/time.js new file mode 100644 index 0000000..bd70d0e --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/time.js @@ -0,0 +1,25 @@ +var Sntp = require('../lib'); + +// All options are optional + +var options = { + host: 'nist1-sj.ustiming.org', // Defaults to pool.ntp.org + port: 123, // Defaults to 123 (NTP) + resolveReference: true, // Default to false (not resolving) + timeout: 1000 // Defaults to zero (no timeout) +}; + +// Request server time + +Sntp.time(options, function (err, time) { + + if (err) { + console.log('Failed: ' + err.message); + process.exit(1); + } + + console.log(time); + console.log('Local clock is off by: ' + time.t + ' milliseconds'); + process.exit(0); +}); + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/index.js new file mode 100644 index 0000000..4cc88b3 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/index.js @@ -0,0 +1 @@ +module.exports = require('./lib'); \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/lib/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/lib/index.js new file mode 100644 index 0000000..e91718b --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/lib/index.js @@ -0,0 +1,412 @@ +// Load modules + +var Dgram = require('dgram'); +var Dns = require('dns'); +var Hoek = require('hoek'); + + +// Declare internals + +var internals = {}; + + +exports.time = function (options, callback) { + + if (arguments.length !== 2) { + callback = arguments[0]; + options = {}; + } + + var settings = Hoek.clone(options); + settings.host = settings.host || 'pool.ntp.org'; + settings.port = settings.port || 123; + settings.resolveReference = settings.resolveReference || false; + + // Declare variables used by callback + + var timeoutId = 0; + var sent = 0; + + // Ensure callback is only called once + + var finish = function (err, result) { + + if (timeoutId) { + clearTimeout(timeoutId); + timeoutId = 0; + } + + socket.removeAllListeners(); + socket.once('error', internals.ignore); + socket.close(); + return callback(err, result); + }; + + finish = Hoek.once(finish); + + // Create UDP socket + + var socket = Dgram.createSocket('udp4'); + + socket.once('error', function (err) { + + return finish(err); + }); + + // Listen to incoming messages + + socket.on('message', function (buffer, rinfo) { + + var received = Date.now(); + + var message = new internals.NtpMessage(buffer); + if (!message.isValid) { + return finish(new Error('Invalid server response'), message); + } + + if (message.originateTimestamp !== sent) { + return finish(new Error('Wrong originate timestamp'), message); + } + + // Timestamp Name ID When Generated + // ------------------------------------------------------------ + // Originate Timestamp T1 time request sent by client + // Receive Timestamp T2 time request received by server + // Transmit Timestamp T3 time reply sent by server + // Destination Timestamp T4 time reply received by client + // + // The roundtrip delay d and system clock offset t are defined as: + // + // d = (T4 - T1) - (T3 - T2) t = ((T2 - T1) + (T3 - T4)) / 2 + + var T1 = message.originateTimestamp; + var T2 = message.receiveTimestamp; + var T3 = message.transmitTimestamp; + var T4 = received; + + message.d = (T4 - T1) - (T3 - T2); + message.t = ((T2 - T1) + (T3 - T4)) / 2; + message.receivedLocally = received; + + if (!settings.resolveReference || + message.stratum !== 'secondary') { + + return finish(null, message); + } + + // Resolve reference IP address + + Dns.reverse(message.referenceId, function (err, domains) { + + if (/* $lab:coverage:off$ */ !err /* $lab:coverage:on$ */) { + message.referenceHost = domains[0]; + } + + return finish(null, message); + }); + }); + + // Set timeout + + if (settings.timeout) { + timeoutId = setTimeout(function () { + + timeoutId = 0; + return finish(new Error('Timeout')); + }, settings.timeout); + } + + // Construct NTP message + + var message = new Buffer(48); + for (var i = 0; i < 48; i++) { // Zero message + message[i] = 0; + } + + message[0] = (0 << 6) + (4 << 3) + (3 << 0) // Set version number to 4 and Mode to 3 (client) + sent = Date.now(); + internals.fromMsecs(sent, message, 40); // Set transmit timestamp (returns as originate) + + // Send NTP request + + socket.send(message, 0, message.length, settings.port, settings.host, function (err, bytes) { + + if (err || + bytes !== 48) { + + return finish(err || new Error('Could not send entire message')); + } + }); +}; + + +internals.NtpMessage = function (buffer) { + + this.isValid = false; + + // Validate + + if (buffer.length !== 48) { + return; + } + + // Leap indicator + + var li = (buffer[0] >> 6); + switch (li) { + case 0: this.leapIndicator = 'no-warning'; break; + case 1: this.leapIndicator = 'last-minute-61'; break; + case 2: this.leapIndicator = 'last-minute-59'; break; + case 3: this.leapIndicator = 'alarm'; break; + } + + // Version + + var vn = ((buffer[0] & 0x38) >> 3); + this.version = vn; + + // Mode + + var mode = (buffer[0] & 0x7); + switch (mode) { + case 1: this.mode = 'symmetric-active'; break; + case 2: this.mode = 'symmetric-passive'; break; + case 3: this.mode = 'client'; break; + case 4: this.mode = 'server'; break; + case 5: this.mode = 'broadcast'; break; + case 0: + case 6: + case 7: this.mode = 'reserved'; break; + } + + // Stratum + + var stratum = buffer[1]; + if (stratum === 0) { + this.stratum = 'death'; + } + else if (stratum === 1) { + this.stratum = 'primary'; + } + else if (stratum <= 15) { + this.stratum = 'secondary'; + } + else { + this.stratum = 'reserved'; + } + + // Poll interval (msec) + + this.pollInterval = Math.round(Math.pow(2, buffer[2])) * 1000; + + // Precision (msecs) + + this.precision = Math.pow(2, buffer[3]) * 1000; + + // Root delay (msecs) + + var rootDelay = 256 * (256 * (256 * buffer[4] + buffer[5]) + buffer[6]) + buffer[7]; + this.rootDelay = 1000 * (rootDelay / 0x10000); + + // Root dispersion (msecs) + + this.rootDispersion = ((buffer[8] << 8) + buffer[9] + ((buffer[10] << 8) + buffer[11]) / Math.pow(2, 16)) * 1000; + + // Reference identifier + + this.referenceId = ''; + switch (this.stratum) { + case 'death': + case 'primary': + this.referenceId = String.fromCharCode(buffer[12]) + String.fromCharCode(buffer[13]) + String.fromCharCode(buffer[14]) + String.fromCharCode(buffer[15]); + break; + case 'secondary': + this.referenceId = '' + buffer[12] + '.' + buffer[13] + '.' + buffer[14] + '.' + buffer[15]; + break; + } + + // Reference timestamp + + this.referenceTimestamp = internals.toMsecs(buffer, 16); + + // Originate timestamp + + this.originateTimestamp = internals.toMsecs(buffer, 24); + + // Receive timestamp + + this.receiveTimestamp = internals.toMsecs(buffer, 32); + + // Transmit timestamp + + this.transmitTimestamp = internals.toMsecs(buffer, 40); + + // Validate + + if (this.version === 4 && + this.stratum !== 'reserved' && + this.mode === 'server' && + this.originateTimestamp && + this.receiveTimestamp && + this.transmitTimestamp) { + + this.isValid = true; + } + + return this; +}; + + +internals.toMsecs = function (buffer, offset) { + + var seconds = 0; + var fraction = 0; + + for (var i = 0; i < 4; ++i) { + seconds = (seconds * 256) + buffer[offset + i]; + } + + for (i = 4; i < 8; ++i) { + fraction = (fraction * 256) + buffer[offset + i]; + } + + return ((seconds - 2208988800 + (fraction / Math.pow(2, 32))) * 1000); +}; + + +internals.fromMsecs = function (ts, buffer, offset) { + + var seconds = Math.floor(ts / 1000) + 2208988800; + var fraction = Math.round((ts % 1000) / 1000 * Math.pow(2, 32)); + + buffer[offset + 0] = (seconds & 0xFF000000) >> 24; + buffer[offset + 1] = (seconds & 0x00FF0000) >> 16; + buffer[offset + 2] = (seconds & 0x0000FF00) >> 8; + buffer[offset + 3] = (seconds & 0x000000FF); + + buffer[offset + 4] = (fraction & 0xFF000000) >> 24; + buffer[offset + 5] = (fraction & 0x00FF0000) >> 16; + buffer[offset + 6] = (fraction & 0x0000FF00) >> 8; + buffer[offset + 7] = (fraction & 0x000000FF); +}; + + +// Offset singleton + +internals.last = { + offset: 0, + expires: 0, + host: '', + port: 0 +}; + + +exports.offset = function (options, callback) { + + if (arguments.length !== 2) { + callback = arguments[0]; + options = {}; + } + + var now = Date.now(); + var clockSyncRefresh = options.clockSyncRefresh || 24 * 60 * 60 * 1000; // Daily + + if (internals.last.offset && + internals.last.host === options.host && + internals.last.port === options.port && + now < internals.last.expires) { + + process.nextTick(function () { + + callback(null, internals.last.offset); + }); + + return; + } + + exports.time(options, function (err, time) { + + if (err) { + return callback(err, 0); + } + + internals.last = { + offset: Math.round(time.t), + expires: now + clockSyncRefresh, + host: options.host, + port: options.port + }; + + return callback(null, internals.last.offset); + }); +}; + + +// Now singleton + +internals.now = { + intervalId: 0 +}; + + +exports.start = function (options, callback) { + + if (arguments.length !== 2) { + callback = arguments[0]; + options = {}; + } + + if (internals.now.intervalId) { + process.nextTick(function () { + + callback(); + }); + + return; + } + + exports.offset(options, function (err, offset) { + + internals.now.intervalId = setInterval(function () { + + exports.offset(options, function () { }); + }, options.clockSyncRefresh || 24 * 60 * 60 * 1000); // Daily + + return callback(); + }); +}; + + +exports.stop = function () { + + if (!internals.now.intervalId) { + return; + } + + clearInterval(internals.now.intervalId); + internals.now.intervalId = 0; +}; + + +exports.isLive = function () { + + return !!internals.now.intervalId; +}; + + +exports.now = function () { + + var now = Date.now(); + if (!exports.isLive() || + now >= internals.last.expires) { + + return now; + } + + return now + internals.last.offset; +}; + + +internals.ignore = function () { + +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/package.json new file mode 100644 index 0000000..18c30e9 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/package.json @@ -0,0 +1,68 @@ +{ + "_from": "sntp@1.x.x", + "_id": "sntp@1.0.9", + "_inBundle": false, + "_integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "_location": "/sntp", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "sntp@1.x.x", + "name": "sntp", + "escapedName": "sntp", + "rawSpec": "1.x.x", + "saveSpec": null, + "fetchSpec": "1.x.x" + }, + "_requiredBy": [ + "/hawk" + ], + "_resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "_shasum": "6541184cc90aeea6c6e7b35e2659082443c66198", + "_spec": "sntp@1.x.x", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\hawk", + "author": { + "name": "Eran Hammer", + "email": "eran@hammer.io", + "url": "http://hueniverse.com" + }, + "bugs": { + "url": "https://github.com/hueniverse/sntp/issues" + }, + "bundleDependencies": false, + "contributors": [], + "dependencies": { + "hoek": "2.x.x" + }, + "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "description": "SNTP Client", + "devDependencies": { + "lab": "4.x.x" + }, + "engines": { + "node": ">=0.8.0" + }, + "homepage": "https://github.com/hueniverse/sntp#readme", + "keywords": [ + "sntp", + "ntp", + "time" + ], + "licenses": [ + { + "type": "BSD", + "url": "http://github.com/hueniverse/sntp/raw/master/LICENSE" + } + ], + "main": "index", + "name": "sntp", + "repository": { + "type": "git", + "url": "git://github.com/hueniverse/sntp.git" + }, + "scripts": { + "test": "make test-cov" + }, + "version": "1.0.9" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/test/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/test/index.js new file mode 100644 index 0000000..f1d1cda --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/test/index.js @@ -0,0 +1,435 @@ +// Load modules + +var Dns = require('dns'); +var Dgram = require('dgram'); +var Lab = require('lab'); +var Sntp = require('../lib'); + + +// Declare internals + +var internals = {}; + + +// Test shortcuts + +var lab = exports.lab = Lab.script(); +var before = lab.before; +var after = lab.after; +var describe = lab.experiment; +var it = lab.test; +var expect = Lab.expect; + + +describe('SNTP', function () { + + describe('#time', function () { + + it('returns consistent result over multiple tries', function (done) { + + Sntp.time(function (err, time) { + + expect(err).to.not.exist; + expect(time).to.exist; + var t1 = time.t; + + Sntp.time(function (err, time) { + + expect(err).to.not.exist; + expect(time).to.exist; + var t2 = time.t; + expect(Math.abs(t1 - t2)).is.below(200); + done(); + }); + }); + }); + + it('resolves reference IP', function (done) { + + Sntp.time({ host: 'ntp.exnet.com', resolveReference: true }, function (err, time) { + + expect(err).to.not.exist; + expect(time).to.exist; + expect(time.referenceHost).to.exist; + done(); + }); + }); + + it('times out on no response', function (done) { + + Sntp.time({ port: 124, timeout: 100 }, function (err, time) { + + expect(err).to.exist; + expect(time).to.not.exist; + expect(err.message).to.equal('Timeout'); + done(); + }); + }); + + it('errors on error event', { parallel: false }, function (done) { + + var orig = Dgram.createSocket; + Dgram.createSocket = function (type) { + + Dgram.createSocket = orig; + var socket = Dgram.createSocket(type); + setImmediate(function () { socket.emit('error', new Error('Fake')) }); + return socket; + }; + + Sntp.time(function (err, time) { + + expect(err).to.exist; + expect(time).to.not.exist; + expect(err.message).to.equal('Fake'); + done(); + }); + }); + + it('errors on incorrect sent size', { parallel: false }, function (done) { + + var orig = Dgram.Socket.prototype.send; + Dgram.Socket.prototype.send = function (buf, offset, length, port, address, callback) { + + Dgram.Socket.prototype.send = orig; + return callback(null, 40); + }; + + Sntp.time(function (err, time) { + + expect(err).to.exist; + expect(time).to.not.exist; + expect(err.message).to.equal('Could not send entire message'); + done(); + }); + }); + + it('times out on invalid host', function (done) { + + Sntp.time({ host: 'error', timeout: 10000 }, function (err, time) { + + expect(err).to.exist; + expect(time).to.not.exist; + expect(err.message).to.contain('getaddrinfo'); + done(); + }); + }); + + it('fails on bad response buffer size', function (done) { + + var server = Dgram.createSocket('udp4'); + server.on('message', function (message, remote) { + var message = new Buffer(10); + server.send(message, 0, message.length, remote.port, remote.address, function (err, bytes) { + + server.close(); + }); + }); + + server.bind(49123); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(err.message).to.equal('Invalid server response'); + done(); + }); + }); + + var messup = function (bytes) { + + var server = Dgram.createSocket('udp4'); + server.on('message', function (message, remote) { + + var message = new Buffer([ + 0x24, 0x01, 0x00, 0xe3, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x41, 0x43, 0x54, 0x53, + 0xd4, 0xa8, 0x2d, 0xc7, + 0x1c, 0x5d, 0x49, 0x1b, + 0xd4, 0xa8, 0x2d, 0xe6, + 0x67, 0xef, 0x9d, 0xb2, + 0xd4, 0xa8, 0x2d, 0xe6, + 0x71, 0xed, 0xb5, 0xfb, + 0xd4, 0xa8, 0x2d, 0xe6, + 0x71, 0xee, 0x6c, 0xc5 + ]); + + for (var i = 0, il = bytes.length; i < il; ++i) { + message[bytes[i][0]] = bytes[i][1]; + } + + server.send(message, 0, message.length, remote.port, remote.address, function (err, bytes) { + + server.close(); + }); + }); + + server.bind(49123); + }; + + it('fails on bad version', function (done) { + + messup([[0, (0 << 6) + (3 << 3) + (4 << 0)]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(time.version).to.equal(3); + expect(err.message).to.equal('Invalid server response'); + done(); + }); + }); + + it('fails on bad originateTimestamp', function (done) { + + messup([[24, 0x83], [25, 0xaa], [26, 0x7e], [27, 0x80], [28, 0], [29, 0], [30, 0], [31, 0]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(err.message).to.equal('Invalid server response'); + done(); + }); + }); + + it('fails on bad receiveTimestamp', function (done) { + + messup([[32, 0x83], [33, 0xaa], [34, 0x7e], [35, 0x80], [36, 0], [37, 0], [38, 0], [39, 0]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(err.message).to.equal('Invalid server response'); + done(); + }); + }); + + it('fails on bad originate timestamp and alarm li', function (done) { + + messup([[0, (3 << 6) + (4 << 3) + (4 << 0)]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(err.message).to.equal('Wrong originate timestamp'); + expect(time.leapIndicator).to.equal('alarm'); + done(); + }); + }); + + it('returns time with death stratum and last61 li', function (done) { + + messup([[0, (1 << 6) + (4 << 3) + (4 << 0)], [1, 0]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(time.stratum).to.equal('death'); + expect(time.leapIndicator).to.equal('last-minute-61'); + done(); + }); + }); + + it('returns time with reserved stratum and last59 li', function (done) { + + messup([[0, (2 << 6) + (4 << 3) + (4 << 0)], [1, 0x1f]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(time.stratum).to.equal('reserved'); + expect(time.leapIndicator).to.equal('last-minute-59'); + done(); + }); + }); + + it('fails on bad mode (symmetric-active)', function (done) { + + messup([[0, (0 << 6) + (4 << 3) + (1 << 0)]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(time.mode).to.equal('symmetric-active'); + done(); + }); + }); + + it('fails on bad mode (symmetric-passive)', function (done) { + + messup([[0, (0 << 6) + (4 << 3) + (2 << 0)]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(time.mode).to.equal('symmetric-passive'); + done(); + }); + }); + + it('fails on bad mode (client)', function (done) { + + messup([[0, (0 << 6) + (4 << 3) + (3 << 0)]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(time.mode).to.equal('client'); + done(); + }); + }); + + it('fails on bad mode (broadcast)', function (done) { + + messup([[0, (0 << 6) + (4 << 3) + (5 << 0)]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(time.mode).to.equal('broadcast'); + done(); + }); + }); + + it('fails on bad mode (reserved)', function (done) { + + messup([[0, (0 << 6) + (4 << 3) + (6 << 0)]]); + + Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { + + expect(err).to.exist; + expect(time.mode).to.equal('reserved'); + done(); + }); + }); + }); + + describe('#offset', function () { + + it('gets the current offset', function (done) { + + Sntp.offset(function (err, offset) { + + expect(err).to.not.exist; + expect(offset).to.not.equal(0); + done(); + }); + }); + + it('gets the current offset from cache', function (done) { + + Sntp.offset(function (err, offset) { + + expect(err).to.not.exist; + expect(offset).to.not.equal(0); + var offset1 = offset; + Sntp.offset({}, function (err, offset) { + + expect(err).to.not.exist; + expect(offset).to.equal(offset1); + done(); + }); + }); + }); + + it('gets the new offset on different server', function (done) { + + Sntp.offset(function (err, offset) { + + expect(err).to.not.exist; + expect(offset).to.not.equal(0); + var offset1 = offset; + Sntp.offset({ host: 'nist1-sj.ustiming.org' }, function (err, offset) { + + expect(err).to.not.exist; + expect(offset).to.not.equal(offset1); + done(); + }); + }); + }); + + it('gets the new offset on different server', function (done) { + + Sntp.offset(function (err, offset) { + + expect(err).to.not.exist; + expect(offset).to.not.equal(0); + var offset1 = offset; + Sntp.offset({ port: 123 }, function (err, offset) { + + expect(err).to.not.exist; + expect(offset).to.not.equal(offset1); + done(); + }); + }); + }); + + it('fails getting the current offset on invalid server', function (done) { + + Sntp.offset({ host: 'error' }, function (err, offset) { + + expect(err).to.exist; + expect(offset).to.equal(0); + done(); + }); + }); + }); + + describe('#now', function () { + + it('starts auto-sync, gets now, then stops', function (done) { + + Sntp.stop(); + + var before = Sntp.now(); + expect(before).to.equal(Date.now()); + + Sntp.start(function () { + + var now = Sntp.now(); + expect(now).to.not.equal(Date.now()); + Sntp.stop(); + + done(); + }); + }); + + it('starts twice', function (done) { + + Sntp.start(function () { + + Sntp.start(function () { + + var now = Sntp.now(); + expect(now).to.not.equal(Date.now()); + Sntp.stop(); + + done(); + }); + }); + }); + + it('starts auto-sync, gets now, waits, gets again after timeout', function (done) { + + Sntp.stop(); + + var before = Sntp.now(); + expect(before).to.equal(Date.now()); + + Sntp.start({ clockSyncRefresh: 100 }, function () { + + var now = Sntp.now(); + expect(now).to.not.equal(Date.now()); + expect(now).to.equal(Sntp.now()); + + setTimeout(function () { + + expect(Sntp.now()).to.not.equal(now); + Sntp.stop(); + done(); + }, 110); + }); + }); + }); +}); + diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/.npmignore new file mode 100644 index 0000000..206320c --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/.npmignore @@ -0,0 +1,2 @@ +build +test diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/LICENSE new file mode 100644 index 0000000..6de584a --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/LICENSE @@ -0,0 +1,20 @@ +Copyright Joyent, Inc. and other Node contributors. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/README.md new file mode 100644 index 0000000..4d2aa00 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/README.md @@ -0,0 +1,7 @@ +**string_decoder.js** (`require('string_decoder')`) from Node.js core + +Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details. + +Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.** + +The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/index.js new file mode 100644 index 0000000..b00e54f --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/index.js @@ -0,0 +1,221 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var Buffer = require('buffer').Buffer; + +var isBufferEncoding = Buffer.isEncoding + || function(encoding) { + switch (encoding && encoding.toLowerCase()) { + case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true; + default: return false; + } + } + + +function assertEncoding(encoding) { + if (encoding && !isBufferEncoding(encoding)) { + throw new Error('Unknown encoding: ' + encoding); + } +} + +// StringDecoder provides an interface for efficiently splitting a series of +// buffers into a series of JS strings without breaking apart multi-byte +// characters. CESU-8 is handled as part of the UTF-8 encoding. +// +// @TODO Handling all encodings inside a single object makes it very difficult +// to reason about this code, so it should be split up in the future. +// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code +// points as used by CESU-8. +var StringDecoder = exports.StringDecoder = function(encoding) { + this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, ''); + assertEncoding(encoding); + switch (this.encoding) { + case 'utf8': + // CESU-8 represents each of Surrogate Pair by 3-bytes + this.surrogateSize = 3; + break; + case 'ucs2': + case 'utf16le': + // UTF-16 represents each of Surrogate Pair by 2-bytes + this.surrogateSize = 2; + this.detectIncompleteChar = utf16DetectIncompleteChar; + break; + case 'base64': + // Base-64 stores 3 bytes in 4 chars, and pads the remainder. + this.surrogateSize = 3; + this.detectIncompleteChar = base64DetectIncompleteChar; + break; + default: + this.write = passThroughWrite; + return; + } + + // Enough space to store all bytes of a single character. UTF-8 needs 4 + // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate). + this.charBuffer = new Buffer(6); + // Number of bytes received for the current incomplete multi-byte character. + this.charReceived = 0; + // Number of bytes expected for the current incomplete multi-byte character. + this.charLength = 0; +}; + + +// write decodes the given buffer and returns it as JS string that is +// guaranteed to not contain any partial multi-byte characters. Any partial +// character found at the end of the buffer is buffered up, and will be +// returned when calling write again with the remaining bytes. +// +// Note: Converting a Buffer containing an orphan surrogate to a String +// currently works, but converting a String to a Buffer (via `new Buffer`, or +// Buffer#write) will replace incomplete surrogates with the unicode +// replacement character. See https://codereview.chromium.org/121173009/ . +StringDecoder.prototype.write = function(buffer) { + var charStr = ''; + // if our last write ended with an incomplete multibyte character + while (this.charLength) { + // determine how many remaining bytes this buffer has to offer for this char + var available = (buffer.length >= this.charLength - this.charReceived) ? + this.charLength - this.charReceived : + buffer.length; + + // add the new bytes to the char buffer + buffer.copy(this.charBuffer, this.charReceived, 0, available); + this.charReceived += available; + + if (this.charReceived < this.charLength) { + // still not enough chars in this buffer? wait for more ... + return ''; + } + + // remove bytes belonging to the current character from the buffer + buffer = buffer.slice(available, buffer.length); + + // get the character that was split + charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding); + + // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character + var charCode = charStr.charCodeAt(charStr.length - 1); + if (charCode >= 0xD800 && charCode <= 0xDBFF) { + this.charLength += this.surrogateSize; + charStr = ''; + continue; + } + this.charReceived = this.charLength = 0; + + // if there are no more bytes in this buffer, just emit our char + if (buffer.length === 0) { + return charStr; + } + break; + } + + // determine and set charLength / charReceived + this.detectIncompleteChar(buffer); + + var end = buffer.length; + if (this.charLength) { + // buffer the incomplete character bytes we got + buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end); + end -= this.charReceived; + } + + charStr += buffer.toString(this.encoding, 0, end); + + var end = charStr.length - 1; + var charCode = charStr.charCodeAt(end); + // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character + if (charCode >= 0xD800 && charCode <= 0xDBFF) { + var size = this.surrogateSize; + this.charLength += size; + this.charReceived += size; + this.charBuffer.copy(this.charBuffer, size, 0, size); + buffer.copy(this.charBuffer, 0, 0, size); + return charStr.substring(0, end); + } + + // or just emit the charStr + return charStr; +}; + +// detectIncompleteChar determines if there is an incomplete UTF-8 character at +// the end of the given buffer. If so, it sets this.charLength to the byte +// length that character, and sets this.charReceived to the number of bytes +// that are available for this character. +StringDecoder.prototype.detectIncompleteChar = function(buffer) { + // determine how many bytes we have to check at the end of this buffer + var i = (buffer.length >= 3) ? 3 : buffer.length; + + // Figure out if one of the last i bytes of our buffer announces an + // incomplete char. + for (; i > 0; i--) { + var c = buffer[buffer.length - i]; + + // See http://en.wikipedia.org/wiki/UTF-8#Description + + // 110XXXXX + if (i == 1 && c >> 5 == 0x06) { + this.charLength = 2; + break; + } + + // 1110XXXX + if (i <= 2 && c >> 4 == 0x0E) { + this.charLength = 3; + break; + } + + // 11110XXX + if (i <= 3 && c >> 3 == 0x1E) { + this.charLength = 4; + break; + } + } + this.charReceived = i; +}; + +StringDecoder.prototype.end = function(buffer) { + var res = ''; + if (buffer && buffer.length) + res = this.write(buffer); + + if (this.charReceived) { + var cr = this.charReceived; + var buf = this.charBuffer; + var enc = this.encoding; + res += buf.slice(0, cr).toString(enc); + } + + return res; +}; + +function passThroughWrite(buffer) { + return buffer.toString(this.encoding); +} + +function utf16DetectIncompleteChar(buffer) { + this.charReceived = buffer.length % 2; + this.charLength = this.charReceived ? 2 : 0; +} + +function base64DetectIncompleteChar(buffer) { + this.charReceived = buffer.length % 3; + this.charLength = this.charReceived ? 3 : 0; +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/package.json new file mode 100644 index 0000000..de079b0 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/package.json @@ -0,0 +1,53 @@ +{ + "_from": "string_decoder@~0.10.x", + "_id": "string_decoder@0.10.31", + "_inBundle": false, + "_integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "_location": "/string_decoder", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "string_decoder@~0.10.x", + "name": "string_decoder", + "escapedName": "string_decoder", + "rawSpec": "~0.10.x", + "saveSpec": null, + "fetchSpec": "~0.10.x" + }, + "_requiredBy": [ + "/readable-stream" + ], + "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", + "_spec": "string_decoder@~0.10.x", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\readable-stream", + "bugs": { + "url": "https://github.com/rvagg/string_decoder/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "The string_decoder module from Node core", + "devDependencies": { + "tap": "~0.4.8" + }, + "homepage": "https://github.com/rvagg/string_decoder", + "keywords": [ + "string", + "decoder", + "browser", + "browserify" + ], + "license": "MIT", + "main": "index.js", + "name": "string_decoder", + "repository": { + "type": "git", + "url": "git://github.com/rvagg/string_decoder.git" + }, + "scripts": { + "test": "tap test/simple/*.js" + }, + "version": "0.10.31" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/.travis.yml new file mode 100644 index 0000000..f1d0f13 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.4 + - 0.6 diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/LICENSE.txt b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/LICENSE.txt new file mode 100644 index 0000000..ab861ac --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/LICENSE.txt @@ -0,0 +1,22 @@ +Copyright (c) 2012 Michael Hart (michael.hart.au@gmail.com) + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/README.md new file mode 100644 index 0000000..32fc982 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/README.md @@ -0,0 +1,38 @@ +# Decode streams into strings The Right Way(tm) + +```javascript +var fs = require('fs') +var zlib = require('zlib') +var strs = require('stringstream') + +var utf8Stream = fs.createReadStream('massiveLogFile.gz') + .pipe(zlib.createGunzip()) + .pipe(strs('utf8')) +``` + +No need to deal with `setEncoding()` weirdness, just compose streams +like they were supposed to be! + +Handles input and output encoding: + +```javascript +// Stream from utf8 to hex to base64... Why not, ay. +var hex64Stream = fs.createReadStream('myFile') + .pipe(strs('utf8', 'hex')) + .pipe(strs('hex', 'base64')) +``` + +Also deals with `base64` output correctly by aligning each emitted data +chunk so that there are no dangling `=` characters: + +```javascript +var stream = fs.createReadStream('myFile').pipe(strs('base64')) + +var base64Str = '' + +stream.on('data', function(data) { base64Str += data }) +stream.on('end', function() { + console.log('My base64 encoded file is: ' + base64Str) // Wouldn't work with setEncoding() + console.log('Original file is: ' + new Buffer(base64Str, 'base64')) +}) +``` diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/example.js b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/example.js new file mode 100644 index 0000000..f82b85e --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/example.js @@ -0,0 +1,27 @@ +var fs = require('fs') +var zlib = require('zlib') +var strs = require('stringstream') + +var utf8Stream = fs.createReadStream('massiveLogFile.gz') + .pipe(zlib.createGunzip()) + .pipe(strs('utf8')) + +utf8Stream.pipe(process.stdout) + +// Stream from utf8 to hex to base64... Why not, ay. +var hex64Stream = fs.createReadStream('myFile') + .pipe(strs('utf8', 'hex')) + .pipe(strs('hex', 'base64')) + +hex64Stream.pipe(process.stdout) + +// Deals with base64 correctly by aligning chunks +var stream = fs.createReadStream('myFile').pipe(strs('base64')) + +var base64Str = '' + +stream.on('data', function(data) { base64Str += data }) +stream.on('end', function() { + console.log('My base64 encoded file is: ' + base64Str) // Wouldn't work with setEncoding() + console.log('Original file is: ' + new Buffer(base64Str, 'base64')) +}) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/package.json new file mode 100644 index 0000000..930a61a --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/package.json @@ -0,0 +1,51 @@ +{ + "_from": "stringstream@~0.0.4", + "_id": "stringstream@0.0.6", + "_inBundle": false, + "_integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "_location": "/stringstream", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "stringstream@~0.0.4", + "name": "stringstream", + "escapedName": "stringstream", + "rawSpec": "~0.0.4", + "saveSpec": null, + "fetchSpec": "~0.0.4" + }, + "_requiredBy": [ + "/request" + ], + "_resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "_shasum": "7880225b0d4ad10e30927d167a1d6f2fd3b33a72", + "_spec": "stringstream@~0.0.4", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", + "author": { + "name": "Michael Hart", + "email": "michael.hart.au@gmail.com", + "url": "http://github.com/mhart" + }, + "bugs": { + "url": "https://github.com/mhart/StringStream/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Encode and decode streams into string streams", + "homepage": "https://github.com/mhart/StringStream#readme", + "keywords": [ + "string", + "stream", + "base64", + "gzip" + ], + "license": "MIT", + "main": "stringstream.js", + "name": "stringstream", + "repository": { + "type": "git", + "url": "git+https://github.com/mhart/StringStream.git" + }, + "version": "0.0.6" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/stringstream.js b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/stringstream.js new file mode 100644 index 0000000..6732b9d --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/stringstream.js @@ -0,0 +1,102 @@ +var util = require('util') +var Stream = require('stream') +var StringDecoder = require('string_decoder').StringDecoder + +module.exports = StringStream +module.exports.AlignedStringDecoder = AlignedStringDecoder + +function StringStream(from, to) { + if (!(this instanceof StringStream)) return new StringStream(from, to) + + Stream.call(this) + + if (from == null) from = 'utf8' + + this.readable = this.writable = true + this.paused = false + this.toEncoding = (to == null ? from : to) + this.fromEncoding = (to == null ? '' : from) + this.decoder = new AlignedStringDecoder(this.toEncoding) +} +util.inherits(StringStream, Stream) + +StringStream.prototype.write = function(data) { + if (!this.writable) { + var err = new Error('stream not writable') + err.code = 'EPIPE' + this.emit('error', err) + return false + } + if (this.fromEncoding) { + if (Buffer.isBuffer(data) || typeof data === 'number') data = data.toString() + data = new Buffer(data, this.fromEncoding) + } + var string = this.decoder.write(data) + if (string.length) this.emit('data', string) + return !this.paused +} + +StringStream.prototype.flush = function() { + if (this.decoder.flush) { + var string = this.decoder.flush() + if (string.length) this.emit('data', string) + } +} + +StringStream.prototype.end = function() { + if (!this.writable && !this.readable) return + this.flush() + this.emit('end') + this.writable = this.readable = false + this.destroy() +} + +StringStream.prototype.destroy = function() { + this.decoder = null + this.writable = this.readable = false + this.emit('close') +} + +StringStream.prototype.pause = function() { + this.paused = true +} + +StringStream.prototype.resume = function () { + if (this.paused) this.emit('drain') + this.paused = false +} + +function AlignedStringDecoder(encoding) { + StringDecoder.call(this, encoding) + + switch (this.encoding) { + case 'base64': + this.write = alignedWrite + this.alignedBuffer = new Buffer(3) + this.alignedBytes = 0 + break + } +} +util.inherits(AlignedStringDecoder, StringDecoder) + +AlignedStringDecoder.prototype.flush = function() { + if (!this.alignedBuffer || !this.alignedBytes) return '' + var leftover = this.alignedBuffer.toString(this.encoding, 0, this.alignedBytes) + this.alignedBytes = 0 + return leftover +} + +function alignedWrite(buffer) { + var rem = (this.alignedBytes + buffer.length) % this.alignedBuffer.length + if (!rem && !this.alignedBytes) return buffer.toString(this.encoding) + + var returnBuffer = new Buffer(this.alignedBytes + buffer.length - rem) + + this.alignedBuffer.copy(returnBuffer, 0, 0, this.alignedBytes) + buffer.copy(returnBuffer, this.alignedBytes, 0, buffer.length - rem) + + buffer.copy(this.alignedBuffer, 0, buffer.length - rem, buffer.length) + this.alignedBytes = rem + + return returnBuffer.toString(this.encoding) +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/index.js new file mode 100644 index 0000000..099480f --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/index.js @@ -0,0 +1,6 @@ +'use strict'; +var ansiRegex = require('ansi-regex')(); + +module.exports = function (str) { + return typeof str === 'string' ? str.replace(ansiRegex, '') : str; +}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/license b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/license new file mode 100644 index 0000000..654d0bf --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/package.json new file mode 100644 index 0000000..f28e5f0 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/package.json @@ -0,0 +1,101 @@ +{ + "_from": "strip-ansi@^3.0.0", + "_id": "strip-ansi@3.0.1", + "_inBundle": false, + "_integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "_location": "/strip-ansi", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "strip-ansi@^3.0.0", + "name": "strip-ansi", + "escapedName": "strip-ansi", + "rawSpec": "^3.0.0", + "saveSpec": null, + "fetchSpec": "^3.0.0" + }, + "_requiredBy": [ + "/chalk" + ], + "_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "_shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf", + "_spec": "strip-ansi@^3.0.0", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\chalk", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/chalk/strip-ansi/issues" + }, + "bundleDependencies": false, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "deprecated": false, + "description": "Strip ANSI escape codes", + "devDependencies": { + "ava": "*", + "xo": "*" + }, + "engines": { + "node": ">=0.10.0" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/chalk/strip-ansi#readme", + "keywords": [ + "strip", + "trim", + "remove", + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "license": "MIT", + "maintainers": [ + { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + { + "name": "Joshua Boy Nicolai Appelman", + "email": "joshua@jbna.nl", + "url": "jbna.nl" + }, + { + "name": "JD Ballard", + "email": "i.am.qix@gmail.com", + "url": "github.com/qix-" + } + ], + "name": "strip-ansi", + "repository": { + "type": "git", + "url": "git+https://github.com/chalk/strip-ansi.git" + }, + "scripts": { + "test": "xo && ava" + }, + "version": "3.0.1" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/readme.md b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/readme.md new file mode 100644 index 0000000..cb7d9ff --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/readme.md @@ -0,0 +1,33 @@ +# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi) + +> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) + + +## Install + +``` +$ npm install --save strip-ansi +``` + + +## Usage + +```js +var stripAnsi = require('strip-ansi'); + +stripAnsi('\u001b[4mcake\u001b[0m'); +//=> 'cake' +``` + + +## Related + +- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module +- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes +- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes +- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/index.js new file mode 100644 index 0000000..4346e27 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/index.js @@ -0,0 +1,50 @@ +'use strict'; +var argv = process.argv; + +var terminator = argv.indexOf('--'); +var hasFlag = function (flag) { + flag = '--' + flag; + var pos = argv.indexOf(flag); + return pos !== -1 && (terminator !== -1 ? pos < terminator : true); +}; + +module.exports = (function () { + if ('FORCE_COLOR' in process.env) { + return true; + } + + if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + return false; + } + + if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + return true; + } + + if (process.stdout && !process.stdout.isTTY) { + return false; + } + + if (process.platform === 'win32') { + return true; + } + + if ('COLORTERM' in process.env) { + return true; + } + + if (process.env.TERM === 'dumb') { + return false; + } + + if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { + return true; + } + + return false; +})(); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/license b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/license new file mode 100644 index 0000000..654d0bf --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/package.json new file mode 100644 index 0000000..df1be6f --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/package.json @@ -0,0 +1,89 @@ +{ + "_from": "supports-color@^2.0.0", + "_id": "supports-color@2.0.0", + "_inBundle": false, + "_integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "_location": "/supports-color", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "supports-color@^2.0.0", + "name": "supports-color", + "escapedName": "supports-color", + "rawSpec": "^2.0.0", + "saveSpec": null, + "fetchSpec": "^2.0.0" + }, + "_requiredBy": [ + "/chalk" + ], + "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "_shasum": "535d045ce6b6363fa40117084629995e9df324c7", + "_spec": "supports-color@^2.0.0", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\chalk", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/chalk/supports-color/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Detect whether a terminal supports color", + "devDependencies": { + "mocha": "*", + "require-uncached": "^1.0.2" + }, + "engines": { + "node": ">=0.8.0" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/chalk/supports-color#readme", + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "ansi", + "styles", + "tty", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "support", + "supports", + "capability", + "detect" + ], + "license": "MIT", + "maintainers": [ + { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + { + "name": "Joshua Appelman", + "email": "jappelman@xebia.com", + "url": "jbnicolai.com" + } + ], + "name": "supports-color", + "repository": { + "type": "git", + "url": "git+https://github.com/chalk/supports-color.git" + }, + "scripts": { + "test": "mocha" + }, + "version": "2.0.0" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/readme.md b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/readme.md new file mode 100644 index 0000000..b4761f1 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/readme.md @@ -0,0 +1,36 @@ +# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color) + +> Detect whether a terminal supports color + + +## Install + +``` +$ npm install --save supports-color +``` + + +## Usage + +```js +var supportsColor = require('supports-color'); + +if (supportsColor) { + console.log('Terminal supports color'); +} +``` + +It obeys the `--color` and `--no-color` CLI flags. + +For situations where using `--color` is not possible, add an environment variable `FORCE_COLOR` with any value to force color. Trumps `--no-color`. + + +## Related + +- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module +- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/LICENSE new file mode 100644 index 0000000..22204e8 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/LICENSE @@ -0,0 +1,12 @@ +Copyright (c) 2015, Salesforce.com, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/README.md new file mode 100644 index 0000000..656a255 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/README.md @@ -0,0 +1,527 @@ +[RFC6265](https://tools.ietf.org/html/rfc6265) Cookies and CookieJar for Node.js + +[![npm package](https://nodei.co/npm/tough-cookie.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/tough-cookie/) + +[![Build Status](https://travis-ci.org/salesforce/tough-cookie.png?branch=master)](https://travis-ci.org/salesforce/tough-cookie) + +# Synopsis + +``` javascript +var tough = require('tough-cookie'); +var Cookie = tough.Cookie; +var cookie = Cookie.parse(header); +cookie.value = 'somethingdifferent'; +header = cookie.toString(); + +var cookiejar = new tough.CookieJar(); +cookiejar.setCookie(cookie, 'http://currentdomain.example.com/path', cb); +// ... +cookiejar.getCookies('http://example.com/otherpath',function(err,cookies) { + res.headers['cookie'] = cookies.join('; '); +}); +``` + +# Installation + +It's _so_ easy! + +`npm install tough-cookie` + +Why the name? NPM modules `cookie`, `cookies` and `cookiejar` were already taken. + +## Version Support + +Support for versions of node.js will follow that of the [request](https://www.npmjs.com/package/request) module. + +# API + +## tough + +Functions on the module you get from `require('tough-cookie')`. All can be used as pure functions and don't need to be "bound". + +**Note**: prior to 1.0.x, several of these functions took a `strict` parameter. This has since been removed from the API as it was no longer necessary. + +### `parseDate(string)` + +Parse a cookie date string into a `Date`. Parses according to RFC6265 Section 5.1.1, not `Date.parse()`. + +### `formatDate(date)` + +Format a Date into a RFC1123 string (the RFC6265-recommended format). + +### `canonicalDomain(str)` + +Transforms a domain-name into a canonical domain-name. The canonical domain-name is a trimmed, lowercased, stripped-of-leading-dot and optionally punycode-encoded domain-name (Section 5.1.2 of RFC6265). For the most part, this function is idempotent (can be run again on its output without ill effects). + +### `domainMatch(str,domStr[,canonicalize=true])` + +Answers "does this real domain match the domain in a cookie?". The `str` is the "current" domain-name and the `domStr` is the "cookie" domain-name. Matches according to RFC6265 Section 5.1.3, but it helps to think of it as a "suffix match". + +The `canonicalize` parameter will run the other two parameters through `canonicalDomain` or not. + +### `defaultPath(path)` + +Given a current request/response path, gives the Path apropriate for storing in a cookie. This is basically the "directory" of a "file" in the path, but is specified by Section 5.1.4 of the RFC. + +The `path` parameter MUST be _only_ the pathname part of a URI (i.e. excludes the hostname, query, fragment, etc.). This is the `.pathname` property of node's `uri.parse()` output. + +### `pathMatch(reqPath,cookiePath)` + +Answers "does the request-path path-match a given cookie-path?" as per RFC6265 Section 5.1.4. Returns a boolean. + +This is essentially a prefix-match where `cookiePath` is a prefix of `reqPath`. + +### `parse(cookieString[, options])` + +alias for `Cookie.parse(cookieString[, options])` + +### `fromJSON(string)` + +alias for `Cookie.fromJSON(string)` + +### `getPublicSuffix(hostname)` + +Returns the public suffix of this hostname. The public suffix is the shortest domain-name upon which a cookie can be set. Returns `null` if the hostname cannot have cookies set for it. + +For example: `www.example.com` and `www.subdomain.example.com` both have public suffix `example.com`. + +For further information, see http://publicsuffix.org/. This module derives its list from that site. This call is currently a wrapper around [`psl`](https://www.npmjs.com/package/psl)'s [get() method](https://www.npmjs.com/package/psl#pslgetdomain). + +### `cookieCompare(a,b)` + +For use with `.sort()`, sorts a list of cookies into the recommended order given in the RFC (Section 5.4 step 2). The sort algorithm is, in order of precedence: + +* Longest `.path` +* oldest `.creation` (which has a 1ms precision, same as `Date`) +* lowest `.creationIndex` (to get beyond the 1ms precision) + +``` javascript +var cookies = [ /* unsorted array of Cookie objects */ ]; +cookies = cookies.sort(cookieCompare); +``` + +**Note**: Since JavaScript's `Date` is limited to a 1ms precision, cookies within the same milisecond are entirely possible. This is especially true when using the `now` option to `.setCookie()`. The `.creationIndex` property is a per-process global counter, assigned during construction with `new Cookie()`. This preserves the spirit of the RFC sorting: older cookies go first. This works great for `MemoryCookieStore`, since `Set-Cookie` headers are parsed in order, but may not be so great for distributed systems. Sophisticated `Store`s may wish to set this to some other _logical clock_ such that if cookies A and B are created in the same millisecond, but cookie A is created before cookie B, then `A.creationIndex < B.creationIndex`. If you want to alter the global counter, which you probably _shouldn't_ do, it's stored in `Cookie.cookiesCreated`. + +### `permuteDomain(domain)` + +Generates a list of all possible domains that `domainMatch()` the parameter. May be handy for implementing cookie stores. + +### `permutePath(path)` + +Generates a list of all possible paths that `pathMatch()` the parameter. May be handy for implementing cookie stores. + + +## Cookie + +Exported via `tough.Cookie`. + +### `Cookie.parse(cookieString[, options])` + +Parses a single Cookie or Set-Cookie HTTP header into a `Cookie` object. Returns `undefined` if the string can't be parsed. + +The options parameter is not required and currently has only one property: + + * _loose_ - boolean - if `true` enable parsing of key-less cookies like `=abc` and `=`, which are not RFC-compliant. + +If options is not an object, it is ignored, which means you can use `Array#map` with it. + +Here's how to process the Set-Cookie header(s) on a node HTTP/HTTPS response: + +``` javascript +if (res.headers['set-cookie'] instanceof Array) + cookies = res.headers['set-cookie'].map(Cookie.parse); +else + cookies = [Cookie.parse(res.headers['set-cookie'])]; +``` + +_Note:_ in version 2.3.3, tough-cookie limited the number of spaces before the `=` to 256 characters. This limitation has since been removed. +See [Issue 92](https://github.com/salesforce/tough-cookie/issues/92) + +### Properties + +Cookie object properties: + + * _key_ - string - the name or key of the cookie (default "") + * _value_ - string - the value of the cookie (default "") + * _expires_ - `Date` - if set, the `Expires=` attribute of the cookie (defaults to the string `"Infinity"`). See `setExpires()` + * _maxAge_ - seconds - if set, the `Max-Age=` attribute _in seconds_ of the cookie. May also be set to strings `"Infinity"` and `"-Infinity"` for non-expiry and immediate-expiry, respectively. See `setMaxAge()` + * _domain_ - string - the `Domain=` attribute of the cookie + * _path_ - string - the `Path=` of the cookie + * _secure_ - boolean - the `Secure` cookie flag + * _httpOnly_ - boolean - the `HttpOnly` cookie flag + * _extensions_ - `Array` - any unrecognized cookie attributes as strings (even if equal-signs inside) + * _creation_ - `Date` - when this cookie was constructed + * _creationIndex_ - number - set at construction, used to provide greater sort precision (please see `cookieCompare(a,b)` for a full explanation) + +After a cookie has been passed through `CookieJar.setCookie()` it will have the following additional attributes: + + * _hostOnly_ - boolean - is this a host-only cookie (i.e. no Domain field was set, but was instead implied) + * _pathIsDefault_ - boolean - if true, there was no Path field on the cookie and `defaultPath()` was used to derive one. + * _creation_ - `Date` - **modified** from construction to when the cookie was added to the jar + * _lastAccessed_ - `Date` - last time the cookie got accessed. Will affect cookie cleaning once implemented. Using `cookiejar.getCookies(...)` will update this attribute. + +### `Cookie([{properties}])` + +Receives an options object that can contain any of the above Cookie properties, uses the default for unspecified properties. + +### `.toString()` + +encode to a Set-Cookie header value. The Expires cookie field is set using `formatDate()`, but is omitted entirely if `.expires` is `Infinity`. + +### `.cookieString()` + +encode to a Cookie header value (i.e. the `.key` and `.value` properties joined with '='). + +### `.setExpires(String)` + +sets the expiry based on a date-string passed through `parseDate()`. If parseDate returns `null` (i.e. can't parse this date string), `.expires` is set to `"Infinity"` (a string) is set. + +### `.setMaxAge(number)` + +sets the maxAge in seconds. Coerces `-Infinity` to `"-Infinity"` and `Infinity` to `"Infinity"` so it JSON serializes correctly. + +### `.expiryTime([now=Date.now()])` + +### `.expiryDate([now=Date.now()])` + +expiryTime() Computes the absolute unix-epoch milliseconds that this cookie expires. expiryDate() works similarly, except it returns a `Date` object. Note that in both cases the `now` parameter should be milliseconds. + +Max-Age takes precedence over Expires (as per the RFC). The `.creation` attribute -- or, by default, the `now` parameter -- is used to offset the `.maxAge` attribute. + +If Expires (`.expires`) is set, that's returned. + +Otherwise, `expiryTime()` returns `Infinity` and `expiryDate()` returns a `Date` object for "Tue, 19 Jan 2038 03:14:07 GMT" (latest date that can be expressed by a 32-bit `time_t`; the common limit for most user-agents). + +### `.TTL([now=Date.now()])` + +compute the TTL relative to `now` (milliseconds). The same precedence rules as for `expiryTime`/`expiryDate` apply. + +The "number" `Infinity` is returned for cookies without an explicit expiry and `0` is returned if the cookie is expired. Otherwise a time-to-live in milliseconds is returned. + +### `.canonicalizedDomain()` + +### `.cdomain()` + +return the canonicalized `.domain` field. This is lower-cased and punycode (RFC3490) encoded if the domain has any non-ASCII characters. + +### `.toJSON()` + +For convenience in using `JSON.serialize(cookie)`. Returns a plain-old `Object` that can be JSON-serialized. + +Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are exported in ISO format (`.toISOString()`). + +**NOTE**: Custom `Cookie` properties will be discarded. In tough-cookie 1.x, since there was no `.toJSON` method explicitly defined, all enumerable properties were captured. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array. + +### `Cookie.fromJSON(strOrObj)` + +Does the reverse of `cookie.toJSON()`. If passed a string, will `JSON.parse()` that first. + +Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are parsed via `Date.parse()`, not the tough-cookie `parseDate`, since it's JavaScript/JSON-y timestamps being handled at this layer. + +Returns `null` upon JSON parsing error. + +### `.clone()` + +Does a deep clone of this cookie, exactly implemented as `Cookie.fromJSON(cookie.toJSON())`. + +### `.validate()` + +Status: *IN PROGRESS*. Works for a few things, but is by no means comprehensive. + +validates cookie attributes for semantic correctness. Useful for "lint" checking any Set-Cookie headers you generate. For now, it returns a boolean, but eventually could return a reason string -- you can future-proof with this construct: + +``` javascript +if (cookie.validate() === true) { + // it's tasty +} else { + // yuck! +} +``` + + +## CookieJar + +Exported via `tough.CookieJar`. + +### `CookieJar([store],[options])` + +Simply use `new CookieJar()`. If you'd like to use a custom store, pass that to the constructor otherwise a `MemoryCookieStore` will be created and used. + +The `options` object can be omitted and can have the following properties: + + * _rejectPublicSuffixes_ - boolean - default `true` - reject cookies with domains like "com" and "co.uk" + * _looseMode_ - boolean - default `false` - accept malformed cookies like `bar` and `=bar`, which have an implied empty name. + This is not in the standard, but is used sometimes on the web and is accepted by (most) browsers. + +Since eventually this module would like to support database/remote/etc. CookieJars, continuation passing style is used for CookieJar methods. + +### `.setCookie(cookieOrString, currentUrl, [{options},] cb(err,cookie))` + +Attempt to set the cookie in the cookie jar. If the operation fails, an error will be given to the callback `cb`, otherwise the cookie is passed through. The cookie will have updated `.creation`, `.lastAccessed` and `.hostOnly` properties. + +The `options` object can be omitted and can have the following properties: + + * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies. + * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`. + * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies + * _ignoreError_ - boolean - default `false` - silently ignore things like parse errors and invalid domains. `Store` errors aren't ignored by this option. + +As per the RFC, the `.hostOnly` property is set if there was no "Domain=" parameter in the cookie string (or `.domain` was null on the Cookie object). The `.domain` property is set to the fully-qualified hostname of `currentUrl` in this case. Matching this cookie requires an exact hostname match (not a `domainMatch` as per usual). + +### `.setCookieSync(cookieOrString, currentUrl, [{options}])` + +Synchronous version of `setCookie`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). + +### `.getCookies(currentUrl, [{options},] cb(err,cookies))` + +Retrieve the list of cookies that can be sent in a Cookie header for the current url. + +If an error is encountered, that's passed as `err` to the callback, otherwise an `Array` of `Cookie` objects is passed. The array is sorted with `cookieCompare()` unless the `{sort:false}` option is given. + +The `options` object can be omitted and can have the following properties: + + * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies. + * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`. + * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies + * _expire_ - boolean - default `true` - perform expiry-time checking of cookies and asynchronously remove expired cookies from the store. Using `false` will return expired cookies and **not** remove them from the store (which is useful for replaying Set-Cookie headers, potentially). + * _allPaths_ - boolean - default `false` - if `true`, do not scope cookies by path. The default uses RFC-compliant path scoping. **Note**: may not be supported by the underlying store (the default `MemoryCookieStore` supports it). + +The `.lastAccessed` property of the returned cookies will have been updated. + +### `.getCookiesSync(currentUrl, [{options}])` + +Synchronous version of `getCookies`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). + +### `.getCookieString(...)` + +Accepts the same options as `.getCookies()` but passes a string suitable for a Cookie header rather than an array to the callback. Simply maps the `Cookie` array via `.cookieString()`. + +### `.getCookieStringSync(...)` + +Synchronous version of `getCookieString`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). + +### `.getSetCookieStrings(...)` + +Returns an array of strings suitable for **Set-Cookie** headers. Accepts the same options as `.getCookies()`. Simply maps the cookie array via `.toString()`. + +### `.getSetCookieStringsSync(...)` + +Synchronous version of `getSetCookieStrings`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). + +### `.serialize(cb(err,serializedObject))` + +Serialize the Jar if the underlying store supports `.getAllCookies`. + +**NOTE**: Custom `Cookie` properties will be discarded. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array. + +See [Serialization Format]. + +### `.serializeSync()` + +Sync version of .serialize + +### `.toJSON()` + +Alias of .serializeSync() for the convenience of `JSON.stringify(cookiejar)`. + +### `CookieJar.deserialize(serialized, [store], cb(err,object))` + +A new Jar is created and the serialized Cookies are added to the underlying store. Each `Cookie` is added via `store.putCookie` in the order in which they appear in the serialization. + +The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created. + +As a convenience, if `serialized` is a string, it is passed through `JSON.parse` first. If that throws an error, this is passed to the callback. + +### `CookieJar.deserializeSync(serialized, [store])` + +Sync version of `.deserialize`. _Note_ that the `store` must be synchronous for this to work. + +### `CookieJar.fromJSON(string)` + +Alias of `.deserializeSync` to provide consistency with `Cookie.fromJSON()`. + +### `.clone([store,]cb(err,newJar))` + +Produces a deep clone of this jar. Modifications to the original won't affect the clone, and vice versa. + +The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created. Transferring between store types is supported so long as the source implements `.getAllCookies()` and the destination implements `.putCookie()`. + +### `.cloneSync([store])` + +Synchronous version of `.clone`, returning a new `CookieJar` instance. + +The `store` argument is optional, but must be a _synchronous_ `Store` instance if specified. If not passed, a new instance of `MemoryCookieStore` is used. + +The _source_ and _destination_ must both be synchronous `Store`s. If one or both stores are asynchronous, use `.clone` instead. Recall that `MemoryCookieStore` supports both synchronous and asynchronous API calls. + +### `.removeAllCookies(cb(err))` + +Removes all cookies from the jar. + +This is a new backwards-compatible feature of `tough-cookie` version 2.5, so not all Stores will implement it efficiently. For Stores that do not implement `removeAllCookies`, the fallback is to call `removeCookie` after `getAllCookies`. If `getAllCookies` fails or isn't implemented in the Store, that error is returned. If one or more of the `removeCookie` calls fail, only the first error is returned. + +### `.removeAllCookiesSync()` + +Sync version of `.removeAllCookies()` + +## Store + +Base class for CookieJar stores. Available as `tough.Store`. + +## Store API + +The storage model for each `CookieJar` instance can be replaced with a custom implementation. The default is `MemoryCookieStore` which can be found in the `lib/memstore.js` file. The API uses continuation-passing-style to allow for asynchronous stores. + +Stores should inherit from the base `Store` class, which is available as `require('tough-cookie').Store`. + +Stores are asynchronous by default, but if `store.synchronous` is set to `true`, then the `*Sync` methods on the of the containing `CookieJar` can be used (however, the continuation-passing style + +All `domain` parameters will have been normalized before calling. + +The Cookie store must have all of the following methods. + +### `store.findCookie(domain, path, key, cb(err,cookie))` + +Retrieve a cookie with the given domain, path and key (a.k.a. name). The RFC maintains that exactly one of these cookies should exist in a store. If the store is using versioning, this means that the latest/newest such cookie should be returned. + +Callback takes an error and the resulting `Cookie` object. If no cookie is found then `null` MUST be passed instead (i.e. not an error). + +### `store.findCookies(domain, path, cb(err,cookies))` + +Locates cookies matching the given domain and path. This is most often called in the context of `cookiejar.getCookies()` above. + +If no cookies are found, the callback MUST be passed an empty array. + +The resulting list will be checked for applicability to the current request according to the RFC (domain-match, path-match, http-only-flag, secure-flag, expiry, etc.), so it's OK to use an optimistic search algorithm when implementing this method. However, the search algorithm used SHOULD try to find cookies that `domainMatch()` the domain and `pathMatch()` the path in order to limit the amount of checking that needs to be done. + +As of version 0.9.12, the `allPaths` option to `cookiejar.getCookies()` above will cause the path here to be `null`. If the path is `null`, path-matching MUST NOT be performed (i.e. domain-matching only). + +### `store.putCookie(cookie, cb(err))` + +Adds a new cookie to the store. The implementation SHOULD replace any existing cookie with the same `.domain`, `.path`, and `.key` properties -- depending on the nature of the implementation, it's possible that between the call to `fetchCookie` and `putCookie` that a duplicate `putCookie` can occur. + +The `cookie` object MUST NOT be modified; the caller will have already updated the `.creation` and `.lastAccessed` properties. + +Pass an error if the cookie cannot be stored. + +### `store.updateCookie(oldCookie, newCookie, cb(err))` + +Update an existing cookie. The implementation MUST update the `.value` for a cookie with the same `domain`, `.path` and `.key`. The implementation SHOULD check that the old value in the store is equivalent to `oldCookie` - how the conflict is resolved is up to the store. + +The `.lastAccessed` property will always be different between the two objects (to the precision possible via JavaScript's clock). Both `.creation` and `.creationIndex` are guaranteed to be the same. Stores MAY ignore or defer the `.lastAccessed` change at the cost of affecting how cookies are selected for automatic deletion (e.g., least-recently-used, which is up to the store to implement). + +Stores may wish to optimize changing the `.value` of the cookie in the store versus storing a new cookie. If the implementation doesn't define this method a stub that calls `putCookie(newCookie,cb)` will be added to the store object. + +The `newCookie` and `oldCookie` objects MUST NOT be modified. + +Pass an error if the newCookie cannot be stored. + +### `store.removeCookie(domain, path, key, cb(err))` + +Remove a cookie from the store (see notes on `findCookie` about the uniqueness constraint). + +The implementation MUST NOT pass an error if the cookie doesn't exist; only pass an error due to the failure to remove an existing cookie. + +### `store.removeCookies(domain, path, cb(err))` + +Removes matching cookies from the store. The `path` parameter is optional, and if missing means all paths in a domain should be removed. + +Pass an error ONLY if removing any existing cookies failed. + +### `store.removeAllCookies(cb(err))` + +_Optional_. Removes all cookies from the store. + +Pass an error if one or more cookies can't be removed. + +**Note**: New method as of `tough-cookie` version 2.5, so not all Stores will implement this, plus some stores may choose not to implement this. + +### `store.getAllCookies(cb(err, cookies))` + +_Optional_. Produces an `Array` of all cookies during `jar.serialize()`. The items in the array can be true `Cookie` objects or generic `Object`s with the [Serialization Format] data structure. + +Cookies SHOULD be returned in creation order to preserve sorting via `compareCookies()`. For reference, `MemoryCookieStore` will sort by `.creationIndex` since it uses true `Cookie` objects internally. If you don't return the cookies in creation order, they'll still be sorted by creation time, but this only has a precision of 1ms. See `compareCookies` for more detail. + +Pass an error if retrieval fails. + +**Note**: not all Stores can implement this due to technical limitations, so it is optional. + +## MemoryCookieStore + +Inherits from `Store`. + +A just-in-memory CookieJar synchronous store implementation, used by default. Despite being a synchronous implementation, it's usable with both the synchronous and asynchronous forms of the `CookieJar` API. Supports serialization, `getAllCookies`, and `removeAllCookies`. + +## Community Cookie Stores + +These are some Store implementations authored and maintained by the community. They aren't official and we don't vouch for them but you may be interested to have a look: + +- [`db-cookie-store`](https://github.com/JSBizon/db-cookie-store): SQL including SQLite-based databases +- [`file-cookie-store`](https://github.com/JSBizon/file-cookie-store): Netscape cookie file format on disk +- [`redis-cookie-store`](https://github.com/benkroeger/redis-cookie-store): Redis +- [`tough-cookie-filestore`](https://github.com/mitsuru/tough-cookie-filestore): JSON on disk +- [`tough-cookie-web-storage-store`](https://github.com/exponentjs/tough-cookie-web-storage-store): DOM localStorage and sessionStorage + + +# Serialization Format + +**NOTE**: if you want to have custom `Cookie` properties serialized, add the property name to `Cookie.serializableProperties`. + +```js + { + // The version of tough-cookie that serialized this jar. + version: 'tough-cookie@1.x.y', + + // add the store type, to make humans happy: + storeType: 'MemoryCookieStore', + + // CookieJar configuration: + rejectPublicSuffixes: true, + // ... future items go here + + // Gets filled from jar.store.getAllCookies(): + cookies: [ + { + key: 'string', + value: 'string', + // ... + /* other Cookie.serializableProperties go here */ + } + ] + } +``` + +# Copyright and License + +BSD-3-Clause: + +```text + Copyright (c) 2015, Salesforce.com, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of Salesforce.com nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +``` diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/cookie.js b/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/cookie.js new file mode 100644 index 0000000..2ab6f09 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/cookie.js @@ -0,0 +1,1488 @@ +/*! + * Copyright (c) 2015, Salesforce.com, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of Salesforce.com nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +'use strict'; +var urlParse = require('url').parse; +var util = require('util'); +var ipRegex = require('ip-regex')({ exact: true }); +var pubsuffix = require('./pubsuffix-psl'); +var Store = require('./store').Store; +var MemoryCookieStore = require('./memstore').MemoryCookieStore; +var pathMatch = require('./pathMatch').pathMatch; +var VERSION = require('./version'); + +var punycode; +try { + punycode = require('punycode'); +} catch(e) { + console.warn("tough-cookie: can't load punycode; won't use punycode for domain normalization"); +} + +// From RFC6265 S4.1.1 +// note that it excludes \x3B ";" +var COOKIE_OCTETS = /^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/; + +var CONTROL_CHARS = /[\x00-\x1F]/; + +// From Chromium // '\r', '\n' and '\0' should be treated as a terminator in +// the "relaxed" mode, see: +// https://github.com/ChromiumWebApps/chromium/blob/b3d3b4da8bb94c1b2e061600df106d590fda3620/net/cookies/parsed_cookie.cc#L60 +var TERMINATORS = ['\n', '\r', '\0']; + +// RFC6265 S4.1.1 defines path value as 'any CHAR except CTLs or ";"' +// Note ';' is \x3B +var PATH_VALUE = /[\x20-\x3A\x3C-\x7E]+/; + +// date-time parsing constants (RFC6265 S5.1.1) + +var DATE_DELIM = /[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/; + +var MONTH_TO_NUM = { + jan:0, feb:1, mar:2, apr:3, may:4, jun:5, + jul:6, aug:7, sep:8, oct:9, nov:10, dec:11 +}; +var NUM_TO_MONTH = [ + 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' +]; +var NUM_TO_DAY = [ + 'Sun','Mon','Tue','Wed','Thu','Fri','Sat' +]; + +var MAX_TIME = 2147483647000; // 31-bit max +var MIN_TIME = 0; // 31-bit min + +/* + * Parses a Natural number (i.e., non-negative integer) with either the + * *DIGIT ( non-digit *OCTET ) + * or + * *DIGIT + * grammar (RFC6265 S5.1.1). + * + * The "trailingOK" boolean controls if the grammar accepts a + * "( non-digit *OCTET )" trailer. + */ +function parseDigits(token, minDigits, maxDigits, trailingOK) { + var count = 0; + while (count < token.length) { + var c = token.charCodeAt(count); + // "non-digit = %x00-2F / %x3A-FF" + if (c <= 0x2F || c >= 0x3A) { + break; + } + count++; + } + + // constrain to a minimum and maximum number of digits. + if (count < minDigits || count > maxDigits) { + return null; + } + + if (!trailingOK && count != token.length) { + return null; + } + + return parseInt(token.substr(0,count), 10); +} + +function parseTime(token) { + var parts = token.split(':'); + var result = [0,0,0]; + + /* RF6256 S5.1.1: + * time = hms-time ( non-digit *OCTET ) + * hms-time = time-field ":" time-field ":" time-field + * time-field = 1*2DIGIT + */ + + if (parts.length !== 3) { + return null; + } + + for (var i = 0; i < 3; i++) { + // "time-field" must be strictly "1*2DIGIT", HOWEVER, "hms-time" can be + // followed by "( non-digit *OCTET )" so therefore the last time-field can + // have a trailer + var trailingOK = (i == 2); + var num = parseDigits(parts[i], 1, 2, trailingOK); + if (num === null) { + return null; + } + result[i] = num; + } + + return result; +} + +function parseMonth(token) { + token = String(token).substr(0,3).toLowerCase(); + var num = MONTH_TO_NUM[token]; + return num >= 0 ? num : null; +} + +/* + * RFC6265 S5.1.1 date parser (see RFC for full grammar) + */ +function parseDate(str) { + if (!str) { + return; + } + + /* RFC6265 S5.1.1: + * 2. Process each date-token sequentially in the order the date-tokens + * appear in the cookie-date + */ + var tokens = str.split(DATE_DELIM); + if (!tokens) { + return; + } + + var hour = null; + var minute = null; + var second = null; + var dayOfMonth = null; + var month = null; + var year = null; + + for (var i=0; i= 70 && year <= 99) { + year += 1900; + } else if (year >= 0 && year <= 69) { + year += 2000; + } + } + } + } + + /* RFC 6265 S5.1.1 + * "5. Abort these steps and fail to parse the cookie-date if: + * * at least one of the found-day-of-month, found-month, found- + * year, or found-time flags is not set, + * * the day-of-month-value is less than 1 or greater than 31, + * * the year-value is less than 1601, + * * the hour-value is greater than 23, + * * the minute-value is greater than 59, or + * * the second-value is greater than 59. + * (Note that leap seconds cannot be represented in this syntax.)" + * + * So, in order as above: + */ + if ( + dayOfMonth === null || month === null || year === null || second === null || + dayOfMonth < 1 || dayOfMonth > 31 || + year < 1601 || + hour > 23 || + minute > 59 || + second > 59 + ) { + return; + } + + return new Date(Date.UTC(year, month, dayOfMonth, hour, minute, second)); +} + +function formatDate(date) { + var d = date.getUTCDate(); d = d >= 10 ? d : '0'+d; + var h = date.getUTCHours(); h = h >= 10 ? h : '0'+h; + var m = date.getUTCMinutes(); m = m >= 10 ? m : '0'+m; + var s = date.getUTCSeconds(); s = s >= 10 ? s : '0'+s; + return NUM_TO_DAY[date.getUTCDay()] + ', ' + + d+' '+ NUM_TO_MONTH[date.getUTCMonth()] +' '+ date.getUTCFullYear() +' '+ + h+':'+m+':'+s+' GMT'; +} + +// S5.1.2 Canonicalized Host Names +function canonicalDomain(str) { + if (str == null) { + return null; + } + str = str.trim().replace(/^\./,''); // S4.1.2.3 & S5.2.3: ignore leading . + + // convert to IDN if any non-ASCII characters + if (punycode && /[^\u0001-\u007f]/.test(str)) { + str = punycode.toASCII(str); + } + + return str.toLowerCase(); +} + +// S5.1.3 Domain Matching +function domainMatch(str, domStr, canonicalize) { + if (str == null || domStr == null) { + return null; + } + if (canonicalize !== false) { + str = canonicalDomain(str); + domStr = canonicalDomain(domStr); + } + + /* + * "The domain string and the string are identical. (Note that both the + * domain string and the string will have been canonicalized to lower case at + * this point)" + */ + if (str == domStr) { + return true; + } + + /* "All of the following [three] conditions hold:" (order adjusted from the RFC) */ + + /* "* The string is a host name (i.e., not an IP address)." */ + if (ipRegex.test(str)) { + return false; + } + + /* "* The domain string is a suffix of the string" */ + var idx = str.indexOf(domStr); + if (idx <= 0) { + return false; // it's a non-match (-1) or prefix (0) + } + + // e.g "a.b.c".indexOf("b.c") === 2 + // 5 === 3+2 + if (str.length !== domStr.length + idx) { // it's not a suffix + return false; + } + + /* "* The last character of the string that is not included in the domain + * string is a %x2E (".") character." */ + if (str.substr(idx-1,1) !== '.') { + return false; + } + + return true; +} + + +// RFC6265 S5.1.4 Paths and Path-Match + +/* + * "The user agent MUST use an algorithm equivalent to the following algorithm + * to compute the default-path of a cookie:" + * + * Assumption: the path (and not query part or absolute uri) is passed in. + */ +function defaultPath(path) { + // "2. If the uri-path is empty or if the first character of the uri-path is not + // a %x2F ("/") character, output %x2F ("/") and skip the remaining steps. + if (!path || path.substr(0,1) !== "/") { + return "/"; + } + + // "3. If the uri-path contains no more than one %x2F ("/") character, output + // %x2F ("/") and skip the remaining step." + if (path === "/") { + return path; + } + + var rightSlash = path.lastIndexOf("/"); + if (rightSlash === 0) { + return "/"; + } + + // "4. Output the characters of the uri-path from the first character up to, + // but not including, the right-most %x2F ("/")." + return path.slice(0, rightSlash); +} + +function trimTerminator(str) { + for (var t = 0; t < TERMINATORS.length; t++) { + var terminatorIdx = str.indexOf(TERMINATORS[t]); + if (terminatorIdx !== -1) { + str = str.substr(0,terminatorIdx); + } + } + + return str; +} + +function parseCookiePair(cookiePair, looseMode) { + cookiePair = trimTerminator(cookiePair); + + var firstEq = cookiePair.indexOf('='); + if (looseMode) { + if (firstEq === 0) { // '=' is immediately at start + cookiePair = cookiePair.substr(1); + firstEq = cookiePair.indexOf('='); // might still need to split on '=' + } + } else { // non-loose mode + if (firstEq <= 0) { // no '=' or is at start + return; // needs to have non-empty "cookie-name" + } + } + + var cookieName, cookieValue; + if (firstEq <= 0) { + cookieName = ""; + cookieValue = cookiePair.trim(); + } else { + cookieName = cookiePair.substr(0, firstEq).trim(); + cookieValue = cookiePair.substr(firstEq+1).trim(); + } + + if (CONTROL_CHARS.test(cookieName) || CONTROL_CHARS.test(cookieValue)) { + return; + } + + var c = new Cookie(); + c.key = cookieName; + c.value = cookieValue; + return c; +} + +function parse(str, options) { + if (!options || typeof options !== 'object') { + options = {}; + } + str = str.trim(); + + // We use a regex to parse the "name-value-pair" part of S5.2 + var firstSemi = str.indexOf(';'); // S5.2 step 1 + var cookiePair = (firstSemi === -1) ? str : str.substr(0, firstSemi); + var c = parseCookiePair(cookiePair, !!options.loose); + if (!c) { + return; + } + + if (firstSemi === -1) { + return c; + } + + // S5.2.3 "unparsed-attributes consist of the remainder of the set-cookie-string + // (including the %x3B (";") in question)." plus later on in the same section + // "discard the first ";" and trim". + var unparsed = str.slice(firstSemi + 1).trim(); + + // "If the unparsed-attributes string is empty, skip the rest of these + // steps." + if (unparsed.length === 0) { + return c; + } + + /* + * S5.2 says that when looping over the items "[p]rocess the attribute-name + * and attribute-value according to the requirements in the following + * subsections" for every item. Plus, for many of the individual attributes + * in S5.3 it says to use the "attribute-value of the last attribute in the + * cookie-attribute-list". Therefore, in this implementation, we overwrite + * the previous value. + */ + var cookie_avs = unparsed.split(';'); + while (cookie_avs.length) { + var av = cookie_avs.shift().trim(); + if (av.length === 0) { // happens if ";;" appears + continue; + } + var av_sep = av.indexOf('='); + var av_key, av_value; + + if (av_sep === -1) { + av_key = av; + av_value = null; + } else { + av_key = av.substr(0,av_sep); + av_value = av.substr(av_sep+1); + } + + av_key = av_key.trim().toLowerCase(); + + if (av_value) { + av_value = av_value.trim(); + } + + switch(av_key) { + case 'expires': // S5.2.1 + if (av_value) { + var exp = parseDate(av_value); + // "If the attribute-value failed to parse as a cookie date, ignore the + // cookie-av." + if (exp) { + // over and underflow not realistically a concern: V8's getTime() seems to + // store something larger than a 32-bit time_t (even with 32-bit node) + c.expires = exp; + } + } + break; + + case 'max-age': // S5.2.2 + if (av_value) { + // "If the first character of the attribute-value is not a DIGIT or a "-" + // character ...[or]... If the remainder of attribute-value contains a + // non-DIGIT character, ignore the cookie-av." + if (/^-?[0-9]+$/.test(av_value)) { + var delta = parseInt(av_value, 10); + // "If delta-seconds is less than or equal to zero (0), let expiry-time + // be the earliest representable date and time." + c.setMaxAge(delta); + } + } + break; + + case 'domain': // S5.2.3 + // "If the attribute-value is empty, the behavior is undefined. However, + // the user agent SHOULD ignore the cookie-av entirely." + if (av_value) { + // S5.2.3 "Let cookie-domain be the attribute-value without the leading %x2E + // (".") character." + var domain = av_value.trim().replace(/^\./, ''); + if (domain) { + // "Convert the cookie-domain to lower case." + c.domain = domain.toLowerCase(); + } + } + break; + + case 'path': // S5.2.4 + /* + * "If the attribute-value is empty or if the first character of the + * attribute-value is not %x2F ("/"): + * Let cookie-path be the default-path. + * Otherwise: + * Let cookie-path be the attribute-value." + * + * We'll represent the default-path as null since it depends on the + * context of the parsing. + */ + c.path = av_value && av_value[0] === "/" ? av_value : null; + break; + + case 'secure': // S5.2.5 + /* + * "If the attribute-name case-insensitively matches the string "Secure", + * the user agent MUST append an attribute to the cookie-attribute-list + * with an attribute-name of Secure and an empty attribute-value." + */ + c.secure = true; + break; + + case 'httponly': // S5.2.6 -- effectively the same as 'secure' + c.httpOnly = true; + break; + + default: + c.extensions = c.extensions || []; + c.extensions.push(av); + break; + } + } + + return c; +} + +// avoid the V8 deoptimization monster! +function jsonParse(str) { + var obj; + try { + obj = JSON.parse(str); + } catch (e) { + return e; + } + return obj; +} + +function fromJSON(str) { + if (!str) { + return null; + } + + var obj; + if (typeof str === 'string') { + obj = jsonParse(str); + if (obj instanceof Error) { + return null; + } + } else { + // assume it's an Object + obj = str; + } + + var c = new Cookie(); + for (var i=0; i 1) { + var lindex = path.lastIndexOf('/'); + if (lindex === 0) { + break; + } + path = path.substr(0,lindex); + permutations.push(path); + } + permutations.push('/'); + return permutations; +} + +function getCookieContext(url) { + if (url instanceof Object) { + return url; + } + // NOTE: decodeURI will throw on malformed URIs (see GH-32). + // Therefore, we will just skip decoding for such URIs. + try { + url = decodeURI(url); + } + catch(err) { + // Silently swallow error + } + + return urlParse(url); +} + +function Cookie(options) { + options = options || {}; + + Object.keys(options).forEach(function(prop) { + if (Cookie.prototype.hasOwnProperty(prop) && + Cookie.prototype[prop] !== options[prop] && + prop.substr(0,1) !== '_') + { + this[prop] = options[prop]; + } + }, this); + + this.creation = this.creation || new Date(); + + // used to break creation ties in cookieCompare(): + Object.defineProperty(this, 'creationIndex', { + configurable: false, + enumerable: false, // important for assert.deepEqual checks + writable: true, + value: ++Cookie.cookiesCreated + }); +} + +Cookie.cookiesCreated = 0; // incremented each time a cookie is created + +Cookie.parse = parse; +Cookie.fromJSON = fromJSON; + +Cookie.prototype.key = ""; +Cookie.prototype.value = ""; + +// the order in which the RFC has them: +Cookie.prototype.expires = "Infinity"; // coerces to literal Infinity +Cookie.prototype.maxAge = null; // takes precedence over expires for TTL +Cookie.prototype.domain = null; +Cookie.prototype.path = null; +Cookie.prototype.secure = false; +Cookie.prototype.httpOnly = false; +Cookie.prototype.extensions = null; + +// set by the CookieJar: +Cookie.prototype.hostOnly = null; // boolean when set +Cookie.prototype.pathIsDefault = null; // boolean when set +Cookie.prototype.creation = null; // Date when set; defaulted by Cookie.parse +Cookie.prototype.lastAccessed = null; // Date when set +Object.defineProperty(Cookie.prototype, 'creationIndex', { + configurable: true, + enumerable: false, + writable: true, + value: 0 +}); + +Cookie.serializableProperties = Object.keys(Cookie.prototype) + .filter(function(prop) { + return !( + Cookie.prototype[prop] instanceof Function || + prop === 'creationIndex' || + prop.substr(0,1) === '_' + ); + }); + +Cookie.prototype.inspect = function inspect() { + var now = Date.now(); + return 'Cookie="'+this.toString() + + '; hostOnly='+(this.hostOnly != null ? this.hostOnly : '?') + + '; aAge='+(this.lastAccessed ? (now-this.lastAccessed.getTime())+'ms' : '?') + + '; cAge='+(this.creation ? (now-this.creation.getTime())+'ms' : '?') + + '"'; +}; + +// Use the new custom inspection symbol to add the custom inspect function if +// available. +if (util.inspect.custom) { + Cookie.prototype[util.inspect.custom] = Cookie.prototype.inspect; +} + +Cookie.prototype.toJSON = function() { + var obj = {}; + + var props = Cookie.serializableProperties; + for (var i=0; i=0.12.0", + "_id": "tough-cookie@3.0.1", + "_inBundle": false, + "_integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "_location": "/tough-cookie", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "tough-cookie@>=0.12.0", + "name": "tough-cookie", + "escapedName": "tough-cookie", + "rawSpec": ">=0.12.0", + "saveSpec": null, + "fetchSpec": ">=0.12.0" + }, + "_requiredBy": [ + "/request" + ], + "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "_shasum": "9df4f57e739c26930a018184887f4adb7dca73b2", + "_spec": "tough-cookie@>=0.12.0", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", + "author": { + "name": "Jeremy Stashewsky", + "email": "jstash@gmail.com" + }, + "bugs": { + "url": "https://github.com/salesforce/tough-cookie/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Alexander Savin" + }, + { + "name": "Ian Livingstone" + }, + { + "name": "Ivan Nikulin" + }, + { + "name": "Lalit Kapoor" + }, + { + "name": "Sam Thompson" + }, + { + "name": "Sebastian Mayr" + } + ], + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "deprecated": false, + "description": "RFC6265 Cookies and Cookie Jar for node.js", + "devDependencies": { + "async": "^1.4.2", + "genversion": "^2.1.0", + "nyc": "^11.6.0", + "string.prototype.repeat": "^0.2.0", + "vows": "^0.8.2" + }, + "engines": { + "node": ">=6" + }, + "files": [ + "lib" + ], + "homepage": "https://github.com/salesforce/tough-cookie", + "keywords": [ + "HTTP", + "cookie", + "cookies", + "set-cookie", + "cookiejar", + "jar", + "RFC6265", + "RFC2965" + ], + "license": "BSD-3-Clause", + "main": "./lib/cookie", + "name": "tough-cookie", + "repository": { + "type": "git", + "url": "git://github.com/salesforce/tough-cookie.git" + }, + "scripts": { + "cover": "nyc --reporter=lcov --reporter=html vows test/*_test.js", + "test": "vows test/*_test.js", + "version": "genversion lib/version.js && git add lib/version.js" + }, + "version": "3.0.1" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/LICENSE new file mode 100644 index 0000000..a4a9aee --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/LICENSE @@ -0,0 +1,55 @@ +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/README.md new file mode 100644 index 0000000..bb533d5 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/README.md @@ -0,0 +1,4 @@ +tunnel-agent +============ + +HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/index.js new file mode 100644 index 0000000..68013ac --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/index.js @@ -0,0 +1,243 @@ +'use strict' + +var net = require('net') + , tls = require('tls') + , http = require('http') + , https = require('https') + , events = require('events') + , assert = require('assert') + , util = require('util') + ; + +exports.httpOverHttp = httpOverHttp +exports.httpsOverHttp = httpsOverHttp +exports.httpOverHttps = httpOverHttps +exports.httpsOverHttps = httpsOverHttps + + +function httpOverHttp(options) { + var agent = new TunnelingAgent(options) + agent.request = http.request + return agent +} + +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options) + agent.request = http.request + agent.createSocket = createSecureSocket + agent.defaultPort = 443 + return agent +} + +function httpOverHttps(options) { + var agent = new TunnelingAgent(options) + agent.request = https.request + return agent +} + +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options) + agent.request = https.request + agent.createSocket = createSecureSocket + agent.defaultPort = 443 + return agent +} + + +function TunnelingAgent(options) { + var self = this + self.options = options || {} + self.proxyOptions = self.options.proxy || {} + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets + self.requests = [] + self.sockets = [] + + self.on('free', function onFree(socket, host, port) { + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i] + if (pending.host === host && pending.port === port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1) + pending.request.onSocket(socket) + return + } + } + socket.destroy() + self.removeSocket(socket) + }) +} +util.inherits(TunnelingAgent, events.EventEmitter) + +TunnelingAgent.prototype.addRequest = function addRequest(req, options) { + var self = this + + // Legacy API: addRequest(req, host, port, path) + if (typeof options === 'string') { + options = { + host: options, + port: arguments[2], + path: arguments[3] + }; + } + + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push({host: options.host, port: options.port, request: req}) + return + } + + // If we are under maxSockets create a new one. + self.createConnection({host: options.host, port: options.port, request: req}) +} + +TunnelingAgent.prototype.createConnection = function createConnection(pending) { + var self = this + + self.createSocket(pending, function(socket) { + socket.on('free', onFree) + socket.on('close', onCloseOrRemove) + socket.on('agentRemove', onCloseOrRemove) + pending.request.onSocket(socket) + + function onFree() { + self.emit('free', socket, pending.host, pending.port) + } + + function onCloseOrRemove(err) { + self.removeSocket(socket) + socket.removeListener('free', onFree) + socket.removeListener('close', onCloseOrRemove) + socket.removeListener('agentRemove', onCloseOrRemove) + } + }) +} + +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this + var placeholder = {} + self.sockets.push(placeholder) + + var connectOptions = mergeOptions({}, self.proxyOptions, + { method: 'CONNECT' + , path: options.host + ':' + options.port + , agent: false + } + ) + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {} + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + + new Buffer(connectOptions.proxyAuth).toString('base64') + } + + debug('making CONNECT request') + var connectReq = self.request(connectOptions) + connectReq.useChunkedEncodingByDefault = false // for v0.6 + connectReq.once('response', onResponse) // for v0.6 + connectReq.once('upgrade', onUpgrade) // for v0.6 + connectReq.once('connect', onConnect) // for v0.7 or later + connectReq.once('error', onError) + connectReq.end() + + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true + } + + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function() { + onConnect(res, socket, head) + }) + } + + function onConnect(res, socket, head) { + connectReq.removeAllListeners() + socket.removeAllListeners() + + if (res.statusCode === 200) { + assert.equal(head.length, 0) + debug('tunneling connection has established') + self.sockets[self.sockets.indexOf(placeholder)] = socket + cb(socket) + } else { + debug('tunneling socket could not be established, statusCode=%d', res.statusCode) + var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode) + error.code = 'ECONNRESET' + options.request.emit('error', error) + self.removeSocket(placeholder) + } + } + + function onError(cause) { + connectReq.removeAllListeners() + + debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack) + var error = new Error('tunneling socket could not be established, ' + 'cause=' + cause.message) + error.code = 'ECONNRESET' + options.request.emit('error', error) + self.removeSocket(placeholder) + } +} + +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket) + if (pos === -1) return + + this.sockets.splice(pos, 1) + + var pending = this.requests.shift() + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createConnection(pending) + } +} + +function createSecureSocket(options, cb) { + var self = this + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, mergeOptions({}, self.options, + { servername: options.host + , socket: socket + } + )) + self.sockets[self.sockets.indexOf(socket)] = secureSocket + cb(secureSocket) + }) +} + + +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i] + if (typeof overrides === 'object') { + var keys = Object.keys(overrides) + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j] + if (overrides[k] !== undefined) { + target[k] = overrides[k] + } + } + } + } + return target +} + + +var debug +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments) + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0] + } else { + args.unshift('TUNNEL:') + } + console.error.apply(console, args) + } +} else { + debug = function() {} +} +exports.debug = debug // for test diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/package.json new file mode 100644 index 0000000..3c29fad --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/package.json @@ -0,0 +1,53 @@ +{ + "_from": "tunnel-agent@~0.4.0", + "_id": "tunnel-agent@0.4.3", + "_inBundle": false, + "_integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "_location": "/tunnel-agent", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "tunnel-agent@~0.4.0", + "name": "tunnel-agent", + "escapedName": "tunnel-agent", + "rawSpec": "~0.4.0", + "saveSpec": null, + "fetchSpec": "~0.4.0" + }, + "_requiredBy": [ + "/request" + ], + "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "_shasum": "6373db76909fe570e08d73583365ed828a74eeeb", + "_spec": "tunnel-agent@~0.4.0", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", + "author": { + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com", + "url": "http://www.futurealoof.com" + }, + "bugs": { + "url": "https://github.com/mikeal/tunnel-agent/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.", + "devDependencies": {}, + "engines": { + "node": "*" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/mikeal/tunnel-agent#readme", + "license": "Apache-2.0", + "main": "index.js", + "name": "tunnel-agent", + "optionalDependencies": {}, + "repository": { + "url": "git+https://github.com/mikeal/tunnel-agent.git" + }, + "version": "0.4.3" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/.jshintrc b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/.jshintrc new file mode 100644 index 0000000..77887b5 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/.jshintrc @@ -0,0 +1,30 @@ +{ + "maxdepth": 4, + "maxstatements": 200, + "maxcomplexity": 12, + "maxlen": 80, + "maxparams": 5, + + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": false, + "noarg": true, + "noempty": true, + "nonew": true, + "undef": true, + "unused": "vars", + "trailing": true, + + "quotmark": true, + "expr": true, + "asi": true, + + "browser": false, + "esnext": true, + "devel": false, + "node": false, + "nonstandard": false, + + "predef": ["require", "module", "__dirname", "__filename"] +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/LICENSE new file mode 100644 index 0000000..0099f4f --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) +Copyright (c) 2012-2014 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/README.md new file mode 100644 index 0000000..4a2703c --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/README.md @@ -0,0 +1,32 @@ +# xtend + +[![browser support][3]][4] + +[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) + +Extend like a boss + +xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. + +## Examples + +```js +var extend = require("xtend") + +// extend returns a new object. Does not mutate arguments +var combination = extend({ + a: "a", + b: "c" +}, { + b: "b" +}) +// { a: "a", b: "b" } +``` + +## Stability status: Locked + +## MIT Licensed + + + [3]: http://ci.testling.com/Raynos/xtend.png + [4]: http://ci.testling.com/Raynos/xtend diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/immutable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/immutable.js new file mode 100644 index 0000000..94889c9 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/immutable.js @@ -0,0 +1,19 @@ +module.exports = extend + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +function extend() { + var target = {} + + for (var i = 0; i < arguments.length; i++) { + var source = arguments[i] + + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + target[key] = source[key] + } + } + } + + return target +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/mutable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/mutable.js new file mode 100644 index 0000000..72debed --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/mutable.js @@ -0,0 +1,17 @@ +module.exports = extend + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +function extend(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] + + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + target[key] = source[key] + } + } + } + + return target +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/package.json new file mode 100644 index 0000000..af03e16 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/package.json @@ -0,0 +1,86 @@ +{ + "_from": "xtend@^4.0.0", + "_id": "xtend@4.0.2", + "_inBundle": false, + "_integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "_location": "/xtend", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "xtend@^4.0.0", + "name": "xtend", + "escapedName": "xtend", + "rawSpec": "^4.0.0", + "saveSpec": null, + "fetchSpec": "^4.0.0" + }, + "_requiredBy": [ + "/is-my-json-valid" + ], + "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "_shasum": "bb72779f5fa465186b1f438f674fa347fdb5db54", + "_spec": "xtend@^4.0.0", + "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\is-my-json-valid", + "author": { + "name": "Raynos", + "email": "raynos2@gmail.com" + }, + "bugs": { + "url": "https://github.com/Raynos/xtend/issues", + "email": "raynos2@gmail.com" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Jake Verbaten" + }, + { + "name": "Matt Esch" + } + ], + "dependencies": {}, + "deprecated": false, + "description": "extend like a boss", + "devDependencies": { + "tape": "~1.1.0" + }, + "engines": { + "node": ">=0.4" + }, + "homepage": "https://github.com/Raynos/xtend", + "keywords": [ + "extend", + "merge", + "options", + "opts", + "object", + "array" + ], + "license": "MIT", + "main": "immutable", + "name": "xtend", + "repository": { + "type": "git", + "url": "git://github.com/Raynos/xtend.git" + }, + "scripts": { + "test": "node test" + }, + "testling": { + "files": "test.js", + "browsers": [ + "ie/7..latest", + "firefox/16..latest", + "firefox/nightly", + "chrome/22..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest" + ] + }, + "version": "4.0.2" +} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/test.js new file mode 100644 index 0000000..b895b42 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/test.js @@ -0,0 +1,103 @@ +var test = require("tape") +var extend = require("./") +var mutableExtend = require("./mutable") + +test("merge", function(assert) { + var a = { a: "foo" } + var b = { b: "bar" } + + assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) + assert.end() +}) + +test("replace", function(assert) { + var a = { a: "foo" } + var b = { a: "bar" } + + assert.deepEqual(extend(a, b), { a: "bar" }) + assert.end() +}) + +test("undefined", function(assert) { + var a = { a: undefined } + var b = { b: "foo" } + + assert.deepEqual(extend(a, b), { a: undefined, b: "foo" }) + assert.deepEqual(extend(b, a), { a: undefined, b: "foo" }) + assert.end() +}) + +test("handle 0", function(assert) { + var a = { a: "default" } + var b = { a: 0 } + + assert.deepEqual(extend(a, b), { a: 0 }) + assert.deepEqual(extend(b, a), { a: "default" }) + assert.end() +}) + +test("is immutable", function (assert) { + var record = {} + + extend(record, { foo: "bar" }) + assert.equal(record.foo, undefined) + assert.end() +}) + +test("null as argument", function (assert) { + var a = { foo: "bar" } + var b = null + var c = void 0 + + assert.deepEqual(extend(b, a, c), { foo: "bar" }) + assert.end() +}) + +test("mutable", function (assert) { + var a = { foo: "bar" } + + mutableExtend(a, { bar: "baz" }) + + assert.equal(a.bar, "baz") + assert.end() +}) + +test("null prototype", function(assert) { + var a = { a: "foo" } + var b = Object.create(null) + b.b = "bar"; + + assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) + assert.end() +}) + +test("null prototype mutable", function (assert) { + var a = { foo: "bar" } + var b = Object.create(null) + b.bar = "baz"; + + mutableExtend(a, b) + + assert.equal(a.bar, "baz") + assert.end() +}) + +test("prototype pollution", function (assert) { + var a = {} + var maliciousPayload = '{"__proto__":{"oops":"It works!"}}' + + assert.strictEqual(a.oops, undefined) + extend({}, maliciousPayload) + assert.strictEqual(a.oops, undefined) + assert.end() +}) + +test("prototype pollution mutable", function (assert) { + var a = {} + var maliciousPayload = '{"__proto__":{"oops":"It works!"}}' + + assert.strictEqual(a.oops, undefined) + mutableExtend({}, maliciousPayload) + assert.strictEqual(a.oops, undefined) + assert.end() +}) diff --git a/netatmo-security-connector/NetatmoSecurity/package-lock.json b/netatmo-security-connector/NetatmoSecurity/package-lock.json new file mode 100644 index 0000000..381c802 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/package-lock.json @@ -0,0 +1,383 @@ +{ + "name": "netatmosecurity", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@webmethodsio/cli-sdk": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@webmethodsio/cli-sdk/-/cli-sdk-1.0.0.tgz", + "integrity": "sha512-XQycpmMscE6V3rVNlcFI1BWNKuVKSQOViovr05GRqlA2PR5Sl1Qc8xki70N5LovoDcP1QbM7567CIx1Tmn22oA==", + "requires": { + "lodash": "4.17.5" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "asn1": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=" + }, + "assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=" + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + }, + "aws-sign2": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=" + }, + "bl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz", + "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", + "requires": { + "readable-stream": "~1.0.26" + } + }, + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "requires": { + "hoek": "2.x.x" + } + }, + "caseless": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.9.0.tgz", + "integrity": "sha1-t7Zc5r8UE4hlOc/VM/CzDv+pz4g=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "requires": { + "delayed-stream": "0.0.5" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "requires": { + "boom": "2.x.x" + } + }, + "ctype": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", + "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=" + }, + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", + "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=", + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime-types": "~2.0.3" + } + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "requires": { + "is-property": "^1.0.2" + } + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "requires": { + "is-property": "^1.0.0" + } + }, + "har-validator": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz", + "integrity": "sha1-2DhCsOtMQ1lgrrEIoGejqpTA7rI=", + "requires": { + "bluebird": "^2.9.30", + "chalk": "^1.0.0", + "commander": "^2.8.1", + "is-my-json-valid": "^2.12.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "hawk": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz", + "integrity": "sha1-HnMc45RH+h0PbXB/e87r7A/R7B8=", + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" + }, + "http-signature": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", + "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", + "requires": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==" + }, + "is-my-json-valid": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz", + "integrity": "sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==", + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + }, + "mime-db": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", + "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=" + }, + "mime-types": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", + "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", + "requires": { + "mime-db": "~1.12.0" + } + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" + }, + "oauth-sign": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz", + "integrity": "sha1-fb6uRPbKRU4fFoRR1jB0ZzWBPOM=" + }, + "psl": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz", + "integrity": "sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-2.4.2.tgz", + "integrity": "sha1-9854jld33wtQENp/fE5zujJHD1o=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "request": { + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.55.0.tgz", + "integrity": "sha1-11wc32eddrsQD5v/4f5VG1wk6T0=", + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.9.0", + "combined-stream": "~0.0.5", + "forever-agent": "~0.6.0", + "form-data": "~0.2.0", + "har-validator": "^1.4.0", + "hawk": "~2.3.0", + "http-signature": "~0.10.0", + "isstream": "~0.1.1", + "json-stringify-safe": "~5.0.0", + "mime-types": "~2.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.6.0", + "qs": "~2.4.0", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "requires": { + "hoek": "2.x.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + } +} diff --git a/netatmo-security-connector/NetatmoSecurity/package.json b/netatmo-security-connector/NetatmoSecurity/package.json new file mode 100644 index 0000000..16f27a1 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/package.json @@ -0,0 +1,9 @@ +{ + "name": "netatmosecurity", + "version": "1.0.0", + "description": "Netatmo Security Camera connector", + "dependencies": { + "request": "2.55.0", + "@webmethodsio/cli-sdk": "*" + } +} From 3db2ba48311522ce477ada689e51a355ef445125 Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 27 Dec 2019 15:55:25 +0100 Subject: [PATCH 02/13] added readme.md --- netatmo-security-connector/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 netatmo-security-connector/README.md diff --git a/netatmo-security-connector/README.md b/netatmo-security-connector/README.md new file mode 100644 index 0000000..104cceb --- /dev/null +++ b/netatmo-security-connector/README.md @@ -0,0 +1 @@ +#Custom connector for Netatmo Security Camera From ae7ab04ba37241c45bd55e3e97b8cc185b3b5867 Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 27 Dec 2019 16:05:49 +0100 Subject: [PATCH 03/13] Authorization --- .../NetatmoSecurity/authentication.js | 36 ++++--------- .../NetatmoSecurity/index.json | 5 +- .../NetatmoSecurity/oauth.json | 51 +++++++++++++++++++ 3 files changed, 64 insertions(+), 28 deletions(-) create mode 100644 netatmo-security-connector/NetatmoSecurity/oauth.json diff --git a/netatmo-security-connector/NetatmoSecurity/authentication.js b/netatmo-security-connector/NetatmoSecurity/authentication.js index f433dfa..9fb4ce5 100644 --- a/netatmo-security-connector/NetatmoSecurity/authentication.js +++ b/netatmo-security-connector/NetatmoSecurity/authentication.js @@ -1,29 +1,13 @@ -var request = require('request'); - module.exports = { - label : 'Connect to Basic', - mock_input: { }, - validate : function (input, output){ - // auth data will be availablein input.auth - var username = input.auth.username - var password = input.auth.password - request({ - url: 'http://httpbin.org/basic-auth/user/passwd', - auth: { - user: username, - pass: password, - sendImmediately: false - } - }, - function(err, res, body){ - if(err){ - output(err, null) - } - if(res.statusCode == 401){ - output('Unauthorized') - } else { - output(null, 'Logged in successfull'); - } - }) + label: "Connect to NetatmoSecurity", + mock_input: { + access_token: "" + }, + oauth: "netatmo_camera_4a4b969c20", + validate: function (input, output) { + // auth credentials will be available in input.auth.access_token + // callback pattern + // output(error, success) + output(null, true) } } \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/index.json b/netatmo-security-connector/NetatmoSecurity/index.json index b5d96de..97b0792 100644 --- a/netatmo-security-connector/NetatmoSecurity/index.json +++ b/netatmo-security-connector/NetatmoSecurity/index.json @@ -4,6 +4,7 @@ "triggers": [], "actions": [], "version": 1, - "auth_type": "basic", - "docs_link": "http://docs.example.com" + "auth_type": "oauth", + "docs_link": "http://docs.example.com", + "oauth_provider": "netatmo_camera_4a4b969c20" } \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/oauth.json b/netatmo-security-connector/NetatmoSecurity/oauth.json new file mode 100644 index 0000000..b0ed28b --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/oauth.json @@ -0,0 +1,51 @@ +{ + "type": "oauth2", + "title": "netatmo_camera", + "clientId": "5e05ebd41073ae7c852957ca", + "clientSecret": "nBZbMp5EOajlLRrZMsot9vY4pTgVKEhSdnzg0", + "authURL": "https://api.netatmo.com/oauth2/authorize", + "tokenURL": "https://api.netatmo.com/oauth2/token", + "preAuthProcessing": { + }, + "authQueryParams": { + "state": "ab82aff8dd2caf097e6", + "scope": "read_camera" + }, + + "preTokenProcessing": { + }, + + "tokenParams": { + "method": "", + "headers": {}, + "data": { + "client_id": "{client_id}", + "client_secret": "{client_secret}", + "redirect_uri": "{redirect_uri}", + "grant_type": "authorization_code" + } + }, + "preRefreshProcessing": { + }, + "refreshParams": { + "client_id": "{client_id}", + "client_secret": "{client_secret}", + "redirect_uri": "{redirect_uri}", + "grant_type": "refresh_token" + }, + "requiredParams": [ + ], + "refreshURL": "{tokenURL}", + "scope": { + "Read Camera Scope": "read_camera" + }, + "validate": { + "url": "ANY API URL TO VALIDATE TOKEN OF THIRD PARTY SERVICE", + "headers": { + "Authorization": "Bearer {access_token}" + }, + "query": { + } + }, + "redirectURL": "https://auth-int.webmethods.io/auth/oauth/netatmo_camera_4a4b969c20/fl91ccd279ad5dcd19d902bc/return" +} \ No newline at end of file From 6d6b8ee9dfbb461d0f55c7c7f0a46687e4e46276 Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 27 Dec 2019 16:17:19 +0100 Subject: [PATCH 04/13] added actions --- .../NetatmoSecurity/.flowapprc | 1 + .../NetatmoSecurity/action/v1/gethomedata.js | 76 +++++++++++++++++ .../action/v1/gethomestatus.js | 77 ++++++++++++++++++ .../NetatmoSecurity/build/build.zip | Bin 0 -> 1624706 bytes .../NetatmoSecurity/index.json | 10 ++- 5 files changed, 162 insertions(+), 2 deletions(-) create mode 100644 netatmo-security-connector/NetatmoSecurity/.flowapprc create mode 100644 netatmo-security-connector/NetatmoSecurity/action/v1/gethomedata.js create mode 100644 netatmo-security-connector/NetatmoSecurity/action/v1/gethomestatus.js create mode 100644 netatmo-security-connector/NetatmoSecurity/build/build.zip diff --git a/netatmo-security-connector/NetatmoSecurity/.flowapprc b/netatmo-security-connector/NetatmoSecurity/.flowapprc new file mode 100644 index 0000000..5648956 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/.flowapprc @@ -0,0 +1 @@ +{"service_name":"NetatmoSecurity_fl91ccd279ad5dcd19d902bc"} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/action/v1/gethomedata.js b/netatmo-security-connector/NetatmoSecurity/action/v1/gethomedata.js new file mode 100644 index 0000000..ba7f3fb --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/action/v1/gethomedata.js @@ -0,0 +1,76 @@ +module.exports = { + + name: "gethomedata", + + title: "Gethomedata", + + description: "", + version: "v1", + + input:{ + title: "Gethomedata", + type: "object", + properties: { + home_id :{ + title: "home_id", + displayTitle: "Home ID", + type: "string" + } + } + }, + + output: { + title: "output", + type: "object", + displayTitle: "Output", + properties: { + + } + }, + + mock_input:{}, + + execute: function(input, output){ + // to access auth info use input.auth , eg: input.auth.username + // and to return output use output callback like this output(null, { 'notice' : 'successful'}) + // your code here + // output(null, { data : "OK"}); + var request = require("request"); + + var options = { + "method": "get", + "url": "https://api.netatmo.com/api/gethomedata", + "headers": { + "Accept": "application/json", + "Authorization": "Bearer " + input.auth.access_token + } + } + request(options, function(err, response, body) { + if (err) { + return output(err); + } + try { + if (body && typeof(body) === "string") { + body = JSON.parse(body); + } + } catch (e) { + return output(body); + }; + if (response.statusCode === 401) { + return output("Invalid access token"); + } + if (response.statusCode !== 200) { + return output("Error Details"); + } + if (response.statusCode === 200) { + return output(null, body); + } + output(body); + + }) + + + + } + +} diff --git a/netatmo-security-connector/NetatmoSecurity/action/v1/gethomestatus.js b/netatmo-security-connector/NetatmoSecurity/action/v1/gethomestatus.js new file mode 100644 index 0000000..5b8d5f4 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/action/v1/gethomestatus.js @@ -0,0 +1,77 @@ +module.exports = { + + name: "gethomestatus", + + title: "Gethomestatus", + + description: "", + version: "v1", + + input:{ + title: "Gethomestatus", + type: "object", + properties: { + home_id :{ + title: "home_id", + displayTitle: "Home ID", + type: "string" + } + } + }, + + output: { + title: "output", + type: "object", + displayTitle: "Output", + properties: { + + } + }, + + mock_input:{}, + + execute: function(input, output){ + // to access auth info use input.auth , eg: input.auth.username + // and to return output use output callback like this output(null, { 'notice' : 'successful'}) + // your code here + // output(null, { data : "OK"}); + + + var request = require("request"); + + var options = { + "method": "get", + "url": "https://api.netatmo.com/api/homestatus?home_id=" + input.home_id, + "headers": { + "Accept": "application/json", + "Authorization": "Bearer " + input.auth.access_token + } + } + request(options, function(err, response, body) { + if (err) { + return output(err); + } + try { + if (body && typeof(body) === "string") { + body = JSON.parse(body); + } + } catch (e) { + return output(body); + }; + if (response.statusCode === 401) { + return output("Invalid access token"); + } + if (response.statusCode !== 200) { + return output(body); + } + if (response.statusCode === 200) { + return output(null, body); + } + output(body); + + }) + + + } + +} diff --git a/netatmo-security-connector/NetatmoSecurity/build/build.zip b/netatmo-security-connector/NetatmoSecurity/build/build.zip new file mode 100644 index 0000000000000000000000000000000000000000..8ccaed481067ea9dee3a7f3c5b15f35b161cd024 GIT binary patch literal 1624706 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

fEb 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

m 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 }W-0MzNr;0%oWT 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


Y3yePBU{LY}5Tvr+V>KRA(@S_i`k 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�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

AZs>1y%( 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%0AseMMyUK>thO+ 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

X4KPU%_9n9IiQBNFF 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 brackets. +Save the oauth.json file and test the consistency of the custom connector by running: + +**_wmio test_** + +from the NetatmoSecurity directory. +Deploy the oauth custom authentication module by running: + +**_wmio oauth deploy_** + +![P5](./images/Image005.png) + +### Deploy the custom connector + +Finish by deploying the custom connector to your webMethods.io instance. + +**_wmio deploy_** + + +![P6](./images/Image006) + + + + + + + + + + + + diff --git a/netatmo-security-connector/images/Image001.png b/netatmo-security-connector/images/Image001.png new file mode 100644 index 0000000000000000000000000000000000000000..9400c482a9d66e40c79adff349dd400b161c7fd3 GIT binary patch literal 69693 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 z%0A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 literal 0 HcmV?d00001 diff --git a/netatmo-security-connector/images/Image003.png b/netatmo-security-connector/images/Image003.png new file mode 100644 index 0000000000000000000000000000000000000000..9aa0839a867b314ca0c48a8e6a705becd5b49050 GIT binary patch literal 35197 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 literal 0 HcmV?d00001 diff --git a/netatmo-security-connector/images/Image004.png b/netatmo-security-connector/images/Image004.png new file mode 100644 index 0000000000000000000000000000000000000000..53dc64eeafd559190f74186b9670218dbef15db2 GIT binary patch literal 51952 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

*fV!Kag}X(;rl=c_l1dGJ(|4$|z8M2movIap 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 j&TAV~?$3Z~ju`Pnh)PqbiquFD5Rl#p9R=wn zAiX6bCA0)cAQ&KUS8(tB?%z4@InRCWUH>I(tvTnKWsL9qj4|KnKGbAB$#as9j*eOD zuG(Wdx?}2ebVulp9|r!3Xn7Y%NB5elrFKW(cYI|E-fe9ZfTQTio>GsEd1H6ulWWj~ zi|Gr>MUy`7<9A;6+j5j?@Lr029isiYM9omp>b14nwgW@lR|5SQ{1kmU^BEC!Mipa| zSL{s1Qh9=9!NF1II|WMa5WJO{U5lpBv71p^w)D?d#+PbzQgD-`8Cb(sTMjI5iF&3S znT<5vLV6IY=XP>D2=%cdMuoex!pcxr2M&o={e4<%>0YEe)1^KTA~eQ1aTL~*$8n0Q z(AWh3-?gd<9JKp%(rZSIn>vN_6k$R@OW)-~2Y+4@uU~~>cLl(=kqopyo~Cq@cK4~g zBkyqs4?Gbjf%Z2Qn4$c%yDz*X(WL#63FKw;5!&zKhx5=q>>evR=3h@&p!O0$thC!- z<&$ufBFy?lB8c{rZrK`%+wU>mlloU_;0CJlyMMi%DYt**U$^($8h;D^>o<6JD7yl> zw;!;SV^O({F06H3c>AX*tw2*4_wn$-dCES%Y#%0WN=?O3mQ{_;(W-tSGkhHlUjgrn zE5oOhcc3i`+i*&Mv_SpFzS))zoQ&IFMAs-kK*Hv;!4gnx<92FT;Z53$bWZthNM-Nc z-zA7By9EF3)%^jv{Ur$4dv=>Q%4~ISZ6$htFBP<3y+_;~@v)#NMAz--+3n9oHdkKM z2#un3VnmmF{fMxRFC<%=#p$YXX_TC+K zsR0CmJrW%Hjg-3o3a5;wPIm|+CnqM@NV`Lq$j3;P%G-oRxw$Uv=>Q|*W{QFj zwjOFJi@>EQ8)BbdX}n`%Nn!M%r&W|GD~U#!nTd1GYlnmO;enf2e|#R;wZ2{s8`uW- z*@36_l8iEjj4;HZEwd_f&Ve@R0>9IYUSQR;zA(&%?r4#U_<>94=;wzu)_Z{h>GH?3 z=Ap4Hc=hHwZgZsaYZB10g_7B^IL*@S5{G!4=7_wN2yLqMjnU(vY~h5==DNlAIBb=~ z{xq6nvSq#q>pkI;y1$FtB9rT6+M$?M3h$Iakb1lk982EYzP%@Tl)BVdmY`|W+)qG! zJme@h%(uJysoJjkGfcaJlg?=bEN-{}e&+)A|9owRGd?d5T;Fj0!3JJvGG5sLW4f=r zztv%B>vH?7>_|BjAqF`UY2^+Rp1AQWE`Ps2srJ-_Q;5m@RPDn6JT~OdCl&SdlCt=J z8l9Tgt_7ABe1FxoYC6=Xe%agy1I6vOl-Z#J=cQ7iDxIOD>rv-5& zkN9|ZFFK}u`p&TIZ;HQ+bKLaHkI?rmIjsB`Gw(cM3ilhYa#VrZdT1k1i$s-~c3S(t zN6n)Gtc&6tx#7$fkzA>Oari1U_8SEGc(?JD1Y~@U!ia0!`WeK!*Mr^d!71-kDB%$J z&IEj#GjJLSBTzUQNdmcFus6|dgvax3R*-g?GqH|oLukwX8)IOaZszSbyeu>HGMZw}p#Yu=qtmW2$=g|wdDde~s~ zeQBxJKB4j16ZNjdQMseDP@rz-_dvZ)5=yIcl;xtvhGbg^ZUXByV&1p~YxHSmmh+#z zD3B9h@&l^mEA;#2__^iNvlKsL?7ZfqTWBLlgppPPZi;e9+m$}iT(+_L2h_s;<6)@9 zew#sggdokXJ{@rJM}ni5arK~mg+`LXkTgsIyBDUsJH2eNRl^|QzgCt?&6h;Ck?yVK?dvIT>d8$$Z)S!6Zq7~( z^xJFR9TC|7-4?A#9!2a?ibA0lbviI=G)Au#&A&64i<=lJA~lLiUiaT**rJduCCwU! z;CKC~_&wfNJu66R6v2sScfxe5a9nneQd>4nallMw)clmG5>uB&R3#{I!HRy>4 zZxT+%t={Z2Bo#MtI#rp~`IzkhZNwQ}MrXF1GaIOQh+WV&=tm>Dq6lCAIFht0x4)~r zOOe}CUB*+1yn%C@jk_YVP-m$Fm->PLI1YH?&Q2qwzCM*QmP$=ZrEn8LmD~p|^R`b9 zaTnDaP@7P&_v_6Fi@DoViGvwTHzm_W8z-PO}8389B`2XvX zTkRxqdD6mwLR;z$TUp*3wS#({)5o028v{C96_rN2%fcMcy^WS^ohh|HD&*6tzZ;XS zi^K+O58n9ecgTkh($=a{fcRgM;PKm8%CZi4J38C-(jQ5pd-ok^|9$lC&zxBCi~suT zmsG-DBj3S_prgBz+2_9#4pWe0HkUbQj;vu4g}kLmoUKQ({PP!3&<|F{-R}%w8PB1E z$3~xYg7zD>>Q}7ze(E(NB84pnwCG944 z!Gxp#`MUTRT*wY4bFb4M1~j~5_pH-`Bpsb>>O6(y*M&o;?qT+NMM4XC0K31W&EbXw zCdHLPT_oHZjvG$P17>rvA25}^zCGJX!fpAua@RNl9grty{17Gl;|N{nwGTLfDeNt! zgU>f~c3)!!Moib@9SBWb1Bx_E9)%~m14S0}{oZW}ppEV*e;BGf_1rGDJJ(FP+FKHe znH{sUD@*OZu$n8~wHM2=dWg=MpZ4T!yAd&>*QT;m5(B{rm^n+V;#J9FdD%N0oD^8lM?n;APPyICTU*)s-71p!|^5lcq~G9i-G`#j@XS zw^jmsW|KQ+s{!?uc0*ZmUO;%{y3jN_q6a@Brbm@xSWQgqkjxNZ*+R#|tA-yS5&Nsp z71jLcMjdAP#;woXxC^kd3l&bZgVx zUqP}(>QGrP1UU%s)D&6PSBxX@-iD1f_GOV5yRem>c144g0yH0IUw9X}wF+sxD;3s= zgsnvi{4RCR3`b>QbW`ZU;P_jLUc$o{oP`bgO%2@_)+vKZ%a0bduWZ?_#Vf%+>(b|J zGdCQ6k_W<0v)QVhj7CGgrqLw6P8z7O7Uki*p6-)g|5p_u2!qhUV)Wq(MHLhk6_3C4Ky(b}uqt4a&b|Y$25lZIRUH3bvx|$QCIo@}fGKNvG;FLev5G=iVW z>snp=iFl(XWiRiN6_c#PmD9Y?`Lp2aZlU0~Y*(W{Aymg(NtTpi_*p@$l$u8B2W-=e zy|^yY{yjdN#|)`sz*ZX>ZH*jvo@~#mUzq*4;HUbnQ`_3n?a8d)Cy%#hYahjz8Tf4U zRbe9&@BY01;n!LO$U;k9Q6GQ4x4lPpa|nxBe-h(hb)=^0i-V$-?=4YqXg8*N<+^%8 zxb>EA$}gMe2?d<<&!Mq+GR2jbx4dB{LqJC0xx8CVPV}4t(CA!orWTfgg|BahI}}}= zm@9Uh2)c#yPQR&2?dx9X$eD z-o8e(4_zR;yCBvN|1P<7>+a}zv?k6sk5re-cNVIo{EKHr(gw*XKKUg;A!7-(t;F5U zrIlZ@$NsRMkx>s5i{(FO8u3tk-hbk#8SmBj&hx8;ZqdC`?fT<2&$0{BpV!1_P)@`W zBqCYP!Ck_)hE^+!e=p6J22hEmF)2|!5AKuS<2H?&J#W?kE3~iC9lFP|`K99FtQo4G zig(J+*CwQ8DQiYTE*LSUogx%td?;|$?H;Ow~ohY zvIZ(Mk;f!o*TQ~-8uNY!zf*WH01`-|1cs5=JH8nSyM_w{hLr9>l`5TM|MZH8uX5d} z*Y}iQ)pzT9=9HT8?Yc)TLEn>8Gv4ayu~ob-x~eE6SH% zmXMPQ_jgw0S53CMlEiPl8slTwdL~uLz^Ay(JSYL60>p+ufP;ASPS3|+z?+cx?7RY z1bWQxnTg-V!$-YWH<(k|T4R>N+h%(ol_A;(FSv=}{Y9qR-ZzKx=^;ldf)c-ZLY3+s zJ>58DSE8*ZAF=qP9b#L^K>U;28N<&5aDBB$=LGR@U|vN3C0R{B8h z-7t$v<&Ec_fCl&kzf7vrVpSC8XFw__GNXOicwd7_+~T*Nv0I!U2tJt;)nRfetaZ|X z-jZ7Y94wU)dAZ}naK)<3XAoS|mATXV_4Rpt!MwJp(s+Ht8?!J6(DyHkv4q|;Cr{U^ zeP^Ctl2l{)@-y=RcWJFcg@U^deSS|w$FV7Y)s9q&B$k0MOx1RhznSweYUI&w9}~XC zs&*MK*1rtk6*PEqqPk=6o3b90&RWfsAjTBFEB5;r*-E%<2~;$xmd-Jz08uB7OgGoH ze!y+we~M@IlD;8L9!@GH^9)3AsI5r!WHV`Qe=aUN6H*)=Y7}K3s<3SHT3JhsYVw&W zd5TZgGnf9IoE$$dC(pg@;CJ#7g-oQzmBfMSTJ@tHqqiDr=b_b?5vQWVAL#ig{+a3q zvlNTV0+dQa*$j>^5tfjsG$vr&=?oq5#JW9K=Zs43irY3!Fb^gh+TX?ZmJ|N4C%V4` z<)+>hv~mr~!+#-{hHmJJOa2zWsglsWy>M7|BIJN=-M;!qNz)Ajd|EMKSf0Llwq2W#cyTf>$>dSu0DI) z^=~D2-`~J`T5J){$4q_C^I)uEHXV|VD6&MN7;ERQjt?3r=p#Ig5|?=EXDN;um73}k z-S4fp3*K8H9t1-!+=-J7fOoq;n^mu_ZG@mhGrqu}%n>_A;TCoB;goBQ9CACWLFg7saZHsP{EI zEtKpyED^4)R>bjKI1@349vZhTS>>C}|HbkuX?s3c8}vym$U#yGf-OP z;9L5k`~(oVg-hJbhE(Tv?H8G$=P;2loG<9Cl@@o@+}qIL5+uCrsY{d42dDOUtmx+v zhs_-oiM*mTlQ+iRX#^YllG=>aM=C(`E|`XAwFvhI9 z#<5ZZJ=Z3Y*?h_aB0-^Rb{sq!?9P0(AM3V&^8q%&`%6E>Zsbvxb7F|r4A|w8;yPGs!{`!Y@%J__XlEOT+ z$BSX?`jq{l`@N(l9zzMGqOmDgtE`%&NxY2HU9FJOwR@1BhP!VH)3B1(ob3e0>X@;& zPLBN>qep=~$CVgd24_|>a}SC5A^3-OeJKdS2x9DP zteO!eS9g9LWVD6uluAO14CIUHGCY!?WXaYkW8JkX22s9{Ob9=_;}T_hj1uUp-Sx@r zJnZN3kZwY_v*<=`E2eNi{u!hFgF+5}+2vwDZN1Re6+)*rR5f}G5Y+|Inr(t2n8+0E z;>5KVei^>Hu|6J)gNL_4;vWRP#A_U129o?Ua6{00a+~L&m_bPGg5rbT_~JGSnMfd% zhGvbR6K;ytRkF*bnFXEq5{>XVLI%9N!Nb}&z@!X-hU~8Yum@W^rGaEKP~TR44rN|L z^R7D{1Deqz=ZuuwWb3(B7#tKk2CGi`X*R5IBW~m;)vMHZE*?NLSDLSp{Fm1$?9!XM zPz$cuqRx3&dnPDm?^^!nM?vMI#u{!O-&TMn5!3U-Y2h*&@zWH!28$J=Sqa#J4Wom5 zt?8E*zeuzW%N~t!yeKfbf?g%8o-=Jo47hpj)X)VqBy_>!oSxC0BNMjI_ANUV0sH7~ zL)@j-?qs)<7VH&Bbty_e4eI)PW?yJam&~lk2JIt^y*@rDOnHEmgObO_R)oviYp?Z` z!pVy?yWK4E9#^Cs-~hq3&V^&n_GOLGSxp=-dxZ)7L z?vQ}RbNp;}5p=!{t+TVnidQbM?#muvQd%KxbJvsh5@1Pq#x57a--ECoo8@kSV{^N;l zG_P0Rm54|IH(Gc5go^#Jk4)2yJaFb;4X;Tl!MA^~@9a{tpbc*UsK$(O?iLpd{2hM- z%v&RoAwvZ1^H^czlNE1<^2>xu=BF_4eE^2x>&dw4z`bq)n{YH=o#7mmS{)cJHFfO~ z(;rWIsq9`FlCjl4>%fiHx{Qe*8<(lj?Ey&Vjg2oiK3HBn2vqfjsmzdSjlA1QR%d!h zas9Gh2_R*2e^WP)iJ$di(1!AVJxN5T3ZtX%NQXS++?VCa1c!sb^=_CDOy%#27Aj9W zY36FP#swOs`otPS+}+ypwg_A^0Z5H%2QxZp_SZSwM?=og;+^>VwB$V~`*mYA*@kjQ=-IK}N1RF+QW_~<>0cqE>y1#gJ zGY&U3Wf>p0?Hdr1;~g{7XBCg6FS=420JeGU+9a0apk?gH>?$~yp-}N+V!4#jx;B8U z#{#s(-lmU2?pJWAmU@(t(PQxTIrc*L$>DstR&y(F7VOK!;TmHDTTJ0C!%j=P$u0~& z%mdr3omsM*GQ2nL>nw}c+%jAsPjx+2%{P6qgv+JI;m^M=OmlRs4KEw|NIwPHi(i#D zhzI-+VI`XueC#t!`WvXRSg;ZOy&f-T9@}~#_feeBJS|54gVSq{?jF)m(b94q(azPmlYJPz%g=^BT$H>440WxIQ)5uPByK?SM=j zW?advZ6MYahdL{GiU)~|XMB*uv(*G_Nj_i$U-8}2ZLbVEZ=eksaF?kUnP|??viP5s zQ>ZDXEEc?QWU3IyXdNgu<-KlA&V3wox@py+hObfzolR~Eor7x2G}FJ~IA8Nemp5Pi zgA;+p;oVU0^H{-rcX^(&VhoYBKI!xY!)qY`BN@(9(zRVWaZo`sgXK4ssyEYWU`Wn! z%VSU_fA^Qd6ZqPMJBbkN0*v{NCo|!azl}_Dmeiufl4#7-)L+xO;Ld6oF2$vmWKypX zrrpw`fgTqb16+P2CZa|iiMA*)lSj+d2v}re@O~d$mLxg@TaByxfJz1H1duNN)3tF?P)sewtTK6sh(Wr;9J~+B2}i75r6IX; z1AG6yUkyTN#P^F8lM%^0ZtVQJs|CgusvGr$!+PfN9Gx*KN0C#(N@zJhi*k+Ws5L+}h=edbY%}k6d>`~>!*5gozl_Kp`oAY<$z7_t$5#W*~*5T#D7AU6u>@Q23@cqkOShrb=6q1Z6a~m zza%YXnortpsXVD$d1-Y&ZkuL*>5_TxAQ{rfr?C7JsuWRn;Gg2Ob`qBe5oG-*vW7C4 zgNnc)qRzK0LuG#+SjMNd1xtHm4k*7Q5%l3tbjcN%!~{%l$pME3%zEp=gFs>bmq>;2 z9pu4QES~az+KL?+f6r2Oc?gh-bbhi;AmxcksU1?6W=TCJv5^b#D(Xm7<>%&z+~if+ z`DjKszUq~>Z^N^0{EWQ?njSt5d|!T3C$P)ZFKywrh+_z44osG0y2)ak(gzEiNYr8f zV%uorT3!H_oJW+5Xx?_)#GKHs*MbHzrILXrSlvOcc5!u{ ze?1SCB4i1nAul#_ZHM5=WRBIJ@0FLwT~vZ-ahiWNb<-yTWEMxH&(VC$zJV2{^!*v{ z8$_0}lp*K-Ip@Sw0nJsgzTsZJi1ba!K`)xpBvb8I%uzdE%wh5aF`0SiS853+K{iD{ z3r1g?hG3x6`_?754J2x(D9c;dI)5_rz*IfPwCm(iFD8l&w3~19Dy9|D{7iYy)H^Mo zker5o7!sw>L_K+N`&ngkqF<^Tip#~3S4CR%st*^+X3{;&yC(aQ|2;m=G4F-U6r-?}TV?0le=Ju|dX5`e92%tYx**Null;4S zU7hPF1!V*huv>4$=Q*CEZCuRjq#U%7;!}gN=tj9GLgR|}BG3~7mPV#=V|dmv7OQMo zHO?o-$i`D22F%^#N8c);8Qat=`L;Vr{gR`XW$>Rksh{6!Z0Nh9=P83>mfm(=AX!r% zuAP*S`HNRzKdqJVA!6CP$2+}E08tw$>5PoVFm$E7nOw6YhgIxxXQ!+B%2l@<4Of{Ny74SMm8uu}tFe}>ryHa? z=YjohQ}0rs^LS_}WS!@p>ynX((yP*t?!a+g^#rME{!C+a@L7I<3O&<6tX2B->x07?w8SCf?t5~l&6Ket4%2Lp3 zJ)uy-B-9wEz}Wrjb|UrFCoh?d`j){X-j#eCxl3vc?sg^6)uv2_9M%CEch79YEz7hW2F7L z$jZv%&mVDmkZwXgp)G4tcPuOL$@=L_oJ0tFDw)i#GXP38Kj<3(5)NQJd5*fG?DDXkL=>7$skjVPnwTpc(k}#dlutc? zh*>lNe-7Mm1&!M3EwAh1i-Q`lBoTq_o*%BXte~3&lna73n3M&4O{{(6EZW4FTc*v2 z2}YmoC0Q0bZ0Q#dx}`aUMGbure#wX}C~qf?A#KBk^9po+gilTG&PR=<3{giv@Lro3 z)JVV~dOt>6G>dyyJIlm50UbGdu6Z81y3wW7+0J{UyR~e=;bVV+pcjnf4Yi1p6KN+! zB8^7Aq}9l6-X+#es9C;$G~6`E`>me!BZ_gdoMWEC!Pk1lJzqlDOiM{j8sAr+Jgq&x zq8a=g@gfUq!S9aREM;|8NZpap>QO(Vu^Cxawk<4nouyoGOw^3Z++wIsh08nX7=N0Fd4mp?6_!p{l^wJB}_55`}3aW z#@B;obf%lt%O|WGgv|;l%pk@8mK#=={il6{_pWOSw`18sNQ}`jm zLZ(rIH(%?5yYq%IHVe9AN^nba21YF3SKz%XFF@zxP*he0E%jJj8KQ3`U#u;wH0`l= z!9Ldq+N>Y(ymc|~=+%P;9qGYG-4pqM^VxdH_n-Y~#+d-wCrgrxE|srzgnI^VFe@+u ztrtD}Z}NBvoxw-+SMWY7EzkF9=Hh}}_es}yA;_x~+Af=H7>_H+()rq2d3xSRRV$I$ zEazm^+)E2s-k*g=Fhd(Sr{lVr$Wa^zCA;LG{}W4pf&4pJPx){DNsH_P*Ne@+g40i_ z&*3`;xyk7pq{5M@nn^6O9w1_LPw!srCYAN{+{Hy!L)VW)$8qG}M+yvK{82aHX1}{i z*`1s86kA-FdX~q2qOSliF-FR5pHr`%XG$( zm*5quJm)Bw4H}ztR&pnJov2PbaI4Dvv`>2>qjw42xX_)kBOEOb2C~xba7E_!Iq^jO zC{jo6cc$;}8ipO0C)RThqa0MnB$Tl`GzY7s!pPjqOWaL7$cP+%kOYEn|Jv)-?&1WH z8O__`IstEMCINU`4y!WAqx^5BBPvGD-wRY$>(=0L(+XFQ+m2Ph^JalCC8xzCfpYav|KyjgbN)9kxFIwr*B#g0hi=t7Km~P6-HT3Ba znRC)A&dfuH4K7vbq67b@j|~NU?1S_Uz?_ZGQ?}^4)M_w zL$OoL*kw+o&k&z=Ms1lZav^6D$YID)^^Jdm;cw)FeaK1+&g$hiCX8_Rt0Zq6CfI#g zJCqK34&Yyh8nZ2s03m#>i}L`dEdiFbc1NKt9$;xoewsIY#GG!9n`P!K{Cpz)+u^^_ z*ER0?Bn9i2uJgx9 z{x@fz)Z~N+K1=J4d`N9xTbz3`Cps)o=vmu&wT3w~Hk%M(u!H|5eq;xdf%5dUD@ zSD@77(DUFqUX$?u>3Gv&{ulNtO0}RCdvqtlQ^upmWIi9P%1R?3vj@lrD*RaIMo9-@ zF$#8@V&@Fz4Q^R?0=voO6lQd#BpM*z?6Xioq`~qD@#_#1?IQWe`3bq?q{;e#l|H|U zO)b9?1OoeB;z1fweO@%#gx0UT=17RVhms#NeCddqp7tEi<8iNBtA~TVcbZayu>owr znA_(cq#ot&Ou&Ro$y#^GljZW7-9ld%PL%W)r1?Q^J{=W9cinM225smkE%C_cZ)J(4 z;Pj5fxh@rRH=AGgQm*5G4K$1tWZ_3+HyZ4dJ!S=cP{H!9-yiaO2YD0&K|(g_E{hl&r3@A zk(#U|3U0SZ|son6LqEN z+m6#_`K&20fzz1sx=96XIAHN+lIkSX$7=6a&vO&;w;E1#|im{FV+T(%E`OZa;PI| z;IM&YMA)P+EYmu(Rt~e6l6~^+MkX{X;{^HPl8I}+!W`!-;K?UBD(KY4a`+MedS{{K zsz{xF?Dc{^p_RMNo(plOM|uvtBv*#y3@KaOd_7ee;wF5leb%9w>%{bvcV5#K!^pa5J8#%Z8^YJExq z>py91fD4)@VmdPZNm6T}rF;R`u+BeRDztFium6&HBMk%(gyZ7##Ls!cokEIzi=PD(lu26RtSRG@qP)RY+`@aPW^ zHtP&^7CPt6^hZ_FqCAI~E0nrJrNWoNNXmphjQMu1W$5wtpA3|*C0g1hbi z+#`oO*PhEQq`Di(Hp@>BWX+EE`FOu!f>~CC9qIrA|Frno3lxJ)zCsG`ifa zEjQi0G2ZP3Rj=$@_3ajYnEQHcaU__M6N?#Vcyw=v(|;hP>UC z@#Cv121>YaV{(2*UGPCUQ&vX>gHXvHk_Z}U28REsnh+^p(v$neJ6=^Jx(5YmyuEa0 zb&dDs@C{jICHSJ80cX2i*J%VR)(W}RU_RaC3)I5oP`dk4pY`+EhQ@$adK~3i061W3 z!PQqd{-W2rfFdA~Lo{?5aQSpkKc1YUOx34Yy`8&{qb!*Dt!k?ickc*U)aBQ)*6BvI zPZ4)gA*okRy*Utp8V+SZXhelSB1oWN5TF4A!%nQ;T`XRjsxZ9HyL%f6xS|ICW}M^Y zl~Ewu5E#2xtueTug!-@!uamoPl9u*jG4k`2c7Y41L7fq)lB{hX7NPpkS=H5eCm@VC ze$?%+T4qSQ1{R40;!|*BG`b-A($e=3y8idW*oHc>eR~L0$&kJDPj3zv|CvT~|bxv~EraZ>AK-S6qm*4>uA5N=UoUBzWSTm7Lw z3fQR)P{1U1D^~$c5@2#Z>4QiQDVIr$j zJtW&nZEYl$ZrPwGcV8MWiuraKK3p*oOb=}+qV3H75zM|SVC`)gX3fQs3uyRIA}arL zuz5sXv$LIyspl=;d0bon4rg4P^72WV?DdD!c9>6iZGcc2=hnkT+yoHGK%7Uz7)RME z1{2FpoH2J~j<0`(dUny3-47SCAKP-+;Mvg>Zn-ECsYqJuA;~Y3(cjJZU)@@79$xzKGNS$7e=`J1cBF?y(o0 z3^k|>!sPFfmqwY47A)w1a|$Ezj313=DaPr+z&3eqv^;gE znhX#yyrFpEr<|$X`An=m-SYZ2rTCY@Ej_8TrF^YNk5mIZK}K}ZK$A{Lch2;bF2fBoQeoYRBkU-3CX ze!J%{wSH=z^4vu2KRC)GsJSS1*2Eej3eYie=k$biXsnW0L^_|mq10x;9be8+XFVsi z8T;~zkjrzRR6i>KD=N#*g?7qrHopa!r{GlHviNJ4D=SKAI^NC;%~jJAIOei@P5{B3;JPwdA#|{KR0tR-HP@Khb|&@ra}s4Zm2)%xV2>@(~dw`d4O;rENMc$8J26 zlWVO0&lgqn&rz}huKSg-Qr_}c>r~o@tsLDMG*f+ImUyeu)@v0%6mexzwZB=YvH$ z{!CG+IxPhC^(j}jK52B9DxuPX{L%&IAt01feV3-1eGI_>`m+qq8un+hWxNHRF4%0; zh&D{)7*k3zS0#_?1GeCW=#7$niMhb?&>m9%%bd49tS)TVg+QM$SNPp#nWeHg`fz|8 z&4KkBFak`HSFxxU2*Vo1<5VkKns}dOyH1FetCpjEqvsg0gplrG0HyshCX>UAi8P`| z7<$lCWT?cWs|B6@>I^-i4kcH0!K(Zm*^*O+)<>Ohq&2%Z&b2+Q)iDVO>)+6VGLKp5 z(dMM=)U+sGm|5Qd9JNlsytU|$W zaVXO~>_*Kw-T^DDr+&@cM5t63C`yA&l`g+UC z^m8hq4#vL3%&gPt0go;I?#M`Q{4ZtV(0;e|9=7Sfrt!yybr2hqNbpoef9%AMZHP7F10=VeBYT8=F~G=P1$D|QT+@F0!8;< zK%=ZQ&u0uAsyZ_|^h?Z@>iS=)*>A^K$Z%`u0Z@wv;#hzK6mJqq;$Gns^`@P<9e?td z=%7;s@<0B{^a-P#sQ@nCya!0-05>=;>wgbp(KHt|#p)l$ZXkrlHrB!cfKPxx4749@ zLr0cf%?S`Rh8C@o_zdipwg(c(-mYd1qtdke!Ha+L2SJ7=#bVGveHaNy=yRJE?=mbt zp|g1wbwgU5_MV0f(rD|Q0En_9ZrbqV4{W262+N?6eC4*1N)cESD z%3SedCUTqYTee@kOvj2QN;T~hrUXwV`$ZD{w`QI(2|Tm154+(Eh?l1>G!m)gvDn$c zn;`xk*LFS`*HeY4@p_T3@xF0fkU7d9;uqMF2$2=IwN(>5sf(9Q1L9py%vJ}-kbylE z2`^6I!(fphWqM2LT$Lh+oA-c3tv!+OJ(4Nkg$1AuPq10cHqE>KtBvqS#+2it2XQTG zf#shAO(F)i4b*^W5OlTRAM^&rn0`feWVU|ndFD(OeJk^XY_jk+vdUl~g>z4bgHiuj z*+fcXU{N~L&}i1&}x#9ldE|!&CMy( zj4yzYNrDw8sBZ7JgB=E0;HUHZL>)6ua6TG)h`1Kiz@dU#ZJ=cp7SNF7hAOM_`Zps{ z@CP9EBH7f9bldaglJgU2sBr%Dr_;}zzHofG@GZoT48-mJB}c>nIbw6>e+0aML!7ya zd661B$dtss!sKL-0REA8hocDRt4c??xbr4$_G&tFWM`xfUsKt4BKbFdG((#Cva}bu z-Mz8*HOJ%8@87ScnK51rY}$y!g{WL}kawZ+IBgr54%(@t(|@P@)E}y`H+hYD)SUtm z0HR+Gov?6;BYI__#?BY~DqbjDow^P$9F`3aSUsP5TT@)6_kW9i1=p{4*ne;Vj!pU) zm_`K7O*7jgw$&L5wz2|fngcN|#8w+IF_-+-BK1sf-D}wp)2D)HM#S+pBfJK{m?m_| zq86$h+EmAum$9PO8-;sipT4?>omR5kz@MLm+6W%&e27T7_-PC=ZDbYTLYu$Ke`hC& z(R5T?zRYCT^rVv*kA+RWaqoco|wt_u;@Tpfcav=Jao@URCL|?ZNq>!nq;BrUVE9gn*p%l-|#>nD`fCR8Z1lUKBP-g z{A};qe?$oOe-j}bp|3+E<>cL1o3j(F;(!oXm0a^GV-t+Q+9N#lc@P~$WX$x$aii~Q z*hIe6RZPb0AK7t4Q}6DU-zwuX-jlWBnDij0>bXU3%yl-^K%e2+Bm%cp`O%`eFPq&uC4^0DFP0_dU2{V1++3 zd;nBb_xx$4|6K$KHaVwgrdaW2g^xoU$DdhO1k25dV}R7683MxIDO*ZAt?|FJ#|C;R zI@>W`ZTB8`<}R(c>%~z=Q0~OK64WSRi|| z!f$w8lo@Eb#Zc^ojP^qnC1-o_T$$D+jl9Vi;e z>ANaQ_%*yLv~ttY^XG^4$H51{jS2+dXb8-Uk}fCreuwLhkj{3?-Q&?`&X)-u99dle zA8;>Wug$BpM3vo|KC{!z`u}V3>sT{U?7SbX1r=aRa>bI+po$E5l!j{!;%Xu6ZoxZdR{|q?$gQ}6y!!>5R@r6)> zQnh8?wo_CsfHMi0I$YwlS7T>mP1Sr1H%U z(}|5CBTTaKF ztZ7FUxL&4_{Hd4316z#*DhpDd-pccCWlS-!=Dc}5gj%p?)WdVOLP97tS013$`bmx& zm{iAzZu%NjkkLX$i+1QhIJP3}ky>6cr(9%{^NcKP1cNG&vX z2QLiAELF&|;A`f}dGFy(;0lz`Go7D4#-!rOw~|$Ccl2#v5(6Z!%CKL&{<{24F~ij9 zTjXFzTR(kkksn6KX;Y#2Gyod7*RPI-2^%xyDIJhV;g4OhRV#42#Sa(=3}R2`S-VE^^B_wkZ5mM0B;s!(kWp>IJ%GY10iPE8nDT#dV!$>S=eTAwx^LwXDGeX8zPL9Bh2ucswuUT$s?4HTb zrJ_~e>s&R`i&^CDiBmfl%HFCW<+?bc&dI*Ju)|g(#T+N9>iyCgHL`iFI)+%11U}zb z3tNcY?tR~I&V28@SJ$bD=rKoInEu7Fi&=O&-@7Ce!1wgvsosVIwq5`oau zWAvwL_v=-*t0y)I$uCdpRx`c7DdlCM#BsluaF2Z_9TJdD+2(Ot{5I^_FDPv;<};+$ z{Q6_cH316K2K>LaB^kdc)58d{ITfG9 zg<_QNCJce9CR@Na!P@H4j*n7WqSuF4r-QfwCtl1xNAVVZ|JDIHHgF4iXkC6|T<-8? zoVmB_7qbiPhGp9p%~M}dNpDVLkhLUUrwXX;#iie{^q7Nb>q7;;RbSLXIh93B1iNlV9> zRcJJH2K9P@m&+hn#*E zQ_?XYo3~n}Pzc=?@A5;~z^|PIoOoUn2m9!(Sh)^C8)o40z*1|qyu8)yr0~*Uy&+22 z=9ly%yb(RsL2*FNBgd{Gx#KFP6>;6vKPGqf;`|3_Ll@gBiSfJGSX576VL|%9F-(Y8 z2dNjq=_6Kk4#Owv6YH77RDG;;%EAa*5|dIi;9BJA-DBFgLfQo{Mf@M<_ z1f_RWWTRA-CN-c^loEOffuJHFBGN=aAP6WZEeg^Di1ZriQj*XYJwRxIB;1t%?tSii z-t)cp`|kaB`A3qq)?9OrG3F@GcxGvn)_15Jfi}n*w0!w%D3I9;MFB`Kv2A(&)dp=P z!t@NHge~`m)5vH=Cj>cNC_nz~A#cKC$52A{|5+yZr96;Lk6t*ORQ1jJSNe_2#VZ4(|#} zQn1xYkQLE!g19>c&FJ<0C@JugEK30R8Vw{CeDbQJo3%OXE%=Dvt}pnu4Q2;>XLR(O z`zf~GH^zKEB2P`VtLe<8_Y*7Jz1QE(fNJpGD@p%lmLTl-%_*A$U&Y46yBK5$d%!S~ zPI7R%d|;uqKOzsqOY(Whviz~a z1|W4Ex*H0Kn%T9yES3}t>vTHDeN^HsG#Z;ZeF>|XcWE?m>MWMWpb*-AbO`UxBVU&4 z%JOC|N`vP8IP-{#)iAc1#Qq@p9m6;L4tAE!UQ_+NEIa1oa1=W^;_~Y%)WjkgEH7LZ z&uk(EIJp$uu@m|@b_Op{pg$acaDCs;_!)C{O{E85dE-4qxPi2M>rKMB19qQYHLGUH zJe?mDE!nd!pd^@+d#fzRv-pYogNo2hIdE&e4Q_n3a*m^?ZvCZt%LLzx#ND{w9f(9c zed=hB(mkc?NX!SrsLQXmbK$?^Yqg!)0G(a}>~8STTkWD(KbS6GkAf%gmK@sNqTj`d z_?@`i#kG}VWi`4${|%G0**|iYmG&|x++yl5hMgcjZm-H^1LC<(G~#N_07}LTVy-kL3EB%< zGNvbnhS9+CfdVxY+I8_urLJD!A9VoaL9?kpm)HqX90Ly%S}-bret zMjhj_(+>q+tv@DVp?FY zLgVH0SW-?(@1xOD9&H0Yg$^fShI?X}|5rFr#xf)9gj(hNa#rJnoAk0CsS|8Zutxm5 z_Jqafrf?33p2*>DcN4-5Nvsh)il$>Oi-fh7LtQ~&93N)A@90$j+5Et?fG}x&&s#7sN$YuwV~uCTetO$V^>KYxM5EIl#RHk4fdosPxC9UZ`{Y$J7zba3 z_U83Z>@vU`1`1oT9w+W|!0+m)F<$|zdG1VdZvpNaeI=g0l)S=@V#d-tXg{`7Xtf2Ih@)-DF+i0S(kI}p{$*9yk9ryX;0 zzix024H)GGk~ud;rH_=Eyk9SVd05Z(4`K<^7`gEBRY8YgQFCssss-}nxT%^h$$Y9s z)nDTAidDz-&tdHk%CR;|KmlTHZGxV4N7h+WujJ%6a6D%%^_m}lh#8Ca&wOKV6UeRD z+EkXM+`Q*||B3{v9*Gyc)1%jb_wNHc2zoIvlNp=NDNL{CnW2LL&L7QGztMa8XxTcs znXDizJ3xEjqp<%OsV_6E^p3uHmR(Ug*Z3DP<>8B-W4LT%)q?r!s*`nq3hLffNMPsU zyY~t$E&Ic{Cai5Qtkygs&1yTJktqW}&zY&9>pd8M>>ES%{RK1{{{m>NS zF<;>LevPFNdf)Dut0>*{w3a5)={&vFG>Z^LXz>{3ZWMXtozz1X6)#kb{gp^XH1sk2 zsTB$HnYi!>5TtkQSt`7;EHC3yPY?0KDJHdK_J&``0-+UN0kbWpaX^T4KDRasD!IsA z_OkSjv<|NGs;EzgB2h<#D1%kEkGQ0|lsoSn@MD+ntVqi)Ft_!X%`Zj~y87DKA)=D* zsteJRTOg$ktzm>24N|l;wa+#GnsV=MJ(~0~KGbGW!xIcsQwuwtB7nSAcCkc&2Mh}D zsCqyjOMqaNOAouAbXXen)GYdZI}NsNa?(l!k~?WXjZoO`bEf-Beb%gdZKs5_F8%bi zom^GBh_%m{%;|OaqEXykV&l~oytGb(V>s40O77qSiC5&kw95-SB)!J2E2XB54;*Cw zwAw9#zE)J{kqW{TuX)w?x|5-honWx<)fucUOWYJYo?@H4^>q0fne#d6-lvm#Iy=L)#r1kC`%UP`bI}@)MWo%)QC|#!evqAD7Fmm#oKZ&)tu5g;9_{HK4gx=@P zq)D$ZZZ+ctDu&G_W1iAYd()AC?}SL05|AFK zf#BC$Y0rRG)U7zH@TRMBflZK1(`o-*%Uj+my=4OY^A(mL(8|?OnAI&J9MBHb(i=I~ zlY^4h1~Y%xiZh%43q6p*#Q&WY$hsELg_PU}sh}A5UN;~;541i3D+<8 z_seZ>tlj?=MEbi1|NlO{P9UGL65sBCZVmd1+S~BMkuI$sYtzNdgtez)!aYS^_EW4~ z#YSsA;b@Ee!UL?IQGCr!l1(yU(*f=UBS;SC z(ZQMr_yOvGV*C1d3`@yaSIZ6UeAW9W^2?7K=xwxE60-Ylc-l(+!rlF$IhVDzt2HAd z`!T}f!=dX(9DuOxM52RvgbBFjS5k=FuTf_R;NeQFUc7uD1z>H->~=y5q@l|58GQAu%}dRxQiq zIJu5b#kCss9;E;qt`0W2rVppN!1!sA-#3vKK4Kofw634icCr1) zb?@!hb$dyL&yBaIRhC;p@&vQOFtlhzl|NMAXv_P_Z*kWjD_ebFOBMDnOq(wawCfky zTrB2M?ga^iV11aGlhuJ!Vpz?j%ka}-Sr56-B?=YWkG(y{W+4E^E>Dg&j*&~dT$E*$ zlN1ZvN6GbYJ4b1!haLC}ac(asSoaFcM0~EXikN=ddg1QOU&gJ5xHi=hq|E)hfkUzwtX!F8zzfAMLmkxX@|eQp5PJm*`P*u0?js>NZPsDzLPR;iJn)) zOodv%dL~_VWKZa$Wq&Me8an83fz;LPk*B43G0oY&q-@|ebqwAm`0C3@$!X&@1Ie`< zt**#6{}|zgKbWqbosI-jE7f3BAIF1fKD`KY$5!;cBQ6}pCe;=>juIet*Ooc0ut@ z$lAMh+vG~?@8=sycNN?lNNv1b{XQGD5W;?h-Y?@mK?itG38dAh;mC&!f5cbre*f2~ z<$Y7}W<%F^&tnp9ln2L$2RP^PJSFS3qu&t&%(Wy&I z>$te`z9^6qar}bQ;^Sp;czM`)&9$_`4WEs{KtW(Y%=1J7XymPrHIrIrrUyEbqmAAR zrhQZ=>Wn5_C(O%PJufQv(wa+&%+Y2qSzprgRhha zMGAs%1}#7yuPtk5=nB9Q-xAE%Wrnx*O$*$%B z(aH*?IA;}1pXN&)gosi70G+Go6MI4@X=sbBQIBQ!Jm8f$EX( zZi1dea)$SJ({Ldlcl~KNlqmi9dVqf2!%LC=8gpOn+^enQ8fvzCaLe_X$GrPQXYb1C zVkx2iv$?T_h3{nY*O;c(1zb<3Ew~@jPI8C6z5U|X_hgx z=qocVSKj<_B0t)CX5VT$s5TQ1sdS8IXml%S*`D<#SR=LE3p!6vE`2Fc)O`y|sW2le z2Y&oN!zda}?0Yb0LYaT`fEQ#v_b$-A2p7pX(gP;!qicM z*ar#>&u^d6HXBKliZU_qX*V1%^5E6R?2|;asSAhBaffmAOjk^tfVAyVuoEF{OyJ{V z1FQNt`G7a+OTsLZ(Ut9ha5AS;zX{hXvKF-rZ|d+tGB~&R_*Z+c`p;>!T|qrU(#ctA zm|(l>D?i*o40@NlrmQ)oOC;XAd?N?K`RmeS5Ow2uTiT-_86zHR{gh7+eJ!oH^W%ts ziGIg4)5?QN^Dy&L8EG{MZT<)Y5R+*>r$ z;BD|k|0nge-VtJ`VMh2|WSjVj^wYVcCLcKGO>z;an9K{e$H@*-dkrRDj(^HXD|0V? zL`8E=?M2DQhd5nN0!){LU{CG1Uv&^t?Cm6>=i-6V8Eq>%k3!j_w|p$Rd#69I2RpCz zb168bs7N~%);C0m_;p#?pl!*6#4bD92)NfqQm&sVKOhd0eOxu66Gv9Ki9`bFO%k22 z;pN`cj*ujxNsb(4`oZ$NM7G#rl(0Gpqr?T1xkEL}PCoe5qV}+cQ?*t5BWh3vr_7$N zZ%?(k9dh$8hm4Y7%hE1QX8k6!}HZ6s*$hx^E>Xv?{YtLd>cqKsQK~80TLT% zp5y(sud&m(UB~iDv9>$(u{BzH@`AL$iDx;SYfhQdXZlWip9I;35FN4*`R9;cA2XLV z7~w{kNf?$7bLEtaikCHa4Ni)055=FKZKT{h&HGVt>&@PbnAmnOnhDq6M%FZtq|J+N zebz)377t6?c6Pd|8)s^ls#l@K{Z2mDV>n0UfhYfw2(o zOsneV*(8Vemc?ECYt1|iw${(~vq>P(kRM94XA;B;J}caCRl=0|p$$vddT;bt?q33R z^MKkSWjS4Jc6Q)i6A7JF7hhfr`0*>T;1Ux~{WbkaW4QD8a-Q3E1i z#Ytb_7R7nF!kbIOmsVOyNuD<9uu0dIb+|SPJ4XeCjzFPRh z_yM1HUmQzAjk5^23%-u`Z-2c!r}Lf*=vRO%#Q??nbSOp~1F2NJT1dQt?dMU48;$F7 z*zfn(Uiu5-Irf)}o@nVlF%505D^(&Iu_qNBVt{}H6pdaJeU|5h+rI)2cD$pWZ6>u@ zb%AtB?i}lh(f2E+i(BIg=CcPa_NA%D#E*k(z9sg4UxZ<{*`?Gp} ze$)CHyyVmuB@bTJ3DJQOff9R!isGiHR}d^km%xriT!;Z;b}zlE0XHBkp*v5W#L-N0)Ru0IIBCB7HRpBlL{eCe zy0JFD6-V#mDI+JseVF~qOFL`E2p<${FSU2}2EMDMdArS1bqYRL#TW9Vhu`TKWQKEG z0Lz~7Cfo&t{H$@kN!`HL@e^59q^Td1^ILV0%lSZC05Ox$Y|%(+Ft}{TP|Lq@PS!fQ zQb$A&g}24ms{21ZoRe0(8W;k%9c}xOKF$Nfl4`j#-!xr_vLA|;@Sc5AdPyO2CR^~( zo%P2TKT0Qmw(0&x%b8fq_&KH}QUQ021@&NStholri=NO;=jp{N66VLM*TezIfH(AE zjy>96=8#g_jm<1=4DJtk;rI-JMLfk6aI2xhvVJ(dqN7s|>w#&SjaEqU>f7YZg76Z# zUT;U?_4&(DMc+@*_uwyk4=VZ5+G(G8f^z!kq!8m5d%H6{(gG_r9gfg{aM@`q@ssN| z^3%XnC=n>@#mw?{NAoK#K9v3*rPhWYWikhcA?<(Xaph;`m8AAGE~l z?S=$_i)0EtHwnfCU<=OwRtL}yEb*Tt&y3vG8vr~dVnF<#nWI#&&GI*pF=S(io|6O9 zOdw_lG9b8>pt`-?!1Is3;J;HkTSM(;-_EI7QW>yyg}UF#v)_#t{{DDPswi&E~D=bh$|j$-+v<`i~_^kAF>OkuV{OkJ|t}V6R1Da>yRb zsQEi!YFfHxZPDjAAiXF#{SW^N{P8r3QIzSeIq|hLw78WlrC6QIl2zKWA%q{?bXxgn zj`k!RS3=P76<4h?8%gUOX`BFmS3~a?!9+S=h>(7O7IyCgWjzMwvZesj2;%do-S2Vb zhx@ERR)CGxlT{H?B4WFXe%O3v_VRkz%Vg|=-QaQjVO~_Tpdi!Y$Y1*8w)WUA|LL_m zia$o4DT>8!6@ubZz?F4}0&ANDJhi&s1qa)OMkQa`_4+8{e8bTj{ioWG{z)!kp0)mi z=qMv>84(~>O7mxRzx+zJ;iUB8yr5hjPPsQvPrbSsc%Cm?#P!OT7$uP}Y~3MdDXOo( z9=edgZT~rZ=Iybj_P}#;eg&J(@2KfC3@T1W3cW_Yoff1dWk57qE=emlM`z4o1h9O} z#c<^4ube6B7&)$E<2)(IIMM3Y+6>aaP|+{!o{$4nN z8ptoM&mzUE1aIQ5_(1AO{MWrbKC1B2r~q>;6Vq@wz~10ury4vE-pfrZ`+2AJ3YIhy zc1d6Z>l2sSu--wT%_nWh?ur74)~S2&amWQt1Rpy!6Vob965Y7lWqV5^5E`=k?${ny=R*XpMW5hCi_@TkK3McJ3J}YI8Tr@sW6dm8#NlS*5|wL08KVhq z($uC>JGKWBK)C?BszOz*ErMf-XXPi}bpyTnqwluzpJ<;Wn-Z4K$QlYAA@!_rslkH% z90-H3FfReydz~^X5rFzMoc6vz0@u1QgtIHv)k!K%sSP3;fA>Ct9U=-E)?6RCTo(XK zH?pzy&h>|8r8x142kG2PI#j%p+^(gd@R7jkN17wHIo(9lxKSdRAsFblG&7kSTBiie3~~75HRUXgo=?@>3v1d z<)5x}sW*~%a9z;~=;%@MK>Shdzt97DEhNBF6R8l`oLo^|NZOYYCUC-6NxptUOY1Vn zk==f(F+R^Bxi4%p1!DP{e#TkcXzt4SYf$1E z(=W6ToHhhNN>>J=U>0CSK9#U4Q6VcBra2y@3bcM1ow(@CR?HgzYENo~dPSf*i~N!z z{pG9rZl_E%w>QgG{mPVwDf+azw1Z^Zw`x&lj}o7~WD~|>Pkq1Sem%{VjhS$-c)U~( ztOsg2bjK-^H{kv9s}lt`Y!^u64KGq)e1g^7#fyz!N$KYlDnmXg0;kGj`d7U+8pU__ zs1`5M<+&J&PkH&$Qz44_;b!Od8V91M=7p8VGw1ZnWSRu`L+pdeE1pTb|oKRwr>O3n)p@?_@&?Qz| zbg?AHyl_XBOPIH5&C6yf`i1}THrh>gt@dK?!y$NiZilG5g?lpV$$M(n=Ru?Z$+i{H zvu_BVb`Z_P%A8rH__e`Xv2&M%zNkC|-STMbeK|oI^wkk(AEQv3;kW^vqaHH%sK(iP7;yL@K~|oQNS9# zB^UlNeYW}!f2TId;?qUBe4a0XpHCDa7UNeMNN2(4KJzB|NS8IpxA@NOW|ETIH!^F> zc1^yjLXhM$c12^X&7k3w#_IxNr6Qk)fo%lI$Iv-$ee?t|(!V|uq$#_TSa%l7_wa#% zCta8`)*php@V%dmoJwAlf-$U0^;*nb?|vtHXuV!^RPlaG7M8zk0X zNhBB>A3A&?YIB@Nh5US;d|Z}xUm07$bGgLTb-k*Q1d3@it{l|P3}tfhu;Y<(ZQHp+ zNwb%R#i}wsIXqmu;~_YsK}%t2vQ_?3@B7v62tSO?^b=#H&svMhU&{d{b+A>@Iq&U2 zS(b#%SVeskDZxDvt+eS`Obm?$P zsFdE#8M@ky`>pVCPPU)5Hk{kn1PU?74AIDKtlzJ^CwggWQCyh5UJ{P=F9{|a4<1Y1ZAg_2{ zBI>CdJKVOt^C3%}5e{IBLqXWpqX1ze5BT}K3@3;jeOFA7dq^OhkI_VNBkw`+M_F)D z6+(5bSwRCn_sU<8H8ykHpG5?YksHM|MOi1Fe?*hnAT+ZQvYfv3;-Iz79~Cl90dM4b zf280n8xRr?pMgW?;V$~xi14@-7ZeK!i*Y(5d7n___rZBxXBDu!SKp^xVJpT4`KKOR zi;!m$(Ln)4k-$^u#36!Oy0e0ZOc=s&?X)P9rHgtrP`4{6+Z8MS=1AWux5SJCuLn84 zkNn)ncBi33*g@kpzPU1tV9iv07VFkrPg;GZ)3s+&aU&d|oKQ?5|W1CnCe%NF3SqKUE7}|Oao#V7b@j} zM-08#9(sI|Oo}h->e%@gpiuh8msciBG{JcFN$pEFD&=EnCSW)v$_oDcq;NZ#96IgD zaM|xKFyft?x*(V}(`iFu=N5ukNJ+aAEMt36ujnP-Crj0E8l_JRF)O%pr@JV>vK}O6 z`&Z}2$THrub$@?ZF<_sRT`CDa)J|lT-evz}>4v;Y1)f0)edZ)%1nrFDg|2#!k`c{7 zIgNl^3sBE1M6L%xd?tzZ@4$Zku#NCYN)qd{2@+a4x2te`AncS)n8+hlV={}+;c$JF%6DFHp4*RK zz(U>og{zEg*uJek=W~wXPky-Qb1!5cN22#~*UV(P>d~GBVey;07b(hy)FEhAq@1BO zRX8L&?t${n@$ZP(@Z&#QyI(&dGcgTxq>PgnE|gFDPt%U9RnX!GQ)eS(BXm&g2h^%$ zH#=0!n)FoLBL7B7E1-=1P{I;3)8Mb*I6$5G z$Jq@=a(v^qAlZkUoI+X zkD@nF6CL+;!=NfXovT7-=pmwNpCwmz(6f$D9hwJBy7DruC>_^AJ`LPsahS_}ZdCMj zQ7|^P%kFb>nS44c{~r_`-QEoy<3jd0^Y4lWjXZ9qXPaF8#hdn}>Up76MI3Dd`%oEN zzB8y7@N%J;W*$CL%-;1M$1EazT=gtmbP|(>bx`EVXfYovZ{-nA1JRUkFN2A%kpf~@ z$7Ec^u@%eRsbQ}ltYxB=sY@MttOpuNQ0>--o{ivXHU+$#4Wy8qDFuoBO(e2j%Nygq zz{YIjlCLiXf7y>rlolu5-;-~Zv8e@13s!`5&5~@5$|?cnIH7y2XA=ujBF-XWbJ;k$ z1LNc_Nj45oCp9&u`wBFT`Z6(rJx-|2)InK@2eSO~-RGm^gk}k;lQJN+dfTIOdd&$3 z+01UJ9f!p$o}LhR_XfsN68upIrPM5-!qeco3vx|(ZX889w|i>83HwL?Az`ECK?o># zt=4@Qj*{Y#U#8zjWo%tdJa{e^*woY>oN$%vRjNp%NNedR;9^TVY{5;jq<=i|8*+Su zfTg*oaB!igqNj9B+v?x5AJSB4z79=z_D;i~cDeC8nBCxit&T#!RVa}C6Kmw7e>?I; z?y$R*l3G{#k>duVJ`d8q3=E3L0O`91s=24t7JcyH^TjKidok~q4~GL)Cld<4W^&#+ zY@BYv234hXXZ77XYwncu=|`k%|K)|@Gp#7^={9wBH(ml8^!$5PgXsz%%&oBuJVnDG zol4kD!^jD5^jFQShDzl7?$+(_69wl`4&2Dhz+Ot$w;CuctEg2ERyVZwQpJpKUuP_# z{kjI%9RoFdlU`FZ^t*#dT!L&VLK=|_h7+|4vRLNqAkb6tt@Ut<+B;5eXOT%$PCPJG zIOOZ6~`M^3BUpma`7oF)H3ur3L z3N3KSh_eh-9fQRN;AQjN6yBJ}gJ%2twdy7kc2811TNH;dXGsOM^A7dg>TMQwFLKDI zjFb;YqHNjp>Pdf04_SgvpLSOiP_;4o1CA`er6!E|#EOWMD~5aio2mY! z#oi+3#P!MM;Pvk?o5>d86&XCz$Focx8zYtL%C6UC#pyjV146f>%|HYc_?|u%I9ywg zfo>2RW>=ZzJ?}ZCLV?%qD$7RvwlC5Jv3kenFLK?vqjs%4eogG!ZTekif zJb}(gAZhR6yEZkmM{S@KBUcs7=a^mcvl<5HGgmGfoEBIM<(TDOqL=NMk4Ru`Ytm6H zyv!CJMT&fv4su?m?)j#!DIkEGymtS5aRO!3N2J|^k7$fQRw81mrwzcfE(Y)5xt2#&CJ>ri$ zi?pGUVU=R$NQ;a6TS-qtgg&J#wwlV3r{}6Luk}#u5ca&Ny#TrRQofAyhCZ!m?pfd) z&)6Cinkqs;VnuPDIpi@$wL9y(3q@Gxk_5b zK?m$rHx*_bEjg@`m#c%F=J}DMpd~3nR_9{PGPT2J5$-7G*ti4%~E~ zfZYe+wi=G2`z_wEE-yNf(Yw!GVI3ZYj8^L>HQ)XjudlxZt8GsLLm~kXPLywtRWgP> z01Ur!p>N5K8wHkA0%Xv>8^66G zeyrbO`}ne3IyepBC7>JRwXvMDLC5x8m2|1?hj>x@$aOnkf==8hqM~R$F@49KXLF|kDe>m+j_}6TkF8XI4ox}m_#AxLst59JGW;E zblSYpRIi<9fE(meU)YY92p(Qk+@ox|y;O5S;36?i2D>AXWsKDFRmp#|5ZkLaLZfph zhof%7k*WO_|GEe}?%MxsW&c$iwlqy^d%Rmh_^-cU02%4ts9$ma@3C(UR8R+1QG_>_ z!qZdD_qT;9Vv+I}%;V$sqNj|KgOdDa``mQ5<>>AIO7i~Q)Bl~g3WD-5-#&&f&ih;X z(Alefw%gL7xupX)zyw#>%Fd$KG?2JtyfYcYuRh9;RryxX>zI_YCDU25*i6Jwi#>tn zzO#PdA&Qu9aO%Ksk&?tC%cdD?aacQHVTH@0!jrbJBYvPZlJR0WNZ|9%C!n7nAd{2i zm$l=MEBPVw3cY`;L_!jzA2Y`|>k_;l7(_UlDHYz`7LbTmEYu9jIM4KO$d(j)gX;zH z=-<}D7by$_aTZ(#_m7A<{jE_S%PtdpthHRrP$TbQkhW|#rfh{{XO=EtEAaLz7CX;a zq=3`&J8Zdth0Nt+cb1A#{9x(NR#h6t4S zvVLW~|D}BcO%Y_S;P=?K1{%DT(GFz<=wzKFiAnkW3K7%p*uQwVEtkKjP zJ4)9`La+Ay4z@vy`WKpd@9!^T5VJcfKSpnjqgzFAlnBN!Zu|#hIJa%H!9+pHZ1le_ z!j?h%-`Y1piH8siu-kL;AM6`wiegHCk9}Lrz+6ViG|pgT7TlEV(il4qn05i*inF6{ zBc)cKj~?P08BGZv1V1||3L3pNa!-!Z>ci~``R`5kzcZTu;RQk2U=}l{kf7-2l3I9iYZC=!QPn;k_ji^9Y)Ih3V^(H$|B*Op(2VcFChmyW z&5_xj(yeuAtLBFK4K3RPeCTaa1T`~)NFAPnp)z(1bPpEdHL_0rozQ3}0Wyfpztw|G z&TpCC+RWRk!JKh>ZI|0`?_`ofsa-DE(yT37NxHS#G$^F*Xe7M=_P3n=y!ZdxP`ZQi z4;%VE&V(v!4gO3@6$R4Bl6&4n> zV%FxcNTL!$(}v$Qkj`ftPV*4fYBz`#n^8%W(L@-&c$2mP3sPPi^k?Sv8f=2lTsNbU zD1y^6iQ=h(h1xciY6?0L@baW~1(gjY0QB#f&g3R0CSH420nd|KGqOi~;=@&J;D~tq z)Mhbtu}O@8f!l|V=i#DOajRWuWPX>4iOFN|b~^TOxHA%2$~ObcF#VXu;RJ6?Wle7D6E#5FDs(f}f zksZoLJJjwYyip%aO9~q}RW5#WrnJ;=QE+p4q=Ka2FFXl_;!5D8F}@1LwXe9!fK{q& zg<>m7Q*b?s;ZZmrD}Z@I+2(>)hX$v}BBmx578WLbCkKu}?QPTf0GRT^f-WUSWzC-* zI#5I$Z7{MRH$agjq%=kbZ@K>Q;}~vstj%kqnM{{v*^3JPKo{6m+ta1U-WQAZTP3TfWqar6n?qQN--b3>!LW)0r61 z)=RG3^j%6_#lZ;bLF{>@#U2Rf$Fx*c1qJ`1wQOW3_N~q#62-|L9t)_i7W(NjoZKQ$ znCH3+wW<`3R2(SJSClO2q1w$*C!*W*rq?+J@aF3`!4ipSX*LHavg;9>Gnz!27(?{$ z^Nf-eR;!x+Dy-%SE5v#V(hgN106&D2brYy&5eo3~Bue2{p51wmCk*DaL?wl``4R)s zI62iMR_H^OHN?_XCzh4w0dn;*G>oc9Fv0iXl{eZ;{isC0t^L@HT8|t_+Jq2-$10QB zLi7M2#IbN6Hc91cKbF+gpFNg1JBtM&477D_#<>+snZIF)2e8Y{}GjV90%;kwB=fx%Z^gpCE_j?~fnv9eE1F>P_4{RiohkN(K~kl8OKCPd4z0H$Z@ zaqWlz;TdZ%g$X7Ir#-oESy<^-{`OU%@pbbBQS^*w_e$t8?r6rM3;^yT`tF{#e=Q6< zE3a$M9CO(Ges`n$9bjGj_{%a$&Br8&L_u+O=v8aJdLTGE$HV{FHg;Vn+&xZ?=-*o( zJm6x|hl8e)aR4x2Pf6Pnx`J-3^qIAO_nFcvz=~zTkn5yh;1_!Hh`>#zL zd{lx=5?>>O+}0Y1I)aRZ$6>C4kde=ty2I$1&YV@ro)9(f0ofx2=U$uoe;LIHtwQ{) z1ME^b9T9{j$QVKv#sH*~;YSgOKanrRrfEnK(bE+?z=(5I&sa2>K*Mr*kFYo9zxTGn zNK25Cg-NXINDn)hX^VFi$U3W)x3A-j*1@t?ePy1`I9+3spB33LS&PvO2l{YtZ1Z5% zBw{^Ea}j;}<@7&{w}M{WA5`M=b>{w{{MTv)QQjZseW57@XdYdCI3S#>?}*3P z1n86a2Celou>)FIdytmF5zk6{hD(Y)-v3$B{jd)9iv1rIV#rq@eop(Yt3Mr~S3k`I z(4y^v!{$Qfn)Ed*(*zn;Zjl)YTmD)eth)hPz?a)E^zNca@JEWeevUfPe3j4!5dEV4 zH#H9~xH|whe?wH{3cMB7*FOQc_l}k5J@4A2!#{LUU@M)!FZv2>B?jwEdCcQG3XdOq z#KXo_GdT<(W}fFYL*QAw2S3Yv{zq01o)g@&=Xn_T<#fK*5lUMDpZ_KD5$@tO9CX!m zPL2#Np?cbeWg1fH`|K!j7u0puload;I9E*-%hgdkA|jKq+8;I4on5jkMXj_+A0*EtCnpDl z5WZC)q!an$Q>pnx^4u~E3f<0~jdyBj#AjaPs z@uVi$BJVT7@6>peG{NSNUAWW+6nkzPRdCUFEe;H@KEJsWMH7Xr$;nCOG@+zAbU(Xd z{7j2mr4WBdTFO%Gd1Y_bAnQvJ!)lk!W22jAT|5Kz;7pnKPl-LEkCO^7M(1u5L{YvD zm+dvV+-IJTl1Od8nf%*E-pWSXYe2<6jE@U_J zk;UOhT1=uTJ1WydtQyN)x=4unTSWzpW=ab_BJ<%6C9Ki)7t9mCe`{Pkw9^Bsj}Pz9 zV_NnGH7NJzYH$yjNsupmlz*TSrKXw;%5Sy@w5wOrCAe+%An4@))O z2;UrulxF$w=^rNEJ=*B9bMyUj%2!{;gVsDXSvNsoCv86e57|L1*;+ihdWVVRG+fhA z?b4&uX`@a0J-qR)yrZm<4@WE52#v#Lh&y(_l6!l zIp7h*U+;&OD127lUn;gO8#dL_L-Kr!X4y2v?@VY?N5?ysZ zz)KtBHJhJDShd$Ap~M?SoueDcPo77pNh74DPC%F#!X$9ckTzUY@arx$!3b&;+;s^? z^!;1q~<$#-Lu-$mXq&t>A?jMo0PLc zo(T=R{C?@SM{bE#2<*n2XwifE>w~rc>?b1uwxFFJ)wqwbs7bx3h=ZcvUZ|h!JqPKB zQx{K#^84jTQ!rM^5KLKo)7^YG)Rmyjjo76^CG0$yN95b zx8iJd5TdE%<6XP)oW22V4!v?;YiH;2Qz6a9)hjA>b@eIdsiIs430f}`6IX*$wPx=G zHo!|Reb1Bau@7`wL86ix})$8L^KSyZ}@ zrrRdJt`Y>IIVG%e?fxp?+ges9r1WENWL0dg$a4Uf+%OmKrmjF zo_duqA^iJ0#Rxs}I(+i>)wluz(2b(PXT>%I{gegXA#~DJjqaIpc^!1oy95p+rhNZ4 ze^}Ch9z6RyCFtQB@qQyXqJS1Lz0(=?Tf5|Ixy>e8Jy)T|;bu~r2)=a<6GDj(mz(yi zt*^_{GzNrtpC7;r#@3b71Q%O?jWpWa^quOb1moi(Vdw9@9(yp5#EPyEnE?!Hgo=KZdv9C1vrN})C(uuyzAr%)4BQAcAtFywbFJNb zt*)cxMlJgHZh@u`Z^I;WWOdlpbEFDL8}R#lv5%O7ZdPnAXzQf4c7(0pK-7rw#jJEE z+0WvC#g@ACx;=on^RsKb*E?!C5Tn-s@k)015%}Xm$bk2N7R&}7j%vAc?>@1%o${?Q z?g-A7j}a&^f>{iuHv34Pw>~~!_CYm^`$)_~08n{4V3iTfk6pXObpih`OF!^@ky-3; zLPT%&qRhNBiEQ7`XzI9+wo#Rh!W&+MOAR&KtZE?YMM(r z;NjyZDoSeunAvv}C z7u+rm0Bli@6-rJvd^)>DzQ`_c`AWNW33if$Wm0#!`zgraZLPpQ`d~$?Ht*YXu%Y=^ z$KA?ry7{}*%+*`|(5qG^MKZxi(i|_Sw`~uPJUYWN51G;O$nqB(&vMNr-GMLkO6(~@ ztl-MuvFSNuz<(JNO=^a~3Y<>$;oOtaXSM9}p8?$6ae)KgblRuCnLuZ=$YsCz>Thk= z7=ewhEX?t6hUmS6mAd2)yU~_t!2ALn78@+g%@@6Q?O!k}CG$9~9j$qyR)U-v5H6_l#VQ0MMAr z${m~L%>zX^p0qe#-HNDrb1qW5ME`ct8$pfR?^S6@7LSSfh2B& zhLaFFzfQmnoQz#1MZ^sb0aRKHHJmT`XlQ8g^YJBe8~M5ADx4zW`{TKaWtJ8^z8gup z#hKe`wsW_caB(ibZ<4Zs^!`MccgRaEyagaa#a`_xP_$GQx?^{gBP?q&L1Yl8skSa! zO1Xz`)G`W@_&Y`ky<%aV9DZNYvSNONR!r6|+djg}Lw2YLjWoX4Z+GslMtBr@*@;Oq zzHsVZ_4xt8{wJecqFko;Mz{-ioUdu_#zvO^fyj?*armL6WG{w$dhne}_g=>G#cFNM7IBK7p=LAV4sgRT4k%N7#T8v(p)D}I=n{M=|He6@ zMOvaA=pkX33jL`0#kv(@@R=%J0W0AKt>RSN`yy z-2YGn4*=i@&inU48ByWYP+IL$^$gJDd;N+a(;beU+#_)UJ_! zY8u{mI3;0DdtGuIc%jW4B{dShQ&Q~1UrWQO)>|~= zvx!mH;Htv*^USM;s3~=>ky|!jrC;%s*_x@H9xgI^^g7k?Yn=*<;!El*g@~eN(av<~ zn0*BCCXzfc1s&tH0^sdgq0XHy=pk(yQqlb|n`aevd$XT*gcDeZKhjFk+q*Gqc^G_4!Ri}VrlVvS5-r%E`KQ&Yp6iT#;=QwK@#v46U$AbBabm|XN z=q}%FFjZ91qDWsjDIvrW{!3;|t5nbP)?V@x1e9RkCj7?-9;_^^LT>ldRO=QUnr8;w*+H#GYb^J>wnrjZpDz!%Ia=xbmbxj<0KG*-#zSKNpTW*H@=NM)={1|p$&UJp?2!UYXncM4_!f%um!ZmgZ0)aS|_huv1?tAvjp9HJg*ivLp?4;~<* zHQm0$tnZz04Sn(xbKjvK<_Zfd4`;qN1toDxOT~I z0N6-5QP?L+T;rW}rfeI*Gl=~)89ybIRcG5ToJD{D;AF7Ji}j=O;s0Eu@(B*Q?3(In z5jyi|R4MR&TNFp88`Ht~nk7N%R4dU}&&`x|XCD+0?Cw)bjSE(fGnBN{3~FX+EjWE) z$}mqXui<6YI3*rD^KXEBaGzCv4unj*l*8rKPRG6JPKtVlM>u_&0nfQ>HJ=UM3K0Pu zbJt9#`afJe`mtVzPks0=r@ObpI~GC!%)vGrb#fyP!O8X{1;i9VPVeIVE$TmclPZi^ z2CYZHvCQzU%a}<1Cq-@rC4C3bmBAUQ2fZxAY!%1whI8iNXu@84%Y&H?3LXvIkn2PCsU2K`$j_rEgF zt)U+GNqr#p_{4k-8uS4kkn=CJ{67y0d#nR1vN>QourYex+0?sA& zjV2jZB*#%j7Qv{CU_3Xb*lapnnN##6ebPO6@N08i3{kK-)5fN`eIb+1((j0o7LvMs zrvJNIW0EGrlD65B`hcJ06sxG7xST8^?K!oNKgAG;O~1VWi}ELXYv7;s^XV3pv5V30 zTf0R9uj9R_wkAprUj>F9(IvV#)u*!W_QpEg!K)q#o1vX;ktjB%pKdn8Epdfkau_=4 zUQZOi2IJ8iwBTi?iw98r4#AO#nh~}Py~%P}+PYgYy+%6CXjsxEVP(oA-+!F!`FB0- zZ!3%}KR^FYqZvR6JgiVZHD=&k7SzENwi)>I`$jB345Evz!C_2HUOf@U84_wg*QND$!)3|l$j62+R!lihiMO*J`GFfWVY zodKKk8TcwK%6y$9Mys1C7!*Q!M_ojXBKVJAhc+<$z>%!>XW_G`eYyS({IbuS+WGo- zczHiu>s!P}Rs#2kM_dH;EUxq8HUcku1n`+O-=fqL@>{bk^Q)XXsa~p=d2!BT=I>(Y z&B{N<+NguYPr~ukXy$)QwT-8BlH6i$p9dv-$0sn6)O?Lc@!IRmG`7|hco?d6q63=f zApVcII85XYbw6m9$H79SNOMwpd+7M{NOHR9VMIH(>DaN%`yZ8<2ftctw3q(Ks`P11 zPok*7BC#LCzem1`r}1Rp%l}U)rhV6t2IxWTez-P8C9lo(35R}BSScHV<^Z-|Qy#giW{kG5#P*E?qcfX#8X zKFdsgmp;ZxTkAE3djlgxqMZU80aRUeOf6`a)ejhVB@yl45P#Q_TA-%G8yx^|E)&1C z*(ZlX+m>8pTzePGx;+k5^!u11k-nRPQyLGaW%!VimnsqsK$6uB9{Z_{_1MC(c&$og|aw3mUv!=7g7$vXZC| znbkJ-7E|xv1H`-CpEZz~{Sb?!XwQLET0xea_bdp5$lcM9_n~#<@u)$4EbC+n83DI| zn4mAw;XHQ}kLqXx2_uTXJX2geW;9LJ$PU(I?wbz1E0yZ@WN{D1CPCYhC;KXC@)GKw zrsdrT(*YL=4f5X<=+w{jyi=G8`aW`L1)+@)pj-9_zKAl69{ z%dRT(2ClP+W_tVnnM9oKVZgp#h|9t&YHP_1Vv#l` z^ymA>OK_<{*xP5`!h;!#sSsjG<$A)PM%j^9tWoxt#4a^3%Ny8pQebefzuIhBe3OC4RD#Z} ztnM$MrJXM_HY1T4A~b06sVYRBAc;ZPW|Z=Y%?qxR-Ou{|K6fJJ!cpdD ziPllD=?`0HuB%~tWl24_0q&%a2P*H8!OZ9q2grG64jCuto_ncjQo@wIef$V9hQ2kP z7iC9jnKXx9Kqo>)LmTwe`I_N-u`21LR!5v%_eobzF<~4tt{g23{&Fo6Y8w+)acETZ zXfBxw$U!yHzihT;LOVvH#1eRWbhv6NBtGwG-kiFzakSZy)>I#7cO*}H5J=c^K7>rfc3)XtB zQAEJ&L;o;WOw@69KWJRTv_PS{laZa)+qd&`QF8LwN^1IvW#K%~Fyd*@0Qm%nR^;1C zza$~}Jrl;{B9Ld_Mcd5%!;)Z$XO|wBmiIz}Z@o}H=|H~cLe8iCiObv*nTA6pwXP?J zeT)ImldVNl0&hJJ3Eq^6Fg>~w;C*79oSEeCyc54D^)peBf6nUlG(Gd`V;SpkM#NmsG`83sZHPDEC!VP^@yb3#Nwe??!9XBdqFl%48B zm*olAAI%7ceN{oQ)U=P*_ADoOdyj1=qI{()D)|C6UBj3lYW2Gd9(r$nkK`@PfN)sH zoRL*|UDe|2yH$E|WERJasd?T7JGq)fw~OdHaYHcoAIfLbEy*zafaH&G4cR)Xf=EwJ zW&f}(^-!bx>g`rRY4D<_nQw@^<$knuUQF^+^>;b-h0E;zkNksy@Qwm)mN<5wX31LP zoecv={dtQPEhc+(;63#h@9}jLd>4GiZEQ1sZ82~q{k>L#IRx(|I|Tb)l(*T6ELy+H zv>T$!x7NE_T-;{|9Q?^;Kv{2$;BVHA#NmIaTS{6%e1W;54}>7q8KnuTX?#aJ6=A!} zP4>P0?LEK{>CZS}5$d8vub^D@;l|+{Hf&Qj^j*21_P6m`x;pXQe;SO}ra{oO=JO2b zUzgyndU4%X>L<{KA^pP-mlpxqrPiW!+WTVGc2L|fa7=@FCz74-Mjrp9b=3SZvOzFNcJcM^R1W60aqitsHpQV84RVM<=xrnnX< zoG*lGa(G~6TvJ$lj~)PkZ@OQ5k~bIwTo3<htIBR?Ig{ ziS#@bqP&fteG{hm4eg(2)96l#+qX|~D2|!JhdN!_xD)B{%;yMsb5?D^Zm^^CE}HqM z`L`P_JXib-2A9$h!zv8`?=b;4KRz*22Uv8`kINsDDd~WT6C$XmE-27Be!V!NWGM#I zSyd+kOuMl)yN8-^y6N-1VC_j4nTL&#%fQK9=k)v~V=DXpVa1jK3=zHQx*XIGFfUpc z9&?#;RYBy{U~~o$2rV{#qq{TD6Kh;F)kEo$PaWna>>=XQ9Gg#vGtWMx?3D&fOoE=2 zjC*Y*Ynew1lupuCamX>x_M$(MUmmjD^$#26IqZb|sN_-4DbDN$?DJbIW$ZaV^`NL) z3eT!7^2ZGyW3L5*RMK!;s<{_V$4S;f_Li{OzcR>Z;&WI1O`@-FbD#WvzM5IYZ~eL| z_UmK~7TZik-#mG@9(#ouZ7y!L?S5D!kfA9f3){%(5<|dj>FUS_Ok-n+O3`Er*MpEx zR3s{ZeeApjf1`nxDy14)(H#o-OnfS5v5nxM~hSo%jQ)+4r`9vfugjOek2ueL~nkuthk`2Me9keZNjOa_(_%& zd;LqGr9QO6YCrV)DYtfKL4+h?FuYZW=1kK98-v#q_DA(0&Kv)v{WAW-#?2#pVYPXQ zNA>0^bvo(0zk{lsZ!CuEpgHH)ZA1jO=?3$DS2Kc}v*e{qLav`l-ZJ}E4chK%YiSU9 zpG?4Lj~C+GZ^`u>*5i!WZ@HTXid7wCwyP3O7i-{py5to6j~>fBIzoG=gimTn;)IECIHWj-|B z-00yvS;P7mNJDs~ucSqDc6O1vd3*6kb=RXsmJFP7Y;im;uSMkLyUpgW$%YT?4NA%4 zRePi#=&5mQZ^T)^A{)5-Ebk zl|TZRR0;sMF|s4InMX7Y4HN0LsbNl5@5~ZNIZU$JWjo(*|8#mjd}nb;o$!i#(643f ziaax={L)oWa_DcyRY1z8` z4gEo4%<2~(Y8{QNpClF(S^n}UF!S(HUpq@VdUVGW#ZuuRg>ZLt_fzcc8PFIk(Py$J)>o$z-09^@+uRn@da1EW@7qM1Ti02Nskb7 zL8oclJpvfTT63#1m)ialGNT!q|48XRB&SXGX*C~|EI}fs-tXMc;!G9mq4YGr0qAZ4 z+*ju1CDXRVXc`eS)-Ix|PvBQf7U5mZ5e`v^iKry&~g5D6dc_M#G^!8=OxzE^r& zvZs_1nz@T>yitJVMEaQ1x$WBhn8}L2dJKnGQ!YK#QEBk(qsb`!7s>e872QraF1y%9 z__Ejc5o04wzw90AL~-J3SF1_nI|ljtVOr($r$Lzpm!HMSr=j|z1u38y--_7^*ZBC@ zR6k@Lv+$D7d0@4;f(F~)Ug#S-9f3;Js8f)8HtKSi^;rf>jENPP)v<~@u}qbo3ourp z9s$Lk0-pF*hDqu=t(Q+HzM2Et)#-^STZW~uaZLf_`fKOlQECS zy!1m?Q`(m(W4x{mMn*i|Fg*Lw0m@PrkLzdDZr1#LGj;pZP#)LFs2MR@h3v25a$8>R z>!~|Cskb+kpqt>XSw3kvP%mM05fz})^qPZMDrhN28oaCV$sh6ia_3GZ3oJj7aE!6> z0rb<-uwvX?*TjdG<&R|hFNkjT)GCMT+cfpg7##MY-rr>xx}+1NEHN55U++Boj@ zx?1kTlw=Z@9n5Z3llrUTGCQoLh`--dU-k=#$kF$jX~QbaW(+)4dqRBZ*nAC64Ilde zVti^f7B68e%xWC%ev!bB*w^eQDc35T@3OTkQ(z1}#BZ4DpO>W6)ByW3G#aaB;3t)Z zG-a&L^QGS}e_&kdp6D zJ3m}<+GMvrZ;1Al3K|x2n0wEaJKfJ-!UDu>fZa($Kh1eaCkba${n7=d4$byfY{tJX zFPVJrYfwo(Cs3%%krro{r+ISVx6zj9^9&6!aeAQ3uKNl4)!B1yJ|Uv#EqRQpM9s0K zHX862mxg+xq~jtgMN26>p^vaK_E_cnQXiQ>^~?{)C1`@NNmpzCor?XJbD+C@4;_z) znE+R+{^e+&eV=#|r}xa;{wHkV&dAo@JmsWxIS0TorHHzKU95s?^E>n`vpD7a;%rZf zrN_q2Ai`b#n(?Jm<*|J%)mXks)r-E}=fa3@f80ubqE?%+&ClqD1&JBe%B*AVyM(P> z^zq7M54bpZ&VLLfgYLV8Eq8XBKna;}x`%q4gJ(gv*OwFf@h zNex^~|5ggXR}LEyv-ehl7gT8&S$c1TVB%%{ATP}o7-P;%7Xw|FPys1tC+ zUJ;n-%E&)}jHa7Z)F0RS9MnZ=&N$cF-Mnb2RA_jm+JVU95^~G8q*G)~zd$59ao2z=0r0pshiwTjy8(zdlK@`| z#Oq=pM_&1OyI(>%&rzmF%{QfL_61et%$^xoag*Cai&*G#;`-*#^))c!QxT*)<(7kK zir1e>nITvq@-g{WU9OyNsKU!LIBi2=&yXP*7~}OVq6!tmpmxi}Jc5=Im5vHU6|zT|aFS5DmliKnd_TQ^JS~F`QRRw7t>5U@0*WYSv_H)nXGO1(Lc!$haNH?}{4jVN- z>AoVH?LT+$_IbKYkQS&@exrre7@fOe-Y&t`(ADmvEek26jI@p+)SJJ^dLcwDzOdO= z17kc%D&rEQy6SFgD=m==84XZ|?Ti^OJGc!rH3lC@S(R?n?{@)+mW(hnC2@?`!#C@r zr^Vhxds?EG(?&k;4r)H9OG?=UNR*!XmK`#W2&7YA$$rvA?e-eh=W|Eh)W z3YvVm+_$x8dXHWgXJ&}ZIpcO86J5oo8`YNyd{5yHd}v|Gup!i@Y)f>9u5R=Vsl5^V z<5qgHL$zg?aYJ*tA2DWcw8#hCo2l>|esS}X+*SZxO_*yc>3KIy?--%?Dq{3*ygSlX z|8``D5uA3Ja1N@o%^yJ(R@v_F0()*fbwcHl3U+)aH+q7T2hB4dEJ)<0TaG#=sXU@% zcr>Q;=>$767t%T+DO*SY4Ea_O>8D;|+{?pb!={&kI_5xE(&Ttas~uuVIZ@7NZE z^0U)HF_$jDisa`eX~u&LE|;4}qA1bd&LDA%!KLxLk39x4jf+G?XB4%7GrdHWtxw$47sDXkjaB9tquq_jB?ZuV*%@hQH0h! zEB*djVpW4I-w+^fKbX9}=tx)F<5CLL$%IFP+Kf>H2d_DmTR`&F)Z>pzwusbV7^>F zU=iFoWKD7m;7{hL4=GFvZTR(k=sPVZxj{=32k+JOIJhcsq2w~TdECSjaoe7?us2iU79&e&U!GEL z{z>RX-z@2%CihvNvk`BRO^>eWtN5e3Q~dL+nA9rp?K~^k;E5pyp9N>&vG_`e%45#D zD|dR(5b^F)_)=w^dxQ|t*YJqsK&$Y-J1rdK^@Z0V>$EBt_G+~f>owF#El<|cKf$XC zUx;doTv^o09pe$CNEW=ja<$4J*DmZee{GP1+q^r33f8`MQ7dIy2f35)O4wU;XdL?x z(B9eBgnkxO`pfGL{C%12L*?@I9n~FP#ri>5hVO@NY*Y5qS}`^8_k?`=$&>{m7Knq6 zKpuw4IvW2XHV^k}%x3;cb?Ks{XNeWVK-|1>zm!b5u$r-wMN_s`z0}qxujdr+$%x7G zJO~Vyv-8gLr)j-h3gaekGd|mwnkdSN9geG?^p>H#m(LLC5Bj zYT@`6C8z1;uF&2)>X$3^?=3&gi0&ni{6y}b)uDIyc}>SV%8$JTGOB~j4@bmgj!ekl zR2TN=*Hw=zX&r=jo*x$^qYKrF*OTL75^vW|=Squ0;VG~-cEzV+u>#ezrW)=F9`PiL z7DIk-E}`U^o(DdXd4pZQd@V#2KDIxUAwQnmZ^-W%mpZ4pDOvw5T@#Vk!7MVtGEurK z;^QlhR#~<<_9Kak3tvqB;;#(uHUDW6KR?%e-mgKa0rvA=O4K2a<8~H#jX7kOtcAJU z4Y#>vUVq#i$%*&^&YGk8X8=e1{m~&osI;4;26Ezxi#mo4E+jn~K4_q3 zZyCG8PH_C^tlf_Yl@^Eu%MK^{<=JJyRpqsa?t`8YU)bd4;_KSF0Z8*Q%_Uama$eV- zky>t*S2itsg^$u=G@V7ZjsWjK@AF3;Bk*8#j{45C-}1z0)?ThATBYolUmoZ?D;zf{ zC6(|1eqWXlyezZsA^m7htH)Prx>p`qM}lLw$xq}l??X)^M`+wdeY7!14~VnNVIt)_ z*uJ$cO`Dh|@H3ft8g9ZnP8RpUD2GN!Swq@`NFUv9-!l!HI*uBNF~^#s;Zb*d#b>!8 zZsvYoLpPZ$b{w|G9I`yIr2*BeH~WH!N_boam+T@H5^|ZYX4qwmZ%x9k2T< z6o!y<2v=X>0Rfl&nUzk2?*C-awO8V9ki#Rkq|MN?amJ_B|$$X*%% zwcKHDJ&gv9oML|x9YmdcZ|anPXYN<7y|#J3msV1{XE<7WxjY23(-VMxkIR|piG!qT zJyQ!spRZm(y5Nzy%}`jC0v3*@b;I}W2m32hno^4ITkbkimAi>$O$X&SUp-Y;s9P`p zTw2xNxaC$=Z}3GA*w&FgLQAsc>%X5up6cTa8F&-w4R@Geh93>?&-BxCDy)y4 zkBPJ~u!t(`us8!DZ@^|XV)avu`T`sQK>UW{{e`4gmzF1XH%m<9(tka(u(Qyd%)?e+ zch*%!@YCw_Gz*{a%4rtf^&=f>5A@=voYw^7nA*&=it%{Q+Y=)+$w6<~x}GgkPP+^> zg^&il!nj>b7S7x!jYWHDQ{|W2z`m0CYhSTHKRr~^mAKX{5cdY!YY(`3x zC+*G`5@~vFOgdRvI_R9(aa|j^Khc~m+$C>ag}e)48F5S90;P-*K7#z;6!MR|_g>Je zXP+J8Ldr%u9^dT^$&jnTYr&F*A?0PCD{)|d`kN&w;D0WJ9G4`&=?YHcvKpp`@sN}B zzIFA&2N}l)#U;tc>*0kmB!$<#?jsGBCDZVrcCpOnm{3^R|6{d~t*Yd;8uu4e3dZ!t zUb?rOA7=W)OsNO^OaHv#=WU!V7-`T49%lDsdY)EsbRb-C_+M9!4?qi+;!Cd=PkQ?E z_In%$M3_WI7kVSdtdwdg9jC)GmK$dCqwrLX2%u*3xhLUSE%#|?NJUcSh`YGOAmn!U@`p|pEVGJtJsFB)I{jNwac zUX~JjT+>dtYzfD}Q^gIz^8PmSgkL{MR44tcKgW=0?}6@82wj9I!`Z|yiZk__Kq=$~ zXT`~%a=FOTo@U8?=lv-gowA@YhrBNKT0KA+`5j&Y*jOjrx*My->GB1w+tvW*y5$QT+Ct1BG+xdAaFK#S)ae zNO<6q*tesqw3|{7NA$tc#qQU^w3#WP+KKgb5V;p)Y+jY8oBeM4r1q8O;Lc3)`#nTy zpdHExXGzuoOmX)c5I81nQc1Ryl2d3JF0=_ z_Y!K;-W@ZkE^avtrK&tRmE$gcF3VUniMd!^1?K@IF;X!#6M{aMpZS<Q#Z67po){?t-|Hzon_!GxBUhYTLWTK`LV6v@sS2i4>hR@ zHr7BaDJA(wGhoxzI%r$dZJv3git-%#YF8p-Gop^n(z($k&H0IAEcx9J$eqvX?()Kz z=-eIAeVazI=g#e)(^UGeHnNZzzcSe`Lu=JM`uO#hW)t7BwfZ40;2hdLV;&Y_>h7n1 zf*-di%L}=A-JL$|YVkX6c{t#f11W!cs%G(2p_BcYZ78Kqa)!${VPwAua^`~{yaS(G zD$~}aWG4N_2p~vtGCfJ}gW-u8RXYdSPSiojdx~?qGXaborHpF&Q zQ847Pe&)HDPc~ty&Mm2%1pA%^J)=9U0t++)ay!^xxl#l7dRb}SGM@L58m%RaNY2-` z6<=T1QkPwx{d8$uzPP>)2yVX95E;h>^PRmeJ{u(CSEOQJLcwj?Uyj=h=XHPHh3zfg zCG0a_8VmeY=h#2sE!;jK_HgDs-uU^=skT5^j!f4lCV~=-lzW=Q#U()qGeeO_Us6Q8 z**^Hy)#S6*;Cm&vYZBzQ{k8Nsaj=u|%39Vq&l;OHbj<>vlGmv(pI>z?zM?;DF_=jU zi`0hdNcSQ%sQa^<>3XJ=E%xI1&0*t}Z+JXfJYTsO^>ws(cG4(*?`cO1(sv#laa}c| zW_c-kK2a{7)>Mul6=4cE1GEP&Wp9dYdvI68n{;7~&|XP8ZW*>T>vYuyM{=o?-0|hz z&Jf&2X3r?U0QO#*1(n*)qR{0*uZKtFx-$oS*sC3;sH zmbte37aB+lE?pz`e@?`O=d5w6Cg9uBev8>?jrqkS?C&B_C-WKoMv~2c?Ys#9-T#G8 z)R4Vjr2UHY20e8Bw1lK>5i3o9grSk=B`&h(Q2#5-x2%^0GB^C>W4_bX`tQr#e9z|S ztDpKZGBmTQQwYlbw7rel-oKKH2wu*tubI~a=$E-%sm)*-1lP%%p>P$b3InTRGwlE@`SekNnoIuz5fC*gtb&s zjjiu)z3keXLn>jOJ9Ad1Z{gf}S7qY1e>k$F-AAUzh^)yZmtK8|cZpuzuL^K~fmL_%xbl*?bwiO1M>;~=$a8JED$>5po zhalRYgGax2%4d{Xc5A<&dsP){>*+_MkDKZnnM{GlMo>grUv(9rb=D-j^j;8ZwCG1bSe@pF9KS9Fb@w)ViBN|kE4 zL`3Vrvwi)`uXDX`$S-a<{*+uaKPSTyNY`hzpWCirv^~Xqc8jhGXm49Pg4G(o__>w`Mcv7c(SKz_u6kwu8yJ7TXnVCmgH|n@xx5g#Zg7KPQAu=pH z%wPHOlU?}wH&-04gc_>@Mr50jMYX3xm^IJi@-=I`rNR(i;idvb#8IPC(IVW>qI61| z^rMfZkhgcc1d+2BZxr+n`Jq}>GR|l$H{MQQf04OVrW`b4J8M0BP^6Lfm#@;DMbEIM zR&Svbx)o$kaM$>cazZMHm+*yr%GA%8b{VgDuOyVY|G&QM=#{$9cs@2GGK5jSfSQ3W zPJRZei~8Q%ZTU|+$NkEVH_?24(%TJ|ThaEKCn4qc{^IW|1vZo-<=*^mhoh47bK2^r zJBi59sKBJZkgRk;#PcT`+QXEs`sd_nI+gd3U$ey3A7v;G=o3}eM^=H1`UVCXjQNPn zR%~Oc`E82hq(AbrSsx)NqV>eU zLCMm235eOb`RBfb3KepP%B%VoF8gJaVYV4{xT3rHzFytxMMrI??@aS%AUIMd5E5e~ zS*NsG_wky@vl%C^2i@DkCk(X8mVdb?rwfrc+avF1Mj)lXzb6$Y+@&k)S*>Zq3xqJM z! zcU>qfM-u||eqy>56CNol?<;s1J=9@)hQZImZAK_HjiirOZesSa#BY%hOGnW&l?dj1 z%x1$@u0ZK>)!nO(YVo}1Od?vYf#bXi;5pdH0(VRj^mcNTxLMJX=KZGD!l&bJ`-j%W zuD_VC(~=xf$F%J@tmdisp2hH?puy0}{_6n3p9i*JMCX}%!IMzOfb|0C)h-0J|=F5cMIj*T7L zwj1x*W`ib;ZQHih*mh&vZfy1TyZ4-P*MBhc%*->h-ru`MW9K|<`(o2`o|#&sIzBOL zzBIMc{F=e+N5nz@?i58&9Yw5+m3XXc~ab8b+R z#!#E%Vi%^+dbQ-Mxz{Qoxen*ylIND@mugZ^(ZWH!Bu%>Iw53wsfN+`|4{Jw zpe_v`^|Rd3()*HgXqBFe&!9@733Q2z68La!^Nxw;tmkhFpYV4cOKw}6~70KSVM)(Gr1r?4Q$| zC*Q<_bgbuTOjy2Fut!{Ltd3CI#5MCy-V<$a&CE=mv&&O>ZcXa7xXmQ@$#eG-ca2&a zcMG9(u7rB`$$1(<79NdW=1j?}t9X5((%>1v9J~?)-J0=J^yp?r7^aFhL}bz7Dk^5~ zX|qhhSQU9vUe0?a3g(X0F_y4LsPJS>xSzB64f?po%L&EfSHpzc+)3ky^rFiFv*%8I zNjI?@pzxTMS!xX`L!wARBRWrNYs;g1v}O^%Wj~~|^|#fQ>oOOUisBiwlWknaL0*^d zl6))5Yx=8pYO~mJyUWMhio^Kyc3ZvlC~HxZ=O zTz>5DOH>p|$F4qZ^QCI1bDC*CYOrQ7UM{dE=cDb|$x=r~D|?WOzWZ5_U3Yx7m3%rV zF2`1BGjT2)-M_p}&cricWwl=6H&R1Vkuef&v3ov_HP#LedlO&xpz5{~l{}`i?>RMA ztNm(i37^86a{6Q#b*c5-kLk?Q|9hVFb@{_2GdR=mTet0O|4I*@ioHYBdXZlV`3ywf zV^1e+v{#M8ks1t_tKA6E&U%UQHHij2I`l2+aNI;|249T^=Y6tpr(=ur+YM~OPqyog z9Mchr?Ky9P?6u&CZN+5aVvmkh*!7c|OVR%{w;sw7R|>^dySLj5=2dS zKKt_KU&?ik#}b_+pUkcpgXd(cGZ$sVSkH8kVbIkXp-V*@xItp z9tP%5a(3O}WOC^e37psLsKiI7aj9e3>NU+|88!CB1111l<6$g9W0XD?lPTfXAktIm zgrZR3Q5`ji_TCUZDmK!*!F}kPVX)VSA^FZ<+E0SNbAl9X=l@u<7N_WsuLA5cUjba^%Ua!now_o4>+h~-B9~Q&Fpmrr+f>C*UG8V`T zohC!URJXb}X=jfCIl+N$8uupz{5(4Lq^R6xfVF>OOtb9z7~t?uG5PB`26jFbPLzbA z1QWT-xwA+Di(lNgbC>w9$bseWAw*b?ES_TOPuSvonti@%`R2fP#ZX$c^m03+LOV6H zc|?O?&SM1ziu87#?}tiEd&7W7vVnrMHYvKnC3q*b^X4rDvwd*+zD$%``g6W@wUwqI zO~>7}U4GWM@h%yQR<-J`w}GGHi)KU41${ilv!mM*djtc%`v$HbeQKB%K_zHYyN1;|9_kGl*NyiDJ-J(e?Ha zDpENz8rL~DibgLQ8T7J)W+wBT9sY`kk1eHlw|TTbtF1(mFA}^GDUkJ_NRKqAf6RAS zr^c6j571Z=-MUd>4`E7cw~8kL?~+h8S5l%Q>eV0nW7W0g2l5%T>>>D-WTyRi8?;#Jg6Ou#ij$WY>n%8utACDj z7cvF8t0#*TN68+lW>L*@VyHfj@u}ZLzi`qsnY}n3>SVBo38p;;v)KC1D-R(zq>hTw zJDVg%47YBk7EhCSXe9r7N&6UPLNf-3@+kT2ysRbszn$tonT%L@o^UXE(0iDL0n(7v zz*1Xj$3pSFZo#tB`qQ-ec~ip}Nsa?oEX}$A8N07{3B`E%Q8t-!d0YJEL-Wy-g!<@l zJ=}?Sar)3-0!flr4?m18^`%g38G_=U6NbDL_Oqf=R#EK~wU&~FO0^zeOz{SBPA^ha zGFylrBUj+d5nWmSK0Cs zzMOa1f3AeZV@3Ga{gx4}O`It7F=EAJf?ueUQD~w_v3+Tj;5cxdg6M)QhqPDJFZLXf zCjjv96|5hiz$&RE-$FXoqr@Di4ZedHpHa+}Owa+WEm6fYDJd}eW|)Kk^BqGpqY81Q zR^_DnU}_>KLiB)HrRLo&DiXg%Qmn$yqVfARi0wLGCwD^R!@I)8 zCjJk1|EE5x;SkW{U#?|TyA)XWh#Zd;dK>EM7j_@!u!>SbbY^DjDq^$-FGI;dj8b=V^o}H z9Q`3qe1CGYjY}^!Sv!MOp4&g~|16zd43(4k5#$u=84mQ8D3MKf#ETVgoR9263mcq2 zTX#yTk1u1J@jKmYXgY$?WU1FXf~$tsvoO+K)jf6!lK@l+q$}eba}m4ig?A$&|DoGH3HxiYyz!7Py7`RYmv5;}S?@jmP?cQ0nWVr{Ho{Q(UX)7~G2?r{9bKQjsnwGE7)cD7up z&#aEIDN*HvB-`ZYcQFfiS6Rr1ty#48kKoyi#+5wjcS@<3Blhq05Z{Z@QIA86* z02p`kq%Cpb0(f>_TPI$Mdu9I4-zEuZ974!f*#zxc$WJKHUNB9LYMU|}H}fgu&IslrSO}{*Y0^C`IQZlLaiut zG-?D;Qgq8G^8=kV06fXuOqqOxPh_&`c>Ha@Uv1Nudi=|1KFV1a8n9xY(8gDN0cxBK zA0Lm(T1|yKn^!^oAEL(C0z{KRB4&i)^%YVC)4)n04wTrtK;ty3GVo3~(K!IbXnOGC z8LwOTK*t#RRN^2F(MhL8kk+gqX}ogcQTHacbC2;{%ibv<5)xnpy8sLDsINJLKl0-@ z8$vGJo2H9>Ky8mj;Jc9I`_K4<|3yZ1)n86C-06B8@}KE3+t~7VB}o3LMRVuLhZoBX znVi+a9zH)!j%Y-1#Hb9cKvWYS=`Q+Em+JuznCmAsbm`$|F>rI5h9L$sMDHONYc}qq zDXRFu5n9MsphrLd-V=I9(5f-H`udeXFo z?gqdjvR|5{?(#XjK{>;M2vJgSg!HP8`?F`f6f6*+i#`st@jYf~jqm#SQHz<-xnaD~ zdpu41nC4Q!mm7Pq2ua&2KiXU>*Owmz)O}_z`Xt)RJxx+Lf8f3oS$JPyTn z2fb+z+7iq!#1zSLWu|-m@V9!#{rZ$RC3SJrgm3F8K^2c&@!F*EMmuC3X5X6PE7Rcj zmM(vu}(?RPDT^c0WVwOR%>x)<-KDs(BRp{8#cf_d9ED!Hv9;sk<>_5}FJLnV{` zriZ9^qj${L^F^~ckYw#$fL0SKF{0Y#{yYzD)3I+*3@>t2X2@{Y6Z7t*=nVh{n4e6J ze*Y&z=*#uyx{H9@;X}HE?q4j;Rpl35aIRaEVC-yql+PKo|JZ~LP}Pkmr;`y{Nj=(i z;XBn5PDXb{Axm0QSXQjU>cAscg}R*QASQ6UWcrbycY}a2A-)xlpvdUT2dAQu$P&at zmLFL}+sMI_O7@-rusXA)pTr%+Hv(Gw((hm?X||ITc?g2}05|NTC3W#AP;=O)7O zgkdWoDLJ=l%h6!m&!lC-0jkd`*HURHG>ORkU}UAksc%hR<&0F7IJ;Tjvd_r)J9T-r z^^c54fP>=^o;mUQ+4*bXX>&)@H?KTXx<&yH?iHCrJ@`;_DDmmaNgNhtRUlT2_9AkA*yjG;hf3)K|-zjr<*HYc1+F8I? zwGwbi)bPe*-@Ekm@1Ck9VYV416*+5tFw?xzwnu!a5h`??{ONeGR%NKGTS1PW zDJrVB3$k-Qw*stZ_h zsV$R*#1poH?ui_7gg-fC;77)5CY*@~A8mxNsT z(|%6pf|>>04Mq(0f`BG2VHDb4-!zkLD|ijOPX(G(`mPMInvHaP2_U4)?JhIj1Mx*D z6~J-hkp~djdtA+hY8BD>gFI!|CuK-Euzx39S}Nnl{o?s^C&eu4?Osx!c8MU#5$(!+ zrS6{tW&rJ;WTFohOUn-V{dey`50!TYolM3=g)-YyLg#h_Gn$0<>|6uo-CL=f!pgP! zf&lH#hZL_I)&y5XKQP34;xB@>Rw*9|0GeyT>NP`Ku7V5**m9MIy5NxxGLEQNS5`Og4yM zF_63l1`{8ITazCBZ3^z9GZA=rl9udLPv!%eFY}6vQ7(2_O@Y*#IKYp?wxolVHFk8l z$SYp*;{j`t(JE+(WBm0@=kJe@YP-6wUDW23{xYvK^V(MeW{>Fz8m2;UX8d=Y=(~@z zkG034MO-CcCQ1IsCIu7zq$)cmio8V0(I(^z%R5SLB2T3F3K(AmT|eODBG;%8E5={- zkdK~PHi;K6WQV!IE3oaF!7M!DTgZ;$m2kcKQYIr*fFUHICTUO$i9@+Gqb6hni>u;s zK3ZHvA31F%kC*{H#IM;QT#@0^bOhBrRz%QDC!&qosf+Zabfkd@{9t(jhHQxF-%Rv_ zSp0=aWvsD5&dcSo-QliyDq=1EaADRi@{&In-_u8{%Cx$5a9kA&uZJ3qqr}Z~UU`hk zI}8sqxHRXU2`TKzqO@1Hm))Kj65$zMAZ{~OA(%@5>|h(x23<-I-C!K?0>bC1HH9yX zOGMHrH{r>KCsA42o92Y(kc)^t%Dne`jzlv~%n6tglkkueLZu^t?kO96|5LsXE@%gD z-^vZc<3ru!$0x(Iywgg$^0+$u8uk`eepUoQler#w8>UI>72nx^>6-Ry)$bw_t6 zEs_X38e)RwKRQp znr2!bWbybNyelTWis|%3`8@87e4>b!^h#6m0S;tf71wFwt=B?}*K=1t!Chh2!Y5}4 z1jQL8`mbOK!{;mr$bw;dfUB!{7HhKxiQr+fyyzv%DiNBa;meC9YPwCJK&?vZqHWJ2 z)!S|RJAT8^7+H)O_0{4e!0Drnzf-_qV2&8FVR(0M(VhaAwcMD1KP zrHmDt70?)yT^%1t!p*^gKc;=A7u__pw!-_yRJ~b+qD%rUR6E9(Z={kUeg$n@7-aCR zQdMx^Q3B4C+?(88MvRVrO#8sjAPdl z)SwQ9*fyJxiNe?nZy_NSNK`@&iQH`lQZ%-!7nhlZY6z_?h;XkDEG>@iyLol?yUlm! zDS78t94#&_a4g(?@Q5jE4!9ILpm37z!2PKI!2wTnX*OLRdc5$86T)t+)8rF^t7uJK zM4&U8|9>}ffaps7X8ju|;+ZV5x@QTT>ZymSujkKC8?*N`tI5COog(l%{+|*#nh$+U z)qc07hTmRr-_~YV0>%|@F#2M_2-a9~`Z-{JW4WQ`qvyl+>42$$1b->F z$BAlyS>V`tiLwFI-TW2uqTN<9MwN4AvFEu#Jam_JqOsK-2z~u_Dk&+oc+>(`uE}}8 z!0;ggjO!7XoiO=(@L<3UC+pUIw8;MyTW!7&2qaY*3xC$#l@u%q&(~;wA!_NBiE54f zs^zLqgEawf-dlhW5ch{R#`SIg2O;HfvQ!kOmPPnnOg&3T_=?RcIX$WM!PoPHM%Bkk zUDE}?VZl+|Zd^9_M7s$VA-yXN`n?ehp(@ji8WaWf;%;Cd?7@5!L;?z#2_Luz<{(yK zjBNc4TJH9$JZ2y7Od8m|+Z$iXZ$f_mph?X7bpfhD8+@F}qUZLgNVxe8vZuD!-2=aS zUQ6NkGXpRo-!eE%6rdC#^KOG_sa(NE3b)=I&=C%eLN{;*Z8iIxJiY{9rGFnT5bpB> z^NEx}gg-oqt!wMIWjED!9KoRPLbs-BMZ8$2$*ZNdJ*969Y+g4|Wby!O(dX@eOjHxW2_BQ4<<@G)g(tCr{cZEN0;>4}{$e znQQX0E+dHDw}@-i%(u?27J5_QZcoMEr%=W@8$1y@o2D%U>u69gU=s+8RMv}wR>et^6EHySO2CQ6qJu}@j_J<7AYw4_2l~vhkQSZ6Fu}L&h>&w1YG`c6XjV{nDIKAluAytR zfnvykI*SW<3dbLwsT61AYC2&P9)u!awurgPl&r`Z0}USY+%<=Pp%KEFt&B?8zT6@H zI>>xSfNtMh;}{VL@|ZgiEoU!pC&H7&j+umW3P!DJU2~4YlE-L#d$o77a3^t1SejXx z%$7*gE=+V54i)Vs#DIXbT+~><;&Mk7ee2yyAUfoBs9uB3q_+MQB}H^*evR_FbwxGc&UGEvR1Lw=C{{z9W{T z(z%CJ&+y)?#c76UZrDd(;~|%X?>F~2@VCtt&D&S_M1REk!0gRGij{H7h{{36DEYi% zn@OQHQEL>{Q!d?~X+a_Tqvf%mOu$z8xZ~d6zds1Pk%Sbj8IcaNr#6#eO%J(YKpyu_ zRB#A)6QC%yrf&c@^w#LxqwPYc5;^m3{Bi}dm*MDXL^yStCp$g5TWOg8iXM;(2{Lpp zpb@+uhx?cZr@*vCUeTlSkb^~k(YF>gaB?tzmZD>9eaHz`GQN^bBwvRtwZHof`4@y` zuF-@-!tz>JwLrIohi;{B%G+-ItwVfE18vClfcLa(%-T?NB-h;-7Q zB;)DA`v>BQ5p2hgEb`(aO7sV#MpMDn{kZ96jrss4OB#FUR}ejr{x-6I_4Y0DzICyivW-q1~)g5Eru3C(=#_k(k#q#@sfF zbbLvak`#nCk@fKgaH4{UrqC^~8fYdGi=~A(U#6wU1=;ebz8?sSp%tf~X z@of%}KqAl&+vU5sf$c{>orneaXe#b*lDO)(%Jg1|#6*ouDw?1+K*9W74W&#Z zb8Wa&1iKzF++-=gak2XrHyZd8lpW`@NyiNCYgV6=1ci1+0b17s*-Z0FE~ zdriT=P@Z~^{>4#j`*VYD+bZ%{@vv`Fh{87rk*&&*}=4Q5}W)qOmqrh6eV) zLzW;{sbH@;2UfJS-55y2I&ebv<-yd5Qpyt1=@P}Z8FqBFGoMfyS{@#6IH&>x-ud@k z(oW#a;293rpr`&yPh4pFLpmKdGjvJZdy86S1&PM5^Qw7sDGe@-sz>Pin>`LFzTWvZ z_z+4!vyj^>LNo#4Kdl9h=0E-*1z;@rvpAUwilNFMgw+0Qg*HIP9eu>}{b6A5pO90R z{NJljKQrDW_`kXIrsv8vdn8k_9u{BcS_QAVHbJ!KlUjkeDEQ$dC8{UmX)55Ai~;E~ z{i6$?A(yVtj}iC0sJV|g?Xl+>Sp2C^Fo%YQ3h}jioCr}N?KVzcSZRaBf~e8+1507(CVxdux3=MjjyPgocSJn78nf~ z#dCF4yV^ptxiV|76BqKMl%H}9W@oHL0sM|et^UX>!4@ov%J4xGte=FFbYl#TjnsJj6 zyAZVrug-5U^u8~VepqmYeWC`>WTQt00nMXnuhg(_lG@A~ZJ1|xaP{-N6hAa2+(Jql zLKZm~D^nqW@%uVRv6BOxj89SD`t-d19lhYW(C?UQqI9V9Vs8y720X1n4A?=R>g=Cm z`yE%^o(ni*ny$#I6f!Q{*EGC38=1BFidw#!-jCd^E+UrkN#;2jOv_*b`t?E}NjxYe zC&zZULiio+uw^Ammbv+NJ!Qv0LH$*P8>ss2VJ625Ie+c7%q-nZ!rh)tI!d~e^8J|z zNCsh5%F3W-U$CJhE}5>N7)9IZ zZ(TcK!7j5Utp3t(|I5xqyV-xx@hoF&$HD`iPZF55Fqv((NuyaKSR&mFnHuWCM6U7OR6^_ zd(1Lu0E{qSTRI`OK&Yxp`6APVbTT7CWxKVq2yZ%NpZM%QxUw*2B#l?FC){LXDTA_f|3JHsJu5x3p+xVKVddQoEk zFvP`<%XS#(1$P1jB)+S;!IW{|tVJ4QqbGYmHr{`Upd|`*kIWJLkq;^wQc8hBW23^- zLduI?=*j6-0}`=m$RO4CeSkT9&%J|4Gh3K?PM*;HrRWJOa1pMFc$1BsOY^guo&4b2 z4F3g~UsPi&W!3ZPkDPc^#y6XERFsnfFp>jj#UD{3`I7r9V8aV?T9jv_C=M|g9b@PG zJo##9C763i*Js}{=c=#-I-&9(X&Fu7=yvqXHSB!Csgi*gn7hOfYhh zeqspUUs@X@|1}(T0WgE-2RKro_eF5$&cV`lN7g=$BbFH*Jf430{^;$(&lYJg1K3M1 zm+fZ{So2RZ#r|E6j~dc<{|X|TUD$z?Y@G$eiR5RcRT`U&I(~UM!}yX}XZXHW*X2P) zp`!;0{Ccn}5bR-WOQsiVTiBqs^@|)8!OCnjF365Ld$TYGN*W^3r%m`k@i$`174oZz z`oLDdjSjY`)#P8K8J2`c+ObHZaJqT2K*MAhT%Mou{{AgNuTYTIeyWB z-TKN=+G^&IHC@?#3x&>fJ{yFv*&{?Z8CX7r(`$W;z7~%1W4X~E z+mm&a#?+h|8b)O3958UYO+L&1XX2^dn|Ok z)+ZWUn1psYoEVespbrs?7*Ls!lQA%~O|LQ`wSd2uFuX7RX+fUaN{Rmo`POw5ddw&t zQoS1eBBqwRxOZMqJdNEx)Jevu zmvryj1qQ>wIazD{5pJ!DfWo$M(+YSDho!&w_I)No?IC1vgcHHG1GoU&l4P&xlQjqoT#l!utnu3n} zmoynoxK;luG`@ZF0p&Elq3FQPl@AbxwgG{Bktmawo=*wi*%64SAbtb_bl09c{4l)SlG~_{PF_;3Cng-R-4Pda1-I#9htT#Y zSGgVCDqTl8kA-R^mHT#Kp$;dP3NW2J*x)i5PE+In_$fl!X^?eNsEQ~zHj{VWI3sbW zQuSHcup|bg#zWvhzH>(-S7mk*=5nA4NMp0WlmVs+RY_Z{x(DT);B+82<3~>eFio&L zARlCpkqhn|5+lH@rKBitQJK`clfn-^X@3FLo}}#ZQ#7|>S3KYL{b4nFLE^-4MayP6 zfMdKs%teJN&@Nk%ME}}vStb`d#N+po`6Y9*tb{{B0T?Y5CX{!{Q*otHnGG9V<)-qC zMg#m7xs!c6s^G5c>ND5SAu8>Y_*^G4Yrk!N3p~D!3+?hHKh96va$Q^KuoI2j!K#Q# zunIO%wurkUN8yE|5ZnG9d96)^U&u=U#5VNsp6j#Ba%rd0&!|8QEcfnBTM073=yETY z>YmQQ4f#<=3EeaV9=vR@O@0bdnP#UpoL~{T7*%UkA>`EjuXqtz6va78ko8t-J zBMO8JFpJ&^xw`YuwNP(=b*i!E9FJm&!}7pXF4RDat`-hi3LTKUveEHDjDS53+FZq> zSKoRgmbTyI&l72CEN7^7Wr0oVN(c4wHIBkx<7U1EU|*{_3@wfi{X*+y7a>L;Woat4 zcwFGD3bUK!V|;lbe)6t!_i+g+azqQ)NWB>_2HQYc(=h@$;+jX zr0F5oQxGaiiqn5lv}3MA@98ISr}TFxm%knCQc#}>o5ZfpH={uLkp=1oAL#JK@KxF~ zDGforCQ|3@?s6i0KoA*!r=<&3=X6A0Ac@9E`4d>)s6TX0M*dVT7+5EtkR-xV@Hf7C z+oasR^_$1Y(7t+)4wpm1djU;_eOsYQ4?T-XbV}AF_z#MV1+RY&7`#)6OT^-u@}=mW zm>45fL+$n^UXng*7DoQNDlRl!#i1u9mU&Q5yijxLO<8H=wCmLTM&ZH1Mkc&mF9WUN zXXS3T%7wu!t~~~kRDuuzLZc?2#9rs75zJELXJVGH9Hw*ha$DQRhmo%VF)#ROuZBkd zqW11mpkSHiZ42+7f)4G5@NAGYW!f}!u~81`#}}a@*}hwfd|j%XLvj$r?N6Fv_I^-I z#m-);g<&*I)%dMx3PK4&Mdrb>jkcQ}doTPYb>tCI)B+v-CzQDZ1z_bxG>K5sQ$m05 zBXl;c)&v}Pm%YCZ5?7KI9_`nm{U1?u5~^zOY{SYSyrvA&n%MliJY)Jk?T!yhzkQBQ!+#w+B&1YW5bBcqBzMa8^-) zf@Rud!N;4GYDcG^LUJ63okom|3J!u@4(QimpZ4Mvo3y{C*N$W3c@)Em&dL*Fgzo5M=Im{oN4@bfj z*t6&v{N7tOt$r+6UHHOIBg$%jyYYi0RtL_Of@2zIfnq@IJ?w2{2|%ZL=56Bf3k%^)-aeH*a89ym1D5cJ161dPDg1 z_axElerjdkA6Cr5CG-32fU|lcGs2Ww`_~N5GEKmDb{=i)KLcsf=#!Bnw?KORQ{^uf zYT?2^iA&dTH~71)`Sd-Wg&gDM)As-cg9|Lj$aQ7}K5PR?rCp=nq}{wD8^=02k$md} z6}~#4D=*R9TLPRW;GbW{uJO6BXs{tcjcI+FU~v?1gz-%Vu~rlXGR}Tu3bH4Rr2}j{ z@sk0(0ZUTx)&kNm*SA>+)r4h#CAPqFr#y zdXs6JKZ&&d27?>6co#h&cuwk%s&{ujL;2{@w3{sfZMbW#?Hp8^_u>gO_~LcS3)HRv zRJ?J^E>wM+N0SrahdULu1nYY(BQMiU7P1_b^4dfMCQdNxrZu+TSHRpLRzoWD3G)We z;VdfJeAiI}nIE|o1p9C%;J-hH8nLz5u-PF`ThNQbo(DYwvHbcHd`Y0TVr!k=y$IKa z0r-20+ppyRyFPsEH+a{3$|$GJu5E*wdu;UIDjT0Pvi>xMfbxWj{H~zsoPNUey{;`{ z84I6vLhlg6{MMG=v@s9LOf|KT{T6uDI;_t8Fck6VZ5fBZ;*@efqvFv%O||=m1p{+F zM?&AgBBqvX;j>+>6>m16dHS|$39b;D83wX0RCI64v%TBu>~prd6(O#+)mCEpi)Q0D z$gl>Bsyaw&XnLQe)}CMc8ctG>=l_oGT_>YVqGf8abG_%DtiRjF?LV!5LimI7iwSyF zoL6PnBcp_OUv873@iFbou};x&oW&%n78kqY>ibioX@eE>iqW zF1i~lR9($NXq)iGNO6`{S@qzKTDH9UUDe8Fw**2XRmpkiqPZ-ka>z9NH<8$!bIz%f z$#F|J_0xASUxEnLUD1vC2i8UC{&^dZws>oh#shwTXVE?`wpI+;D!LJ@>~RP}B*?^1 zK+?*IFlamw4)IOJEpWQS5`_PY<9J(sw;M*tO`;OzqwDAd-LbA0I!p#bevxoe3U_ys z1vO-5rFjpoZhs)EGHeHX$M;UHJ;Uq5zN^^#(HZ}pcfYtW6LzPup&lNK8cc2J?7$fe z4n(x%Q>%qmi{hnzf0M)N88*)?Xjojd#7CQFz0()F#_)nUYKeSFF@xMY5=# ztOqF91Z*znW4&S_*MZMx8^Wg_tph5ng!e>@a=68B8R! zW?^fm{Unqu{yssX<1bL2R%5Vy5${1n>4oZEiA(*Vi*-G7>M6MT=+aKd5jXIs6hfOp zy&SuOy+5ThPkRi8bvwik<;gx&lcQ<}`UXuI6k)NejeQkxw@RxeIkm?uBxNns2F4F| zS01v!^$oUMvU^}GWU>#CE;1o{CSWsU`@$0K7`ZzmstFqV@9V73sNMK+lEwyX0QcOL z@nv0_Z1fMLNp3MkdLTsyfZ>(!+L&22OjF?(iZYlS+NNt0W)Jv491!JKU^4a^c%;MJY<_l*qu_No^adXoq%&MjEY#^dC2+Xj4WR-+D7 zys@K{HBk(K#5`~`+W87ClW5*K=r&wt+ZLL@wdTAm*v62+Eug@k5jT^ye?j$^n(YT# zQJ1E!RKO$AI+&+88Mq;ASxf6Ru?{?hNRg6q=L9*nQ1A09_7KmXoTO?4bUU*X&`QlB zJg3hQ`F5m10T2c&5SJ?9zEo9phfnKvh4(2M-GUlQBIpMs6R`O#NMN+x{D?oUgdkQ{ zTvo(aIA=Fmkg>D_<~I*?@K9+>yfvl2!%eEp!LFm$p!}{>41AC|x`ifol|Ax=48kU) z&0mC1z66hgn2!R7LidV|*T%jR{#Qy<=@f)M+qW5d6P*@|s*_<=H9qEKN@lyb5S3q~ z!clCo2r`AFx7vDwEW|&~Kj8$Ahvi&#{DDdREPM z;XO=186Ddji1Uhh$c?7F1!9V}6I}4T=yFG=#?doCw8Wpdc$ij^!F4O)l$#z!0>qu9 zA$ThlvGiznoOCtdlw+P$o7ox0;3xx|*yzW)^T=>u4Y%cf>tHKus{32%nxg0iJQCdW zLb>mq7QSRZc%$sf%E)wZVWk~#%LN%1tJ*0W?2iz~}?MmiA8Sf`O)w?LfhNcjW`STQyLH8iY~OqVKD5l&$(9Qz-l zd}~51Do#*zPOzOGfMqcJRREt>F5o79zE}=N7MQT%7*gmJ@)umE*DdqlI2@nTPL+8uTik`}r9z9Q$=6v`fMl7nN%CH#vlFrGV6vo|l zpUe)6&`Fn`feN;5+_#lb!fGvk)e&&TaN3qOqYm_DszcPuLn_v^&SnR9m=TwAK??(OcwO_L*q zSWk;|$Zu5#Z6oZ(ky-rbJq7rj0)L)l2l`^6VzG){X+ywW>23rOvsoSk47gfirl)fY z6isEn4j6d3zbcS5V+v}!8Drf(Aq6_ZF;C*LY z$Mo7iK~;mh4d3`y6i7YK_~|@08xjibBt7ZV!kUTRDheL9PtictgvS85^tVN+3DsTl8!Z7i z#XkvsG7^&G6^%aS4Ny932IkYY=>2YYhnfMG-)S#$=+=kFCRosCFIcOjQyw}vtKu?x z@e$^=7Zs8TKO&3wpc=%1I(qW07@ko@0H}zM)bbIE z))n=vqXEEBh@l;4Yg~@IcLt{-j!+QbFSBwx*AoXXXU`S}{Ad`QeaV;ODfgmrexyK8 zaaT^I5JWAZH==uv8?^OYX@vA}F(knkbZmdb1}Hf%Z*LhJ{a4EHgXjD(%aUvHcQ_-p z9b63;ZHJek;Y3BJ!<1QMdX}&kVZKqPFPk@qEMIBz`+?e*V_3%iJRo9=;;{g$ce^^T z;&4lP5Qz?nJ0W3=Y0uob8AfNBZVY*8cZVAn2*Ek^cw2`D$vtrj<98s3J^DI7Nypvi zy!k=oEt$^(IMT%G?kGC4adVv;Pt=vt6Od+!n-dkEG}^}1INgjTP5)_n-wU{;(iwnkfHP#N3t zB@_NM+EyrntTo%e-70q4j!6qQzWUJh!mVzO=kG^#D1 z4MD6P^PlqX-Ff@0p`QSW$B5v(3W?O&9hCnlhm+U2cQ!3o-{R{4>4M_KLayXMB)L?T&z0V6-=x4=@fe1%0M?9e z^-S*cd2OXkKy|n{wkL6E+p|XO6)7MJ)NTY>i;|WM7FCW5&|TDDqp-P9RKVg;pFIe+>)q@+HYfjP(PYFs6X}}f>4sQB0dTV3z zEsA0?ez$AjgouVO*qYw+$^(}TLr16b(gm(Yb8l$G3qzcikYY0fXpNvOEL+G3Uek3q z2NV8e;z3a8-d)M0?F^8Vg$3UA-JjkA{d&Dk!@fM!=j6P5(>4;ja)FR=5}7DA*Bf+y zVDRL=|91_~n*T%6$ds#uB|1r@upl&MLKN2_);rbP<3X^3wCrJ^un|47V-$bBV(29y z@mpNU$C>qOy)@KI2d^0U?N=8YC5|SV7c|39U$UJ8NN;Hs3XPmQxNZ7dA!>7!^=}dQSyfOhG$O&gD5l^s%&($Re8Bg2^?O zL>Y(cXTp)#tW9qDE#wt9!71ho|8+KT8R-9SO8HD5XV*Dj7PNfIl1T+%3Mi|-E7DX3 zV};l9ZKQ>l-Ox087CxL{wf0L?B(j#;j)j=~KTN%KTvT26J`5rvAf<$~fC!Qz-Aadm z2-1y6cMLEz(k0R@-Q5f@q;z-9fOPi^%nZZJ{XD<>`M&#)^Vd0Nf6m$~_S$Qm>)I+T zfpL)_BL|VPme*eyZ$R%HMU)Kc5nNfVX1~9V4x7DO^bp^Qn*0o;jbwOEA2A;52pr?8 zL$s7mIxv+{FSafFlj=kNE)$fs%NDMO{41xxk1X#hI;A<-${iPiTOUAun9R7z`!iM> zC0@s1WKl6DOTmObl2aHY@+K>nPN+9{EJWOy)p@g8zjbrB8aj$##WveEzmAeO22GyT znOxhem3n^|Ld?5s5hV?AMGYS08!Nv>$0r7aZ`1iNA5r})2Gn~K9p5mkI5AC$#3-$+ z+DP*nJocN2c2=`l=I5P{alZ+NftkLFl9K3Hr7QxNk6Ha_j+U@N6zcCBun6%xRG zk@z|h|1YyD-=z8@;SW;xL=is-?}vL1Hv5fUvws1pd`;IUFXx=ykk5Oe6<7A1*sXwF zy)s_L?GrU-sO*uC;^mjuelNBDPt*BdYTYLUE(7p-BS#P0J}7~<%8g}QsI}^=^R$x{ zL?57!&hQ?HKeMV{U&u!{&z43Wc(b1zXlG?sjs9V52DOYe0uIcO2f4OzJD*P$wNbJ; znH~v`{$>Ju5B@KnKT#Z}qM}OHv;`|@Io8OKEIhKi>?CwGe&c)`0xG{Go8P|38AtiI$TNERN2@ZKN8@Kk>^@u4zY)4d*&-E1lh_g{#elvGbcj5 zUnhC^rQX11N_F~TykQ%g(z{*R!y+-B&dF)L{JrO)OVkygS)svfEkkxj4=b4Tw07zF z+x_>Kci(HC{jL4nNZV#@*c*?oU>p7K504ed`u9Y(hx#ORR z+Tgf*462=e#4eYwlw>n5tY^30F%X#G(4!|G&<0yw8ehx-><^M@?Rj-R28f8Rvz+`q zKnh!b<5i=3P#Si!aBmD5DIRvhKQ`9?e&tB^oV+{ONC?AT!El9ntb$B@U!&bz!G;=3#pI@zwOeWva z^tC;VtCA(Q%~@8Bw9=b8e`jRldaQjP5ys^FS13L@8|rZR`#>v1!NY8O{8i;Sb2Q2BSGL-H&+{AKAa|>n@LT;+DH1M8M{cu4 z$%8uHDvg|XJ*j%B*qMhv97f2h>`@fx$;cT?6PG)vs z4Mx2~E{x~&-Q}?Y-`a;-d|ti!f+0)HVU(kFOGxYEHT-qpCGV0Y$(-oXE6V&jB11ii zXft5o(-@JtF`fqiHui%#nBF#>X=3V)4VJ(sf7uU;TD1pyfUj$e&kRW_35*|#`N-y{ zm?jsoJw8M1!T+<@icFp13N&&Gz6umHr+Hh2ooUKdvt{s-ouYgTkjX=ivo|0q%dW-k z&+r(#f}os;zL1G9y2k!(dOyDrFj39jRBh2-~g%F4{L$0mNT-(?6Yxcc!N zO4Kv-`f*qkM6*ul1d7BfKPk)K2cYknfP&`Ix}G$ zJi_!^Qu1@Zp%Fi2VbEOueA8R?2b3!oI~GbKPSLVu0sUU|8ZP&;$}LQtKky;6B$;F0T z%s)~5GHmvRJLia*S7lVz6FXMsm(g!0ytZFs3f&($O4k$d{$`8%!jPtn6O z#(BrvxAGgv2X;#>%VAd2&p!#?8|j4{7~K+H@_lBh$bP*^)nJ?Snkw>&>C?`<3kE5h zh#azYS!#rqy3+k+2zOZxqE9f=3V@V-(tNR?aabKVSx0$t<}s>qu-cYBN0t74cFC5< zQSWj>-2Xo@@}CR)|(gQWU~=KefhpTF4Q1$Q+AoKODdM02Rl!fSK68EaQZ82pin^vQzh8b zlW@gqj|p(9-F!CSZ{&npqqh*-DkU>zCC4R*dABT;hx2AD3i~r*i`u0zE%N3LXSQ+F z@2{GC?A<$W(R4odmh{JO%4W=l4$|}<8>Rb2y8jL+F}W5ZM8ySBRK+XGY?t%x61w8-HX7rCbCzX*M6zk3@;qkd+2fDVr$=y3swfJQT5_jJ)b$6)YaNom$nKf;J)uY zE~i6{DrZ2>6ej-+fVJ-QW~hpXc6asKl+52v1bqk#={>k!;n2Bpri*+XlV(?6qCb$l zRlJPD0^O|eiT`<_A9S1hzI`i=vB=#5!1XA~jEuo}=ib@Td28X%GLjx2lmH%c*kbh$9~67 ztDD`*usFY{!y8N$Ihu7pF@vE_++5S-$1k?+{P)(%9lcZVPdmItVPo?6Z=!G4#!mbA z(l-|$NfGBg#gWR=jg4e|yD~NRDpeQ1J)(#h9#2lKPC-AcJw-t>&EKS?7#3_9bp+KRCDh8S!U z2+(*98g>x*AqvMFJwM$fQ z{DZM7Qz_rj=_plJovr+{1%4RoDWMi!2aYN9vmfny37OtNyu4BEERt-Y0a+}> zt3{HYW`~J=P#=iWAZ4EPt|QxB2cw{rSh9x4s~{rLzpx35-sJZ_#G@hA&mRB67)(*J zPVsF9fHxZJo6})erShxj(rV!_yug%bz7#p50C73b&*4SCre8fB!+9wn^f$s;8blGP zmfgBwe;=Xqz=ko?aE5=r^}V5L zjWFVHtLmN>Y?HN~Mg{c8Q>HG9oo#Vv5hhFvHx zG@JZnhTld8zmZCjXe4%j4a8aVPE(qBCZx+silCQ7Oyy!hDEU3NY<>J{8!Xsh?CQEV zE>pyKFQ;ptO4$oHvI<~kFs1}@54>oZ;&OiXR*1YHvc@E5L{bRZ%)Q#aOQtsF{+NTq zGF+xa>Lf)de~O?JxHi5kzOs}5GsW#pcVQHhowQ?WMjfp|WaJzCxiwtqXEU)@8`<(? zpSdtm>xhQJ3D2!;_#FLc+yi$l4tAA~+L|`u@Ag$n@<(1+QYIP>mR+0yyVCCVQ9p8V z81gCsMkqsbQB6PQzCYO5N}S!b9@ohE&|)#4g^wP+NB-IVH(B&|s~T-Odse5E|4UzM zNNe15?>_R%#kFn@oy?OLw+q{x`izx*+xQkmLPSE(q4lh@6)>Q2|7PjM!okh5iq<}W zVDkYU$@gqb+qi-1cHnEi1LD+;{B=j0f}O`j{sMi=Fi7y&Wy3WRsZL&tSgZ0z$E^sq z3!!QbB^5E*4)S?o^Ygb~bY8p;tMeA&q;fT5NV=)gk8>@KK+oYh+t%^7a-kk0}gSMnUY@Rn;WP1Ik~jA&W31v&{jOx!srx>j&9JJ=`9VYOj6N!Z z%9vjhX5^vrn2d^x zKS!}9buOZdg2_eAQBdu>5<`xtu7Dg75_?FaM4S0~xI9?`PWPrvx{@vaFWXq5-VLcu z8J$qPxQ!{l{GTTtn+e*!UV}BF9K~wEIwdYfK5;nSP{t&T7g36#@o=)Q3{sX4J}#zl zGH<2$`LXBOcHHqD0?lNU*q*}F$DH%U$iT?^{d~0HZK=3C zdg{IcNGCSvy>ruBb#MGfTZTXUk>QLF(iCnCx~Fo4)(qU3rt>52Tq{$V`UgG2bYkmDucn9A>lv3Oe#bXXucqVMSdgYj6dot1hrs4G?~C$fO|Bq_!pz~&V*aNezx;M40vVzb_CFJ5z?Y76`v&6i7ztBfcuFf z_xbs@Y_L<6jw0fNJ|_7w4kDVF)9ZMUfp7#rh_CLqj7GS-RM3I4 z)Ot7LqhbuuI(CT)o^OY~D-SIa3C`$rl5P zA205X|40D#->6pqQJYwE?HhUYKJjLFl?;+(s!JqAtkHc2O!Z5R>8 zBT948{A#Y)-?`|>G|n~WW&v^w&hl9`?p)ohcFd|Td@uBLI9tpq4)mSer=)x+uP8Yb z>x2pb$-bikTasHQmv~)uWetoC32GcelJjetMfMQNYHK$gNRL(B=DhgPQ!B5sMZY65wP$I^K#4%!ppOFzomdW$imvOwiEzUU6L^oEVYQm?NET2_{Q z4~yf3z4yk9?VOGa-~zX0S%+Y-LolPCP9I^!?viv;!cm{0LK%_%aREqPp?rP7ve)eSU}0Dmjy!@FoF=P%x~*Dn>s`#y5z(dDIbV|Hx=M}%uAQ?RE;sHXjqRpE8$&#n^pe@RAv65uE?S_y$^j31lcz)4hBN;CSBm;M z7j#|GDt-V+49oGxM8=eB*AC~HE5}GqCvkOpt#HG;!>G+B$zo=0!RFT7B7r$RtI@uC zq@wD8(DHA;oy*N}5Muu8n_eJW4Awm8B(2srBfItZ2fOjoHNtt976LviJm|Hzq`wzp zikZ3gjyFDKhi}QzM?>$@&s#qfs+B}zerlM*dXcM7aIx5=#1;`(yh zNHLn-)`{|_gw68z!j;DSQ-WE3G#`hV+l>3Q?XppiXEiSSZieM4=5r4lx_bEtBh*; z_HVM6W%_V3+*@pb+W(%S6Ns|z$4PomQ1fzWkG|+uK7C(vTuWr&{@^a4 z4J)z}7a!#NU76!#;i$tOm(BV&fA?|ju9^Bg#7|pAaez=nYoheb+b?JBLA&VP>|ivi z1y;mZ+wZKldL?R5GlOYUM$xf#csN^O-SqPo4^~}BLXMmd+=35X`N42@X=5?=5W?iwbBVo{aFeB@jh=X$odav3Tm?elh^O4WBj0HZzB)1zPXe` zw0yP@LeIIHqN{dq5ymd@V{F3n2nMZsFZinA?RI$ez2E*6+@F!ku<=pTa0(PzM!~h* z;k?saUey+Qi2W9-jD6C+EO$Q=H!kisx~r9dt)F$X9s`8CrR{~f9_QS zBtSUgV{ZGvnD9<}oKCBuR%=NejP@k%bgOs;9+xg9%f>YRv<7~i}s>q)~j9`oxt z<<)~VK=Yc%%CMHm$u}U32>bc%0K9D{ZKiotM3v2=*ms_|=Fe~E%2D}+Q{YB00St3j z3~)kTFJbIH*2#r~gDnopK<$L;R~(b_Y?Q#p&cUrm41ryiGW)@H?+?K63SQTZE6WMV z!%l8beD0vA=FY2g(NNL>0@1%arx=W<-c%LOP9WxeYvvDpnVx$wz5~#f`B~v>-}n5B zrQM}V^r~p9^>qC$|AGSU{0Re4@AeDR;9Rv;H#hFg=O;m$Z*CC#QL$8T`qYIb8Ez`( zlZKE3oWwT(#ahHxBsYS!>@<1$yK+vU}`R&WJHWk7SSo$WS2rb|}`E}y0 zpPsU5(u`xL`#mOf&2O$hu9Jr)#NTzgSNkMVlB^MAf0o1Kf4xg&TG@CGlkccM#k{N# zRi%SX=o0u=dEMt;gWI=O^C8IR-(5Z%_$KJzcMM22d7jy)&gGePMs)cd3#`!iFPD6T z6yV2p?DO^u33W$*A@RJ3YXo$7Zh0M|g%EZ4+4oNlJS0x4Q?l!)5_zA{AtQ@eTKz=D zJn!d>e48x^AveeL8~&U>_bAhjiSZN2B-+o_5 z{df>6iu+k79CU~la9j6>(m9`uo!;*AjhSAVkA#L90(T}GC0f=8aU{25IEJyFn%uJ+ zcWl8q@g?a4CTk4gXezBV+`B4I#L1d#4ulW27$(X6Y_D-#u>Q@0`ZTef>((5T>Jj{; zH4J*m#aDK%aeFUJe0YBy3=}{hCj1e1NaLQ0cTA>HE8vyg{jpQ;Qd5s69AhEwkgPx! zW8ZyK{q}c=t8(-yFKw?KCfs(2jSe@K;TuU z^Ogy4$TiXJieWF}{%4x5=;26han^mDuuJnX4|?v>d)Ci&fPUQ1p>5p(-@Mh{&-dtU z$}xGn-#)G&N>J%<4d=nF>V!%xy~IUgmbXu;Pfhi@49TT}#Fn;8Alv9~5$=+4v0npn z3+eGD7YNV23Zg8-$HP}e(}h6J%#<1xP3N1YixKUgJ=65OZIeT>3LVP{dIP4HKrkH) zed6Egs}x`4IhpbieE0_K=UNR*H#%u3S#!w`$Zp&~YSW+)Mrv`8nOn6@oH$2+)#JgGxFwdT z9SZaD>Q!l)&l_lOBB-|FcCf*#qZ#>qf8P&A@(i& zw79vJGD+ezbx!hO8*1OIyv@H7(YR;zl9&8`oDH7q_Nh@$6x1w|KEwrW|95+#{8+iw z=q|1qh3JzONJCHGA|dZ^$&_g%bn&9|o~6W%_Q)$mi*ayqQUZ07Bz_5MdmSm6+3boM zfgKtb(4Oo4IlO4|8$T*Xui5*00QtHW>HYov=;)saYPYb!$Vg0bHiA4I);vZ|JiISK zcrU}lS%Y4!F*CC?^ocibnV&oq7MT! z(Yd1$m1C#9J)+2&?TPiNJIvtwnnrbY!%6NF9O%Iux|RO73%KxbIr-lAaLb_=B2<VA?aTDEc;XCv}GX0N#tllN;t03S5% ze9&;0BV!aIhE7zYYd_y`T;8O`Q)?5+F&!n2tD_=oX(IjR9+ko31MnW6u+5O z=@6vUeP(>ww*WA#LxSS9C2w-yxDXGLw0q40@3^5Ib^gtYP-A|--d>8oaXGe#J#Qh< z2>S%QMCfE*41v)_`$5%c!IQ-c1eMi9P8>`@+T*U7M@}^7w^SwDNfj4i|^7wSt zfE2OEM)f9$EJJeiJ~_i#U>3jA68rHL9M}jvlCXW8Sg=9F=`D$YknoK@r&_ng{fhX25;ZwGp`F{5Dz}|T2z;Ev#KABNsX-gQ`O2joaAu_`XJcIl0UA)7asJVfvG&!$`*X?9AZX-mvmLN%KiILSRovLuPr=I- za@ic?H&Oz1+?ciXi2|-(j07Lz%txUtSFeK?F6u=%vlh#>TI2p0pu23AJ$jb?2w)X0 z%_~9no#6~^W!=JADQci7PTEzkTNb`kA^8iT%r@l?^0YLO<45-znmI$dXdy4bO}6of zHC@UKp+K_wO{$@2!D@=!)1d?wwQMmj5k--urHeP3b}NOH2y2HpqbPv0Q~hwQOksAF% z5&V>ON{lGD{NYAdTeY$+57}RFSoP1;8b3r_tcE3ui=J8QodmA2KhR1E7YC*LPr4Wt z@E;>sprGAMg=?i&)8SWCg)%e_3y=!e@}Gk%M20*EhLUX!hk3;-+GzI!0(d()w&C2f z5jSKCL5YvY_AxdvDe5HkqVM;mYYc6BjZycBbsXI1+;!OfxWqKF!o4=qaeU}TM3Vo! zn|!HR;NYhIgHe3W#B%{8b@|w;eYUlZgMgaOOJ8RQ;xO?PfI(fycX>bgkjM{ zN99R5`>B`NfyZkXt0?lJYc;!)E34Dy832b5(gB;Q zGM6A#C9A75xkJ8Dv+`dCnd?P+uXGFt9k?H6ic(CpQ*u(zdoAsXIjECTG$?uWQV&Q# z4pDaIIQR=AE8@qsz+_+Q!llnnn%`@px5F^nwtJ=4%k~p!f?~^pd32<+Q+Kjf2tPc2vH_@b=D6EREBB zp+n%C4#I}EJM!`N4pefnJ`s>NLn=_gC=?ga6vj?($d8)t%@~k;XF8KxqmxMzUKQYd zK1lJ0FR;JkB=wG0`1C|Lp=|+SkBR|+NuIEMIp3IZv2_@6Z4u8Y5he}kZrGk1ZMC0u zC2BfzZ?78>C{zDUm7Dl=uhVUxc8*XCTA;x*4oOlXPx~6w>uRlf#{6r%bQ%Lxv7@&Vu)L9ymWek3pIwHE&HY1x75G`$ozk5oTT$?hpwmaJ|Xb3q;H_U?GA`) z?m###yftR})3=GsZq_>S#bsFnJQh3w_0^RXi)7;TN6>mZKl8b>%IiE zHLS6eEB?qGM(2GUvICxIwQ%yBMaY-miB65d0=lf^pk5u(h_?>_}9S4>q4U_^M}e@ujaj=!3?h>&aaizb-y0_|ubHnhQE>zlAqK_h?!CYEIC_k_QuX zD-V_aC$rl{CPt64Ar1liL21HNV0bFZ%0PN%#-e)Xiv zXcB-(Tsf=&77Yywb~l!YYN}P#BSy2Pl#B)14=)@&>0*GU#Div^BYFj%Hh9}yVo^N6 z8NN*#(W8%b5Z`mxMaDgDNq2Xcu*_+zJ?O+;fL?0ly~%VUSYQ3Hl?dGB09{7Yhw&fO zVv^{tsy0N2GnVL{ zlSY9UD-j#}kQ!f%z_NInDBWmdG56k|Prw~(g%g?f-*a{NKG$`P!_F&^vG=kbBrp?SOxH79y{I7yUDl8z{fif_l2O~5Rbqj z8I{c-y80rx&?(ZA3ygGB_oc$8Nx*-PN|hTY-h@)s-mCrfE%jwR$BoFlxm9OAFX@Xe3R{j|{@KgbX4~CM8{KaR z>_8+y0r@S0fQkdC>GXnT;`AoXjQ+|ai^b92Z2nUg>uxwow*?zRWey-53< zZb&<8==4go*zO}Hc6N>xMSon-MzW8-d|D24%a)=Ibwe3;2e`NaQ#wNgml66hp|52c$WK_2TC@_!)C$aLCA zeeRRtU}JEzp1{a5(xVtOaKCDEv=hdC=VUiy>iA@m49?*Tle6{6sfzNy%FhU^K3;Hw zM|M6`a3;Q4VPYdkags+JF)vR}8`fDu7+1PAz6B^b(4glhi-5^QdlJs&XI#5I&Ut=N z$^-{d*JIw89G{U6()G#a?>XXDOYQ7at2m+@C|nNs>ef0kI+Jw^YrM4Q0{*1FK5tuJ zjDNebR97B4b{iAqMBnvNpxQkM+v8$>6pH!WMstWM!YJw83~l8Fi;gWUT}T! zl$+%Dl6|&;L=D=pJnTx*>s-xMLSkIcK-O$MPW@ZwOTj(>nSi&#Z`l~_$d|`zuUSDt zb18qpzMqV@e-w7Ol}T!`DC0$VXudFExuJp^zAv>TyPEr}3{ugqcaaY9`dy+zhjf}v zGUnV{u-#X)r(ZjB8X?MQL2Wet&JwU1Kcb#Z!CB=&QroTaxy<;cpkd3CbTeR0%4P*E zT~<4hiv+q9^p`{UnBcWHOVkl6c9_yz3tCw3nCmE6TQDDxEvZ7?FzF9XTxo>M`2+4| zJ7JM44jF#qi_P>co+F!M^uFBTReQBoS7WdvzqMq))86K1#w*Pm*<^Ph6=%I3HYe&E z%HZU2TkOjx0H2M4Zx(%DEnFvJ{M%_dJhkFq`fK?OO^|0plL+4!5wL8~F2s5j=UE?nbd^DT zql{YadL}o%28%wspJnjOdu0FqdhOhDU*3;?p=h@(+*|eZRzr<`1r_M1IoXou+=yXG zpnEgC%@5$RUcI%z@LzE*e=@ILVa(D%S0|!dzA9WY-2E6kh;WYEyUcz&?oETIU5xas zOmj)R0>STi4Essoc+2ug2B87gr!WrXw*{~z-(>J?8)})XGL(xfaNS|U^B^<4lJ{g)O zVnd*}R>+NVZ)1$-;bSmxAmVqCVv<)V$U(PP7p`Gt!{t11_ ziuM)QcD#9A`w{k{MEQLK_QL$z)!LT3ELSNu@|iFu%Od9_!^PVqXZu>`orQ!$iQCu` zk}Au&Lw?)UO8$}GYVwBSH}3e8`{KK*haP`$CLZ{Su1mx$4Y4yGS(MHgR>%aHv8x+r zShJr>ZjMA$()(tK;$Y0Ron>q9K;-Z|I#Uh;*m)f&6qmlTjTFrLAun~PDSEx(`0*Na zU!MP5Sggb50v$~hV4n*iFqnbF18Nlt7j@>}MwF2Uh%coQC+eSFSQ5y1=I9J-JO#ydZo1RU+#SE6_o4>Wk(jiqjUhiB~)v?-`bk3NKHrKBh7*8n8=LsmC$ z(OPse;Q?a0_@{qwLI%rUjWs!w?rX3r%RhF9`!$jb0ANT_a#R*Z$x`-vaA6<`*kx zLvauuxG2Fgk$)wiS9$~qOGnc`QScr;(+KNmYmX4`IJLj@8*xfzj`_B)w);h&m2gkC z+F^?G{Z>}6c~w2iw~TxF#<-m3ntZ zx*X7oZzJhf8a)vhG!PG^%_?a*SQ&-*FqSUWxpkx?Ts>bdAkEg>Smf?04J3E>TNbh} zlw|^n{rFZLd-PKeM+K=!jx|##mp4H0F98C4;{zJbQMExYDuut>h|GH2PSe;_?Y)va zu?A^#`Nq=ti1lfoT!W1T8VTVxwnuc)^m`B+Zp&cm>)eF+a!*#=CrCSTfo{j?@|%(C ziR8UG9pIspW;wBUw^$h%v0jJ4E~X&)H-xsWws$jGIX=9Ld#y=vv(;2@U0X&;MBQfb z7Gyn-Ddv+Xb~$NgEe-$+pNu3?Jrmj1B3tez6swIssLF#w=@pe#yh&Io;Gwz;FT*s{ z&hftA!f{Yf#A3U=^L}+0`Ce(sWNw1cLA=qRyMqAa8`0JBee{9bVzs^i02h{gD%~(+ z+sD=BIPcm#yY{Z>T*L8j7b5V@XF}^Yy_3Stz+I=Zi)VkAwLTHbNv=N#Nd-ACRK=Uv z6LPsSJa!#aCBJ?lNt{rx^z{ZNuCFZsG~vpP)bA$x3O?8-t1q{_dmcGUc+S)v)Z6Gv zxaO-kpfdipoZvKFwB7cYQ%wM9#yQYKCUv9onF}i;q>SIF;hTry&FZYGt4@?gy5k9J z3eXEe&kpf2TP!&JA)GZ;r+1t^LY|{LB-Eia#|xuD4>b|4?5%(@;-Z7I5*kvmE1Dio!_-rZcHSo9pA^k9Y^(u?#3OvEyMHEi3|p|>z@BH;awMVZ`;(_ z#`xT*d`gX6jG2?zU$CAQ=qn+ayUq};JO=77?|@#bv5@3G*53Fe*QZI!tReSH^MYnV3e;DKj6*%DPYq8oBwhc{B zLDyLRiA3GmpEuXA{hW5l5!#|S<5eK_&<{$+@?GIO3NKYrr1IkORPF9*i@{v(L&-i4eHne!&(W8o z0!9oa%|20be-e6Wlj*u4j?dyY7Sza_E(Ut8S+tEWom#UHRq!oxQ2GfuS@$TK%hmW$ z%XFnhpaV)$xW!;&>Obxt$93vu-4ruf_gEly=xY1KKq4eY1@PLgOuM|(z z3~`$vz#*co?ZSjDk4~K{-ps7?O_rRA?_30LR-Edqt-Q;Fu;f<*JqDkbEb+&WpD)iz#XXllE! zOjS4s^kXYwILYV%JdMA~aE<7XAT>yUxYe%*Az>*SPV%QnHNxRV+5UJc+f|fejCV&j zCc~V+U$yl_;{+o|lv5Hb-Wx|rugem5oNl=vIHiLOA7nAQZ{Za>KHAK^0+muD9Is*X z5tVeV5TN^An}`)hh0YF@-f#rL?= ztOkqG+YwL`-DTFk$VfSc?say$aEJ3xea!E&y>g`Xsq?T~fW73$)z+4U7(dYNZMrcJ zRvAfMUIvRB5EawTku#iiOV!#i60|{Ub4mw6oe-gZtQe3g2i~#EiG!tU869C;TGfsA>nlNy!+B$uIwc%M} z#7euVBoh2gl%8Uae)j{}+UxCi!rC$3+woDssgG-)M;@(-!D20=hpJ=6ujep*i~J0H zr_)&u?sn72vF5Qd&(B6&x%mGO9-#hkaUO=&R$tq686T}#KmfqTC%#%RZowvGNle|x zT}Z*>mZIFJUjx(kLW>0@m!@^XdHXfV;`hpd(6Rz`VZ;Smu7ZVX3;bl~Aj!a?$Zb4(c$ zRyHZTkKTpD@*bydKx{>wOY`s+l35wl^AA5qOyhdb_+3?((!gs=d5?s*U#(%C&jO@g zK4rqQdcsQP&fYir&Rju=f)&$d+x%zj6A^$aG1Iq_@uAb_%)3_tMR`t!+$`Sk9~nOOS0^wEt>x77y?%Wk}T=uln5-g+kE z@2pl>cG@65WmuP>=OFA4*?1Sge9%4Dj^`0saQWDjG!`hw3z zLA#6ikX+^p+j-K4!4^RIor1Cd?;Po(1(U8*Z2ts3`#3-6Zn?)xvaJ#!$sA3sBVrl+ z)`%auS&unDA7Xi*$e#4oD)iHTDd;z`y9yQCM5C#1?K`9J&QK-k&#LYuP$ zY++EoQJpFju2bTnHFq2WL|Zyqa=+DXlW}oWh7warh*nHN9(3v4F+`A8$fOZOy4V(rS~D!C~&=hap$kI2bbx>7W_ z9(c~jN>XFy^tw*~4D)=%v60@Po`_<%Okqy+0`16u3qKcE{yHof2RYe1mhr6AJ7;`S z(Ym7+`8u?qRGQ_l#LnwEZ4pB<4!pV!(IDJmGfi&ruO0Z&MN*rp=RTDLyxT#!IX-;9 zs6y(oYZ%JDHHGg2R63uDRnE4+nl~=*xd2+tIm@G1+55ox`Z9AsXO3VOAo}rzapBIE zT6_uoq^tIfBtGrhl_TY?x)DhuCtiD z+m$wJg=Pi|Z%Shy>qNMIsc|jsiwugI9e?wfR}@yRB=Z+Dxy8FqD9}ooq_p!dXWySd zXD?yv>DG@0k6mvvGXBmUz4Ut_#bL?__#UzyTP($wp;xQ;>!oJ_#(aRB!94+EJ?T4u z_bZy5slkD)5j#=s^eNAM84er>C8L8hZlrU%t9`3e3rl1S*>~L&sV_rF)|YmlSkIG& zN~f%^9ukvGP+QfFbYh438TTOj?uJ`W932+G4T@xiQrh%#^K4$rX zxbi16D#?_LFcnDBeBR`O#-*x%~#1I&ge zMu?%`QQAFu4GMTh?92{v)cg$q)Ldgui=!ZEOh7BX7{Z9=#s z3ouAYl4%B%g$cT6q@cgog)axj>3DA2^8+t*sG!JU2E=i}5Nblwjvs0AsAHCW1>W10 z!&)-OTJHxwDXL1m(g&*el`?q<9HF4X#)xo zOTYyrHI{RFNakq-6y#e zK9f6I505{!vrNi1Icyi!pn$36sbs9#Ae-)h>>9Vq!YCF-%XSP<(@wJ2qS_bY^6ecHc}S>=6Js(=})d+QnGN3rJ1mUxDQzIj`w$x0M+JC2?py4_xRNCb<^8#t3#VlpwUhRFLQA}M$sUH ziWF7}%wiqfRzG7ga_a=6ZIPDwcD}GCRiqLcX4TvfnU+e}P%twtvOxjE zQ7Lg%=Rriugc*v#$>SLN+~R8tbyZN)`4V)3e=vEs4V7z;5tx`s4c)}9MrH~DIDI7M zw^H&F-hw^9KM?0l+nM!A%q2Lu=4QfS0j1%%^^tE0b>iE(-Ry6U*q<`0;mpep_QvqA z*pL)3e$xYOP?Sr~I=K(m8ZscQfY~_FnsMfR>4)eQLzwG)BRh#fg(>CLYbW%5eoY;( zCY8mPOp8i~Z7i}26V?6+^4>H=jWPSZF#)p`Zby;nI1AWMtf26!;}DAhwQ%KwzuE~H zG^rVCUegL#le`0G0}$fst@~?g6O|FQMa;9CEs$&mJyD*>y*a2G24$?!uNh4q7 zJ0YoiqUrys6num_)s_0ZRq))F$iC?9QD6;QI!CqJZh;ePg8SFh{48FMAXRJP7YkyW z7MbqJ(+@wj0LB`1HKAYqrk76wof}hMz~FNQ8yhxYygQt`)c#^dH@RRIP&oa$a@wSk zkLpveh-nt@r5pPiJ7lxYk^+hQ!GQFS@eeBxWmx+HFK$Ehx9E0&nU;=t_~&3g+f$bnHf{@A_Z{PTw6CjmkPVPs01Sv*JeuAcGj|LTkVF9jW& zsJu@c9*k)j3}+ri{2hn1ZpU44w?u9;N>G}E9G-LF^gAc%DtQR`ei8VuDkVLapp`pP zS+=ahWE3yrk1x8|I{WSKRrl#Ax7ucx=Mh5JO~&z?9MPuI=N(i?G!rmPhwC2)^P#d( zb25Kl^2aGTKk!Wglxz6~BPd>Taoz?0Tne+^=KfR<3Ttu6AXS=-`6ToR*Bt!~FJ%T@ zngG{+mq(keRy}81X!7%}@8r{zA{&~Za6<<-c>ulsUK|Gki6VND^vPqD6 zs3H25*p4UA%&awUe_I-oXLz<#YK41MPQg;FP;6Muzb&AR94bzoGKs4a_rN)Hx0nF@ zD3g+4T~7+E=%ANDAfI@i&Ub&@ekvh5KFkPOaIypl5v_8%xQVK}I$ z#|UfP{DG(4Revi5T}uDxV}_e4$SO}nPKG;uCPtm<_1$9|K3YKW?pENpc#{$hyu7KiEU2 zqZ;pgpf&>n)gl6ky`|dIf#|>aVb;KpqDZX^nzWfn(i4_7B>T)NijZ4z9nW}i2av05 zf+TI$2wK#wlu;vqB7aY%H=AnFjO2GR<9sneEWl_YzUFk@&q(PI{!skjzPRGse8H}` zVd6J+KIeZ4#TnQ?;%R2VWi+d(k0tklyAI8 zV1BR?Q~Z?`i<19N7xG_|qEh&Z==sjvKb}*}`oONiPiMhYdN`LL=_|O8#QZdY8egn` zq~mEZErlgHBfY3Z?9?wJavhCL4%E<2tlD}(Qx)mI&V&h3JcFYb-4K(Ah zl)53?a$)0I=f`wqP}6E7fzuevml2rSj+?g<&pgK>eo*^$)>D%zQEE+3K5$q195v^u z;rJA&N~l&*;+i2To&=wPBJ^y!^iueN`2;y%*{XsZ>yS!c4~EEgcv4IYDVpivWnv8& zONj$PSRs$l3~kWaZy#oAwC;p&9RAL5f#m>B(wi=)d6MD00Y!Ly@?q)xmF$|Z3~5Hh zB{)l|G($Q^AcRTKJE9L3b!#92?ihO2J+*)>8K=pF>^xusyaeTns)z5Y`k2fQA0YT# z{5pl3J0Uc>p}YuSPxO8JLpT`TF3L}g8q2e1l5JL}T+pJcxxxlXK_xOKK;@m@63>&L zFQqg|PVgF9eB~2wrquVFG8>89-Rzx76ODJ-dFOxn`PuwQWq*F&XFbSyRP|ZcSWkgD z5h9AQ^*Gf?je}>vSMeeIPBK5gKWXd>=7HfZmq1PqCj=%^i#bFuRZgVdB zQI_f@Ib~tnGM!!S*la|+ZkLrp5}ED!BRYJ~yv_BX7N;_GyB*3G)f*Gwyj~%;+KlZ1 zm=s>_9JDoqDMhKqaM()ZS@ArmowrIUd`{A@rALdKe@3L~CQ>X-G& zUu^9}v5?-OIs3SIj`<5Ur`_RV51bHn2rs3x;!jK58TuRQ27w4oi9xYIewL0y!IuISQx1@IJzlz(!24rt_TnSZ-1ew=#A8R8; zJdNJR?r{`lTCP7{_mn#SXEV)qSN%Ej?>2igamLk@I!2LAZJQ5MfFg$!S3Pq`xFEn> zPG1thnCD{}>;$7FUm^yU9d4PEMg&Q#T3?vH@fCHTZ3Wbb#@Ua^^Ts2&|9bEpgPl=thm#3~7AX7M- zNaTWx!F|FYWw5=GQ)-<_WB!-b=)y1XUB2;_j=xZ>E{B!*hh+6zHEi``$;SUKaO@rH zFaD?O-kzPM`7FUc1RJ7h=o>_jwF;kQEey$?`%B1=0gyxK!X$GKNt$Hvg$nks>4_Wl z>cTqTcnTe7 z6t-&SxkQzQvnLOEgkUY+r7&Yq>B2*jnD@{?YuASNg`e|Y4Ap8!;>Mct{Z7%#{$-xH zcG^&2z+Bq*=ldBiAnfgPZXXjd0-1j2AdeibEVdpA`$0ZGU=w`y**>fnZCjA`27wi+ z&MhNMRbRx)+MA9;Rn;CzqUlt88gfdthYNkFWOyI#P%P{yIq+jG7mib^WGOKW_d=pZ zkQwGUgSuu|jT5B9TY(6?ypvTCmgUO;bsS{5_a@vU%=8kK3p>do_0iL@z=3dwO7tdj z#J>xP5)>?rC`IV1(w9?rQBg0r5Xv*Ny-5_;Ej0M*F!D( zTd>rRmUoUBzIp?8cnKd<;JtC2aX}8&ZYza$B3T`r!VHjdJa7Kq)z9Z|sG}hI#Y3yU zd>nC7aB94*oM6M~B|Rum+dxP;@M%ia*Mw(PoDnwi(R7xWfCz5b%VMTdS5=s;H}~CU z-l0StjAepfUaQGwo&iRyP2{q-Tt!W{JOm3Lwii`%}Ui7D^9NRc6SVc)X&s2dW zML0?uNfU~F!OhP#su|!$Ysv0=E<24tW=F3V=Y_p)gWk+Yqd)y^n8Nd|0lWnWrc2dE z#Gk7v6iQZ(@Rkq(B|CShxN#h=P`aCf3(5UXn_mG;tQqWK$CJ#BhSx##a)bR@f~7gnw`G0Dbu*3f!i?Yw@B&5!k0zEELSA8F?dJPevy03ClO0f5Ok6|tPzU=*=%N6=Kqw$LAKv>>okD%xl3@sJ(3@_x! z;+*R^ccu!?({pN0Xo1k`!z4fm{4C&>xNQ%ApY0pWzyn-2u5F~V5R#%giKam}bd4_L zaY>SMB@IfBo&9tui5Ff#V}1r?jUH~r1H2(SZ&u&DPl;U^2j%$FA&x0Q)~f69+{3)# zXv;6Lji=N0V%n?|iX*cRxsUJ2Z=ROqAddu}uk>krc*+CSxZKc|VVZ1zWi(MFBK~I*RjX_w&d;Azcd#LVk+iRq z%<%z5JsE*S|5%XsUO5D$?$5>CYmf{`pL&UTgaTGhysE((g;A1OkPpbS%mt0ObNOc= zL%fjTSPfkpdpTe515V6jvK{rtvzncVk6I8L@&}Kh!i7)HWO}8kD=e9%uy! z{<;e^JesTXqQa(_I?FL1iC7~svUIR`6HERpq@!&uiXVjmC+hjnT9Am~iKyNpJWaC( zio&xqUKAg3gHAbB4J`1J4la)fn_#x5JUoNjZx!H*lwy!!+joZ()R`w9_jHJ>Mua4Q zJ&b=oovaZzw6@CKD7`4GY{WFT%ZK7wl+ffMlm}DIfbmB%UCBKkF>M zo@x{r2+TF=+$Q)MZ%>9pYD0S$G~+Evn%D#)v}@tdFaK)2xD-%iAr9UOe5Yk&B@mh~CIYF_^0>+i*xm?mM5Y`?(Vu?De?q)Es5+k}1O_l@>h zh(XK~P~ULwNtW%Yu9k1DIdDHx3!3bpR$y#@pMuPVN_=e-HA!;R$6C1nH*xgK5YhB+ zL^4HUwzx&r0oA?x2Y7G$<^Q7bf9FT>!BC$?DTAiA3nPx=-xQ(H;=(y37AcdT4>Lc^ zfqsQ_`h?P&5WW-r;h;eEV$|K9{I1(xrq1+RljN3^zwYsWvQApf|Kyx&_hS`hOg&yz zHYi71^^Q08K_MQZ23)x)N#>pdf(6G-FPI?zpY8fAqs;q14wSw5+X;;zxD(X_5L$Yv z*NSHRKvLY7Ls;Z}!q)1zTED6SRcG@&4m@;*>IxdsqksjuXE~F6(R@qER>FD)-zi&L41$p|{4>ED z2unzFBQc4JG7S{Ny1By5u{-*vIFIWtG2j}(5jCX7$5;$y=+m)ja+iGyL?C$qXE4;h zq=>I00>gC$lRQT6h)gS8pTZ5ux$XXTFsW28SUuDZlsz^PZ9}3enYA~XWJ?>exLr@E zlw|(Z=w0X>eXYLoV-Q78d0vnYz2vB464UBD?{l~+!CbYVzF`!ACx`z^D?uCh9AJ}P z=yRMEZ)Hy_7oYT3`QaATatQ|#7weRaq~IYh*uQ)H`*4RMP&d_ydgh^&Xgd2Y&Obq& zyxnBpgXg8GBhO45s6spwS2g5A`&4X+c9lQi|JERBfC@cSAI%kc`(Sp^6{Rv?jKMj= z8qf^FSjCfN^7QSvkQql%b6e!3u&UPF=7DllhkafAZp4|96rq2EB3!qkpv9pLUXTJ8 zF-ykhGEm2ht-<^P{@G;mwpU&>3HyK29 zk>J0Q!h|@RmA<-x}+NH z5TFC2YX00gNtjSd>NkILZDsRsJOC%Q5BYfeCKY<0=b2S{o7xNdgV--y;*QAYr4m=q zx(^riDA!`U4yqnmr61kZunPGc5!R2F5LoohZ0SiY`n2f1cSCdCEr~!2QB9R{ahMX_5ZPVz=T)mVrG)V>RlKMI8;evc@v(LMOW zv>#t=JDQRm!aT$PW(Z+zFn*AImp#xG{7G!-mP4HSaIWwSjHJW|I&y#J&+k@$u(0IC zXc{FOUtD|~X4%nIER=cPt;;Yuh$G;SS=WG1CypC}`50Pyzck{455qR7ExF<$-a2dg zgbxhE7@{bzWZW!9aI&$wN8ZRpE%>74 zwoTDZf-PSM!;YuOIs6^F0r`&Jj)nW`cP#Sce-OkSLIx>t-)52fwl)0EZW?Ct%3hV! z-IG=P#nCFaL)Q(t3RB1u_F?*U;eRlQ>M4#1A;srb)k5w*>fZ9AR?L($nCB*N^awVa zq3YM@)(iA|kBy z`CvmQmk2S9rbNEM{;+rxl zjD4%bkY771=RtK98+OTn*NK|QX>gf1l^usLT>Aa;By_$%k;U|>2! z(n;i3$L;~N2#X$S|LDM{^7onyn6vWST^jYDH%KgLd>1KY z>Z<0yNo6TymJ`a`vZ{KndnO_B?@(ojxG+^@hil%867!}GClIb`r+)2-z0G$H(|t~f zg?fx1moF?p?B}9ubGDwvJ3bbn!z@j zb~y?aTNv;1O#E3)B+-rf?sqN`HmEQAX(~BTqz1E3{2_7`!*}u5u7Dt z#qb0lPZOg_*Qw&2iju9|bdRmbR2ondX`#B7-|^bxH{^@q7y~DH+U^9Hq(?2B4c60O zNQy`sG8@cbCAJ?v#OhI026!XGb;KwB77uTJ$Ul&8ZO*!kf!VjBe;dVEUa`ea{dGOr z3?Z_(A=WCP!%9XcYlcc=b><{{D7Rf2dto^wb-z=HE zR)e?@)j&H-5{uOkTEyFpJwgl#4}6t%y6Id#2!3jK^laOF^eQir*5QcaiktI|%sy zkNK4a_W)D&?myWiTBDBb*rU_}b@zn;6A_miD~S}Q{Ew=HA7twN)=%xJIWhgwM=F*T zR3VzixQPTQnyY$!Eszccb)++4M|Q;${8fWTu-O&6N9stQwFB+sE=(NQjKm4W)Rk=B zNkJZ!FE8{KaMSfPg={-(@@@;}PM8ak6Cs2R*4=z^(Ij>Kk;!{WKtC)Lb}y1sUL8N{ zxg2rq`#({U2vybz4$xaAqgtZ*5<6u5W_g4(GMv`BX{&W3;Y5h8mS=ITVxt<*H1z|L zV<4lde>8&BJhfM`2k%IMPtl*e*pvq5#zqcWGNTVVl;iJF`g6SqHn|5+fEuigucCSvj!A||5I?;|&~ zHyxR0Yc#Zk_Zy;|n>oUs^O6I;2?OFc)LLcqzX%Hco;An92V*81F5vK;Q-iL_hT1Wf z)zD+++)dubehYw8W@}2H-1rOlt{!?vYO2W?#nBmB=rKi&pnD&ZRcwyc2w)?Iz7Z5D z26@i{2IU*vi}m3tJv=lBJKhbQu;Lk2eNZ!af+-e~4s8?dUwtMTi>c97?o$aHhgCa` zVm($IQmXZL@fTYBrKYMKdzzlfluS;>KG6gFcthg()KwqXWdmgol^JzZP9)f{-;egTg6ge-W7598=F>m zyce0a#&2*Z4Gn4$!uO{Pgayr2a8CJ{e|3-}4Zno0ud_s5&4%D8H&;~G-ilP_20ZZo znuGJr1jdBLH6DLLgdZ`UWa&AKGXdC*mMDjuta8w#4Aa0T{eY4LufJ}W%5H&!A9M%H zT2!y$D}K+adpa6LAm)x^eXN;FVmRNZz|rs^@<{~JNH>ez0J98oLqINPp^V~yFh$C} z1jd_2vPny}2Kq3uu%C3i^U0p&SB6#C8Hm0DUid3Ix4FioE7;^rnBUrAInfHsY+MtA zPs73eOQa#58h=@f(@%zY#j_$C8+I#{PGF_b&ohinJ$?;y%yT;2Iv()mm9GtzEk7^> zUDn+{TJI|Ro!Vb<<!S-gxM=OP!dDRn6J6tfIptt6~G4o@I$Xndb z`9x3MMKIhZ=~NR*Ob}SHJzdt_ePm5lerW~iJn74V->2LwDr{Xb_BhKkx$JTtqH~0S z->t=kf3N)s8I0#6SwKa46m-dEbIG40kI!IRk!I}gl*N=ezkuD?S;1bG28iK6YhhP7 zXDcZk()`n`m?@1%hH1$ZebR~Q@!ygQ z#_Vv>i0dr@Q~O5q`}GJ?jjfWBx*gB8uUvsm%_lti$8-pVkt-qa7B5mC%z)%Q z*zevfY#&xXB!c?2XV>f?LvEFIDe;;aq)9Lx5P_~S`8 z$Spcy9K(k2JUL+|%;RyoD+d^AJM@I11t^M~iCtb!BDgb#B;Gzum-z-4~zp04o4@=3jQ|q(g0EH=6@wp@^yAT9|x}Np#1i)EqtD zs>#N^7&I;~f5abrIkferP27jA?26dlfW%x2o-XeH$DaRljzRk|DrfAVKcnfE z=n}$u-smn?BbkF5!9JsAJfBHXE20?)W4&0iiJvGF;XH-H;YgB>BI#ePTxI9GF>SYJ zCGaoh@d33(8ikkxGPQld+7{MvsT{Uzcj{ZgSNE`SO-BLjjH*o))um>{NB6>qre_~g zwX`Ri852_&2^_}DAWd)Y|I*>K2FRf5VBb{u7Q*8iQJTZ*l>1L%=t2WC@XYecTL zFiCnsN1EKazMZd~Y5eTJ+*hvd*25+){2rBhN}cF}Mu>L+Nh`R;R;KaXPSf&Z&nx$- z_XB=FGYBxRw564y4#n+fAFYGUL24N$vYX3rrR^)}=1jPmI$HOjj<`p#T{KQlB0^o0 zr-Qj6{DeWPjtk^o4_P3{fjd(`qJ@$+1R~*@)5M-hOeG?qydizFBOy?cPYnV8RnD9l zd%cR-B^aY&6t9cg+bTOinF;N`3E={mB`Nx3G03iXGLfy5g zj0iWA8U@&2av>=bUUGNp(}td}P+J&O#!30jQ``dBT^|%-8;3lI8#x>s_n9nnuh^F$ zQikLuUZj8eSLMA{+wX}ddGv0UMdmJ=`eCRRMM)MOT@|ZQMzh4Kr{@*KQS5NTy(kbG zj*ab)K7Dplv2B(LoCjuRQqpVP3jI}4buPi-aea@vL-())+Pd~Xuj;G(xzPJyl@o@ ziLpelf;yYu_Szda=SClKs6#OWlPl%^PA z(--k_Q~LR1(?XahEcgAez&RkuNzNXmuSMuEv?7-5YtVw+9!|~zauA%f*)mhS4hge@ zy`u88P+KvinfbnuIC1R)K4WYPz1;EHaorG4 zkr5$menir=VB{kQmfWe#9_(N*14R~>eEheu5+CQPQmIzkFpTM*Pi}EpsPvV9lSShO zmL6w(aA1AluRmVgFuRL3Zz}2Uto1>BLW3dWCy;r%u=~G$Yf-y63KmEZK_=}5Z3EV- zdY55u)(fo61CLj!IrHkK^lR@RF6JE9`5+4q5pT3j?eAlJw>Q1VTzDNQ`5X(#YImWK}*Ry=7j^))8+7jeli*pWdeV+T$d~Uw0Cdnvt zmCDrBXn7gD=8A>A7=uQr!h_Q_Du#ysEbS(&Fmxj^$yul3plqZqMPv?YBbVx#i&i`E zwpCEPSMkh8jx`3J0o<&vLd~Z>j)y~U&6;g}#`Vgs7)v(_<7gf4Uqq=8=U*#JI*rsX z{gAsD0>1d4ZaqKBE+cg#?{&|4^nr7e{tLo!m4RYTBNs zKbxE`C|1ne%561q<#QhUfkH=>y<9))yIPI}bQ)03Ox+Z8+|+-2^F29SyWGY6(<|Am zm2pGSJr{b8`NCh1_9&=zNb!}rl)5F>J%6w2?7tlA{#$DwoAtqGwGG7gjdHv~=w4`OW?LP$Uo@Smw zRT|QW6EeMm+34$h_!~rmFqN(O+f3~3KB(n^aFf0KcU4DEdc`S2Y7u;bl-M#xszMp_z9s}s$I*I2W&?B|`m0q-%vsX}E^)lOAQydQaY@h?* z8xIH_4I8>B7}Y!VF4?V&3`xU|^~5SHs+TD*V2SiM>BQ_kZC#U6AG7z?ua^iNKh^Y~ zJibx&Y4#{ZTSeQm+Br>jFRm@?Axb)2qIDE>;nMSUx42fi8{6Yt8hJ~xE96b1Ij-lD zb$-sH=uW#|F<#GaExU;@!%<>Dq7dE1R6Sd@e|YvC+944K5&yE?mblKv7F6B5^{U2x zD@@T_RT9;wN#|Rjf3Vyhm-x9LQB2y_o{u&-pYJo|#az<)Du3DZOCa?-su#bjYwgwR z)#4&-?YK7Sf$RBt$>!4Qy-jcVYv0i9v(ax9H2#3D#g+C038sZPTV&hkYN&Yrr-oCm zH$83kw}U>*?&IdmgK?YV2N|PSRwdJwZKyv<+pmMqur^PMur7ai$5yRXgg5004k0`v&l{gMpa)u^%T4 zt3CW7hI#XcW#Fqi-%atx)u$&VgTm0}btYt6uIftc zbm1#f2SP8s5^lw z&s8rmS7FZaAOnt8exUAnTAf$3OwaW4Z)+)r%d>OqM$Wh`o_@jbLZN`6zAs)w-JeUm z=n+*nzJpva{a<1c%Y#$+IzYBkBP6|;&s(fg>#?>?=8zovwLj_UIs1yyT~13oH@eqz zv30{)LefNFEFxYq7j@1U86hvLP79lo^vsH{T#?&j7mxODcr-C%I#UcRK7NT`8oBB6T%d389KYLYq8yHZu^w%rvH@Armhh5 zIKhijO{q{s?MfSYn&Lq8fe;7I8UBJ~* z4aexzuxgaVq~;8|Jap-`1|;PgE`vR43OTOw%t zTbcBG!VcI+njYGHKu8Hk=Z4Q^$bK5eM&{)Z7uG;ILa1VYKI6l!t9rZE@vu7_5>uIk zhoayTnyv*G2nRY~8QU2x8t`YNh~8^cqJV)n(37#FS0~|!?|TbEmrA6vw|d(Zmd^Ak zVIER-(~{=d!>iZbn5X-C;}dP{;bYDK&5PaBQMWCNn?)gP@zK+I8?k)Gb%(9%72!Nz z$Xjpc<8-ay6FkX01OU)8otoqC+y5%)&`WV{5XR;vmGv#V-lI3@{)271k-VgHY`uiz zO@4>+XzSPFmjBKB<^^clqcTPQ-L@m!JjA7#$eObyaq2qfB(fOp+L`6^J}HX?i7Dd4 zK-<3Coe3AYKYOtR#%#Bj{(g(+xHqIKKoSWsBuRWo`x)L*y?csLewX#9`m{scvhB?+VApD<`+I?k2|6Dp<)reoc$J;@1_0MbgTQL z4AY;MBIvd#Mpg_2kC&H?CF0Rn=|6!h627$=OR*ay0uo%Ck47q$blCaVGa^Ok;roSx z$20RD>!pia0X5jbJR*5Sb5{(JmGWQ^^2yBTFTG~ABeoL`kKyhSM~b%68;^I}h3Ev$ zxb59deN==_&I@PV?$y&)#6^WP9DyO$HC4UtpF#EVeIKZ@#>e-eT30$zT6{;@dE4b2 zfvqp=^36F9odX!y5RD=)7Yfbc?K-Pgu9n*r4BZ>&lVCS6_5RQbXQv^X?7fRhcj@g0 zP}xqAFkjnq%c!IDBMyJVw>KEaxsP851zIljux$Ff%I&k2eXIqy+XdBRA&lAZd-p;B zPx-RyJoI)8KEHh%?!>Mg4Eg7@Go)Qjum>AN!WxrQE?}b)B9bVwh$_>>%-ayFS$o ze4uu`Jq&!j;_eo+jVz*hy&!%`@dnqiZ1c?@fw3d^&xGd9gT&65#xOIVmY(F1o+@SE zKb(oQN8am6Yn9IE4)cMp-TBBH_?>2xX#-JVrTtp>qUqH{fazAuPBG(Ri|Y?uJtdyA zUDxU54Jdz(zjde+WBlmwnO|4y@Y^Y^!Q9+=Nh#qcm0nJXZH_r- z_~I8uS9`|(>GxzG>a%s+Kb(DFEINTF=}AWi@3fe}j>}>IOPfy-fmFlev_Nyt+4c}(y*=2kL5O3^V7OS%_ z-^G=S2<)38D%s~cFwbuC_Ux)sEv2-}fX+7vJ zeysN_!*N3SS~AfBy!4|_o(n!deO50;#n7q@=b+wF0Z)%%a3PVyU@ zD`C{V@~#_i71i}M+j;v!9;ohXg&SjKF0c-g=nM9jIMZNB2id6JObGoX^U=zd9`9ZZX8ff#iS6x%eA)et zpJdu}(8r(9)@QrlnqdCx#wE!t#V`1iyq6ufMY>X7UjP8fl>f;izCQI4!2ie?&{IM7 zpSQx7g2l12qr}Vp<5d8;VYD6d>Hn__n9HT_|MMeYjQ0QQ9{;~x0uVNK2LQTbeu#?z z|34Q^2bSqm4Jge7Xa{p!t*GWCx6m-6?}S+36xAW)7zrI$>!a_aTj0R;DEFze000`a zW$7mcip}2@nz9)O3i^fK6vOC>byG*u?}4Avq{v1%1${9%MheH(%VJ|~Jr&v>`kv<^U#yOUu@HASTPmHG8AB%O`1Cp{GKKt7FM#H_rsN-4txLI=3>*; z2xl-c4nmyNHni>tIyarTlX0yyg)f2o6$SwH%V-mOh0{*RlWb0mN(DLQh=;SS8~gs% z>Q6t(mFZJDNL(yzp_H12yzV=X&e6!`T?I@Whtg{KdUR_3kuKT_IBE0p)GaeYsGuCUwB^3O<1v$DUO z(Y~`c-zyzMD5J@HG6s3E$A5&+?D*_cqo%UxS$@PX?A^dQB=_YTq@k2MZ{j5!04g#3 zW<$nEpOS4AdCef9(xM_M1aaROc@C`^@Y39)r^|+Ihb}`5sb%bc6ISLFT!yLs#NOO# zMKKDcD*b&Uv!@-U8_f5*j4qaqBao&7aP<>CvHup)f^K=5J3`cMP)rGN`WDVBt;~PC zDlwX@Q4#+gshZBY-H0V;O{vmq8|; z%P#;o6I`sy6o~Ry7DpU)0@Xfh-@#$3`P_p?C}#?n&uUCY-7yxf%^vMq``E53=bfx! z*lr&K8`DPu)z!(@7h~2GoCaSw%yk3rH{~9ST)JVtYo8{cFR?RiZ77C#Z`aii0L`|{ zT;(>XkiY;2D*iw_w3CdbCgxpMoT>RTLyBgA=50Z!?4=WDB)!vb}cZ14bG{*O(EPAF?xTlM`&PWTs zT)L^{7Vq$NL>UYJx8!wPl2cvE6l^5ic_09OXmKZn8Fop@dS%4d1Xg!NL{??4t<@j4 zFMP(@FCkh9rFzXczv$*OtPB}UsxVH~enqyeX6);SCl60xY$!PDx7j0GSN2*CWt~*c zzvYSXwR~f_I7wD=F|ZP{K3=SWRPJm|$NF*4_}ce>@%ElkO|5O$DC$PHbVZONAQpO) z7CMR|Af1HXRX}p=RYh|r_U3Zz+HRoJ+tOC~xps`a{CHW^#f0BGnfZWCKYCbcX3s{0U%Yw_ZUNMeZ zNUWHJ!2OHW`8zUj!OQ!eKBKjBkRg|vw9FO5U?4#K6<)sUOhz?wwkd&IZ*}Z5OU*}H z*1s)X`f14D=Vxn$@hB-dX-vFRqfXAIPkTp!IW~KH^F)-e_x90v8|RdrC4b&Yy=O0;Dqxy&1y0V` zL+zO^B%{x#A3&oBMyrbL3VeEf?(cFc>^)TyVv}Aithxz*K_Jep;)1zZbzXZh)26F^ zzyn!3F*8H3_ZV;vBl2o98+LeDF~bY5e08Q1fyd%Et9$h9l+uWs>jY=l*S^t zpwVgBQOMTN$g+YF3hhbBA1XJYQzEZF1g3xNjdiS{7YO#qx#JAFCE*)dUk&d|*NRH& z_36%+4`b9MjM^DxU$;Bs8O0Yv6g$p<$@O&K8`(RYZ;G%zV-jUc7a+fNQaAxUwDHZ% z(N8b3#S4v+>R8bnzmhqz{)2>M3UVJqzQ)#ElEz75oV~{Zx%gU}C!anRb8KsuX2N?R z;e()vS0e;>;y8y#Xq5@~XajXr41DI(dmwJt7f{=Y@n0(OLa7jEM>}`+;1aCy*ble$ zcsT9BOXM5z##fESL1TBv+)q4h#W7Sp32$be)f9{|+z#U_hd7rM%vlE}8DH)7db`WK zQDI+3@3v=078(HRGeK}CYaNKakq|ef7t$X#Qtr&O+Qfv|C8gj>YN>_v0H8t$!&$X> zGH{ppo;Dm&^?n7KV6&SVdwK5BgC#E!xbW>j>T_WiSf<(W#hY`HSkG-4+z4fVa zpk55GW9bv8>2EYFKtW=$2BdDk6HOAU`+sMj|DR=!|1n$qC(Zr;@kRx4I9cRD^G|tn zpSSPBu4+o8{;Ev2l6=Gk@3;2Tjp*G(Vqry6HswPX7WeU=Ed0I9TN(a5DDeP^H67gF z5ct_rrZ46(y1EQ$SE_y0;f+FGdy8U(4FZ$B(X1k(~X! z8=(|BI3|Q8!}q%U(q&wt|Q`MSd>kDfNlrj3+W5?>CTmg60)1I^WeM4EN1qeT;1AZK@y zuUPZsMgF1$v&XX(aS|VZ?^3)90X~esbTI5RT)*-?4_bSZlpJ4a8*k7&^Uzxt8K;r- z7$Nv$Z)uAU*mo{Gz`ZF6e)v8$w%O8z>8JX9LWEv(T{$ce(%1?-ARjj{VP;uA&OFd8 z_brS+F~|G$J4z^JWJ0#w3YbHVBRjM1%`AFon6$i*0=0cCJU*?rqL5ZK4|y5b+}NY> zBdF&vq@2M-JZ11Y$ucw+2UK|0*hBCcs{<}CkII0KuZ9Lr7$*?eiH(T zH+Hqdd5E+%RIZDx`n>k^yG#!e8 zI!vO+mr$@YgXVCFI?E}(j9Iu_PprU%EG^mwP9&K?5h;)yqLH zVq#{1LZh*Wt7X(Ocv07ik#K@K8i^h@B3rwO>to><3(PH!_nYEivilWObij5r?y*`W zo_nCueh{=d=dWl#H-!g=5KWN|q86;->8V0UBEK3UqGieQ^rl978Af3{2-2Rg{V*O! z`$&Tc-5-zBrF9co!nDg2dbubQoJjTX4pJs+t zCL2;!3q9dGZ(ut05qHMYGVF3T_NQ`y+TKFQ7;eUBKDAk-sm3ohOO>6FLh4W)=1N;* z^hHj?0c`rtLt>DMVHs%IusQ#5R3H9l3=W@*Of_9j!9~`(Jt!TNAQ&IWrKZY$Hhg9G z&HXbuGe?X4?qt)PvZn;OOn*zb_A4;scNBJ~Ow1k}>N+-VoBOy}FwaGea7-1y{#6CZ ze~MlNGkhcGN?#ZNQIkmym9Gui_VujB<8-*>S#s$6r-`ysYDkAD9NM_XsKXe`e!9 zSi68RY?W9EZEmg=91>e#^tMV^?ruVTV65(zl z`;d$2@A$jiW8RsD|R$hyt49jL~y>|0h{K6fFHQ4wnep zNfN&zf1r4$bw+f9ZwwTXzZp2|P(Kozx;7Y~lOE>#Lyj37v>&BZu$@ESZvE5Qjj4?a zjE2WFFrzZ1)k?1@!FW+4qjP5`PkJLnqR?|fN8*98QR>MW>qDwa>+vDH`MCpM2V@jp z$NO2n4QqBbK# zjP6ny6r2tE+!$1K(4+8rAXR_$MlytXp!ycuI&F#m?KOO)HED1xTJSN*a z%ZtHi_t*uiVz=+7T^YFNo~BOvqxhaD*~U$NHP4Yz1!*-7>i1T?bq_zj`6ia}rqG15 z)G0;hEU-pQq9*8N`N&Mq>`2F$6DP=WU8ug$x(?V|--eMahlwmPx6YmM)-}lTeO1O{ zlyR-J!xoL&cffXO>iaac*^-ZiL!Z%M%TXCryvtEcT$qd^r#MS|zs*>h*w38~0JEBe zBOdp3tx~d&If`6fQLfsb5Wf?N)z5U1Dui~bzp=A~2_)YOrZhj%&4+BwP_4CRfMM2} zwl+9BP|i5E8^6>%r!dG#DXj_)dpo#+ejorUf6)8MeC@CEOEs2`5(;#7qe{k0--u_+cF*^he|>|`OvOb#UyqMqvqhbLsdl+o0or9Tk#2$z z#0&JJ{`AqU~(e>abKV{Z5x1ls{~LIIakc)lSz zPE8uac~a!BzciWt3WwR_0?x6JOn-y8-4D-wd>&rW=W)$5vqz{s76Z|XT6C@m7YEE$ z2abwXV2~38R_Iw@aBSl1Zh}rLKNg0}kprnW3D-M_c>zF;Jxj%1p>x7zz-MUI$te?8 zHtO~fkUDrWD2)j?OC;i-vj&TUK4lmFNYo%q8kjqrOT+!^Kf!^A70Ugas=5|;#99CK z*P^lXIp2`BZtYdm8*$iin}zbiFiLqeOVY9wxQi$2Ddp{6Szawuc5ZP1yMhXBIp0 zBDRQnvOvx0Ub&q;JBz)gbVK!rx&ynX{5$)0K&wB=Bq|dkHfR~LZWi4R)2N@;=ux-- z6RtmOe)r>)F%cI3)xFl8gGimP2R5yl>~cy2_~$H z(+!pAV+CM~8$>Sou@6rSPIut=#cQGVuF8A0sT@C~h!jw(QBmrC;M5vgtOeK>sBew<>;XXmVuVXc7N+iwd%F ziPRj)yV1w`BH5D~J$QR9IyDW#U;{1V{MR@z+LBfqQJdWI48)fj#P44t zZKW_K6{}pS+yZgNW1_6M*fB){hsy3+L!>y@~kE?8L(MT5LNW}ru1b{Z~XHlaZn0R7VE93~Y>)7yXII}Yz zj-eN;9gj1_ajbr)I9-avbz(>2Ul4SPsb{r5y*);6yFxoMt<1kp7P0gSEkm-^+a$Lx zkD;IcI9*WVVw1!$e{kf^tA?}KJt3|PU-#62*P0jlewBmaomPhZDT$BZ12rKVYKu>} zBl4ie!b|~(0fIG3hEfa)*5t!<8uIz^`Me~pnRc8u+$SwYPnJ{M-{bOS662#U2WFYjo*4;x;Ca6ai=07_cZ8;@REo{zO-w|(NB0y?VhFnH z%Ln!00C5PpihpKl+g6?j$=>Sos>#%LBi@piO|_IipduzIbE)iIwZ3t$g`-`qg4Cj= z>W!&%!$FD$#|K#3Jb)jtsu}}#BAU$ z`jULPsw0btgvbk|oeX-?{#IrnL(jlxE_S?E0)>S8y`D=_Y`tF~AqCF0CWW)=K0{>F zC{`4f1D*cPP#FHVL_^Z^{9mj1?;-~nI=cT|LK0If;AAm4q*)^@H;=TI%yqP?NRHnX zZ1SLua#%pkibbH!f5^P~L7UjHz|D?`1!7ssm4|@Kk$I}_oSv^K$Vi>GQU}+$O$NjH zbk5>j8)o^JX>&P&=D<=*5DF0#6 zHs6V|{IGu}?2gC(iB91<@;`M7jMBe!iur%(6#nf}Vjx|XdXnwu&M)-xmKxuwN4no)*MN#HPYGc5}RMi8N2ArrUeRe80fDcnF1Cx~YVR@_rNk*UO zvTkg0!?OMtrGeJ!-<5{Ta5+TNk$wV7+Ufma!`Cdu+b*`(aw25w(2IL|du^NDGZplQv4` zl6`d0)vYPFUDo2471C~hQAT*LRRN7vRRv(l?X|AltEm1X9h-p(I-}iafG_{68!mV3 z?C}@Fzfu0i1y^wZJ(-7F`m(kJx>8MuXqOWC{x}-w{q) z$|-U^j5>u=@1 zE{ISEMte$>Dh)w~k6evQ!CglW10H~m4g$6;PX^3DPs#q)tSp_6* zUAdRxW7<%GwRGf7a z#;j#sbO>~cY_?8^{w{p2tFzQ0!Ul@XaYoIJ-W8n=r=cS=q8<#pmq+cS=!eSQHELTS zyx|3n){nlO;EXMiG?v?Mb69}vdkDz3f|niD;5H__D^W~lZ?cUleJFuF{a0QPLWCJ+ z$}mi)wZ#D8-{-{*WHyh^A0B># zz8g~oC>EE$?Vnlj2dSzWc_-CV=rt%pQJ`)x5tV|5ZkkJiM zDLDT2iV$y$yPgMSuU6wrl+}?>1ZlrOcsr=9V<-F69lroEtJx&YAuC_LQdk^Ae_?oZ zW+4y+{3PG+MopC1_*R=_&7^G=;7&)WUYUJ0QMYF|wPXJXpE2pX2}Tq4i4Z9KHb`FW z5muiAbLB-Y0C~Mh3yNyM|0k3XO4R@sE-oF0(GZ8OWd&T$8kTh@NpiQ%jil?v+0)j8 zt3aGt0k->rj_kWekF9246)+g$NF+iJknc|X=lbWrsAP^L+`z5*KWw|H$z12F*5&xM z!6uw-utL)~p56EWLV;-(Pp%U2a=rRiV05zwxCePn(9t)8=0Xbp4KhlRf80s7eFjfT zVzt_*W6yfD+~Jc-vm!Y7A#ur{u9CQh_JHOfTmHiOKOw?B;=_>v!1S8$vh#S6>GqN4 z_HVm^SIAy{TLV=MY!BroEg7>~4kRsM*ZoO)F z{Z1$5fzt2n?u(QTtRA6tHE4s|Q)VQCH@W{Af(@M}0A(Q*Dag3rQxANp9GCmsHV85G zB;urRtYo4ZKTW61^w;99HvVa*m)mFEu@aY_7lxz1nKKE{(DBUxdVZ}$0=wsdCoXTe zA^aMaK89HwVJq&)qY2LqUfTIs4bSxo6X!%~je%aM5b6=BMKM4kYWL`9tS`N6KQy44 zz*WDtn1+KYz9_wG^QFM&QnDQ|EM9Fx?R}fdSv*3Uofv&6Cmt}GE62%;idMf$77?wk z!1mt$dFLdEP&6J~nv-yH59?{_s>Mf;FSn0RtGpmLD^q z4`clRnqv;In`sMT@v41=Xchp2eN?R26|?RZngrPx-{lFa#wum@K!2sJO+MMI3Tc)9 z?DtLq_sx8&Z2Q}&7Y(5HNCTQuOBZpNNB3LN_;lbF@Xy&a zKEapx(xk@pHPZOKuQt6B>kGa`1(&n?yg~C>E3(Q4wEaN_WjvAl-h+-qAY`g2QM$M6 zenLWJCd@V<6+72Lh4I*kA3eVdNgiMPS}c9K@FHAI@jZ`Z~ler5SfI>rj+iXRcVf89@>BfdDs9HE~%?-{)u=Ux*cnIdXU2PKZ>e(gzo_?s9 zHSMTDfDcqY67>9Y5vubT;n0)KG})4$)=o9!Af4B-pDV_2_4G__N7Q5k*i<*|;D$l^ zT@xOlid*4u0-QhWFXKvhfHEl+`wIcKqHa`^YJ4L{kpBz8Hb zP#IVUb72fp^cN$2XJ%LN>muio`8fbf{DUYQ$h+!Hhe3`{4uf13_B_R0AVze92i z`K^Q#)uu~wbQ~q>j+@j1vOLCpBM|rGXO8DQUQ;KdjED6-G2XPJupDDf+Z4*v-a`0#En?Se!QkRQjaH@QH0+@9U&qA{-&Iy^BnR$#Gs_X_{+q3U$C!bx&vThu#b*J|hQSV%lG>WL5N2;);14jLtZf8S%@M z{oy9LeIZZ~r91*2_MVS8<3Pr(Zm`Pw{U6VkJ@`E%9L%2L3e66?VeSRcr;I>pPaciY z`~>HX!}apy9ffbh{qBu@27-ECWcd)-;XPs6u))hk{&yRkPfT0q*i_q>M-0k$tZeUz z+{O{9p^^E;68Uh@D_N(r5&ZoVz- z&$+(}03`fc7lYGw%{zV+u4Dyv?2T`Ip#%mhREv)s8Ms&VW?_+5T{6QA`9h6~AIV*o zKL6&;1oEH|TDZS(1xQH5Lxw|C3>bSIFJBVT2lym>{J%C3+Uda0pLCjfZH82D|79%B zdh*S^G}CLTFn9J=Z~gTRfCa*Gmav_B4l`cMI9;+$wl!K6B3^rsCk@xCRV(^RZR)0K zCG;WO50Py`o!?44CX_-X70dG;TSt5w@L0$OGZskfrS(vV00;(wzi#y5$D*!Fk5?n!Aa|Hstm=$CJjQJ1zgf`(7EpP(Y|6mdS$SC|F z5{pwpTF*Fs>OuHB5DR8ST@Fm4QzP{Q5wKg}+(f;XgQtRo%xH;?!h;1Ruz z0Lsb>NZLs({^E(n(S^$i$=K)#(qzV?GON=^X>^bU&5s%CYaI+x;#4f@;w9$Ia%QU( zt~$T1X;(^TW-Go5Ww&{%gtCR!NuL*NdIv|QgB+Ag)iPr{;&G8EIJ_uR)i|$WJ;SaBC+|!qe9LU!>04=c;%qU9e6Ssef zI-}+s9MO6HAvum&y84@r&Cgy#oo3YV$*YuMOeW79ngU(l>;u_=sS2BOmI^sOGVd6uu$6S)gaaQMMoLmX&1VkoQ`|h}pC3@kP|1 zh5MStkZMwO(@40Pr>s)i%lW$Nh4*Z@ysdU#)haO2yR2$!D7|YMmKwR|Ok5U7INspk zX0VD(mg~Cl{sS~(EMuRH)FL>}9;*Ai9Dz7bK1;!|^jLiUlCv}Vt6bc(zcVQ@9!H1I zot+kNs^kf4Kh=NQ;@S`l-Yc-ukE>K=zPyOwzJ$A6~($Hm1 z_^gbmRV>^tJT`Hz=^fU}1$hSRpuN0{Z z79m?xxq$F*q>SO;sCL<^TI&>!vLxo+cWsa1W|E)li2eirx;kt6(zW1y_VuFCzAblJ zA3&C)m`rUOig~R9mzzz;J4oj)7L)>JD!kK~@FWOpRgvOJJIZ*RM759=$}c_qEuUr2 zijN(G+EYu6eawJ0ey1=< zzXKmHh+*y#YJr&h75m>*HwBohiRrW#xLI_HNxoFA4Je25T>DiN;I&J4anyP${Ti#Y zeedW782yqt!p(pTZbvmt5AlW&-8&@jco4uUE(%n!hM)X$a@S?&6DNp@$UFFbOzvco zHDYXvuQdI&_8?&11kk4`yx@3lO8+^Tr;Rfskih|4>G6I27t&f%X8udRVJb9l3H3v1}^+4T~;iy{?*stzeNI(7Au zh_*5@TK`(e2gKsZDKuxR7Y6RJ;5_Vq(6QG?!o*p9Bi@4R9vhUwPOy~cJJ|bodSXmq z$Im8f!hZ>Nke2q1JOC>$ar;%3ovyu2H^Pw(kyW>R1`MTo_F+7((thjVt!~!IwVn(M z_a$~rT z@KlAA-x{i-GOn#nYH0!iqnx8>Js4-3oO2Uy=9}4*Ql~dp5*l? zo4*VRag(ng0})n(A!cYd_ovBp6{O&K0ZA!Z{l&9;?OpC(eiIU; zW0sU?epauiUUtVxZHK01m)Vu9V?R1M4Zlltw482RTJQJd2`XrsuvT{fN&3r-79?p* z#@jw&$#E-$`hH1%`9v5NamQ4{bNyRjVJ3%$ULJIJ@ls#;Bfh+X)QaFL4V@n~?;GfY zOcPUsXh0d&F{E~}C^$cC$P5UvP9?R{@lCKO#4TTO^pgY5jXc$fBRSIwx4(b>>74$< zW(g2$gDj%x#I7di3cj#g24ii}FiHfGBQ)}!FW&t((Wxv|qKM5K%qu`^aMEd@gT}oG z8);fLGBAb#SdnzS^>YUVDVSIBr=)SO3Hegi3;zwhu16qG>s%jzIMlS08UbS1qpMu) zW*XE4SLMyK^j@7XOWKD=z{0?aOp-`F9Z#j*RK5_eDfxz;wVHkM{JIv66BDiYP37mV~Dmc%--N=X^b?*k~$y8`5#!x7gYqGt%4ZhaVmt$6r66aum`YyB~`);p=UDl zZ6&CET1Dd#(UK>gt+v)z&)rlA3y!$$LMUOTDoL1DEVBBC+Pa?8Qv(5!TN;FkKN8%h zhIGgmrU*A)noX!@I;Lh+GaRAcKJ*LcPL5g5yk#6z0$1hA`^>JC5@^1t?yJ@fWOuzY zM7#;2w9zkM9egcmD`F*yWvVC)4$`@$La1>NJO9n2`4Ek>S&tFP4O&qL7~ajRwPW|( zuLT|3`Ycar3t?93@YqS6G^2k(j`?%2DtT%aycF5q1#fyUSnlvNU(d*bGJ*>1#Xjt~ zQdJq!TnJOnYoch`DnXeX9A0Wi@WpFCCnjZ|n24k3X;iv+IAJ~XgMEQjnpx$YiYB}1 zQ#nv92$SCPDbt9DGA}U!w~LHH^vOD8?w z^68I-lYr{wjoq|x4S$|_t$2^cR+srps%u%jOgkEzTw2PzGgTXW_O*hirkOLohy$hv zADe)NJl2JY60kI6-?T9JyLVvDOkPP(5w!_V%5%l0Gl}w8nFCPOUSYbQcbu=jTYPcHTRc}G zVoHk&XyYHh4XNm~;)n-ha&YVv!ln`JNTcCAV*UTRM<(mtzCCU zXMvTsg!|3=-X0HGax|4?lAwZ=%AKQNTwumJx*@IQ<<>fjPutY|80uw8L^o;sx*SAEg;8x zg>*u>1u@RC2XC!a&b+3;AMIF1?K+Ca=-kR8HXh!O4Un0DTOV>(}gnEcL-HJw}IGG- zm%}GX+=O z`*F&0O8mZHz6znBemyrDW84t6*|~;7ihOt=uYO*Vw_?qs2bRG^7qS#5TP%`pnD*l( z#=Iqyllbt4z6+{^qb;YoEaJ+u7mHiUsUkuc^2cYb zfRZ(_XQXgLgZmDhxE!O}E+wF>o~_qctu~Wg>~q=Gzxscl0_YIq=yY$F&0msRZ`&355wq8GMX9 zhS@tiKPDu^)w$bHg%Er!Sq~sRpXsnBVeOr0hD<8-N5WFZ_k<;&T*@L)zR-Sv!B$`n ze^XdXwqFL*p@6!EQ)oEAV0(n@LS5f*sRop-d=)lZDdDT$=5~cgd*}eoR;!SUV+cdXc19s>Q`Rq9)hn@^fzi*-1~RbvNlaK zd&Bncs3n<}nJQz47&x$&#`bg7!vVgJvIH-~A!+n?V_XITlkORC@xGi+UG^oZ+FDaB z#U_?egfB&K3<*zK5^WkufTuXA+>!lEugA3jTI=L&^yyc5sz4Mj@Zx$dk=_(yCz5Hd zSv88gG;V)m){1)sW5cA_gMhRQ{taO4TBQILqMV+5ctMsjLO;Tf8uR7YX5b8G{GcZX!eU<0aPR#<c7{SEmI&5)28OE0M~hLRwnU;k5_(MJG|%pjZY-V0UPc_An@O> zb!z`ls<2pGkxeFzQgA?>au{=gDMLzmC2$cEH9B~cOecBy%FhAdJz3t1%dv&z+pE8* z8f-T$i}J`||VqWrMup z3LO|GBtV65RTpchdigiFx`1LKNOBo;!pYgg1l$tzI_!=nDJd8-5&x3I5?+1Dk1 zvZsuTac$NI%cs{^yeI0JM-NZT}U6AzJJ$o7|pf0*Z*u*^z(fp-=^nl z_!xaXj_CDCdT*O|JZhm*arK=iCu%Y}P&3f7`X# zipB}%rgw|AXzSvo*B<(!`)*9H{buLs`OVfJY=X2fQG>$I4ueW+J4B4?7au%n>1i?SCXtuJk_H59>RF8 z{YIZ&N145ToN3W63LZ1Me!t!;shZ+jiKc+7+c7Kfio#}#j}DhU|2?F>Y@qzN2Yx`L zzc(@ZRA!#?e%3-nSLewGa1T(NCTSIEAa38EMW`dPUn7#43%~Xok^RmtzkcCJ!R3yO z#L;KJKtyvn`--2w*vs88{SluX=v->eTZu5a|FwsyI*(vrez%Y>PlmsFoT)1$x^xxk_$(eZGNi4r;~8?!N5{ZqB^>xOwcy7v(l?B%5&h~8Hm;ToIg>L-IF^2*6 zSYroedCvH(sH38YUk76O&%uaa&>ZNb)o(={crE%p=&6!GjR%Bl;FBb*b7ru25B(>z_vGK+Y(A^J;~m9Vv)?W`5|URyy`2c%6S0s0x70>$K`7e{d|q~p(u+<(h_QNqCl?rn2bu4L`MgO{KI~9kk9%vet=l-!aO}s9! ztq0JhTeHXSZ1r8{WgdMj?&(@@&yh^|#u|yyyxWemp0<&Twz>I!P1cZ9km-e{-V0+W z-t;i*6gzP_a<>LXyoLdQXq$WBZdq;e3fHY@|FJFk2|2OY#<_57(~S+%d8e&VPt6h7 zAiWvrF!kOcue@F|x7p+vztG|ECy6Y58tZ!uLA1Al&PnT z$Xf-bR}B z;l$>=rA*}$e=N}*4&wK+V!$x3$X_!^JpL!GsPG~_XW$9UL&Ya@8iV&5q%p zxt4&e7$<3l#Q=G;oW^=F?`dBwTkYO?)d7#|!oKa6H?c3i)Trbi|AXuuL- zy(SX}T2gSn@kD3pE-k0~B3$%BdIBf^9!deEHvSy<` zqqoGq1s?x&d+bq!%4QAJl(+0(*F2{N!$1`Ksekzl#o<>w(K;hcXoxvm$97Z5UY0C3 zX6%~}+4T9@q>pQ=<0*DKJB<9Qsbvs_V+f5utaC-S1b}M>J6o-{U z!)7QqOOW9WwI^nH;|u3=0ekOrZU$E8knVs(>6V*jE}BogWAG?^+Nu}x$y+@0)`Nyx z(y>boO=G&Uoy~gAdv+rPROVd!yP4TPj8#4%^p6deQw2OI5b5SBCb#5c$NmyFN% z9rd4+i!l>|YuIM#eyA?F6DCV*{&cGcaW)pL3hYJfcO_>AbcCG1);~7G4#rMiZDelT zMT2VH{7bQBs~+@|uK1u{%H6(>(^6Ax!}-g)>&W5jrLudtp*O`Q22)Kh!pst!k>ltZ z7hjj^yBlPZ-u5`Ap|2DLW`$;b21INt`xuKeeKrsg?{rC1aoh+zl8(OHH2a9{xGnbJ z+<#qVt8TK{(^pVsjQM3L%STjgXm7+(>3IFgsqBjP`4$_xVT&4w$OXH^M> zekG&ZsA+$6qtj=sqs@fHl`2N_%1shOQ>_q4m*CM%Wa(-xwT;pr4^?e;^iTv7B z5oX0MGuSI;!k$3q?w;v|8aBJLyj(`nYENP|yu19&JJfs&$};%jC%)zIEaT73BkEEH znUyQEa_50#u$?|7^V0>3v}SXxJLWj|!hC(gcY0x9){bRQQ$H;8NlfVhnGSi@mAg_b z$cuOAg4Nj?Hps~wQs(00%FG3J%l8}H+_?%nnE%eG)!yr@{mt@|x4NG;4+J597?+M6 z5A2d>J-Lfx(cYCsveQG?r!gnmNLOr7`i?!?h>uFp@s=h*m7QELGmRJ~hUlI=X!|ca zVGQSOhUE+)f^AQ{+S3NH)d(7a^0DcygOyn%YH{cO`mF43Nzts&TIHr+bjOAN9$jb_ z^kTQk^Ls<+O!d(bxtZ%ow8nY#2Uh=e%4Snobm&wKz5x1aY|CkXvk5Wrt42)!6c-%r zgCE5dIip|osbn|KKk~(oyX(I4eC3NjcD{4?*TI?GxY{0HgKrj;pwH&nKIrVgcD$J^ zpT8Zt1>4<!@XpuP|TCm0q|_V)dHOhHUWu(H&cI#}Tcw zXYW2VZ||JQ`b96(tu&pkvR$AKeQxdOgV_8IeYSj$VEf0bYwLn_h{`hFrpwzK)c(7= z)W^+&jr+gc{plU+58|f}mo*Q9Up?;E^53mx$9o<3-7xg9xk z;UCa{E_mwTyta(6Y2LiXCbc%Y?!SLh58JG;-`$kwUCv!4?u(gMCM!*Wn}i3N)s`4@sAC$)eV0l5qHN#;!&^JauURh4!5VU-(Q zk({4bq`NFELBPFU6E&{X2ct_EGscPi&Zn9PSedU6<48Zholn96FOPBS4>vBiYRa#H zYmrim)#h@xXOZ&FE3#}j?}NJOlc2-F<};jsz**SxzL#TdyO{jNPh;<<45d)A$iW}|9guit&^-E}tKZ_ica#UfdYc<}*!m9@h2G8FQaAV5B1G-V?IZwOSZ?GCN?d?;XL6&? z=O-@8DyAnen|xL4C{HHT^j)XZ-lCa{ziR#M*IS$$cd9jwhY8YVzuu#QjbJTBC2OMI z>*C&G=L-p(EGJ9tEDFUwU9Q>kEA5o!F#D~54}EC*mHh@E#g+5f=8YSiW+UWy-W67# zw!&FIwS#QIvn6?%?dwHoX(s#AV6o}o^sxweze6j*qhCNlWV%;FLp>VJ4+v)!R(PXU z&j-5E%AQ>1t_#bQ%%i-cHxlnAexz+5N@SmW?gLN^>Stbm*QyR*h}82s@1rZt&5y0~ zL>bf6RQmsxQG-kxKm8evJKvTSgbjku55l*OH{qJo`vDhcY+L7@@tgjG(E^QQ`_3ij zeFuVm-HgpL7q8gNybD$3U4EQ2vA1RJPi#p#OI(DVm>p?qqV{I(KzQ8Jx|o84?|2XD z%%fBNz_5D2xyHFk)pTmqr!54m={MNGmg#rc8NlPj=&)(K)r9jLNWH+923#a7-2okF z>a!eICGLV8FFInxpew(LXF0|ErJqT8_Clv{mEJ9U&xVmTTD?HHotw{PWipi zi!D><^B-f^kXZrU%*}7R*blHrz2I4&jfWTIcuPU4vpszoza_ftnG0FA>;4TW8sE&f z=fR<}F1qW#1bXLs$NnPO{S@%*@u|}PLDRPfGQI!*ck1Zo#3@MSvRsGVirjB8bGPNrn7PfEU4GN&`}=$E%WJRK^Ywf` zFOSFL!3=(Wb*no_S7+n3@5p~cllofoG?=Leq21bo#uO0kim22&~1CTBYd z1uN%FfE?L~HV$PI30rUA;;IOfOM0|l_Ocp36sSKkX$!31IOgwd#=YL%-crdkIPZ$( z=ubx_0vCd`k(*JHSgIb4HPs|82qPAVsdsY;@lnuiE(IM?G|Ok@uERMd7#BH{ zXEWNTy;B@O-kU%}r$!dCz-*ssUqJX$i4x9?F_6ldOvejvW)n5XK}XlqhJ51^P&ByL% zu*Q8nK(9t!yI=EqYv>=^sdFVWMTyb5wh6>>mfP4cJZ3h{#(TmXJ^Xk9&YmFZ-eUYj zh0k54{kFh^nr5JomVW&l`f}siIR=c_B62<~6{bn|@MR8U@cEAa_6q`>UVp5BX@Tg zyEx%x9r&hgBeee}i2E+|1hW50zwHRIYh(Hr5VH9*YN9%rKx+i6-7mk0!3KNl?48hu zQDpdGcDo{2b5`>>o)ssEf%KuvNx@wX0X{ZcADCQrbLSrS-IJY8F$oX_e?NA^M#ce3 zB9mu^X<;fqo9@2*mCf7k2OwT?qUmDwY6Al8e>GWvgHZt09 zo8$6qeTmTZrM~e!Sa0aI5%S5u0RYGk+WQA4HE57<0P6j_mbL4Lu$JUl(vh1u(Vd~C z^}>^0QT5pl51B_F`Q8nceVT9Si@5BvpHF{Zks=yhSKMs&p|*C#fqyJOgMNA8=_zec zZuSw(YU$mHO`;@z_PZ5ab3POZkog%vrc-BlQH>cq;`(KmT&oQJesZ2j1i)BJ)OQ`4I{4bxTX;=4;;o+uR%Utcl48QeNb4sF9$ zXmGxuxL*LU!7g3DRwEFUIg*FpX`U}PgKYupcYXkrNc7scnN?&6D`@t0lT&Hb{h1|x6c+>$kwkE3YAb|aW4tW`zpEAg|8$l zu?CfLIIT1c^_Xr5gM;K|6jQ-0=>g^|!W211|9Bp^fkLv@$f52%01 zIQY+7&{%m!POOwZPKh-?$0Wa zli*fS8|>UO-H>q$(pFC>tzU_~gN6^Ye@5$vuNG~h1)yE2rW0H<-lFAd!Z(MCShLtT z@TATCfXQPbj;xjW1ps73AEsC*xv@&aZ(JXSaPmd6_h>;*fx+Vz6S&$?#u$r+Mv)sr zQ!_=-O=y!H>IL4#KWJHNpUL5rWPQgqrzT09mSS2JS)MwvdIaM(qi4316FU7>aw6P| z+E@E~vvC3SMrN6+u2eBT>cp99gHR4dA@??-jcF5D$6Z1O(afd!v*+aWZ?*qJ1K_$1(OG?&3_LoClwP# z#;FyO&v)I{E@Mc(rm{r&h2e#<`<@s3$ES6cR+Fho=^nc-Jb2KfzH9qA@iiA-qmmFE z7Gf5-q57=upsB{jz2Pl?Z|X%E0IMHJ1?|yvI2aM9dhZHr`=h+4$cMS0 zQI}X`@7w?~jJZ-If#3ORgZZ7ioRQmq#)LdRrOi&_!m*mKLHUSHJXh1|;pz~-O6JIy zOIIr1A5^>0KCdQ4J^Ds0_fm1YoIC%t)3qB1b8qIY6kljB6!7^SAr|p!?8dd};w#gK zj#8Tjel26wA6jYG{ud-)3&eI{;fzuz69c&-(`-ckW_bXGm!y#xIoyeW7Qr)}RZ=+C zI-B2#v!;m)c6zA0vn83m(@7-XqI{5EfNx}=`^KoVna^3aJPYl(Lus@ivnMs_lsiDy zR+=MhuSXEO7eO9W2hO&%L6-)a)nq4Lj;;b>ZCCAjrP-_6vw}KY8_AK~J}26W zuR?hY81)wjwyu$Shd7+ri#_g8|g$#Eti%B)84fwB+}Op=Bmhwni{pg<#b9_ z>~-I+f4kfiBVR{@%Me{q}%b-BeyIen_^O8JG7D?#=Y`S&(zr*1*K{LeGD!y zfA_0Sp@5(M%dyAeW27Mq$UOD3{Uh#sX`7nO{RZHHpXqE%$?<3P{smX<&*a!%y+n=N zuINUOMO{85NT@x6_um5JcJ|mh>^#CYXEGfezUCIcP*%ShbELgMGJIT>;n^zI$C+A3 zYjb)8#i3K$R@c=Pd_X^IZK(BgvjXu!^@GATI~K%i@wQuV)TT;4b%YLlwPD|}64cm>YNKwCsM}x| zO=Qa~a8s<$dSs&F&8-XUQ5Pl7e7`1OJ*vs2bQv-|a|9l+*@0vch&1r99zHMm!XDPE~B z)VEV9kyJTmqeq|V-PNH8Em|I#)v1`=C%HK! zZ!_x498{GYDGzCm`h=Zj#EEt`2!ykCiyV0+Bq1vojA!w{`?{q``1rz>WZCtyLw(E^ zzi~_bGnR(@`epqmMavN1d7qy@&#Ae{0_`a|~$mVWMop z7jwaq)rE4G_#XsAxx>A%7yxT~Ay{|QE&c4U+6$FrY0r)yMKD^;AsUwTR!Wii&ca4U zSA?o7bmP|7vWG^O^*s626SYlQ{pnmEE&7gu-x$Yb@H|p)Qg_Cub-p9}s zhh`gSSdOkBz<)S&55_7o&;GnFTVh(8;VSuoes6$1j`hOgo!l-G^}9MCQZ4n3_ftOJ zIwxdkq=C>hqem-9D*(Ni`^_Sr_{D`1=tMGR$vJ_(O*lQj zE`3B?XOs8yNvZ9w-bY~2mxjlao}1H=^x7p^phV-b$6~>wtaOmJTM@0tXrnkF7K=?Q zST?^_izvxlT?~n@T*Ns5k zehi5XaUr#A0knXW+1~P&?(=?gTXd)Cf)yk9rIgY0F#6Adfki~8kPy>a?Bi0dmQ`ug zoXK&iM5FShCv&%A$sJ+>wyi zb@Z^!=!CPqSX$B?4@zTdy{U7ScNVm?3FUJ@&R;nLowUYc~z(9)ack1>T++ z+0BzLbng)+xg*zyYPgFTa_(a_&+2`Dsg%2C5MrhE8ibleRhz5aoJ+IQCviTi3T_H( z81PBVU_kBMWnTtYVL>3YHk~iaIY>r89^`flb-*#H-=H-%eI@JEaT0b$@78c9S{ltA zuF>|1{bw>Wl{8wx)Cw`JL+OO&xx^mw_SEWLU?IBcn_JODD#IGC(?YU0z^ zl&|)M^TuFcn^_(wqfj{OidTl|a~spkLrI8pv3oz43o@=JQYJxHXqPvvFVvh-u^Koo z++1w?y52h)eD2E?HzIZxlha4#@io#NOOH5do)Fo}Wm^-{9u7){`HdAbOX^lho{6+R@I{Ba*EvFLZy{~G7~(NgV>Y+ z{sYand81pNY?G9#gNYkTBVkcC*?}B;klk9%V`O=hg0q?=bv+r*wuA?_wO!nOwNEs; zKm_&&%AT(Ew6cvX46J_i?IS`tHdFjJ{q9%m(p%})(G|SG4EVsry zS#kPL(Ugn#88cF=LKb!yc;wra3{6xYG9M_g3&=$ldbOOi$~={)lbAJE;A66tYZb8k zW%-?X$xX-fZF8(!s;jL_o|J_JA<`aaA+MBHU|P>!&e=vvkXWE zXs8T|pikBI+0qkHky($7YC=QSzTVl{PEgH@-=q$b7O6I2ce*p4nB3c(WWHZgTn$`U zZY1>h5^bhWKe{sHX|*mtk0%@tOdPkL&c5>PZfd3G_*Z$~KCo_YY zc)U%&zPO!-7+nmoeqA|}bGtRgKxNy>0wIxDuBdOLaJKpl9f=%`W|GqRx;|vW6@6y% z_)C}_ADO?xjT#DUkI^b@zWTks^IumK>Cxw=_h)-w9Gdh#xBnSSb1|TYmN5TgbYc?# zS*2ac%IY}(h4|{}l+^FZGtTdhpuyrxDQ^KC#rHlZ*IQ1=1Ij?tAVOF`xt2M1%{uJO z!LsfFOBbp&fp70(Mnz4;jT4Fg!$p)B(3db)9FFKU=QJ%{wBwVTrWeV3xpiv7!tZ>tq-|BIyHy(jFt>ge z4gT`E2OGfrcHz1Lts$TnZ=d}Sw{YP^iB7Di@!)D~Bct$3VvD&Qt@~daS#QN!y0hs+ zsev%rNf_G7Y!%_h(3HQKj7fDgIW~dNZjb=*C4nQq#`j3i#l{NDchSy*%r5Zs*d>=V zK*MDXJmLe(V^hd_iLGy&0Xui^Tq2!MWYEp$zYC24_}h6N@+!!yJ?Ur3{}XYzea;+m z&g3}BWR~YzO{}iEOew3|gVuzq9(v4DK5Q>UBW_s*970GAvac*3_5gK5Avd(EPp+^( zF~jWCmjAk0E;fPvZ&Li8FVGQ$yTv%+W{wzk>qKExXuThSk>(JW!w0%_6;2}FYpTN? zKY?{aU59*2fGx-Yg$J9%%My;(TMn;QCl+x~@b}!){{X{oEALc+<8ku<`D^1PQ2ThP z$s?)JT3TH}e>~e2bI3j0=e6yjCVd{SyE>>LK8o?vU4}%6ytAphjqf#DW^}1tUMgCr z8Qmt?Kr@l2CAmIOdMrp^Ydg9{)T}1UTrIezCvTCi{A2Q;GgBB|N!0xN~ucmwK{*A22ppK)rN3xIsM&RbBsVP#JXwl#DfR9GKh` zSe+LZ>#8Sy>r#wwu zz&~AO40A7&LlfSOK1b{)Lx0>jUg&WcFqk9`qG!0KO%Wp-?u}dZe2i(#aMUzGsmKT~ zuTD;tx7IGlwy5@`BQ8##sD44YWj&_T zDbGgMQ5S;K7&j2O+h<-RolsSeNXc4m_M*$LWLqMIyCXEePjq}YJwFs=q~uNrMj(6c zL)8aFu3|6Mdd~cPhoG>2FspPt8Bl9cx0m6gdbms8p~SwHBp z0Vhonph%$*k#cpwOB&He(or|y2WIuePn#QrP}++m>(ix$ncG#pawob}CVU_u2{1Ts z#XPw}c;Z|}#<;RC9_1E$v*>o#L8{%7b-$?8(^Zeo9BZC#Y&(^iZ#<0YQPh|@dO!JU z^+37Qjpk>UG!0r`CK%^4ef}p_zDvgdL$^`TjohLv2yePt5y8pp_wVOppf1aozD|Y&_r#7a(QuSm% zwYMi_RLIKgDe1h7U%A=1?O~BJZjamTSeCGnW_$pFjU}ZnRbZt z*#d7qgQ*(<%4fIzY+Yk9xoYf#z?#>EXB0VWjWVvvqM1qA>YV~DCY;K(k|=B6;F0Ot zp-4ova9;yWmvhx(RVBE$CiK$YSt0b99=*th_A>UJe>B6itp>S|lv$krg%HqABGjExPMI&Ae zxJUgWG2R5eJg>hsz%Z6A(cvE0OR}U1{$|`qsvnEJ=iwrB_$PlHdcNsiN@r&PLwgQQ z#cLPeBBJl;a#R`8z!t&3`J)H(Lxri`olG6S zOq?f8yfacS?vzwWAINt<^C@BMQoLT3f!OHIu-&?r%Yfsz{|X+b7q4J^DCLn_PpRLQ z=3(NhNw)oElzc1E>$OXL(PK9~J6hLasj*5TwSZRoJD0Jh*o~0~MMC2ybeq$27kk9n ztB#Q*71_yyw%;C|DYrH=DUEHJQ3-HpP5p?pN8vc6sQVS?1DGwf8RtDa%x&wJb{bU^ z`LLE(lDeBTs;fMx_@U)x&(@f$RPxWT=YwN@h(~A3wQoqf^y*P>G#K>SYF=uYHX3At z+$r&$)gq>>f_l@z%Y5FYW3%v9byH&~v^ni!OVh}#m|?O=S^Q(LcY(8a%_Xnw0DhRL zJfzlcz1QJmSHz5n&6%oG;{`#2HnYd$wGFGBTwh-;b0-K}`6+%=QZ;op zjyt3KxY$$dzQ>HO!!`PV>WmQo5Ykq+y83RO76y1%Q`<~VK$`k5Od-37`Aar`@uCR$ z*L=E%^V-f=bZpJ}#6@xC4(zRdeE=hD+os&EQDwd6HcQT6dq1ENa+4yaiY=9Hp4{Oi z2Hy_T^7#u!ght36Nx8)%T&t5bH`W$wvX_#5>>{&WlBI(+Pyz}=XRLZQ&s9$@-EcOx z1l0WquWr}XG6Y-jB&8?K@y!ZIHRGDIw6@0qas zGaBy?=37pRt}Gu~%f`E{UMw>D`d`8HTVuSn5(bki(LdyL?bhW?>)D43THilppMmee z_+(8uUG*4@hTX&qdYi<#Wa+{()dFku%dRGuxC~vPP3!nnqxD+P{A+5taoT>ZLN3WY zWkBONTuZp;orj8{h8)F~R7x%C+)&=7Oxo3=A(S(rIyk&44DR49%(+^-5Oe-NBTpl1 z*qF~%+4hJG@dWZWz!~pL!#V}Jv!trk+p<^#IinnD8QmwRAr2{J@ogVyr)ElX3wdRu z7iaB}g$y-$aOS*O`8!a@VA9P6wYoFtgP*Yc`~p{o24@G`5RSUPKQjbe5x#gNj??N+1GCc~To6ogh})%0yWPd(KQb)y zy3-m%&91jg@)j=Oj-&-vcVxuOS-dwTRbndQ9$R{;YWINeYhTsAP#r}(D??{FrK z`k$VJgrI~1F+yvLc^M+Z%~r3!FlN4j7!R``n7J49i6$omsMjCM`!-dZyq;YUoOu@i z?~Js$hI{FllY|%=QGdtSH zBdwrNPdy0upmDlp$)N+FQo#JnL``|_lQz`e@)6_PBNp*HUnTAf}WyupK|m zE2ub~2-17(q1u0Sul(JxS8X3-m3oVbW4Ugk*W|1eh3AK;$0m?O1Dc&I`FY3St!3ZV5I|& z!p6;+!eq9^uPl$l+jSqnwnSgC0iXADzIKAI;7@+uOVAv%UdZe17`^QRXM@H=*aG&Q7CE+1?Xp zqkoDpyzCR`x0B zWQch5DW&^{-Gx3|QrF0|g?lL7Gi|^n z%^EK@zs8DO=ndXg4t-=)0<8uAfDy`jkFR1ElU>iI1i;jQ);s--j=>Ns#Z%?ES2c;t z=4HuYZLOc5VPWqBmg`28vKSh}{p0Bl$E_CPZ3prk1)qrsxzurbcYmDChYK0;g4IpVc9CdLl1m!6s?{awcP?;Riizz z!1!UzYlo+LBk^%h_F^Wk`j;k1T^%+3U?pq$ym9s|w7^3ef~g97L(i9X8vLM{PCS%t zA;=H?_6TW$Of_VihBnsEtcY!&bmcbKTA-FQ_QFhv|MU#}Rn@#!@syPxI#E^joK$kENf$o(1HQOeGR~^|;kwTf$FQrX;u31~Vq<>x zvnX20^x?VgO&{QPE};HrvG&Er$2YR?Q0RNp4`(>E*e6KLUZ<$0-G*9$M0J@_3pyI3 znSy;3uqp?pJT^78ho*zK7kr^V~CrORLRdyRa76L|XI?7WTYjuu($&V97 z(#^5P>{d%9q2&`&lut`daczjgfRsBHrUy~mk5j6J4N0yDpcmy-^%^60X`-XAN(I#z zNvK97D8=(l+R3QB)cfJz?Y{lg}yX^P>!;0d-fU99q#VSh1~KIC}2Jn zDb{7zOO|5JpXEh&)pM%HuR1CuxAdL2-TX|fCpXG1N$D>xuRMi*l`TBy`0c4DyD=f@ zxoyG5xqezo6GOkS+@t7U>35Llv&nXIZq;Gv#Mn8a-PA_q^dT_}1`yOZo_y6d-x_JF zf_vK2+M2aZO8>jdXih-s=J3idaQ8v47&`y3f*oVGmh?WT;6ZsFJw9eg9`f9Cw+3VR zL9BoY_Yvg0ZBMzRU+>FFXn$iqV*g>!gMiAMr>;^I3WOhY!_pJ7pRa&3vMFt#loP)H z?!Gzgd)2B)9&kXNQPVyAeqx#>yYi?^eD0&%FCE3kc?T(4&$O;|><7w5Zeq?R+Jt+R z@u|axk|(%zee&kdv)Imt^jC=+RE2S;!M~h2u9Xhx-lYW8^FTijPe_aDdZv;jEW9Yz zMND6&FB1_Jrn|~ykGz3X*j*12jx*E{=Vj#@9ifjOE*#Zx`Vv6xO%cht>g!g=oE_b` zYvx+Od;rvD@AK)>c*V@4tR&kWwpE*AqCZemiDosJTU{39DYWeBHFvw`(|Rww$aVvT zD65vLI4gL%d=sH(^l|cMG>$9v4*ro?_JP27(Y686qsp5qG5WH9@Q%Ghf4?5@fjV#U zpmePG30@L~t9yKzit!4YIcOaH5eurgu5^KuDQ$`kX&(~3~0;_ddrD6Hrj=6hDdtN-E@`pAP1yON{?6ATxF5M~)) z`jPhY2h&d^2mX4{wxBP=O7&6tRVlFgLPY!m-gC~-w$3L0HnzR=p9X6qk8fd+GA*Tv`sRQhe(nb;*CK`JH#m4kNd= zKOwg8qx}sxj}$c@%JK@1!?vUKFTvx;TUOrew);7ezW3pE--CzIj(;4>l@+E+c9;dWWJj1>0goNBzgYz1u zk(Y=-HOm@4XI+7SMkGo2=%mlDly=tE*C(W!jPoTrg-2noe=_C3+o}@X&UG{hLeeec zV`ipY=s<)1_+r`>&@W6$jMe9{8qL379i&OTPP5H)qe*L|PZxnm+X-!Aif z?BylMHro^n#|Vd?OlbkaY&r1I4yO*348(M{zvN(`d-C;Drav3hLRK2qdBw`xA~ z1&MXU2O(mGr)LpP_=FM&?^YFcHznpKXGx*R%Y1}S)XXPBW*vu%HevUlS6wM&!|AI} z59H~5AvN5=2se~L=Ywg8Q1PkiW2>G)uA#1arhmv%2j){qh0HgcU{Z^Slh*k7$Y15_ z-#wo%zBIOu{W4iULV}Szdlw9k>$#?NLV87&k@koSo{fGFzWgTTkT!f4D}K_Tf?B6_ zJ4(|7PCT0p*&lA2t^vISV@W=`Vr}dk++6!1c0ew$0S&k^VwPqqiB}FJiP<=Lmwow7 z-;tl=Ok%1=ytaj&7^nUDubYQUbduGCKHD46{VqC)I1UGP`5(eozZF|Ogxzhl`7rD# zdG73IP2%2yq#Jr_|8)o0w-IIq84{NZnX{+MBWz~mUF}lTm9S3Vh);|YALIxYgvpo8 zikie+Vf4)MX!yJV9^nm8gQpy3N$;)M4Ng-(wW_=j#2Dr`rx%rVTOys8l`YIYvHO=E z2>7c+$Ew%}n|&~8s6Ggj{^*0Jodx7yD5Tulu0J7-A{4dClL9$#VE&Xj1o27fF+=}1 zI`x-*iIK)RAu{O3hn(d3q(d1oDw~@fAK4x2{Fvtns@hWtq0uiB53NZZGRrq z_|B5-`)6ApxQ+Th*4!x$+2-(7L> z6m)mo*8l(UYzZziA|CKR>ftL1DI()z_FA=tHlyLs`)cAWbz@kcAQAgv{DCjx`AnU) z);arApJ;NwY|Os>d11{*OL9PG!vqNpf@n9|bL4XyxWNBo6?*gj)(>MRtV#>$e+0-c zJYf}%dxo&tE-bq0{nq|dUj@fgz_(R7LYhZ#JXM1(`@yRJ8&2Jp8j(9wv(UGFcsn~G zy@Q%3G#i~t5#zU|^~yBd;Ch+uiAUQ80SU5ycQnyqGDZPh?g0O6j~F*hqNdQ`kb_D-akgKXC}j zYGQLiN4V$`Qs5i*3zP-wd`Pc?d`b_C_P;7twPTS)2~6eip41&_p7Fi9qxz+UbRy`@ z<}#-L-s*FA$8I}qZOyn7j8Mm|lO^8gZR>xI)Q3HLn3Gku04`8zj#==LWLev5xx@@- zg|Ckyvl_XiA{>lkuLDL0NaIj4Sp!#*iB7}$V~fqhs;+6)7OqJGEg7w zsl#9sVXu^DJs+!w=lEzlLsn6~YO3rWK^&(^(<{;z)+4ak8{uVF*L^^-SAu;hxkln01p!=8rsx)Wtnv0m7Yu+hPjKH1|AHUkZ> z?-MVWa3Q_QZ(SG-o{Q%L|Y|*LZlKCxkU%r>g1Cw++6=rvTNtA>|qpRvPm_7K~^Y|LQrs7ufU)^Kf zTsu19Z$98T2o080oclz0AwGM%_AXK7YS#+{@C5?&kEw-zO*%zLjVSN_#hiVhxNYjw zwtEcxC2ueX9Pc9fTGEqx#eAG3!Me&_*%czmXER)_jlH87PQi0ieT}skvJ6a7OkD#@ zkrpj^*z);o>QoKH0eTOIRO2SGM5Ds%CiaB`Cy@nN9urq}_O4NV=I3C3zmkj2SKm zTPhiI=?`m(A(h2LBKn-IZEc;JFlXnUNIv-r_O?W(iK3{I@o66tiH(&O{H10(@udSEpP~TI}@^7jm{aa ziLQJ|7+?8ajrFE{|N8HhYuCAT@i(!~7N=^-0=nbAg*mo)T`tR?F$Oi|V)pj18(u4o z_$k4^MLrH*f)>>TYw$z^HwC|$vEMGZcW7A|k6_9STfEIJW7T#x`CLVRcDYETuVHME(u2w z6kB4gyq^XApy|TKW*-(&Evs5%Zs6)Pu!Yv5gqrKXOPZzE)?>_Q3@%PvI>vPv1e+^+ zlTtBk#1EJIlmTN7dC(fCC2Xl>55)R=4(TwP1y^@=gzSCskKh#^7OfPn;~p9tJPM)2 z@qftF!f{rOoM2rf6dc2rf`x3?DLrc4u?w}dCWQ{iII$HAn-6o$<3@LeB!Mnn`C3H3?2 zN?coyGG090Zv2}5?hxOsA$=*?m~^q+n2>6HTZE@fn$rDQRs4QtiO%kQYt7_+f8^G6 zAfH)(t0Lpl<8CW_KWA?6+0-q=Z^JuvQO)-VAXUk|K`@y<6SciJ+t&xBGx20lUpkGo zMo>g=#`KMabp3Sl;WnLwV;KYTN~6Jv@?5W7Ana;Yhngm4T`Co`c}thITy<=(3w}jmm;dqwBDnNzE0^SS{j{Nv}T4ZnN)s$V=ub z9J5kC(B=#6@@jh^Ik__f7hfx|g6~p(DD7<`%`lwMVMy2ltPID6nd!2cjd1lFU42;? z$kuC3C7q23FfL?0bUXzYHu5Z0%g%3)B67wlaIs|p@4IJ$WUch3L+JFMgXgEi#s*&> zAZkGz!`)xpA_AkBw~e=KMjhUSA2FUCcz3ApmcD5;Py6f5kyAQi%E`v=h3?YIM`VAl zl>A+}0KIW!+`v4y_hxPt$bGh$UQy6)6*Y3urErIqpTL{q?`8YgNU^2}-PsxPxllD} z&-tqt?J6w*m6RbD!Mzb}q|Wj}8%>w43&c%f#Jr3?HL`N^QZm%T=bbv$73`qBW@aPH zTyXf*R|G9gjy6d{-Ty$XJ7Cc8Ff>r5N)Y!O-zxMJ-G) zF-icvt?1$naea44XRq1JfoU9d&*Hd5LOfrH=RgMoLiXSe1*Upr$*#a zI}>21>$|$}Fm@5%NmO^^LltzoXGgTI()kurYYX7A1)vhU3{eplmMC(bBJNMv2>G zuZG@S8O{lti9pl=&IJ(0PvYnGSh)o@PArm_qQ-s4fKE*$+Gwaa~n)nUJFb=kjl%qCuL&CS4dd`96&P3Ddl_p-gD-;xN& z`v*-?dtHhQGZx^)!6g|Vj^OB1Ajgp5_e;iIMVNqNZh2#gCbBqkHkb$dCm+kg!P!r69tpM306O@fo@q zaEZ9EI7YQcI0dmA@Dnb254^`r=%XT83#yAHIu+mQK|sp^$Zq`N-k*T`tY>u&C9&6IXdTi1-hA!g6x8-*1sszZo0+o;cKTI zMM&lL&Q~2SEnADg3u8IW4#S@Jw!W5tc@n$~H#Y?--iZP7RZ8d_*?Tukm20voc^)-A z%iqCS6f`6#Y&tY^&``r_^m6Fk2Z~>LdC&K689YDK`&2p4+lEi+S?`LfQJ251^nI5I z#>Wb6|Is}`G*j?M7Sw3hN?x~iL00z+b+pYX_y;}}w-FD5(O`j_vGARxN;G?QS)LTS z?szGKlPjczpQeu^*~`Qz%pU);VTN_NM~X4{%@pzd9hyG}!13Npf;)y>;7TK^@ zHff4`*a{D7l1@FJU!h5#Bx5a*5`nE|aieq;ne_{;v||DZcmN1rNmbN-k=S%16~|gx z(HyTGc$BRkBxw%${jcW~l-_SN6!1cC_ITvZ=*B>sATO*$hfIQK=8#?~IWJ!yuw%FO zq8-o6+o$0ZdJ>JcpYJELU-YWs6c_Y)n~EgYF1IsgXD?+24}03omk$wW3zzw*KjeAb zix@naM$pxwCgXJj7=j#Qp3b%tqrj#^#4LQA2>XRNlFe?O2?nz=B{f)0U^!}L9N|+)!HZQZg)_; zn)V{KR=IIv5Mn^@NH!4Fg#%xLx3RQSv=<@|1EQO8nPJlbSz+xXHsZB@IKx7P&ztWJ z<3mxq-5US(Zj(KwXMD(?Er-=ac=LF`PVHz3AOmXI_m5r5+N+(xbP}ufZzxW`(bK}v z9ZC!>$_m))$aDm)v?;RiB5>FY7rgrh{v?>?trz-3A0I@oAa2G%H$@~*+Hy*~%tp#z zHXn(@ZVARUNKsv<`Tju2XRMkzdBXaG320q>-xAr$rTsN<(r-eI7|)kH&~(ykkYmxW zW?dVb+zIa+1GbcpnF3iGHCUg<)gB;uYj9Bc(@tx;uL65^WDee7GaCym*K)(R;h-z2 z!T2=@4?qrdf-w8;2WwH8Ua6uY66_Qu?Uli)48axaouLncfI!;J&|r<@yZCG}w|0}9 zn~Doqs#3OJE~V*PFrf{(L!JoU6lr-+p*+sU=h4$>x2%{3`eLGhV}5bx)r6N0h6VarZp; z#4p)@e8C=G!gu9*Kc`CR#Um=BpQWT2xYBn921a;D?dnPB))j!jk0bg=?-hzv!-0YJGvS zSC8i%>gK?o!<}E6lJI{-pyu_dG5fSzHKv0=*p_YC-sWyz!Bv$Ywn4Ga7eeyrZ;zYCW1D!V{k z7Jy)s4e}qE`pjO*0`>%Pr^{n~h**1>}a*?B*)&jY|+}-bbT6VHWB4=mz`7vMk z4d|jOCMz!;OXa!-SK1xFNsh~szSZ2Vd~(%Nj*yZ`339XuX4REth>av?Q(_7{Yt7+Y z0E!Ig+c1s8dN5ImHioe&E7GN^1T5FF@~M@VsWVCn>|u$pa6V_PJrJY$_xEzMo+|hd zH7Mx=fj}sH783Mr_=bjES_UG++TLFCngPAx=YQag{gQ8*(>^LVy>Pt44ucCWXlSM? z$gD1BxSfquXORRJ07YR^Ch{i3liwW8c9oT`Xma|V`xGUT9ji##3i<10%!sf%S*J2i zHDV=@I;O)otU!@~D)Kf`ps~WU^)v8KN%FQ%KJ$mjP3eE3fK!0|Z0$fde?IfC)KioH zzh)FqIg;+F^=%qpVZBkhf5EHWSC(+6Yc8b~z$Jrd#4epl-<8{;bU$ZW=bZXeSPU@6 zo3raK=^sAhpx{q>;mdrno;iIZJ_?AwacKEky!b&bIIrEY`tgZi-Z@1FUj0zxX?gPp z1>7*i{(oR)2DS5_vcDeEWi^-oj+c&YyVYlYV&?H=tK0UEYjw}ze4wmZ&fl)9t3R~% z%kc9kP9c+Zt1i}w3OJBizLSa`6B#iMlW%%fe6sEBY*1VN$s_81N(bnh2#yh0}&Gvq^4 zNl^*_f&8_2ul!Q_f45AvO#T8~LBmi2^J7ePZAHs zi5ggh$|^hX&@SD!Z(c4`{xG0_g*WMNho7w+1Wry)6XtD?AE@B`Y4&lFaBT zmoL$A6`niKzr*rA#(vV5NZI=}D5GL`Veofll)jBQ#9eGJk)j+&(dvu`-Vn6I*Ugn3 zYW0dD_7D)#<*0(5mDRrpp+>E0mWwO*+$Lh{9=g9ZVjiSI`1s^MSKVH*6(m!>Kdi|q z3`5pr?VDYiPy|C4u5jox#YN^n{_V2XZ7uLu`JI#`@~6=KL^xz4&6`%q5W<{)azW+P z%>~+Ul21jF)%kR!z<{$87WI+w9F{RA*bU8JpK(>u3tVnwZZq8qCPNZKEf=PW>istp zZH~yD534;tGUERwzUws~%kzb(`xV$8|*^F2yO5wK;@| zYj?O{cCWzZ2IMu*TKiw?a@eSQ5JEPz4{M3BJNCD!g>Fcf9)%u zA{d-)XnvSHB@AI^+Y-M^`FtthTmwfXNQM5;|HI<+i_ou$N3~zwFOnCV{q(oUST9ev0xR`W(B(w*gZ$7od0ZMZ{Y8 zcqzYGPN<74ej993s*Kn-+MxaE1N%qlo^WZ)4$D2{-~!v=Wx2uEb%}dMhhe?J>ck@C zbbI)posj4F1?xjeVXii6+UMAqN=}>1Kb|C6|DBvj)4m*Q35R}vk^b$&NP>ka;OGBq z?z^Iz?7DTaqEZC`l@d^qCW3%;K|rJ#5C|Y32Bk`i5IO`zR1~GxP(_*vO?nAcq)GsR z(0dDn5?UxBzYVMfffkQ2C zhi9kt2qA3(Cac;b@W5VBvHy54`8f2Oe+@^SpA>d?M-LG+l)jmj5(5D(zqyI)Du;kZ zC7_2(1YmTp5Yj(j2u$j!{?*PoVR4KZ8K33GwH)3T!T3`H#72?bj@fX%H#_4CcXQ-A zenBRBvtpINB#p*IxhnywE)bjGng=q&p9=%44(u04)Jd41biZIP#nWYF%w=J18D*qj zZSq`VJF4?19h2UxCvaYe2gK?jJQ#e!>M%`a*Ex^*?Dr(8PzurC0@EJ_?(jtAa$HXA zxQFERB!(n^uL1<%#gP3hn;dKX%N~^`3$wfO`r_{I?RAi=huB(lx-3IM+E>2BNb6sl z1JjPGl_UsA?ygz8_4Z2fkcO5w?0gJJ{@f-9!{Yumct8iX!?-Q_%p0K)FbN^OjIi1n zWG?p}?FNd&e`x_8Tk8jB+8d3#FDZ8IbSo;n*>T}wfv#F8g-m(@k3B)D!&O5xY_Zdw zr^d-{(Fh$@r5M@p#*kW8Slq*K{$%9Lx6Vr=oeg;(92+N9dA;-y(f)5|hdLBEL^;bW zd$Q$@*12W20YLzVkJro%gbAJuZg-~HnflJ)cuT4Tux}P>fE$5nS9ih9T^0YNJ!ug< z?YA3yDy&!QT+P+13MNi9sq&B@zbtauK4HJNuNX+iI{$r?LWm7uaT6Nf4T}mT$iLBW zaO;m*N!!l>BCmm@u1aK$!tqKh45zC>zAL27@ZgUR6GB`Z*fc^n?&7qd^geCQd%!YK zRoR&9-DAuNfrKTwq|BW#X-WgmShre+H&Fc&L1e7yrjfBZZgzb?Zc7TcFNTk5l#dhp z&M~HpR%3ftJG<8bD7Gyc6xXSbkO}GxZ&%$lty=k!7+^ET>i`<|kIuReOzY1J0QLH# z8L8g0{8RPv`M;`OJ|X?r_(>`!DJ#AU9KKQycQP(?nD;kI!4L%|l2>H0tn`=7Mc0oz z*91PluV2GXn4j0-t>c}apLc7k&nC~Gs*2l>JarZ!b`FZEL8*k5eeSvmr1df)z@*6i zY#nyRAJw2I#q38exaX`G4`t(_UhgPUDQZl%yePl>e1^MJQD*6ut4$ARkS=iTKvd2& z?g%5bWM6)G@Vg|TnL3RWW=oNKFNoVbp2Dd&kO^?$;~8tD?*20NaXnS(l|YZw1i6LlS^&mhNh z_0NNzV`(}l*B&kV$G-ZYCCG!ifL$7#CtGwyhE>s2u#Du_KEwNS`PziaW`qrOn!MXr zMA1+big+WypAQ_DggJc6%E6q{mrkC!c{sfaw0s&&D-wv=G9ur9g&Z`=;2OdTvp%WZ zQFcua^x?M;_wUqfCYHKuBb$g_CD;z#wj|RC(iHgVjU%PRB9=U^5)Ijx-#C2Kne-1N z#S1Jsx3%;9%Aij<3CV}}_Fxv$6XJU^G-dzSJwu5+Oq59YpzI9}%6U1VEc!cIR7d(BGw0IhRb{NAPzzuyU>hj}e@A>W?W+^puS$e$4D@%B^k1L8UM$fv>znRt zF>(#gGT`X*JYV*P1FXb2v44ca-3N%)f_`G1uO0Hi2J{eLu0|TPAya3kqQoL(n?Xa) z@DELQ-SXYRyK6roMU|ZC``0p)nSYw4IZw*qTLr*;T#-`Z#gUEOH76a}t3UY6&H2CzPuk0LM-S*1gBp`iL_@$MbDhixr|s z?@&o&muqytOftXIc4r1qCfx==xS$3kmj?BW2xyJGl2znaY7@t31n6cMxs7ANm+%5m z&F|s}#Y^EgQ3VbL4j^b)f^21+iFX1)#llBl=!(zdEZP+YHdahX;T6Hr#>)d|Q7DB~ zUv2Xb8oRBwg)+Si`5cMJf=B_HS?RAXh?9{F!}4-DO@U=>bTKwMdlTniBi6W{OflvX z&`a7C;_P=ef0orV+XK)#ERWMS2D5wJzuDCL*TcsmN30G4BYpde=~nzHz!gyyvnYBU#>%5F0-&QpHn(}f?aawp-Fy zss_HkAlEj;>HBB8L4bO{^En|9rO=X`14QtPV+b~~*W^N_%rr^Aw}yM@THv$w+6ADS zI0i6!=aWlOd0*IuBjHGqnK)wGmIbK;ubE~qn(U@&k{Yrt1mpj7JfVGStV3#Re4BV% z8mpaWtSg@PcF;bn@%kEG3r%#??=nO)xZk!m5_A7JxZdVS+Yk~W6+#;;ooFeCQb_nP zl0d-JT-7<|~d$K&^L9apWRWyo`GDVsn4!_y=eNBd> zvLt&0h32b@&4lQ1Uiw`R(K`&NQ8h?O8dJH`IlcG$-@R|2=G17wv|$SUGU4KTYA@bn`B)-62em@A z9+WM00vkp*xj%B~=u2PrYFCQ*^%hzWPCp7f_v>-_hkAL@eUw6(+V2Aa*<#Nh{G%o8 z!x%AQbdsN<)XTfLY#fjC4QE#>_iR*csoaRw%IDisZmD{R7b^JSjt;}t!NfML8xu?S zrtp3)7ri!LwOf~rBq4p|T#JFOQ-~A`vGhodU$Ya&$sWb-qmL_%7>nUzwQn~#xA$)P zEo{+bBwyrDOO7EiX!b}wSQbsnbQW=2nMth<&KCw$_x!u#vISf0{3ug?`z$Gc;eb^8 zJ7Zrz@=DYV%k#^6pmk6xAbkYTbN#@UV60ABPfXHli;okN616Vu)~h6*iHEVsxR_60 z3GHXP55Kd{_AL9ZQV>eP!e%bV@+lmc*4P#KF_7MRs=da0l^~XE3U;0x5snXfp_bv7VOcfSJu^ac=YD3Ru9kMcGkEZ52d$km-JT8 zx8RS>*?4hv(&Y!6H*q_jzr^_dq_2t2{#Vur`9$_;T^=j+KfH6Ltg8&U6$8;R6hYv3 zsLU0(ad@_lLG+Tbtln2Uzp;%J{RSgp4Vvw-g6n?&hF9Jlc2Sxo$58ORK6wTSJAt%<36CApYsDT|Fza%SgtzH-5%_`@xt6B^2?F5O`DHB;m1;kvfe+tX2c%O@MmL7Hi`fTQ6m zB(}t8qLpQvc)I*r4X4<#(ffj3&^7o5DpCe;Z^q@*)*smxCZ$P8HoQ;i813kg{pqB- z)_30;O?(9_v*gO~R&*_oh_zs1J=1m^cF0c*fk2%o z$CKGfrL7f8xbs5422|gUozsH<^scUyfSrIXy|B5Zbu|EF8Z?;q!A!MsPgvMWRB=8g zF|}G2I249OA$e;au@jFMV`x{4wzLnUYZmd(6|Kwr;>Qi&veI*X^O6)Vrk`sSTz*&~ zL0xtx>xVf zzv}?(d|S7MWr8rHCU{)%Ye-Z^Qk5!lCA=6=ubyERMpG~o8MP{H4U*Tk^|F{SwvutU zGHph<%i6lX!IT@1xRyammxbGuS_0uNcdtD;S26Bz0`s)T+T#2H-B++D5sG zHLp0EdgTXh>1G9Sj;yy`@;>5=U)n_=U5`I^jdsYpoimF~?eQNU*G;Z0HUYw{m;SFL zi}?~6XB*662HEzEJVJ{UIitMfn&G|p3?0VGzh`~FHI)!(I*YlpbB@yC4rIWc|Kp+D z>uZ4!4;DnIS-X$~i(=c?`f zDTISXmi9>gn#cw*i$?!>L-jbl8i_2w=+?qyfAJ{RHNw-*o!D)l8IC5&?-MWQRI*5S zrMt~98l6}vaZ|*`v0?<8w4@iO_yJ8IUVGVGemJS6ym21O!8J$yIeH{5<~qX*ql-S* zy~FC<<|@jGj8Zbb4xAhKsqonO`mnL^$)R9*@R$ZVZua+L8WOK3h%9*|v%!se3y7of z>gHfU=;sSQF4z+8a_8<*?q~_!SqV0!E=i~#en>3{G}1%rpdxOE+x;k zRzx48{Iqv)n3HKEbi+)@RE0~w5)GrS<616F75wQ&E$Ts1!0jk??&02>En_!tOl`b8 z)&ceM_t79Os~zHFV9k^O^By4d3`7uu)Y`E<^OUmV94M;ka6*vgJnbJn^Lo!x`yW4e zp7(EtB~@ea-wF!%<)S&!HW>PUJ|9lI%3ytGP0yKPwy$NU1c7v z^NAziL4TKEOC7L*hRkjZ(v9n(MW|C`9$8ZFD5c~d8Uo3;e^eD=>m}E zOlLRmHI4wqqA_M#3g*Ktk5sP`FQm&40-!g2=62r%o~i!&HJzzFKr@SBqszGMF=tPC zrlW}bY61;|v7k`b*iJOD>}dPTJcM}mV0U0NE{R2v@zxE!sCk1DQ{Cf-y6kjJK&CI> zsr0Idf{0+1hEw0%Uhs>^8KVXOg=8X`0yMm0U_7_cSZNf{t$JcS>TvHJaI{R?CL;^o z)Q7|A|9k2z)qLuZI%)19c|{cG(*>PZP$<%M*}?@S?w9|<(mW9931^yuip{ec2DTg<;j_^hw)1@6;q!#bLpMquvq{%P!$ zDtP*8+GSNI81B$JkmhYl^xIZWc{N7C1_oTiCmLmzaE_c0Aqx%Tez1VY0pptKA>vxq z6i(SIjOwKG>vFrU@V5-Lt1L?jv4c!+pB!6%<|&JR)XdveL+F7*+e}YQH&(!X_Ugu}4!nT?pnxDbUdSR|34o+ZI6vc#ZV_g>CFMs|7o@a% zyb|-ssmfwAnGN5{^_}N|5d;+j;TF2nz?ZGjac_lJnnI|CAN)z&eqBqjK<}Killkt+ zhZ_G?{>*`%4iOei*HPHGkx9C^+rUI&yzMk4kS(5(2Z4rOiYdYs^W2W44(iJet!K#C z&V_XG{>iVNyxa*P>f8iXy{JoitSlkApFWh1lEyoD`JGS8-zZAlY|4AyQ@^{dhiDH! z%(wR_t6sD85--N_b;YuI3ku<+WS17>jx)Vq^8f}2%jaH=z_oPvB=z1!*_S6iK2ifQ ztq^wXnKbv2Ijz9m$h$RJMgH%|I8+^S2mm(Pc*@KLCKWROYI#2%4S{xg!(0oyD+34H zVeB4>HS#&F;wL9SV&TuaI!h5Ya%$YJ7$wtdo4r9Vyn5|ifGE{9O3dGzsDrOYhZM*S zsIDoKI1g0TNL?8b5|1WCz5kQ>O*MZ)42<6q`9( zU!d5?cs!cw)O*MT9ncwj_2B*6E!U9aw_cx+RQ%^^g&{S#=KjsL|F?$Z_+^qERYPfSRhZ0H4~=gPO-nWX zy=~9-176AL!yVw(w8m%xC#Rq82l1QIw^Q9_95@xH$NDvFg!x%rl5E7-7EKsGzH}ufLq;psR zNz*Z<)6Y!_z4}&`dyLyxaqAoXJ+dnt!cch(E~;s;x8!)->ICYi>jxRjGtVO`-;Rp7 zxG_i;W89ozW@#&q7FsrAx43WuIZlf+@(=bpzYSh)$VP?`M{GSG}a$2&$H2XEqmK zVu+o-7}K*c-cpG(NuE5s_q{C*_+Xh!wB{4$RH=wMNuV0`nm(+tW9;7J78R{|J2bKV z_KZg#cOqY+41jOO+x!dT+@I5PKXO_$nwiY@u46!tKJDAoAXR2k^!v88Bb31OfnN3D zgsHpQmBq^Hq{bKmrbkx<5R1d6rML|nifgk22;+9Y+ew*RziLu{w3e}@sI?iEmcitE zNV<_?-YtxYiEBRT-c;t0JK%R%2w+K|)%e=rM3-BPV?8dLf-mZxR=*1*ExPIN*Kr4) zxyi}ycv_t(j69{OlE|F@;s;89BZPim5_-eAw0S(*C^p=y`vZz z8N=~ngs00ob`x#N9T)iN&ul9TU`=YdLXystNc+NgLkH zWo(9jf{K{V+zsJ+;y0HaKebHt0u}O!s5+E5?_Ia{f~;<%2PuJ)8l44S%8VlXg~X1G zX%UL2M=D2$h(Q!6x5k8S+6wsPw+kx#V9Kltj=)y&+lNfswk>x9!pe#)b28NdkT^fStI<9SZcVVj#zUtMM* z3s+Qmy+_Bgw)WC9?dW)Ffs<=l@+95V7sS~qW1vSQFG>Atyf++m9nLQ%8h5T&sux&} zP(SJ<1{KZrv<-Z@0g5VQQ6FYo1g{uyAJ{ydUkBuad?9p&jEvbc6(7DSqnIdQ8sXJ_ z_75mqP~N?|01#4&0fFs;69sDC-p(R#=@`zh(hJA-yq3Y-|4OqaCkSVmyNxiyYmgj4 zQ8JklZtXm?D@w%hR)*IL^s!f|_xtFK_1p^#K# z4cga0)0ifqW3TWZfj2<#WMtn+hpCdQDmM_JhD;&6(j0r>Crz8Fq#3m?$4HbEYf zsc39Ru4T%ZH%o$QDMTIgu{7E_{d=w3jg|2zg@dRVILx};VJhRyF6SIE`q@!vd#;L6 zXq!Ch@CZh9dbU*2DIJ>XQ}E`@M|O;JO+@vp1n?s0i?TpTH&~@=Gt155YV|oDftRl| zxf4eXxVu&B=|9qqJrNkXTxA;h9>T4}{K`L^KFw0baDpTi z*m-BM`lx$=E#ab7?wyxKpm$$T1y8UST%>GdM;a8IuhYvozqxSYzVDY|DJ2wyD5q$^ zhoi1Ch4^a;nHZvX@{HX%!EKHO6~#1<>YX7bb5Y@hrYvpZVufAJz=2Lf3vWC9uwLR9 zJKzCzZOY>n{Eaqum6pNI@*hUpF6?9N62Fu%gK>?gZjD^XAdk+s)rQ>IsruyfYAQel z?o2;ZC(Koupy_k{4jStNn>9_1VMERTeQ+-2vE|%mkm57n6*V$ndv|`){a*Se&Q1I~ zFWE$sT-Bkh+gBO#Fl}{;sT4~JxrTa(t=^7xN{fEVoiS%9rvKBX9#71vtix@dFNfCO zrEew|44&V5XZ;{EPlAhO0^9kZGLsIXFL4+(N@;{GYaK&PcR_RI9ctw9KW=J@fD9LUU?bazHPmP}#W_ES+d2|1YFAS~4$H zaG5@hbLX$kUTw-+t-48Xq`&Nh^=vgL8y21mu)BQ=7bKOD)l(~HW;-%qRo(@pnEUDz`(j-Os+o3ghnWX;-kDwO*)L!ExPWSZt_ zBOT7|U^{c8#@GvDf8is`_p7M!CyjFfcx>!+;`nEKOOHJNAbj|~Mt>)qr)|-t zsWeo~frv=DJ*hzT8nbk@W`BB2KP-x=ZxYUPxfnpx`a<}##LZ7g`Ev0D+`5WqckqnT z=w_CId;ZwnMDO=O)KAbc8l>0y$qRXSUlV}kxZs*fysKUbug@C2; zy7|XfBUGHgm&JwEGr7jNXX59nURxCcJnoe1<+rtA3B6nEi52 zQhni3Cq2=~@ct65nnhkM68hwoj?o9ALHC(&{i`*$@!z6+RNat&B5n!)3dHIE<0RS& z{^Nv!|4CK(0#rFYb}^|W{*}a%^^aHfKl>wSTh%o0q5tR>t7^Xy#%t~KKRg-52*2I_ zRK?1Y=i95*UVF`TaT0&{;rAWE>LiWV65z0~O;nQ*=wN0nuje;eIx>-vR(;5kkf#ST zT*@7aO=}mEyg8BF-FfVx8xEh;M?}8NnpmZ*XA=*=G83~p2!By}uBM4jX%!q>u4-X2 zM77{an-w%?hcrZs^|{zSev8s}OU?2NZ5km?nzQ>G1ZqKZ95Iy`c%g?_edVLVrpV`TwRXO69%uE)M%pR&!B3Rd%J3jPr{>_j+`oEjn~<&?O@L(=+aKW zABsU}D8)I;C$W|^*W;5UC;x;Va+CORiW;BmRvtaA@h0`>nFa*~*>om(?XEqSFy0y| zw&_yv-r~Qo0;^tcZUOm^N+p--`eV0(^0c=mbnA|$Nz~9<%C|8mQH=Ddnl2`j!RL*XLx6Qn2uds*w@G1PH0eQawAs}d~ZZEUF_c~+-^sHkHD>C*t z*^FYTjH#|NEkdkJR%Rra1*1`$*zm(ryNfSuVir~(cW%1J`kb^koXNCPD@~^jxa=pd zceCz1oey^T(&n0Esdcv|O}FFo>QfJ)XCsg60~qSv#)Xxdh9=2CgJ79y29&OA8t+?AH5D<$Q{P#8( zn!I7GY#U+XOMAU`&cQPfxXn&a=CW@O)5lNe`hSpDc41HNw415R;fO1a4jIpVZEWoA zh4dK>&=bWrk*Rvxq%?Q_D8esE(mJgxYW$u-enNxThng$Pw~kIniG}(v$;YJ$s#sGj zsiR^Dna_zS$)i*6HknhbyJ=0*!V`oa+14+#hbQW9I)wr7aec47G)FVCcEG-AqV()X z{(Aql25Pl~g{6ggY+}v$^Q1+r?Li-E0P0_Z3l?csL-`F7T&L|xf&AkPSd+TcEb?M0 zS@D}njceXG`z;C7c!aOm4qlcundY%!QL7oN;cew_O(m^EPi$D)NN;5AQQI*OEK+&y zgbv~bnj{W@`Y+#t(423|TRwp~{daPXSR?b6rt{$!qs|Q0b!6VHq*aDpNY1?M5_+1L zABCaaE*bjqC|hd!dt6Z7(#dTh5W;f2_-tVvN~Ar|kUxV^^88hOw28C4+cAU?%h$f9 zn?by{2$W&GOMX5*N+UucZ_Ht_Sf3+IdEL><_VzZJOrDyWn)_AfwLN6hg&>ZOuddpp zj&YO?_d+I2mO!{iBr*J0a{|ygRrK8KwVAFbLjoCaCS_rcx>kdZE6@u-ru9s2&VZF( z&C<u?uu=qJE~nt#ZT&3rWI6{D zE`fH=0Y$yTsL8`SQd-;Sr|Q9LD&O|np9c?AX@MBCUVNlrm)`fnWg0wzv(RxZD^&-9A$5F zVi^IqJAho87jbx2;XxeV#*c*UfWkU#FDV*L5Fen%bDID-P)+1n>eHOm46+tMXizrv zl`esE7iqCC27A)mBENGj!{qdZ=TKD#WwcR=N)3c)kDANyK8U{sFeOws?p74gM$I~e zZW8C$cX~ZVVtEF~e(8{)LS>>;C-fz8@MG|d%J7%DsBh1wy6Hy~VqLka(5|h>)Ss0I z3Ge-tiBzw{z1{Qs>4(n?JU08WyIl|0PwnY`BW9p#YgoZz8l*f4+)+Kr*IBsfSLA9S zac#3~X#Xb*NXGCmu;)$rS0B5nl&B-W$saQfLO^ZbmB)NIIkmoy)p`*G6JK{?KxdC% zyV>fMU9%~O+LU(Kg3gTn)=f^OL=P9Xl^A>LwM15Emd6Tym^|StvjT@n`N8WN;;f$E1mM<(_4BO79hdbGoz^msA>E6BW0h(6T; z(5|mzBt9z+<;VFInNe<1b`uVO?o8{Pdn?WGnE&EH-C|ieE;!NG5ca0)w(?ccOc=KNvj(R4xNcT&N0}p{o&(c$f6BS2uBGY)n5yJ(6w*1*XJ{e#qQfa7a LKgd@$fAhZpwWZ5u literal 0 HcmV?d00001 From a9dca3e10c87d192c3aa29f8ee596897e5ea7350 Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 27 Dec 2019 19:29:51 +0100 Subject: [PATCH 06/13] Added images --- netatmo-security-connector/README.md | 40 +++++++++++++++++- .../images/Image007.png | Bin 0 -> 91354 bytes .../images/Image008.png | Bin 0 -> 57852 bytes .../images/Image009.png | Bin 0 -> 167325 bytes 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 netatmo-security-connector/images/Image007.png create mode 100644 netatmo-security-connector/images/Image008.png create mode 100644 netatmo-security-connector/images/Image009.png diff --git a/netatmo-security-connector/README.md b/netatmo-security-connector/README.md index 38e054b..8cb1f33 100644 --- a/netatmo-security-connector/README.md +++ b/netatmo-security-connector/README.md @@ -91,8 +91,46 @@ Finish by deploying the custom connector to your webMethods.io instance. **_wmio deploy_** +![P6](./images/Image006.png) + +### Finish the Netatmo app configuration + +As a last step, we need to configure the callback URL in the netatmo app for the oauth credential process. +For this, you need to copy the URL at the end of the oauth.json file ("redirectURL") into the appropriate Netatmo app field ("redirect URI") that we had left blank before. +Don't forget to save the modified Netatmo app. + + +## Configure the home automation workflow + +### Netatmo custom connector steps + +You can now use the custom connector to view security camera information, for example by invoking the Gethomedata function to retrieve camera and other IDs: + +The first time you use the custom connector (called NetatmoSecurity) you will need to configure the credentials as usual by logging into the Netatmo callback link and providing the credentials: + +![P7](./images/Image007.png) + +After that, you can use the connector as usual to retrieve data from the security camera: + +![P8](./image/Image008.png) + +### A small example worflow to demonstrate home automation. + +The following small example can be used to also demonstrate Webhooks triggered by the Security camera and subsequent control of lighting elements, for example to automate lighting based on the person detected. + +![P9](./image/Image009.png) + + +## Summary + +A custom connector to integrate a Security camera (from Netatmo) has been used to demonstrate custom connector development for home automation purposes. +A possible application to control home lighting based on events (e.g. motion or person detection) would be a possible application. + + + + + -![P6](./images/Image006) diff --git a/netatmo-security-connector/images/Image007.png b/netatmo-security-connector/images/Image007.png new file mode 100644 index 0000000000000000000000000000000000000000..04f208de1a0e8248cd4a6b6683c16219c55b2a01 GIT binary patch literal 91354 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 Tr@;Bo0B|iL{XFN{t9Snc0we}N literal 0 HcmV?d00001 diff --git a/netatmo-security-connector/images/Image008.png b/netatmo-security-connector/images/Image008.png new file mode 100644 index 0000000000000000000000000000000000000000..3c6c6d83904f1bc3e74b87ef4de588a23a217f22 GIT binary patch literal 57852 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 literal 0 HcmV?d00001 diff --git a/netatmo-security-connector/images/Image009.png b/netatmo-security-connector/images/Image009.png new file mode 100644 index 0000000000000000000000000000000000000000..550be4cf2806eb468df24fca3e993c649c911141 GIT binary patch literal 167325 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

_}3v6p$|9^2Oa?@)ijro8t}d^l+ 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 literal 0 HcmV?d00001 From c836547ebab1e64291c9853874c266bc96536dbb Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 27 Dec 2019 19:31:12 +0100 Subject: [PATCH 07/13] foo --- netatmo-security-connector/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netatmo-security-connector/README.md b/netatmo-security-connector/README.md index 8cb1f33..193e16f 100644 --- a/netatmo-security-connector/README.md +++ b/netatmo-security-connector/README.md @@ -112,13 +112,13 @@ The first time you use the custom connector (called NetatmoSecurity) you will ne After that, you can use the connector as usual to retrieve data from the security camera: -![P8](./image/Image008.png) +![P8](./images/Image008.png) ### A small example worflow to demonstrate home automation. The following small example can be used to also demonstrate Webhooks triggered by the Security camera and subsequent control of lighting elements, for example to automate lighting based on the person detected. -![P9](./image/Image009.png) +![P9](./images/Image009.png) ## Summary From a1a1b91538c1fd2d42e0b6767883f6aad16907fb Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 27 Dec 2019 19:32:44 +0100 Subject: [PATCH 08/13] obfus --- netatmo-security-connector/NetatmoSecurity/oauth.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netatmo-security-connector/NetatmoSecurity/oauth.json b/netatmo-security-connector/NetatmoSecurity/oauth.json index b0ed28b..fbb54e3 100644 --- a/netatmo-security-connector/NetatmoSecurity/oauth.json +++ b/netatmo-security-connector/NetatmoSecurity/oauth.json @@ -1,8 +1,8 @@ { "type": "oauth2", "title": "netatmo_camera", - "clientId": "5e05ebd41073ae7c852957ca", - "clientSecret": "nBZbMp5EOajlLRrZMsot9vY4pTgVKEhSdnzg0", + "clientId": "", + "clientSecret": "", "authURL": "https://api.netatmo.com/oauth2/authorize", "tokenURL": "https://api.netatmo.com/oauth2/token", "preAuthProcessing": { From e92af71ac2c82b98fa2a87bb99903017b135604d Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 27 Dec 2019 19:35:24 +0100 Subject: [PATCH 09/13] Updated README.md --- netatmo-security-connector/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/netatmo-security-connector/README.md b/netatmo-security-connector/README.md index 193e16f..a76c671 100644 --- a/netatmo-security-connector/README.md +++ b/netatmo-security-connector/README.md @@ -125,6 +125,7 @@ The following small example can be used to also demonstrate Webhooks triggered b A custom connector to integrate a Security camera (from Netatmo) has been used to demonstrate custom connector development for home automation purposes. A possible application to control home lighting based on events (e.g. motion or person detection) would be a possible application. +Other possible applications would be triggering of alarms or notifications based on motion events. From 0a23457f6cfd423ec3fea21fe231c8e3b4326bfd Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 3 Jan 2020 10:22:56 +0100 Subject: [PATCH 10/13] ignore node_modules --- netatmo-security-connector/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 netatmo-security-connector/.gitignore diff --git a/netatmo-security-connector/.gitignore b/netatmo-security-connector/.gitignore new file mode 100644 index 0000000..dc2ebd4 --- /dev/null +++ b/netatmo-security-connector/.gitignore @@ -0,0 +1 @@ +NetatmoSecurity/node_modules/ From 6a33dd263cb9ac160b0a89556773dbaa32c0008b Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 3 Jan 2020 10:27:34 +0100 Subject: [PATCH 11/13] Removed the now ignored dependency node_modules --- .../node_modules/.bin/har-validator | 15 - .../node_modules/.bin/har-validator.cmd | 7 - .../NetatmoSecurity/node_modules/.bin/uuid | 15 - .../node_modules/.bin/uuid.cmd | 7 - .../@webmethodsio/cli-sdk/LICENSE | 21 - .../@webmethodsio/cli-sdk/index.js | 7 - .../@webmethodsio/cli-sdk/logger/index.js | 26 - .../@webmethodsio/cli-sdk/package.json | 38 - .../cli-sdk/trigger/custom_filter.js | 507 - .../@webmethodsio/cli-sdk/trigger/index.js | 9 - .../cli-sdk/trigger/option_helper.js | 24 - .../node_modules/ansi-regex/index.js | 4 - .../node_modules/ansi-regex/license | 21 - .../node_modules/ansi-regex/package.json | 109 - .../node_modules/ansi-regex/readme.md | 39 - .../node_modules/ansi-styles/index.js | 65 - .../node_modules/ansi-styles/license | 21 - .../node_modules/ansi-styles/package.json | 90 - .../node_modules/ansi-styles/readme.md | 86 - .../node_modules/asn1/.npmignore | 2 - .../NetatmoSecurity/node_modules/asn1/LICENSE | 19 - .../node_modules/asn1/README.md | 50 - .../node_modules/asn1/lib/ber/errors.js | 13 - .../node_modules/asn1/lib/ber/index.js | 27 - .../node_modules/asn1/lib/ber/reader.js | 267 - .../node_modules/asn1/lib/ber/types.js | 36 - .../node_modules/asn1/lib/ber/writer.js | 317 - .../node_modules/asn1/lib/index.js | 20 - .../node_modules/asn1/package.json | 64 - .../node_modules/asn1/tst/ber/reader.test.js | 172 - .../node_modules/asn1/tst/ber/writer.test.js | 296 - .../node_modules/assert-plus/README.md | 126 - .../node_modules/assert-plus/assert.js | 245 - .../node_modules/assert-plus/package.json | 49 - .../node_modules/async/.travis.yml | 5 - .../node_modules/async/LICENSE | 19 - .../node_modules/async/README.md | 1647 -- .../node_modules/async/bower.json | 38 - .../node_modules/async/component.json | 16 - .../node_modules/async/lib/async.js | 1123 - .../node_modules/async/package.json | 82 - .../async/support/sync-package-managers.js | 53 - .../node_modules/aws-sign2/LICENSE | 55 - .../node_modules/aws-sign2/README.md | 4 - .../node_modules/aws-sign2/index.js | 202 - .../node_modules/aws-sign2/package.json | 49 - .../NetatmoSecurity/node_modules/bl/.jshintrc | 59 - .../node_modules/bl/.npmignore | 1 - .../node_modules/bl/.travis.yml | 11 - .../node_modules/bl/LICENSE.md | 13 - .../NetatmoSecurity/node_modules/bl/README.md | 198 - .../NetatmoSecurity/node_modules/bl/bl.js | 221 - .../node_modules/bl/package.json | 63 - .../node_modules/bl/test/basic-test.js | 557 - .../node_modules/bl/test/sauce.js | 38 - .../node_modules/bl/test/test.js | 9 - .../node_modules/bluebird/LICENSE | 21 - .../node_modules/bluebird/README.md | 677 - .../node_modules/bluebird/changelog.md | 1730 -- .../bluebird/js/browser/bluebird.js | 4892 ----- .../bluebird/js/browser/bluebird.min.js | 31 - .../node_modules/bluebird/js/main/any.js | 21 - .../node_modules/bluebird/js/main/assert.js | 55 - .../node_modules/bluebird/js/main/async.js | 150 - .../node_modules/bluebird/js/main/bind.js | 72 - .../node_modules/bluebird/js/main/bluebird.js | 11 - .../node_modules/bluebird/js/main/call_get.js | 123 - .../node_modules/bluebird/js/main/cancel.js | 48 - .../bluebird/js/main/captured_trace.js | 493 - .../bluebird/js/main/catch_filter.js | 66 - .../node_modules/bluebird/js/main/context.js | 38 - .../bluebird/js/main/debuggability.js | 162 - .../bluebird/js/main/direct_resolve.js | 63 - .../node_modules/bluebird/js/main/each.js | 12 - .../node_modules/bluebird/js/main/errors.js | 111 - .../node_modules/bluebird/js/main/es5.js | 80 - .../node_modules/bluebird/js/main/filter.js | 12 - .../node_modules/bluebird/js/main/finally.js | 98 - .../bluebird/js/main/generators.js | 136 - .../node_modules/bluebird/js/main/join.js | 107 - .../node_modules/bluebird/js/main/map.js | 133 - .../node_modules/bluebird/js/main/method.js | 44 - .../node_modules/bluebird/js/main/nodeify.js | 59 - .../node_modules/bluebird/js/main/progress.js | 76 - .../node_modules/bluebird/js/main/promise.js | 759 - .../bluebird/js/main/promise_array.js | 142 - .../bluebird/js/main/promise_resolver.js | 123 - .../bluebird/js/main/promisify.js | 307 - .../node_modules/bluebird/js/main/props.js | 79 - .../node_modules/bluebird/js/main/queue.js | 90 - .../node_modules/bluebird/js/main/race.js | 47 - .../node_modules/bluebird/js/main/reduce.js | 148 - .../node_modules/bluebird/js/main/schedule.js | 35 - .../node_modules/bluebird/js/main/settle.js | 40 - .../node_modules/bluebird/js/main/some.js | 125 - .../js/main/synchronous_inspection.js | 94 - .../bluebird/js/main/thenables.js | 84 - .../node_modules/bluebird/js/main/timers.js | 64 - .../node_modules/bluebird/js/main/using.js | 213 - .../node_modules/bluebird/js/main/util.js | 321 - .../node_modules/bluebird/package.json | 103 - .../node_modules/boom/.npmignore | 18 - .../node_modules/boom/.travis.yml | 8 - .../node_modules/boom/CONTRIBUTING.md | 1 - .../NetatmoSecurity/node_modules/boom/LICENSE | 28 - .../node_modules/boom/README.md | 652 - .../node_modules/boom/images/boom.png | Bin 29479 -> 0 bytes .../node_modules/boom/lib/index.js | 318 - .../node_modules/boom/package.json | 59 - .../node_modules/boom/test/index.js | 654 - .../node_modules/caseless/README.md | 45 - .../node_modules/caseless/index.js | 65 - .../node_modules/caseless/package.json | 56 - .../node_modules/caseless/test.js | 40 - .../node_modules/chalk/index.js | 116 - .../node_modules/chalk/license | 21 - .../node_modules/chalk/package.json | 114 - .../node_modules/chalk/readme.md | 213 - .../node_modules/combined-stream/License | 19 - .../node_modules/combined-stream/Readme.md | 132 - .../combined-stream/lib/combined_stream.js | 188 - .../node_modules/combined-stream/package.json | 57 - .../node_modules/commander/CHANGELOG.md | 419 - .../node_modules/commander/LICENSE | 22 - .../node_modules/commander/Readme.md | 428 - .../node_modules/commander/index.js | 1224 -- .../node_modules/commander/package.json | 70 - .../node_modules/commander/typings/index.d.ts | 310 - .../node_modules/core-util-is/LICENSE | 19 - .../node_modules/core-util-is/README.md | 3 - .../node_modules/core-util-is/float.patch | 604 - .../node_modules/core-util-is/lib/util.js | 107 - .../node_modules/core-util-is/package.json | 62 - .../node_modules/core-util-is/test.js | 68 - .../node_modules/cryptiles/.npmignore | 18 - .../node_modules/cryptiles/.travis.yml | 8 - .../node_modules/cryptiles/LICENSE | 28 - .../node_modules/cryptiles/README.md | 16 - .../node_modules/cryptiles/lib/index.js | 68 - .../node_modules/cryptiles/package.json | 59 - .../node_modules/cryptiles/test/index.js | 102 - .../node_modules/ctype/.npmignore | 1 - .../node_modules/ctype/CHANGELOG | 78 - .../node_modules/ctype/LICENSE | 24 - .../NetatmoSecurity/node_modules/ctype/README | 82 - .../node_modules/ctype/README.old | 298 - .../NetatmoSecurity/node_modules/ctype/ctf.js | 245 - .../node_modules/ctype/ctio.js | 1485 -- .../node_modules/ctype/ctype.js | 944 - .../ctype/man/man3ctype/ctio.3ctype | 241 - .../node_modules/ctype/package.json | 46 - .../node_modules/ctype/tools/jsl.conf | 129 - .../node_modules/ctype/tools/jsstyle | 839 - .../node_modules/delayed-stream/.npmignore | 2 - .../node_modules/delayed-stream/License | 19 - .../node_modules/delayed-stream/Makefile | 7 - .../node_modules/delayed-stream/Readme.md | 154 - .../delayed-stream/lib/delayed_stream.js | 99 - .../node_modules/delayed-stream/package.json | 52 - .../delayed-stream/test/common.js | 6 - .../integration/test-delayed-http-upload.js | 38 - .../test-delayed-stream-auto-pause.js | 21 - .../integration/test-delayed-stream-pause.js | 14 - .../test/integration/test-delayed-stream.js | 48 - .../integration/test-handle-source-errors.js | 15 - .../test/integration/test-max-data-size.js | 18 - .../test/integration/test-pipe-resumes.js | 13 - .../test/integration/test-proxy-readable.js | 13 - .../node_modules/delayed-stream/test/run.js | 7 - .../escape-string-regexp/index.js | 11 - .../node_modules/escape-string-regexp/license | 21 - .../escape-string-regexp/package.json | 81 - .../escape-string-regexp/readme.md | 27 - .../node_modules/forever-agent/LICENSE | 55 - .../node_modules/forever-agent/README.md | 4 - .../node_modules/forever-agent/index.js | 138 - .../node_modules/forever-agent/package.json | 50 - .../node_modules/form-data/License | 19 - .../node_modules/form-data/Readme.md | 175 - .../node_modules/form-data/lib/form_data.js | 351 - .../node_modules/form-data/package.json | 67 - .../generate-function/.travis.yml | 3 - .../node_modules/generate-function/LICENSE | 21 - .../node_modules/generate-function/README.md | 89 - .../node_modules/generate-function/example.js | 27 - .../node_modules/generate-function/index.js | 181 - .../generate-function/package.json | 59 - .../node_modules/generate-function/test.js | 49 - .../generate-object-property/.npmignore | 1 - .../generate-object-property/.travis.yml | 3 - .../generate-object-property/LICENSE | 21 - .../generate-object-property/README.md | 19 - .../generate-object-property/index.js | 12 - .../generate-object-property/package.json | 53 - .../generate-object-property/test.js | 12 - .../node_modules/har-validator/LICENSE | 13 - .../node_modules/har-validator/README.md | 362 - .../har-validator/bin/har-validator | 45 - .../node_modules/har-validator/lib/error.js | 10 - .../node_modules/har-validator/lib/index.js | 39 - .../har-validator/lib/schemas/cache.json | 13 - .../har-validator/lib/schemas/cacheEntry.json | 31 - .../har-validator/lib/schemas/content.json | 27 - .../har-validator/lib/schemas/cookie.json | 34 - .../har-validator/lib/schemas/creator.json | 18 - .../har-validator/lib/schemas/entry.json | 51 - .../har-validator/lib/schemas/har.json | 11 - .../har-validator/lib/schemas/index.js | 49 - .../har-validator/lib/schemas/log.json | 34 - .../har-validator/lib/schemas/page.json | 30 - .../lib/schemas/pageTimings.json | 16 - .../har-validator/lib/schemas/postData.json | 41 - .../har-validator/lib/schemas/record.json | 18 - .../har-validator/lib/schemas/request.json | 55 - .../har-validator/lib/schemas/response.json | 52 - .../har-validator/lib/schemas/timings.json | 40 - .../node_modules/har-validator/package.json | 89 - .../node_modules/has-ansi/index.js | 4 - .../node_modules/has-ansi/license | 21 - .../node_modules/has-ansi/package.json | 95 - .../node_modules/has-ansi/readme.md | 36 - .../node_modules/hawk/.npmignore | 20 - .../node_modules/hawk/.travis.yml | 5 - .../NetatmoSecurity/node_modules/hawk/LICENSE | 28 - .../node_modules/hawk/Makefile | 8 - .../node_modules/hawk/README.md | 635 - .../node_modules/hawk/bower.json | 24 - .../node_modules/hawk/component.json | 19 - .../node_modules/hawk/example/usage.js | 78 - .../node_modules/hawk/images/hawk.png | Bin 6945 -> 0 bytes .../node_modules/hawk/images/logo.png | Bin 71732 -> 0 bytes .../node_modules/hawk/index.js | 1 - .../node_modules/hawk/lib/browser.js | 641 - .../node_modules/hawk/lib/client.js | 369 - .../node_modules/hawk/lib/crypto.js | 126 - .../node_modules/hawk/lib/index.js | 15 - .../node_modules/hawk/lib/server.js | 534 - .../node_modules/hawk/lib/utils.js | 164 - .../node_modules/hawk/package.json | 74 - .../node_modules/hawk/test/browser.js | 1453 -- .../node_modules/hawk/test/client.js | 443 - .../node_modules/hawk/test/crypto.js | 86 - .../node_modules/hawk/test/index.js | 378 - .../node_modules/hawk/test/message.js | 261 - .../node_modules/hawk/test/readme.js | 98 - .../node_modules/hawk/test/server.js | 985 - .../node_modules/hawk/test/uri.js | 590 - .../node_modules/hawk/test/utils.js | 120 - .../node_modules/hoek/.npmignore | 18 - .../node_modules/hoek/.travis.yml | 7 - .../node_modules/hoek/CONTRIBUTING.md | 1 - .../NetatmoSecurity/node_modules/hoek/LICENSE | 31 - .../node_modules/hoek/README.md | 584 - .../node_modules/hoek/images/hoek.png | Bin 37939 -> 0 bytes .../node_modules/hoek/lib/escape.js | 132 - .../node_modules/hoek/lib/index.js | 993 - .../node_modules/hoek/package.json | 57 - .../node_modules/hoek/test/escaper.js | 88 - .../node_modules/hoek/test/index.js | 2513 --- .../node_modules/hoek/test/modules/ignore.txt | 0 .../node_modules/hoek/test/modules/test1.js | 1 - .../node_modules/hoek/test/modules/test2.js | 1 - .../node_modules/hoek/test/modules/test3.js | 1 - .../http-signature/.dir-locals.el | 6 - .../node_modules/http-signature/.npmignore | 7 - .../node_modules/http-signature/LICENSE | 18 - .../node_modules/http-signature/README.md | 79 - .../http-signature/http_signing.md | 296 - .../node_modules/http-signature/lib/index.js | 26 - .../node_modules/http-signature/lib/parser.js | 304 - .../node_modules/http-signature/lib/signer.js | 178 - .../node_modules/http-signature/lib/util.js | 304 - .../node_modules/http-signature/lib/verify.js | 42 - .../node_modules/http-signature/package.json | 72 - .../node_modules/inherits/LICENSE | 16 - .../node_modules/inherits/README.md | 42 - .../node_modules/inherits/inherits.js | 9 - .../node_modules/inherits/inherits_browser.js | 27 - .../node_modules/inherits/package.json | 61 - .../node_modules/ip-regex/index.js | 24 - .../node_modules/ip-regex/license | 21 - .../node_modules/ip-regex/package.json | 77 - .../node_modules/ip-regex/readme.md | 63 - .../fixtures/invalid-ipv4-addresses.json | 19 - .../fixtures/invalid-ipv6-addresses.json | 335 - .../fixtures/valid-ipv4-addresses.json | 6 - .../fixtures/valid-ipv6-addresses.json | 189 - .../node_modules/is-my-ip-valid/index.js | 90 - .../node_modules/is-my-ip-valid/package.json | 46 - .../node_modules/is-my-ip-valid/readme.md | 42 - .../node_modules/is-my-ip-valid/test.js | 26 - .../node_modules/is-my-json-valid/LICENSE | 21 - .../node_modules/is-my-json-valid/README.md | 263 - .../node_modules/is-my-json-valid/formats.js | 40 - .../node_modules/is-my-json-valid/index.d.ts | 127 - .../node_modules/is-my-json-valid/index.js | 603 - .../is-my-json-valid/package.json | 66 - .../node_modules/is-my-json-valid/require.js | 12 - .../node_modules/is-property/.npmignore | 17 - .../node_modules/is-property/LICENSE | 22 - .../node_modules/is-property/README.md | 28 - .../node_modules/is-property/is-property.js | 5 - .../node_modules/is-property/package.json | 64 - .../node_modules/isarray/README.md | 54 - .../node_modules/isarray/build/build.js | 209 - .../node_modules/isarray/component.json | 19 - .../node_modules/isarray/index.js | 3 - .../node_modules/isarray/package.json | 57 - .../node_modules/isstream/.jshintrc | 59 - .../node_modules/isstream/.npmignore | 1 - .../node_modules/isstream/.travis.yml | 12 - .../node_modules/isstream/LICENSE.md | 11 - .../node_modules/isstream/README.md | 66 - .../node_modules/isstream/isstream.js | 27 - .../node_modules/isstream/package.json | 61 - .../node_modules/isstream/test.js | 168 - .../json-stringify-safe/.npmignore | 1 - .../json-stringify-safe/CHANGELOG.md | 14 - .../node_modules/json-stringify-safe/LICENSE | 15 - .../node_modules/json-stringify-safe/Makefile | 35 - .../json-stringify-safe/README.md | 52 - .../json-stringify-safe/package.json | 66 - .../json-stringify-safe/stringify.js | 27 - .../json-stringify-safe/test/mocha.opts | 2 - .../test/stringify_test.js | 246 - .../node_modules/jsonpointer/LICENSE.md | 21 - .../node_modules/jsonpointer/README.md | 39 - .../node_modules/jsonpointer/jsonpointer.js | 93 - .../node_modules/jsonpointer/package.json | 72 - .../node_modules/lodash/LICENSE | 47 - .../node_modules/lodash/README.md | 39 - .../node_modules/lodash/_DataView.js | 7 - .../node_modules/lodash/_Hash.js | 32 - .../node_modules/lodash/_LazyWrapper.js | 28 - .../node_modules/lodash/_ListCache.js | 32 - .../node_modules/lodash/_LodashWrapper.js | 22 - .../node_modules/lodash/_Map.js | 7 - .../node_modules/lodash/_MapCache.js | 32 - .../node_modules/lodash/_Promise.js | 7 - .../node_modules/lodash/_Set.js | 7 - .../node_modules/lodash/_SetCache.js | 27 - .../node_modules/lodash/_Stack.js | 27 - .../node_modules/lodash/_Symbol.js | 6 - .../node_modules/lodash/_Uint8Array.js | 6 - .../node_modules/lodash/_WeakMap.js | 7 - .../node_modules/lodash/_apply.js | 21 - .../node_modules/lodash/_arrayAggregator.js | 22 - .../node_modules/lodash/_arrayEach.js | 22 - .../node_modules/lodash/_arrayEachRight.js | 21 - .../node_modules/lodash/_arrayEvery.js | 23 - .../node_modules/lodash/_arrayFilter.js | 25 - .../node_modules/lodash/_arrayIncludes.js | 17 - .../node_modules/lodash/_arrayIncludesWith.js | 22 - .../node_modules/lodash/_arrayLikeKeys.js | 49 - .../node_modules/lodash/_arrayMap.js | 21 - .../node_modules/lodash/_arrayPush.js | 20 - .../node_modules/lodash/_arrayReduce.js | 26 - .../node_modules/lodash/_arrayReduceRight.js | 24 - .../node_modules/lodash/_arraySample.js | 15 - .../node_modules/lodash/_arraySampleSize.js | 17 - .../node_modules/lodash/_arrayShuffle.js | 15 - .../node_modules/lodash/_arraySome.js | 23 - .../node_modules/lodash/_asciiSize.js | 12 - .../node_modules/lodash/_asciiToArray.js | 12 - .../node_modules/lodash/_asciiWords.js | 15 - .../node_modules/lodash/_assignMergeValue.js | 20 - .../node_modules/lodash/_assignValue.js | 28 - .../node_modules/lodash/_assocIndexOf.js | 21 - .../node_modules/lodash/_baseAggregator.js | 21 - .../node_modules/lodash/_baseAssign.js | 17 - .../node_modules/lodash/_baseAssignIn.js | 17 - .../node_modules/lodash/_baseAssignValue.js | 25 - .../node_modules/lodash/_baseAt.js | 23 - .../node_modules/lodash/_baseClamp.js | 22 - .../node_modules/lodash/_baseClone.js | 171 - .../node_modules/lodash/_baseConforms.js | 18 - .../node_modules/lodash/_baseConformsTo.js | 27 - .../node_modules/lodash/_baseCreate.js | 30 - .../node_modules/lodash/_baseDelay.js | 21 - .../node_modules/lodash/_baseDifference.js | 67 - .../node_modules/lodash/_baseEach.js | 14 - .../node_modules/lodash/_baseEachRight.js | 14 - .../node_modules/lodash/_baseEvery.js | 21 - .../node_modules/lodash/_baseExtremum.js | 32 - .../node_modules/lodash/_baseFill.js | 32 - .../node_modules/lodash/_baseFilter.js | 21 - .../node_modules/lodash/_baseFindIndex.js | 24 - .../node_modules/lodash/_baseFindKey.js | 23 - .../node_modules/lodash/_baseFlatten.js | 38 - .../node_modules/lodash/_baseFor.js | 16 - .../node_modules/lodash/_baseForOwn.js | 16 - .../node_modules/lodash/_baseForOwnRight.js | 16 - .../node_modules/lodash/_baseForRight.js | 15 - .../node_modules/lodash/_baseFunctions.js | 19 - .../node_modules/lodash/_baseGet.js | 24 - .../node_modules/lodash/_baseGetAllKeys.js | 20 - .../node_modules/lodash/_baseGetTag.js | 28 - .../node_modules/lodash/_baseGt.js | 14 - .../node_modules/lodash/_baseHas.js | 19 - .../node_modules/lodash/_baseHasIn.js | 13 - .../node_modules/lodash/_baseInRange.js | 18 - .../node_modules/lodash/_baseIndexOf.js | 20 - .../node_modules/lodash/_baseIndexOfWith.js | 23 - .../node_modules/lodash/_baseIntersection.js | 74 - .../node_modules/lodash/_baseInverter.js | 21 - .../node_modules/lodash/_baseInvoke.js | 24 - .../node_modules/lodash/_baseIsArguments.js | 18 - .../node_modules/lodash/_baseIsArrayBuffer.js | 17 - .../node_modules/lodash/_baseIsDate.js | 18 - .../node_modules/lodash/_baseIsEqual.js | 28 - .../node_modules/lodash/_baseIsEqualDeep.js | 83 - .../node_modules/lodash/_baseIsMap.js | 18 - .../node_modules/lodash/_baseIsMatch.js | 62 - .../node_modules/lodash/_baseIsNaN.js | 12 - .../node_modules/lodash/_baseIsNative.js | 47 - .../node_modules/lodash/_baseIsRegExp.js | 18 - .../node_modules/lodash/_baseIsSet.js | 18 - .../node_modules/lodash/_baseIsTypedArray.js | 60 - .../node_modules/lodash/_baseIteratee.js | 31 - .../node_modules/lodash/_baseKeys.js | 30 - .../node_modules/lodash/_baseKeysIn.js | 33 - .../node_modules/lodash/_baseLodash.js | 10 - .../node_modules/lodash/_baseLt.js | 14 - .../node_modules/lodash/_baseMap.js | 22 - .../node_modules/lodash/_baseMatches.js | 22 - .../lodash/_baseMatchesProperty.js | 33 - .../node_modules/lodash/_baseMean.js | 20 - .../node_modules/lodash/_baseMerge.js | 42 - .../node_modules/lodash/_baseMergeDeep.js | 94 - .../node_modules/lodash/_baseNth.js | 20 - .../node_modules/lodash/_baseOrderBy.js | 34 - .../node_modules/lodash/_basePick.js | 19 - .../node_modules/lodash/_basePickBy.js | 30 - .../node_modules/lodash/_baseProperty.js | 14 - .../node_modules/lodash/_basePropertyDeep.js | 16 - .../node_modules/lodash/_basePropertyOf.js | 14 - .../node_modules/lodash/_basePullAll.js | 51 - .../node_modules/lodash/_basePullAt.js | 37 - .../node_modules/lodash/_baseRandom.js | 18 - .../node_modules/lodash/_baseRange.js | 28 - .../node_modules/lodash/_baseReduce.js | 23 - .../node_modules/lodash/_baseRepeat.js | 35 - .../node_modules/lodash/_baseRest.js | 17 - .../node_modules/lodash/_baseSample.js | 15 - .../node_modules/lodash/_baseSampleSize.js | 18 - .../node_modules/lodash/_baseSet.js | 47 - .../node_modules/lodash/_baseSetData.js | 17 - .../node_modules/lodash/_baseSetToString.js | 22 - .../node_modules/lodash/_baseShuffle.js | 15 - .../node_modules/lodash/_baseSlice.js | 31 - .../node_modules/lodash/_baseSome.js | 22 - .../node_modules/lodash/_baseSortBy.js | 21 - .../node_modules/lodash/_baseSortedIndex.js | 42 - .../node_modules/lodash/_baseSortedIndexBy.js | 64 - .../node_modules/lodash/_baseSortedUniq.js | 30 - .../node_modules/lodash/_baseSum.js | 24 - .../node_modules/lodash/_baseTimes.js | 20 - .../node_modules/lodash/_baseToNumber.js | 24 - .../node_modules/lodash/_baseToPairs.js | 18 - .../node_modules/lodash/_baseToString.js | 37 - .../node_modules/lodash/_baseUnary.js | 14 - .../node_modules/lodash/_baseUniq.js | 72 - .../node_modules/lodash/_baseUnset.js | 20 - .../node_modules/lodash/_baseUpdate.js | 18 - .../node_modules/lodash/_baseValues.js | 19 - .../node_modules/lodash/_baseWhile.js | 26 - .../node_modules/lodash/_baseWrapperValue.js | 25 - .../node_modules/lodash/_baseXor.js | 36 - .../node_modules/lodash/_baseZipObject.js | 23 - .../node_modules/lodash/_cacheHas.js | 13 - .../lodash/_castArrayLikeObject.js | 14 - .../node_modules/lodash/_castFunction.js | 14 - .../node_modules/lodash/_castPath.js | 21 - .../node_modules/lodash/_castRest.js | 14 - .../node_modules/lodash/_castSlice.js | 18 - .../node_modules/lodash/_charsEndIndex.js | 19 - .../node_modules/lodash/_charsStartIndex.js | 20 - .../node_modules/lodash/_cloneArrayBuffer.js | 16 - .../node_modules/lodash/_cloneBuffer.js | 35 - .../node_modules/lodash/_cloneDataView.js | 16 - .../node_modules/lodash/_cloneRegExp.js | 17 - .../node_modules/lodash/_cloneSymbol.js | 18 - .../node_modules/lodash/_cloneTypedArray.js | 16 - .../node_modules/lodash/_compareAscending.js | 41 - .../node_modules/lodash/_compareMultiple.js | 44 - .../node_modules/lodash/_composeArgs.js | 39 - .../node_modules/lodash/_composeArgsRight.js | 41 - .../node_modules/lodash/_copyArray.js | 20 - .../node_modules/lodash/_copyObject.js | 40 - .../node_modules/lodash/_copySymbols.js | 16 - .../node_modules/lodash/_copySymbolsIn.js | 16 - .../node_modules/lodash/_coreJsData.js | 6 - .../node_modules/lodash/_countHolders.js | 21 - .../node_modules/lodash/_createAggregator.js | 23 - .../node_modules/lodash/_createAssigner.js | 37 - .../node_modules/lodash/_createBaseEach.js | 32 - .../node_modules/lodash/_createBaseFor.js | 25 - .../node_modules/lodash/_createBind.js | 28 - .../node_modules/lodash/_createCaseFirst.js | 33 - .../node_modules/lodash/_createCompounder.js | 24 - .../node_modules/lodash/_createCtor.js | 37 - .../node_modules/lodash/_createCurry.js | 46 - .../node_modules/lodash/_createFind.js | 25 - .../node_modules/lodash/_createFlow.js | 78 - .../node_modules/lodash/_createHybrid.js | 92 - .../node_modules/lodash/_createInverter.js | 17 - .../lodash/_createMathOperation.js | 38 - .../node_modules/lodash/_createOver.js | 27 - .../node_modules/lodash/_createPadding.js | 33 - .../node_modules/lodash/_createPartial.js | 43 - .../node_modules/lodash/_createRange.js | 30 - .../node_modules/lodash/_createRecurry.js | 56 - .../lodash/_createRelationalOperation.js | 20 - .../node_modules/lodash/_createRound.js | 33 - .../node_modules/lodash/_createSet.js | 19 - .../node_modules/lodash/_createToPairs.js | 30 - .../node_modules/lodash/_createWrap.js | 106 - .../lodash/_customDefaultsAssignIn.js | 29 - .../lodash/_customDefaultsMerge.js | 28 - .../node_modules/lodash/_customOmitClone.js | 16 - .../node_modules/lodash/_deburrLetter.js | 71 - .../node_modules/lodash/_defineProperty.js | 11 - .../node_modules/lodash/_equalArrays.js | 83 - .../node_modules/lodash/_equalByTag.js | 112 - .../node_modules/lodash/_equalObjects.js | 89 - .../node_modules/lodash/_escapeHtmlChar.js | 21 - .../node_modules/lodash/_escapeStringChar.js | 22 - .../node_modules/lodash/_flatRest.js | 16 - .../node_modules/lodash/_freeGlobal.js | 4 - .../node_modules/lodash/_getAllKeys.js | 16 - .../node_modules/lodash/_getAllKeysIn.js | 17 - .../node_modules/lodash/_getData.js | 15 - .../node_modules/lodash/_getFuncName.js | 31 - .../node_modules/lodash/_getHolder.js | 13 - .../node_modules/lodash/_getMapData.js | 18 - .../node_modules/lodash/_getMatchData.js | 24 - .../node_modules/lodash/_getNative.js | 17 - .../node_modules/lodash/_getPrototype.js | 6 - .../node_modules/lodash/_getRawTag.js | 46 - .../node_modules/lodash/_getSymbols.js | 30 - .../node_modules/lodash/_getSymbolsIn.js | 25 - .../node_modules/lodash/_getTag.js | 58 - .../node_modules/lodash/_getValue.js | 13 - .../node_modules/lodash/_getView.js | 33 - .../node_modules/lodash/_getWrapDetails.js | 17 - .../node_modules/lodash/_hasPath.js | 39 - .../node_modules/lodash/_hasUnicode.js | 26 - .../node_modules/lodash/_hasUnicodeWord.js | 15 - .../node_modules/lodash/_hashClear.js | 15 - .../node_modules/lodash/_hashDelete.js | 17 - .../node_modules/lodash/_hashGet.js | 30 - .../node_modules/lodash/_hashHas.js | 23 - .../node_modules/lodash/_hashSet.js | 23 - .../node_modules/lodash/_initCloneArray.js | 26 - .../node_modules/lodash/_initCloneByTag.js | 77 - .../node_modules/lodash/_initCloneObject.js | 18 - .../node_modules/lodash/_insertWrapDetails.js | 23 - .../node_modules/lodash/_isFlattenable.js | 20 - .../node_modules/lodash/_isIndex.js | 25 - .../node_modules/lodash/_isIterateeCall.js | 30 - .../node_modules/lodash/_isKey.js | 29 - .../node_modules/lodash/_isKeyable.js | 15 - .../node_modules/lodash/_isLaziable.js | 28 - .../node_modules/lodash/_isMaskable.js | 14 - .../node_modules/lodash/_isMasked.js | 20 - .../node_modules/lodash/_isPrototype.js | 18 - .../lodash/_isStrictComparable.js | 15 - .../node_modules/lodash/_iteratorToArray.js | 18 - .../node_modules/lodash/_lazyClone.js | 23 - .../node_modules/lodash/_lazyReverse.js | 23 - .../node_modules/lodash/_lazyValue.js | 69 - .../node_modules/lodash/_listCacheClear.js | 13 - .../node_modules/lodash/_listCacheDelete.js | 35 - .../node_modules/lodash/_listCacheGet.js | 19 - .../node_modules/lodash/_listCacheHas.js | 16 - .../node_modules/lodash/_listCacheSet.js | 26 - .../node_modules/lodash/_mapCacheClear.js | 21 - .../node_modules/lodash/_mapCacheDelete.js | 18 - .../node_modules/lodash/_mapCacheGet.js | 16 - .../node_modules/lodash/_mapCacheHas.js | 16 - .../node_modules/lodash/_mapCacheSet.js | 22 - .../node_modules/lodash/_mapToArray.js | 18 - .../lodash/_matchesStrictComparable.js | 20 - .../node_modules/lodash/_memoizeCapped.js | 26 - .../node_modules/lodash/_mergeData.js | 90 - .../node_modules/lodash/_metaMap.js | 6 - .../node_modules/lodash/_nativeCreate.js | 6 - .../node_modules/lodash/_nativeKeys.js | 6 - .../node_modules/lodash/_nativeKeysIn.js | 20 - .../node_modules/lodash/_nodeUtil.js | 22 - .../node_modules/lodash/_objectToString.js | 22 - .../node_modules/lodash/_overArg.js | 15 - .../node_modules/lodash/_overRest.js | 36 - .../node_modules/lodash/_parent.js | 16 - .../node_modules/lodash/_reEscape.js | 4 - .../node_modules/lodash/_reEvaluate.js | 4 - .../node_modules/lodash/_reInterpolate.js | 4 - .../node_modules/lodash/_realNames.js | 4 - .../node_modules/lodash/_reorder.js | 29 - .../node_modules/lodash/_replaceHolders.js | 29 - .../node_modules/lodash/_root.js | 9 - .../node_modules/lodash/_safeGet.js | 15 - .../node_modules/lodash/_setCacheAdd.js | 19 - .../node_modules/lodash/_setCacheHas.js | 14 - .../node_modules/lodash/_setData.js | 20 - .../node_modules/lodash/_setToArray.js | 18 - .../node_modules/lodash/_setToPairs.js | 18 - .../node_modules/lodash/_setToString.js | 14 - .../node_modules/lodash/_setWrapToString.js | 21 - .../node_modules/lodash/_shortOut.js | 37 - .../node_modules/lodash/_shuffleSelf.js | 28 - .../node_modules/lodash/_stackClear.js | 15 - .../node_modules/lodash/_stackDelete.js | 18 - .../node_modules/lodash/_stackGet.js | 14 - .../node_modules/lodash/_stackHas.js | 14 - .../node_modules/lodash/_stackSet.js | 34 - .../node_modules/lodash/_strictIndexOf.js | 23 - .../node_modules/lodash/_strictLastIndexOf.js | 21 - .../node_modules/lodash/_stringSize.js | 18 - .../node_modules/lodash/_stringToArray.js | 18 - .../node_modules/lodash/_stringToPath.js | 27 - .../node_modules/lodash/_toKey.js | 21 - .../node_modules/lodash/_toSource.js | 26 - .../node_modules/lodash/_unescapeHtmlChar.js | 21 - .../node_modules/lodash/_unicodeSize.js | 44 - .../node_modules/lodash/_unicodeToArray.js | 40 - .../node_modules/lodash/_unicodeWords.js | 69 - .../node_modules/lodash/_updateWrapDetails.js | 46 - .../node_modules/lodash/_wrapperClone.js | 23 - .../node_modules/lodash/add.js | 22 - .../node_modules/lodash/after.js | 42 - .../node_modules/lodash/array.js | 67 - .../node_modules/lodash/ary.js | 29 - .../node_modules/lodash/assign.js | 58 - .../node_modules/lodash/assignIn.js | 40 - .../node_modules/lodash/assignInWith.js | 38 - .../node_modules/lodash/assignWith.js | 37 - .../NetatmoSecurity/node_modules/lodash/at.js | 23 - .../node_modules/lodash/attempt.js | 35 - .../node_modules/lodash/before.js | 40 - .../node_modules/lodash/bind.js | 57 - .../node_modules/lodash/bindAll.js | 41 - .../node_modules/lodash/bindKey.js | 68 - .../node_modules/lodash/camelCase.js | 29 - .../node_modules/lodash/capitalize.js | 23 - .../node_modules/lodash/castArray.js | 44 - .../node_modules/lodash/ceil.js | 26 - .../node_modules/lodash/chain.js | 38 - .../node_modules/lodash/chunk.js | 50 - .../node_modules/lodash/clamp.js | 39 - .../node_modules/lodash/clone.js | 36 - .../node_modules/lodash/cloneDeep.js | 29 - .../node_modules/lodash/cloneDeepWith.js | 40 - .../node_modules/lodash/cloneWith.js | 42 - .../node_modules/lodash/collection.js | 30 - .../node_modules/lodash/commit.js | 33 - .../node_modules/lodash/compact.js | 31 - .../node_modules/lodash/concat.js | 43 - .../node_modules/lodash/cond.js | 60 - .../node_modules/lodash/conforms.js | 35 - .../node_modules/lodash/conformsTo.js | 32 - .../node_modules/lodash/constant.js | 26 - .../node_modules/lodash/core.js | 3854 ---- .../node_modules/lodash/core.min.js | 29 - .../node_modules/lodash/countBy.js | 40 - .../node_modules/lodash/create.js | 43 - .../node_modules/lodash/curry.js | 57 - .../node_modules/lodash/curryRight.js | 54 - .../node_modules/lodash/date.js | 3 - .../node_modules/lodash/debounce.js | 190 - .../node_modules/lodash/deburr.js | 45 - .../node_modules/lodash/defaultTo.js | 25 - .../node_modules/lodash/defaults.js | 64 - .../node_modules/lodash/defaultsDeep.js | 30 - .../node_modules/lodash/defer.js | 26 - .../node_modules/lodash/delay.js | 28 - .../node_modules/lodash/difference.js | 33 - .../node_modules/lodash/differenceBy.js | 44 - .../node_modules/lodash/differenceWith.js | 40 - .../node_modules/lodash/divide.js | 22 - .../node_modules/lodash/drop.js | 38 - .../node_modules/lodash/dropRight.js | 39 - .../node_modules/lodash/dropRightWhile.js | 45 - .../node_modules/lodash/dropWhile.js | 45 - .../node_modules/lodash/each.js | 1 - .../node_modules/lodash/eachRight.js | 1 - .../node_modules/lodash/endsWith.js | 43 - .../node_modules/lodash/entries.js | 1 - .../node_modules/lodash/entriesIn.js | 1 - .../NetatmoSecurity/node_modules/lodash/eq.js | 37 - .../node_modules/lodash/escape.js | 43 - .../node_modules/lodash/escapeRegExp.js | 32 - .../node_modules/lodash/every.js | 56 - .../node_modules/lodash/extend.js | 1 - .../node_modules/lodash/extendWith.js | 1 - .../node_modules/lodash/fill.js | 45 - .../node_modules/lodash/filter.js | 48 - .../node_modules/lodash/find.js | 42 - .../node_modules/lodash/findIndex.js | 55 - .../node_modules/lodash/findKey.js | 44 - .../node_modules/lodash/findLast.js | 25 - .../node_modules/lodash/findLastIndex.js | 59 - .../node_modules/lodash/findLastKey.js | 44 - .../node_modules/lodash/first.js | 1 - .../node_modules/lodash/flatMap.js | 29 - .../node_modules/lodash/flatMapDeep.js | 31 - .../node_modules/lodash/flatMapDepth.js | 31 - .../node_modules/lodash/flatten.js | 22 - .../node_modules/lodash/flattenDeep.js | 25 - .../node_modules/lodash/flattenDepth.js | 33 - .../node_modules/lodash/flip.js | 28 - .../node_modules/lodash/floor.js | 26 - .../node_modules/lodash/flow.js | 27 - .../node_modules/lodash/flowRight.js | 26 - .../node_modules/lodash/forEach.js | 41 - .../node_modules/lodash/forEachRight.js | 31 - .../node_modules/lodash/forIn.js | 39 - .../node_modules/lodash/forInRight.js | 37 - .../node_modules/lodash/forOwn.js | 36 - .../node_modules/lodash/forOwnRight.js | 34 - .../NetatmoSecurity/node_modules/lodash/fp.js | 2 - .../node_modules/lodash/fp/F.js | 1 - .../node_modules/lodash/fp/T.js | 1 - .../node_modules/lodash/fp/__.js | 1 - .../node_modules/lodash/fp/_baseConvert.js | 573 - .../node_modules/lodash/fp/_convertBrowser.js | 18 - .../node_modules/lodash/fp/_falseOptions.js | 7 - .../node_modules/lodash/fp/_mapping.js | 368 - .../node_modules/lodash/fp/_util.js | 16 - .../node_modules/lodash/fp/add.js | 5 - .../node_modules/lodash/fp/after.js | 5 - .../node_modules/lodash/fp/all.js | 1 - .../node_modules/lodash/fp/allPass.js | 1 - .../node_modules/lodash/fp/always.js | 1 - .../node_modules/lodash/fp/any.js | 1 - .../node_modules/lodash/fp/anyPass.js | 1 - .../node_modules/lodash/fp/apply.js | 1 - .../node_modules/lodash/fp/array.js | 2 - .../node_modules/lodash/fp/ary.js | 5 - .../node_modules/lodash/fp/assign.js | 5 - .../node_modules/lodash/fp/assignAll.js | 5 - .../node_modules/lodash/fp/assignAllWith.js | 5 - .../node_modules/lodash/fp/assignIn.js | 5 - .../node_modules/lodash/fp/assignInAll.js | 5 - .../node_modules/lodash/fp/assignInAllWith.js | 5 - .../node_modules/lodash/fp/assignInWith.js | 5 - .../node_modules/lodash/fp/assignWith.js | 5 - .../node_modules/lodash/fp/assoc.js | 1 - .../node_modules/lodash/fp/assocPath.js | 1 - .../node_modules/lodash/fp/at.js | 5 - .../node_modules/lodash/fp/attempt.js | 5 - .../node_modules/lodash/fp/before.js | 5 - .../node_modules/lodash/fp/bind.js | 5 - .../node_modules/lodash/fp/bindAll.js | 5 - .../node_modules/lodash/fp/bindKey.js | 5 - .../node_modules/lodash/fp/camelCase.js | 5 - .../node_modules/lodash/fp/capitalize.js | 5 - .../node_modules/lodash/fp/castArray.js | 5 - .../node_modules/lodash/fp/ceil.js | 5 - .../node_modules/lodash/fp/chain.js | 5 - .../node_modules/lodash/fp/chunk.js | 5 - .../node_modules/lodash/fp/clamp.js | 5 - .../node_modules/lodash/fp/clone.js | 5 - .../node_modules/lodash/fp/cloneDeep.js | 5 - .../node_modules/lodash/fp/cloneDeepWith.js | 5 - .../node_modules/lodash/fp/cloneWith.js | 5 - .../node_modules/lodash/fp/collection.js | 2 - .../node_modules/lodash/fp/commit.js | 5 - .../node_modules/lodash/fp/compact.js | 5 - .../node_modules/lodash/fp/complement.js | 1 - .../node_modules/lodash/fp/compose.js | 1 - .../node_modules/lodash/fp/concat.js | 5 - .../node_modules/lodash/fp/cond.js | 5 - .../node_modules/lodash/fp/conforms.js | 1 - .../node_modules/lodash/fp/conformsTo.js | 5 - .../node_modules/lodash/fp/constant.js | 5 - .../node_modules/lodash/fp/contains.js | 1 - .../node_modules/lodash/fp/convert.js | 18 - .../node_modules/lodash/fp/countBy.js | 5 - .../node_modules/lodash/fp/create.js | 5 - .../node_modules/lodash/fp/curry.js | 5 - .../node_modules/lodash/fp/curryN.js | 5 - .../node_modules/lodash/fp/curryRight.js | 5 - .../node_modules/lodash/fp/curryRightN.js | 5 - .../node_modules/lodash/fp/date.js | 2 - .../node_modules/lodash/fp/debounce.js | 5 - .../node_modules/lodash/fp/deburr.js | 5 - .../node_modules/lodash/fp/defaultTo.js | 5 - .../node_modules/lodash/fp/defaults.js | 5 - .../node_modules/lodash/fp/defaultsAll.js | 5 - .../node_modules/lodash/fp/defaultsDeep.js | 5 - .../node_modules/lodash/fp/defaultsDeepAll.js | 5 - .../node_modules/lodash/fp/defer.js | 5 - .../node_modules/lodash/fp/delay.js | 5 - .../node_modules/lodash/fp/difference.js | 5 - .../node_modules/lodash/fp/differenceBy.js | 5 - .../node_modules/lodash/fp/differenceWith.js | 5 - .../node_modules/lodash/fp/dissoc.js | 1 - .../node_modules/lodash/fp/dissocPath.js | 1 - .../node_modules/lodash/fp/divide.js | 5 - .../node_modules/lodash/fp/drop.js | 5 - .../node_modules/lodash/fp/dropLast.js | 1 - .../node_modules/lodash/fp/dropLastWhile.js | 1 - .../node_modules/lodash/fp/dropRight.js | 5 - .../node_modules/lodash/fp/dropRightWhile.js | 5 - .../node_modules/lodash/fp/dropWhile.js | 5 - .../node_modules/lodash/fp/each.js | 1 - .../node_modules/lodash/fp/eachRight.js | 1 - .../node_modules/lodash/fp/endsWith.js | 5 - .../node_modules/lodash/fp/entries.js | 1 - .../node_modules/lodash/fp/entriesIn.js | 1 - .../node_modules/lodash/fp/eq.js | 5 - .../node_modules/lodash/fp/equals.js | 1 - .../node_modules/lodash/fp/escape.js | 5 - .../node_modules/lodash/fp/escapeRegExp.js | 5 - .../node_modules/lodash/fp/every.js | 5 - .../node_modules/lodash/fp/extend.js | 1 - .../node_modules/lodash/fp/extendAll.js | 1 - .../node_modules/lodash/fp/extendAllWith.js | 1 - .../node_modules/lodash/fp/extendWith.js | 1 - .../node_modules/lodash/fp/fill.js | 5 - .../node_modules/lodash/fp/filter.js | 5 - .../node_modules/lodash/fp/find.js | 5 - .../node_modules/lodash/fp/findFrom.js | 5 - .../node_modules/lodash/fp/findIndex.js | 5 - .../node_modules/lodash/fp/findIndexFrom.js | 5 - .../node_modules/lodash/fp/findKey.js | 5 - .../node_modules/lodash/fp/findLast.js | 5 - .../node_modules/lodash/fp/findLastFrom.js | 5 - .../node_modules/lodash/fp/findLastIndex.js | 5 - .../lodash/fp/findLastIndexFrom.js | 5 - .../node_modules/lodash/fp/findLastKey.js | 5 - .../node_modules/lodash/fp/first.js | 1 - .../node_modules/lodash/fp/flatMap.js | 5 - .../node_modules/lodash/fp/flatMapDeep.js | 5 - .../node_modules/lodash/fp/flatMapDepth.js | 5 - .../node_modules/lodash/fp/flatten.js | 5 - .../node_modules/lodash/fp/flattenDeep.js | 5 - .../node_modules/lodash/fp/flattenDepth.js | 5 - .../node_modules/lodash/fp/flip.js | 5 - .../node_modules/lodash/fp/floor.js | 5 - .../node_modules/lodash/fp/flow.js | 5 - .../node_modules/lodash/fp/flowRight.js | 5 - .../node_modules/lodash/fp/forEach.js | 5 - .../node_modules/lodash/fp/forEachRight.js | 5 - .../node_modules/lodash/fp/forIn.js | 5 - .../node_modules/lodash/fp/forInRight.js | 5 - .../node_modules/lodash/fp/forOwn.js | 5 - .../node_modules/lodash/fp/forOwnRight.js | 5 - .../node_modules/lodash/fp/fromPairs.js | 5 - .../node_modules/lodash/fp/function.js | 2 - .../node_modules/lodash/fp/functions.js | 5 - .../node_modules/lodash/fp/functionsIn.js | 5 - .../node_modules/lodash/fp/get.js | 5 - .../node_modules/lodash/fp/getOr.js | 5 - .../node_modules/lodash/fp/groupBy.js | 5 - .../node_modules/lodash/fp/gt.js | 5 - .../node_modules/lodash/fp/gte.js | 5 - .../node_modules/lodash/fp/has.js | 5 - .../node_modules/lodash/fp/hasIn.js | 5 - .../node_modules/lodash/fp/head.js | 5 - .../node_modules/lodash/fp/identical.js | 1 - .../node_modules/lodash/fp/identity.js | 5 - .../node_modules/lodash/fp/inRange.js | 5 - .../node_modules/lodash/fp/includes.js | 5 - .../node_modules/lodash/fp/includesFrom.js | 5 - .../node_modules/lodash/fp/indexBy.js | 1 - .../node_modules/lodash/fp/indexOf.js | 5 - .../node_modules/lodash/fp/indexOfFrom.js | 5 - .../node_modules/lodash/fp/init.js | 1 - .../node_modules/lodash/fp/initial.js | 5 - .../node_modules/lodash/fp/intersection.js | 5 - .../node_modules/lodash/fp/intersectionBy.js | 5 - .../lodash/fp/intersectionWith.js | 5 - .../node_modules/lodash/fp/invert.js | 5 - .../node_modules/lodash/fp/invertBy.js | 5 - .../node_modules/lodash/fp/invertObj.js | 1 - .../node_modules/lodash/fp/invoke.js | 5 - .../node_modules/lodash/fp/invokeArgs.js | 5 - .../node_modules/lodash/fp/invokeArgsMap.js | 5 - .../node_modules/lodash/fp/invokeMap.js | 5 - .../node_modules/lodash/fp/isArguments.js | 5 - .../node_modules/lodash/fp/isArray.js | 5 - .../node_modules/lodash/fp/isArrayBuffer.js | 5 - .../node_modules/lodash/fp/isArrayLike.js | 5 - .../lodash/fp/isArrayLikeObject.js | 5 - .../node_modules/lodash/fp/isBoolean.js | 5 - .../node_modules/lodash/fp/isBuffer.js | 5 - .../node_modules/lodash/fp/isDate.js | 5 - .../node_modules/lodash/fp/isElement.js | 5 - .../node_modules/lodash/fp/isEmpty.js | 5 - .../node_modules/lodash/fp/isEqual.js | 5 - .../node_modules/lodash/fp/isEqualWith.js | 5 - .../node_modules/lodash/fp/isError.js | 5 - .../node_modules/lodash/fp/isFinite.js | 5 - .../node_modules/lodash/fp/isFunction.js | 5 - .../node_modules/lodash/fp/isInteger.js | 5 - .../node_modules/lodash/fp/isLength.js | 5 - .../node_modules/lodash/fp/isMap.js | 5 - .../node_modules/lodash/fp/isMatch.js | 5 - .../node_modules/lodash/fp/isMatchWith.js | 5 - .../node_modules/lodash/fp/isNaN.js | 5 - .../node_modules/lodash/fp/isNative.js | 5 - .../node_modules/lodash/fp/isNil.js | 5 - .../node_modules/lodash/fp/isNull.js | 5 - .../node_modules/lodash/fp/isNumber.js | 5 - .../node_modules/lodash/fp/isObject.js | 5 - .../node_modules/lodash/fp/isObjectLike.js | 5 - .../node_modules/lodash/fp/isPlainObject.js | 5 - .../node_modules/lodash/fp/isRegExp.js | 5 - .../node_modules/lodash/fp/isSafeInteger.js | 5 - .../node_modules/lodash/fp/isSet.js | 5 - .../node_modules/lodash/fp/isString.js | 5 - .../node_modules/lodash/fp/isSymbol.js | 5 - .../node_modules/lodash/fp/isTypedArray.js | 5 - .../node_modules/lodash/fp/isUndefined.js | 5 - .../node_modules/lodash/fp/isWeakMap.js | 5 - .../node_modules/lodash/fp/isWeakSet.js | 5 - .../node_modules/lodash/fp/iteratee.js | 5 - .../node_modules/lodash/fp/join.js | 5 - .../node_modules/lodash/fp/juxt.js | 1 - .../node_modules/lodash/fp/kebabCase.js | 5 - .../node_modules/lodash/fp/keyBy.js | 5 - .../node_modules/lodash/fp/keys.js | 5 - .../node_modules/lodash/fp/keysIn.js | 5 - .../node_modules/lodash/fp/lang.js | 2 - .../node_modules/lodash/fp/last.js | 5 - .../node_modules/lodash/fp/lastIndexOf.js | 5 - .../node_modules/lodash/fp/lastIndexOfFrom.js | 5 - .../node_modules/lodash/fp/lowerCase.js | 5 - .../node_modules/lodash/fp/lowerFirst.js | 5 - .../node_modules/lodash/fp/lt.js | 5 - .../node_modules/lodash/fp/lte.js | 5 - .../node_modules/lodash/fp/map.js | 5 - .../node_modules/lodash/fp/mapKeys.js | 5 - .../node_modules/lodash/fp/mapValues.js | 5 - .../node_modules/lodash/fp/matches.js | 1 - .../node_modules/lodash/fp/matchesProperty.js | 5 - .../node_modules/lodash/fp/math.js | 2 - .../node_modules/lodash/fp/max.js | 5 - .../node_modules/lodash/fp/maxBy.js | 5 - .../node_modules/lodash/fp/mean.js | 5 - .../node_modules/lodash/fp/meanBy.js | 5 - .../node_modules/lodash/fp/memoize.js | 5 - .../node_modules/lodash/fp/merge.js | 5 - .../node_modules/lodash/fp/mergeAll.js | 5 - .../node_modules/lodash/fp/mergeAllWith.js | 5 - .../node_modules/lodash/fp/mergeWith.js | 5 - .../node_modules/lodash/fp/method.js | 5 - .../node_modules/lodash/fp/methodOf.js | 5 - .../node_modules/lodash/fp/min.js | 5 - .../node_modules/lodash/fp/minBy.js | 5 - .../node_modules/lodash/fp/mixin.js | 5 - .../node_modules/lodash/fp/multiply.js | 5 - .../node_modules/lodash/fp/nAry.js | 1 - .../node_modules/lodash/fp/negate.js | 5 - .../node_modules/lodash/fp/next.js | 5 - .../node_modules/lodash/fp/noop.js | 5 - .../node_modules/lodash/fp/now.js | 5 - .../node_modules/lodash/fp/nth.js | 5 - .../node_modules/lodash/fp/nthArg.js | 5 - .../node_modules/lodash/fp/number.js | 2 - .../node_modules/lodash/fp/object.js | 2 - .../node_modules/lodash/fp/omit.js | 5 - .../node_modules/lodash/fp/omitAll.js | 1 - .../node_modules/lodash/fp/omitBy.js | 5 - .../node_modules/lodash/fp/once.js | 5 - .../node_modules/lodash/fp/orderBy.js | 5 - .../node_modules/lodash/fp/over.js | 5 - .../node_modules/lodash/fp/overArgs.js | 5 - .../node_modules/lodash/fp/overEvery.js | 5 - .../node_modules/lodash/fp/overSome.js | 5 - .../node_modules/lodash/fp/pad.js | 5 - .../node_modules/lodash/fp/padChars.js | 5 - .../node_modules/lodash/fp/padCharsEnd.js | 5 - .../node_modules/lodash/fp/padCharsStart.js | 5 - .../node_modules/lodash/fp/padEnd.js | 5 - .../node_modules/lodash/fp/padStart.js | 5 - .../node_modules/lodash/fp/parseInt.js | 5 - .../node_modules/lodash/fp/partial.js | 5 - .../node_modules/lodash/fp/partialRight.js | 5 - .../node_modules/lodash/fp/partition.js | 5 - .../node_modules/lodash/fp/path.js | 1 - .../node_modules/lodash/fp/pathEq.js | 1 - .../node_modules/lodash/fp/pathOr.js | 1 - .../node_modules/lodash/fp/paths.js | 1 - .../node_modules/lodash/fp/pick.js | 5 - .../node_modules/lodash/fp/pickAll.js | 1 - .../node_modules/lodash/fp/pickBy.js | 5 - .../node_modules/lodash/fp/pipe.js | 1 - .../node_modules/lodash/fp/placeholder.js | 6 - .../node_modules/lodash/fp/plant.js | 5 - .../node_modules/lodash/fp/pluck.js | 1 - .../node_modules/lodash/fp/prop.js | 1 - .../node_modules/lodash/fp/propEq.js | 1 - .../node_modules/lodash/fp/propOr.js | 1 - .../node_modules/lodash/fp/property.js | 1 - .../node_modules/lodash/fp/propertyOf.js | 5 - .../node_modules/lodash/fp/props.js | 1 - .../node_modules/lodash/fp/pull.js | 5 - .../node_modules/lodash/fp/pullAll.js | 5 - .../node_modules/lodash/fp/pullAllBy.js | 5 - .../node_modules/lodash/fp/pullAllWith.js | 5 - .../node_modules/lodash/fp/pullAt.js | 5 - .../node_modules/lodash/fp/random.js | 5 - .../node_modules/lodash/fp/range.js | 5 - .../node_modules/lodash/fp/rangeRight.js | 5 - .../node_modules/lodash/fp/rangeStep.js | 5 - .../node_modules/lodash/fp/rangeStepRight.js | 5 - .../node_modules/lodash/fp/rearg.js | 5 - .../node_modules/lodash/fp/reduce.js | 5 - .../node_modules/lodash/fp/reduceRight.js | 5 - .../node_modules/lodash/fp/reject.js | 5 - .../node_modules/lodash/fp/remove.js | 5 - .../node_modules/lodash/fp/repeat.js | 5 - .../node_modules/lodash/fp/replace.js | 5 - .../node_modules/lodash/fp/rest.js | 5 - .../node_modules/lodash/fp/restFrom.js | 5 - .../node_modules/lodash/fp/result.js | 5 - .../node_modules/lodash/fp/reverse.js | 5 - .../node_modules/lodash/fp/round.js | 5 - .../node_modules/lodash/fp/sample.js | 5 - .../node_modules/lodash/fp/sampleSize.js | 5 - .../node_modules/lodash/fp/seq.js | 2 - .../node_modules/lodash/fp/set.js | 5 - .../node_modules/lodash/fp/setWith.js | 5 - .../node_modules/lodash/fp/shuffle.js | 5 - .../node_modules/lodash/fp/size.js | 5 - .../node_modules/lodash/fp/slice.js | 5 - .../node_modules/lodash/fp/snakeCase.js | 5 - .../node_modules/lodash/fp/some.js | 5 - .../node_modules/lodash/fp/sortBy.js | 5 - .../node_modules/lodash/fp/sortedIndex.js | 5 - .../node_modules/lodash/fp/sortedIndexBy.js | 5 - .../node_modules/lodash/fp/sortedIndexOf.js | 5 - .../node_modules/lodash/fp/sortedLastIndex.js | 5 - .../lodash/fp/sortedLastIndexBy.js | 5 - .../lodash/fp/sortedLastIndexOf.js | 5 - .../node_modules/lodash/fp/sortedUniq.js | 5 - .../node_modules/lodash/fp/sortedUniqBy.js | 5 - .../node_modules/lodash/fp/split.js | 5 - .../node_modules/lodash/fp/spread.js | 5 - .../node_modules/lodash/fp/spreadFrom.js | 5 - .../node_modules/lodash/fp/startCase.js | 5 - .../node_modules/lodash/fp/startsWith.js | 5 - .../node_modules/lodash/fp/string.js | 2 - .../node_modules/lodash/fp/stubArray.js | 5 - .../node_modules/lodash/fp/stubFalse.js | 5 - .../node_modules/lodash/fp/stubObject.js | 5 - .../node_modules/lodash/fp/stubString.js | 5 - .../node_modules/lodash/fp/stubTrue.js | 5 - .../node_modules/lodash/fp/subtract.js | 5 - .../node_modules/lodash/fp/sum.js | 5 - .../node_modules/lodash/fp/sumBy.js | 5 - .../lodash/fp/symmetricDifference.js | 1 - .../lodash/fp/symmetricDifferenceBy.js | 1 - .../lodash/fp/symmetricDifferenceWith.js | 1 - .../node_modules/lodash/fp/tail.js | 5 - .../node_modules/lodash/fp/take.js | 5 - .../node_modules/lodash/fp/takeLast.js | 1 - .../node_modules/lodash/fp/takeLastWhile.js | 1 - .../node_modules/lodash/fp/takeRight.js | 5 - .../node_modules/lodash/fp/takeRightWhile.js | 5 - .../node_modules/lodash/fp/takeWhile.js | 5 - .../node_modules/lodash/fp/tap.js | 5 - .../node_modules/lodash/fp/template.js | 5 - .../lodash/fp/templateSettings.js | 5 - .../node_modules/lodash/fp/throttle.js | 5 - .../node_modules/lodash/fp/thru.js | 5 - .../node_modules/lodash/fp/times.js | 5 - .../node_modules/lodash/fp/toArray.js | 5 - .../node_modules/lodash/fp/toFinite.js | 5 - .../node_modules/lodash/fp/toInteger.js | 5 - .../node_modules/lodash/fp/toIterator.js | 5 - .../node_modules/lodash/fp/toJSON.js | 5 - .../node_modules/lodash/fp/toLength.js | 5 - .../node_modules/lodash/fp/toLower.js | 5 - .../node_modules/lodash/fp/toNumber.js | 5 - .../node_modules/lodash/fp/toPairs.js | 5 - .../node_modules/lodash/fp/toPairsIn.js | 5 - .../node_modules/lodash/fp/toPath.js | 5 - .../node_modules/lodash/fp/toPlainObject.js | 5 - .../node_modules/lodash/fp/toSafeInteger.js | 5 - .../node_modules/lodash/fp/toString.js | 5 - .../node_modules/lodash/fp/toUpper.js | 5 - .../node_modules/lodash/fp/transform.js | 5 - .../node_modules/lodash/fp/trim.js | 5 - .../node_modules/lodash/fp/trimChars.js | 5 - .../node_modules/lodash/fp/trimCharsEnd.js | 5 - .../node_modules/lodash/fp/trimCharsStart.js | 5 - .../node_modules/lodash/fp/trimEnd.js | 5 - .../node_modules/lodash/fp/trimStart.js | 5 - .../node_modules/lodash/fp/truncate.js | 5 - .../node_modules/lodash/fp/unapply.js | 1 - .../node_modules/lodash/fp/unary.js | 5 - .../node_modules/lodash/fp/unescape.js | 5 - .../node_modules/lodash/fp/union.js | 5 - .../node_modules/lodash/fp/unionBy.js | 5 - .../node_modules/lodash/fp/unionWith.js | 5 - .../node_modules/lodash/fp/uniq.js | 5 - .../node_modules/lodash/fp/uniqBy.js | 5 - .../node_modules/lodash/fp/uniqWith.js | 5 - .../node_modules/lodash/fp/uniqueId.js | 5 - .../node_modules/lodash/fp/unnest.js | 1 - .../node_modules/lodash/fp/unset.js | 5 - .../node_modules/lodash/fp/unzip.js | 5 - .../node_modules/lodash/fp/unzipWith.js | 5 - .../node_modules/lodash/fp/update.js | 5 - .../node_modules/lodash/fp/updateWith.js | 5 - .../node_modules/lodash/fp/upperCase.js | 5 - .../node_modules/lodash/fp/upperFirst.js | 5 - .../node_modules/lodash/fp/useWith.js | 1 - .../node_modules/lodash/fp/util.js | 2 - .../node_modules/lodash/fp/value.js | 5 - .../node_modules/lodash/fp/valueOf.js | 5 - .../node_modules/lodash/fp/values.js | 5 - .../node_modules/lodash/fp/valuesIn.js | 5 - .../node_modules/lodash/fp/where.js | 1 - .../node_modules/lodash/fp/whereEq.js | 1 - .../node_modules/lodash/fp/without.js | 5 - .../node_modules/lodash/fp/words.js | 5 - .../node_modules/lodash/fp/wrap.js | 5 - .../node_modules/lodash/fp/wrapperAt.js | 5 - .../node_modules/lodash/fp/wrapperChain.js | 5 - .../node_modules/lodash/fp/wrapperLodash.js | 5 - .../node_modules/lodash/fp/wrapperReverse.js | 5 - .../node_modules/lodash/fp/wrapperValue.js | 5 - .../node_modules/lodash/fp/xor.js | 5 - .../node_modules/lodash/fp/xorBy.js | 5 - .../node_modules/lodash/fp/xorWith.js | 5 - .../node_modules/lodash/fp/zip.js | 5 - .../node_modules/lodash/fp/zipAll.js | 5 - .../node_modules/lodash/fp/zipObj.js | 1 - .../node_modules/lodash/fp/zipObject.js | 5 - .../node_modules/lodash/fp/zipObjectDeep.js | 5 - .../node_modules/lodash/fp/zipWith.js | 5 - .../node_modules/lodash/fromPairs.js | 28 - .../node_modules/lodash/function.js | 25 - .../node_modules/lodash/functions.js | 31 - .../node_modules/lodash/functionsIn.js | 31 - .../node_modules/lodash/get.js | 33 - .../node_modules/lodash/groupBy.js | 41 - .../NetatmoSecurity/node_modules/lodash/gt.js | 29 - .../node_modules/lodash/gte.js | 30 - .../node_modules/lodash/has.js | 35 - .../node_modules/lodash/hasIn.js | 34 - .../node_modules/lodash/head.js | 23 - .../node_modules/lodash/identity.js | 21 - .../node_modules/lodash/inRange.js | 55 - .../node_modules/lodash/includes.js | 53 - .../node_modules/lodash/index.js | 1 - .../node_modules/lodash/indexOf.js | 42 - .../node_modules/lodash/initial.js | 22 - .../node_modules/lodash/intersection.js | 30 - .../node_modules/lodash/intersectionBy.js | 45 - .../node_modules/lodash/intersectionWith.js | 41 - .../node_modules/lodash/invert.js | 42 - .../node_modules/lodash/invertBy.js | 56 - .../node_modules/lodash/invoke.js | 24 - .../node_modules/lodash/invokeMap.js | 41 - .../node_modules/lodash/isArguments.js | 36 - .../node_modules/lodash/isArray.js | 26 - .../node_modules/lodash/isArrayBuffer.js | 27 - .../node_modules/lodash/isArrayLike.js | 33 - .../node_modules/lodash/isArrayLikeObject.js | 33 - .../node_modules/lodash/isBoolean.js | 29 - .../node_modules/lodash/isBuffer.js | 38 - .../node_modules/lodash/isDate.js | 27 - .../node_modules/lodash/isElement.js | 25 - .../node_modules/lodash/isEmpty.js | 77 - .../node_modules/lodash/isEqual.js | 35 - .../node_modules/lodash/isEqualWith.js | 41 - .../node_modules/lodash/isError.js | 36 - .../node_modules/lodash/isFinite.js | 36 - .../node_modules/lodash/isFunction.js | 37 - .../node_modules/lodash/isInteger.js | 33 - .../node_modules/lodash/isLength.js | 35 - .../node_modules/lodash/isMap.js | 27 - .../node_modules/lodash/isMatch.js | 36 - .../node_modules/lodash/isMatchWith.js | 41 - .../node_modules/lodash/isNaN.js | 38 - .../node_modules/lodash/isNative.js | 40 - .../node_modules/lodash/isNil.js | 25 - .../node_modules/lodash/isNull.js | 22 - .../node_modules/lodash/isNumber.js | 38 - .../node_modules/lodash/isObject.js | 31 - .../node_modules/lodash/isObjectLike.js | 29 - .../node_modules/lodash/isPlainObject.js | 62 - .../node_modules/lodash/isRegExp.js | 27 - .../node_modules/lodash/isSafeInteger.js | 37 - .../node_modules/lodash/isSet.js | 27 - .../node_modules/lodash/isString.js | 30 - .../node_modules/lodash/isSymbol.js | 29 - .../node_modules/lodash/isTypedArray.js | 27 - .../node_modules/lodash/isUndefined.js | 22 - .../node_modules/lodash/isWeakMap.js | 28 - .../node_modules/lodash/isWeakSet.js | 28 - .../node_modules/lodash/iteratee.js | 53 - .../node_modules/lodash/join.js | 26 - .../node_modules/lodash/kebabCase.js | 28 - .../node_modules/lodash/keyBy.js | 36 - .../node_modules/lodash/keys.js | 37 - .../node_modules/lodash/keysIn.js | 32 - .../node_modules/lodash/lang.js | 58 - .../node_modules/lodash/last.js | 20 - .../node_modules/lodash/lastIndexOf.js | 46 - .../node_modules/lodash/lodash.js | 17097 ---------------- .../node_modules/lodash/lodash.min.js | 137 - .../node_modules/lodash/lowerCase.js | 27 - .../node_modules/lodash/lowerFirst.js | 22 - .../NetatmoSecurity/node_modules/lodash/lt.js | 29 - .../node_modules/lodash/lte.js | 30 - .../node_modules/lodash/map.js | 53 - .../node_modules/lodash/mapKeys.js | 36 - .../node_modules/lodash/mapValues.js | 43 - .../node_modules/lodash/matches.js | 39 - .../node_modules/lodash/matchesProperty.js | 37 - .../node_modules/lodash/math.js | 17 - .../node_modules/lodash/max.js | 29 - .../node_modules/lodash/maxBy.js | 34 - .../node_modules/lodash/mean.js | 22 - .../node_modules/lodash/meanBy.js | 31 - .../node_modules/lodash/memoize.js | 73 - .../node_modules/lodash/merge.js | 39 - .../node_modules/lodash/mergeWith.js | 39 - .../node_modules/lodash/method.js | 34 - .../node_modules/lodash/methodOf.js | 33 - .../node_modules/lodash/min.js | 29 - .../node_modules/lodash/minBy.js | 34 - .../node_modules/lodash/mixin.js | 74 - .../node_modules/lodash/multiply.js | 22 - .../node_modules/lodash/negate.js | 40 - .../node_modules/lodash/next.js | 35 - .../node_modules/lodash/noop.js | 17 - .../node_modules/lodash/now.js | 23 - .../node_modules/lodash/nth.js | 29 - .../node_modules/lodash/nthArg.js | 32 - .../node_modules/lodash/number.js | 5 - .../node_modules/lodash/object.js | 49 - .../node_modules/lodash/omit.js | 57 - .../node_modules/lodash/omitBy.js | 29 - .../node_modules/lodash/once.js | 25 - .../node_modules/lodash/orderBy.js | 47 - .../node_modules/lodash/over.js | 24 - .../node_modules/lodash/overArgs.js | 61 - .../node_modules/lodash/overEvery.js | 30 - .../node_modules/lodash/overSome.js | 30 - .../node_modules/lodash/package.json | 66 - .../node_modules/lodash/pad.js | 49 - .../node_modules/lodash/padEnd.js | 39 - .../node_modules/lodash/padStart.js | 39 - .../node_modules/lodash/parseInt.js | 43 - .../node_modules/lodash/partial.js | 50 - .../node_modules/lodash/partialRight.js | 49 - .../node_modules/lodash/partition.js | 43 - .../node_modules/lodash/pick.js | 25 - .../node_modules/lodash/pickBy.js | 37 - .../node_modules/lodash/plant.js | 48 - .../node_modules/lodash/property.js | 32 - .../node_modules/lodash/propertyOf.js | 30 - .../node_modules/lodash/pull.js | 29 - .../node_modules/lodash/pullAll.js | 29 - .../node_modules/lodash/pullAllBy.js | 33 - .../node_modules/lodash/pullAllWith.js | 32 - .../node_modules/lodash/pullAt.js | 43 - .../node_modules/lodash/random.js | 82 - .../node_modules/lodash/range.js | 46 - .../node_modules/lodash/rangeRight.js | 41 - .../node_modules/lodash/rearg.js | 33 - .../node_modules/lodash/reduce.js | 51 - .../node_modules/lodash/reduceRight.js | 36 - .../node_modules/lodash/reject.js | 46 - .../node_modules/lodash/remove.js | 53 - .../node_modules/lodash/repeat.js | 37 - .../node_modules/lodash/replace.js | 29 - .../node_modules/lodash/rest.js | 40 - .../node_modules/lodash/result.js | 56 - .../node_modules/lodash/reverse.js | 34 - .../node_modules/lodash/round.js | 26 - .../node_modules/lodash/sample.js | 24 - .../node_modules/lodash/sampleSize.js | 37 - .../node_modules/lodash/seq.js | 16 - .../node_modules/lodash/set.js | 35 - .../node_modules/lodash/setWith.js | 32 - .../node_modules/lodash/shuffle.js | 25 - .../node_modules/lodash/size.js | 46 - .../node_modules/lodash/slice.js | 37 - .../node_modules/lodash/snakeCase.js | 28 - .../node_modules/lodash/some.js | 51 - .../node_modules/lodash/sortBy.js | 48 - .../node_modules/lodash/sortedIndex.js | 24 - .../node_modules/lodash/sortedIndexBy.js | 33 - .../node_modules/lodash/sortedIndexOf.js | 31 - .../node_modules/lodash/sortedLastIndex.js | 25 - .../node_modules/lodash/sortedLastIndexBy.js | 33 - .../node_modules/lodash/sortedLastIndexOf.js | 31 - .../node_modules/lodash/sortedUniq.js | 24 - .../node_modules/lodash/sortedUniqBy.js | 26 - .../node_modules/lodash/split.js | 52 - .../node_modules/lodash/spread.js | 63 - .../node_modules/lodash/startCase.js | 29 - .../node_modules/lodash/startsWith.js | 39 - .../node_modules/lodash/string.js | 33 - .../node_modules/lodash/stubArray.js | 23 - .../node_modules/lodash/stubFalse.js | 18 - .../node_modules/lodash/stubObject.js | 23 - .../node_modules/lodash/stubString.js | 18 - .../node_modules/lodash/stubTrue.js | 18 - .../node_modules/lodash/subtract.js | 22 - .../node_modules/lodash/sum.js | 24 - .../node_modules/lodash/sumBy.js | 33 - .../node_modules/lodash/tail.js | 22 - .../node_modules/lodash/take.js | 37 - .../node_modules/lodash/takeRight.js | 39 - .../node_modules/lodash/takeRightWhile.js | 45 - .../node_modules/lodash/takeWhile.js | 45 - .../node_modules/lodash/tap.js | 29 - .../node_modules/lodash/template.js | 238 - .../node_modules/lodash/templateSettings.js | 67 - .../node_modules/lodash/throttle.js | 69 - .../node_modules/lodash/thru.js | 28 - .../node_modules/lodash/times.js | 51 - .../node_modules/lodash/toArray.js | 58 - .../node_modules/lodash/toFinite.js | 42 - .../node_modules/lodash/toInteger.js | 36 - .../node_modules/lodash/toIterator.js | 23 - .../node_modules/lodash/toJSON.js | 1 - .../node_modules/lodash/toLength.js | 38 - .../node_modules/lodash/toLower.js | 28 - .../node_modules/lodash/toNumber.js | 66 - .../node_modules/lodash/toPairs.js | 30 - .../node_modules/lodash/toPairsIn.js | 30 - .../node_modules/lodash/toPath.js | 33 - .../node_modules/lodash/toPlainObject.js | 32 - .../node_modules/lodash/toSafeInteger.js | 37 - .../node_modules/lodash/toString.js | 28 - .../node_modules/lodash/toUpper.js | 28 - .../node_modules/lodash/transform.js | 65 - .../node_modules/lodash/trim.js | 49 - .../node_modules/lodash/trimEnd.js | 43 - .../node_modules/lodash/trimStart.js | 43 - .../node_modules/lodash/truncate.js | 111 - .../node_modules/lodash/unary.js | 22 - .../node_modules/lodash/unescape.js | 34 - .../node_modules/lodash/union.js | 26 - .../node_modules/lodash/unionBy.js | 39 - .../node_modules/lodash/unionWith.js | 34 - .../node_modules/lodash/uniq.js | 25 - .../node_modules/lodash/uniqBy.js | 31 - .../node_modules/lodash/uniqWith.js | 28 - .../node_modules/lodash/uniqueId.js | 28 - .../node_modules/lodash/unset.js | 34 - .../node_modules/lodash/unzip.js | 45 - .../node_modules/lodash/unzipWith.js | 39 - .../node_modules/lodash/update.js | 35 - .../node_modules/lodash/updateWith.js | 33 - .../node_modules/lodash/upperCase.js | 27 - .../node_modules/lodash/upperFirst.js | 22 - .../node_modules/lodash/util.js | 34 - .../node_modules/lodash/value.js | 1 - .../node_modules/lodash/valueOf.js | 1 - .../node_modules/lodash/values.js | 34 - .../node_modules/lodash/valuesIn.js | 32 - .../node_modules/lodash/without.js | 31 - .../node_modules/lodash/words.js | 35 - .../node_modules/lodash/wrap.js | 30 - .../node_modules/lodash/wrapperAt.js | 48 - .../node_modules/lodash/wrapperChain.js | 34 - .../node_modules/lodash/wrapperLodash.js | 147 - .../node_modules/lodash/wrapperReverse.js | 44 - .../node_modules/lodash/wrapperValue.js | 21 - .../node_modules/lodash/xor.js | 28 - .../node_modules/lodash/xorBy.js | 39 - .../node_modules/lodash/xorWith.js | 34 - .../node_modules/lodash/zip.js | 22 - .../node_modules/lodash/zipObject.js | 24 - .../node_modules/lodash/zipObjectDeep.js | 23 - .../node_modules/lodash/zipWith.js | 32 - .../node_modules/mime-db/HISTORY.md | 212 - .../node_modules/mime-db/LICENSE | 22 - .../node_modules/mime-db/README.md | 76 - .../node_modules/mime-db/db.json | 6359 ------ .../node_modules/mime-db/index.js | 11 - .../node_modules/mime-db/package.json | 93 - .../node_modules/mime-types/HISTORY.md | 115 - .../node_modules/mime-types/LICENSE | 22 - .../node_modules/mime-types/README.md | 102 - .../node_modules/mime-types/index.js | 63 - .../node_modules/mime-types/package.json | 80 - .../node_modules/node-uuid/.npmignore | 4 - .../node_modules/node-uuid/LICENSE.md | 21 - .../node_modules/node-uuid/README.md | 8 - .../node-uuid/benchmark/README.md | 53 - .../node-uuid/benchmark/bench.gnu | 174 - .../node_modules/node-uuid/benchmark/bench.sh | 34 - .../node-uuid/benchmark/benchmark-native.c | 34 - .../node-uuid/benchmark/benchmark.js | 84 - .../node_modules/node-uuid/bin/uuid | 26 - .../node_modules/node-uuid/bower.json | 23 - .../node_modules/node-uuid/component.json | 25 - .../node-uuid/lib/sha1-browser.js | 120 - .../node_modules/node-uuid/package.json | 86 - .../node_modules/node-uuid/test/compare_v1.js | 63 - .../node_modules/node-uuid/test/test.html | 17 - .../node_modules/node-uuid/test/test.js | 231 - .../node_modules/node-uuid/uuid.js | 272 - .../node_modules/node-uuid/v3.js | 54 - .../node_modules/oauth-sign/LICENSE | 55 - .../node_modules/oauth-sign/README.md | 4 - .../node_modules/oauth-sign/index.js | 131 - .../node_modules/oauth-sign/package.json | 52 - .../node_modules/oauth-sign/test.js | 74 - .../NetatmoSecurity/node_modules/psl/LICENSE | 9 - .../node_modules/psl/README.md | 215 - .../node_modules/psl/browserstack-logo.svg | 90 - .../node_modules/psl/data/rules.json | 8807 -------- .../node_modules/psl/dist/psl.js | 9618 --------- .../node_modules/psl/dist/psl.min.js | 1 - .../NetatmoSecurity/node_modules/psl/index.js | 269 - .../node_modules/psl/package.json | 77 - .../node_modules/punycode/LICENSE-MIT.txt | 20 - .../node_modules/punycode/README.md | 122 - .../node_modules/punycode/package.json | 85 - .../node_modules/punycode/punycode.es6.js | 441 - .../node_modules/punycode/punycode.js | 440 - .../node_modules/qs/.jshintignore | 1 - .../NetatmoSecurity/node_modules/qs/.jshintrc | 10 - .../node_modules/qs/.npmignore | 18 - .../node_modules/qs/.travis.yml | 6 - .../node_modules/qs/CHANGELOG.md | 73 - .../node_modules/qs/CONTRIBUTING.md | 1 - .../NetatmoSecurity/node_modules/qs/LICENSE | 28 - .../NetatmoSecurity/node_modules/qs/Makefile | 8 - .../NetatmoSecurity/node_modules/qs/README.md | 233 - .../NetatmoSecurity/node_modules/qs/index.js | 1 - .../node_modules/qs/lib/index.js | 15 - .../node_modules/qs/lib/parse.js | 157 - .../node_modules/qs/lib/stringify.js | 97 - .../node_modules/qs/lib/utils.js | 132 - .../node_modules/qs/package.json | 57 - .../node_modules/qs/test/parse.js | 414 - .../node_modules/qs/test/stringify.js | 209 - .../node_modules/readable-stream/.npmignore | 5 - .../node_modules/readable-stream/LICENSE | 18 - .../node_modules/readable-stream/README.md | 15 - .../node_modules/readable-stream/duplex.js | 1 - .../readable-stream/lib/_stream_duplex.js | 89 - .../lib/_stream_passthrough.js | 46 - .../readable-stream/lib/_stream_readable.js | 982 - .../readable-stream/lib/_stream_transform.js | 210 - .../readable-stream/lib/_stream_writable.js | 386 - .../node_modules/readable-stream/package.json | 65 - .../readable-stream/passthrough.js | 1 - .../node_modules/readable-stream/readable.js | 11 - .../node_modules/readable-stream/transform.js | 1 - .../node_modules/readable-stream/writable.js | 1 - .../node_modules/request/.eslintrc | 39 - .../node_modules/request/.npmignore | 3 - .../node_modules/request/.travis.yml | 12 - .../node_modules/request/CHANGELOG.md | 467 - .../node_modules/request/CONTRIBUTING.md | 44 - .../node_modules/request/LICENSE | 55 - .../node_modules/request/README.md | 1031 - .../request/disabled.appveyor.yml | 36 - .../node_modules/request/examples/README.md | 115 - .../node_modules/request/index.js | 154 - .../node_modules/request/lib/auth.js | 153 - .../node_modules/request/lib/cookies.js | 39 - .../node_modules/request/lib/copy.js | 10 - .../request/lib/getProxyFromURI.js | 79 - .../node_modules/request/lib/har.js | 205 - .../node_modules/request/lib/helpers.js | 55 - .../node_modules/request/lib/multipart.js | 109 - .../node_modules/request/lib/oauth.js | 125 - .../node_modules/request/lib/redirect.js | 154 - .../node_modules/request/package.json | 97 - .../node_modules/request/release.sh | 45 - .../node_modules/request/request.js | 1569 -- .../node_modules/sntp/.npmignore | 18 - .../node_modules/sntp/.travis.yml | 5 - .../NetatmoSecurity/node_modules/sntp/LICENSE | 28 - .../node_modules/sntp/Makefile | 9 - .../node_modules/sntp/README.md | 68 - .../node_modules/sntp/examples/offset.js | 16 - .../node_modules/sntp/examples/time.js | 25 - .../node_modules/sntp/index.js | 1 - .../node_modules/sntp/lib/index.js | 412 - .../node_modules/sntp/package.json | 68 - .../node_modules/sntp/test/index.js | 435 - .../node_modules/string_decoder/.npmignore | 2 - .../node_modules/string_decoder/LICENSE | 20 - .../node_modules/string_decoder/README.md | 7 - .../node_modules/string_decoder/index.js | 221 - .../node_modules/string_decoder/package.json | 53 - .../node_modules/stringstream/.travis.yml | 4 - .../node_modules/stringstream/LICENSE.txt | 22 - .../node_modules/stringstream/README.md | 38 - .../node_modules/stringstream/example.js | 27 - .../node_modules/stringstream/package.json | 51 - .../node_modules/stringstream/stringstream.js | 102 - .../node_modules/strip-ansi/index.js | 6 - .../node_modules/strip-ansi/license | 21 - .../node_modules/strip-ansi/package.json | 101 - .../node_modules/strip-ansi/readme.md | 33 - .../node_modules/supports-color/index.js | 50 - .../node_modules/supports-color/license | 21 - .../node_modules/supports-color/package.json | 89 - .../node_modules/supports-color/readme.md | 36 - .../node_modules/tough-cookie/LICENSE | 12 - .../node_modules/tough-cookie/README.md | 527 - .../node_modules/tough-cookie/lib/cookie.js | 1488 -- .../node_modules/tough-cookie/lib/memstore.js | 181 - .../tough-cookie/lib/pathMatch.js | 61 - .../tough-cookie/lib/permuteDomain.js | 56 - .../tough-cookie/lib/pubsuffix-psl.js | 38 - .../node_modules/tough-cookie/lib/store.js | 75 - .../node_modules/tough-cookie/lib/version.js | 2 - .../node_modules/tough-cookie/package.json | 97 - .../node_modules/tunnel-agent/LICENSE | 55 - .../node_modules/tunnel-agent/README.md | 4 - .../node_modules/tunnel-agent/index.js | 243 - .../node_modules/tunnel-agent/package.json | 53 - .../node_modules/xtend/.jshintrc | 30 - .../node_modules/xtend/LICENSE | 20 - .../node_modules/xtend/README.md | 32 - .../node_modules/xtend/immutable.js | 19 - .../node_modules/xtend/mutable.js | 17 - .../node_modules/xtend/package.json | 86 - .../node_modules/xtend/test.js | 103 - 1529 files changed, 136457 deletions(-) delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator.cmd delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid.cmd delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/logger/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/custom_filter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/option_helper.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/license delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/license delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/errors.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/reader.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/types.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/writer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/reader.test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/writer.test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/assert.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/bower.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/component.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/lib/async.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/async/support/sync-package-managers.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/aws-sign2/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/aws-sign2/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/aws-sign2/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/aws-sign2/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/.jshintrc delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/LICENSE.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/bl.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/test/basic-test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/test/sauce.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bl/test/test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/changelog.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/browser/bluebird.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/browser/bluebird.min.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/any.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/assert.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/async.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/bind.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/bluebird.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/call_get.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/cancel.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/captured_trace.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/catch_filter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/context.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/debuggability.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/direct_resolve.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/each.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/errors.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/es5.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/filter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/finally.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/generators.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/join.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/map.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/method.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/nodeify.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/progress.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/promise.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/promise_array.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/promise_resolver.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/promisify.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/props.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/queue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/race.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/reduce.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/schedule.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/settle.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/some.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/synchronous_inspection.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/thenables.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/timers.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/using.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/js/main/util.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/bluebird/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/CONTRIBUTING.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/images/boom.png delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/lib/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/boom/test/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/caseless/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/caseless/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/caseless/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/caseless/test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/chalk/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/chalk/license delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/chalk/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/chalk/readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/combined-stream/License delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/combined-stream/Readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/combined-stream/lib/combined_stream.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/combined-stream/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/CHANGELOG.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/Readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/commander/typings/index.d.ts delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/float.patch delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/lib/util.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/core-util-is/test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/lib/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/cryptiles/test/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/CHANGELOG delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/README delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/README.old delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/ctf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/ctio.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/ctype.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/man/man3ctype/ctio.3ctype delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/tools/jsl.conf delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ctype/tools/jsstyle delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/License delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/Makefile delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/Readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/lib/delayed_stream.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/common.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-delayed-stream.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-handle-source-errors.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-max-data-size.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-pipe-resumes.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/integration/test-proxy-readable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/delayed-stream/test/run.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/escape-string-regexp/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/escape-string-regexp/license delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/escape-string-regexp/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/escape-string-regexp/readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/forever-agent/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/forever-agent/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/forever-agent/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/forever-agent/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/form-data/License delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/form-data/Readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/form-data/lib/form_data.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/form-data/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/example.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-function/test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/generate-object-property/test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/bin/har-validator delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/error.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/cache.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/cacheEntry.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/content.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/cookie.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/creator.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/entry.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/har.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/log.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/page.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/pageTimings.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/postData.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/record.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/request.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/response.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/lib/schemas/timings.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/har-validator/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/has-ansi/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/has-ansi/license delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/has-ansi/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/has-ansi/readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/Makefile delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/bower.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/component.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/example/usage.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/images/hawk.png delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/images/logo.png delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/browser.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/client.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/crypto.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/server.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/lib/utils.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/browser.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/client.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/crypto.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/message.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/readme.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/server.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/uri.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hawk/test/utils.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/CONTRIBUTING.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/images/hoek.png delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/lib/escape.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/lib/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/escaper.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/modules/ignore.txt delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/modules/test1.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/modules/test2.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/hoek/test/modules/test3.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/.dir-locals.el delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/http_signing.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/parser.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/signer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/util.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/lib/verify.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/http-signature/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/inherits.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/inherits_browser.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/inherits/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ip-regex/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ip-regex/license delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ip-regex/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/ip-regex/readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/fixtures/invalid-ipv4-addresses.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/fixtures/invalid-ipv6-addresses.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/fixtures/valid-ipv4-addresses.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/fixtures/valid-ipv6-addresses.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-ip-valid/test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/formats.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/index.d.ts delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-my-json-valid/require.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/is-property.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/is-property/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/build/build.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/component.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isarray/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/.jshintrc delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/LICENSE.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/isstream.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/isstream/test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/CHANGELOG.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/Makefile delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/stringify.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/test/mocha.opts delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/json-stringify-safe/test/stringify_test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/jsonpointer/LICENSE.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/jsonpointer/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/jsonpointer/jsonpointer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/jsonpointer/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_DataView.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Hash.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_LazyWrapper.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_ListCache.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_LodashWrapper.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Map.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_MapCache.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Promise.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Set.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_SetCache.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Stack.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Symbol.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_Uint8Array.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_WeakMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_apply.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayAggregator.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayEach.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayEachRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayEvery.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayFilter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayIncludes.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayIncludesWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayLikeKeys.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayPush.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayReduce.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayReduceRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arraySample.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arraySampleSize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arrayShuffle.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_arraySome.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_asciiSize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_asciiToArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_asciiWords.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_assignMergeValue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_assignValue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_assocIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAggregator.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAssign.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAssignIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAssignValue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseAt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseClamp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseClone.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseConforms.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseConformsTo.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseCreate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseDelay.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseDifference.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseEach.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseEachRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseEvery.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseExtremum.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFill.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFilter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFindIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFindKey.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFlatten.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFor.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseForOwn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseForOwnRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseForRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseFunctions.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseGet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseGetAllKeys.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseGetTag.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseGt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseHas.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseHasIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseInRange.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIndexOfWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIntersection.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseInverter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseInvoke.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsArguments.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsArrayBuffer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsDate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsEqual.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsEqualDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsMatch.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsNaN.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsNative.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsRegExp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIsTypedArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseIteratee.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseKeys.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseKeysIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseLodash.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseLt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMatches.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMatchesProperty.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMean.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMerge.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseMergeDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseNth.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseOrderBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePick.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePickBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseProperty.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePropertyDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePropertyOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePullAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_basePullAt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseRandom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseRange.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseReduce.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseRepeat.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseRest.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSample.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSampleSize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSetData.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSetToString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseShuffle.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSlice.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSome.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSortBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSortedIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSortedIndexBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSortedUniq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseSum.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseTimes.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseToNumber.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseToPairs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseToString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseUnary.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseUniq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseUnset.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseUpdate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseValues.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseWrapperValue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseXor.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_baseZipObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cacheHas.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castArrayLikeObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castFunction.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castPath.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castRest.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_castSlice.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_charsEndIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_charsStartIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneArrayBuffer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneBuffer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneDataView.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneRegExp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneSymbol.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_cloneTypedArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_compareAscending.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_compareMultiple.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_composeArgs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_composeArgsRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_copyArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_copyObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_copySymbols.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_copySymbolsIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_coreJsData.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_countHolders.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createAggregator.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createAssigner.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createBaseEach.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createBaseFor.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createBind.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createCaseFirst.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createCompounder.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createCtor.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createCurry.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createFind.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createFlow.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createHybrid.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createInverter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createMathOperation.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createOver.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createPadding.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createPartial.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createRange.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createRecurry.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createRelationalOperation.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createRound.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createToPairs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_createWrap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_customDefaultsAssignIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_customDefaultsMerge.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_customOmitClone.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_deburrLetter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_defineProperty.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_equalArrays.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_equalByTag.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_equalObjects.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_escapeHtmlChar.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_escapeStringChar.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_flatRest.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_freeGlobal.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getAllKeys.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getAllKeysIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getData.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getFuncName.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getHolder.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getMapData.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getMatchData.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getNative.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getPrototype.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getRawTag.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getSymbols.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getSymbolsIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getTag.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getValue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getView.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_getWrapDetails.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hasPath.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hasUnicode.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hasUnicodeWord.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashClear.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashDelete.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashGet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashHas.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_hashSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_initCloneArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_initCloneByTag.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_initCloneObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_insertWrapDetails.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isFlattenable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isIterateeCall.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isKey.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isKeyable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isLaziable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isMaskable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isMasked.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isPrototype.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_isStrictComparable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_iteratorToArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_lazyClone.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_lazyReverse.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_lazyValue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheClear.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheDelete.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheGet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheHas.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_listCacheSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheClear.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheDelete.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheGet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheHas.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapCacheSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mapToArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_matchesStrictComparable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_memoizeCapped.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_mergeData.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_metaMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_nativeCreate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_nativeKeys.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_nativeKeysIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_nodeUtil.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_objectToString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_overArg.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_overRest.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_parent.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_reEscape.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_reEvaluate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_reInterpolate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_realNames.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_reorder.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_replaceHolders.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_root.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_safeGet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setCacheAdd.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setCacheHas.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setData.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setToArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setToPairs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setToString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_setWrapToString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_shortOut.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_shuffleSelf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackClear.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackDelete.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackGet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackHas.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stackSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_strictIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_strictLastIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stringSize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stringToArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_stringToPath.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_toKey.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_toSource.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_unescapeHtmlChar.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_unicodeSize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_unicodeToArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_unicodeWords.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_updateWrapDetails.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/_wrapperClone.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/add.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/after.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/array.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/ary.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/assign.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/assignIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/assignInWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/assignWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/at.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/attempt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/before.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/bind.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/bindAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/bindKey.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/camelCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/capitalize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/castArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/ceil.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/chain.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/chunk.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/clamp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/clone.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/cloneDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/cloneDeepWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/cloneWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/collection.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/commit.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/compact.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/concat.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/cond.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/conforms.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/conformsTo.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/constant.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/core.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/core.min.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/countBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/create.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/curry.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/curryRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/date.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/debounce.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/deburr.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/defaultTo.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/defaults.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/defaultsDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/defer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/delay.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/difference.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/differenceBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/differenceWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/divide.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/drop.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/dropRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/dropRightWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/dropWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/each.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/eachRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/endsWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/entries.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/entriesIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/eq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/escape.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/escapeRegExp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/every.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/extend.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/extendWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fill.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/filter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/find.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findKey.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findLast.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findLastIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/findLastKey.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/first.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flatMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flatMapDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flatMapDepth.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flatten.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flattenDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flattenDepth.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flip.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/floor.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flow.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/flowRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forEach.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forEachRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forInRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forOwn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/forOwnRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/F.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/T.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/__.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_baseConvert.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_convertBrowser.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_falseOptions.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_mapping.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/_util.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/add.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/after.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/all.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/allPass.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/always.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/any.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/anyPass.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/apply.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/array.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/ary.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assign.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignAllWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignInAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignInAllWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignInWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assignWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assoc.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/assocPath.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/at.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/attempt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/before.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/bind.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/bindAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/bindKey.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/camelCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/capitalize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/castArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/ceil.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/chain.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/chunk.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/clamp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/clone.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/cloneDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/cloneDeepWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/cloneWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/collection.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/commit.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/compact.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/complement.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/compose.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/concat.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/cond.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/conforms.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/conformsTo.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/constant.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/contains.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/convert.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/countBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/create.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/curry.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/curryN.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/curryRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/curryRightN.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/date.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/debounce.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/deburr.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaultTo.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaults.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaultsAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaultsDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defaultsDeepAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/defer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/delay.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/difference.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/differenceBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/differenceWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dissoc.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dissocPath.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/divide.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/drop.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropLast.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropLastWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropRightWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/dropWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/each.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/eachRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/endsWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/entries.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/entriesIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/eq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/equals.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/escape.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/escapeRegExp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/every.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/extend.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/extendAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/extendAllWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/extendWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/fill.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/filter.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/find.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findFrom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findIndexFrom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findKey.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLast.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLastFrom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLastIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLastIndexFrom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/findLastKey.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/first.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flatMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flatMapDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flatMapDepth.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flatten.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flattenDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flattenDepth.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flip.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/floor.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flow.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/flowRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forEach.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forEachRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forInRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forOwn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/forOwnRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/fromPairs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/function.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/functions.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/functionsIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/get.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/getOr.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/groupBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/gt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/gte.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/has.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/hasIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/head.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/identical.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/identity.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/inRange.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/includes.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/includesFrom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/indexBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/indexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/indexOfFrom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/init.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/initial.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/intersection.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/intersectionBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/intersectionWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invert.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invertBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invertObj.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invoke.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invokeArgs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invokeArgsMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/invokeMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArguments.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArrayBuffer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArrayLike.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isArrayLikeObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isBoolean.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isBuffer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isDate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isElement.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isEmpty.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isEqual.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isEqualWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isError.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isFinite.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isFunction.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isInteger.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isLength.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isMatch.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isMatchWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNaN.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNative.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNil.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNull.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isNumber.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isObjectLike.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isPlainObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isRegExp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isSafeInteger.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isSymbol.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isTypedArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isUndefined.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isWeakMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/isWeakSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/iteratee.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/join.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/juxt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/kebabCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/keyBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/keys.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/keysIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lang.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/last.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lastIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lastIndexOfFrom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lowerCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lowerFirst.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/lte.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/map.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mapKeys.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mapValues.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/matches.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/matchesProperty.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/math.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/max.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/maxBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mean.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/meanBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/memoize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/merge.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mergeAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mergeAllWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mergeWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/method.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/methodOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/min.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/minBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/mixin.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/multiply.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/nAry.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/negate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/next.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/noop.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/now.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/nth.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/nthArg.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/number.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/object.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/omit.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/omitAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/omitBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/once.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/orderBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/over.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/overArgs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/overEvery.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/overSome.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pad.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padChars.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padCharsEnd.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padCharsStart.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padEnd.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/padStart.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/parseInt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/partial.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/partialRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/partition.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/path.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pathEq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pathOr.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/paths.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pick.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pickAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pickBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pipe.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/placeholder.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/plant.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pluck.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/prop.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/propEq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/propOr.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/property.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/propertyOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/props.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pull.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pullAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pullAllBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pullAllWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/pullAt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/random.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/range.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rangeRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rangeStep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rangeStepRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rearg.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/reduce.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/reduceRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/reject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/remove.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/repeat.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/replace.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/rest.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/restFrom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/result.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/reverse.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/round.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sample.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sampleSize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/seq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/set.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/setWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/shuffle.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/size.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/slice.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/snakeCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/some.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedIndexBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedLastIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedLastIndexBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedLastIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedUniq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sortedUniqBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/split.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/spread.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/spreadFrom.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/startCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/startsWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/string.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubFalse.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/stubTrue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/subtract.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sum.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/sumBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/symmetricDifference.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/symmetricDifferenceBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/symmetricDifferenceWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/tail.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/take.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeLast.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeLastWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeRightWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/takeWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/tap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/template.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/templateSettings.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/throttle.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/thru.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/times.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toFinite.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toInteger.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toIterator.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toJSON.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toLength.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toLower.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toNumber.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toPairs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toPairsIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toPath.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toPlainObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toSafeInteger.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/toUpper.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/transform.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trim.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimChars.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimCharsEnd.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimCharsStart.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimEnd.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/trimStart.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/truncate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unapply.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unary.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unescape.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/union.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unionBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unionWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/uniq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/uniqBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/uniqWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/uniqueId.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unnest.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unset.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unzip.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/unzipWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/update.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/updateWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/upperCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/upperFirst.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/useWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/util.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/value.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/valueOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/values.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/valuesIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/where.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/whereEq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/without.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/words.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperAt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperChain.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperLodash.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperReverse.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/wrapperValue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/xor.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/xorBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/xorWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zip.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipObj.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipObjectDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fp/zipWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/fromPairs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/function.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/functions.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/functionsIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/get.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/groupBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/gt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/gte.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/has.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/hasIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/head.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/identity.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/inRange.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/includes.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/indexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/initial.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/intersection.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/intersectionBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/intersectionWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/invert.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/invertBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/invoke.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/invokeMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArguments.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArrayBuffer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArrayLike.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isArrayLikeObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isBoolean.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isBuffer.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isDate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isElement.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isEmpty.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isEqual.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isEqualWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isError.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isFinite.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isFunction.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isInteger.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isLength.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isMatch.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isMatchWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNaN.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNative.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNil.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNull.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isNumber.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isObjectLike.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isPlainObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isRegExp.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isSafeInteger.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isSymbol.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isTypedArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isUndefined.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isWeakMap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/isWeakSet.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/iteratee.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/join.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/kebabCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/keyBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/keys.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/keysIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lang.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/last.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lastIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lodash.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lodash.min.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lowerCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lowerFirst.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/lte.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/map.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mapKeys.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mapValues.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/matches.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/matchesProperty.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/math.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/max.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/maxBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mean.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/meanBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/memoize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/merge.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mergeWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/method.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/methodOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/min.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/minBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/mixin.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/multiply.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/negate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/next.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/noop.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/now.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/nth.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/nthArg.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/number.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/object.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/omit.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/omitBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/once.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/orderBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/over.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/overArgs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/overEvery.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/overSome.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pad.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/padEnd.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/padStart.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/parseInt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/partial.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/partialRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/partition.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pick.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pickBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/plant.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/property.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/propertyOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pull.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pullAll.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pullAllBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pullAllWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/pullAt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/random.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/range.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/rangeRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/rearg.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/reduce.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/reduceRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/reject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/remove.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/repeat.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/replace.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/rest.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/result.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/reverse.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/round.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sample.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sampleSize.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/seq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/set.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/setWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/shuffle.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/size.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/slice.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/snakeCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/some.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedIndexBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedLastIndex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedLastIndexBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedLastIndexOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedUniq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sortedUniqBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/split.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/spread.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/startCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/startsWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/string.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubFalse.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/stubTrue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/subtract.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sum.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/sumBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/tail.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/take.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/takeRight.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/takeRightWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/takeWhile.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/tap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/template.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/templateSettings.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/throttle.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/thru.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/times.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toArray.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toFinite.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toInteger.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toIterator.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toJSON.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toLength.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toLower.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toNumber.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toPairs.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toPairsIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toPath.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toPlainObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toSafeInteger.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toString.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/toUpper.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/transform.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/trim.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/trimEnd.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/trimStart.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/truncate.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unary.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unescape.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/union.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unionBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unionWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/uniq.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/uniqBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/uniqWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/uniqueId.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unset.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unzip.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/unzipWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/update.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/updateWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/upperCase.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/upperFirst.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/util.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/value.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/valueOf.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/values.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/valuesIn.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/without.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/words.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrap.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperAt.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperChain.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperLodash.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperReverse.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/wrapperValue.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/xor.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/xorBy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/xorWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/zip.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/zipObject.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/zipObjectDeep.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/lodash/zipWith.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/HISTORY.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/db.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-db/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/HISTORY.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/mime-types/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/LICENSE.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/bench.gnu delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/bench.sh delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/benchmark-native.c delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/benchmark/benchmark.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/bin/uuid delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/bower.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/component.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/lib/sha1-browser.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/compare_v1.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.html delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/uuid.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/v3.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/test.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/browserstack-logo.svg delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/data/rules.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.min.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/psl/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/LICENSE-MIT.txt delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.es6.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintrc delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/CHANGELOG.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/CONTRIBUTING.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/Makefile delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/parse.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/stringify.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/utils.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/parse.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/stringify.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/duplex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_duplex.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_passthrough.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_readable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_transform.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_writable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/passthrough.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/readable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/transform.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/writable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/.eslintrc delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/CHANGELOG.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/CONTRIBUTING.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/disabled.appveyor.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/examples/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/auth.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/cookies.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/copy.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/getProxyFromURI.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/har.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/helpers.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/multipart.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/oauth.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/redirect.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/release.sh delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/request/request.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/Makefile delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/offset.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/time.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/lib/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/sntp/test/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/.npmignore delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/.travis.yml delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/LICENSE.txt delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/example.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/stringstream.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/license delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/license delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/readme.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/cookie.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/memstore.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/pathMatch.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/permuteDomain.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/pubsuffix-psl.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/store.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/version.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/index.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/.jshintrc delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/LICENSE delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/README.md delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/immutable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/mutable.js delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/package.json delete mode 100644 netatmo-security-connector/NetatmoSecurity/node_modules/xtend/test.js diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator deleted file mode 100644 index e5f2300..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -x "$basedir/node" ]; then - "$basedir/node" "$basedir/../har-validator/bin/har-validator" "$@" - ret=$? -else - node "$basedir/../har-validator/bin/har-validator" "$@" - ret=$? -fi -exit $ret diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator.cmd b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator.cmd deleted file mode 100644 index 45e3fae..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/har-validator.cmd +++ /dev/null @@ -1,7 +0,0 @@ -@IF EXIST "%~dp0\node.exe" ( - "%~dp0\node.exe" "%~dp0\..\har-validator\bin\har-validator" %* -) ELSE ( - @SETLOCAL - @SET PATHEXT=%PATHEXT:;.JS;=;% - node "%~dp0\..\har-validator\bin\har-validator" %* -) \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid deleted file mode 100644 index 4f0e8e6..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -x "$basedir/node" ]; then - "$basedir/node" "$basedir/../node-uuid/bin/uuid" "$@" - ret=$? -else - node "$basedir/../node-uuid/bin/uuid" "$@" - ret=$? -fi -exit $ret diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid.cmd b/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid.cmd deleted file mode 100644 index 9f2abd0..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/.bin/uuid.cmd +++ /dev/null @@ -1,7 +0,0 @@ -@IF EXIST "%~dp0\node.exe" ( - "%~dp0\node.exe" "%~dp0\..\node-uuid\bin\uuid" %* -) ELSE ( - @SETLOCAL - @SET PATHEXT=%PATHEXT:;.JS;=;% - node "%~dp0\..\node-uuid\bin\uuid" %* -) \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/LICENSE deleted file mode 100644 index e6e9056..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 Built.io Flow - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/index.js deleted file mode 100644 index 1e39a75..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/index.js +++ /dev/null @@ -1,7 +0,0 @@ -var trigger = require('./trigger/index') -var logger = require('./logger'); - -module.exports = { - trigger : trigger, - logger: logger -} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/logger/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/logger/index.js deleted file mode 100644 index 958a551..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/logger/index.js +++ /dev/null @@ -1,26 +0,0 @@ -function Logger(){ - this.logs = [ ]; -} - -Logger.prototype.log = function(userlogs){ - var self = this; - if(arguments.length){ - Array.prototype.slice.call(arguments).forEach(function (data){ - if(typeof data === 'object'){ - try { - self.logs.push(JSON.stringify(data)) - }catch(e){ - self.logs.push(String(data)); - } - } else { - self.logs.push(String(data)); - } - }) - } -} - -Logger.prototype.getLogs = function(){ - return this.logs; -} - -module.exports = Logger; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/package.json deleted file mode 100644 index 23d4368..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "_from": "@webmethodsio/cli-sdk@*", - "_id": "@webmethodsio/cli-sdk@1.0.0", - "_inBundle": false, - "_integrity": "sha512-XQycpmMscE6V3rVNlcFI1BWNKuVKSQOViovr05GRqlA2PR5Sl1Qc8xki70N5LovoDcP1QbM7567CIx1Tmn22oA==", - "_location": "/@webmethodsio/cli-sdk", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "@webmethodsio/cli-sdk@*", - "name": "@webmethodsio/cli-sdk", - "escapedName": "@webmethodsio%2fcli-sdk", - "scope": "@webmethodsio", - "rawSpec": "*", - "saveSpec": null, - "fetchSpec": "*" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "https://registry.npmjs.org/@webmethodsio/cli-sdk/-/cli-sdk-1.0.0.tgz", - "_shasum": "e938b9f6775594c7db8776bee10450464323453d", - "_spec": "@webmethodsio/cli-sdk@*", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity", - "bundleDependencies": false, - "dependencies": { - "lodash": "4.17.5" - }, - "deprecated": false, - "description": "Webmethods.io cli sdk", - "engines": { - "node": ">=6" - }, - "main": "index.js", - "name": "@webmethodsio/cli-sdk", - "version": "1.0.0" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/custom_filter.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/custom_filter.js deleted file mode 100644 index 471c07f..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/custom_filter.js +++ /dev/null @@ -1,507 +0,0 @@ - -var _ = require('lodash') -var CustomFilters = { } - -module.exports = CustomFilters - -CustomFilters.schema = { - "type" : "array", - "title" : "Custom Filters", - "items" : { - "type" : "object", - "title" : "filter", - "properties" : { - "input" : { - "type" : "string", - "title" : "Input", - "minLength" :1 - }, - "operator" : { - "type" : "string", - "title" : "Condition", - "minLength":1, - "description" : "Select proper condition", - "enum" : [ - "(Text) Matches", - "(Text) Exactly Matches", - "(Text) Does Not Match", - "(Text) Does Not Exactly Match", - "(Text) Contains", - "(Text) Does Not Contain", - "(Text) Starts With", - "(Text) Does Not Start With", - "(Text) Ends With", - "(Text) Does Not End With", - "(Text) Is Alphanumeric", - "(Text) Is Empty", - "(Number) Equals", - "(Number) Not Equals", - "(Number) Greater Than", - "(Number) Greater Than Equals", - "(Number) Less Than", - "(Number) Less Than Equals", - "(Number) Is Negative", - "(Number) Is Positive", - "(Date/Time) Equals", - "(Date/Time) Less Than", - "(Date/Time) Less Than Equals", - "(Date/Time) Greater Than", - "(Date/Time) Greater Than Equals", - "(Array) Length Equals", - "(Array) Length Does Not Equals", - "(Array) Length Less Than", - "(Array) Length Less Than Equals", - "(Array) Length Greater Than", - "(Array) Length Greater Than Equals", - "(Array) Is Empty", - "(Array) Contains All Object", - "(Array) Contains All String", - "(Array) Contains All Number", - "(Array) Contains All Object And Has This Property", - "(Object) Has Property", - "(Object) Does Not Have Property", - "(Object) Is Empty", - "(Regex) Match Pattern", - "(Boolean) Is True", - "(Boolean) Is False", - "(Input) Exists", - "(Input) Does Not Exist", - "(Input) Is Null", - "(Input) Is Undefined", - "(Input) Is String", - "(Input) Is Number", - "(Input) Is Date", - "(Input) Is An Array", - "(Input) Is An Object", - "(Input) Is Boolean", - "(Input) Data Type Is" - ] - }, - "expected": { - "type": "string", - "title": "Expected", - "minLength":1, - "description" : "Value you are expecting, default value is true in case of condition start with Is" - } - } - } -} - -CustomFilters.filter = filter - -CustomFilters.interpolate = interpolate - -CustomFilters.dataType = dataType - -function filter(filters, data, output){ - var customFilters = [ ]; - if(filters && Array.isArray(filters)){ - customFilters = filters.filter(function(item){ - if(item.input && item.input.trim()){ - return true; - } - }); - } - if(!customFilters.length){ - return output(null, data); - } - data = Array.isArray(data) ? data : [ data ]; - var matched = data.filter(function(item){ - return customFilters.every(function(matcher){ - var condition = matcher.operator || matcher.condition; - var context = clone(item); - context.$params = item; - context.$trigger = item; - return testCondition(interpolate(matcher.input, context), condition, matcher.expected); - }); - }); - - if(matched.length){ - return output(null, matched); - } - return output(null); -} - -function interpolate(input, context){ - if(!input || - typeof(input) === "function" || - typeof(input.on) === "function"){ - return input; - }if(Array.isArray(input)){ - input.forEach(function(item, index){ - input[index] = interpolate(item, context, index); - }); - }if(typeof(input) === "object"){ - Object.keys(input).forEach(function(item){ - input[item] = interpolate(input[item], context, item); - }); - }else if(typeof(input) === "string"){ - input = input.trim(); - var parameters = input.match(/{{([^{}]+)}}/g); - if(parameters && parameters.length){ - var contents = parameters.map(function(itemd){ - itemd = String(itemd).replace(/{{|}}/g, '').trim(); - return _.get(context, itemd, ''); - }); - try{ - if(parameters[0].trim() === input.trim()){ - return contents[0]; - } - parameters.forEach(function(paramItem, index){ - var thisContent = contents[index]; - if(typeof(thisContent) !== "string"){ - thisContent = JSON.stringify(thisContent); - } - input = String(input).replace(paramItem, thisContent); - }); - if(input && typeof(input) === "string" && input.match(/{{([^{}]+)}}/g)){ - return interpolate(input, context); - } - return input; - }catch(e){ - } - } - } - return input; -} - -function testCondition(input, condition, expected){ - try{ - switch(condition){ - case "(Text) Exactly Matches" : - return String(input) === String(expected); - - case "(Text) Matches" : - return String(input).toLowerCase().trim() === String(expected).toLowerCase().trim(); - - case "(Text) Does Not Exactly Match" : - return String(input) !== String(expected); - - case "(Text) Does Not Match": - return String(input).toLowerCase() !== String(expected).toLowerCase(); - - case "(Text) Contains": - return String(input).indexOf(String(expected)) >= 0; - - case "(Text) Does Not Contain": - return String(input).indexOf(String(expected)) === -1; - - case "(Text) Starts With": - return String(input).indexOf(String(expected)) === 0; - - case "(Text) Does Not Start With": - return String(input).indexOf(String(expected)) !== 0; - - case "(Text) Ends With": - return String(input).substr(-String(expected).length) === String(expected); - - case "(Text) Does Not End With" : - return String(input).substr(-String(expected).length) !== String(expected); - - case "(Text) Is Alphanumeric": - if(typeof(input) !== "string" && typeof(input) !== "number"){ - return false; - } - var exp2 = (String(expected).toLowerCase().trim() !== "false"); - return alphaNumeric.test(String(input)) === exp2; - - case "(Text) Is Empty": - var exp3 = (String(expected).toLowerCase().trim() !== "false"); - return ((String(input).trim() == "") === exp3); - - case "(Number) Equals": - return Number(input) === Number(expected); - - case "(Number) Not Equals": - return Number(input) !== Number(expected); - - case "(Number) Greater Than": - return Number(input) > Number(expected); - - case "(Number) Greater Than Equals": - return Number(input) >= Number(expected); - - case "(Number) Less Than": - return Number(input) < Number(expected); - - case "(Number) Less Than Equals": - return Number(input) <= Number(expected); - - case "(Number) Is Negative": - var exp4 = (String(expected).toLowerCase().trim() !== "false"); - return (!isNaN(input) && (Number(input) < 0) === exp4); - - case "(Number) Is Positive": - var exp5 = (String(expected).toLowerCase().trim() !== "false"); - return (!isNaN(input) && (Number(input) >= 0) === exp5); - - case "(Date/Time) Equals": - if(new Date(input) == "Invalid Date"){ - throw Error('input should be a date'); - } - if(new Date(expected) == "Invalid Date"){ - throw Error('expected should be a date'); - } - return ((new Date(input)).getTime() === (new Date(expected)).getTime()); - - case "(Date/Time) Less Than": - if(new Date(input) == "Invalid Date"){ - throw Error('input should be a date'); - } - if(new Date(expected) == "Invalid Date"){ - throw Error('expected should be a date'); - } - return ((new Date(input)).getTime() < (new Date(expected)).getTime()); - - case "(Date/Time) Less Than Equals": - if(new Date(input) == "Invalid Date"){ - throw Error('input should be a date'); - } - if(new Date(expected) == "Invalid Date"){ - throw Error('expected should be a date'); - } - return ((new Date(input)).getTime() <= (new Date(expected)).getTime()); - - case "(Date/Time) Greater Than": - if(new Date(input) == "Invalid Date"){ - throw Error('input should be a date'); - } - if(new Date(expected) == "Invalid Date"){ - throw Error('expected should be a date'); - } - return ((new Date(input)).getTime() > (new Date(expected)).getTime()); - - case "(Date/Time) Greater Than Equals": - if(new Date(input) == "Invalid Date"){ - throw Error('input should be a date'); - } - if(new Date(expected) == "Invalid Date"){ - throw Error('expected should be a date'); - } - return ((new Date(input)).getTime() >= (new Date(expected)).getTime()); - - case "(Date/Time) Is Valid Date": - if(new Date(input) == "Invalid Date"){ - throw Error('input should be a date'); - } - var exp6 = (String(expected).toLowerCase().trim() !== "false"); - return (((new Date(input)) != 'Invalid Date') === exp6); - - case "(Array) Length Equals": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - return input.length === Number(expected); - - case "(Array) Length Does Not Equals": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - return input.length !== Number(expected); - - case "(Array) Length Greater Than": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - return input.length > Number(expected); - - case "(Array) Length Less Than": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - return input.length < Number(expected); - - case "(Array) Length Greater Than Equals": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - return input.length >= Number(expected); - - case "(Array) Length Less Than Equals": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - return input.length <= Number(expected); - - case "(Array) Is Empty": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - var exp23 = (String(expected).toLowerCase().trim() !== "false"); - return ((!input.length) === exp23); - - case "(Array) Contains All Object": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - var exp20 = (String(expected).toLowerCase().trim() !== "false"); - var result = input.every(function(item){ - return (dataType(item) === "Object"); - }); - - return (result === exp20); - - case "(Array) Contains All String": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - var exp21 = (String(expected).toLowerCase().trim() !== "false"); - var result2 = input.every(function(item){ - return (dataType(item) === "String") ; - }); - - return (result2 === exp21); - - case "(Array) Contains All Number": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - var exp22 = (String(expected).toLowerCase().trim() !== "false"); - var result3 = input.every(function(item){ - return (dataType(item) === "Number"); - }); - - return (result3 === exp22); - - case "(Array) Contains All Object And Has This Property": - if(!Array.isArray(input)){ - throw Error('input should be an array'); - } - expected = String(expected).trim(); - if(!String(expected).trim()){ - return false; - } - return input.every(function(item){ - if(item && typeof(item) === 'object' && Object(item).hasOwnProperty(expected)){ - return true; - } - }); - - case "(Object) Has Property": - if(dataType(input) !== "Object"){ - throw Error('input should be an object'); - } - return (input && expected && (typeof(input) === "object") && (typeof(input.hasOwnProperty) === "function") && input.hasOwnProperty(expected)); - - case "(Object) Does Not Have Property": - if(dataType(input) !== "Object"){ - throw Error('input should be an object'); - } - return (input && expected && (typeof(input) === "object") && (typeof(input.hasOwnProperty) === "function") && !input.hasOwnProperty(expected)); - - case "(Object) Is Empty": - if(dataType(input) !== "Object"){ - throw Error('input should be an object'); - } - var exp23 = (String(expected).toLowerCase().trim() !== "false"); - return (_.isEmpty(input) === exp23); - - case "(Regex) Match Pattern": - expected = String(expected); - if(expected.match(/^\/[^\/]+\/?[i|g|m]+$/)){ - var regContent = expected.substr(1, expected.lastIndexOf("/") -1); - var modifier = expected.substr(expected.lastIndexOf("/") + 1, expected.length); - var regEx = RegExp(regContent, modifier); - return regEx.test(input); - }else{ - var regExx = RegExp(expected); - return regExx.test(input); - } - - case "(Boolean) Is True": - case "(Boolean) Is Value True": - if(typeof(input) !== "boolean"){ - throw Error('input should be a boolean'); - } - var exp7 = (String(expected).toLowerCase().trim() !== "false"); - return (input === exp7); - - case "(Boolean) Is False": - case "(Boolean) Is Value False": - if(typeof(input) !== "boolean"){ - throw Error('input should be a boolean'); - } - var exp8 = (String(expected).toLowerCase().trim() !== "false"); - return (input !== exp8); - - case "(Input) Exists": - var exp9 = (String(expected).toLowerCase().trim() !== "false"); - var typ1 = (dataType(input) !== "Undefined"); - return (typ1 && typ1 === exp9); - - case "(Input) Does Not Exist": - var exp10 = (String(expected).toLowerCase().trim() !== "false"); - var typ2 = (dataType(input) === "Undefined" || input === "undefined"); - return (typ2 === exp10); - - case "(Input) Is Null": - var exp11 = (String(expected).toLowerCase().trim() !== "false"); - return ((dataType(input) === "Null") === exp11); - - case "(Input) Is Undefined": - var exp12 = (String(expected).toLowerCase().trim() !== "false"); - return ((dataType(input) === "Undefined") === exp12); - - case "(Input) Is String": - var exp13 = (String(expected).toLowerCase().trim() !== "false"); - return ((dataType(input) === "String") === exp13); - - case "(Input) Is Number": - var exp14 = (String(expected).toLowerCase().trim() !== "false"); - return ((dataType(input) === "Number") === exp14); - - case "(Input) Is Date": - var exp15 = (String(expected).toLowerCase().trim() !== "false"); - return ((String(new Date(input)) !== 'Invalid Date') === exp15); - - case "(Input) Is An Array": - var exp16 = (String(expected).toLowerCase().trim() !== "false"); - return ((dataType(input) === 'Array') === exp16); - - case "(Input) Is An Object": - var exp17 = (String(expected).toLowerCase().trim() !== "false"); - return ((dataType(input) === 'Object') === exp17); - - case "(Input) Is Boolean": - var exp18 = (String(expected).toLowerCase().trim() !== "false"); - return ((dataType(input) === 'Boolean') === exp18); - - case "(Input) Data Type Is": - return dataType(input).toLowerCase() === String(expected).toLowerCase(); - - default: - return false; - } - }catch(e){ - return false; - } -} - -function clone(obj){ - if(obj && typeof(obj) === "object"){ - if(Array.isArray(obj)){ - return obj.slice(0); - }else{ - var ret = { }; - Object.keys(obj).forEach(function(item){ - ret[item] = obj[item]; - }); - return ret; - } - } - return obj; -} - -function dataType(obj){ - try{ - if(typeof(obj) === 'undefined'){ - return 'Undefined'; - }else if(obj === null){ - return 'Null'; - } - var text = Function.prototype.toString.call(obj.constructor); - return text.match(/function (.*)\(/)[1]; - }catch(e){ - return typeof(obj); - } -} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/index.js deleted file mode 100644 index 8ebfa92..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/index.js +++ /dev/null @@ -1,9 +0,0 @@ -var customFilter = require('./custom_filter') -var Meta = require('./option_helper') - -var trigger = { - filter : customFilter.filter, - Meta : Meta -} - -module.exports = trigger \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/option_helper.js b/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/option_helper.js deleted file mode 100644 index ebdbee3..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/@webmethodsio/cli-sdk/trigger/option_helper.js +++ /dev/null @@ -1,24 +0,0 @@ - -module.exports = function Meta(meta){ - - this.meta = (meta && typeof(meta) === 'object') ? meta : {} - - this.setMeta = function(arg1, arg2){ - var me = this - if(arg1 && typeof(arg1) === 'object'){ - Object.keys(arg1).forEach((item)=>{ - me.meta[item] = arg1[item] - }) - }else if(arg1 && - typeof(arg1) === 'string' && - typeof(arg2) === 'string'){ - me.meta[arg1] = arg2 - } - } - - this.getMeta = function(key){ - return this.meta[key] - } -} - - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/index.js deleted file mode 100644 index b9574ed..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; -module.exports = function () { - return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g; -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/license b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/license deleted file mode 100644 index 654d0bf..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/package.json deleted file mode 100644 index c3505c5..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/package.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_from": "ansi-regex@^2.0.0", - "_id": "ansi-regex@2.1.1", - "_inBundle": false, - "_integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "_location": "/ansi-regex", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "ansi-regex@^2.0.0", - "name": "ansi-regex", - "escapedName": "ansi-regex", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/has-ansi", - "/strip-ansi" - ], - "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df", - "_spec": "ansi-regex@^2.0.0", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\has-ansi", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/ansi-regex/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Regular expression for matching ANSI escape codes", - "devDependencies": { - "ava": "0.17.0", - "xo": "0.16.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/chalk/ansi-regex#readme", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "text", - "regex", - "regexp", - "re", - "match", - "test", - "find", - "pattern" - ], - "license": "MIT", - "maintainers": [ - { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - { - "name": "Joshua Appelman", - "email": "jappelman@xebia.com", - "url": "jbnicolai.com" - }, - { - "name": "JD Ballard", - "email": "i.am.qix@gmail.com", - "url": "github.com/qix-" - } - ], - "name": "ansi-regex", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/ansi-regex.git" - }, - "scripts": { - "test": "xo && ava --verbose", - "view-supported": "node fixtures/view-codes.js" - }, - "version": "2.1.1", - "xo": { - "rules": { - "guard-for-in": 0, - "no-loop-func": 0 - } - } -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/readme.md b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/readme.md deleted file mode 100644 index 6a928ed..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-regex/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex) - -> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) - - -## Install - -``` -$ npm install --save ansi-regex -``` - - -## Usage - -```js -const ansiRegex = require('ansi-regex'); - -ansiRegex().test('\u001b[4mcake\u001b[0m'); -//=> true - -ansiRegex().test('cake'); -//=> false - -'\u001b[4mcake\u001b[0m'.match(ansiRegex()); -//=> ['\u001b[4m', '\u001b[0m'] -``` - -## FAQ - -### Why do you test for codes not in the ECMA 48 standard? - -Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them. - -On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/index.js deleted file mode 100644 index 7894527..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/index.js +++ /dev/null @@ -1,65 +0,0 @@ -'use strict'; - -function assembleStyles () { - var styles = { - modifiers: { - reset: [0, 0], - bold: [1, 22], // 21 isn't widely supported and 22 does the same thing - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - colors: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39] - }, - bgColors: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49] - } - }; - - // fix humans - styles.colors.grey = styles.colors.gray; - - Object.keys(styles).forEach(function (groupName) { - var group = styles[groupName]; - - Object.keys(group).forEach(function (styleName) { - var style = group[styleName]; - - styles[styleName] = group[styleName] = { - open: '\u001b[' + style[0] + 'm', - close: '\u001b[' + style[1] + 'm' - }; - }); - - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - }); - - return styles; -} - -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/license b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/license deleted file mode 100644 index 654d0bf..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/package.json deleted file mode 100644 index ca2b0b7..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/package.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "_from": "ansi-styles@^2.2.1", - "_id": "ansi-styles@2.2.1", - "_inBundle": false, - "_integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "_location": "/ansi-styles", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "ansi-styles@^2.2.1", - "name": "ansi-styles", - "escapedName": "ansi-styles", - "rawSpec": "^2.2.1", - "saveSpec": null, - "fetchSpec": "^2.2.1" - }, - "_requiredBy": [ - "/chalk" - ], - "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "_shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe", - "_spec": "ansi-styles@^2.2.1", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\chalk", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/ansi-styles/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "ANSI escape codes for styling strings in the terminal", - "devDependencies": { - "mocha": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/chalk/ansi-styles#readme", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "maintainers": [ - { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - { - "name": "Joshua Appelman", - "email": "jappelman@xebia.com", - "url": "jbnicolai.com" - } - ], - "name": "ansi-styles", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/ansi-styles.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "2.2.1" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/readme.md b/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/readme.md deleted file mode 100644 index 3f933f6..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/ansi-styles/readme.md +++ /dev/null @@ -1,86 +0,0 @@ -# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) - -> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal - -You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. - -![](screenshot.png) - - -## Install - -``` -$ npm install --save ansi-styles -``` - - -## Usage - -```js -var ansi = require('ansi-styles'); - -console.log(ansi.green.open + 'Hello world!' + ansi.green.close); -``` - - -## API - -Each style has an `open` and `close` property. - - -## Styles - -### Modifiers - -- `reset` -- `bold` -- `dim` -- `italic` *(not widely supported)* -- `underline` -- `inverse` -- `hidden` -- `strikethrough` *(not widely supported)* - -### Colors - -- `black` -- `red` -- `green` -- `yellow` -- `blue` -- `magenta` -- `cyan` -- `white` -- `gray` - -### Background colors - -- `bgBlack` -- `bgRed` -- `bgGreen` -- `bgYellow` -- `bgBlue` -- `bgMagenta` -- `bgCyan` -- `bgWhite` - - -## Advanced usage - -By default you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. - -- `ansi.modifiers` -- `ansi.colors` -- `ansi.bgColors` - - -###### Example - -```js -console.log(ansi.colors.green.open); -``` - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/.npmignore deleted file mode 100644 index eb03e3e..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -*.log diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/LICENSE deleted file mode 100644 index 9b5dcdb..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011 Mark Cavage, All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/README.md deleted file mode 100644 index 7cebf7a..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/README.md +++ /dev/null @@ -1,50 +0,0 @@ -node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. -Currently BER encoding is supported; at some point I'll likely have to do DER. - -## Usage - -Mostly, if you're *actually* needing to read and write ASN.1, you probably don't -need this readme to explain what and why. If you have no idea what ASN.1 is, -see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc - -The source is pretty much self-explanatory, and has read/write methods for the -common types out there. - -### Decoding - -The following reads an ASN.1 sequence with a boolean. - - var Ber = require('asn1').Ber; - - var reader = new Ber.Reader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); - - reader.readSequence(); - console.log('Sequence len: ' + reader.length); - if (reader.peek() === Ber.Boolean) - console.log(reader.readBoolean()); - -### Encoding - -The following generates the same payload as above. - - var Ber = require('asn1').Ber; - - var writer = new Ber.Writer(); - - writer.startSequence(); - writer.writeBoolean(true); - writer.endSequence(); - - console.log(writer.buffer); - -## Installation - - npm install asn1 - -## License - -MIT. - -## Bugs - -See . diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/errors.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/errors.js deleted file mode 100644 index ff21d4f..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/errors.js +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - - -module.exports = { - - newInvalidAsn1Error: function(msg) { - var e = new Error(); - e.name = 'InvalidAsn1Error'; - e.message = msg || ''; - return e; - } - -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/index.js deleted file mode 100644 index 4fb90ae..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/index.js +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var errors = require('./errors'); -var types = require('./types'); - -var Reader = require('./reader'); -var Writer = require('./writer'); - - -///--- Exports - -module.exports = { - - Reader: Reader, - - Writer: Writer - -}; - -for (var t in types) { - if (types.hasOwnProperty(t)) - module.exports[t] = types[t]; -} -for (var e in errors) { - if (errors.hasOwnProperty(e)) - module.exports[e] = errors[e]; -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/reader.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/reader.js deleted file mode 100644 index bd3357a..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/reader.js +++ /dev/null @@ -1,267 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var assert = require('assert'); - -var ASN1 = require('./types'); -var errors = require('./errors'); - - -///--- Globals - -var newInvalidAsn1Error = errors.newInvalidAsn1Error; - - - -///--- API - -function Reader(data) { - if (!data || !Buffer.isBuffer(data)) - throw new TypeError('data must be a node Buffer'); - - this._buf = data; - this._size = data.length; - - // These hold the "current" state - this._len = 0; - this._offset = 0; - - var self = this; - this.__defineGetter__('length', function() { return self._len; }); - this.__defineGetter__('offset', function() { return self._offset; }); - this.__defineGetter__('remain', function() { - return self._size - self._offset; - }); - this.__defineGetter__('buffer', function() { - return self._buf.slice(self._offset); - }); -} - - -/** - * Reads a single byte and advances offset; you can pass in `true` to make this - * a "peek" operation (i.e., get the byte, but don't advance the offset). - * - * @param {Boolean} peek true means don't move offset. - * @return {Number} the next byte, null if not enough data. - */ -Reader.prototype.readByte = function(peek) { - if (this._size - this._offset < 1) - return null; - - var b = this._buf[this._offset] & 0xff; - - if (!peek) - this._offset += 1; - - return b; -}; - - -Reader.prototype.peek = function() { - return this.readByte(true); -}; - - -/** - * Reads a (potentially) variable length off the BER buffer. This call is - * not really meant to be called directly, as callers have to manipulate - * the internal buffer afterwards. - * - * As a result of this call, you can call `Reader.length`, until the - * next thing called that does a readLength. - * - * @return {Number} the amount of offset to advance the buffer. - * @throws {InvalidAsn1Error} on bad ASN.1 - */ -Reader.prototype.readLength = function(offset) { - if (offset === undefined) - offset = this._offset; - - if (offset >= this._size) - return null; - - var lenB = this._buf[offset++] & 0xff; - if (lenB === null) - return null; - - if ((lenB & 0x80) == 0x80) { - lenB &= 0x7f; - - if (lenB == 0) - throw newInvalidAsn1Error('Indefinite length not supported'); - - if (lenB > 4) - throw newInvalidAsn1Error('encoding too long'); - - if (this._size - offset < lenB) - return null; - - this._len = 0; - for (var i = 0; i < lenB; i++) - this._len = (this._len << 8) + (this._buf[offset++] & 0xff); - - } else { - // Wasn't a variable length - this._len = lenB; - } - - return offset; -}; - - -/** - * Parses the next sequence in this BER buffer. - * - * To get the length of the sequence, call `Reader.length`. - * - * @return {Number} the sequence's tag. - */ -Reader.prototype.readSequence = function(tag) { - var seq = this.peek(); - if (seq === null) - return null; - if (tag !== undefined && tag !== seq) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + seq.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - if (o === null) - return null; - - this._offset = o; - return seq; -}; - - -Reader.prototype.readInt = function() { - return this._readTag(ASN1.Integer); -}; - - -Reader.prototype.readBoolean = function() { - return (this._readTag(ASN1.Boolean) === 0 ? false : true); -}; - - -Reader.prototype.readEnumeration = function() { - return this._readTag(ASN1.Enumeration); -}; - - -Reader.prototype.readString = function(tag, retbuf) { - if (!tag) - tag = ASN1.OctetString; - - var b = this.peek(); - if (b === null) - return null; - - if (b !== tag) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + b.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - - if (o === null) - return null; - - if (this.length > this._size - o) - return null; - - this._offset = o; - - if (this.length === 0) - return ''; - - var str = this._buf.slice(this._offset, this._offset + this.length); - this._offset += this.length; - - return retbuf ? str : str.toString('utf8'); -}; - -Reader.prototype.readOID = function(tag) { - if (!tag) - tag = ASN1.OID; - - var b = this.peek(); - if (b === null) - return null; - - if (b !== tag) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + b.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - if (o === null) - return null; - - if (this.length > this._size - o) - return null; - - this._offset = o; - - var values = []; - var value = 0; - - for (var i = 0; i < this.length; i++) { - var byte = this._buf[this._offset++] & 0xff; - - value <<= 7; - value += byte & 0x7f; - if ((byte & 0x80) == 0) { - values.push(value); - value = 0; - } - } - - value = values.shift(); - values.unshift(value % 40); - values.unshift((value / 40) >> 0); - - return values.join('.'); -}; - - -Reader.prototype._readTag = function(tag) { - assert.ok(tag !== undefined); - - var b = this.peek(); - - if (b === null) - return null; - - if (b !== tag) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + b.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - if (o === null) - return null; - - if (this.length > 4) - throw newInvalidAsn1Error('Integer too long: ' + this.length); - - if (this.length > this._size - o) - return null; - this._offset = o; - - var fb = this._buf[this._offset++]; - var value = 0; - - value = fb & 0x7F; - for (var i = 1; i < this.length; i++) { - value <<= 8; - value |= (this._buf[this._offset++] & 0xff); - } - - if ((fb & 0x80) == 0x80) - value = -value; - - return value; -}; - - - -///--- Exported API - -module.exports = Reader; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/types.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/types.js deleted file mode 100644 index 8aea000..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/types.js +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - - -module.exports = { - EOC: 0, - Boolean: 1, - Integer: 2, - BitString: 3, - OctetString: 4, - Null: 5, - OID: 6, - ObjectDescriptor: 7, - External: 8, - Real: 9, // float - Enumeration: 10, - PDV: 11, - Utf8String: 12, - RelativeOID: 13, - Sequence: 16, - Set: 17, - NumericString: 18, - PrintableString: 19, - T61String: 20, - VideotexString: 21, - IA5String: 22, - UTCTime: 23, - GeneralizedTime: 24, - GraphicString: 25, - VisibleString: 26, - GeneralString: 28, - UniversalString: 29, - CharacterString: 30, - BMPString: 31, - Constructor: 32, - Context: 128 -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/writer.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/writer.js deleted file mode 100644 index 7b445cc..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/ber/writer.js +++ /dev/null @@ -1,317 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var assert = require('assert'); -var ASN1 = require('./types'); -var errors = require('./errors'); - - -///--- Globals - -var newInvalidAsn1Error = errors.newInvalidAsn1Error; - -var DEFAULT_OPTS = { - size: 1024, - growthFactor: 8 -}; - - -///--- Helpers - -function merge(from, to) { - assert.ok(from); - assert.equal(typeof(from), 'object'); - assert.ok(to); - assert.equal(typeof(to), 'object'); - - var keys = Object.getOwnPropertyNames(from); - keys.forEach(function(key) { - if (to[key]) - return; - - var value = Object.getOwnPropertyDescriptor(from, key); - Object.defineProperty(to, key, value); - }); - - return to; -} - - - -///--- API - -function Writer(options) { - options = merge(DEFAULT_OPTS, options || {}); - - this._buf = new Buffer(options.size || 1024); - this._size = this._buf.length; - this._offset = 0; - this._options = options; - - // A list of offsets in the buffer where we need to insert - // sequence tag/len pairs. - this._seq = []; - - var self = this; - this.__defineGetter__('buffer', function() { - if (self._seq.length) - throw new InvalidAsn1Error(self._seq.length + ' unended sequence(s)'); - - return self._buf.slice(0, self._offset); - }); -} - - -Writer.prototype.writeByte = function(b) { - if (typeof(b) !== 'number') - throw new TypeError('argument must be a Number'); - - this._ensure(1); - this._buf[this._offset++] = b; -}; - - -Writer.prototype.writeInt = function(i, tag) { - if (typeof(i) !== 'number') - throw new TypeError('argument must be a Number'); - if (typeof(tag) !== 'number') - tag = ASN1.Integer; - - var sz = 4; - - while ((((i & 0xff800000) === 0) || ((i & 0xff800000) === 0xff800000)) && - (sz > 1)) { - sz--; - i <<= 8; - } - - if (sz > 4) - throw new InvalidAsn1Error('BER ints cannot be > 0xffffffff'); - - this._ensure(2 + sz); - this._buf[this._offset++] = tag; - this._buf[this._offset++] = sz; - - while (sz-- > 0) { - this._buf[this._offset++] = ((i & 0xff000000) >> 24); - i <<= 8; - } - -}; - - -Writer.prototype.writeNull = function() { - this.writeByte(ASN1.Null); - this.writeByte(0x00); -}; - - -Writer.prototype.writeEnumeration = function(i, tag) { - if (typeof(i) !== 'number') - throw new TypeError('argument must be a Number'); - if (typeof(tag) !== 'number') - tag = ASN1.Enumeration; - - return this.writeInt(i, tag); -}; - - -Writer.prototype.writeBoolean = function(b, tag) { - if (typeof(b) !== 'boolean') - throw new TypeError('argument must be a Boolean'); - if (typeof(tag) !== 'number') - tag = ASN1.Boolean; - - this._ensure(3); - this._buf[this._offset++] = tag; - this._buf[this._offset++] = 0x01; - this._buf[this._offset++] = b ? 0xff : 0x00; -}; - - -Writer.prototype.writeString = function(s, tag) { - if (typeof(s) !== 'string') - throw new TypeError('argument must be a string (was: ' + typeof(s) + ')'); - if (typeof(tag) !== 'number') - tag = ASN1.OctetString; - - var len = Buffer.byteLength(s); - this.writeByte(tag); - this.writeLength(len); - if (len) { - this._ensure(len); - this._buf.write(s, this._offset); - this._offset += len; - } -}; - - -Writer.prototype.writeBuffer = function(buf, tag) { - if (typeof(tag) !== 'number') - throw new TypeError('tag must be a number'); - if (!Buffer.isBuffer(buf)) - throw new TypeError('argument must be a buffer'); - - this.writeByte(tag); - this.writeLength(buf.length); - this._ensure(buf.length); - buf.copy(this._buf, this._offset, 0, buf.length); - this._offset += buf.length; -}; - - -Writer.prototype.writeStringArray = function(strings) { - if ((!strings instanceof Array)) - throw new TypeError('argument must be an Array[String]'); - - var self = this; - strings.forEach(function(s) { - self.writeString(s); - }); -}; - -// This is really to solve DER cases, but whatever for now -Writer.prototype.writeOID = function(s, tag) { - if (typeof(s) !== 'string') - throw new TypeError('argument must be a string'); - if (typeof(tag) !== 'number') - tag = ASN1.OID; - - if (!/^([0-9]+\.){3,}[0-9]+$/.test(s)) - throw new Error('argument is not a valid OID string'); - - function encodeOctet(bytes, octet) { - if (octet < 128) { - bytes.push(octet); - } else if (octet < 16384) { - bytes.push((octet >>> 7) | 0x80); - bytes.push(octet & 0x7F); - } else if (octet < 2097152) { - bytes.push((octet >>> 14) | 0x80); - bytes.push(((octet >>> 7) | 0x80) & 0xFF); - bytes.push(octet & 0x7F); - } else if (octet < 268435456) { - bytes.push((octet >>> 21) | 0x80); - bytes.push(((octet >>> 14) | 0x80) & 0xFF); - bytes.push(((octet >>> 7) | 0x80) & 0xFF); - bytes.push(octet & 0x7F); - } else { - bytes.push(((octet >>> 28) | 0x80) & 0xFF); - bytes.push(((octet >>> 21) | 0x80) & 0xFF); - bytes.push(((octet >>> 14) | 0x80) & 0xFF); - bytes.push(((octet >>> 7) | 0x80) & 0xFF); - bytes.push(octet & 0x7F); - } - } - - var tmp = s.split('.'); - var bytes = []; - bytes.push(parseInt(tmp[0], 10) * 40 + parseInt(tmp[1], 10)); - tmp.slice(2).forEach(function(b) { - encodeOctet(bytes, parseInt(b, 10)); - }); - - var self = this; - this._ensure(2 + bytes.length); - this.writeByte(tag); - this.writeLength(bytes.length); - bytes.forEach(function(b) { - self.writeByte(b); - }); -}; - - -Writer.prototype.writeLength = function(len) { - if (typeof(len) !== 'number') - throw new TypeError('argument must be a Number'); - - this._ensure(4); - - if (len <= 0x7f) { - this._buf[this._offset++] = len; - } else if (len <= 0xff) { - this._buf[this._offset++] = 0x81; - this._buf[this._offset++] = len; - } else if (len <= 0xffff) { - this._buf[this._offset++] = 0x82; - this._buf[this._offset++] = len >> 8; - this._buf[this._offset++] = len; - } else if (len <= 0xffffff) { - this._shift(start, len, 1); - this._buf[this._offset++] = 0x83; - this._buf[this._offset++] = len >> 16; - this._buf[this._offset++] = len >> 8; - this._buf[this._offset++] = len; - } else { - throw new InvalidAsn1ERror('Length too long (> 4 bytes)'); - } -}; - -Writer.prototype.startSequence = function(tag) { - if (typeof(tag) !== 'number') - tag = ASN1.Sequence | ASN1.Constructor; - - this.writeByte(tag); - this._seq.push(this._offset); - this._ensure(3); - this._offset += 3; -}; - - -Writer.prototype.endSequence = function() { - var seq = this._seq.pop(); - var start = seq + 3; - var len = this._offset - start; - - if (len <= 0x7f) { - this._shift(start, len, -2); - this._buf[seq] = len; - } else if (len <= 0xff) { - this._shift(start, len, -1); - this._buf[seq] = 0x81; - this._buf[seq + 1] = len; - } else if (len <= 0xffff) { - this._buf[seq] = 0x82; - this._buf[seq + 1] = len >> 8; - this._buf[seq + 2] = len; - } else if (len <= 0xffffff) { - this._shift(start, len, 1); - this._buf[seq] = 0x83; - this._buf[seq + 1] = len >> 16; - this._buf[seq + 2] = len >> 8; - this._buf[seq + 3] = len; - } else { - throw new InvalidAsn1Error('Sequence too long'); - } -}; - - -Writer.prototype._shift = function(start, len, shift) { - assert.ok(start !== undefined); - assert.ok(len !== undefined); - assert.ok(shift); - - this._buf.copy(this._buf, start + shift, start, start + len); - this._offset += shift; -}; - -Writer.prototype._ensure = function(len) { - assert.ok(len); - - if (this._size - this._offset < len) { - var sz = this._size * this._options.growthFactor; - if (sz - this._offset < len) - sz += len; - - var buf = new Buffer(sz); - - this._buf.copy(buf, 0, 0, this._offset); - this._buf = buf; - this._size = sz; - } -}; - - - -///--- Exported API - -module.exports = Writer; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/index.js deleted file mode 100644 index d1766e7..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/lib/index.js +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -// If you have no idea what ASN.1 or BER is, see this: -// ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc - -var Ber = require('./ber/index'); - - - -///--- Exported API - -module.exports = { - - Ber: Ber, - - BerReader: Ber.Reader, - - BerWriter: Ber.Writer - -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/package.json deleted file mode 100644 index 8ea97ed..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "_from": "asn1@0.1.11", - "_id": "asn1@0.1.11", - "_inBundle": false, - "_integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", - "_location": "/asn1", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "asn1@0.1.11", - "name": "asn1", - "escapedName": "asn1", - "rawSpec": "0.1.11", - "saveSpec": null, - "fetchSpec": "0.1.11" - }, - "_requiredBy": [ - "/http-signature" - ], - "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", - "_shasum": "559be18376d08a4ec4dbe80877d27818639b2df7", - "_spec": "asn1@0.1.11", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\http-signature", - "author": { - "name": "Mark Cavage", - "email": "mcavage@gmail.com" - }, - "bugs": { - "url": "https://github.com/mcavage/node-asn1/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "David Gwynne", - "email": "loki@animata.net" - }, - { - "name": "Yunong Xiao", - "email": "yunong@joyent.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Contains parsers and serializers for ASN.1 (currently BER only)", - "devDependencies": { - "tap": "0.1.4" - }, - "engines": { - "node": ">=0.4.9" - }, - "homepage": "https://github.com/mcavage/node-asn1#readme", - "main": "lib/index.js", - "name": "asn1", - "repository": { - "type": "git", - "url": "git://github.com/mcavage/node-asn1.git" - }, - "scripts": { - "pretest": "which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi", - "test": "tap ./tst" - }, - "version": "0.1.11" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/reader.test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/reader.test.js deleted file mode 100644 index 0b78b47..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/reader.test.js +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var test = require('tap').test; - - - -///--- Globals - -var BerReader; - - - -///--- Tests - -test('load library', function(t) { - BerReader = require('../../lib/index').BerReader; - t.ok(BerReader); - try { - new BerReader(); - t.fail('Should have thrown'); - } catch (e) { - t.ok(e instanceof TypeError, 'Should have been a type error'); - } - t.end(); -}); - - -test('read byte', function(t) { - var reader = new BerReader(new Buffer([0xde])); - t.ok(reader); - t.equal(reader.readByte(), 0xde, 'wrong value'); - t.end(); -}); - - -test('read 1 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x01, 0x03])); - t.ok(reader); - t.equal(reader.readInt(), 0x03, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read 2 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x02, 0x7e, 0xde])); - t.ok(reader); - t.equal(reader.readInt(), 0x7ede, 'wrong value'); - t.equal(reader.length, 0x02, 'wrong length'); - t.end(); -}); - - -test('read 3 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x03, 0x7e, 0xde, 0x03])); - t.ok(reader); - t.equal(reader.readInt(), 0x7ede03, 'wrong value'); - t.equal(reader.length, 0x03, 'wrong length'); - t.end(); -}); - - -test('read 4 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x04, 0x7e, 0xde, 0x03, 0x01])); - t.ok(reader); - t.equal(reader.readInt(), 0x7ede0301, 'wrong value'); - t.equal(reader.length, 0x04, 'wrong length'); - t.end(); -}); - - -test('read boolean true', function(t) { - var reader = new BerReader(new Buffer([0x01, 0x01, 0xff])); - t.ok(reader); - t.equal(reader.readBoolean(), true, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read boolean false', function(t) { - var reader = new BerReader(new Buffer([0x01, 0x01, 0x00])); - t.ok(reader); - t.equal(reader.readBoolean(), false, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read enumeration', function(t) { - var reader = new BerReader(new Buffer([0x0a, 0x01, 0x20])); - t.ok(reader); - t.equal(reader.readEnumeration(), 0x20, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read string', function(t) { - var dn = 'cn=foo,ou=unit,o=test'; - var buf = new Buffer(dn.length + 2); - buf[0] = 0x04; - buf[1] = Buffer.byteLength(dn); - buf.write(dn, 2); - var reader = new BerReader(buf); - t.ok(reader); - t.equal(reader.readString(), dn, 'wrong value'); - t.equal(reader.length, dn.length, 'wrong length'); - t.end(); -}); - - -test('read sequence', function(t) { - var reader = new BerReader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); - t.ok(reader); - t.equal(reader.readSequence(), 0x30, 'wrong value'); - t.equal(reader.length, 0x03, 'wrong length'); - t.equal(reader.readBoolean(), true, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('anonymous LDAPv3 bind', function(t) { - var BIND = new Buffer(14); - BIND[0] = 0x30; // Sequence - BIND[1] = 12; // len - BIND[2] = 0x02; // ASN.1 Integer - BIND[3] = 1; // len - BIND[4] = 0x04; // msgid (make up 4) - BIND[5] = 0x60; // Bind Request - BIND[6] = 7; // len - BIND[7] = 0x02; // ASN.1 Integer - BIND[8] = 1; // len - BIND[9] = 0x03; // v3 - BIND[10] = 0x04; // String (bind dn) - BIND[11] = 0; // len - BIND[12] = 0x80; // ContextSpecific (choice) - BIND[13] = 0; // simple bind - - // Start testing ^^ - var ber = new BerReader(BIND); - t.equal(ber.readSequence(), 48, 'Not an ASN.1 Sequence'); - t.equal(ber.length, 12, 'Message length should be 12'); - t.equal(ber.readInt(), 4, 'Message id should have been 4'); - t.equal(ber.readSequence(), 96, 'Bind Request should have been 96'); - t.equal(ber.length, 7, 'Bind length should have been 7'); - t.equal(ber.readInt(), 3, 'LDAP version should have been 3'); - t.equal(ber.readString(), '', 'Bind DN should have been empty'); - t.equal(ber.length, 0, 'string length should have been 0'); - t.equal(ber.readByte(), 0x80, 'Should have been ContextSpecific (choice)'); - t.equal(ber.readByte(), 0, 'Should have been simple bind'); - t.equal(null, ber.readByte(), 'Should be out of data'); - t.end(); -}); - - -test('long string', function(t) { - var buf = new Buffer(256); - var o; - var s = - '2;649;CN=Red Hat CS 71GA Demo,O=Red Hat CS 71GA Demo,C=US;' + - 'CN=RHCS Agent - admin01,UID=admin01,O=redhat,C=US [1] This is ' + - 'Teena Vradmin\'s description.'; - buf[0] = 0x04; - buf[1] = 0x81; - buf[2] = 0x94; - buf.write(s, 3); - var ber = new BerReader(buf.slice(0, 3 + s.length)); - t.equal(ber.readString(), s); - t.end(); -}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/writer.test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/writer.test.js deleted file mode 100644 index add0b9f..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/asn1/tst/ber/writer.test.js +++ /dev/null @@ -1,296 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var test = require('tap').test; -var sys = require('sys'); - -///--- Globals - -var BerWriter; - -var BerReader; - - -///--- Tests - -test('load library', function(t) { - BerWriter = require('../../lib/index').BerWriter; - t.ok(BerWriter); - t.ok(new BerWriter()); - t.end(); -}); - - -test('write byte', function(t) { - var writer = new BerWriter(); - - writer.writeByte(0xC2); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 1, 'Wrong length'); - t.equal(ber[0], 0xC2, 'value wrong'); - - t.end(); -}); - - -test('write 1 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7f); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 3, 'Wrong length for an int: ' + ber.length); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong (2) -> ' + ber[0]); - t.equal(ber[1], 0x01, 'length wrong(1) -> ' + ber[1]); - t.equal(ber[2], 0x7f, 'value wrong(3) -> ' + ber[2]); - - t.end(); -}); - - -test('write 2 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7ffe); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 4, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x02, 'length wrong'); - t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); - t.equal(ber[3], 0xfe, 'value wrong (byte 2)'); - - t.end(); -}); - - -test('write 3 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7ffffe); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 5, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x03, 'length wrong'); - t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); - t.equal(ber[3], 0xff, 'value wrong (byte 2)'); - t.equal(ber[4], 0xfe, 'value wrong (byte 3)'); - - t.end(); -}); - - -test('write 4 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7ffffffe); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 6, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x04, 'length wrong'); - t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); - t.equal(ber[3], 0xff, 'value wrong (byte 2)'); - t.equal(ber[4], 0xff, 'value wrong (byte 3)'); - t.equal(ber[5], 0xfe, 'value wrong (byte 4)'); - - t.end(); -}); - - -test('write boolean', function(t) { - var writer = new BerWriter(); - - writer.writeBoolean(true); - writer.writeBoolean(false); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 6, 'Wrong length'); - t.equal(ber[0], 0x01, 'tag wrong'); - t.equal(ber[1], 0x01, 'length wrong'); - t.equal(ber[2], 0xff, 'value wrong'); - t.equal(ber[3], 0x01, 'tag wrong'); - t.equal(ber[4], 0x01, 'length wrong'); - t.equal(ber[5], 0x00, 'value wrong'); - - t.end(); -}); - - -test('write string', function(t) { - var writer = new BerWriter(); - writer.writeString('hello world'); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 13, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - -test('write buffer', function(t) { - var writer = new BerWriter(); - // write some stuff to start with - writer.writeString('hello world'); - var ber = writer.buffer; - var buf = new Buffer([0x04, 0x0b, 0x30, 0x09, 0x02, 0x01, 0x0f, 0x01, 0x01, - 0xff, 0x01, 0x01, 0xff]); - writer.writeBuffer(buf.slice(2, buf.length), 0x04); - ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 26, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); - t.equal(ber[13], buf[0], 'wrong tag'); - t.equal(ber[14], buf[1], 'wrong length'); - for (var i = 13, j = 0; i < ber.length && j < buf.length; i++, j++) { - t.equal(ber[i], buf[j], 'buffer contents not identical'); - } - t.end(); -}); - -test('write string array', function(t) { - var writer = new BerWriter(); - writer.writeStringArray(['hello world', 'fubar!']); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 21, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); - - t.equal(ber[13], 0x04, 'wrong tag'); - t.equal(ber[14], 6, 'wrong length'); - t.equal(ber.slice(15).toString('utf8'), 'fubar!', 'wrong value'); - - t.end(); -}); - - -test('resize internal buffer', function(t) { - var writer = new BerWriter({size: 2}); - writer.writeString('hello world'); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 13, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - - -test('sequence', function(t) { - var writer = new BerWriter({size: 25}); - writer.startSequence(); - writer.writeString('hello world'); - writer.endSequence(); - var ber = writer.buffer; - - t.ok(ber); - console.log(ber); - t.equal(ber.length, 15, 'wrong length'); - t.equal(ber[0], 0x30, 'wrong tag'); - t.equal(ber[1], 13, 'wrong length'); - t.equal(ber[2], 0x04, 'wrong tag'); - t.equal(ber[3], 11, 'wrong length'); - t.equal(ber.slice(4).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - - -test('nested sequence', function(t) { - var writer = new BerWriter({size: 25}); - writer.startSequence(); - writer.writeString('hello world'); - writer.startSequence(); - writer.writeString('hello world'); - writer.endSequence(); - writer.endSequence(); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 30, 'wrong length'); - t.equal(ber[0], 0x30, 'wrong tag'); - t.equal(ber[1], 28, 'wrong length'); - t.equal(ber[2], 0x04, 'wrong tag'); - t.equal(ber[3], 11, 'wrong length'); - t.equal(ber.slice(4, 15).toString('utf8'), 'hello world', 'wrong value'); - t.equal(ber[15], 0x30, 'wrong tag'); - t.equal(ber[16], 13, 'wrong length'); - t.equal(ber[17], 0x04, 'wrong tag'); - t.equal(ber[18], 11, 'wrong length'); - t.equal(ber.slice(19, 30).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - - -test('LDAP bind message', function(t) { - var dn = 'cn=foo,ou=unit,o=test'; - var writer = new BerWriter(); - writer.startSequence(); - writer.writeInt(3); // msgid = 3 - writer.startSequence(0x60); // ldap bind - writer.writeInt(3); // ldap v3 - writer.writeString(dn); - writer.writeByte(0x80); - writer.writeByte(0x00); - writer.endSequence(); - writer.endSequence(); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 35, 'wrong length (buffer)'); - t.equal(ber[0], 0x30, 'wrong tag'); - t.equal(ber[1], 33, 'wrong length'); - t.equal(ber[2], 0x02, 'wrong tag'); - t.equal(ber[3], 1, 'wrong length'); - t.equal(ber[4], 0x03, 'wrong value'); - t.equal(ber[5], 0x60, 'wrong tag'); - t.equal(ber[6], 28, 'wrong length'); - t.equal(ber[7], 0x02, 'wrong tag'); - t.equal(ber[8], 1, 'wrong length'); - t.equal(ber[9], 0x03, 'wrong value'); - t.equal(ber[10], 0x04, 'wrong tag'); - t.equal(ber[11], dn.length, 'wrong length'); - t.equal(ber.slice(12, 33).toString('utf8'), dn, 'wrong value'); - t.equal(ber[33], 0x80, 'wrong tag'); - t.equal(ber[34], 0x00, 'wrong len'); - - t.end(); -}); - - -test('Write OID', function(t) { - var oid = '1.2.840.113549.1.1.1'; - var writer = new BerWriter(); - writer.writeOID(oid); - - var ber = writer.buffer; - t.ok(ber); - console.log(require('util').inspect(ber)); - console.log(require('util').inspect(new Buffer([0x06, 0x09, 0x2a, 0x86, - 0x48, 0x86, 0xf7, 0x0d, - 0x01, 0x01, 0x01]))); - - t.end(); -}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/README.md deleted file mode 100644 index c0c3a53..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/README.md +++ /dev/null @@ -1,126 +0,0 @@ -# node-assert-plus - -This library is a super small wrapper over node's assert module that has two -things: (1) the ability to disable assertions with the environment variable -NODE_NDEBUG, and (2) some API wrappers for argument testing. Like -`assert.string(myArg, 'myArg')`. As a simple example, most of my code looks -like this: - - var assert = require('assert-plus'); - - function fooAccount(options, callback) { - assert.object(options, 'options'); - assert.number(options.id, 'options.id); - assert.bool(options.isManager, 'options.isManager'); - assert.string(options.name, 'options.name'); - assert.arrayOfString(options.email, 'options.email'); - assert.func(callback, 'callback'); - - // Do stuff - callback(null, {}); - } - -# API - -All methods that *aren't* part of node's core assert API are simply assumed to -take an argument, and then a string 'name' that's not a message; `AssertionError` -will be thrown if the assertion fails with a message like: - - AssertionError: foo (string) is required - at test (/home/mark/work/foo/foo.js:3:9) - at Object. (/home/mark/work/foo/foo.js:15:1) - at Module._compile (module.js:446:26) - at Object..js (module.js:464:10) - at Module.load (module.js:353:31) - at Function._load (module.js:311:12) - at Array.0 (module.js:484:10) - at EventEmitter._tickCallback (node.js:190:38) - -from: - - function test(foo) { - assert.string(foo, 'foo'); - } - -There you go. You can check that arrays are of a homogenous type with `Arrayof$Type`: - - function test(foo) { - assert.arrayOfString(foo, 'foo'); - } - -You can assert IFF an argument is not `undefined` (i.e., an optional arg): - - assert.optionalString(foo, 'foo'); - -Lastly, you can opt-out of assertion checking altogether by setting the -environment variable `NODE_NDEBUG=1`. This is pseudo-useful if you have -lots of assertions, and don't want to pay `typeof ()` taxes to v8 in -production. - -The complete list of APIs is: - -* assert.bool -* assert.buffer -* assert.func -* assert.number -* assert.object -* assert.string -* assert.arrayOfBool -* assert.arrayOfFunc -* assert.arrayOfNumber -* assert.arrayOfObject -* assert.arrayOfString -* assert.optionalBool -* assert.optionalBuffer -* assert.optionalFunc -* assert.optionalNumber -* assert.optionalObject -* assert.optionalString -* assert.optionalArrayOfBool -* assert.optionalArrayOfFunc -* assert.optionalArrayOfNumber -* assert.optionalArrayOfObject -* assert.optionalArrayOfString -* assert.AssertionError -* assert.fail -* assert.ok -* assert.equal -* assert.notEqual -* assert.deepEqual -* assert.notDeepEqual -* assert.strictEqual -* assert.notStrictEqual -* assert.throws -* assert.doesNotThrow -* assert.ifError - -# Installation - - npm install assert-plus - -## License - -The MIT License (MIT) -Copyright (c) 2012 Mark Cavage - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -## Bugs - -See . diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/assert.js b/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/assert.js deleted file mode 100644 index ff2ba02..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/assert.js +++ /dev/null @@ -1,245 +0,0 @@ -// Copyright (c) 2012, Mark Cavage. All rights reserved. - -var assert = require('assert'); -var Stream = require('stream').Stream; -var util = require('util'); - - - -///--- Globals - -var NDEBUG = process.env.NODE_NDEBUG || false; -var UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/; - - - -///--- Messages - -var ARRAY_TYPE_REQUIRED = '%s ([%s]) required'; -var TYPE_REQUIRED = '%s (%s) is required'; - - - -///--- Internal - -function capitalize(str) { - return (str.charAt(0).toUpperCase() + str.slice(1)); -} - -function uncapitalize(str) { - return (str.charAt(0).toLowerCase() + str.slice(1)); -} - -function _() { - return (util.format.apply(util, arguments)); -} - - -function _assert(arg, type, name, stackFunc) { - if (!NDEBUG) { - name = name || type; - stackFunc = stackFunc || _assert.caller; - var t = typeof (arg); - - if (t !== type) { - throw new assert.AssertionError({ - message: _(TYPE_REQUIRED, name, type), - actual: t, - expected: type, - operator: '===', - stackStartFunction: stackFunc - }); - } - } -} - - -function _instanceof(arg, type, name, stackFunc) { - if (!NDEBUG) { - name = name || type; - stackFunc = stackFunc || _instanceof.caller; - - if (!(arg instanceof type)) { - throw new assert.AssertionError({ - message: _(TYPE_REQUIRED, name, type.name), - actual: _getClass(arg), - expected: type.name, - operator: 'instanceof', - stackStartFunction: stackFunc - }); - } - } -} - -function _getClass(object) { - return (Object.prototype.toString.call(object).slice(8, -1)); -}; - - - -///--- API - -function array(arr, type, name) { - if (!NDEBUG) { - name = name || type; - - if (!Array.isArray(arr)) { - throw new assert.AssertionError({ - message: _(ARRAY_TYPE_REQUIRED, name, type), - actual: typeof (arr), - expected: 'array', - operator: 'Array.isArray', - stackStartFunction: array.caller - }); - } - - for (var i = 0; i < arr.length; i++) { - _assert(arr[i], type, name, array); - } - } -} - - -function bool(arg, name) { - _assert(arg, 'boolean', name, bool); -} - - -function buffer(arg, name) { - if (!Buffer.isBuffer(arg)) { - throw new assert.AssertionError({ - message: _(TYPE_REQUIRED, name || '', 'Buffer'), - actual: typeof (arg), - expected: 'buffer', - operator: 'Buffer.isBuffer', - stackStartFunction: buffer - }); - } -} - - -function func(arg, name) { - _assert(arg, 'function', name); -} - - -function number(arg, name) { - _assert(arg, 'number', name); - if (!NDEBUG && (isNaN(arg) || !isFinite(arg))) { - throw new assert.AssertionError({ - message: _(TYPE_REQUIRED, name, 'number'), - actual: arg, - expected: 'number', - operator: 'isNaN', - stackStartFunction: number - }); - } -} - - -function object(arg, name) { - _assert(arg, 'object', name); -} - - -function stream(arg, name) { - _instanceof(arg, Stream, name); -} - - -function date(arg, name) { - _instanceof(arg, Date, name); -} - -function regexp(arg, name) { - _instanceof(arg, RegExp, name); -} - - -function string(arg, name) { - _assert(arg, 'string', name); -} - - -function uuid(arg, name) { - string(arg, name); - if (!NDEBUG && !UUID_REGEXP.test(arg)) { - throw new assert.AssertionError({ - message: _(TYPE_REQUIRED, name, 'uuid'), - actual: 'string', - expected: 'uuid', - operator: 'test', - stackStartFunction: uuid - }); - } -} - - -///--- Exports - -module.exports = { - bool: bool, - buffer: buffer, - date: date, - func: func, - number: number, - object: object, - regexp: regexp, - stream: stream, - string: string, - uuid: uuid -}; - - -Object.keys(module.exports).forEach(function (k) { - if (k === 'buffer') - return; - - var name = 'arrayOf' + capitalize(k); - - if (k === 'bool') - k = 'boolean'; - if (k === 'func') - k = 'function'; - module.exports[name] = function (arg, name) { - array(arg, k, name); - }; -}); - -Object.keys(module.exports).forEach(function (k) { - var _name = 'optional' + capitalize(k); - var s = uncapitalize(k.replace('arrayOf', '')); - if (s === 'bool') - s = 'boolean'; - if (s === 'func') - s = 'function'; - - if (k.indexOf('arrayOf') !== -1) { - module.exports[_name] = function (arg, name) { - if (!NDEBUG && arg !== undefined) { - array(arg, s, name); - } - }; - } else { - module.exports[_name] = function (arg, name) { - if (!NDEBUG && arg !== undefined) { - _assert(arg, s, name); - } - }; - } -}); - - -// Reexport built-in assertions -Object.keys(assert).forEach(function (k) { - if (k === 'AssertionError') { - module.exports[k] = assert[k]; - return; - } - - module.exports[k] = function () { - if (!NDEBUG) { - assert[k].apply(assert[k], arguments); - } - }; -}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/package.json deleted file mode 100644 index e272f82..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/assert-plus/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "_from": "assert-plus@^0.1.5", - "_id": "assert-plus@0.1.5", - "_inBundle": false, - "_integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", - "_location": "/assert-plus", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "assert-plus@^0.1.5", - "name": "assert-plus", - "escapedName": "assert-plus", - "rawSpec": "^0.1.5", - "saveSpec": null, - "fetchSpec": "^0.1.5" - }, - "_requiredBy": [ - "/http-signature" - ], - "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", - "_shasum": "ee74009413002d84cec7219c6ac811812e723160", - "_spec": "assert-plus@^0.1.5", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\http-signature", - "author": { - "name": "Mark Cavage", - "email": "mcavage@gmail.com" - }, - "bugs": { - "url": "https://github.com/mcavage/node-assert-plus/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Extra assertions on top of node's assert module", - "devDependencies": {}, - "engines": { - "node": ">=0.8" - }, - "homepage": "https://github.com/mcavage/node-assert-plus#readme", - "main": "./assert.js", - "name": "assert-plus", - "optionalDependencies": {}, - "repository": { - "type": "git", - "url": "git+https://github.com/mcavage/node-assert-plus.git" - }, - "version": "0.1.5" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/async/.travis.yml deleted file mode 100644 index 6064ca0..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/async/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js -node_js: - - "0.10" - - "0.12" - - "iojs" diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/async/LICENSE deleted file mode 100644 index 8f29698..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/async/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2010-2014 Caolan McMahon - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/async/README.md deleted file mode 100644 index 6cfb922..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/async/README.md +++ /dev/null @@ -1,1647 +0,0 @@ -# Async.js - -[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async) - - -Async is a utility module which provides straight-forward, powerful functions -for working with asynchronous JavaScript. Although originally designed for -use with [Node.js](http://nodejs.org) and installable via `npm install async`, -it can also be used directly in the browser. - -Async is also installable via: - -- [bower](http://bower.io/): `bower install async` -- [component](https://github.com/component/component): `component install - caolan/async` -- [jam](http://jamjs.org/): `jam install async` -- [spm](http://spmjs.io/): `spm install async` - -Async provides around 20 functions that include the usual 'functional' -suspects (`map`, `reduce`, `filter`, `each`…) as well as some common patterns -for asynchronous control flow (`parallel`, `series`, `waterfall`…). All these -functions assume you follow the Node.js convention of providing a single -callback as the last argument of your `async` function. - - -## Quick Examples - -```javascript -async.map(['file1','file2','file3'], fs.stat, function(err, results){ - // results is now an array of stats for each file -}); - -async.filter(['file1','file2','file3'], fs.exists, function(results){ - // results now equals an array of the existing files -}); - -async.parallel([ - function(){ ... }, - function(){ ... } -], callback); - -async.series([ - function(){ ... }, - function(){ ... } -]); -``` - -There are many more functions available so take a look at the docs below for a -full list. This module aims to be comprehensive, so if you feel anything is -missing please create a GitHub issue for it. - -## Common Pitfalls - -### Binding a context to an iterator - -This section is really about `bind`, not about `async`. If you are wondering how to -make `async` execute your iterators in a given context, or are confused as to why -a method of another library isn't working as an iterator, study this example: - -```js -// Here is a simple object with an (unnecessarily roundabout) squaring method -var AsyncSquaringLibrary = { - squareExponent: 2, - square: function(number, callback){ - var result = Math.pow(number, this.squareExponent); - setTimeout(function(){ - callback(null, result); - }, 200); - } -}; - -async.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){ - // result is [NaN, NaN, NaN] - // This fails because the `this.squareExponent` expression in the square - // function is not evaluated in the context of AsyncSquaringLibrary, and is - // therefore undefined. -}); - -async.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){ - // result is [1, 4, 9] - // With the help of bind we can attach a context to the iterator before - // passing it to async. Now the square function will be executed in its - // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent` - // will be as expected. -}); -``` - -## Download - -The source is available for download from -[GitHub](http://github.com/caolan/async). -Alternatively, you can install using Node Package Manager (`npm`): - - npm install async - -__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed - -## In the Browser - -So far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. - -Usage: - -```html - - -``` - -## Documentation - -### Collections - -* [`each`](#each) -* [`eachSeries`](#eachSeries) -* [`eachLimit`](#eachLimit) -* [`map`](#map) -* [`mapSeries`](#mapSeries) -* [`mapLimit`](#mapLimit) -* [`filter`](#filter) -* [`filterSeries`](#filterSeries) -* [`reject`](#reject) -* [`rejectSeries`](#rejectSeries) -* [`reduce`](#reduce) -* [`reduceRight`](#reduceRight) -* [`detect`](#detect) -* [`detectSeries`](#detectSeries) -* [`sortBy`](#sortBy) -* [`some`](#some) -* [`every`](#every) -* [`concat`](#concat) -* [`concatSeries`](#concatSeries) - -### Control Flow - -* [`series`](#seriestasks-callback) -* [`parallel`](#parallel) -* [`parallelLimit`](#parallellimittasks-limit-callback) -* [`whilst`](#whilst) -* [`doWhilst`](#doWhilst) -* [`until`](#until) -* [`doUntil`](#doUntil) -* [`forever`](#forever) -* [`waterfall`](#waterfall) -* [`compose`](#compose) -* [`seq`](#seq) -* [`applyEach`](#applyEach) -* [`applyEachSeries`](#applyEachSeries) -* [`queue`](#queue) -* [`priorityQueue`](#priorityQueue) -* [`cargo`](#cargo) -* [`auto`](#auto) -* [`retry`](#retry) -* [`iterator`](#iterator) -* [`apply`](#apply) -* [`nextTick`](#nextTick) -* [`times`](#times) -* [`timesSeries`](#timesSeries) - -### Utils - -* [`memoize`](#memoize) -* [`unmemoize`](#unmemoize) -* [`log`](#log) -* [`dir`](#dir) -* [`noConflict`](#noConflict) - - -## Collections - - - -### each(arr, iterator, callback) - -Applies the function `iterator` to each item in `arr`, in parallel. -The `iterator` is called with an item from the list, and a callback for when it -has finished. If the `iterator` passes an error to its `callback`, the main -`callback` (for the `each` function) is immediately called with the error. - -Note, that since this function applies `iterator` to each item in parallel, -there is no guarantee that the iterator functions will complete in order. - -__Arguments__ - -* `arr` - An array to iterate over. -* `iterator(item, callback)` - A function to apply to each item in `arr`. - The iterator is passed a `callback(err)` which must be called once it has - completed. If no error has occurred, the `callback` should be run without - arguments or with an explicit `null` argument. -* `callback(err)` - A callback which is called when all `iterator` functions - have finished, or an error occurs. - -__Examples__ - - -```js -// assuming openFiles is an array of file names and saveFile is a function -// to save the modified contents of that file: - -async.each(openFiles, saveFile, function(err){ - // if any of the saves produced an error, err would equal that error -}); -``` - -```js -// assuming openFiles is an array of file names - -async.each(openFiles, function(file, callback) { - - // Perform operation on file here. - console.log('Processing file ' + file); - - if( file.length > 32 ) { - console.log('This file name is too long'); - callback('File name too long'); - } else { - // Do work to process file here - console.log('File processed'); - callback(); - } -}, function(err){ - // if any of the file processing produced an error, err would equal that error - if( err ) { - // One of the iterations produced an error. - // All processing will now stop. - console.log('A file failed to process'); - } else { - console.log('All files have been processed successfully'); - } -}); -``` - ---------------------------------------- - - - -### eachSeries(arr, iterator, callback) - -The same as [`each`](#each), only `iterator` is applied to each item in `arr` in -series. The next `iterator` is only called once the current one has completed. -This means the `iterator` functions will complete in order. - - ---------------------------------------- - - - -### eachLimit(arr, limit, iterator, callback) - -The same as [`each`](#each), only no more than `limit` `iterator`s will be simultaneously -running at any time. - -Note that the items in `arr` are not processed in batches, so there is no guarantee that -the first `limit` `iterator` functions will complete before any others are started. - -__Arguments__ - -* `arr` - An array to iterate over. -* `limit` - The maximum number of `iterator`s to run at any time. -* `iterator(item, callback)` - A function to apply to each item in `arr`. - The iterator is passed a `callback(err)` which must be called once it has - completed. If no error has occurred, the callback should be run without - arguments or with an explicit `null` argument. -* `callback(err)` - A callback which is called when all `iterator` functions - have finished, or an error occurs. - -__Example__ - -```js -// Assume documents is an array of JSON objects and requestApi is a -// function that interacts with a rate-limited REST api. - -async.eachLimit(documents, 20, requestApi, function(err){ - // if any of the saves produced an error, err would equal that error -}); -``` - ---------------------------------------- - - -### map(arr, iterator, callback) - -Produces a new array of values by mapping each value in `arr` through -the `iterator` function. The `iterator` is called with an item from `arr` and a -callback for when it has finished processing. Each of these callback takes 2 arguments: -an `error`, and the transformed item from `arr`. If `iterator` passes an error to his -callback, the main `callback` (for the `map` function) is immediately called with the error. - -Note, that since this function applies the `iterator` to each item in parallel, -there is no guarantee that the `iterator` functions will complete in order. -However, the results array will be in the same order as the original `arr`. - -__Arguments__ - -* `arr` - An array to iterate over. -* `iterator(item, callback)` - A function to apply to each item in `arr`. - The iterator is passed a `callback(err, transformed)` which must be called once - it has completed with an error (which can be `null`) and a transformed item. -* `callback(err, results)` - A callback which is called when all `iterator` - functions have finished, or an error occurs. Results is an array of the - transformed items from the `arr`. - -__Example__ - -```js -async.map(['file1','file2','file3'], fs.stat, function(err, results){ - // results is now an array of stats for each file -}); -``` - ---------------------------------------- - - -### mapSeries(arr, iterator, callback) - -The same as [`map`](#map), only the `iterator` is applied to each item in `arr` in -series. The next `iterator` is only called once the current one has completed. -The results array will be in the same order as the original. - - ---------------------------------------- - - -### mapLimit(arr, limit, iterator, callback) - -The same as [`map`](#map), only no more than `limit` `iterator`s will be simultaneously -running at any time. - -Note that the items are not processed in batches, so there is no guarantee that -the first `limit` `iterator` functions will complete before any others are started. - -__Arguments__ - -* `arr` - An array to iterate over. -* `limit` - The maximum number of `iterator`s to run at any time. -* `iterator(item, callback)` - A function to apply to each item in `arr`. - The iterator is passed a `callback(err, transformed)` which must be called once - it has completed with an error (which can be `null`) and a transformed item. -* `callback(err, results)` - A callback which is called when all `iterator` - calls have finished, or an error occurs. The result is an array of the - transformed items from the original `arr`. - -__Example__ - -```js -async.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){ - // results is now an array of stats for each file -}); -``` - ---------------------------------------- - - - -### filter(arr, iterator, callback) - -__Alias:__ `select` - -Returns a new array of all the values in `arr` which pass an async truth test. -_The callback for each `iterator` call only accepts a single argument of `true` or -`false`; it does not accept an error argument first!_ This is in-line with the -way node libraries work with truth tests like `fs.exists`. This operation is -performed in parallel, but the results array will be in the same order as the -original. - -__Arguments__ - -* `arr` - An array to iterate over. -* `iterator(item, callback)` - A truth test to apply to each item in `arr`. - The `iterator` is passed a `callback(truthValue)`, which must be called with a - boolean argument once it has completed. -* `callback(results)` - A callback which is called after all the `iterator` - functions have finished. - -__Example__ - -```js -async.filter(['file1','file2','file3'], fs.exists, function(results){ - // results now equals an array of the existing files -}); -``` - ---------------------------------------- - - - -### filterSeries(arr, iterator, callback) - -__Alias:__ `selectSeries` - -The same as [`filter`](#filter) only the `iterator` is applied to each item in `arr` in -series. The next `iterator` is only called once the current one has completed. -The results array will be in the same order as the original. - ---------------------------------------- - - -### reject(arr, iterator, callback) - -The opposite of [`filter`](#filter). Removes values that pass an `async` truth test. - ---------------------------------------- - - -### rejectSeries(arr, iterator, callback) - -The same as [`reject`](#reject), only the `iterator` is applied to each item in `arr` -in series. - - ---------------------------------------- - - -### reduce(arr, memo, iterator, callback) - -__Aliases:__ `inject`, `foldl` - -Reduces `arr` into a single value using an async `iterator` to return -each successive step. `memo` is the initial state of the reduction. -This function only operates in series. - -For performance reasons, it may make sense to split a call to this function into -a parallel map, and then use the normal `Array.prototype.reduce` on the results. -This function is for situations where each step in the reduction needs to be async; -if you can get the data before reducing it, then it's probably a good idea to do so. - -__Arguments__ - -* `arr` - An array to iterate over. -* `memo` - The initial state of the reduction. -* `iterator(memo, item, callback)` - A function applied to each item in the - array to produce the next step in the reduction. The `iterator` is passed a - `callback(err, reduction)` which accepts an optional error as its first - argument, and the state of the reduction as the second. If an error is - passed to the callback, the reduction is stopped and the main `callback` is - immediately called with the error. -* `callback(err, result)` - A callback which is called after all the `iterator` - functions have finished. Result is the reduced value. - -__Example__ - -```js -async.reduce([1,2,3], 0, function(memo, item, callback){ - // pointless async: - process.nextTick(function(){ - callback(null, memo + item) - }); -}, function(err, result){ - // result is now equal to the last value of memo, which is 6 -}); -``` - ---------------------------------------- - - -### reduceRight(arr, memo, iterator, callback) - -__Alias:__ `foldr` - -Same as [`reduce`](#reduce), only operates on `arr` in reverse order. - - ---------------------------------------- - - -### detect(arr, iterator, callback) - -Returns the first value in `arr` that passes an async truth test. The -`iterator` is applied in parallel, meaning the first iterator to return `true` will -fire the detect `callback` with that result. That means the result might not be -the first item in the original `arr` (in terms of order) that passes the test. - -If order within the original `arr` is important, then look at [`detectSeries`](#detectSeries). - -__Arguments__ - -* `arr` - An array to iterate over. -* `iterator(item, callback)` - A truth test to apply to each item in `arr`. - The iterator is passed a `callback(truthValue)` which must be called with a - boolean argument once it has completed. -* `callback(result)` - A callback which is called as soon as any iterator returns - `true`, or after all the `iterator` functions have finished. Result will be - the first item in the array that passes the truth test (iterator) or the - value `undefined` if none passed. - -__Example__ - -```js -async.detect(['file1','file2','file3'], fs.exists, function(result){ - // result now equals the first file in the list that exists -}); -``` - ---------------------------------------- - - -### detectSeries(arr, iterator, callback) - -The same as [`detect`](#detect), only the `iterator` is applied to each item in `arr` -in series. This means the result is always the first in the original `arr` (in -terms of array order) that passes the truth test. - - ---------------------------------------- - - -### sortBy(arr, iterator, callback) - -Sorts a list by the results of running each `arr` value through an async `iterator`. - -__Arguments__ - -* `arr` - An array to iterate over. -* `iterator(item, callback)` - A function to apply to each item in `arr`. - The iterator is passed a `callback(err, sortValue)` which must be called once it - has completed with an error (which can be `null`) and a value to use as the sort - criteria. -* `callback(err, results)` - A callback which is called after all the `iterator` - functions have finished, or an error occurs. Results is the items from - the original `arr` sorted by the values returned by the `iterator` calls. - -__Example__ - -```js -async.sortBy(['file1','file2','file3'], function(file, callback){ - fs.stat(file, function(err, stats){ - callback(err, stats.mtime); - }); -}, function(err, results){ - // results is now the original array of files sorted by - // modified date -}); -``` - -__Sort Order__ - -By modifying the callback parameter the sorting order can be influenced: - -```js -//ascending order -async.sortBy([1,9,3,5], function(x, callback){ - callback(null, x); -}, function(err,result){ - //result callback -} ); - -//descending order -async.sortBy([1,9,3,5], function(x, callback){ - callback(null, x*-1); //<- x*-1 instead of x, turns the order around -}, function(err,result){ - //result callback -} ); -``` - ---------------------------------------- - - -### some(arr, iterator, callback) - -__Alias:__ `any` - -Returns `true` if at least one element in the `arr` satisfies an async test. -_The callback for each iterator call only accepts a single argument of `true` or -`false`; it does not accept an error argument first!_ This is in-line with the -way node libraries work with truth tests like `fs.exists`. Once any iterator -call returns `true`, the main `callback` is immediately called. - -__Arguments__ - -* `arr` - An array to iterate over. -* `iterator(item, callback)` - A truth test to apply to each item in the array - in parallel. The iterator is passed a callback(truthValue) which must be - called with a boolean argument once it has completed. -* `callback(result)` - A callback which is called as soon as any iterator returns - `true`, or after all the iterator functions have finished. Result will be - either `true` or `false` depending on the values of the async tests. - -__Example__ - -```js -async.some(['file1','file2','file3'], fs.exists, function(result){ - // if result is true then at least one of the files exists -}); -``` - ---------------------------------------- - - -### every(arr, iterator, callback) - -__Alias:__ `all` - -Returns `true` if every element in `arr` satisfies an async test. -_The callback for each `iterator` call only accepts a single argument of `true` or -`false`; it does not accept an error argument first!_ This is in-line with the -way node libraries work with truth tests like `fs.exists`. - -__Arguments__ - -* `arr` - An array to iterate over. -* `iterator(item, callback)` - A truth test to apply to each item in the array - in parallel. The iterator is passed a callback(truthValue) which must be - called with a boolean argument once it has completed. -* `callback(result)` - A callback which is called after all the `iterator` - functions have finished. Result will be either `true` or `false` depending on - the values of the async tests. - -__Example__ - -```js -async.every(['file1','file2','file3'], fs.exists, function(result){ - // if result is true then every file exists -}); -``` - ---------------------------------------- - - -### concat(arr, iterator, callback) - -Applies `iterator` to each item in `arr`, concatenating the results. Returns the -concatenated list. The `iterator`s are called in parallel, and the results are -concatenated as they return. There is no guarantee that the results array will -be returned in the original order of `arr` passed to the `iterator` function. - -__Arguments__ - -* `arr` - An array to iterate over. -* `iterator(item, callback)` - A function to apply to each item in `arr`. - The iterator is passed a `callback(err, results)` which must be called once it - has completed with an error (which can be `null`) and an array of results. -* `callback(err, results)` - A callback which is called after all the `iterator` - functions have finished, or an error occurs. Results is an array containing - the concatenated results of the `iterator` function. - -__Example__ - -```js -async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){ - // files is now a list of filenames that exist in the 3 directories -}); -``` - ---------------------------------------- - - -### concatSeries(arr, iterator, callback) - -Same as [`concat`](#concat), but executes in series instead of parallel. - - -## Control Flow - - -### series(tasks, [callback]) - -Run the functions in the `tasks` array in series, each one running once the previous -function has completed. If any functions in the series pass an error to its -callback, no more functions are run, and `callback` is immediately called with the value of the error. -Otherwise, `callback` receives an array of results when `tasks` have completed. - -It is also possible to use an object instead of an array. Each property will be -run as a function, and the results will be passed to the final `callback` as an object -instead of an array. This can be a more readable way of handling results from -[`series`](#series). - -**Note** that while many implementations preserve the order of object properties, the -[ECMAScript Language Specifcation](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6) -explicitly states that - -> The mechanics and order of enumerating the properties is not specified. - -So if you rely on the order in which your series of functions are executed, and want -this to work on all platforms, consider using an array. - -__Arguments__ - -* `tasks` - An array or object containing functions to run, each function is passed - a `callback(err, result)` it must call on completion with an error `err` (which can - be `null`) and an optional `result` value. -* `callback(err, results)` - An optional callback to run once all the functions - have completed. This function gets a results array (or object) containing all - the result arguments passed to the `task` callbacks. - -__Example__ - -```js -async.series([ - function(callback){ - // do some stuff ... - callback(null, 'one'); - }, - function(callback){ - // do some more stuff ... - callback(null, 'two'); - } -], -// optional callback -function(err, results){ - // results is now equal to ['one', 'two'] -}); - - -// an example using an object instead of an array -async.series({ - one: function(callback){ - setTimeout(function(){ - callback(null, 1); - }, 200); - }, - two: function(callback){ - setTimeout(function(){ - callback(null, 2); - }, 100); - } -}, -function(err, results) { - // results is now equal to: {one: 1, two: 2} -}); -``` - ---------------------------------------- - - -### parallel(tasks, [callback]) - -Run the `tasks` array of functions in parallel, without waiting until the previous -function has completed. If any of the functions pass an error to its -callback, the main `callback` is immediately called with the value of the error. -Once the `tasks` have completed, the results are passed to the final `callback` as an -array. - -It is also possible to use an object instead of an array. Each property will be -run as a function and the results will be passed to the final `callback` as an object -instead of an array. This can be a more readable way of handling results from -[`parallel`](#parallel). - - -__Arguments__ - -* `tasks` - An array or object containing functions to run. Each function is passed - a `callback(err, result)` which it must call on completion with an error `err` - (which can be `null`) and an optional `result` value. -* `callback(err, results)` - An optional callback to run once all the functions - have completed. This function gets a results array (or object) containing all - the result arguments passed to the task callbacks. - -__Example__ - -```js -async.parallel([ - function(callback){ - setTimeout(function(){ - callback(null, 'one'); - }, 200); - }, - function(callback){ - setTimeout(function(){ - callback(null, 'two'); - }, 100); - } -], -// optional callback -function(err, results){ - // the results array will equal ['one','two'] even though - // the second function had a shorter timeout. -}); - - -// an example using an object instead of an array -async.parallel({ - one: function(callback){ - setTimeout(function(){ - callback(null, 1); - }, 200); - }, - two: function(callback){ - setTimeout(function(){ - callback(null, 2); - }, 100); - } -}, -function(err, results) { - // results is now equals to: {one: 1, two: 2} -}); -``` - ---------------------------------------- - - -### parallelLimit(tasks, limit, [callback]) - -The same as [`parallel`](#parallel), only `tasks` are executed in parallel -with a maximum of `limit` tasks executing at any time. - -Note that the `tasks` are not executed in batches, so there is no guarantee that -the first `limit` tasks will complete before any others are started. - -__Arguments__ - -* `tasks` - An array or object containing functions to run, each function is passed - a `callback(err, result)` it must call on completion with an error `err` (which can - be `null`) and an optional `result` value. -* `limit` - The maximum number of `tasks` to run at any time. -* `callback(err, results)` - An optional callback to run once all the functions - have completed. This function gets a results array (or object) containing all - the result arguments passed to the `task` callbacks. - ---------------------------------------- - - -### whilst(test, fn, callback) - -Repeatedly call `fn`, while `test` returns `true`. Calls `callback` when stopped, -or an error occurs. - -__Arguments__ - -* `test()` - synchronous truth test to perform before each execution of `fn`. -* `fn(callback)` - A function which is called each time `test` passes. The function is - passed a `callback(err)`, which must be called once it has completed with an - optional `err` argument. -* `callback(err)` - A callback which is called after the test fails and repeated - execution of `fn` has stopped. - -__Example__ - -```js -var count = 0; - -async.whilst( - function () { return count < 5; }, - function (callback) { - count++; - setTimeout(callback, 1000); - }, - function (err) { - // 5 seconds have passed - } -); -``` - ---------------------------------------- - - -### doWhilst(fn, test, callback) - -The post-check version of [`whilst`](#whilst). To reflect the difference in -the order of operations, the arguments `test` and `fn` are switched. - -`doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript. - ---------------------------------------- - - -### until(test, fn, callback) - -Repeatedly call `fn` until `test` returns `true`. Calls `callback` when stopped, -or an error occurs. - -The inverse of [`whilst`](#whilst). - ---------------------------------------- - - -### doUntil(fn, test, callback) - -Like [`doWhilst`](#doWhilst), except the `test` is inverted. Note the argument ordering differs from `until`. - ---------------------------------------- - - -### forever(fn, errback) - -Calls the asynchronous function `fn` with a callback parameter that allows it to -call itself again, in series, indefinitely. - -If an error is passed to the callback then `errback` is called with the -error, and execution stops, otherwise it will never be called. - -```js -async.forever( - function(next) { - // next is suitable for passing to things that need a callback(err [, whatever]); - // it will result in this function being called again. - }, - function(err) { - // if next is called with a value in its first parameter, it will appear - // in here as 'err', and execution will stop. - } -); -``` - ---------------------------------------- - - -### waterfall(tasks, [callback]) - -Runs the `tasks` array of functions in series, each passing their results to the next in -the array. However, if any of the `tasks` pass an error to their own callback, the -next function is not executed, and the main `callback` is immediately called with -the error. - -__Arguments__ - -* `tasks` - An array of functions to run, each function is passed a - `callback(err, result1, result2, ...)` it must call on completion. The first - argument is an error (which can be `null`) and any further arguments will be - passed as arguments in order to the next task. -* `callback(err, [results])` - An optional callback to run once all the functions - have completed. This will be passed the results of the last task's callback. - - - -__Example__ - -```js -async.waterfall([ - function(callback) { - callback(null, 'one', 'two'); - }, - function(arg1, arg2, callback) { - // arg1 now equals 'one' and arg2 now equals 'two' - callback(null, 'three'); - }, - function(arg1, callback) { - // arg1 now equals 'three' - callback(null, 'done'); - } -], function (err, result) { - // result now equals 'done' -}); -``` - ---------------------------------------- - -### compose(fn1, fn2...) - -Creates a function which is a composition of the passed asynchronous -functions. Each function consumes the return value of the function that -follows. Composing functions `f()`, `g()`, and `h()` would produce the result of -`f(g(h()))`, only this version uses callbacks to obtain the return values. - -Each function is executed with the `this` binding of the composed function. - -__Arguments__ - -* `functions...` - the asynchronous functions to compose - - -__Example__ - -```js -function add1(n, callback) { - setTimeout(function () { - callback(null, n + 1); - }, 10); -} - -function mul3(n, callback) { - setTimeout(function () { - callback(null, n * 3); - }, 10); -} - -var add1mul3 = async.compose(mul3, add1); - -add1mul3(4, function (err, result) { - // result now equals 15 -}); -``` - ---------------------------------------- - -### seq(fn1, fn2...) - -Version of the compose function that is more natural to read. -Each function consumes the return value of the previous function. -It is the equivalent of [`compose`](#compose) with the arguments reversed. - -Each function is executed with the `this` binding of the composed function. - -__Arguments__ - -* functions... - the asynchronous functions to compose - - -__Example__ - -```js -// Requires lodash (or underscore), express3 and dresende's orm2. -// Part of an app, that fetches cats of the logged user. -// This example uses `seq` function to avoid overnesting and error -// handling clutter. -app.get('/cats', function(request, response) { - var User = request.models.User; - async.seq( - _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) - function(user, fn) { - user.getCats(fn); // 'getCats' has signature (callback(err, data)) - } - )(req.session.user_id, function (err, cats) { - if (err) { - console.error(err); - response.json({ status: 'error', message: err.message }); - } else { - response.json({ status: 'ok', message: 'Cats found', data: cats }); - } - }); -}); -``` - ---------------------------------------- - -### applyEach(fns, args..., callback) - -Applies the provided arguments to each function in the array, calling -`callback` after all functions have completed. If you only provide the first -argument, then it will return a function which lets you pass in the -arguments as if it were a single function call. - -__Arguments__ - -* `fns` - the asynchronous functions to all call with the same arguments -* `args...` - any number of separate arguments to pass to the function -* `callback` - the final argument should be the callback, called when all - functions have completed processing - - -__Example__ - -```js -async.applyEach([enableSearch, updateSchema], 'bucket', callback); - -// partial application example: -async.each( - buckets, - async.applyEach([enableSearch, updateSchema]), - callback -); -``` - ---------------------------------------- - - -### applyEachSeries(arr, iterator, callback) - -The same as [`applyEach`](#applyEach) only the functions are applied in series. - ---------------------------------------- - - -### queue(worker, concurrency) - -Creates a `queue` object with the specified `concurrency`. Tasks added to the -`queue` are processed in parallel (up to the `concurrency` limit). If all -`worker`s are in progress, the task is queued until one becomes available. -Once a `worker` completes a `task`, that `task`'s callback is called. - -__Arguments__ - -* `worker(task, callback)` - An asynchronous function for processing a queued - task, which must call its `callback(err)` argument when finished, with an - optional `error` as an argument. -* `concurrency` - An `integer` for determining how many `worker` functions should be - run in parallel. - -__Queue objects__ - -The `queue` object returned by this function has the following properties and -methods: - -* `length()` - a function returning the number of items waiting to be processed. -* `started` - a function returning whether or not any items have been pushed and processed by the queue -* `running()` - a function returning the number of items currently being processed. -* `idle()` - a function returning false if there are items waiting or being processed, or true if not. -* `concurrency` - an integer for determining how many `worker` functions should be - run in parallel. This property can be changed after a `queue` is created to - alter the concurrency on-the-fly. -* `push(task, [callback])` - add a new task to the `queue`. Calls `callback` once - the `worker` has finished processing the task. Instead of a single task, a `tasks` array - can be submitted. The respective callback is used for every task in the list. -* `unshift(task, [callback])` - add a new task to the front of the `queue`. -* `saturated` - a callback that is called when the `queue` length hits the `concurrency` limit, - and further tasks will be queued. -* `empty` - a callback that is called when the last item from the `queue` is given to a `worker`. -* `drain` - a callback that is called when the last item from the `queue` has returned from the `worker`. -* `paused` - a boolean for determining whether the queue is in a paused state -* `pause()` - a function that pauses the processing of tasks until `resume()` is called. -* `resume()` - a function that resumes the processing of queued tasks when the queue is paused. -* `kill()` - a function that removes the `drain` callback and empties remaining tasks from the queue forcing it to go idle. - -__Example__ - -```js -// create a queue object with concurrency 2 - -var q = async.queue(function (task, callback) { - console.log('hello ' + task.name); - callback(); -}, 2); - - -// assign a callback -q.drain = function() { - console.log('all items have been processed'); -} - -// add some items to the queue - -q.push({name: 'foo'}, function (err) { - console.log('finished processing foo'); -}); -q.push({name: 'bar'}, function (err) { - console.log('finished processing bar'); -}); - -// add some items to the queue (batch-wise) - -q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { - console.log('finished processing item'); -}); - -// add some items to the front of the queue - -q.unshift({name: 'bar'}, function (err) { - console.log('finished processing bar'); -}); -``` - - ---------------------------------------- - - -### priorityQueue(worker, concurrency) - -The same as [`queue`](#queue) only tasks are assigned a priority and completed in ascending priority order. There are two differences between `queue` and `priorityQueue` objects: - -* `push(task, priority, [callback])` - `priority` should be a number. If an array of - `tasks` is given, all tasks will be assigned the same priority. -* The `unshift` method was removed. - ---------------------------------------- - - -### cargo(worker, [payload]) - -Creates a `cargo` object with the specified payload. Tasks added to the -cargo will be processed altogether (up to the `payload` limit). If the -`worker` is in progress, the task is queued until it becomes available. Once -the `worker` has completed some tasks, each callback of those tasks is called. -Check out [this animation](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) for how `cargo` and `queue` work. - -While [queue](#queue) passes only one task to one of a group of workers -at a time, cargo passes an array of tasks to a single worker, repeating -when the worker is finished. - -__Arguments__ - -* `worker(tasks, callback)` - An asynchronous function for processing an array of - queued tasks, which must call its `callback(err)` argument when finished, with - an optional `err` argument. -* `payload` - An optional `integer` for determining how many tasks should be - processed per round; if omitted, the default is unlimited. - -__Cargo objects__ - -The `cargo` object returned by this function has the following properties and -methods: - -* `length()` - A function returning the number of items waiting to be processed. -* `payload` - An `integer` for determining how many tasks should be - process per round. This property can be changed after a `cargo` is created to - alter the payload on-the-fly. -* `push(task, [callback])` - Adds `task` to the `queue`. The callback is called - once the `worker` has finished processing the task. Instead of a single task, an array of `tasks` - can be submitted. The respective callback is used for every task in the list. -* `saturated` - A callback that is called when the `queue.length()` hits the concurrency and further tasks will be queued. -* `empty` - A callback that is called when the last item from the `queue` is given to a `worker`. -* `drain` - A callback that is called when the last item from the `queue` has returned from the `worker`. - -__Example__ - -```js -// create a cargo object with payload 2 - -var cargo = async.cargo(function (tasks, callback) { - for(var i=0; i -### auto(tasks, [callback]) - -Determines the best order for running the functions in `tasks`, based on their -requirements. Each function can optionally depend on other functions being completed -first, and each function is run as soon as its requirements are satisfied. - -If any of the functions pass an error to their callback, it will not -complete (so any other functions depending on it will not run), and the main -`callback` is immediately called with the error. Functions also receive an -object containing the results of functions which have completed so far. - -Note, all functions are called with a `results` object as a second argument, -so it is unsafe to pass functions in the `tasks` object which cannot handle the -extra argument. - -For example, this snippet of code: - -```js -async.auto({ - readData: async.apply(fs.readFile, 'data.txt', 'utf-8') -}, callback); -``` - -will have the effect of calling `readFile` with the results object as the last -argument, which will fail: - -```js -fs.readFile('data.txt', 'utf-8', cb, {}); -``` - -Instead, wrap the call to `readFile` in a function which does not forward the -`results` object: - -```js -async.auto({ - readData: function(cb, results){ - fs.readFile('data.txt', 'utf-8', cb); - } -}, callback); -``` - -__Arguments__ - -* `tasks` - An object. Each of its properties is either a function or an array of - requirements, with the function itself the last item in the array. The object's key - of a property serves as the name of the task defined by that property, - i.e. can be used when specifying requirements for other tasks. - The function receives two arguments: (1) a `callback(err, result)` which must be - called when finished, passing an `error` (which can be `null`) and the result of - the function's execution, and (2) a `results` object, containing the results of - the previously executed functions. -* `callback(err, results)` - An optional callback which is called when all the - tasks have been completed. It receives the `err` argument if any `tasks` - pass an error to their callback. Results are always returned; however, if - an error occurs, no further `tasks` will be performed, and the results - object will only contain partial results. - - -__Example__ - -```js -async.auto({ - get_data: function(callback){ - console.log('in get_data'); - // async code to get some data - callback(null, 'data', 'converted to array'); - }, - make_folder: function(callback){ - console.log('in make_folder'); - // async code to create a directory to store a file in - // this is run at the same time as getting the data - callback(null, 'folder'); - }, - write_file: ['get_data', 'make_folder', function(callback, results){ - console.log('in write_file', JSON.stringify(results)); - // once there is some data and the directory exists, - // write the data to a file in the directory - callback(null, 'filename'); - }], - email_link: ['write_file', function(callback, results){ - console.log('in email_link', JSON.stringify(results)); - // once the file is written let's email a link to it... - // results.write_file contains the filename returned by write_file. - callback(null, {'file':results.write_file, 'email':'user@example.com'}); - }] -}, function(err, results) { - console.log('err = ', err); - console.log('results = ', results); -}); -``` - -This is a fairly trivial example, but to do this using the basic parallel and -series functions would look like this: - -```js -async.parallel([ - function(callback){ - console.log('in get_data'); - // async code to get some data - callback(null, 'data', 'converted to array'); - }, - function(callback){ - console.log('in make_folder'); - // async code to create a directory to store a file in - // this is run at the same time as getting the data - callback(null, 'folder'); - } -], -function(err, results){ - async.series([ - function(callback){ - console.log('in write_file', JSON.stringify(results)); - // once there is some data and the directory exists, - // write the data to a file in the directory - results.push('filename'); - callback(null); - }, - function(callback){ - console.log('in email_link', JSON.stringify(results)); - // once the file is written let's email a link to it... - callback(null, {'file':results.pop(), 'email':'user@example.com'}); - } - ]); -}); -``` - -For a complicated series of `async` tasks, using the [`auto`](#auto) function makes adding -new tasks much easier (and the code more readable). - - ---------------------------------------- - - -### retry([times = 5], task, [callback]) - -Attempts to get a successful response from `task` no more than `times` times before -returning an error. If the task is successful, the `callback` will be passed the result -of the successful task. If all attempts fail, the callback will be passed the error and -result (if any) of the final attempt. - -__Arguments__ - -* `times` - An integer indicating how many times to attempt the `task` before giving up. Defaults to 5. -* `task(callback, results)` - A function which receives two arguments: (1) a `callback(err, result)` - which must be called when finished, passing `err` (which can be `null`) and the `result` of - the function's execution, and (2) a `results` object, containing the results of - the previously executed functions (if nested inside another control flow). -* `callback(err, results)` - An optional callback which is called when the - task has succeeded, or after the final failed attempt. It receives the `err` and `result` arguments of the last attempt at completing the `task`. - -The [`retry`](#retry) function can be used as a stand-alone control flow by passing a -callback, as shown below: - -```js -async.retry(3, apiMethod, function(err, result) { - // do something with the result -}); -``` - -It can also be embeded within other control flow functions to retry individual methods -that are not as reliable, like this: - -```js -async.auto({ - users: api.getUsers.bind(api), - payments: async.retry(3, api.getPayments.bind(api)) -}, function(err, results) { - // do something with the results -}); -``` - - ---------------------------------------- - - -### iterator(tasks) - -Creates an iterator function which calls the next function in the `tasks` array, -returning a continuation to call the next one after that. It's also possible to -“peek†at the next iterator with `iterator.next()`. - -This function is used internally by the `async` module, but can be useful when -you want to manually control the flow of functions in series. - -__Arguments__ - -* `tasks` - An array of functions to run. - -__Example__ - -```js -var iterator = async.iterator([ - function(){ sys.p('one'); }, - function(){ sys.p('two'); }, - function(){ sys.p('three'); } -]); - -node> var iterator2 = iterator(); -'one' -node> var iterator3 = iterator2(); -'two' -node> iterator3(); -'three' -node> var nextfn = iterator2.next(); -node> nextfn(); -'three' -``` - ---------------------------------------- - - -### apply(function, arguments..) - -Creates a continuation function with some arguments already applied. - -Useful as a shorthand when combined with other control flow functions. Any arguments -passed to the returned function are added to the arguments originally passed -to apply. - -__Arguments__ - -* `function` - The function you want to eventually apply all arguments to. -* `arguments...` - Any number of arguments to automatically apply when the - continuation is called. - -__Example__ - -```js -// using apply - -async.parallel([ - async.apply(fs.writeFile, 'testfile1', 'test1'), - async.apply(fs.writeFile, 'testfile2', 'test2'), -]); - - -// the same process without using apply - -async.parallel([ - function(callback){ - fs.writeFile('testfile1', 'test1', callback); - }, - function(callback){ - fs.writeFile('testfile2', 'test2', callback); - } -]); -``` - -It's possible to pass any number of additional arguments when calling the -continuation: - -```js -node> var fn = async.apply(sys.puts, 'one'); -node> fn('two', 'three'); -one -two -three -``` - ---------------------------------------- - - -### nextTick(callback), setImmediate(callback) - -Calls `callback` on a later loop around the event loop. In Node.js this just -calls `process.nextTick`; in the browser it falls back to `setImmediate(callback)` -if available, otherwise `setTimeout(callback, 0)`, which means other higher priority -events may precede the execution of `callback`. - -This is used internally for browser-compatibility purposes. - -__Arguments__ - -* `callback` - The function to call on a later loop around the event loop. - -__Example__ - -```js -var call_order = []; -async.nextTick(function(){ - call_order.push('two'); - // call_order now equals ['one','two'] -}); -call_order.push('one') -``` - - -### times(n, callback) - -Calls the `callback` function `n` times, and accumulates results in the same manner -you would use with [`map`](#map). - -__Arguments__ - -* `n` - The number of times to run the function. -* `callback` - The function to call `n` times. - -__Example__ - -```js -// Pretend this is some complicated async factory -var createUser = function(id, callback) { - callback(null, { - id: 'user' + id - }) -} -// generate 5 users -async.times(5, function(n, next){ - createUser(n, function(err, user) { - next(err, user) - }) -}, function(err, users) { - // we should now have 5 users -}); -``` - - -### timesSeries(n, callback) - -The same as [`times`](#times), only the iterator is applied to each item in `arr` in -series. The next `iterator` is only called once the current one has completed. -The results array will be in the same order as the original. - - -## Utils - - -### memoize(fn, [hasher]) - -Caches the results of an `async` function. When creating a hash to store function -results against, the callback is omitted from the hash and an optional hash -function can be used. - -The cache of results is exposed as the `memo` property of the function returned -by `memoize`. - -__Arguments__ - -* `fn` - The function to proxy and cache results from. -* `hasher` - Tn optional function for generating a custom hash for storing - results. It has all the arguments applied to it apart from the callback, and - must be synchronous. - -__Example__ - -```js -var slow_fn = function (name, callback) { - // do something - callback(null, result); -}; -var fn = async.memoize(slow_fn); - -// fn can now be used as if it were slow_fn -fn('some name', function () { - // callback -}); -``` - - -### unmemoize(fn) - -Undoes a [`memoize`](#memoize)d function, reverting it to the original, unmemoized -form. Handy for testing. - -__Arguments__ - -* `fn` - the memoized function - - -### log(function, arguments) - -Logs the result of an `async` function to the `console`. Only works in Node.js or -in browsers that support `console.log` and `console.error` (such as FF and Chrome). -If multiple arguments are returned from the async function, `console.log` is -called on each argument in order. - -__Arguments__ - -* `function` - The function you want to eventually apply all arguments to. -* `arguments...` - Any number of arguments to apply to the function. - -__Example__ - -```js -var hello = function(name, callback){ - setTimeout(function(){ - callback(null, 'hello ' + name); - }, 1000); -}; -``` -```js -node> async.log(hello, 'world'); -'hello world' -``` - ---------------------------------------- - - -### dir(function, arguments) - -Logs the result of an `async` function to the `console` using `console.dir` to -display the properties of the resulting object. Only works in Node.js or -in browsers that support `console.dir` and `console.error` (such as FF and Chrome). -If multiple arguments are returned from the async function, `console.dir` is -called on each argument in order. - -__Arguments__ - -* `function` - The function you want to eventually apply all arguments to. -* `arguments...` - Any number of arguments to apply to the function. - -__Example__ - -```js -var hello = function(name, callback){ - setTimeout(function(){ - callback(null, {hello: name}); - }, 1000); -}; -``` -```js -node> async.dir(hello, 'world'); -{hello: 'world'} -``` - ---------------------------------------- - - -### noConflict() - -Changes the value of `async` back to its original value, returning a reference to the -`async` object. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/bower.json b/netatmo-security-connector/NetatmoSecurity/node_modules/async/bower.json deleted file mode 100644 index 1817688..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/async/bower.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "async", - "description": "Higher-order functions and common patterns for asynchronous code", - "version": "0.9.2", - "main": "lib/async.js", - "keywords": [ - "async", - "callback", - "utility", - "module" - ], - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/caolan/async.git" - }, - "devDependencies": { - "nodeunit": ">0.0.0", - "uglify-js": "1.2.x", - "nodelint": ">0.0.0", - "lodash": ">=2.4.1" - }, - "moduleType": [ - "amd", - "globals", - "node" - ], - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ], - "authors": [ - "Caolan McMahon" - ] -} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/component.json b/netatmo-security-connector/NetatmoSecurity/node_modules/async/component.json deleted file mode 100644 index 5003a7c..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/async/component.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "async", - "description": "Higher-order functions and common patterns for asynchronous code", - "version": "0.9.2", - "keywords": [ - "async", - "callback", - "utility", - "module" - ], - "license": "MIT", - "repository": "caolan/async", - "scripts": [ - "lib/async.js" - ] -} \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/async/lib/async.js b/netatmo-security-connector/NetatmoSecurity/node_modules/async/lib/async.js deleted file mode 100644 index 394c41c..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/async/lib/async.js +++ /dev/null @@ -1,1123 +0,0 @@ -/*! - * async - * https://github.com/caolan/async - * - * Copyright 2010-2014 Caolan McMahon - * Released under the MIT license - */ -/*jshint onevar: false, indent:4 */ -/*global setImmediate: false, setTimeout: false, console: false */ -(function () { - - var async = {}; - - // global on the server, window in the browser - var root, previous_async; - - root = this; - if (root != null) { - previous_async = root.async; - } - - async.noConflict = function () { - root.async = previous_async; - return async; - }; - - function only_once(fn) { - var called = false; - return function() { - if (called) throw new Error("Callback was already called."); - called = true; - fn.apply(root, arguments); - } - } - - //// cross-browser compatiblity functions //// - - var _toString = Object.prototype.toString; - - var _isArray = Array.isArray || function (obj) { - return _toString.call(obj) === '[object Array]'; - }; - - var _each = function (arr, iterator) { - for (var i = 0; i < arr.length; i += 1) { - iterator(arr[i], i, arr); - } - }; - - var _map = function (arr, iterator) { - if (arr.map) { - return arr.map(iterator); - } - var results = []; - _each(arr, function (x, i, a) { - results.push(iterator(x, i, a)); - }); - return results; - }; - - var _reduce = function (arr, iterator, memo) { - if (arr.reduce) { - return arr.reduce(iterator, memo); - } - _each(arr, function (x, i, a) { - memo = iterator(memo, x, i, a); - }); - return memo; - }; - - var _keys = function (obj) { - if (Object.keys) { - return Object.keys(obj); - } - var keys = []; - for (var k in obj) { - if (obj.hasOwnProperty(k)) { - keys.push(k); - } - } - return keys; - }; - - //// exported async module functions //// - - //// nextTick implementation with browser-compatible fallback //// - if (typeof process === 'undefined' || !(process.nextTick)) { - if (typeof setImmediate === 'function') { - async.nextTick = function (fn) { - // not a direct alias for IE10 compatibility - setImmediate(fn); - }; - async.setImmediate = async.nextTick; - } - else { - async.nextTick = function (fn) { - setTimeout(fn, 0); - }; - async.setImmediate = async.nextTick; - } - } - else { - async.nextTick = process.nextTick; - if (typeof setImmediate !== 'undefined') { - async.setImmediate = function (fn) { - // not a direct alias for IE10 compatibility - setImmediate(fn); - }; - } - else { - async.setImmediate = async.nextTick; - } - } - - async.each = function (arr, iterator, callback) { - callback = callback || function () {}; - if (!arr.length) { - return callback(); - } - var completed = 0; - _each(arr, function (x) { - iterator(x, only_once(done) ); - }); - function done(err) { - if (err) { - callback(err); - callback = function () {}; - } - else { - completed += 1; - if (completed >= arr.length) { - callback(); - } - } - } - }; - async.forEach = async.each; - - async.eachSeries = function (arr, iterator, callback) { - callback = callback || function () {}; - if (!arr.length) { - return callback(); - } - var completed = 0; - var iterate = function () { - iterator(arr[completed], function (err) { - if (err) { - callback(err); - callback = function () {}; - } - else { - completed += 1; - if (completed >= arr.length) { - callback(); - } - else { - iterate(); - } - } - }); - }; - iterate(); - }; - async.forEachSeries = async.eachSeries; - - async.eachLimit = function (arr, limit, iterator, callback) { - var fn = _eachLimit(limit); - fn.apply(null, [arr, iterator, callback]); - }; - async.forEachLimit = async.eachLimit; - - var _eachLimit = function (limit) { - - return function (arr, iterator, callback) { - callback = callback || function () {}; - if (!arr.length || limit <= 0) { - return callback(); - } - var completed = 0; - var started = 0; - var running = 0; - - (function replenish () { - if (completed >= arr.length) { - return callback(); - } - - while (running < limit && started < arr.length) { - started += 1; - running += 1; - iterator(arr[started - 1], function (err) { - if (err) { - callback(err); - callback = function () {}; - } - else { - completed += 1; - running -= 1; - if (completed >= arr.length) { - callback(); - } - else { - replenish(); - } - } - }); - } - })(); - }; - }; - - - var doParallel = function (fn) { - return function () { - var args = Array.prototype.slice.call(arguments); - return fn.apply(null, [async.each].concat(args)); - }; - }; - var doParallelLimit = function(limit, fn) { - return function () { - var args = Array.prototype.slice.call(arguments); - return fn.apply(null, [_eachLimit(limit)].concat(args)); - }; - }; - var doSeries = function (fn) { - return function () { - var args = Array.prototype.slice.call(arguments); - return fn.apply(null, [async.eachSeries].concat(args)); - }; - }; - - - var _asyncMap = function (eachfn, arr, iterator, callback) { - arr = _map(arr, function (x, i) { - return {index: i, value: x}; - }); - if (!callback) { - eachfn(arr, function (x, callback) { - iterator(x.value, function (err) { - callback(err); - }); - }); - } else { - var results = []; - eachfn(arr, function (x, callback) { - iterator(x.value, function (err, v) { - results[x.index] = v; - callback(err); - }); - }, function (err) { - callback(err, results); - }); - } - }; - async.map = doParallel(_asyncMap); - async.mapSeries = doSeries(_asyncMap); - async.mapLimit = function (arr, limit, iterator, callback) { - return _mapLimit(limit)(arr, iterator, callback); - }; - - var _mapLimit = function(limit) { - return doParallelLimit(limit, _asyncMap); - }; - - // reduce only has a series version, as doing reduce in parallel won't - // work in many situations. - async.reduce = function (arr, memo, iterator, callback) { - async.eachSeries(arr, function (x, callback) { - iterator(memo, x, function (err, v) { - memo = v; - callback(err); - }); - }, function (err) { - callback(err, memo); - }); - }; - // inject alias - async.inject = async.reduce; - // foldl alias - async.foldl = async.reduce; - - async.reduceRight = function (arr, memo, iterator, callback) { - var reversed = _map(arr, function (x) { - return x; - }).reverse(); - async.reduce(reversed, memo, iterator, callback); - }; - // foldr alias - async.foldr = async.reduceRight; - - var _filter = function (eachfn, arr, iterator, callback) { - var results = []; - arr = _map(arr, function (x, i) { - return {index: i, value: x}; - }); - eachfn(arr, function (x, callback) { - iterator(x.value, function (v) { - if (v) { - results.push(x); - } - callback(); - }); - }, function (err) { - callback(_map(results.sort(function (a, b) { - return a.index - b.index; - }), function (x) { - return x.value; - })); - }); - }; - async.filter = doParallel(_filter); - async.filterSeries = doSeries(_filter); - // select alias - async.select = async.filter; - async.selectSeries = async.filterSeries; - - var _reject = function (eachfn, arr, iterator, callback) { - var results = []; - arr = _map(arr, function (x, i) { - return {index: i, value: x}; - }); - eachfn(arr, function (x, callback) { - iterator(x.value, function (v) { - if (!v) { - results.push(x); - } - callback(); - }); - }, function (err) { - callback(_map(results.sort(function (a, b) { - return a.index - b.index; - }), function (x) { - return x.value; - })); - }); - }; - async.reject = doParallel(_reject); - async.rejectSeries = doSeries(_reject); - - var _detect = function (eachfn, arr, iterator, main_callback) { - eachfn(arr, function (x, callback) { - iterator(x, function (result) { - if (result) { - main_callback(x); - main_callback = function () {}; - } - else { - callback(); - } - }); - }, function (err) { - main_callback(); - }); - }; - async.detect = doParallel(_detect); - async.detectSeries = doSeries(_detect); - - async.some = function (arr, iterator, main_callback) { - async.each(arr, function (x, callback) { - iterator(x, function (v) { - if (v) { - main_callback(true); - main_callback = function () {}; - } - callback(); - }); - }, function (err) { - main_callback(false); - }); - }; - // any alias - async.any = async.some; - - async.every = function (arr, iterator, main_callback) { - async.each(arr, function (x, callback) { - iterator(x, function (v) { - if (!v) { - main_callback(false); - main_callback = function () {}; - } - callback(); - }); - }, function (err) { - main_callback(true); - }); - }; - // all alias - async.all = async.every; - - async.sortBy = function (arr, iterator, callback) { - async.map(arr, function (x, callback) { - iterator(x, function (err, criteria) { - if (err) { - callback(err); - } - else { - callback(null, {value: x, criteria: criteria}); - } - }); - }, function (err, results) { - if (err) { - return callback(err); - } - else { - var fn = function (left, right) { - var a = left.criteria, b = right.criteria; - return a < b ? -1 : a > b ? 1 : 0; - }; - callback(null, _map(results.sort(fn), function (x) { - return x.value; - })); - } - }); - }; - - async.auto = function (tasks, callback) { - callback = callback || function () {}; - var keys = _keys(tasks); - var remainingTasks = keys.length - if (!remainingTasks) { - return callback(); - } - - var results = {}; - - var listeners = []; - var addListener = function (fn) { - listeners.unshift(fn); - }; - var removeListener = function (fn) { - for (var i = 0; i < listeners.length; i += 1) { - if (listeners[i] === fn) { - listeners.splice(i, 1); - return; - } - } - }; - var taskComplete = function () { - remainingTasks-- - _each(listeners.slice(0), function (fn) { - fn(); - }); - }; - - addListener(function () { - if (!remainingTasks) { - var theCallback = callback; - // prevent final callback from calling itself if it errors - callback = function () {}; - - theCallback(null, results); - } - }); - - _each(keys, function (k) { - var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]]; - var taskCallback = function (err) { - var args = Array.prototype.slice.call(arguments, 1); - if (args.length <= 1) { - args = args[0]; - } - if (err) { - var safeResults = {}; - _each(_keys(results), function(rkey) { - safeResults[rkey] = results[rkey]; - }); - safeResults[k] = args; - callback(err, safeResults); - // stop subsequent errors hitting callback multiple times - callback = function () {}; - } - else { - results[k] = args; - async.setImmediate(taskComplete); - } - }; - var requires = task.slice(0, Math.abs(task.length - 1)) || []; - var ready = function () { - return _reduce(requires, function (a, x) { - return (a && results.hasOwnProperty(x)); - }, true) && !results.hasOwnProperty(k); - }; - if (ready()) { - task[task.length - 1](taskCallback, results); - } - else { - var listener = function () { - if (ready()) { - removeListener(listener); - task[task.length - 1](taskCallback, results); - } - }; - addListener(listener); - } - }); - }; - - async.retry = function(times, task, callback) { - var DEFAULT_TIMES = 5; - var attempts = []; - // Use defaults if times not passed - if (typeof times === 'function') { - callback = task; - task = times; - times = DEFAULT_TIMES; - } - // Make sure times is a number - times = parseInt(times, 10) || DEFAULT_TIMES; - var wrappedTask = function(wrappedCallback, wrappedResults) { - var retryAttempt = function(task, finalAttempt) { - return function(seriesCallback) { - task(function(err, result){ - seriesCallback(!err || finalAttempt, {err: err, result: result}); - }, wrappedResults); - }; - }; - while (times) { - attempts.push(retryAttempt(task, !(times-=1))); - } - async.series(attempts, function(done, data){ - data = data[data.length - 1]; - (wrappedCallback || callback)(data.err, data.result); - }); - } - // If a callback is passed, run this as a controll flow - return callback ? wrappedTask() : wrappedTask - }; - - async.waterfall = function (tasks, callback) { - callback = callback || function () {}; - if (!_isArray(tasks)) { - var err = new Error('First argument to waterfall must be an array of functions'); - return callback(err); - } - if (!tasks.length) { - return callback(); - } - var wrapIterator = function (iterator) { - return function (err) { - if (err) { - callback.apply(null, arguments); - callback = function () {}; - } - else { - var args = Array.prototype.slice.call(arguments, 1); - var next = iterator.next(); - if (next) { - args.push(wrapIterator(next)); - } - else { - args.push(callback); - } - async.setImmediate(function () { - iterator.apply(null, args); - }); - } - }; - }; - wrapIterator(async.iterator(tasks))(); - }; - - var _parallel = function(eachfn, tasks, callback) { - callback = callback || function () {}; - if (_isArray(tasks)) { - eachfn.map(tasks, function (fn, callback) { - if (fn) { - fn(function (err) { - var args = Array.prototype.slice.call(arguments, 1); - if (args.length <= 1) { - args = args[0]; - } - callback.call(null, err, args); - }); - } - }, callback); - } - else { - var results = {}; - eachfn.each(_keys(tasks), function (k, callback) { - tasks[k](function (err) { - var args = Array.prototype.slice.call(arguments, 1); - if (args.length <= 1) { - args = args[0]; - } - results[k] = args; - callback(err); - }); - }, function (err) { - callback(err, results); - }); - } - }; - - async.parallel = function (tasks, callback) { - _parallel({ map: async.map, each: async.each }, tasks, callback); - }; - - async.parallelLimit = function(tasks, limit, callback) { - _parallel({ map: _mapLimit(limit), each: _eachLimit(limit) }, tasks, callback); - }; - - async.series = function (tasks, callback) { - callback = callback || function () {}; - if (_isArray(tasks)) { - async.mapSeries(tasks, function (fn, callback) { - if (fn) { - fn(function (err) { - var args = Array.prototype.slice.call(arguments, 1); - if (args.length <= 1) { - args = args[0]; - } - callback.call(null, err, args); - }); - } - }, callback); - } - else { - var results = {}; - async.eachSeries(_keys(tasks), function (k, callback) { - tasks[k](function (err) { - var args = Array.prototype.slice.call(arguments, 1); - if (args.length <= 1) { - args = args[0]; - } - results[k] = args; - callback(err); - }); - }, function (err) { - callback(err, results); - }); - } - }; - - async.iterator = function (tasks) { - var makeCallback = function (index) { - var fn = function () { - if (tasks.length) { - tasks[index].apply(null, arguments); - } - return fn.next(); - }; - fn.next = function () { - return (index < tasks.length - 1) ? makeCallback(index + 1): null; - }; - return fn; - }; - return makeCallback(0); - }; - - async.apply = function (fn) { - var args = Array.prototype.slice.call(arguments, 1); - return function () { - return fn.apply( - null, args.concat(Array.prototype.slice.call(arguments)) - ); - }; - }; - - var _concat = function (eachfn, arr, fn, callback) { - var r = []; - eachfn(arr, function (x, cb) { - fn(x, function (err, y) { - r = r.concat(y || []); - cb(err); - }); - }, function (err) { - callback(err, r); - }); - }; - async.concat = doParallel(_concat); - async.concatSeries = doSeries(_concat); - - async.whilst = function (test, iterator, callback) { - if (test()) { - iterator(function (err) { - if (err) { - return callback(err); - } - async.whilst(test, iterator, callback); - }); - } - else { - callback(); - } - }; - - async.doWhilst = function (iterator, test, callback) { - iterator(function (err) { - if (err) { - return callback(err); - } - var args = Array.prototype.slice.call(arguments, 1); - if (test.apply(null, args)) { - async.doWhilst(iterator, test, callback); - } - else { - callback(); - } - }); - }; - - async.until = function (test, iterator, callback) { - if (!test()) { - iterator(function (err) { - if (err) { - return callback(err); - } - async.until(test, iterator, callback); - }); - } - else { - callback(); - } - }; - - async.doUntil = function (iterator, test, callback) { - iterator(function (err) { - if (err) { - return callback(err); - } - var args = Array.prototype.slice.call(arguments, 1); - if (!test.apply(null, args)) { - async.doUntil(iterator, test, callback); - } - else { - callback(); - } - }); - }; - - async.queue = function (worker, concurrency) { - if (concurrency === undefined) { - concurrency = 1; - } - function _insert(q, data, pos, callback) { - if (!q.started){ - q.started = true; - } - if (!_isArray(data)) { - data = [data]; - } - if(data.length == 0) { - // call drain immediately if there are no tasks - return async.setImmediate(function() { - if (q.drain) { - q.drain(); - } - }); - } - _each(data, function(task) { - var item = { - data: task, - callback: typeof callback === 'function' ? callback : null - }; - - if (pos) { - q.tasks.unshift(item); - } else { - q.tasks.push(item); - } - - if (q.saturated && q.tasks.length === q.concurrency) { - q.saturated(); - } - async.setImmediate(q.process); - }); - } - - var workers = 0; - var q = { - tasks: [], - concurrency: concurrency, - saturated: null, - empty: null, - drain: null, - started: false, - paused: false, - push: function (data, callback) { - _insert(q, data, false, callback); - }, - kill: function () { - q.drain = null; - q.tasks = []; - }, - unshift: function (data, callback) { - _insert(q, data, true, callback); - }, - process: function () { - if (!q.paused && workers < q.concurrency && q.tasks.length) { - var task = q.tasks.shift(); - if (q.empty && q.tasks.length === 0) { - q.empty(); - } - workers += 1; - var next = function () { - workers -= 1; - if (task.callback) { - task.callback.apply(task, arguments); - } - if (q.drain && q.tasks.length + workers === 0) { - q.drain(); - } - q.process(); - }; - var cb = only_once(next); - worker(task.data, cb); - } - }, - length: function () { - return q.tasks.length; - }, - running: function () { - return workers; - }, - idle: function() { - return q.tasks.length + workers === 0; - }, - pause: function () { - if (q.paused === true) { return; } - q.paused = true; - }, - resume: function () { - if (q.paused === false) { return; } - q.paused = false; - // Need to call q.process once per concurrent - // worker to preserve full concurrency after pause - for (var w = 1; w <= q.concurrency; w++) { - async.setImmediate(q.process); - } - } - }; - return q; - }; - - async.priorityQueue = function (worker, concurrency) { - - function _compareTasks(a, b){ - return a.priority - b.priority; - }; - - function _binarySearch(sequence, item, compare) { - var beg = -1, - end = sequence.length - 1; - while (beg < end) { - var mid = beg + ((end - beg + 1) >>> 1); - if (compare(item, sequence[mid]) >= 0) { - beg = mid; - } else { - end = mid - 1; - } - } - return beg; - } - - function _insert(q, data, priority, callback) { - if (!q.started){ - q.started = true; - } - if (!_isArray(data)) { - data = [data]; - } - if(data.length == 0) { - // call drain immediately if there are no tasks - return async.setImmediate(function() { - if (q.drain) { - q.drain(); - } - }); - } - _each(data, function(task) { - var item = { - data: task, - priority: priority, - callback: typeof callback === 'function' ? callback : null - }; - - q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); - - if (q.saturated && q.tasks.length === q.concurrency) { - q.saturated(); - } - async.setImmediate(q.process); - }); - } - - // Start with a normal queue - var q = async.queue(worker, concurrency); - - // Override push to accept second parameter representing priority - q.push = function (data, priority, callback) { - _insert(q, data, priority, callback); - }; - - // Remove unshift function - delete q.unshift; - - return q; - }; - - async.cargo = function (worker, payload) { - var working = false, - tasks = []; - - var cargo = { - tasks: tasks, - payload: payload, - saturated: null, - empty: null, - drain: null, - drained: true, - push: function (data, callback) { - if (!_isArray(data)) { - data = [data]; - } - _each(data, function(task) { - tasks.push({ - data: task, - callback: typeof callback === 'function' ? callback : null - }); - cargo.drained = false; - if (cargo.saturated && tasks.length === payload) { - cargo.saturated(); - } - }); - async.setImmediate(cargo.process); - }, - process: function process() { - if (working) return; - if (tasks.length === 0) { - if(cargo.drain && !cargo.drained) cargo.drain(); - cargo.drained = true; - return; - } - - var ts = typeof payload === 'number' - ? tasks.splice(0, payload) - : tasks.splice(0, tasks.length); - - var ds = _map(ts, function (task) { - return task.data; - }); - - if(cargo.empty) cargo.empty(); - working = true; - worker(ds, function () { - working = false; - - var args = arguments; - _each(ts, function (data) { - if (data.callback) { - data.callback.apply(null, args); - } - }); - - process(); - }); - }, - length: function () { - return tasks.length; - }, - running: function () { - return working; - } - }; - return cargo; - }; - - var _console_fn = function (name) { - return function (fn) { - var args = Array.prototype.slice.call(arguments, 1); - fn.apply(null, args.concat([function (err) { - var args = Array.prototype.slice.call(arguments, 1); - if (typeof console !== 'undefined') { - if (err) { - if (console.error) { - console.error(err); - } - } - else if (console[name]) { - _each(args, function (x) { - console[name](x); - }); - } - } - }])); - }; - }; - async.log = _console_fn('log'); - async.dir = _console_fn('dir'); - /*async.info = _console_fn('info'); - async.warn = _console_fn('warn'); - async.error = _console_fn('error');*/ - - async.memoize = function (fn, hasher) { - var memo = {}; - var queues = {}; - hasher = hasher || function (x) { - return x; - }; - var memoized = function () { - var args = Array.prototype.slice.call(arguments); - var callback = args.pop(); - var key = hasher.apply(null, args); - if (key in memo) { - async.nextTick(function () { - callback.apply(null, memo[key]); - }); - } - else if (key in queues) { - queues[key].push(callback); - } - else { - queues[key] = [callback]; - fn.apply(null, args.concat([function () { - memo[key] = arguments; - var q = queues[key]; - delete queues[key]; - for (var i = 0, l = q.length; i < l; i++) { - q[i].apply(null, arguments); - } - }])); - } - }; - memoized.memo = memo; - memoized.unmemoized = fn; - return memoized; - }; - - async.unmemoize = function (fn) { - return function () { - return (fn.unmemoized || fn).apply(null, arguments); - }; - }; - - async.times = function (count, iterator, callback) { - var counter = []; - for (var i = 0; i < count; i++) { - counter.push(i); - } - return async.map(counter, iterator, callback); - }; - - async.timesSeries = function (count, iterator, callback) { - var counter = []; - for (var i = 0; i < count; i++) { - counter.push(i); - } - return async.mapSeries(counter, iterator, callback); - }; - - async.seq = function (/* functions... */) { - var fns = arguments; - return function () { - var that = this; - var args = Array.prototype.slice.call(arguments); - var callback = args.pop(); - async.reduce(fns, args, function (newargs, fn, cb) { - fn.apply(that, newargs.concat([function () { - var err = arguments[0]; - var nextargs = Array.prototype.slice.call(arguments, 1); - cb(err, nextargs); - }])) - }, - function (err, results) { - callback.apply(that, [err].concat(results)); - }); - }; - }; - - async.compose = function (/* functions... */) { - return async.seq.apply(null, Array.prototype.reverse.call(arguments)); - }; - - var _applyEach = function (eachfn, fns /*args...*/) { - var go = function () { - var that = this; - var args = Array.prototype.slice.call(arguments); - var callback = args.pop(); - return eachfn(fns, function (fn, cb) { - fn.apply(that, args.concat([cb])); - }, - callback); - }; - if (arguments.length > 2) { - var args = Array.prototype.slice.call(arguments, 2); - return go.apply(this, args); - } - else { - return go; - } - }; - async.applyEach = doParallel(_applyEach); - async.applyEachSeries = doSeries(_applyEach); - - async.forever = function (fn, callback) { - function next(err) { - if (err) { - if (callback) { - return callback(err); - } - throw err; - } - fn(next); - } - next(); - }; - - // Node.js - if (typeof module !== 'undefined' && module.exports) { - module.exports = async; - } - // AMD / RequireJS - else if (typeof define !== 'undefined' && define.amd) { - define([], function () { - return async; - }); - } - // included directly via '); - expect(encoded).to.equal('\\x3cscript\\x3ealert\\x281\\x29\\x3c\\x2fscript\\x3e'); - done(); - }); - - it('encodes \' characters', function (done) { - - var encoded = Hoek.escapeJavaScript('something(\'param\')'); - expect(encoded).to.equal('something\\x28\\x27param\\x27\\x29'); - done(); - }); - - it('encodes large unicode characters with the correct padding', function (done) { - - var encoded = Hoek.escapeJavaScript(String.fromCharCode(500) + String.fromCharCode(1000)); - expect(encoded).to.equal('\\u0500\\u1000'); - done(); - }); - - it('doesn\'t throw an exception when passed null', function (done) { - - var encoded = Hoek.escapeJavaScript(null); - expect(encoded).to.equal(''); - done(); - }); -}); - -describe('escapeHtml()', function () { - - it('encodes / characters', function (done) { - - var encoded = Hoek.escapeHtml(''); - expect(encoded).to.equal('<script>alert(1)</script>'); - done(); - }); - - it('encodes < and > as named characters', function (done) { - - var encoded = Hoek.escapeHtml(' - - - - - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.js deleted file mode 100644 index 5f1113d..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/test/test.js +++ /dev/null @@ -1,231 +0,0 @@ -if (!this.uuid) { - // node.js - uuid = require('../uuid'); - if (!/_rb/.test(uuid._rng.toString())) { - throw new Error("should use crypto for node.js"); - } -} - -// -// x-platform log/assert shims -// - -function _log(msg, type) { - type = type || 'log'; - - if (typeof(document) != 'undefined') { - document.write('

'); - } - if (typeof(console) != 'undefined') { - var color = { - log: '\033[39m', - warn: '\033[33m', - error: '\033[31m' - }; - console[type](color[type] + msg + color.log); - } -} - -function log(msg) {_log(msg, 'log');} -function warn(msg) {_log(msg, 'warn');} -function error(msg) {_log(msg, 'error');} - -function assert(res, msg) { - if (!res) { - error('FAIL: ' + msg); - } else { - log('Pass: ' + msg); - } -} - -// -// Unit tests -// - -// Verify ordering of v1 ids created with explicit times -var TIME = 1321644961388; // 2011-11-18 11:36:01.388-08:00 - -function compare(name, ids) { - ids = ids.map(function(id) { - return id.split('-').reverse().join('-'); - }).sort(); - var sorted = ([].concat(ids)).sort(); - - assert(sorted.toString() == ids.toString(), name + ' have expected order'); -} - -// Verify ordering of v1 ids created using default behavior -compare('uuids with current time', [ - uuid.v1(), - uuid.v1(), - uuid.v1(), - uuid.v1(), - uuid.v1() -]); - -// Verify ordering of v1 ids created with explicit times -compare('uuids with time option', [ - uuid.v1({msecs: TIME - 10*3600*1000}), - uuid.v1({msecs: TIME - 1}), - uuid.v1({msecs: TIME}), - uuid.v1({msecs: TIME + 1}), - uuid.v1({msecs: TIME + 28*24*3600*1000}) -]); - -assert( - uuid.v1({msecs: TIME}) != uuid.v1({msecs: TIME}), - 'IDs created at same msec are different' -); - -// Verify throw if too many ids created -var thrown = false; -try { - uuid.v1({msecs: TIME, nsecs: 10000}); -} catch (e) { - thrown = true; -} -assert(thrown, 'Exception thrown when > 10K ids created in 1 ms'); - -// Verify clock regression bumps clockseq -var uidt = uuid.v1({msecs: TIME}); -var uidtb = uuid.v1({msecs: TIME - 1}); -assert( - parseInt(uidtb.split('-')[3], 16) - parseInt(uidt.split('-')[3], 16) === 1, - 'Clock regression by msec increments the clockseq' -); - -// Verify clock regression bumps clockseq -var uidtn = uuid.v1({msecs: TIME, nsecs: 10}); -var uidtnb = uuid.v1({msecs: TIME, nsecs: 9}); -assert( - parseInt(uidtnb.split('-')[3], 16) - parseInt(uidtn.split('-')[3], 16) === 1, - 'Clock regression by nsec increments the clockseq' -); - -// Verify explicit options produce expected id -var id = uuid.v1({ - msecs: 1321651533573, - nsecs: 5432, - clockseq: 0x385c, - node: [ 0x61, 0xcd, 0x3c, 0xbb, 0x32, 0x10 ] -}); -assert(id == 'd9428888-122b-11e1-b85c-61cd3cbb3210', 'Explicit options produce expected id'); - -// Verify adjacent ids across a msec boundary are 1 time unit apart -var u0 = uuid.v1({msecs: TIME, nsecs: 9999}); -var u1 = uuid.v1({msecs: TIME + 1, nsecs: 0}); - -var before = u0.split('-')[0], after = u1.split('-')[0]; -var dt = parseInt(after, 16) - parseInt(before, 16); -assert(dt === 1, 'Ids spanning 1ms boundary are 100ns apart'); - -// -// Test parse/unparse -// - -id = '00112233445566778899aabbccddeeff'; -assert(uuid.unparse(uuid.parse(id.substr(0,10))) == - '00112233-4400-0000-0000-000000000000', 'Short parse'); -assert(uuid.unparse(uuid.parse('(this is the uuid -> ' + id + id)) == - '00112233-4455-6677-8899-aabbccddeeff', 'Dirty parse'); - -// -// Perf tests -// - -var generators = { - v1: uuid.v1, - v4: uuid.v4 -}; - -var UUID_FORMAT = { - v1: /[0-9a-f]{8}-[0-9a-f]{4}-1[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i, - v4: /[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i -}; - -var N = 1e4; - -// Get %'age an actual value differs from the ideal value -function divergence(actual, ideal) { - return Math.round(100*100*(actual - ideal)/ideal)/100; -} - -function rate(msg, t) { - log(msg + ': ' + (N / (Date.now() - t) * 1e3 | 0) + ' uuids\/second'); -} - -for (var version in generators) { - var counts = {}, max = 0; - var generator = generators[version]; - var format = UUID_FORMAT[version]; - - log('\nSanity check ' + N + ' ' + version + ' uuids'); - for (var i = 0, ok = 0; i < N; i++) { - id = generator(); - if (!format.test(id)) { - throw Error(id + ' is not a valid UUID string'); - } - - if (id != uuid.unparse(uuid.parse(id))) { - assert(fail, id + ' is not a valid id'); - } - - // Count digits for our randomness check - if (version == 'v4') { - var digits = id.replace(/-/g, '').split(''); - for (var j = digits.length-1; j >= 0; j--) { - var c = digits[j]; - max = Math.max(max, counts[c] = (counts[c] || 0) + 1); - } - } - } - - // Check randomness for v4 UUIDs - if (version == 'v4') { - // Limit that we get worried about randomness. (Purely empirical choice, this!) - var limit = 2*100*Math.sqrt(1/N); - - log('\nChecking v4 randomness. Distribution of Hex Digits (% deviation from ideal)'); - - for (var i = 0; i < 16; i++) { - var c = i.toString(16); - var bar = '', n = counts[c], p = Math.round(n/max*100|0); - - // 1-3,5-8, and D-F: 1:16 odds over 30 digits - var ideal = N*30/16; - if (i == 4) { - // 4: 1:1 odds on 1 digit, plus 1:16 odds on 30 digits - ideal = N*(1 + 30/16); - } else if (i >= 8 && i <= 11) { - // 8-B: 1:4 odds on 1 digit, plus 1:16 odds on 30 digits - ideal = N*(1/4 + 30/16); - } else { - // Otherwise: 1:16 odds on 30 digits - ideal = N*30/16; - } - var d = divergence(n, ideal); - - // Draw bar using UTF squares (just for grins) - var s = n/max*50 | 0; - while (s--) bar += '='; - - assert(Math.abs(d) < limit, c + ' |' + bar + '| ' + counts[c] + ' (' + d + '% < ' + limit + '%)'); - } - } -} - -// Perf tests -for (var version in generators) { - log('\nPerformance testing ' + version + ' UUIDs'); - var generator = generators[version]; - var buf = new uuid.BufferClass(16); - - for (var i = 0, t = Date.now(); i < N; i++) generator(); - rate('uuid.' + version + '()', t); - - for (var i = 0, t = Date.now(); i < N; i++) generator('binary'); - rate('uuid.' + version + '(\'binary\')', t); - - for (var i = 0, t = Date.now(); i < N; i++) generator('binary', buf); - rate('uuid.' + version + '(\'binary\', buffer)', t); -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/uuid.js b/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/uuid.js deleted file mode 100644 index 89c5b8f..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/uuid.js +++ /dev/null @@ -1,272 +0,0 @@ -// uuid.js -// -// Copyright (c) 2010-2012 Robert Kieffer -// MIT License - http://opensource.org/licenses/mit-license.php - -/*global window, require, define */ -(function(_window) { - 'use strict'; - - // Unique ID creation requires a high quality random # generator. We feature - // detect to determine the best RNG source, normalizing to a function that - // returns 128-bits of randomness, since that's what's usually required - var _rng, _mathRNG, _nodeRNG, _whatwgRNG, _previousRoot; - - function setupBrowser() { - // Allow for MSIE11 msCrypto - var _crypto = _window.crypto || _window.msCrypto; - - if (!_rng && _crypto && _crypto.getRandomValues) { - // WHATWG crypto-based RNG - http://wiki.whatwg.org/wiki/Crypto - // - // Moderately fast, high quality - try { - var _rnds8 = new Uint8Array(16); - _whatwgRNG = _rng = function whatwgRNG() { - _crypto.getRandomValues(_rnds8); - return _rnds8; - }; - _rng(); - } catch(e) {} - } - - if (!_rng) { - // Math.random()-based (RNG) - // - // If all else fails, use Math.random(). It's fast, but is of unspecified - // quality. - var _rnds = new Array(16); - _mathRNG = _rng = function() { - for (var i = 0, r; i < 16; i++) { - if ((i & 0x03) === 0) { r = Math.random() * 0x100000000; } - _rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; - } - - return _rnds; - }; - if ('undefined' !== typeof console && console.warn) { - console.warn("[SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random()"); - } - } - } - - function setupNode() { - // Node.js crypto-based RNG - http://nodejs.org/docs/v0.6.2/api/crypto.html - // - // Moderately fast, high quality - if ('function' === typeof require) { - try { - var _rb = require('crypto').randomBytes; - _nodeRNG = _rng = _rb && function() {return _rb(16);}; - _rng(); - } catch(e) {} - } - } - - if (_window) { - setupBrowser(); - } else { - setupNode(); - } - - // Buffer class to use - var BufferClass = ('function' === typeof Buffer) ? Buffer : Array; - - // Maps for number <-> hex string conversion - var _byteToHex = []; - var _hexToByte = {}; - for (var i = 0; i < 256; i++) { - _byteToHex[i] = (i + 0x100).toString(16).substr(1); - _hexToByte[_byteToHex[i]] = i; - } - - // **`parse()` - Parse a UUID into it's component bytes** - function parse(s, buf, offset) { - var i = (buf && offset) || 0, ii = 0; - - buf = buf || []; - s.toLowerCase().replace(/[0-9a-f]{2}/g, function(oct) { - if (ii < 16) { // Don't overflow! - buf[i + ii++] = _hexToByte[oct]; - } - }); - - // Zero out remaining bytes if string was short - while (ii < 16) { - buf[i + ii++] = 0; - } - - return buf; - } - - // **`unparse()` - Convert UUID byte array (ala parse()) into a string** - function unparse(buf, offset) { - var i = offset || 0, bth = _byteToHex; - return bth[buf[i++]] + bth[buf[i++]] + - bth[buf[i++]] + bth[buf[i++]] + '-' + - bth[buf[i++]] + bth[buf[i++]] + '-' + - bth[buf[i++]] + bth[buf[i++]] + '-' + - bth[buf[i++]] + bth[buf[i++]] + '-' + - bth[buf[i++]] + bth[buf[i++]] + - bth[buf[i++]] + bth[buf[i++]] + - bth[buf[i++]] + bth[buf[i++]]; - } - - // **`v1()` - Generate time-based UUID** - // - // Inspired by https://github.com/LiosK/UUID.js - // and http://docs.python.org/library/uuid.html - - // random #'s we need to init node and clockseq - var _seedBytes = _rng(); - - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - var _nodeId = [ - _seedBytes[0] | 0x01, - _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5] - ]; - - // Per 4.2.2, randomize (14 bit) clockseq - var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 0x3fff; - - // Previous uuid creation time - var _lastMSecs = 0, _lastNSecs = 0; - - // See https://github.com/broofa/node-uuid for API details - function v1(options, buf, offset) { - var i = buf && offset || 0; - var b = buf || []; - - options = options || {}; - - var clockseq = (options.clockseq != null) ? options.clockseq : _clockseq; - - // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - var msecs = (options.msecs != null) ? options.msecs : new Date().getTime(); - - // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - var nsecs = (options.nsecs != null) ? options.nsecs : _lastNSecs + 1; - - // Time since last uuid creation (in msecs) - var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000; - - // Per 4.2.1.2, Bump clockseq on clock regression - if (dt < 0 && options.clockseq == null) { - clockseq = clockseq + 1 & 0x3fff; - } - - // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs == null) { - nsecs = 0; - } - - // Per 4.2.1.2 Throw error if too many uuids are requested - if (nsecs >= 10000) { - throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - - // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - msecs += 12219292800000; - - // `time_low` - var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; - - // `time_mid` - var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; - - // `time_high_and_version` - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - b[i++] = tmh >>> 16 & 0xff; - - // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - b[i++] = clockseq >>> 8 | 0x80; - - // `clock_seq_low` - b[i++] = clockseq & 0xff; - - // `node` - var node = options.node || _nodeId; - for (var n = 0; n < 6; n++) { - b[i + n] = node[n]; - } - - return buf ? buf : unparse(b); - } - - // **`v4()` - Generate random UUID** - - // See https://github.com/broofa/node-uuid for API details - function v4(options, buf, offset) { - // Deprecated - 'format' argument, as supported in v1.2 - var i = buf && offset || 0; - - if (typeof(options) === 'string') { - buf = (options === 'binary') ? new BufferClass(16) : null; - options = null; - } - options = options || {}; - - var rnds = options.random || (options.rng || _rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = (rnds[6] & 0x0f) | 0x40; - rnds[8] = (rnds[8] & 0x3f) | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - for (var ii = 0; ii < 16; ii++) { - buf[i + ii] = rnds[ii]; - } - } - - return buf || unparse(rnds); - } - - // Export public API - var uuid = v4; - uuid.v1 = v1; - uuid.v4 = v4; - uuid.parse = parse; - uuid.unparse = unparse; - uuid.BufferClass = BufferClass; - uuid._rng = _rng; - uuid._mathRNG = _mathRNG; - uuid._nodeRNG = _nodeRNG; - uuid._whatwgRNG = _whatwgRNG; - - if (('undefined' !== typeof module) && module.exports) { - // Publish as node.js module - module.exports = uuid; - } else if (typeof define === 'function' && define.amd) { - // Publish as AMD module - define(function() {return uuid;}); - - - } else { - // Publish as global (in browsers) - _previousRoot = _window.uuid; - - // **`noConflict()` - (browser only) to reset global 'uuid' var** - uuid.noConflict = function() { - _window.uuid = _previousRoot; - return uuid; - }; - - _window.uuid = uuid; - } -})('undefined' !== typeof window ? window : null); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/v3.js b/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/v3.js deleted file mode 100644 index a27c5b3..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/node-uuid/v3.js +++ /dev/null @@ -1,54 +0,0 @@ -var rng = require('./lib/rng'); -var bytesToUuid = require('./lib/bytesToUuid'); - -function v3(name, namespaceUuid, buf, offset) { - var i = buf && offset || 0; - - if (typeof(name) != 'string) { - throw TypeError('name must be defined') - } - if (typeof(namespaceUuid) != 'string) { - throw TypeError('name must be defined') - } - - if (typeof(options) == 'string') { - buf = options == 'binary' ? new Array(16) : null; - options = null; - } - options = options || {}; - - var rnds = options.random || (options.rng || rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = (rnds[6] & 0x0f) | 0x40; - rnds[8] = (rnds[8] & 0x3f) | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - for (var ii = 0; ii < 16; ++ii) { - buf[i + ii] = rnds[ii]; - } - } - - return buf || bytesToUuid(rnds); -} - -exports.namespace = function(uuid) { - // Parse namespace uuid - var namespaceBytes = (uuid).match(/([0-9a-f][0-9a-f])/gi).map(function(s) { - return parseInt(s, 16); - }); - - return function(name) { - var bytes = [].concat(namespaceBytes); - - var utf8String = unescape(encodeURIComponent(s)) - for (var i = 0; i < utf8String.length; i++) { - bytes.push(utf8String.charCodeAt(i)); - } - - var hash = md5(bytes); - } -} - -module.exports = v4; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/LICENSE deleted file mode 100644 index a4a9aee..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/LICENSE +++ /dev/null @@ -1,55 +0,0 @@ -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/README.md deleted file mode 100644 index 34c4a85..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/README.md +++ /dev/null @@ -1,4 +0,0 @@ -oauth-sign -========== - -OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/index.js deleted file mode 100644 index 63b418c..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/index.js +++ /dev/null @@ -1,131 +0,0 @@ -var crypto = require('crypto') - , qs = require('querystring') - ; - -function sha1 (key, body) { - return crypto.createHmac('sha1', key).update(body).digest('base64') -} - -function rsa (key, body) { - return crypto.createSign("RSA-SHA1").update(body).sign(key, 'base64'); -} - -function rfc3986 (str) { - return encodeURIComponent(str) - .replace(/!/g,'%21') - .replace(/\*/g,'%2A') - .replace(/\(/g,'%28') - .replace(/\)/g,'%29') - .replace(/'/g,'%27') - ; -} - -// Maps object to bi-dimensional array -// Converts { foo: 'A', bar: [ 'b', 'B' ]} to -// [ ['foo', 'A'], ['bar', 'b'], ['bar', 'B'] ] -function map (obj) { - var key, val, arr = [] - for (key in obj) { - val = obj[key] - if (Array.isArray(val)) - for (var i = 0; i < val.length; i++) - arr.push([key, val[i]]) - else - arr.push([key, val]) - } - return arr -} - -// Compare function for sort -function compare (a, b) { - return a > b ? 1 : a < b ? -1 : 0 -} - -function generateBase (httpMethod, base_uri, params) { - // adapted from https://dev.twitter.com/docs/auth/oauth and - // https://dev.twitter.com/docs/auth/creating-signature - - // Parameter normalization - // http://tools.ietf.org/html/rfc5849#section-3.4.1.3.2 - var normalized = map(params) - // 1. First, the name and value of each parameter are encoded - .map(function (p) { - return [ rfc3986(p[0]), rfc3986(p[1] || '') ] - }) - // 2. The parameters are sorted by name, using ascending byte value - // ordering. If two or more parameters share the same name, they - // are sorted by their value. - .sort(function (a, b) { - return compare(a[0], b[0]) || compare(a[1], b[1]) - }) - // 3. The name of each parameter is concatenated to its corresponding - // value using an "=" character (ASCII code 61) as a separator, even - // if the value is empty. - .map(function (p) { return p.join('=') }) - // 4. The sorted name/value pairs are concatenated together into a - // single string by using an "&" character (ASCII code 38) as - // separator. - .join('&') - - var base = [ - rfc3986(httpMethod ? httpMethod.toUpperCase() : 'GET'), - rfc3986(base_uri), - rfc3986(normalized) - ].join('&') - - return base -} - -function hmacsign (httpMethod, base_uri, params, consumer_secret, token_secret) { - var base = generateBase(httpMethod, base_uri, params) - var key = [ - consumer_secret || '', - token_secret || '' - ].map(rfc3986).join('&') - - return sha1(key, base) -} - -function rsasign (httpMethod, base_uri, params, private_key, token_secret) { - var base = generateBase(httpMethod, base_uri, params) - var key = private_key || '' - - return rsa(key, base) -} - -function plaintext (consumer_secret, token_secret) { - var key = [ - consumer_secret || '', - token_secret || '' - ].map(rfc3986).join('&') - - return key -} - -function sign (signMethod, httpMethod, base_uri, params, consumer_secret, token_secret) { - var method - var skipArgs = 1 - - switch (signMethod) { - case 'RSA-SHA1': - method = rsasign - break - case 'HMAC-SHA1': - method = hmacsign - break - case 'PLAINTEXT': - method = plaintext - skipArgs = 4 - break - default: - throw new Error("Signature method not supported: " + signMethod) - } - - return method.apply(null, [].slice.call(arguments, skipArgs)) -} - -exports.hmacsign = hmacsign -exports.rsasign = rsasign -exports.plaintext = plaintext -exports.sign = sign -exports.rfc3986 = rfc3986 diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/package.json deleted file mode 100644 index c4d17bd..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "_from": "oauth-sign@~0.6.0", - "_id": "oauth-sign@0.6.0", - "_inBundle": false, - "_integrity": "sha1-fb6uRPbKRU4fFoRR1jB0ZzWBPOM=", - "_location": "/oauth-sign", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "oauth-sign@~0.6.0", - "name": "oauth-sign", - "escapedName": "oauth-sign", - "rawSpec": "~0.6.0", - "saveSpec": null, - "fetchSpec": "~0.6.0" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz", - "_shasum": "7dbeae44f6ca454e1f168451d630746735813ce3", - "_spec": "oauth-sign@~0.6.0", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", - "author": { - "name": "Mikeal Rogers", - "email": "mikeal.rogers@gmail.com", - "url": "http://www.futurealoof.com" - }, - "bugs": { - "url": "https://github.com/mikeal/oauth-sign/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.", - "devDependencies": {}, - "engines": { - "node": "*" - }, - "homepage": "https://github.com/mikeal/oauth-sign#readme", - "main": "index.js", - "name": "oauth-sign", - "optionalDependencies": {}, - "repository": { - "url": "git+https://github.com/mikeal/oauth-sign.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "0.6.0" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/test.js deleted file mode 100644 index aea800b..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/oauth-sign/test.js +++ /dev/null @@ -1,74 +0,0 @@ -var oauth = require('./index') - , hmacsign = oauth.hmacsign - , assert = require('assert') - , qs = require('querystring') - ; - -// Tests from Twitter documentation https://dev.twitter.com/docs/auth/oauth - -var reqsign = hmacsign('POST', 'https://api.twitter.com/oauth/request_token', - { oauth_callback: 'http://localhost:3005/the_dance/process_callback?service_provider_id=11' - , oauth_consumer_key: 'GDdmIQH6jhtmLUypg82g' - , oauth_nonce: 'QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk' - , oauth_signature_method: 'HMAC-SHA1' - , oauth_timestamp: '1272323042' - , oauth_version: '1.0' - }, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98") - -console.log(reqsign) -console.log('8wUi7m5HFQy76nowoCThusfgB+Q=') -assert.equal(reqsign, '8wUi7m5HFQy76nowoCThusfgB+Q=') - -var accsign = hmacsign('POST', 'https://api.twitter.com/oauth/access_token', - { oauth_consumer_key: 'GDdmIQH6jhtmLUypg82g' - , oauth_nonce: '9zWH6qe0qG7Lc1telCn7FhUbLyVdjEaL3MO5uHxn8' - , oauth_signature_method: 'HMAC-SHA1' - , oauth_token: '8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc' - , oauth_timestamp: '1272323047' - , oauth_verifier: 'pDNg57prOHapMbhv25RNf75lVRd6JDsni1AJJIDYoTY' - , oauth_version: '1.0' - }, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98", "x6qpRnlEmW9JbQn4PQVVeVG8ZLPEx6A0TOebgwcuA") - -console.log(accsign) -console.log('PUw/dHA4fnlJYM6RhXk5IU/0fCc=') -assert.equal(accsign, 'PUw/dHA4fnlJYM6RhXk5IU/0fCc=') - -var upsign = hmacsign('POST', 'http://api.twitter.com/1/statuses/update.json', - { oauth_consumer_key: "GDdmIQH6jhtmLUypg82g" - , oauth_nonce: "oElnnMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7Q6Y" - , oauth_signature_method: "HMAC-SHA1" - , oauth_token: "819797-Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw" - , oauth_timestamp: "1272325550" - , oauth_version: "1.0" - , status: 'setting up my twitter ç§ã®ã•ãˆãšã‚Šã‚’設定ã™ã‚‹' - }, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98", "J6zix3FfA9LofH0awS24M3HcBYXO5nI1iYe8EfBA") - -console.log(upsign) -console.log('yOahq5m0YjDDjfjxHaXEsW9D+X0=') -assert.equal(upsign, 'yOahq5m0YjDDjfjxHaXEsW9D+X0=') - -// example in rfc5849 -var params = qs.parse('b5=%3D%253D&a3=a&c%40=&a2=r%20b' + '&' + 'c2&a3=2+q') -params.oauth_consumer_key = '9djdj82h48djs9d2' -params.oauth_token = 'kkk9d7dh3k39sjv7' -params.oauth_nonce = '7d8f3e4a' -params.oauth_signature_method = 'HMAC-SHA1' -params.oauth_timestamp = '137131201' - -var rfc5849sign = hmacsign('POST', 'http://example.com/request', - params, "j49sk3j29djd", "dh893hdasih9") - -console.log(rfc5849sign) -console.log('r6/TJjbCOr97/+UU0NsvSne7s5g=') -assert.equal(rfc5849sign, 'r6/TJjbCOr97/+UU0NsvSne7s5g=') - - -// PLAINTEXT - -var plainSign = oauth.sign('PLAINTEXT', 'GET', 'http://dummy.com', {}, 'consumer_secret', 'token_secret') -console.log(plainSign) -assert.equal(plainSign, 'consumer_secret&token_secret') - -plainSign = oauth.plaintext('consumer_secret', 'token_secret') -console.log(plainSign) -assert.equal(plainSign, 'consumer_secret&token_secret') diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/LICENSE deleted file mode 100644 index 78d792e..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/LICENSE +++ /dev/null @@ -1,9 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2017 Lupo Montero lupomontero@gmail.com - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/README.md deleted file mode 100644 index e876c3d..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/README.md +++ /dev/null @@ -1,215 +0,0 @@ -# psl (Public Suffix List) - -[![NPM](https://nodei.co/npm/psl.png?downloads=true&downloadRank=true)](https://nodei.co/npm/psl/) - -[![Greenkeeper badge](https://badges.greenkeeper.io/lupomontero/psl.svg)](https://greenkeeper.io/) -[![Build Status](https://travis-ci.org/lupomontero/psl.svg?branch=master)](https://travis-ci.org/lupomontero/psl) -[![devDependency Status](https://david-dm.org/lupomontero/psl/dev-status.png)](https://david-dm.org/lupomontero/psl#info=devDependencies) - -`psl` is a `JavaScript` domain name parser based on the -[Public Suffix List](https://publicsuffix.org/). - -This implementation is tested against the -[test data hosted by Mozilla](http://mxr.mozilla.org/mozilla-central/source/netwerk/test/unit/data/test_psl.txt?raw=1) -and kindly provided by [Comodo](https://www.comodo.com/). - -Cross browser testing provided by -[BrowserStack](https://www.browserstack.com/) - -## What is the Public Suffix List? - -The Public Suffix List is a cross-vendor initiative to provide an accurate list -of domain name suffixes. - -The Public Suffix List is an initiative of the Mozilla Project, but is -maintained as a community resource. It is available for use in any software, -but was originally created to meet the needs of browser manufacturers. - -A "public suffix" is one under which Internet users can directly register names. -Some examples of public suffixes are ".com", ".co.uk" and "pvt.k12.wy.us". The -Public Suffix List is a list of all known public suffixes. - -Source: http://publicsuffix.org - - -## Installation - -### Node.js - -```sh -npm install --save psl -``` - -### Browser - -Download [psl.min.js](https://raw.githubusercontent.com/lupomontero/psl/master/dist/psl.min.js) -and include it in a script tag. - -```html - -``` - -This script is browserified and wrapped in a [umd](https://github.com/umdjs/umd) -wrapper so you should be able to use it standalone or together with a module -loader. - -## API - -### `psl.parse(domain)` - -Parse domain based on Public Suffix List. Returns an `Object` with the following -properties: - -* `tld`: Top level domain (this is the _public suffix_). -* `sld`: Second level domain (the first private part of the domain name). -* `domain`: The domain name is the `sld` + `tld`. -* `subdomain`: Optional parts left of the domain. - -#### Example: - -```js -var psl = require('psl'); - -// Parse domain without subdomain -var parsed = psl.parse('google.com'); -console.log(parsed.tld); // 'com' -console.log(parsed.sld); // 'google' -console.log(parsed.domain); // 'google.com' -console.log(parsed.subdomain); // null - -// Parse domain with subdomain -var parsed = psl.parse('www.google.com'); -console.log(parsed.tld); // 'com' -console.log(parsed.sld); // 'google' -console.log(parsed.domain); // 'google.com' -console.log(parsed.subdomain); // 'www' - -// Parse domain with nested subdomains -var parsed = psl.parse('a.b.c.d.foo.com'); -console.log(parsed.tld); // 'com' -console.log(parsed.sld); // 'foo' -console.log(parsed.domain); // 'foo.com' -console.log(parsed.subdomain); // 'a.b.c.d' -``` - -### `psl.get(domain)` - -Get domain name, `sld` + `tld`. Returns `null` if not valid. - -#### Example: - -```js -var psl = require('psl'); - -// null input. -psl.get(null); // null - -// Mixed case. -psl.get('COM'); // null -psl.get('example.COM'); // 'example.com' -psl.get('WwW.example.COM'); // 'example.com' - -// Unlisted TLD. -psl.get('example'); // null -psl.get('example.example'); // 'example.example' -psl.get('b.example.example'); // 'example.example' -psl.get('a.b.example.example'); // 'example.example' - -// TLD with only 1 rule. -psl.get('biz'); // null -psl.get('domain.biz'); // 'domain.biz' -psl.get('b.domain.biz'); // 'domain.biz' -psl.get('a.b.domain.biz'); // 'domain.biz' - -// TLD with some 2-level rules. -psl.get('uk.com'); // null); -psl.get('example.uk.com'); // 'example.uk.com'); -psl.get('b.example.uk.com'); // 'example.uk.com'); - -// More complex TLD. -psl.get('c.kobe.jp'); // null -psl.get('b.c.kobe.jp'); // 'b.c.kobe.jp' -psl.get('a.b.c.kobe.jp'); // 'b.c.kobe.jp' -psl.get('city.kobe.jp'); // 'city.kobe.jp' -psl.get('www.city.kobe.jp'); // 'city.kobe.jp' - -// IDN labels. -psl.get('食狮.com.cn'); // '食狮.com.cn' -psl.get('食狮.å…¬å¸.cn'); // '食狮.å…¬å¸.cn' -psl.get('www.食狮.å…¬å¸.cn'); // '食狮.å…¬å¸.cn' - -// Same as above, but punycoded. -psl.get('xn--85x722f.com.cn'); // 'xn--85x722f.com.cn' -psl.get('xn--85x722f.xn--55qx5d.cn'); // 'xn--85x722f.xn--55qx5d.cn' -psl.get('www.xn--85x722f.xn--55qx5d.cn'); // 'xn--85x722f.xn--55qx5d.cn' -``` - -### `psl.isValid(domain)` - -Check whether a domain has a valid Public Suffix. Returns a `Boolean` indicating -whether the domain has a valid Public Suffix. - -#### Example - -```js -var psl = require('psl'); - -psl.isValid('google.com'); // true -psl.isValid('www.google.com'); // true -psl.isValid('x.yz'); // false -``` - - -## Testing and Building - -Test are written using [`mocha`](https://mochajs.org/) and can be -run in two different environments: `node` and `phantomjs`. - -```sh -# This will run `eslint`, `mocha` and `karma`. -npm test - -# Individual test environments -# Run tests in node only. -./node_modules/.bin/mocha test -# Run tests in phantomjs only. -./node_modules/.bin/karma start ./karma.conf.js --single-run - -# Build data (parse raw list) and create dist files -npm run build -``` - -Feel free to fork if you see possible improvements! - - -## Acknowledgements - -* Mozilla Foundation's [Public Suffix List](https://publicsuffix.org/) -* Thanks to Rob Stradling of [Comodo](https://www.comodo.com/) for providing - test data. -* Inspired by [weppos/publicsuffix-ruby](https://github.com/weppos/publicsuffix-ruby) - - -## License - -The MIT License (MIT) - -Copyright (c) 2017 Lupo Montero - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/browserstack-logo.svg b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/browserstack-logo.svg deleted file mode 100644 index 195f64d..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/browserstack-logo.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - -Browserstack-logo-white - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/data/rules.json b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/data/rules.json deleted file mode 100644 index 774ea0e..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/data/rules.json +++ /dev/null @@ -1,8807 +0,0 @@ -[ -"ac", -"com.ac", -"edu.ac", -"gov.ac", -"net.ac", -"mil.ac", -"org.ac", -"ad", -"nom.ad", -"ae", -"co.ae", -"net.ae", -"org.ae", -"sch.ae", -"ac.ae", -"gov.ae", -"mil.ae", -"aero", -"accident-investigation.aero", -"accident-prevention.aero", -"aerobatic.aero", -"aeroclub.aero", -"aerodrome.aero", -"agents.aero", -"aircraft.aero", -"airline.aero", -"airport.aero", -"air-surveillance.aero", -"airtraffic.aero", -"air-traffic-control.aero", -"ambulance.aero", -"amusement.aero", -"association.aero", -"author.aero", -"ballooning.aero", -"broker.aero", -"caa.aero", -"cargo.aero", -"catering.aero", -"certification.aero", -"championship.aero", -"charter.aero", -"civilaviation.aero", -"club.aero", -"conference.aero", -"consultant.aero", -"consulting.aero", -"control.aero", -"council.aero", -"crew.aero", -"design.aero", -"dgca.aero", -"educator.aero", -"emergency.aero", -"engine.aero", -"engineer.aero", -"entertainment.aero", -"equipment.aero", -"exchange.aero", -"express.aero", -"federation.aero", -"flight.aero", -"freight.aero", -"fuel.aero", -"gliding.aero", -"government.aero", -"groundhandling.aero", -"group.aero", -"hanggliding.aero", -"homebuilt.aero", -"insurance.aero", -"journal.aero", -"journalist.aero", -"leasing.aero", -"logistics.aero", -"magazine.aero", -"maintenance.aero", -"media.aero", -"microlight.aero", -"modelling.aero", -"navigation.aero", -"parachuting.aero", -"paragliding.aero", -"passenger-association.aero", -"pilot.aero", -"press.aero", -"production.aero", -"recreation.aero", -"repbody.aero", -"res.aero", -"research.aero", -"rotorcraft.aero", -"safety.aero", -"scientist.aero", -"services.aero", -"show.aero", -"skydiving.aero", -"software.aero", -"student.aero", -"trader.aero", -"trading.aero", -"trainer.aero", -"union.aero", -"workinggroup.aero", -"works.aero", -"af", -"gov.af", -"com.af", -"org.af", -"net.af", -"edu.af", -"ag", -"com.ag", -"org.ag", -"net.ag", -"co.ag", -"nom.ag", -"ai", -"off.ai", -"com.ai", -"net.ai", -"org.ai", -"al", -"com.al", -"edu.al", -"gov.al", -"mil.al", -"net.al", -"org.al", -"am", -"co.am", -"com.am", -"commune.am", -"net.am", -"org.am", -"ao", -"ed.ao", -"gv.ao", -"og.ao", -"co.ao", -"pb.ao", -"it.ao", -"aq", -"ar", -"com.ar", -"edu.ar", -"gob.ar", -"gov.ar", -"int.ar", -"mil.ar", -"musica.ar", -"net.ar", -"org.ar", -"tur.ar", -"arpa", -"e164.arpa", -"in-addr.arpa", -"ip6.arpa", -"iris.arpa", -"uri.arpa", -"urn.arpa", -"as", -"gov.as", -"asia", -"at", -"ac.at", -"co.at", -"gv.at", -"or.at", -"au", -"com.au", -"net.au", -"org.au", -"edu.au", -"gov.au", -"asn.au", -"id.au", -"info.au", -"conf.au", -"oz.au", -"act.au", -"nsw.au", -"nt.au", -"qld.au", -"sa.au", -"tas.au", -"vic.au", -"wa.au", -"act.edu.au", -"catholic.edu.au", -"eq.edu.au", -"nsw.edu.au", -"nt.edu.au", -"qld.edu.au", -"sa.edu.au", -"tas.edu.au", -"vic.edu.au", -"wa.edu.au", -"qld.gov.au", -"sa.gov.au", -"tas.gov.au", -"vic.gov.au", -"wa.gov.au", -"education.tas.edu.au", -"schools.nsw.edu.au", -"aw", -"com.aw", -"ax", -"az", -"com.az", -"net.az", -"int.az", -"gov.az", -"org.az", -"edu.az", -"info.az", -"pp.az", -"mil.az", -"name.az", -"pro.az", -"biz.az", -"ba", -"com.ba", -"edu.ba", -"gov.ba", -"mil.ba", -"net.ba", -"org.ba", -"bb", -"biz.bb", -"co.bb", -"com.bb", -"edu.bb", -"gov.bb", -"info.bb", -"net.bb", -"org.bb", -"store.bb", -"tv.bb", -"*.bd", -"be", -"ac.be", -"bf", -"gov.bf", -"bg", -"a.bg", -"b.bg", -"c.bg", -"d.bg", -"e.bg", -"f.bg", -"g.bg", -"h.bg", -"i.bg", -"j.bg", -"k.bg", -"l.bg", -"m.bg", -"n.bg", -"o.bg", -"p.bg", -"q.bg", -"r.bg", -"s.bg", -"t.bg", -"u.bg", -"v.bg", -"w.bg", -"x.bg", -"y.bg", -"z.bg", -"0.bg", -"1.bg", -"2.bg", -"3.bg", -"4.bg", -"5.bg", -"6.bg", -"7.bg", -"8.bg", -"9.bg", -"bh", -"com.bh", -"edu.bh", -"net.bh", -"org.bh", -"gov.bh", -"bi", -"co.bi", -"com.bi", -"edu.bi", -"or.bi", -"org.bi", -"biz", -"bj", -"asso.bj", -"barreau.bj", -"gouv.bj", -"bm", -"com.bm", -"edu.bm", -"gov.bm", -"net.bm", -"org.bm", -"bn", -"com.bn", -"edu.bn", -"gov.bn", -"net.bn", -"org.bn", -"bo", -"com.bo", -"edu.bo", -"gob.bo", -"int.bo", -"org.bo", -"net.bo", -"mil.bo", -"tv.bo", -"web.bo", -"academia.bo", -"agro.bo", -"arte.bo", -"blog.bo", -"bolivia.bo", -"ciencia.bo", -"cooperativa.bo", -"democracia.bo", -"deporte.bo", -"ecologia.bo", -"economia.bo", -"empresa.bo", -"indigena.bo", -"industria.bo", -"info.bo", -"medicina.bo", -"movimiento.bo", -"musica.bo", -"natural.bo", -"nombre.bo", -"noticias.bo", -"patria.bo", -"politica.bo", -"profesional.bo", -"plurinacional.bo", -"pueblo.bo", -"revista.bo", -"salud.bo", -"tecnologia.bo", -"tksat.bo", -"transporte.bo", -"wiki.bo", -"br", -"9guacu.br", -"abc.br", -"adm.br", -"adv.br", -"agr.br", -"aju.br", -"am.br", -"anani.br", -"aparecida.br", -"arq.br", -"art.br", -"ato.br", -"b.br", -"barueri.br", -"belem.br", -"bhz.br", -"bio.br", -"blog.br", -"bmd.br", -"boavista.br", -"bsb.br", -"campinagrande.br", -"campinas.br", -"caxias.br", -"cim.br", -"cng.br", -"cnt.br", -"com.br", -"contagem.br", -"coop.br", -"cri.br", -"cuiaba.br", -"curitiba.br", -"def.br", -"ecn.br", -"eco.br", -"edu.br", -"emp.br", -"eng.br", -"esp.br", -"etc.br", -"eti.br", -"far.br", -"feira.br", -"flog.br", -"floripa.br", -"fm.br", -"fnd.br", -"fortal.br", -"fot.br", -"foz.br", -"fst.br", -"g12.br", -"ggf.br", -"goiania.br", -"gov.br", -"ac.gov.br", -"al.gov.br", -"am.gov.br", -"ap.gov.br", -"ba.gov.br", -"ce.gov.br", -"df.gov.br", -"es.gov.br", -"go.gov.br", -"ma.gov.br", -"mg.gov.br", -"ms.gov.br", -"mt.gov.br", -"pa.gov.br", -"pb.gov.br", -"pe.gov.br", -"pi.gov.br", -"pr.gov.br", -"rj.gov.br", -"rn.gov.br", -"ro.gov.br", -"rr.gov.br", -"rs.gov.br", -"sc.gov.br", -"se.gov.br", -"sp.gov.br", -"to.gov.br", -"gru.br", -"imb.br", -"ind.br", -"inf.br", -"jab.br", -"jampa.br", -"jdf.br", -"joinville.br", -"jor.br", -"jus.br", -"leg.br", -"lel.br", -"londrina.br", -"macapa.br", -"maceio.br", -"manaus.br", -"maringa.br", -"mat.br", -"med.br", -"mil.br", -"morena.br", -"mp.br", -"mus.br", -"natal.br", -"net.br", -"niteroi.br", -"*.nom.br", -"not.br", -"ntr.br", -"odo.br", -"ong.br", -"org.br", -"osasco.br", -"palmas.br", -"poa.br", -"ppg.br", -"pro.br", -"psc.br", -"psi.br", -"pvh.br", -"qsl.br", -"radio.br", -"rec.br", -"recife.br", -"ribeirao.br", -"rio.br", -"riobranco.br", -"riopreto.br", -"salvador.br", -"sampa.br", -"santamaria.br", -"santoandre.br", -"saobernardo.br", -"saogonca.br", -"sjc.br", -"slg.br", -"slz.br", -"sorocaba.br", -"srv.br", -"taxi.br", -"tc.br", -"teo.br", -"the.br", -"tmp.br", -"trd.br", -"tur.br", -"tv.br", -"udi.br", -"vet.br", -"vix.br", -"vlog.br", -"wiki.br", -"zlg.br", -"bs", -"com.bs", -"net.bs", -"org.bs", -"edu.bs", -"gov.bs", -"bt", -"com.bt", -"edu.bt", -"gov.bt", -"net.bt", -"org.bt", -"bv", -"bw", -"co.bw", -"org.bw", -"by", -"gov.by", -"mil.by", -"com.by", -"of.by", -"bz", -"com.bz", -"net.bz", -"org.bz", -"edu.bz", -"gov.bz", -"ca", -"ab.ca", -"bc.ca", -"mb.ca", -"nb.ca", -"nf.ca", -"nl.ca", -"ns.ca", -"nt.ca", -"nu.ca", -"on.ca", -"pe.ca", -"qc.ca", -"sk.ca", -"yk.ca", -"gc.ca", -"cat", -"cc", -"cd", -"gov.cd", -"cf", -"cg", -"ch", -"ci", -"org.ci", -"or.ci", -"com.ci", -"co.ci", -"edu.ci", -"ed.ci", -"ac.ci", -"net.ci", -"go.ci", -"asso.ci", -"aéroport.ci", -"int.ci", -"presse.ci", -"md.ci", -"gouv.ci", -"*.ck", -"!www.ck", -"cl", -"gov.cl", -"gob.cl", -"co.cl", -"mil.cl", -"cm", -"co.cm", -"com.cm", -"gov.cm", -"net.cm", -"cn", -"ac.cn", -"com.cn", -"edu.cn", -"gov.cn", -"net.cn", -"org.cn", -"mil.cn", -"å…¬å¸.cn", -"网络.cn", -"網絡.cn", -"ah.cn", -"bj.cn", -"cq.cn", -"fj.cn", -"gd.cn", -"gs.cn", -"gz.cn", -"gx.cn", -"ha.cn", -"hb.cn", -"he.cn", -"hi.cn", -"hl.cn", -"hn.cn", -"jl.cn", -"js.cn", -"jx.cn", -"ln.cn", -"nm.cn", -"nx.cn", -"qh.cn", -"sc.cn", -"sd.cn", -"sh.cn", -"sn.cn", -"sx.cn", -"tj.cn", -"xj.cn", -"xz.cn", -"yn.cn", -"zj.cn", -"hk.cn", -"mo.cn", -"tw.cn", -"co", -"arts.co", -"com.co", -"edu.co", -"firm.co", -"gov.co", -"info.co", -"int.co", -"mil.co", -"net.co", -"nom.co", -"org.co", -"rec.co", -"web.co", -"com", -"coop", -"cr", -"ac.cr", -"co.cr", -"ed.cr", -"fi.cr", -"go.cr", -"or.cr", -"sa.cr", -"cu", -"com.cu", -"edu.cu", -"org.cu", -"net.cu", -"gov.cu", -"inf.cu", -"cv", -"cw", -"com.cw", -"edu.cw", -"net.cw", -"org.cw", -"cx", -"gov.cx", -"cy", -"ac.cy", -"biz.cy", -"com.cy", -"ekloges.cy", -"gov.cy", -"ltd.cy", -"name.cy", -"net.cy", -"org.cy", -"parliament.cy", -"press.cy", -"pro.cy", -"tm.cy", -"cz", -"de", -"dj", -"dk", -"dm", -"com.dm", -"net.dm", -"org.dm", -"edu.dm", -"gov.dm", -"do", -"art.do", -"com.do", -"edu.do", -"gob.do", -"gov.do", -"mil.do", -"net.do", -"org.do", -"sld.do", -"web.do", -"dz", -"com.dz", -"org.dz", -"net.dz", -"gov.dz", -"edu.dz", -"asso.dz", -"pol.dz", -"art.dz", -"ec", -"com.ec", -"info.ec", -"net.ec", -"fin.ec", -"k12.ec", -"med.ec", -"pro.ec", -"org.ec", -"edu.ec", -"gov.ec", -"gob.ec", -"mil.ec", -"edu", -"ee", -"edu.ee", -"gov.ee", -"riik.ee", -"lib.ee", -"med.ee", -"com.ee", -"pri.ee", -"aip.ee", -"org.ee", -"fie.ee", -"eg", -"com.eg", -"edu.eg", -"eun.eg", -"gov.eg", -"mil.eg", -"name.eg", -"net.eg", -"org.eg", -"sci.eg", -"*.er", -"es", -"com.es", -"nom.es", -"org.es", -"gob.es", -"edu.es", -"et", -"com.et", -"gov.et", -"org.et", -"edu.et", -"biz.et", -"name.et", -"info.et", -"net.et", -"eu", -"fi", -"aland.fi", -"*.fj", -"*.fk", -"fm", -"fo", -"fr", -"asso.fr", -"com.fr", -"gouv.fr", -"nom.fr", -"prd.fr", -"tm.fr", -"aeroport.fr", -"avocat.fr", -"avoues.fr", -"cci.fr", -"chambagri.fr", -"chirurgiens-dentistes.fr", -"experts-comptables.fr", -"geometre-expert.fr", -"greta.fr", -"huissier-justice.fr", -"medecin.fr", -"notaires.fr", -"pharmacien.fr", -"port.fr", -"veterinaire.fr", -"ga", -"gb", -"gd", -"ge", -"com.ge", -"edu.ge", -"gov.ge", -"org.ge", -"mil.ge", -"net.ge", -"pvt.ge", -"gf", -"gg", -"co.gg", -"net.gg", -"org.gg", -"gh", -"com.gh", -"edu.gh", -"gov.gh", -"org.gh", -"mil.gh", -"gi", -"com.gi", -"ltd.gi", -"gov.gi", -"mod.gi", -"edu.gi", -"org.gi", -"gl", -"co.gl", -"com.gl", -"edu.gl", -"net.gl", -"org.gl", -"gm", -"gn", -"ac.gn", -"com.gn", -"edu.gn", -"gov.gn", -"org.gn", -"net.gn", -"gov", -"gp", -"com.gp", -"net.gp", -"mobi.gp", -"edu.gp", -"org.gp", -"asso.gp", -"gq", -"gr", -"com.gr", -"edu.gr", -"net.gr", -"org.gr", -"gov.gr", -"gs", -"gt", -"com.gt", -"edu.gt", -"gob.gt", -"ind.gt", -"mil.gt", -"net.gt", -"org.gt", -"gu", -"com.gu", -"edu.gu", -"gov.gu", -"guam.gu", -"info.gu", -"net.gu", -"org.gu", -"web.gu", -"gw", -"gy", -"co.gy", -"com.gy", -"edu.gy", -"gov.gy", -"net.gy", -"org.gy", -"hk", -"com.hk", -"edu.hk", -"gov.hk", -"idv.hk", -"net.hk", -"org.hk", -"å…¬å¸.hk", -"教育.hk", -"敎育.hk", -"政府.hk", -"個人.hk", -"个人.hk", -"箇人.hk", -"網络.hk", -"网络.hk", -"组織.hk", -"網絡.hk", -"网絡.hk", -"组织.hk", -"組織.hk", -"組织.hk", -"hm", -"hn", -"com.hn", -"edu.hn", -"org.hn", -"net.hn", -"mil.hn", -"gob.hn", -"hr", -"iz.hr", -"from.hr", -"name.hr", -"com.hr", -"ht", -"com.ht", -"shop.ht", -"firm.ht", -"info.ht", -"adult.ht", -"net.ht", -"pro.ht", -"org.ht", -"med.ht", -"art.ht", -"coop.ht", -"pol.ht", -"asso.ht", -"edu.ht", -"rel.ht", -"gouv.ht", -"perso.ht", -"hu", -"co.hu", -"info.hu", -"org.hu", -"priv.hu", -"sport.hu", -"tm.hu", -"2000.hu", -"agrar.hu", -"bolt.hu", -"casino.hu", -"city.hu", -"erotica.hu", -"erotika.hu", -"film.hu", -"forum.hu", -"games.hu", -"hotel.hu", -"ingatlan.hu", -"jogasz.hu", -"konyvelo.hu", -"lakas.hu", -"media.hu", -"news.hu", -"reklam.hu", -"sex.hu", -"shop.hu", -"suli.hu", -"szex.hu", -"tozsde.hu", -"utazas.hu", -"video.hu", -"id", -"ac.id", -"biz.id", -"co.id", -"desa.id", -"go.id", -"mil.id", -"my.id", -"net.id", -"or.id", -"ponpes.id", -"sch.id", -"web.id", -"ie", -"gov.ie", -"il", -"ac.il", -"co.il", -"gov.il", -"idf.il", -"k12.il", -"muni.il", -"net.il", -"org.il", -"im", -"ac.im", -"co.im", -"com.im", -"ltd.co.im", -"net.im", -"org.im", -"plc.co.im", -"tt.im", -"tv.im", -"in", -"co.in", -"firm.in", -"net.in", -"org.in", -"gen.in", -"ind.in", -"nic.in", -"ac.in", -"edu.in", -"res.in", -"gov.in", -"mil.in", -"info", -"int", -"eu.int", -"io", -"com.io", -"iq", -"gov.iq", -"edu.iq", -"mil.iq", -"com.iq", -"org.iq", -"net.iq", -"ir", -"ac.ir", -"co.ir", -"gov.ir", -"id.ir", -"net.ir", -"org.ir", -"sch.ir", -"ایران.ir", -"ايران.ir", -"is", -"net.is", -"com.is", -"edu.is", -"gov.is", -"org.is", -"int.is", -"it", -"gov.it", -"edu.it", -"abr.it", -"abruzzo.it", -"aosta-valley.it", -"aostavalley.it", -"bas.it", -"basilicata.it", -"cal.it", -"calabria.it", -"cam.it", -"campania.it", -"emilia-romagna.it", -"emiliaromagna.it", -"emr.it", -"friuli-v-giulia.it", -"friuli-ve-giulia.it", -"friuli-vegiulia.it", -"friuli-venezia-giulia.it", -"friuli-veneziagiulia.it", -"friuli-vgiulia.it", -"friuliv-giulia.it", -"friulive-giulia.it", -"friulivegiulia.it", -"friulivenezia-giulia.it", -"friuliveneziagiulia.it", -"friulivgiulia.it", -"fvg.it", -"laz.it", -"lazio.it", -"lig.it", -"liguria.it", -"lom.it", -"lombardia.it", -"lombardy.it", -"lucania.it", -"mar.it", -"marche.it", -"mol.it", -"molise.it", -"piedmont.it", -"piemonte.it", -"pmn.it", -"pug.it", -"puglia.it", -"sar.it", -"sardegna.it", -"sardinia.it", -"sic.it", -"sicilia.it", -"sicily.it", -"taa.it", -"tos.it", -"toscana.it", -"trentin-sud-tirol.it", -"trentin-süd-tirol.it", -"trentin-sudtirol.it", -"trentin-südtirol.it", -"trentin-sued-tirol.it", -"trentin-suedtirol.it", -"trentino-a-adige.it", -"trentino-aadige.it", -"trentino-alto-adige.it", -"trentino-altoadige.it", -"trentino-s-tirol.it", -"trentino-stirol.it", -"trentino-sud-tirol.it", -"trentino-süd-tirol.it", -"trentino-sudtirol.it", -"trentino-südtirol.it", -"trentino-sued-tirol.it", -"trentino-suedtirol.it", -"trentino.it", -"trentinoa-adige.it", -"trentinoaadige.it", -"trentinoalto-adige.it", -"trentinoaltoadige.it", -"trentinos-tirol.it", -"trentinostirol.it", -"trentinosud-tirol.it", -"trentinosüd-tirol.it", -"trentinosudtirol.it", -"trentinosüdtirol.it", -"trentinosued-tirol.it", -"trentinosuedtirol.it", -"trentinsud-tirol.it", -"trentinsüd-tirol.it", -"trentinsudtirol.it", -"trentinsüdtirol.it", -"trentinsued-tirol.it", -"trentinsuedtirol.it", -"tuscany.it", -"umb.it", -"umbria.it", -"val-d-aosta.it", -"val-daosta.it", -"vald-aosta.it", -"valdaosta.it", -"valle-aosta.it", -"valle-d-aosta.it", -"valle-daosta.it", -"valleaosta.it", -"valled-aosta.it", -"valledaosta.it", -"vallee-aoste.it", -"vallée-aoste.it", -"vallee-d-aoste.it", -"vallée-d-aoste.it", -"valleeaoste.it", -"valléeaoste.it", -"valleedaoste.it", -"valléedaoste.it", -"vao.it", -"vda.it", -"ven.it", -"veneto.it", -"ag.it", -"agrigento.it", -"al.it", -"alessandria.it", -"alto-adige.it", -"altoadige.it", -"an.it", -"ancona.it", -"andria-barletta-trani.it", -"andria-trani-barletta.it", -"andriabarlettatrani.it", -"andriatranibarletta.it", -"ao.it", -"aosta.it", -"aoste.it", -"ap.it", -"aq.it", -"aquila.it", -"ar.it", -"arezzo.it", -"ascoli-piceno.it", -"ascolipiceno.it", -"asti.it", -"at.it", -"av.it", -"avellino.it", -"ba.it", -"balsan-sudtirol.it", -"balsan-südtirol.it", -"balsan-suedtirol.it", -"balsan.it", -"bari.it", -"barletta-trani-andria.it", -"barlettatraniandria.it", -"belluno.it", -"benevento.it", -"bergamo.it", -"bg.it", -"bi.it", -"biella.it", -"bl.it", -"bn.it", -"bo.it", -"bologna.it", -"bolzano-altoadige.it", -"bolzano.it", -"bozen-sudtirol.it", -"bozen-südtirol.it", -"bozen-suedtirol.it", -"bozen.it", -"br.it", -"brescia.it", -"brindisi.it", -"bs.it", -"bt.it", -"bulsan-sudtirol.it", -"bulsan-südtirol.it", -"bulsan-suedtirol.it", -"bulsan.it", -"bz.it", -"ca.it", -"cagliari.it", -"caltanissetta.it", -"campidano-medio.it", -"campidanomedio.it", -"campobasso.it", -"carbonia-iglesias.it", -"carboniaiglesias.it", -"carrara-massa.it", -"carraramassa.it", -"caserta.it", -"catania.it", -"catanzaro.it", -"cb.it", -"ce.it", -"cesena-forli.it", -"cesena-forlì.it", -"cesenaforli.it", -"cesenaforlì.it", -"ch.it", -"chieti.it", -"ci.it", -"cl.it", -"cn.it", -"co.it", -"como.it", -"cosenza.it", -"cr.it", -"cremona.it", -"crotone.it", -"cs.it", -"ct.it", -"cuneo.it", -"cz.it", -"dell-ogliastra.it", -"dellogliastra.it", -"en.it", -"enna.it", -"fc.it", -"fe.it", -"fermo.it", -"ferrara.it", -"fg.it", -"fi.it", -"firenze.it", -"florence.it", -"fm.it", -"foggia.it", -"forli-cesena.it", -"forlì-cesena.it", -"forlicesena.it", -"forlìcesena.it", -"fr.it", -"frosinone.it", -"ge.it", -"genoa.it", -"genova.it", -"go.it", -"gorizia.it", -"gr.it", -"grosseto.it", -"iglesias-carbonia.it", -"iglesiascarbonia.it", -"im.it", -"imperia.it", -"is.it", -"isernia.it", -"kr.it", -"la-spezia.it", -"laquila.it", -"laspezia.it", -"latina.it", -"lc.it", -"le.it", -"lecce.it", -"lecco.it", -"li.it", -"livorno.it", -"lo.it", -"lodi.it", -"lt.it", -"lu.it", -"lucca.it", -"macerata.it", -"mantova.it", -"massa-carrara.it", -"massacarrara.it", -"matera.it", -"mb.it", -"mc.it", -"me.it", -"medio-campidano.it", -"mediocampidano.it", -"messina.it", -"mi.it", -"milan.it", -"milano.it", -"mn.it", -"mo.it", -"modena.it", -"monza-brianza.it", -"monza-e-della-brianza.it", -"monza.it", -"monzabrianza.it", -"monzaebrianza.it", -"monzaedellabrianza.it", -"ms.it", -"mt.it", -"na.it", -"naples.it", -"napoli.it", -"no.it", -"novara.it", -"nu.it", -"nuoro.it", -"og.it", -"ogliastra.it", -"olbia-tempio.it", -"olbiatempio.it", -"or.it", -"oristano.it", -"ot.it", -"pa.it", -"padova.it", -"padua.it", -"palermo.it", -"parma.it", -"pavia.it", -"pc.it", -"pd.it", -"pe.it", -"perugia.it", -"pesaro-urbino.it", -"pesarourbino.it", -"pescara.it", -"pg.it", -"pi.it", -"piacenza.it", -"pisa.it", -"pistoia.it", -"pn.it", -"po.it", -"pordenone.it", -"potenza.it", -"pr.it", -"prato.it", -"pt.it", -"pu.it", -"pv.it", -"pz.it", -"ra.it", -"ragusa.it", -"ravenna.it", -"rc.it", -"re.it", -"reggio-calabria.it", -"reggio-emilia.it", -"reggiocalabria.it", -"reggioemilia.it", -"rg.it", -"ri.it", -"rieti.it", -"rimini.it", -"rm.it", -"rn.it", -"ro.it", -"roma.it", -"rome.it", -"rovigo.it", -"sa.it", -"salerno.it", -"sassari.it", -"savona.it", -"si.it", -"siena.it", -"siracusa.it", -"so.it", -"sondrio.it", -"sp.it", -"sr.it", -"ss.it", -"suedtirol.it", -"südtirol.it", -"sv.it", -"ta.it", -"taranto.it", -"te.it", -"tempio-olbia.it", -"tempioolbia.it", -"teramo.it", -"terni.it", -"tn.it", -"to.it", -"torino.it", -"tp.it", -"tr.it", -"trani-andria-barletta.it", -"trani-barletta-andria.it", -"traniandriabarletta.it", -"tranibarlettaandria.it", -"trapani.it", -"trento.it", -"treviso.it", -"trieste.it", -"ts.it", -"turin.it", -"tv.it", -"ud.it", -"udine.it", -"urbino-pesaro.it", -"urbinopesaro.it", -"va.it", -"varese.it", -"vb.it", -"vc.it", -"ve.it", -"venezia.it", -"venice.it", -"verbania.it", -"vercelli.it", -"verona.it", -"vi.it", -"vibo-valentia.it", -"vibovalentia.it", -"vicenza.it", -"viterbo.it", -"vr.it", -"vs.it", -"vt.it", -"vv.it", -"je", -"co.je", -"net.je", -"org.je", -"*.jm", -"jo", -"com.jo", -"org.jo", -"net.jo", -"edu.jo", -"sch.jo", -"gov.jo", -"mil.jo", -"name.jo", -"jobs", -"jp", -"ac.jp", -"ad.jp", -"co.jp", -"ed.jp", -"go.jp", -"gr.jp", -"lg.jp", -"ne.jp", -"or.jp", -"aichi.jp", -"akita.jp", -"aomori.jp", -"chiba.jp", -"ehime.jp", -"fukui.jp", -"fukuoka.jp", -"fukushima.jp", -"gifu.jp", -"gunma.jp", -"hiroshima.jp", -"hokkaido.jp", -"hyogo.jp", -"ibaraki.jp", -"ishikawa.jp", -"iwate.jp", -"kagawa.jp", -"kagoshima.jp", -"kanagawa.jp", -"kochi.jp", -"kumamoto.jp", -"kyoto.jp", -"mie.jp", -"miyagi.jp", -"miyazaki.jp", -"nagano.jp", -"nagasaki.jp", -"nara.jp", -"niigata.jp", -"oita.jp", -"okayama.jp", -"okinawa.jp", -"osaka.jp", -"saga.jp", -"saitama.jp", -"shiga.jp", -"shimane.jp", -"shizuoka.jp", -"tochigi.jp", -"tokushima.jp", -"tokyo.jp", -"tottori.jp", -"toyama.jp", -"wakayama.jp", -"yamagata.jp", -"yamaguchi.jp", -"yamanashi.jp", -"栃木.jp", -"愛知.jp", -"愛媛.jp", -"兵庫.jp", -"熊本.jp", -"茨城.jp", -"北海é“.jp", -"åƒè‘‰.jp", -"和歌山.jp", -"é•·å´Ž.jp", -"長野.jp", -"新潟.jp", -"é’森.jp", -"é™å²¡.jp", -"æ±äº¬.jp", -"石å·.jp", -"埼玉.jp", -"三é‡.jp", -"京都.jp", -"ä½è³€.jp", -"大分.jp", -"大阪.jp", -"奈良.jp", -"宮城.jp", -"宮崎.jp", -"富山.jp", -"å±±å£.jp", -"山形.jp", -"山梨.jp", -"岩手.jp", -"å²é˜œ.jp", -"岡山.jp", -"島根.jp", -"広島.jp", -"徳島.jp", -"沖縄.jp", -"滋賀.jp", -"神奈å·.jp", -"ç¦äº•.jp", -"ç¦å²¡.jp", -"ç¦å³¶.jp", -"秋田.jp", -"群馬.jp", -"香å·.jp", -"高知.jp", -"é³¥å–.jp", -"鹿å…島.jp", -"*.kawasaki.jp", -"*.kitakyushu.jp", -"*.kobe.jp", -"*.nagoya.jp", -"*.sapporo.jp", -"*.sendai.jp", -"*.yokohama.jp", -"!city.kawasaki.jp", -"!city.kitakyushu.jp", -"!city.kobe.jp", -"!city.nagoya.jp", -"!city.sapporo.jp", -"!city.sendai.jp", -"!city.yokohama.jp", -"aisai.aichi.jp", -"ama.aichi.jp", -"anjo.aichi.jp", -"asuke.aichi.jp", -"chiryu.aichi.jp", -"chita.aichi.jp", -"fuso.aichi.jp", -"gamagori.aichi.jp", -"handa.aichi.jp", -"hazu.aichi.jp", -"hekinan.aichi.jp", -"higashiura.aichi.jp", -"ichinomiya.aichi.jp", -"inazawa.aichi.jp", -"inuyama.aichi.jp", -"isshiki.aichi.jp", -"iwakura.aichi.jp", -"kanie.aichi.jp", -"kariya.aichi.jp", -"kasugai.aichi.jp", -"kira.aichi.jp", -"kiyosu.aichi.jp", -"komaki.aichi.jp", -"konan.aichi.jp", -"kota.aichi.jp", -"mihama.aichi.jp", -"miyoshi.aichi.jp", -"nishio.aichi.jp", -"nisshin.aichi.jp", -"obu.aichi.jp", -"oguchi.aichi.jp", -"oharu.aichi.jp", -"okazaki.aichi.jp", -"owariasahi.aichi.jp", -"seto.aichi.jp", -"shikatsu.aichi.jp", -"shinshiro.aichi.jp", -"shitara.aichi.jp", -"tahara.aichi.jp", -"takahama.aichi.jp", -"tobishima.aichi.jp", -"toei.aichi.jp", -"togo.aichi.jp", -"tokai.aichi.jp", -"tokoname.aichi.jp", -"toyoake.aichi.jp", -"toyohashi.aichi.jp", -"toyokawa.aichi.jp", -"toyone.aichi.jp", -"toyota.aichi.jp", -"tsushima.aichi.jp", -"yatomi.aichi.jp", -"akita.akita.jp", -"daisen.akita.jp", -"fujisato.akita.jp", -"gojome.akita.jp", -"hachirogata.akita.jp", -"happou.akita.jp", -"higashinaruse.akita.jp", -"honjo.akita.jp", -"honjyo.akita.jp", -"ikawa.akita.jp", -"kamikoani.akita.jp", -"kamioka.akita.jp", -"katagami.akita.jp", -"kazuno.akita.jp", -"kitaakita.akita.jp", -"kosaka.akita.jp", -"kyowa.akita.jp", -"misato.akita.jp", -"mitane.akita.jp", -"moriyoshi.akita.jp", -"nikaho.akita.jp", -"noshiro.akita.jp", -"odate.akita.jp", -"oga.akita.jp", -"ogata.akita.jp", -"semboku.akita.jp", -"yokote.akita.jp", -"yurihonjo.akita.jp", -"aomori.aomori.jp", -"gonohe.aomori.jp", -"hachinohe.aomori.jp", -"hashikami.aomori.jp", -"hiranai.aomori.jp", -"hirosaki.aomori.jp", -"itayanagi.aomori.jp", -"kuroishi.aomori.jp", -"misawa.aomori.jp", -"mutsu.aomori.jp", -"nakadomari.aomori.jp", -"noheji.aomori.jp", -"oirase.aomori.jp", -"owani.aomori.jp", -"rokunohe.aomori.jp", -"sannohe.aomori.jp", -"shichinohe.aomori.jp", -"shingo.aomori.jp", -"takko.aomori.jp", -"towada.aomori.jp", -"tsugaru.aomori.jp", -"tsuruta.aomori.jp", -"abiko.chiba.jp", -"asahi.chiba.jp", -"chonan.chiba.jp", -"chosei.chiba.jp", -"choshi.chiba.jp", -"chuo.chiba.jp", -"funabashi.chiba.jp", -"futtsu.chiba.jp", -"hanamigawa.chiba.jp", -"ichihara.chiba.jp", -"ichikawa.chiba.jp", -"ichinomiya.chiba.jp", -"inzai.chiba.jp", -"isumi.chiba.jp", -"kamagaya.chiba.jp", -"kamogawa.chiba.jp", -"kashiwa.chiba.jp", -"katori.chiba.jp", -"katsuura.chiba.jp", -"kimitsu.chiba.jp", -"kisarazu.chiba.jp", -"kozaki.chiba.jp", -"kujukuri.chiba.jp", -"kyonan.chiba.jp", -"matsudo.chiba.jp", -"midori.chiba.jp", -"mihama.chiba.jp", -"minamiboso.chiba.jp", -"mobara.chiba.jp", -"mutsuzawa.chiba.jp", -"nagara.chiba.jp", -"nagareyama.chiba.jp", -"narashino.chiba.jp", -"narita.chiba.jp", -"noda.chiba.jp", -"oamishirasato.chiba.jp", -"omigawa.chiba.jp", -"onjuku.chiba.jp", -"otaki.chiba.jp", -"sakae.chiba.jp", -"sakura.chiba.jp", -"shimofusa.chiba.jp", -"shirako.chiba.jp", -"shiroi.chiba.jp", -"shisui.chiba.jp", -"sodegaura.chiba.jp", -"sosa.chiba.jp", -"tako.chiba.jp", -"tateyama.chiba.jp", -"togane.chiba.jp", -"tohnosho.chiba.jp", -"tomisato.chiba.jp", -"urayasu.chiba.jp", -"yachimata.chiba.jp", -"yachiyo.chiba.jp", -"yokaichiba.chiba.jp", -"yokoshibahikari.chiba.jp", -"yotsukaido.chiba.jp", -"ainan.ehime.jp", -"honai.ehime.jp", -"ikata.ehime.jp", -"imabari.ehime.jp", -"iyo.ehime.jp", -"kamijima.ehime.jp", -"kihoku.ehime.jp", -"kumakogen.ehime.jp", -"masaki.ehime.jp", -"matsuno.ehime.jp", -"matsuyama.ehime.jp", -"namikata.ehime.jp", -"niihama.ehime.jp", -"ozu.ehime.jp", -"saijo.ehime.jp", -"seiyo.ehime.jp", -"shikokuchuo.ehime.jp", -"tobe.ehime.jp", -"toon.ehime.jp", -"uchiko.ehime.jp", -"uwajima.ehime.jp", -"yawatahama.ehime.jp", -"echizen.fukui.jp", -"eiheiji.fukui.jp", -"fukui.fukui.jp", -"ikeda.fukui.jp", -"katsuyama.fukui.jp", -"mihama.fukui.jp", -"minamiechizen.fukui.jp", -"obama.fukui.jp", -"ohi.fukui.jp", -"ono.fukui.jp", -"sabae.fukui.jp", -"sakai.fukui.jp", -"takahama.fukui.jp", -"tsuruga.fukui.jp", -"wakasa.fukui.jp", -"ashiya.fukuoka.jp", -"buzen.fukuoka.jp", -"chikugo.fukuoka.jp", -"chikuho.fukuoka.jp", -"chikujo.fukuoka.jp", -"chikushino.fukuoka.jp", -"chikuzen.fukuoka.jp", -"chuo.fukuoka.jp", -"dazaifu.fukuoka.jp", -"fukuchi.fukuoka.jp", -"hakata.fukuoka.jp", -"higashi.fukuoka.jp", -"hirokawa.fukuoka.jp", -"hisayama.fukuoka.jp", -"iizuka.fukuoka.jp", -"inatsuki.fukuoka.jp", -"kaho.fukuoka.jp", -"kasuga.fukuoka.jp", -"kasuya.fukuoka.jp", -"kawara.fukuoka.jp", -"keisen.fukuoka.jp", -"koga.fukuoka.jp", -"kurate.fukuoka.jp", -"kurogi.fukuoka.jp", -"kurume.fukuoka.jp", -"minami.fukuoka.jp", -"miyako.fukuoka.jp", -"miyama.fukuoka.jp", -"miyawaka.fukuoka.jp", -"mizumaki.fukuoka.jp", -"munakata.fukuoka.jp", -"nakagawa.fukuoka.jp", -"nakama.fukuoka.jp", -"nishi.fukuoka.jp", -"nogata.fukuoka.jp", -"ogori.fukuoka.jp", -"okagaki.fukuoka.jp", -"okawa.fukuoka.jp", -"oki.fukuoka.jp", -"omuta.fukuoka.jp", -"onga.fukuoka.jp", -"onojo.fukuoka.jp", -"oto.fukuoka.jp", -"saigawa.fukuoka.jp", -"sasaguri.fukuoka.jp", -"shingu.fukuoka.jp", -"shinyoshitomi.fukuoka.jp", -"shonai.fukuoka.jp", -"soeda.fukuoka.jp", -"sue.fukuoka.jp", -"tachiarai.fukuoka.jp", -"tagawa.fukuoka.jp", -"takata.fukuoka.jp", -"toho.fukuoka.jp", -"toyotsu.fukuoka.jp", -"tsuiki.fukuoka.jp", -"ukiha.fukuoka.jp", -"umi.fukuoka.jp", -"usui.fukuoka.jp", -"yamada.fukuoka.jp", -"yame.fukuoka.jp", -"yanagawa.fukuoka.jp", -"yukuhashi.fukuoka.jp", -"aizubange.fukushima.jp", -"aizumisato.fukushima.jp", -"aizuwakamatsu.fukushima.jp", -"asakawa.fukushima.jp", -"bandai.fukushima.jp", -"date.fukushima.jp", -"fukushima.fukushima.jp", -"furudono.fukushima.jp", -"futaba.fukushima.jp", -"hanawa.fukushima.jp", -"higashi.fukushima.jp", -"hirata.fukushima.jp", -"hirono.fukushima.jp", -"iitate.fukushima.jp", -"inawashiro.fukushima.jp", -"ishikawa.fukushima.jp", -"iwaki.fukushima.jp", -"izumizaki.fukushima.jp", -"kagamiishi.fukushima.jp", -"kaneyama.fukushima.jp", -"kawamata.fukushima.jp", -"kitakata.fukushima.jp", -"kitashiobara.fukushima.jp", -"koori.fukushima.jp", -"koriyama.fukushima.jp", -"kunimi.fukushima.jp", -"miharu.fukushima.jp", -"mishima.fukushima.jp", -"namie.fukushima.jp", -"nango.fukushima.jp", -"nishiaizu.fukushima.jp", -"nishigo.fukushima.jp", -"okuma.fukushima.jp", -"omotego.fukushima.jp", -"ono.fukushima.jp", -"otama.fukushima.jp", -"samegawa.fukushima.jp", -"shimogo.fukushima.jp", -"shirakawa.fukushima.jp", -"showa.fukushima.jp", -"soma.fukushima.jp", -"sukagawa.fukushima.jp", -"taishin.fukushima.jp", -"tamakawa.fukushima.jp", -"tanagura.fukushima.jp", -"tenei.fukushima.jp", -"yabuki.fukushima.jp", -"yamato.fukushima.jp", -"yamatsuri.fukushima.jp", -"yanaizu.fukushima.jp", -"yugawa.fukushima.jp", -"anpachi.gifu.jp", -"ena.gifu.jp", -"gifu.gifu.jp", -"ginan.gifu.jp", -"godo.gifu.jp", -"gujo.gifu.jp", -"hashima.gifu.jp", -"hichiso.gifu.jp", -"hida.gifu.jp", -"higashishirakawa.gifu.jp", -"ibigawa.gifu.jp", -"ikeda.gifu.jp", -"kakamigahara.gifu.jp", -"kani.gifu.jp", -"kasahara.gifu.jp", -"kasamatsu.gifu.jp", -"kawaue.gifu.jp", -"kitagata.gifu.jp", -"mino.gifu.jp", -"minokamo.gifu.jp", -"mitake.gifu.jp", -"mizunami.gifu.jp", -"motosu.gifu.jp", -"nakatsugawa.gifu.jp", -"ogaki.gifu.jp", -"sakahogi.gifu.jp", -"seki.gifu.jp", -"sekigahara.gifu.jp", -"shirakawa.gifu.jp", -"tajimi.gifu.jp", -"takayama.gifu.jp", -"tarui.gifu.jp", -"toki.gifu.jp", -"tomika.gifu.jp", -"wanouchi.gifu.jp", -"yamagata.gifu.jp", -"yaotsu.gifu.jp", -"yoro.gifu.jp", -"annaka.gunma.jp", -"chiyoda.gunma.jp", -"fujioka.gunma.jp", -"higashiagatsuma.gunma.jp", -"isesaki.gunma.jp", -"itakura.gunma.jp", -"kanna.gunma.jp", -"kanra.gunma.jp", -"katashina.gunma.jp", -"kawaba.gunma.jp", -"kiryu.gunma.jp", -"kusatsu.gunma.jp", -"maebashi.gunma.jp", -"meiwa.gunma.jp", -"midori.gunma.jp", -"minakami.gunma.jp", -"naganohara.gunma.jp", -"nakanojo.gunma.jp", -"nanmoku.gunma.jp", -"numata.gunma.jp", -"oizumi.gunma.jp", -"ora.gunma.jp", -"ota.gunma.jp", -"shibukawa.gunma.jp", -"shimonita.gunma.jp", -"shinto.gunma.jp", -"showa.gunma.jp", -"takasaki.gunma.jp", -"takayama.gunma.jp", -"tamamura.gunma.jp", -"tatebayashi.gunma.jp", -"tomioka.gunma.jp", -"tsukiyono.gunma.jp", -"tsumagoi.gunma.jp", -"ueno.gunma.jp", -"yoshioka.gunma.jp", -"asaminami.hiroshima.jp", -"daiwa.hiroshima.jp", -"etajima.hiroshima.jp", -"fuchu.hiroshima.jp", -"fukuyama.hiroshima.jp", -"hatsukaichi.hiroshima.jp", -"higashihiroshima.hiroshima.jp", -"hongo.hiroshima.jp", -"jinsekikogen.hiroshima.jp", -"kaita.hiroshima.jp", -"kui.hiroshima.jp", -"kumano.hiroshima.jp", -"kure.hiroshima.jp", -"mihara.hiroshima.jp", -"miyoshi.hiroshima.jp", -"naka.hiroshima.jp", -"onomichi.hiroshima.jp", -"osakikamijima.hiroshima.jp", -"otake.hiroshima.jp", -"saka.hiroshima.jp", -"sera.hiroshima.jp", -"seranishi.hiroshima.jp", -"shinichi.hiroshima.jp", -"shobara.hiroshima.jp", -"takehara.hiroshima.jp", -"abashiri.hokkaido.jp", -"abira.hokkaido.jp", -"aibetsu.hokkaido.jp", -"akabira.hokkaido.jp", -"akkeshi.hokkaido.jp", -"asahikawa.hokkaido.jp", -"ashibetsu.hokkaido.jp", -"ashoro.hokkaido.jp", -"assabu.hokkaido.jp", -"atsuma.hokkaido.jp", -"bibai.hokkaido.jp", -"biei.hokkaido.jp", -"bifuka.hokkaido.jp", -"bihoro.hokkaido.jp", -"biratori.hokkaido.jp", -"chippubetsu.hokkaido.jp", -"chitose.hokkaido.jp", -"date.hokkaido.jp", -"ebetsu.hokkaido.jp", -"embetsu.hokkaido.jp", -"eniwa.hokkaido.jp", -"erimo.hokkaido.jp", -"esan.hokkaido.jp", -"esashi.hokkaido.jp", -"fukagawa.hokkaido.jp", -"fukushima.hokkaido.jp", -"furano.hokkaido.jp", -"furubira.hokkaido.jp", -"haboro.hokkaido.jp", -"hakodate.hokkaido.jp", -"hamatonbetsu.hokkaido.jp", -"hidaka.hokkaido.jp", -"higashikagura.hokkaido.jp", -"higashikawa.hokkaido.jp", -"hiroo.hokkaido.jp", -"hokuryu.hokkaido.jp", -"hokuto.hokkaido.jp", -"honbetsu.hokkaido.jp", -"horokanai.hokkaido.jp", -"horonobe.hokkaido.jp", -"ikeda.hokkaido.jp", -"imakane.hokkaido.jp", -"ishikari.hokkaido.jp", -"iwamizawa.hokkaido.jp", -"iwanai.hokkaido.jp", -"kamifurano.hokkaido.jp", -"kamikawa.hokkaido.jp", -"kamishihoro.hokkaido.jp", -"kamisunagawa.hokkaido.jp", -"kamoenai.hokkaido.jp", -"kayabe.hokkaido.jp", -"kembuchi.hokkaido.jp", -"kikonai.hokkaido.jp", -"kimobetsu.hokkaido.jp", -"kitahiroshima.hokkaido.jp", -"kitami.hokkaido.jp", -"kiyosato.hokkaido.jp", -"koshimizu.hokkaido.jp", -"kunneppu.hokkaido.jp", -"kuriyama.hokkaido.jp", -"kuromatsunai.hokkaido.jp", -"kushiro.hokkaido.jp", -"kutchan.hokkaido.jp", -"kyowa.hokkaido.jp", -"mashike.hokkaido.jp", -"matsumae.hokkaido.jp", -"mikasa.hokkaido.jp", -"minamifurano.hokkaido.jp", -"mombetsu.hokkaido.jp", -"moseushi.hokkaido.jp", -"mukawa.hokkaido.jp", -"muroran.hokkaido.jp", -"naie.hokkaido.jp", -"nakagawa.hokkaido.jp", -"nakasatsunai.hokkaido.jp", -"nakatombetsu.hokkaido.jp", -"nanae.hokkaido.jp", -"nanporo.hokkaido.jp", -"nayoro.hokkaido.jp", -"nemuro.hokkaido.jp", -"niikappu.hokkaido.jp", -"niki.hokkaido.jp", -"nishiokoppe.hokkaido.jp", -"noboribetsu.hokkaido.jp", -"numata.hokkaido.jp", -"obihiro.hokkaido.jp", -"obira.hokkaido.jp", -"oketo.hokkaido.jp", -"okoppe.hokkaido.jp", -"otaru.hokkaido.jp", -"otobe.hokkaido.jp", -"otofuke.hokkaido.jp", -"otoineppu.hokkaido.jp", -"oumu.hokkaido.jp", -"ozora.hokkaido.jp", -"pippu.hokkaido.jp", -"rankoshi.hokkaido.jp", -"rebun.hokkaido.jp", -"rikubetsu.hokkaido.jp", -"rishiri.hokkaido.jp", -"rishirifuji.hokkaido.jp", -"saroma.hokkaido.jp", -"sarufutsu.hokkaido.jp", -"shakotan.hokkaido.jp", -"shari.hokkaido.jp", -"shibecha.hokkaido.jp", -"shibetsu.hokkaido.jp", -"shikabe.hokkaido.jp", -"shikaoi.hokkaido.jp", -"shimamaki.hokkaido.jp", -"shimizu.hokkaido.jp", -"shimokawa.hokkaido.jp", -"shinshinotsu.hokkaido.jp", -"shintoku.hokkaido.jp", -"shiranuka.hokkaido.jp", -"shiraoi.hokkaido.jp", -"shiriuchi.hokkaido.jp", -"sobetsu.hokkaido.jp", -"sunagawa.hokkaido.jp", -"taiki.hokkaido.jp", -"takasu.hokkaido.jp", -"takikawa.hokkaido.jp", -"takinoue.hokkaido.jp", -"teshikaga.hokkaido.jp", -"tobetsu.hokkaido.jp", -"tohma.hokkaido.jp", -"tomakomai.hokkaido.jp", -"tomari.hokkaido.jp", -"toya.hokkaido.jp", -"toyako.hokkaido.jp", -"toyotomi.hokkaido.jp", -"toyoura.hokkaido.jp", -"tsubetsu.hokkaido.jp", -"tsukigata.hokkaido.jp", -"urakawa.hokkaido.jp", -"urausu.hokkaido.jp", -"uryu.hokkaido.jp", -"utashinai.hokkaido.jp", -"wakkanai.hokkaido.jp", -"wassamu.hokkaido.jp", -"yakumo.hokkaido.jp", -"yoichi.hokkaido.jp", -"aioi.hyogo.jp", -"akashi.hyogo.jp", -"ako.hyogo.jp", -"amagasaki.hyogo.jp", -"aogaki.hyogo.jp", -"asago.hyogo.jp", -"ashiya.hyogo.jp", -"awaji.hyogo.jp", -"fukusaki.hyogo.jp", -"goshiki.hyogo.jp", -"harima.hyogo.jp", -"himeji.hyogo.jp", -"ichikawa.hyogo.jp", -"inagawa.hyogo.jp", -"itami.hyogo.jp", -"kakogawa.hyogo.jp", -"kamigori.hyogo.jp", -"kamikawa.hyogo.jp", -"kasai.hyogo.jp", -"kasuga.hyogo.jp", -"kawanishi.hyogo.jp", -"miki.hyogo.jp", -"minamiawaji.hyogo.jp", -"nishinomiya.hyogo.jp", -"nishiwaki.hyogo.jp", -"ono.hyogo.jp", -"sanda.hyogo.jp", -"sannan.hyogo.jp", -"sasayama.hyogo.jp", -"sayo.hyogo.jp", -"shingu.hyogo.jp", -"shinonsen.hyogo.jp", -"shiso.hyogo.jp", -"sumoto.hyogo.jp", -"taishi.hyogo.jp", -"taka.hyogo.jp", -"takarazuka.hyogo.jp", -"takasago.hyogo.jp", -"takino.hyogo.jp", -"tamba.hyogo.jp", -"tatsuno.hyogo.jp", -"toyooka.hyogo.jp", -"yabu.hyogo.jp", -"yashiro.hyogo.jp", -"yoka.hyogo.jp", -"yokawa.hyogo.jp", -"ami.ibaraki.jp", -"asahi.ibaraki.jp", -"bando.ibaraki.jp", -"chikusei.ibaraki.jp", -"daigo.ibaraki.jp", -"fujishiro.ibaraki.jp", -"hitachi.ibaraki.jp", -"hitachinaka.ibaraki.jp", -"hitachiomiya.ibaraki.jp", -"hitachiota.ibaraki.jp", -"ibaraki.ibaraki.jp", -"ina.ibaraki.jp", -"inashiki.ibaraki.jp", -"itako.ibaraki.jp", -"iwama.ibaraki.jp", -"joso.ibaraki.jp", -"kamisu.ibaraki.jp", -"kasama.ibaraki.jp", -"kashima.ibaraki.jp", -"kasumigaura.ibaraki.jp", -"koga.ibaraki.jp", -"miho.ibaraki.jp", -"mito.ibaraki.jp", -"moriya.ibaraki.jp", -"naka.ibaraki.jp", -"namegata.ibaraki.jp", -"oarai.ibaraki.jp", -"ogawa.ibaraki.jp", -"omitama.ibaraki.jp", -"ryugasaki.ibaraki.jp", -"sakai.ibaraki.jp", -"sakuragawa.ibaraki.jp", -"shimodate.ibaraki.jp", -"shimotsuma.ibaraki.jp", -"shirosato.ibaraki.jp", -"sowa.ibaraki.jp", -"suifu.ibaraki.jp", -"takahagi.ibaraki.jp", -"tamatsukuri.ibaraki.jp", -"tokai.ibaraki.jp", -"tomobe.ibaraki.jp", -"tone.ibaraki.jp", -"toride.ibaraki.jp", -"tsuchiura.ibaraki.jp", -"tsukuba.ibaraki.jp", -"uchihara.ibaraki.jp", -"ushiku.ibaraki.jp", -"yachiyo.ibaraki.jp", -"yamagata.ibaraki.jp", -"yawara.ibaraki.jp", -"yuki.ibaraki.jp", -"anamizu.ishikawa.jp", -"hakui.ishikawa.jp", -"hakusan.ishikawa.jp", -"kaga.ishikawa.jp", -"kahoku.ishikawa.jp", -"kanazawa.ishikawa.jp", -"kawakita.ishikawa.jp", -"komatsu.ishikawa.jp", -"nakanoto.ishikawa.jp", -"nanao.ishikawa.jp", -"nomi.ishikawa.jp", -"nonoichi.ishikawa.jp", -"noto.ishikawa.jp", -"shika.ishikawa.jp", -"suzu.ishikawa.jp", -"tsubata.ishikawa.jp", -"tsurugi.ishikawa.jp", -"uchinada.ishikawa.jp", -"wajima.ishikawa.jp", -"fudai.iwate.jp", -"fujisawa.iwate.jp", -"hanamaki.iwate.jp", -"hiraizumi.iwate.jp", -"hirono.iwate.jp", -"ichinohe.iwate.jp", -"ichinoseki.iwate.jp", -"iwaizumi.iwate.jp", -"iwate.iwate.jp", -"joboji.iwate.jp", -"kamaishi.iwate.jp", -"kanegasaki.iwate.jp", -"karumai.iwate.jp", -"kawai.iwate.jp", -"kitakami.iwate.jp", -"kuji.iwate.jp", -"kunohe.iwate.jp", -"kuzumaki.iwate.jp", -"miyako.iwate.jp", -"mizusawa.iwate.jp", -"morioka.iwate.jp", -"ninohe.iwate.jp", -"noda.iwate.jp", -"ofunato.iwate.jp", -"oshu.iwate.jp", -"otsuchi.iwate.jp", -"rikuzentakata.iwate.jp", -"shiwa.iwate.jp", -"shizukuishi.iwate.jp", -"sumita.iwate.jp", -"tanohata.iwate.jp", -"tono.iwate.jp", -"yahaba.iwate.jp", -"yamada.iwate.jp", -"ayagawa.kagawa.jp", -"higashikagawa.kagawa.jp", -"kanonji.kagawa.jp", -"kotohira.kagawa.jp", -"manno.kagawa.jp", -"marugame.kagawa.jp", -"mitoyo.kagawa.jp", -"naoshima.kagawa.jp", -"sanuki.kagawa.jp", -"tadotsu.kagawa.jp", -"takamatsu.kagawa.jp", -"tonosho.kagawa.jp", -"uchinomi.kagawa.jp", -"utazu.kagawa.jp", -"zentsuji.kagawa.jp", -"akune.kagoshima.jp", -"amami.kagoshima.jp", -"hioki.kagoshima.jp", -"isa.kagoshima.jp", -"isen.kagoshima.jp", -"izumi.kagoshima.jp", -"kagoshima.kagoshima.jp", -"kanoya.kagoshima.jp", -"kawanabe.kagoshima.jp", -"kinko.kagoshima.jp", -"kouyama.kagoshima.jp", -"makurazaki.kagoshima.jp", -"matsumoto.kagoshima.jp", -"minamitane.kagoshima.jp", -"nakatane.kagoshima.jp", -"nishinoomote.kagoshima.jp", -"satsumasendai.kagoshima.jp", -"soo.kagoshima.jp", -"tarumizu.kagoshima.jp", -"yusui.kagoshima.jp", -"aikawa.kanagawa.jp", -"atsugi.kanagawa.jp", -"ayase.kanagawa.jp", -"chigasaki.kanagawa.jp", -"ebina.kanagawa.jp", -"fujisawa.kanagawa.jp", -"hadano.kanagawa.jp", -"hakone.kanagawa.jp", -"hiratsuka.kanagawa.jp", -"isehara.kanagawa.jp", -"kaisei.kanagawa.jp", -"kamakura.kanagawa.jp", -"kiyokawa.kanagawa.jp", -"matsuda.kanagawa.jp", -"minamiashigara.kanagawa.jp", -"miura.kanagawa.jp", -"nakai.kanagawa.jp", -"ninomiya.kanagawa.jp", -"odawara.kanagawa.jp", -"oi.kanagawa.jp", -"oiso.kanagawa.jp", -"sagamihara.kanagawa.jp", -"samukawa.kanagawa.jp", -"tsukui.kanagawa.jp", -"yamakita.kanagawa.jp", -"yamato.kanagawa.jp", -"yokosuka.kanagawa.jp", -"yugawara.kanagawa.jp", -"zama.kanagawa.jp", -"zushi.kanagawa.jp", -"aki.kochi.jp", -"geisei.kochi.jp", -"hidaka.kochi.jp", -"higashitsuno.kochi.jp", -"ino.kochi.jp", -"kagami.kochi.jp", -"kami.kochi.jp", -"kitagawa.kochi.jp", -"kochi.kochi.jp", -"mihara.kochi.jp", -"motoyama.kochi.jp", -"muroto.kochi.jp", -"nahari.kochi.jp", -"nakamura.kochi.jp", -"nankoku.kochi.jp", -"nishitosa.kochi.jp", -"niyodogawa.kochi.jp", -"ochi.kochi.jp", -"okawa.kochi.jp", -"otoyo.kochi.jp", -"otsuki.kochi.jp", -"sakawa.kochi.jp", -"sukumo.kochi.jp", -"susaki.kochi.jp", -"tosa.kochi.jp", -"tosashimizu.kochi.jp", -"toyo.kochi.jp", -"tsuno.kochi.jp", -"umaji.kochi.jp", -"yasuda.kochi.jp", -"yusuhara.kochi.jp", -"amakusa.kumamoto.jp", -"arao.kumamoto.jp", -"aso.kumamoto.jp", -"choyo.kumamoto.jp", -"gyokuto.kumamoto.jp", -"kamiamakusa.kumamoto.jp", -"kikuchi.kumamoto.jp", -"kumamoto.kumamoto.jp", -"mashiki.kumamoto.jp", -"mifune.kumamoto.jp", -"minamata.kumamoto.jp", -"minamioguni.kumamoto.jp", -"nagasu.kumamoto.jp", -"nishihara.kumamoto.jp", -"oguni.kumamoto.jp", -"ozu.kumamoto.jp", -"sumoto.kumamoto.jp", -"takamori.kumamoto.jp", -"uki.kumamoto.jp", -"uto.kumamoto.jp", -"yamaga.kumamoto.jp", -"yamato.kumamoto.jp", -"yatsushiro.kumamoto.jp", -"ayabe.kyoto.jp", -"fukuchiyama.kyoto.jp", -"higashiyama.kyoto.jp", -"ide.kyoto.jp", -"ine.kyoto.jp", -"joyo.kyoto.jp", -"kameoka.kyoto.jp", -"kamo.kyoto.jp", -"kita.kyoto.jp", -"kizu.kyoto.jp", -"kumiyama.kyoto.jp", -"kyotamba.kyoto.jp", -"kyotanabe.kyoto.jp", -"kyotango.kyoto.jp", -"maizuru.kyoto.jp", -"minami.kyoto.jp", -"minamiyamashiro.kyoto.jp", -"miyazu.kyoto.jp", -"muko.kyoto.jp", -"nagaokakyo.kyoto.jp", -"nakagyo.kyoto.jp", -"nantan.kyoto.jp", -"oyamazaki.kyoto.jp", -"sakyo.kyoto.jp", -"seika.kyoto.jp", -"tanabe.kyoto.jp", -"uji.kyoto.jp", -"ujitawara.kyoto.jp", -"wazuka.kyoto.jp", -"yamashina.kyoto.jp", -"yawata.kyoto.jp", -"asahi.mie.jp", -"inabe.mie.jp", -"ise.mie.jp", -"kameyama.mie.jp", -"kawagoe.mie.jp", -"kiho.mie.jp", -"kisosaki.mie.jp", -"kiwa.mie.jp", -"komono.mie.jp", -"kumano.mie.jp", -"kuwana.mie.jp", -"matsusaka.mie.jp", -"meiwa.mie.jp", -"mihama.mie.jp", -"minamiise.mie.jp", -"misugi.mie.jp", -"miyama.mie.jp", -"nabari.mie.jp", -"shima.mie.jp", -"suzuka.mie.jp", -"tado.mie.jp", -"taiki.mie.jp", -"taki.mie.jp", -"tamaki.mie.jp", -"toba.mie.jp", -"tsu.mie.jp", -"udono.mie.jp", -"ureshino.mie.jp", -"watarai.mie.jp", -"yokkaichi.mie.jp", -"furukawa.miyagi.jp", -"higashimatsushima.miyagi.jp", -"ishinomaki.miyagi.jp", -"iwanuma.miyagi.jp", -"kakuda.miyagi.jp", -"kami.miyagi.jp", -"kawasaki.miyagi.jp", -"marumori.miyagi.jp", -"matsushima.miyagi.jp", -"minamisanriku.miyagi.jp", -"misato.miyagi.jp", -"murata.miyagi.jp", -"natori.miyagi.jp", -"ogawara.miyagi.jp", -"ohira.miyagi.jp", -"onagawa.miyagi.jp", -"osaki.miyagi.jp", -"rifu.miyagi.jp", -"semine.miyagi.jp", -"shibata.miyagi.jp", -"shichikashuku.miyagi.jp", -"shikama.miyagi.jp", -"shiogama.miyagi.jp", -"shiroishi.miyagi.jp", -"tagajo.miyagi.jp", -"taiwa.miyagi.jp", -"tome.miyagi.jp", -"tomiya.miyagi.jp", -"wakuya.miyagi.jp", -"watari.miyagi.jp", -"yamamoto.miyagi.jp", -"zao.miyagi.jp", -"aya.miyazaki.jp", -"ebino.miyazaki.jp", -"gokase.miyazaki.jp", -"hyuga.miyazaki.jp", -"kadogawa.miyazaki.jp", -"kawaminami.miyazaki.jp", -"kijo.miyazaki.jp", -"kitagawa.miyazaki.jp", -"kitakata.miyazaki.jp", -"kitaura.miyazaki.jp", -"kobayashi.miyazaki.jp", -"kunitomi.miyazaki.jp", -"kushima.miyazaki.jp", -"mimata.miyazaki.jp", -"miyakonojo.miyazaki.jp", -"miyazaki.miyazaki.jp", -"morotsuka.miyazaki.jp", -"nichinan.miyazaki.jp", -"nishimera.miyazaki.jp", -"nobeoka.miyazaki.jp", -"saito.miyazaki.jp", -"shiiba.miyazaki.jp", -"shintomi.miyazaki.jp", -"takaharu.miyazaki.jp", -"takanabe.miyazaki.jp", -"takazaki.miyazaki.jp", -"tsuno.miyazaki.jp", -"achi.nagano.jp", -"agematsu.nagano.jp", -"anan.nagano.jp", -"aoki.nagano.jp", -"asahi.nagano.jp", -"azumino.nagano.jp", -"chikuhoku.nagano.jp", -"chikuma.nagano.jp", -"chino.nagano.jp", -"fujimi.nagano.jp", -"hakuba.nagano.jp", -"hara.nagano.jp", -"hiraya.nagano.jp", -"iida.nagano.jp", -"iijima.nagano.jp", -"iiyama.nagano.jp", -"iizuna.nagano.jp", -"ikeda.nagano.jp", -"ikusaka.nagano.jp", -"ina.nagano.jp", -"karuizawa.nagano.jp", -"kawakami.nagano.jp", -"kiso.nagano.jp", -"kisofukushima.nagano.jp", -"kitaaiki.nagano.jp", -"komagane.nagano.jp", -"komoro.nagano.jp", -"matsukawa.nagano.jp", -"matsumoto.nagano.jp", -"miasa.nagano.jp", -"minamiaiki.nagano.jp", -"minamimaki.nagano.jp", -"minamiminowa.nagano.jp", -"minowa.nagano.jp", -"miyada.nagano.jp", -"miyota.nagano.jp", -"mochizuki.nagano.jp", -"nagano.nagano.jp", -"nagawa.nagano.jp", -"nagiso.nagano.jp", -"nakagawa.nagano.jp", -"nakano.nagano.jp", -"nozawaonsen.nagano.jp", -"obuse.nagano.jp", -"ogawa.nagano.jp", -"okaya.nagano.jp", -"omachi.nagano.jp", -"omi.nagano.jp", -"ookuwa.nagano.jp", -"ooshika.nagano.jp", -"otaki.nagano.jp", -"otari.nagano.jp", -"sakae.nagano.jp", -"sakaki.nagano.jp", -"saku.nagano.jp", -"sakuho.nagano.jp", -"shimosuwa.nagano.jp", -"shinanomachi.nagano.jp", -"shiojiri.nagano.jp", -"suwa.nagano.jp", -"suzaka.nagano.jp", -"takagi.nagano.jp", -"takamori.nagano.jp", -"takayama.nagano.jp", -"tateshina.nagano.jp", -"tatsuno.nagano.jp", -"togakushi.nagano.jp", -"togura.nagano.jp", -"tomi.nagano.jp", -"ueda.nagano.jp", -"wada.nagano.jp", -"yamagata.nagano.jp", -"yamanouchi.nagano.jp", -"yasaka.nagano.jp", -"yasuoka.nagano.jp", -"chijiwa.nagasaki.jp", -"futsu.nagasaki.jp", -"goto.nagasaki.jp", -"hasami.nagasaki.jp", -"hirado.nagasaki.jp", -"iki.nagasaki.jp", -"isahaya.nagasaki.jp", -"kawatana.nagasaki.jp", -"kuchinotsu.nagasaki.jp", -"matsuura.nagasaki.jp", -"nagasaki.nagasaki.jp", -"obama.nagasaki.jp", -"omura.nagasaki.jp", -"oseto.nagasaki.jp", -"saikai.nagasaki.jp", -"sasebo.nagasaki.jp", -"seihi.nagasaki.jp", -"shimabara.nagasaki.jp", -"shinkamigoto.nagasaki.jp", -"togitsu.nagasaki.jp", -"tsushima.nagasaki.jp", -"unzen.nagasaki.jp", -"ando.nara.jp", -"gose.nara.jp", -"heguri.nara.jp", -"higashiyoshino.nara.jp", -"ikaruga.nara.jp", -"ikoma.nara.jp", -"kamikitayama.nara.jp", -"kanmaki.nara.jp", -"kashiba.nara.jp", -"kashihara.nara.jp", -"katsuragi.nara.jp", -"kawai.nara.jp", -"kawakami.nara.jp", -"kawanishi.nara.jp", -"koryo.nara.jp", -"kurotaki.nara.jp", -"mitsue.nara.jp", -"miyake.nara.jp", -"nara.nara.jp", -"nosegawa.nara.jp", -"oji.nara.jp", -"ouda.nara.jp", -"oyodo.nara.jp", -"sakurai.nara.jp", -"sango.nara.jp", -"shimoichi.nara.jp", -"shimokitayama.nara.jp", -"shinjo.nara.jp", -"soni.nara.jp", -"takatori.nara.jp", -"tawaramoto.nara.jp", -"tenkawa.nara.jp", -"tenri.nara.jp", -"uda.nara.jp", -"yamatokoriyama.nara.jp", -"yamatotakada.nara.jp", -"yamazoe.nara.jp", -"yoshino.nara.jp", -"aga.niigata.jp", -"agano.niigata.jp", -"gosen.niigata.jp", -"itoigawa.niigata.jp", -"izumozaki.niigata.jp", -"joetsu.niigata.jp", -"kamo.niigata.jp", -"kariwa.niigata.jp", -"kashiwazaki.niigata.jp", -"minamiuonuma.niigata.jp", -"mitsuke.niigata.jp", -"muika.niigata.jp", -"murakami.niigata.jp", -"myoko.niigata.jp", -"nagaoka.niigata.jp", -"niigata.niigata.jp", -"ojiya.niigata.jp", -"omi.niigata.jp", -"sado.niigata.jp", -"sanjo.niigata.jp", -"seiro.niigata.jp", -"seirou.niigata.jp", -"sekikawa.niigata.jp", -"shibata.niigata.jp", -"tagami.niigata.jp", -"tainai.niigata.jp", -"tochio.niigata.jp", -"tokamachi.niigata.jp", -"tsubame.niigata.jp", -"tsunan.niigata.jp", -"uonuma.niigata.jp", -"yahiko.niigata.jp", -"yoita.niigata.jp", -"yuzawa.niigata.jp", -"beppu.oita.jp", -"bungoono.oita.jp", -"bungotakada.oita.jp", -"hasama.oita.jp", -"hiji.oita.jp", -"himeshima.oita.jp", -"hita.oita.jp", -"kamitsue.oita.jp", -"kokonoe.oita.jp", -"kuju.oita.jp", -"kunisaki.oita.jp", -"kusu.oita.jp", -"oita.oita.jp", -"saiki.oita.jp", -"taketa.oita.jp", -"tsukumi.oita.jp", -"usa.oita.jp", -"usuki.oita.jp", -"yufu.oita.jp", -"akaiwa.okayama.jp", -"asakuchi.okayama.jp", -"bizen.okayama.jp", -"hayashima.okayama.jp", -"ibara.okayama.jp", -"kagamino.okayama.jp", -"kasaoka.okayama.jp", -"kibichuo.okayama.jp", -"kumenan.okayama.jp", -"kurashiki.okayama.jp", -"maniwa.okayama.jp", -"misaki.okayama.jp", -"nagi.okayama.jp", -"niimi.okayama.jp", -"nishiawakura.okayama.jp", -"okayama.okayama.jp", -"satosho.okayama.jp", -"setouchi.okayama.jp", -"shinjo.okayama.jp", -"shoo.okayama.jp", -"soja.okayama.jp", -"takahashi.okayama.jp", -"tamano.okayama.jp", -"tsuyama.okayama.jp", -"wake.okayama.jp", -"yakage.okayama.jp", -"aguni.okinawa.jp", -"ginowan.okinawa.jp", -"ginoza.okinawa.jp", -"gushikami.okinawa.jp", -"haebaru.okinawa.jp", -"higashi.okinawa.jp", -"hirara.okinawa.jp", -"iheya.okinawa.jp", -"ishigaki.okinawa.jp", -"ishikawa.okinawa.jp", -"itoman.okinawa.jp", -"izena.okinawa.jp", -"kadena.okinawa.jp", -"kin.okinawa.jp", -"kitadaito.okinawa.jp", -"kitanakagusuku.okinawa.jp", -"kumejima.okinawa.jp", -"kunigami.okinawa.jp", -"minamidaito.okinawa.jp", -"motobu.okinawa.jp", -"nago.okinawa.jp", -"naha.okinawa.jp", -"nakagusuku.okinawa.jp", -"nakijin.okinawa.jp", -"nanjo.okinawa.jp", -"nishihara.okinawa.jp", -"ogimi.okinawa.jp", -"okinawa.okinawa.jp", -"onna.okinawa.jp", -"shimoji.okinawa.jp", -"taketomi.okinawa.jp", -"tarama.okinawa.jp", -"tokashiki.okinawa.jp", -"tomigusuku.okinawa.jp", -"tonaki.okinawa.jp", -"urasoe.okinawa.jp", -"uruma.okinawa.jp", -"yaese.okinawa.jp", -"yomitan.okinawa.jp", -"yonabaru.okinawa.jp", -"yonaguni.okinawa.jp", -"zamami.okinawa.jp", -"abeno.osaka.jp", -"chihayaakasaka.osaka.jp", -"chuo.osaka.jp", -"daito.osaka.jp", -"fujiidera.osaka.jp", -"habikino.osaka.jp", -"hannan.osaka.jp", -"higashiosaka.osaka.jp", -"higashisumiyoshi.osaka.jp", -"higashiyodogawa.osaka.jp", -"hirakata.osaka.jp", -"ibaraki.osaka.jp", -"ikeda.osaka.jp", -"izumi.osaka.jp", -"izumiotsu.osaka.jp", -"izumisano.osaka.jp", -"kadoma.osaka.jp", -"kaizuka.osaka.jp", -"kanan.osaka.jp", -"kashiwara.osaka.jp", -"katano.osaka.jp", -"kawachinagano.osaka.jp", -"kishiwada.osaka.jp", -"kita.osaka.jp", -"kumatori.osaka.jp", -"matsubara.osaka.jp", -"minato.osaka.jp", -"minoh.osaka.jp", -"misaki.osaka.jp", -"moriguchi.osaka.jp", -"neyagawa.osaka.jp", -"nishi.osaka.jp", -"nose.osaka.jp", -"osakasayama.osaka.jp", -"sakai.osaka.jp", -"sayama.osaka.jp", -"sennan.osaka.jp", -"settsu.osaka.jp", -"shijonawate.osaka.jp", -"shimamoto.osaka.jp", -"suita.osaka.jp", -"tadaoka.osaka.jp", -"taishi.osaka.jp", -"tajiri.osaka.jp", -"takaishi.osaka.jp", -"takatsuki.osaka.jp", -"tondabayashi.osaka.jp", -"toyonaka.osaka.jp", -"toyono.osaka.jp", -"yao.osaka.jp", -"ariake.saga.jp", -"arita.saga.jp", -"fukudomi.saga.jp", -"genkai.saga.jp", -"hamatama.saga.jp", -"hizen.saga.jp", -"imari.saga.jp", -"kamimine.saga.jp", -"kanzaki.saga.jp", -"karatsu.saga.jp", -"kashima.saga.jp", -"kitagata.saga.jp", -"kitahata.saga.jp", -"kiyama.saga.jp", -"kouhoku.saga.jp", -"kyuragi.saga.jp", -"nishiarita.saga.jp", -"ogi.saga.jp", -"omachi.saga.jp", -"ouchi.saga.jp", -"saga.saga.jp", -"shiroishi.saga.jp", -"taku.saga.jp", -"tara.saga.jp", -"tosu.saga.jp", -"yoshinogari.saga.jp", -"arakawa.saitama.jp", -"asaka.saitama.jp", -"chichibu.saitama.jp", -"fujimi.saitama.jp", -"fujimino.saitama.jp", -"fukaya.saitama.jp", -"hanno.saitama.jp", -"hanyu.saitama.jp", -"hasuda.saitama.jp", -"hatogaya.saitama.jp", -"hatoyama.saitama.jp", -"hidaka.saitama.jp", -"higashichichibu.saitama.jp", -"higashimatsuyama.saitama.jp", -"honjo.saitama.jp", -"ina.saitama.jp", -"iruma.saitama.jp", -"iwatsuki.saitama.jp", -"kamiizumi.saitama.jp", -"kamikawa.saitama.jp", -"kamisato.saitama.jp", -"kasukabe.saitama.jp", -"kawagoe.saitama.jp", -"kawaguchi.saitama.jp", -"kawajima.saitama.jp", -"kazo.saitama.jp", -"kitamoto.saitama.jp", -"koshigaya.saitama.jp", -"kounosu.saitama.jp", -"kuki.saitama.jp", -"kumagaya.saitama.jp", -"matsubushi.saitama.jp", -"minano.saitama.jp", -"misato.saitama.jp", -"miyashiro.saitama.jp", -"miyoshi.saitama.jp", -"moroyama.saitama.jp", -"nagatoro.saitama.jp", -"namegawa.saitama.jp", -"niiza.saitama.jp", -"ogano.saitama.jp", -"ogawa.saitama.jp", -"ogose.saitama.jp", -"okegawa.saitama.jp", -"omiya.saitama.jp", -"otaki.saitama.jp", -"ranzan.saitama.jp", -"ryokami.saitama.jp", -"saitama.saitama.jp", -"sakado.saitama.jp", -"satte.saitama.jp", -"sayama.saitama.jp", -"shiki.saitama.jp", -"shiraoka.saitama.jp", -"soka.saitama.jp", -"sugito.saitama.jp", -"toda.saitama.jp", -"tokigawa.saitama.jp", -"tokorozawa.saitama.jp", -"tsurugashima.saitama.jp", -"urawa.saitama.jp", -"warabi.saitama.jp", -"yashio.saitama.jp", -"yokoze.saitama.jp", -"yono.saitama.jp", -"yorii.saitama.jp", -"yoshida.saitama.jp", -"yoshikawa.saitama.jp", -"yoshimi.saitama.jp", -"aisho.shiga.jp", -"gamo.shiga.jp", -"higashiomi.shiga.jp", -"hikone.shiga.jp", -"koka.shiga.jp", -"konan.shiga.jp", -"kosei.shiga.jp", -"koto.shiga.jp", -"kusatsu.shiga.jp", -"maibara.shiga.jp", -"moriyama.shiga.jp", -"nagahama.shiga.jp", -"nishiazai.shiga.jp", -"notogawa.shiga.jp", -"omihachiman.shiga.jp", -"otsu.shiga.jp", -"ritto.shiga.jp", -"ryuoh.shiga.jp", -"takashima.shiga.jp", -"takatsuki.shiga.jp", -"torahime.shiga.jp", -"toyosato.shiga.jp", -"yasu.shiga.jp", -"akagi.shimane.jp", -"ama.shimane.jp", -"gotsu.shimane.jp", -"hamada.shimane.jp", -"higashiizumo.shimane.jp", -"hikawa.shimane.jp", -"hikimi.shimane.jp", -"izumo.shimane.jp", -"kakinoki.shimane.jp", -"masuda.shimane.jp", -"matsue.shimane.jp", -"misato.shimane.jp", -"nishinoshima.shimane.jp", -"ohda.shimane.jp", -"okinoshima.shimane.jp", -"okuizumo.shimane.jp", -"shimane.shimane.jp", -"tamayu.shimane.jp", -"tsuwano.shimane.jp", -"unnan.shimane.jp", -"yakumo.shimane.jp", -"yasugi.shimane.jp", -"yatsuka.shimane.jp", -"arai.shizuoka.jp", -"atami.shizuoka.jp", -"fuji.shizuoka.jp", -"fujieda.shizuoka.jp", -"fujikawa.shizuoka.jp", -"fujinomiya.shizuoka.jp", -"fukuroi.shizuoka.jp", -"gotemba.shizuoka.jp", -"haibara.shizuoka.jp", -"hamamatsu.shizuoka.jp", -"higashiizu.shizuoka.jp", -"ito.shizuoka.jp", -"iwata.shizuoka.jp", -"izu.shizuoka.jp", -"izunokuni.shizuoka.jp", -"kakegawa.shizuoka.jp", -"kannami.shizuoka.jp", -"kawanehon.shizuoka.jp", -"kawazu.shizuoka.jp", -"kikugawa.shizuoka.jp", -"kosai.shizuoka.jp", -"makinohara.shizuoka.jp", -"matsuzaki.shizuoka.jp", -"minamiizu.shizuoka.jp", -"mishima.shizuoka.jp", -"morimachi.shizuoka.jp", -"nishiizu.shizuoka.jp", -"numazu.shizuoka.jp", -"omaezaki.shizuoka.jp", -"shimada.shizuoka.jp", -"shimizu.shizuoka.jp", -"shimoda.shizuoka.jp", -"shizuoka.shizuoka.jp", -"susono.shizuoka.jp", -"yaizu.shizuoka.jp", -"yoshida.shizuoka.jp", -"ashikaga.tochigi.jp", -"bato.tochigi.jp", -"haga.tochigi.jp", -"ichikai.tochigi.jp", -"iwafune.tochigi.jp", -"kaminokawa.tochigi.jp", -"kanuma.tochigi.jp", -"karasuyama.tochigi.jp", -"kuroiso.tochigi.jp", -"mashiko.tochigi.jp", -"mibu.tochigi.jp", -"moka.tochigi.jp", -"motegi.tochigi.jp", -"nasu.tochigi.jp", -"nasushiobara.tochigi.jp", -"nikko.tochigi.jp", -"nishikata.tochigi.jp", -"nogi.tochigi.jp", -"ohira.tochigi.jp", -"ohtawara.tochigi.jp", -"oyama.tochigi.jp", -"sakura.tochigi.jp", -"sano.tochigi.jp", -"shimotsuke.tochigi.jp", -"shioya.tochigi.jp", -"takanezawa.tochigi.jp", -"tochigi.tochigi.jp", -"tsuga.tochigi.jp", -"ujiie.tochigi.jp", -"utsunomiya.tochigi.jp", -"yaita.tochigi.jp", -"aizumi.tokushima.jp", -"anan.tokushima.jp", -"ichiba.tokushima.jp", -"itano.tokushima.jp", -"kainan.tokushima.jp", -"komatsushima.tokushima.jp", -"matsushige.tokushima.jp", -"mima.tokushima.jp", -"minami.tokushima.jp", -"miyoshi.tokushima.jp", -"mugi.tokushima.jp", -"nakagawa.tokushima.jp", -"naruto.tokushima.jp", -"sanagochi.tokushima.jp", -"shishikui.tokushima.jp", -"tokushima.tokushima.jp", -"wajiki.tokushima.jp", -"adachi.tokyo.jp", -"akiruno.tokyo.jp", -"akishima.tokyo.jp", -"aogashima.tokyo.jp", -"arakawa.tokyo.jp", -"bunkyo.tokyo.jp", -"chiyoda.tokyo.jp", -"chofu.tokyo.jp", -"chuo.tokyo.jp", -"edogawa.tokyo.jp", -"fuchu.tokyo.jp", -"fussa.tokyo.jp", -"hachijo.tokyo.jp", -"hachioji.tokyo.jp", -"hamura.tokyo.jp", -"higashikurume.tokyo.jp", -"higashimurayama.tokyo.jp", -"higashiyamato.tokyo.jp", -"hino.tokyo.jp", -"hinode.tokyo.jp", -"hinohara.tokyo.jp", -"inagi.tokyo.jp", -"itabashi.tokyo.jp", -"katsushika.tokyo.jp", -"kita.tokyo.jp", -"kiyose.tokyo.jp", -"kodaira.tokyo.jp", -"koganei.tokyo.jp", -"kokubunji.tokyo.jp", -"komae.tokyo.jp", -"koto.tokyo.jp", -"kouzushima.tokyo.jp", -"kunitachi.tokyo.jp", -"machida.tokyo.jp", -"meguro.tokyo.jp", -"minato.tokyo.jp", -"mitaka.tokyo.jp", -"mizuho.tokyo.jp", -"musashimurayama.tokyo.jp", -"musashino.tokyo.jp", -"nakano.tokyo.jp", -"nerima.tokyo.jp", -"ogasawara.tokyo.jp", -"okutama.tokyo.jp", -"ome.tokyo.jp", -"oshima.tokyo.jp", -"ota.tokyo.jp", -"setagaya.tokyo.jp", -"shibuya.tokyo.jp", -"shinagawa.tokyo.jp", -"shinjuku.tokyo.jp", -"suginami.tokyo.jp", -"sumida.tokyo.jp", -"tachikawa.tokyo.jp", -"taito.tokyo.jp", -"tama.tokyo.jp", -"toshima.tokyo.jp", -"chizu.tottori.jp", -"hino.tottori.jp", -"kawahara.tottori.jp", -"koge.tottori.jp", -"kotoura.tottori.jp", -"misasa.tottori.jp", -"nanbu.tottori.jp", -"nichinan.tottori.jp", -"sakaiminato.tottori.jp", -"tottori.tottori.jp", -"wakasa.tottori.jp", -"yazu.tottori.jp", -"yonago.tottori.jp", -"asahi.toyama.jp", -"fuchu.toyama.jp", -"fukumitsu.toyama.jp", -"funahashi.toyama.jp", -"himi.toyama.jp", -"imizu.toyama.jp", -"inami.toyama.jp", -"johana.toyama.jp", -"kamiichi.toyama.jp", -"kurobe.toyama.jp", -"nakaniikawa.toyama.jp", -"namerikawa.toyama.jp", -"nanto.toyama.jp", -"nyuzen.toyama.jp", -"oyabe.toyama.jp", -"taira.toyama.jp", -"takaoka.toyama.jp", -"tateyama.toyama.jp", -"toga.toyama.jp", -"tonami.toyama.jp", -"toyama.toyama.jp", -"unazuki.toyama.jp", -"uozu.toyama.jp", -"yamada.toyama.jp", -"arida.wakayama.jp", -"aridagawa.wakayama.jp", -"gobo.wakayama.jp", -"hashimoto.wakayama.jp", -"hidaka.wakayama.jp", -"hirogawa.wakayama.jp", -"inami.wakayama.jp", -"iwade.wakayama.jp", -"kainan.wakayama.jp", -"kamitonda.wakayama.jp", -"katsuragi.wakayama.jp", -"kimino.wakayama.jp", -"kinokawa.wakayama.jp", -"kitayama.wakayama.jp", -"koya.wakayama.jp", -"koza.wakayama.jp", -"kozagawa.wakayama.jp", -"kudoyama.wakayama.jp", -"kushimoto.wakayama.jp", -"mihama.wakayama.jp", -"misato.wakayama.jp", -"nachikatsuura.wakayama.jp", -"shingu.wakayama.jp", -"shirahama.wakayama.jp", -"taiji.wakayama.jp", -"tanabe.wakayama.jp", -"wakayama.wakayama.jp", -"yuasa.wakayama.jp", -"yura.wakayama.jp", -"asahi.yamagata.jp", -"funagata.yamagata.jp", -"higashine.yamagata.jp", -"iide.yamagata.jp", -"kahoku.yamagata.jp", -"kaminoyama.yamagata.jp", -"kaneyama.yamagata.jp", -"kawanishi.yamagata.jp", -"mamurogawa.yamagata.jp", -"mikawa.yamagata.jp", -"murayama.yamagata.jp", -"nagai.yamagata.jp", -"nakayama.yamagata.jp", -"nanyo.yamagata.jp", -"nishikawa.yamagata.jp", -"obanazawa.yamagata.jp", -"oe.yamagata.jp", -"oguni.yamagata.jp", -"ohkura.yamagata.jp", -"oishida.yamagata.jp", -"sagae.yamagata.jp", -"sakata.yamagata.jp", -"sakegawa.yamagata.jp", -"shinjo.yamagata.jp", -"shirataka.yamagata.jp", -"shonai.yamagata.jp", -"takahata.yamagata.jp", -"tendo.yamagata.jp", -"tozawa.yamagata.jp", -"tsuruoka.yamagata.jp", -"yamagata.yamagata.jp", -"yamanobe.yamagata.jp", -"yonezawa.yamagata.jp", -"yuza.yamagata.jp", -"abu.yamaguchi.jp", -"hagi.yamaguchi.jp", -"hikari.yamaguchi.jp", -"hofu.yamaguchi.jp", -"iwakuni.yamaguchi.jp", -"kudamatsu.yamaguchi.jp", -"mitou.yamaguchi.jp", -"nagato.yamaguchi.jp", -"oshima.yamaguchi.jp", -"shimonoseki.yamaguchi.jp", -"shunan.yamaguchi.jp", -"tabuse.yamaguchi.jp", -"tokuyama.yamaguchi.jp", -"toyota.yamaguchi.jp", -"ube.yamaguchi.jp", -"yuu.yamaguchi.jp", -"chuo.yamanashi.jp", -"doshi.yamanashi.jp", -"fuefuki.yamanashi.jp", -"fujikawa.yamanashi.jp", -"fujikawaguchiko.yamanashi.jp", -"fujiyoshida.yamanashi.jp", -"hayakawa.yamanashi.jp", -"hokuto.yamanashi.jp", -"ichikawamisato.yamanashi.jp", -"kai.yamanashi.jp", -"kofu.yamanashi.jp", -"koshu.yamanashi.jp", -"kosuge.yamanashi.jp", -"minami-alps.yamanashi.jp", -"minobu.yamanashi.jp", -"nakamichi.yamanashi.jp", -"nanbu.yamanashi.jp", -"narusawa.yamanashi.jp", -"nirasaki.yamanashi.jp", -"nishikatsura.yamanashi.jp", -"oshino.yamanashi.jp", -"otsuki.yamanashi.jp", -"showa.yamanashi.jp", -"tabayama.yamanashi.jp", -"tsuru.yamanashi.jp", -"uenohara.yamanashi.jp", -"yamanakako.yamanashi.jp", -"yamanashi.yamanashi.jp", -"ke", -"ac.ke", -"co.ke", -"go.ke", -"info.ke", -"me.ke", -"mobi.ke", -"ne.ke", -"or.ke", -"sc.ke", -"kg", -"org.kg", -"net.kg", -"com.kg", -"edu.kg", -"gov.kg", -"mil.kg", -"*.kh", -"ki", -"edu.ki", -"biz.ki", -"net.ki", -"org.ki", -"gov.ki", -"info.ki", -"com.ki", -"km", -"org.km", -"nom.km", -"gov.km", -"prd.km", -"tm.km", -"edu.km", -"mil.km", -"ass.km", -"com.km", -"coop.km", -"asso.km", -"presse.km", -"medecin.km", -"notaires.km", -"pharmaciens.km", -"veterinaire.km", -"gouv.km", -"kn", -"net.kn", -"org.kn", -"edu.kn", -"gov.kn", -"kp", -"com.kp", -"edu.kp", -"gov.kp", -"org.kp", -"rep.kp", -"tra.kp", -"kr", -"ac.kr", -"co.kr", -"es.kr", -"go.kr", -"hs.kr", -"kg.kr", -"mil.kr", -"ms.kr", -"ne.kr", -"or.kr", -"pe.kr", -"re.kr", -"sc.kr", -"busan.kr", -"chungbuk.kr", -"chungnam.kr", -"daegu.kr", -"daejeon.kr", -"gangwon.kr", -"gwangju.kr", -"gyeongbuk.kr", -"gyeonggi.kr", -"gyeongnam.kr", -"incheon.kr", -"jeju.kr", -"jeonbuk.kr", -"jeonnam.kr", -"seoul.kr", -"ulsan.kr", -"kw", -"com.kw", -"edu.kw", -"emb.kw", -"gov.kw", -"ind.kw", -"net.kw", -"org.kw", -"ky", -"edu.ky", -"gov.ky", -"com.ky", -"org.ky", -"net.ky", -"kz", -"org.kz", -"edu.kz", -"net.kz", -"gov.kz", -"mil.kz", -"com.kz", -"la", -"int.la", -"net.la", -"info.la", -"edu.la", -"gov.la", -"per.la", -"com.la", -"org.la", -"lb", -"com.lb", -"edu.lb", -"gov.lb", -"net.lb", -"org.lb", -"lc", -"com.lc", -"net.lc", -"co.lc", -"org.lc", -"edu.lc", -"gov.lc", -"li", -"lk", -"gov.lk", -"sch.lk", -"net.lk", -"int.lk", -"com.lk", -"org.lk", -"edu.lk", -"ngo.lk", -"soc.lk", -"web.lk", -"ltd.lk", -"assn.lk", -"grp.lk", -"hotel.lk", -"ac.lk", -"lr", -"com.lr", -"edu.lr", -"gov.lr", -"org.lr", -"net.lr", -"ls", -"ac.ls", -"biz.ls", -"co.ls", -"edu.ls", -"gov.ls", -"info.ls", -"net.ls", -"org.ls", -"sc.ls", -"lt", -"gov.lt", -"lu", -"lv", -"com.lv", -"edu.lv", -"gov.lv", -"org.lv", -"mil.lv", -"id.lv", -"net.lv", -"asn.lv", -"conf.lv", -"ly", -"com.ly", -"net.ly", -"gov.ly", -"plc.ly", -"edu.ly", -"sch.ly", -"med.ly", -"org.ly", -"id.ly", -"ma", -"co.ma", -"net.ma", -"gov.ma", -"org.ma", -"ac.ma", -"press.ma", -"mc", -"tm.mc", -"asso.mc", -"md", -"me", -"co.me", -"net.me", -"org.me", -"edu.me", -"ac.me", -"gov.me", -"its.me", -"priv.me", -"mg", -"org.mg", -"nom.mg", -"gov.mg", -"prd.mg", -"tm.mg", -"edu.mg", -"mil.mg", -"com.mg", -"co.mg", -"mh", -"mil", -"mk", -"com.mk", -"org.mk", -"net.mk", -"edu.mk", -"gov.mk", -"inf.mk", -"name.mk", -"ml", -"com.ml", -"edu.ml", -"gouv.ml", -"gov.ml", -"net.ml", -"org.ml", -"presse.ml", -"*.mm", -"mn", -"gov.mn", -"edu.mn", -"org.mn", -"mo", -"com.mo", -"net.mo", -"org.mo", -"edu.mo", -"gov.mo", -"mobi", -"mp", -"mq", -"mr", -"gov.mr", -"ms", -"com.ms", -"edu.ms", -"gov.ms", -"net.ms", -"org.ms", -"mt", -"com.mt", -"edu.mt", -"net.mt", -"org.mt", -"mu", -"com.mu", -"net.mu", -"org.mu", -"gov.mu", -"ac.mu", -"co.mu", -"or.mu", -"museum", -"academy.museum", -"agriculture.museum", -"air.museum", -"airguard.museum", -"alabama.museum", -"alaska.museum", -"amber.museum", -"ambulance.museum", -"american.museum", -"americana.museum", -"americanantiques.museum", -"americanart.museum", -"amsterdam.museum", -"and.museum", -"annefrank.museum", -"anthro.museum", -"anthropology.museum", -"antiques.museum", -"aquarium.museum", -"arboretum.museum", -"archaeological.museum", -"archaeology.museum", -"architecture.museum", -"art.museum", -"artanddesign.museum", -"artcenter.museum", -"artdeco.museum", -"arteducation.museum", -"artgallery.museum", -"arts.museum", -"artsandcrafts.museum", -"asmatart.museum", -"assassination.museum", -"assisi.museum", -"association.museum", -"astronomy.museum", -"atlanta.museum", -"austin.museum", -"australia.museum", -"automotive.museum", -"aviation.museum", -"axis.museum", -"badajoz.museum", -"baghdad.museum", -"bahn.museum", -"bale.museum", -"baltimore.museum", -"barcelona.museum", -"baseball.museum", -"basel.museum", -"baths.museum", -"bauern.museum", -"beauxarts.museum", -"beeldengeluid.museum", -"bellevue.museum", -"bergbau.museum", -"berkeley.museum", -"berlin.museum", -"bern.museum", -"bible.museum", -"bilbao.museum", -"bill.museum", -"birdart.museum", -"birthplace.museum", -"bonn.museum", -"boston.museum", -"botanical.museum", -"botanicalgarden.museum", -"botanicgarden.museum", -"botany.museum", -"brandywinevalley.museum", -"brasil.museum", -"bristol.museum", -"british.museum", -"britishcolumbia.museum", -"broadcast.museum", -"brunel.museum", -"brussel.museum", -"brussels.museum", -"bruxelles.museum", -"building.museum", -"burghof.museum", -"bus.museum", -"bushey.museum", -"cadaques.museum", -"california.museum", -"cambridge.museum", -"can.museum", -"canada.museum", -"capebreton.museum", -"carrier.museum", -"cartoonart.museum", -"casadelamoneda.museum", -"castle.museum", -"castres.museum", -"celtic.museum", -"center.museum", -"chattanooga.museum", -"cheltenham.museum", -"chesapeakebay.museum", -"chicago.museum", -"children.museum", -"childrens.museum", -"childrensgarden.museum", -"chiropractic.museum", -"chocolate.museum", -"christiansburg.museum", -"cincinnati.museum", -"cinema.museum", -"circus.museum", -"civilisation.museum", -"civilization.museum", -"civilwar.museum", -"clinton.museum", -"clock.museum", -"coal.museum", -"coastaldefence.museum", -"cody.museum", -"coldwar.museum", -"collection.museum", -"colonialwilliamsburg.museum", -"coloradoplateau.museum", -"columbia.museum", -"columbus.museum", -"communication.museum", -"communications.museum", -"community.museum", -"computer.museum", -"computerhistory.museum", -"comunicações.museum", -"contemporary.museum", -"contemporaryart.museum", -"convent.museum", -"copenhagen.museum", -"corporation.museum", -"correios-e-telecomunicações.museum", -"corvette.museum", -"costume.museum", -"countryestate.museum", -"county.museum", -"crafts.museum", -"cranbrook.museum", -"creation.museum", -"cultural.museum", -"culturalcenter.museum", -"culture.museum", -"cyber.museum", -"cymru.museum", -"dali.museum", -"dallas.museum", -"database.museum", -"ddr.museum", -"decorativearts.museum", -"delaware.museum", -"delmenhorst.museum", -"denmark.museum", -"depot.museum", -"design.museum", -"detroit.museum", -"dinosaur.museum", -"discovery.museum", -"dolls.museum", -"donostia.museum", -"durham.museum", -"eastafrica.museum", -"eastcoast.museum", -"education.museum", -"educational.museum", -"egyptian.museum", -"eisenbahn.museum", -"elburg.museum", -"elvendrell.museum", -"embroidery.museum", -"encyclopedic.museum", -"england.museum", -"entomology.museum", -"environment.museum", -"environmentalconservation.museum", -"epilepsy.museum", -"essex.museum", -"estate.museum", -"ethnology.museum", -"exeter.museum", -"exhibition.museum", -"family.museum", -"farm.museum", -"farmequipment.museum", -"farmers.museum", -"farmstead.museum", -"field.museum", -"figueres.museum", -"filatelia.museum", -"film.museum", -"fineart.museum", -"finearts.museum", -"finland.museum", -"flanders.museum", -"florida.museum", -"force.museum", -"fortmissoula.museum", -"fortworth.museum", -"foundation.museum", -"francaise.museum", -"frankfurt.museum", -"franziskaner.museum", -"freemasonry.museum", -"freiburg.museum", -"fribourg.museum", -"frog.museum", -"fundacio.museum", -"furniture.museum", -"gallery.museum", -"garden.museum", -"gateway.museum", -"geelvinck.museum", -"gemological.museum", -"geology.museum", -"georgia.museum", -"giessen.museum", -"glas.museum", -"glass.museum", -"gorge.museum", -"grandrapids.museum", -"graz.museum", -"guernsey.museum", -"halloffame.museum", -"hamburg.museum", -"handson.museum", -"harvestcelebration.museum", -"hawaii.museum", -"health.museum", -"heimatunduhren.museum", -"hellas.museum", -"helsinki.museum", -"hembygdsforbund.museum", -"heritage.museum", -"histoire.museum", -"historical.museum", -"historicalsociety.museum", -"historichouses.museum", -"historisch.museum", -"historisches.museum", -"history.museum", -"historyofscience.museum", -"horology.museum", -"house.museum", -"humanities.museum", -"illustration.museum", -"imageandsound.museum", -"indian.museum", -"indiana.museum", -"indianapolis.museum", -"indianmarket.museum", -"intelligence.museum", -"interactive.museum", -"iraq.museum", -"iron.museum", -"isleofman.museum", -"jamison.museum", -"jefferson.museum", -"jerusalem.museum", -"jewelry.museum", -"jewish.museum", -"jewishart.museum", -"jfk.museum", -"journalism.museum", -"judaica.museum", -"judygarland.museum", -"juedisches.museum", -"juif.museum", -"karate.museum", -"karikatur.museum", -"kids.museum", -"koebenhavn.museum", -"koeln.museum", -"kunst.museum", -"kunstsammlung.museum", -"kunstunddesign.museum", -"labor.museum", -"labour.museum", -"lajolla.museum", -"lancashire.museum", -"landes.museum", -"lans.museum", -"läns.museum", -"larsson.museum", -"lewismiller.museum", -"lincoln.museum", -"linz.museum", -"living.museum", -"livinghistory.museum", -"localhistory.museum", -"london.museum", -"losangeles.museum", -"louvre.museum", -"loyalist.museum", -"lucerne.museum", -"luxembourg.museum", -"luzern.museum", -"mad.museum", -"madrid.museum", -"mallorca.museum", -"manchester.museum", -"mansion.museum", -"mansions.museum", -"manx.museum", -"marburg.museum", -"maritime.museum", -"maritimo.museum", -"maryland.museum", -"marylhurst.museum", -"media.museum", -"medical.museum", -"medizinhistorisches.museum", -"meeres.museum", -"memorial.museum", -"mesaverde.museum", -"michigan.museum", -"midatlantic.museum", -"military.museum", -"mill.museum", -"miners.museum", -"mining.museum", -"minnesota.museum", -"missile.museum", -"missoula.museum", -"modern.museum", -"moma.museum", -"money.museum", -"monmouth.museum", -"monticello.museum", -"montreal.museum", -"moscow.museum", -"motorcycle.museum", -"muenchen.museum", -"muenster.museum", -"mulhouse.museum", -"muncie.museum", -"museet.museum", -"museumcenter.museum", -"museumvereniging.museum", -"music.museum", -"national.museum", -"nationalfirearms.museum", -"nationalheritage.museum", -"nativeamerican.museum", -"naturalhistory.museum", -"naturalhistorymuseum.museum", -"naturalsciences.museum", -"nature.museum", -"naturhistorisches.museum", -"natuurwetenschappen.museum", -"naumburg.museum", -"naval.museum", -"nebraska.museum", -"neues.museum", -"newhampshire.museum", -"newjersey.museum", -"newmexico.museum", -"newport.museum", -"newspaper.museum", -"newyork.museum", -"niepce.museum", -"norfolk.museum", -"north.museum", -"nrw.museum", -"nyc.museum", -"nyny.museum", -"oceanographic.museum", -"oceanographique.museum", -"omaha.museum", -"online.museum", -"ontario.museum", -"openair.museum", -"oregon.museum", -"oregontrail.museum", -"otago.museum", -"oxford.museum", -"pacific.museum", -"paderborn.museum", -"palace.museum", -"paleo.museum", -"palmsprings.museum", -"panama.museum", -"paris.museum", -"pasadena.museum", -"pharmacy.museum", -"philadelphia.museum", -"philadelphiaarea.museum", -"philately.museum", -"phoenix.museum", -"photography.museum", -"pilots.museum", -"pittsburgh.museum", -"planetarium.museum", -"plantation.museum", -"plants.museum", -"plaza.museum", -"portal.museum", -"portland.museum", -"portlligat.museum", -"posts-and-telecommunications.museum", -"preservation.museum", -"presidio.museum", -"press.museum", -"project.museum", -"public.museum", -"pubol.museum", -"quebec.museum", -"railroad.museum", -"railway.museum", -"research.museum", -"resistance.museum", -"riodejaneiro.museum", -"rochester.museum", -"rockart.museum", -"roma.museum", -"russia.museum", -"saintlouis.museum", -"salem.museum", -"salvadordali.museum", -"salzburg.museum", -"sandiego.museum", -"sanfrancisco.museum", -"santabarbara.museum", -"santacruz.museum", -"santafe.museum", -"saskatchewan.museum", -"satx.museum", -"savannahga.museum", -"schlesisches.museum", -"schoenbrunn.museum", -"schokoladen.museum", -"school.museum", -"schweiz.museum", -"science.museum", -"scienceandhistory.museum", -"scienceandindustry.museum", -"sciencecenter.museum", -"sciencecenters.museum", -"science-fiction.museum", -"sciencehistory.museum", -"sciences.museum", -"sciencesnaturelles.museum", -"scotland.museum", -"seaport.museum", -"settlement.museum", -"settlers.museum", -"shell.museum", -"sherbrooke.museum", -"sibenik.museum", -"silk.museum", -"ski.museum", -"skole.museum", -"society.museum", -"sologne.museum", -"soundandvision.museum", -"southcarolina.museum", -"southwest.museum", -"space.museum", -"spy.museum", -"square.museum", -"stadt.museum", -"stalbans.museum", -"starnberg.museum", -"state.museum", -"stateofdelaware.museum", -"station.museum", -"steam.museum", -"steiermark.museum", -"stjohn.museum", -"stockholm.museum", -"stpetersburg.museum", -"stuttgart.museum", -"suisse.museum", -"surgeonshall.museum", -"surrey.museum", -"svizzera.museum", -"sweden.museum", -"sydney.museum", -"tank.museum", -"tcm.museum", -"technology.museum", -"telekommunikation.museum", -"television.museum", -"texas.museum", -"textile.museum", -"theater.museum", -"time.museum", -"timekeeping.museum", -"topology.museum", -"torino.museum", -"touch.museum", -"town.museum", -"transport.museum", -"tree.museum", -"trolley.museum", -"trust.museum", -"trustee.museum", -"uhren.museum", -"ulm.museum", -"undersea.museum", -"university.museum", -"usa.museum", -"usantiques.museum", -"usarts.museum", -"uscountryestate.museum", -"usculture.museum", -"usdecorativearts.museum", -"usgarden.museum", -"ushistory.museum", -"ushuaia.museum", -"uslivinghistory.museum", -"utah.museum", -"uvic.museum", -"valley.museum", -"vantaa.museum", -"versailles.museum", -"viking.museum", -"village.museum", -"virginia.museum", -"virtual.museum", -"virtuel.museum", -"vlaanderen.museum", -"volkenkunde.museum", -"wales.museum", -"wallonie.museum", -"war.museum", -"washingtondc.museum", -"watchandclock.museum", -"watch-and-clock.museum", -"western.museum", -"westfalen.museum", -"whaling.museum", -"wildlife.museum", -"williamsburg.museum", -"windmill.museum", -"workshop.museum", -"york.museum", -"yorkshire.museum", -"yosemite.museum", -"youth.museum", -"zoological.museum", -"zoology.museum", -"ירושלי×.museum", -"иком.museum", -"mv", -"aero.mv", -"biz.mv", -"com.mv", -"coop.mv", -"edu.mv", -"gov.mv", -"info.mv", -"int.mv", -"mil.mv", -"museum.mv", -"name.mv", -"net.mv", -"org.mv", -"pro.mv", -"mw", -"ac.mw", -"biz.mw", -"co.mw", -"com.mw", -"coop.mw", -"edu.mw", -"gov.mw", -"int.mw", -"museum.mw", -"net.mw", -"org.mw", -"mx", -"com.mx", -"org.mx", -"gob.mx", -"edu.mx", -"net.mx", -"my", -"com.my", -"net.my", -"org.my", -"gov.my", -"edu.my", -"mil.my", -"name.my", -"mz", -"ac.mz", -"adv.mz", -"co.mz", -"edu.mz", -"gov.mz", -"mil.mz", -"net.mz", -"org.mz", -"na", -"info.na", -"pro.na", -"name.na", -"school.na", -"or.na", -"dr.na", -"us.na", -"mx.na", -"ca.na", -"in.na", -"cc.na", -"tv.na", -"ws.na", -"mobi.na", -"co.na", -"com.na", -"org.na", -"name", -"nc", -"asso.nc", -"nom.nc", -"ne", -"net", -"nf", -"com.nf", -"net.nf", -"per.nf", -"rec.nf", -"web.nf", -"arts.nf", -"firm.nf", -"info.nf", -"other.nf", -"store.nf", -"ng", -"com.ng", -"edu.ng", -"gov.ng", -"i.ng", -"mil.ng", -"mobi.ng", -"name.ng", -"net.ng", -"org.ng", -"sch.ng", -"ni", -"ac.ni", -"biz.ni", -"co.ni", -"com.ni", -"edu.ni", -"gob.ni", -"in.ni", -"info.ni", -"int.ni", -"mil.ni", -"net.ni", -"nom.ni", -"org.ni", -"web.ni", -"nl", -"no", -"fhs.no", -"vgs.no", -"fylkesbibl.no", -"folkebibl.no", -"museum.no", -"idrett.no", -"priv.no", -"mil.no", -"stat.no", -"dep.no", -"kommune.no", -"herad.no", -"aa.no", -"ah.no", -"bu.no", -"fm.no", -"hl.no", -"hm.no", -"jan-mayen.no", -"mr.no", -"nl.no", -"nt.no", -"of.no", -"ol.no", -"oslo.no", -"rl.no", -"sf.no", -"st.no", -"svalbard.no", -"tm.no", -"tr.no", -"va.no", -"vf.no", -"gs.aa.no", -"gs.ah.no", -"gs.bu.no", -"gs.fm.no", -"gs.hl.no", -"gs.hm.no", -"gs.jan-mayen.no", -"gs.mr.no", -"gs.nl.no", -"gs.nt.no", -"gs.of.no", -"gs.ol.no", -"gs.oslo.no", -"gs.rl.no", -"gs.sf.no", -"gs.st.no", -"gs.svalbard.no", -"gs.tm.no", -"gs.tr.no", -"gs.va.no", -"gs.vf.no", -"akrehamn.no", -"Ã¥krehamn.no", -"algard.no", -"Ã¥lgÃ¥rd.no", -"arna.no", -"brumunddal.no", -"bryne.no", -"bronnoysund.no", -"brønnøysund.no", -"drobak.no", -"drøbak.no", -"egersund.no", -"fetsund.no", -"floro.no", -"florø.no", -"fredrikstad.no", -"hokksund.no", -"honefoss.no", -"hønefoss.no", -"jessheim.no", -"jorpeland.no", -"jørpeland.no", -"kirkenes.no", -"kopervik.no", -"krokstadelva.no", -"langevag.no", -"langevÃ¥g.no", -"leirvik.no", -"mjondalen.no", -"mjøndalen.no", -"mo-i-rana.no", -"mosjoen.no", -"mosjøen.no", -"nesoddtangen.no", -"orkanger.no", -"osoyro.no", -"osøyro.no", -"raholt.no", -"rÃ¥holt.no", -"sandnessjoen.no", -"sandnessjøen.no", -"skedsmokorset.no", -"slattum.no", -"spjelkavik.no", -"stathelle.no", -"stavern.no", -"stjordalshalsen.no", -"stjørdalshalsen.no", -"tananger.no", -"tranby.no", -"vossevangen.no", -"afjord.no", -"Ã¥fjord.no", -"agdenes.no", -"al.no", -"Ã¥l.no", -"alesund.no", -"Ã¥lesund.no", -"alstahaug.no", -"alta.no", -"áltá.no", -"alaheadju.no", -"álaheadju.no", -"alvdal.no", -"amli.no", -"Ã¥mli.no", -"amot.no", -"Ã¥mot.no", -"andebu.no", -"andoy.no", -"andøy.no", -"andasuolo.no", -"ardal.no", -"Ã¥rdal.no", -"aremark.no", -"arendal.no", -"Ã¥s.no", -"aseral.no", -"Ã¥seral.no", -"asker.no", -"askim.no", -"askvoll.no", -"askoy.no", -"askøy.no", -"asnes.no", -"Ã¥snes.no", -"audnedaln.no", -"aukra.no", -"aure.no", -"aurland.no", -"aurskog-holand.no", -"aurskog-høland.no", -"austevoll.no", -"austrheim.no", -"averoy.no", -"averøy.no", -"balestrand.no", -"ballangen.no", -"balat.no", -"bálát.no", -"balsfjord.no", -"bahccavuotna.no", -"báhccavuotna.no", -"bamble.no", -"bardu.no", -"beardu.no", -"beiarn.no", -"bajddar.no", -"bájddar.no", -"baidar.no", -"báidár.no", -"berg.no", -"bergen.no", -"berlevag.no", -"berlevÃ¥g.no", -"bearalvahki.no", -"bearalváhki.no", -"bindal.no", -"birkenes.no", -"bjarkoy.no", -"bjarkøy.no", -"bjerkreim.no", -"bjugn.no", -"bodo.no", -"bodø.no", -"badaddja.no", -"bÃ¥dÃ¥ddjÃ¥.no", -"budejju.no", -"bokn.no", -"bremanger.no", -"bronnoy.no", -"brønnøy.no", -"bygland.no", -"bykle.no", -"barum.no", -"bærum.no", -"bo.telemark.no", -"bø.telemark.no", -"bo.nordland.no", -"bø.nordland.no", -"bievat.no", -"bievát.no", -"bomlo.no", -"bømlo.no", -"batsfjord.no", -"bÃ¥tsfjord.no", -"bahcavuotna.no", -"báhcavuotna.no", -"dovre.no", -"drammen.no", -"drangedal.no", -"dyroy.no", -"dyrøy.no", -"donna.no", -"dønna.no", -"eid.no", -"eidfjord.no", -"eidsberg.no", -"eidskog.no", -"eidsvoll.no", -"eigersund.no", -"elverum.no", -"enebakk.no", -"engerdal.no", -"etne.no", -"etnedal.no", -"evenes.no", -"evenassi.no", -"evenášši.no", -"evje-og-hornnes.no", -"farsund.no", -"fauske.no", -"fuossko.no", -"fuoisku.no", -"fedje.no", -"fet.no", -"finnoy.no", -"finnøy.no", -"fitjar.no", -"fjaler.no", -"fjell.no", -"flakstad.no", -"flatanger.no", -"flekkefjord.no", -"flesberg.no", -"flora.no", -"fla.no", -"flÃ¥.no", -"folldal.no", -"forsand.no", -"fosnes.no", -"frei.no", -"frogn.no", -"froland.no", -"frosta.no", -"frana.no", -"fræna.no", -"froya.no", -"frøya.no", -"fusa.no", -"fyresdal.no", -"forde.no", -"førde.no", -"gamvik.no", -"gangaviika.no", -"gáŋgaviika.no", -"gaular.no", -"gausdal.no", -"gildeskal.no", -"gildeskÃ¥l.no", -"giske.no", -"gjemnes.no", -"gjerdrum.no", -"gjerstad.no", -"gjesdal.no", -"gjovik.no", -"gjøvik.no", -"gloppen.no", -"gol.no", -"gran.no", -"grane.no", -"granvin.no", -"gratangen.no", -"grimstad.no", -"grong.no", -"kraanghke.no", -"krÃ¥anghke.no", -"grue.no", -"gulen.no", -"hadsel.no", -"halden.no", -"halsa.no", -"hamar.no", -"hamaroy.no", -"habmer.no", -"hábmer.no", -"hapmir.no", -"hápmir.no", -"hammerfest.no", -"hammarfeasta.no", -"hámmárfeasta.no", -"haram.no", -"hareid.no", -"harstad.no", -"hasvik.no", -"aknoluokta.no", -"ákÅ‹oluokta.no", -"hattfjelldal.no", -"aarborte.no", -"haugesund.no", -"hemne.no", -"hemnes.no", -"hemsedal.no", -"heroy.more-og-romsdal.no", -"herøy.møre-og-romsdal.no", -"heroy.nordland.no", -"herøy.nordland.no", -"hitra.no", -"hjartdal.no", -"hjelmeland.no", -"hobol.no", -"hobøl.no", -"hof.no", -"hol.no", -"hole.no", -"holmestrand.no", -"holtalen.no", -"holtÃ¥len.no", -"hornindal.no", -"horten.no", -"hurdal.no", -"hurum.no", -"hvaler.no", -"hyllestad.no", -"hagebostad.no", -"hægebostad.no", -"hoyanger.no", -"høyanger.no", -"hoylandet.no", -"høylandet.no", -"ha.no", -"hÃ¥.no", -"ibestad.no", -"inderoy.no", -"inderøy.no", -"iveland.no", -"jevnaker.no", -"jondal.no", -"jolster.no", -"jølster.no", -"karasjok.no", -"karasjohka.no", -"kárášjohka.no", -"karlsoy.no", -"galsa.no", -"gálsá.no", -"karmoy.no", -"karmøy.no", -"kautokeino.no", -"guovdageaidnu.no", -"klepp.no", -"klabu.no", -"klæbu.no", -"kongsberg.no", -"kongsvinger.no", -"kragero.no", -"kragerø.no", -"kristiansand.no", -"kristiansund.no", -"krodsherad.no", -"krødsherad.no", -"kvalsund.no", -"rahkkeravju.no", -"ráhkkerávju.no", -"kvam.no", -"kvinesdal.no", -"kvinnherad.no", -"kviteseid.no", -"kvitsoy.no", -"kvitsøy.no", -"kvafjord.no", -"kvæfjord.no", -"giehtavuoatna.no", -"kvanangen.no", -"kvænangen.no", -"navuotna.no", -"návuotna.no", -"kafjord.no", -"kÃ¥fjord.no", -"gaivuotna.no", -"gáivuotna.no", -"larvik.no", -"lavangen.no", -"lavagis.no", -"loabat.no", -"loabát.no", -"lebesby.no", -"davvesiida.no", -"leikanger.no", -"leirfjord.no", -"leka.no", -"leksvik.no", -"lenvik.no", -"leangaviika.no", -"leaÅ‹gaviika.no", -"lesja.no", -"levanger.no", -"lier.no", -"lierne.no", -"lillehammer.no", -"lillesand.no", -"lindesnes.no", -"lindas.no", -"lindÃ¥s.no", -"lom.no", -"loppa.no", -"lahppi.no", -"láhppi.no", -"lund.no", -"lunner.no", -"luroy.no", -"lurøy.no", -"luster.no", -"lyngdal.no", -"lyngen.no", -"ivgu.no", -"lardal.no", -"lerdal.no", -"lærdal.no", -"lodingen.no", -"lødingen.no", -"lorenskog.no", -"lørenskog.no", -"loten.no", -"løten.no", -"malvik.no", -"masoy.no", -"mÃ¥søy.no", -"muosat.no", -"muosát.no", -"mandal.no", -"marker.no", -"marnardal.no", -"masfjorden.no", -"meland.no", -"meldal.no", -"melhus.no", -"meloy.no", -"meløy.no", -"meraker.no", -"merÃ¥ker.no", -"moareke.no", -"moÃ¥reke.no", -"midsund.no", -"midtre-gauldal.no", -"modalen.no", -"modum.no", -"molde.no", -"moskenes.no", -"moss.no", -"mosvik.no", -"malselv.no", -"mÃ¥lselv.no", -"malatvuopmi.no", -"málatvuopmi.no", -"namdalseid.no", -"aejrie.no", -"namsos.no", -"namsskogan.no", -"naamesjevuemie.no", -"nååmesjevuemie.no", -"laakesvuemie.no", -"nannestad.no", -"narvik.no", -"narviika.no", -"naustdal.no", -"nedre-eiker.no", -"nes.akershus.no", -"nes.buskerud.no", -"nesna.no", -"nesodden.no", -"nesseby.no", -"unjarga.no", -"unjárga.no", -"nesset.no", -"nissedal.no", -"nittedal.no", -"nord-aurdal.no", -"nord-fron.no", -"nord-odal.no", -"norddal.no", -"nordkapp.no", -"davvenjarga.no", -"davvenjárga.no", -"nordre-land.no", -"nordreisa.no", -"raisa.no", -"ráisa.no", -"nore-og-uvdal.no", -"notodden.no", -"naroy.no", -"nærøy.no", -"notteroy.no", -"nøtterøy.no", -"odda.no", -"oksnes.no", -"øksnes.no", -"oppdal.no", -"oppegard.no", -"oppegÃ¥rd.no", -"orkdal.no", -"orland.no", -"ørland.no", -"orskog.no", -"ørskog.no", -"orsta.no", -"ørsta.no", -"os.hedmark.no", -"os.hordaland.no", -"osen.no", -"osteroy.no", -"osterøy.no", -"ostre-toten.no", -"østre-toten.no", -"overhalla.no", -"ovre-eiker.no", -"øvre-eiker.no", -"oyer.no", -"øyer.no", -"oygarden.no", -"øygarden.no", -"oystre-slidre.no", -"øystre-slidre.no", -"porsanger.no", -"porsangu.no", -"porsáŋgu.no", -"porsgrunn.no", -"radoy.no", -"radøy.no", -"rakkestad.no", -"rana.no", -"ruovat.no", -"randaberg.no", -"rauma.no", -"rendalen.no", -"rennebu.no", -"rennesoy.no", -"rennesøy.no", -"rindal.no", -"ringebu.no", -"ringerike.no", -"ringsaker.no", -"rissa.no", -"risor.no", -"risør.no", -"roan.no", -"rollag.no", -"rygge.no", -"ralingen.no", -"rælingen.no", -"rodoy.no", -"rødøy.no", -"romskog.no", -"rømskog.no", -"roros.no", -"røros.no", -"rost.no", -"røst.no", -"royken.no", -"røyken.no", -"royrvik.no", -"røyrvik.no", -"rade.no", -"rÃ¥de.no", -"salangen.no", -"siellak.no", -"saltdal.no", -"salat.no", -"sálát.no", -"sálat.no", -"samnanger.no", -"sande.more-og-romsdal.no", -"sande.møre-og-romsdal.no", -"sande.vestfold.no", -"sandefjord.no", -"sandnes.no", -"sandoy.no", -"sandøy.no", -"sarpsborg.no", -"sauda.no", -"sauherad.no", -"sel.no", -"selbu.no", -"selje.no", -"seljord.no", -"sigdal.no", -"siljan.no", -"sirdal.no", -"skaun.no", -"skedsmo.no", -"ski.no", -"skien.no", -"skiptvet.no", -"skjervoy.no", -"skjervøy.no", -"skierva.no", -"skiervá.no", -"skjak.no", -"skjÃ¥k.no", -"skodje.no", -"skanland.no", -"skÃ¥nland.no", -"skanit.no", -"skánit.no", -"smola.no", -"smøla.no", -"snillfjord.no", -"snasa.no", -"snÃ¥sa.no", -"snoasa.no", -"snaase.no", -"snÃ¥ase.no", -"sogndal.no", -"sokndal.no", -"sola.no", -"solund.no", -"songdalen.no", -"sortland.no", -"spydeberg.no", -"stange.no", -"stavanger.no", -"steigen.no", -"steinkjer.no", -"stjordal.no", -"stjørdal.no", -"stokke.no", -"stor-elvdal.no", -"stord.no", -"stordal.no", -"storfjord.no", -"omasvuotna.no", -"strand.no", -"stranda.no", -"stryn.no", -"sula.no", -"suldal.no", -"sund.no", -"sunndal.no", -"surnadal.no", -"sveio.no", -"svelvik.no", -"sykkylven.no", -"sogne.no", -"søgne.no", -"somna.no", -"sømna.no", -"sondre-land.no", -"søndre-land.no", -"sor-aurdal.no", -"sør-aurdal.no", -"sor-fron.no", -"sør-fron.no", -"sor-odal.no", -"sør-odal.no", -"sor-varanger.no", -"sør-varanger.no", -"matta-varjjat.no", -"mátta-várjjat.no", -"sorfold.no", -"sørfold.no", -"sorreisa.no", -"sørreisa.no", -"sorum.no", -"sørum.no", -"tana.no", -"deatnu.no", -"time.no", -"tingvoll.no", -"tinn.no", -"tjeldsund.no", -"dielddanuorri.no", -"tjome.no", -"tjøme.no", -"tokke.no", -"tolga.no", -"torsken.no", -"tranoy.no", -"tranøy.no", -"tromso.no", -"tromsø.no", -"tromsa.no", -"romsa.no", -"trondheim.no", -"troandin.no", -"trysil.no", -"trana.no", -"træna.no", -"trogstad.no", -"trøgstad.no", -"tvedestrand.no", -"tydal.no", -"tynset.no", -"tysfjord.no", -"divtasvuodna.no", -"divttasvuotna.no", -"tysnes.no", -"tysvar.no", -"tysvær.no", -"tonsberg.no", -"tønsberg.no", -"ullensaker.no", -"ullensvang.no", -"ulvik.no", -"utsira.no", -"vadso.no", -"vadsø.no", -"cahcesuolo.no", -"Äáhcesuolo.no", -"vaksdal.no", -"valle.no", -"vang.no", -"vanylven.no", -"vardo.no", -"vardø.no", -"varggat.no", -"várggát.no", -"vefsn.no", -"vaapste.no", -"vega.no", -"vegarshei.no", -"vegÃ¥rshei.no", -"vennesla.no", -"verdal.no", -"verran.no", -"vestby.no", -"vestnes.no", -"vestre-slidre.no", -"vestre-toten.no", -"vestvagoy.no", -"vestvÃ¥gøy.no", -"vevelstad.no", -"vik.no", -"vikna.no", -"vindafjord.no", -"volda.no", -"voss.no", -"varoy.no", -"værøy.no", -"vagan.no", -"vÃ¥gan.no", -"voagat.no", -"vagsoy.no", -"vÃ¥gsøy.no", -"vaga.no", -"vÃ¥gÃ¥.no", -"valer.ostfold.no", -"vÃ¥ler.østfold.no", -"valer.hedmark.no", -"vÃ¥ler.hedmark.no", -"*.np", -"nr", -"biz.nr", -"info.nr", -"gov.nr", -"edu.nr", -"org.nr", -"net.nr", -"com.nr", -"nu", -"nz", -"ac.nz", -"co.nz", -"cri.nz", -"geek.nz", -"gen.nz", -"govt.nz", -"health.nz", -"iwi.nz", -"kiwi.nz", -"maori.nz", -"mil.nz", -"mÄori.nz", -"net.nz", -"org.nz", -"parliament.nz", -"school.nz", -"om", -"co.om", -"com.om", -"edu.om", -"gov.om", -"med.om", -"museum.om", -"net.om", -"org.om", -"pro.om", -"onion", -"org", -"pa", -"ac.pa", -"gob.pa", -"com.pa", -"org.pa", -"sld.pa", -"edu.pa", -"net.pa", -"ing.pa", -"abo.pa", -"med.pa", -"nom.pa", -"pe", -"edu.pe", -"gob.pe", -"nom.pe", -"mil.pe", -"org.pe", -"com.pe", -"net.pe", -"pf", -"com.pf", -"org.pf", -"edu.pf", -"*.pg", -"ph", -"com.ph", -"net.ph", -"org.ph", -"gov.ph", -"edu.ph", -"ngo.ph", -"mil.ph", -"i.ph", -"pk", -"com.pk", -"net.pk", -"edu.pk", -"org.pk", -"fam.pk", -"biz.pk", -"web.pk", -"gov.pk", -"gob.pk", -"gok.pk", -"gon.pk", -"gop.pk", -"gos.pk", -"info.pk", -"pl", -"com.pl", -"net.pl", -"org.pl", -"aid.pl", -"agro.pl", -"atm.pl", -"auto.pl", -"biz.pl", -"edu.pl", -"gmina.pl", -"gsm.pl", -"info.pl", -"mail.pl", -"miasta.pl", -"media.pl", -"mil.pl", -"nieruchomosci.pl", -"nom.pl", -"pc.pl", -"powiat.pl", -"priv.pl", -"realestate.pl", -"rel.pl", -"sex.pl", -"shop.pl", -"sklep.pl", -"sos.pl", -"szkola.pl", -"targi.pl", -"tm.pl", -"tourism.pl", -"travel.pl", -"turystyka.pl", -"gov.pl", -"ap.gov.pl", -"ic.gov.pl", -"is.gov.pl", -"us.gov.pl", -"kmpsp.gov.pl", -"kppsp.gov.pl", -"kwpsp.gov.pl", -"psp.gov.pl", -"wskr.gov.pl", -"kwp.gov.pl", -"mw.gov.pl", -"ug.gov.pl", -"um.gov.pl", -"umig.gov.pl", -"ugim.gov.pl", -"upow.gov.pl", -"uw.gov.pl", -"starostwo.gov.pl", -"pa.gov.pl", -"po.gov.pl", -"psse.gov.pl", -"pup.gov.pl", -"rzgw.gov.pl", -"sa.gov.pl", -"so.gov.pl", -"sr.gov.pl", -"wsa.gov.pl", -"sko.gov.pl", -"uzs.gov.pl", -"wiih.gov.pl", -"winb.gov.pl", -"pinb.gov.pl", -"wios.gov.pl", -"witd.gov.pl", -"wzmiuw.gov.pl", -"piw.gov.pl", -"wiw.gov.pl", -"griw.gov.pl", -"wif.gov.pl", -"oum.gov.pl", -"sdn.gov.pl", -"zp.gov.pl", -"uppo.gov.pl", -"mup.gov.pl", -"wuoz.gov.pl", -"konsulat.gov.pl", -"oirm.gov.pl", -"augustow.pl", -"babia-gora.pl", -"bedzin.pl", -"beskidy.pl", -"bialowieza.pl", -"bialystok.pl", -"bielawa.pl", -"bieszczady.pl", -"boleslawiec.pl", -"bydgoszcz.pl", -"bytom.pl", -"cieszyn.pl", -"czeladz.pl", -"czest.pl", -"dlugoleka.pl", -"elblag.pl", -"elk.pl", -"glogow.pl", -"gniezno.pl", -"gorlice.pl", -"grajewo.pl", -"ilawa.pl", -"jaworzno.pl", -"jelenia-gora.pl", -"jgora.pl", -"kalisz.pl", -"kazimierz-dolny.pl", -"karpacz.pl", -"kartuzy.pl", -"kaszuby.pl", -"katowice.pl", -"kepno.pl", -"ketrzyn.pl", -"klodzko.pl", -"kobierzyce.pl", -"kolobrzeg.pl", -"konin.pl", -"konskowola.pl", -"kutno.pl", -"lapy.pl", -"lebork.pl", -"legnica.pl", -"lezajsk.pl", -"limanowa.pl", -"lomza.pl", -"lowicz.pl", -"lubin.pl", -"lukow.pl", -"malbork.pl", -"malopolska.pl", -"mazowsze.pl", -"mazury.pl", -"mielec.pl", -"mielno.pl", -"mragowo.pl", -"naklo.pl", -"nowaruda.pl", -"nysa.pl", -"olawa.pl", -"olecko.pl", -"olkusz.pl", -"olsztyn.pl", -"opoczno.pl", -"opole.pl", -"ostroda.pl", -"ostroleka.pl", -"ostrowiec.pl", -"ostrowwlkp.pl", -"pila.pl", -"pisz.pl", -"podhale.pl", -"podlasie.pl", -"polkowice.pl", -"pomorze.pl", -"pomorskie.pl", -"prochowice.pl", -"pruszkow.pl", -"przeworsk.pl", -"pulawy.pl", -"radom.pl", -"rawa-maz.pl", -"rybnik.pl", -"rzeszow.pl", -"sanok.pl", -"sejny.pl", -"slask.pl", -"slupsk.pl", -"sosnowiec.pl", -"stalowa-wola.pl", -"skoczow.pl", -"starachowice.pl", -"stargard.pl", -"suwalki.pl", -"swidnica.pl", -"swiebodzin.pl", -"swinoujscie.pl", -"szczecin.pl", -"szczytno.pl", -"tarnobrzeg.pl", -"tgory.pl", -"turek.pl", -"tychy.pl", -"ustka.pl", -"walbrzych.pl", -"warmia.pl", -"warszawa.pl", -"waw.pl", -"wegrow.pl", -"wielun.pl", -"wlocl.pl", -"wloclawek.pl", -"wodzislaw.pl", -"wolomin.pl", -"wroclaw.pl", -"zachpomor.pl", -"zagan.pl", -"zarow.pl", -"zgora.pl", -"zgorzelec.pl", -"pm", -"pn", -"gov.pn", -"co.pn", -"org.pn", -"edu.pn", -"net.pn", -"post", -"pr", -"com.pr", -"net.pr", -"org.pr", -"gov.pr", -"edu.pr", -"isla.pr", -"pro.pr", -"biz.pr", -"info.pr", -"name.pr", -"est.pr", -"prof.pr", -"ac.pr", -"pro", -"aaa.pro", -"aca.pro", -"acct.pro", -"avocat.pro", -"bar.pro", -"cpa.pro", -"eng.pro", -"jur.pro", -"law.pro", -"med.pro", -"recht.pro", -"ps", -"edu.ps", -"gov.ps", -"sec.ps", -"plo.ps", -"com.ps", -"org.ps", -"net.ps", -"pt", -"net.pt", -"gov.pt", -"org.pt", -"edu.pt", -"int.pt", -"publ.pt", -"com.pt", -"nome.pt", -"pw", -"co.pw", -"ne.pw", -"or.pw", -"ed.pw", -"go.pw", -"belau.pw", -"py", -"com.py", -"coop.py", -"edu.py", -"gov.py", -"mil.py", -"net.py", -"org.py", -"qa", -"com.qa", -"edu.qa", -"gov.qa", -"mil.qa", -"name.qa", -"net.qa", -"org.qa", -"sch.qa", -"re", -"asso.re", -"com.re", -"nom.re", -"ro", -"arts.ro", -"com.ro", -"firm.ro", -"info.ro", -"nom.ro", -"nt.ro", -"org.ro", -"rec.ro", -"store.ro", -"tm.ro", -"www.ro", -"rs", -"ac.rs", -"co.rs", -"edu.rs", -"gov.rs", -"in.rs", -"org.rs", -"ru", -"rw", -"ac.rw", -"co.rw", -"coop.rw", -"gov.rw", -"mil.rw", -"net.rw", -"org.rw", -"sa", -"com.sa", -"net.sa", -"org.sa", -"gov.sa", -"med.sa", -"pub.sa", -"edu.sa", -"sch.sa", -"sb", -"com.sb", -"edu.sb", -"gov.sb", -"net.sb", -"org.sb", -"sc", -"com.sc", -"gov.sc", -"net.sc", -"org.sc", -"edu.sc", -"sd", -"com.sd", -"net.sd", -"org.sd", -"edu.sd", -"med.sd", -"tv.sd", -"gov.sd", -"info.sd", -"se", -"a.se", -"ac.se", -"b.se", -"bd.se", -"brand.se", -"c.se", -"d.se", -"e.se", -"f.se", -"fh.se", -"fhsk.se", -"fhv.se", -"g.se", -"h.se", -"i.se", -"k.se", -"komforb.se", -"kommunalforbund.se", -"komvux.se", -"l.se", -"lanbib.se", -"m.se", -"n.se", -"naturbruksgymn.se", -"o.se", -"org.se", -"p.se", -"parti.se", -"pp.se", -"press.se", -"r.se", -"s.se", -"t.se", -"tm.se", -"u.se", -"w.se", -"x.se", -"y.se", -"z.se", -"sg", -"com.sg", -"net.sg", -"org.sg", -"gov.sg", -"edu.sg", -"per.sg", -"sh", -"com.sh", -"net.sh", -"gov.sh", -"org.sh", -"mil.sh", -"si", -"sj", -"sk", -"sl", -"com.sl", -"net.sl", -"edu.sl", -"gov.sl", -"org.sl", -"sm", -"sn", -"art.sn", -"com.sn", -"edu.sn", -"gouv.sn", -"org.sn", -"perso.sn", -"univ.sn", -"so", -"com.so", -"edu.so", -"gov.so", -"me.so", -"net.so", -"org.so", -"sr", -"ss", -"biz.ss", -"com.ss", -"edu.ss", -"gov.ss", -"net.ss", -"org.ss", -"st", -"co.st", -"com.st", -"consulado.st", -"edu.st", -"embaixada.st", -"gov.st", -"mil.st", -"net.st", -"org.st", -"principe.st", -"saotome.st", -"store.st", -"su", -"sv", -"com.sv", -"edu.sv", -"gob.sv", -"org.sv", -"red.sv", -"sx", -"gov.sx", -"sy", -"edu.sy", -"gov.sy", -"net.sy", -"mil.sy", -"com.sy", -"org.sy", -"sz", -"co.sz", -"ac.sz", -"org.sz", -"tc", -"td", -"tel", -"tf", -"tg", -"th", -"ac.th", -"co.th", -"go.th", -"in.th", -"mi.th", -"net.th", -"or.th", -"tj", -"ac.tj", -"biz.tj", -"co.tj", -"com.tj", -"edu.tj", -"go.tj", -"gov.tj", -"int.tj", -"mil.tj", -"name.tj", -"net.tj", -"nic.tj", -"org.tj", -"test.tj", -"web.tj", -"tk", -"tl", -"gov.tl", -"tm", -"com.tm", -"co.tm", -"org.tm", -"net.tm", -"nom.tm", -"gov.tm", -"mil.tm", -"edu.tm", -"tn", -"com.tn", -"ens.tn", -"fin.tn", -"gov.tn", -"ind.tn", -"intl.tn", -"nat.tn", -"net.tn", -"org.tn", -"info.tn", -"perso.tn", -"tourism.tn", -"edunet.tn", -"rnrt.tn", -"rns.tn", -"rnu.tn", -"mincom.tn", -"agrinet.tn", -"defense.tn", -"turen.tn", -"to", -"com.to", -"gov.to", -"net.to", -"org.to", -"edu.to", -"mil.to", -"tr", -"av.tr", -"bbs.tr", -"bel.tr", -"biz.tr", -"com.tr", -"dr.tr", -"edu.tr", -"gen.tr", -"gov.tr", -"info.tr", -"mil.tr", -"k12.tr", -"kep.tr", -"name.tr", -"net.tr", -"org.tr", -"pol.tr", -"tel.tr", -"tsk.tr", -"tv.tr", -"web.tr", -"nc.tr", -"gov.nc.tr", -"tt", -"co.tt", -"com.tt", -"org.tt", -"net.tt", -"biz.tt", -"info.tt", -"pro.tt", -"int.tt", -"coop.tt", -"jobs.tt", -"mobi.tt", -"travel.tt", -"museum.tt", -"aero.tt", -"name.tt", -"gov.tt", -"edu.tt", -"tv", -"tw", -"edu.tw", -"gov.tw", -"mil.tw", -"com.tw", -"net.tw", -"org.tw", -"idv.tw", -"game.tw", -"ebiz.tw", -"club.tw", -"網路.tw", -"組織.tw", -"商業.tw", -"tz", -"ac.tz", -"co.tz", -"go.tz", -"hotel.tz", -"info.tz", -"me.tz", -"mil.tz", -"mobi.tz", -"ne.tz", -"or.tz", -"sc.tz", -"tv.tz", -"ua", -"com.ua", -"edu.ua", -"gov.ua", -"in.ua", -"net.ua", -"org.ua", -"cherkassy.ua", -"cherkasy.ua", -"chernigov.ua", -"chernihiv.ua", -"chernivtsi.ua", -"chernovtsy.ua", -"ck.ua", -"cn.ua", -"cr.ua", -"crimea.ua", -"cv.ua", -"dn.ua", -"dnepropetrovsk.ua", -"dnipropetrovsk.ua", -"dominic.ua", -"donetsk.ua", -"dp.ua", -"if.ua", -"ivano-frankivsk.ua", -"kh.ua", -"kharkiv.ua", -"kharkov.ua", -"kherson.ua", -"khmelnitskiy.ua", -"khmelnytskyi.ua", -"kiev.ua", -"kirovograd.ua", -"km.ua", -"kr.ua", -"krym.ua", -"ks.ua", -"kv.ua", -"kyiv.ua", -"lg.ua", -"lt.ua", -"lugansk.ua", -"lutsk.ua", -"lv.ua", -"lviv.ua", -"mk.ua", -"mykolaiv.ua", -"nikolaev.ua", -"od.ua", -"odesa.ua", -"odessa.ua", -"pl.ua", -"poltava.ua", -"rivne.ua", -"rovno.ua", -"rv.ua", -"sb.ua", -"sebastopol.ua", -"sevastopol.ua", -"sm.ua", -"sumy.ua", -"te.ua", -"ternopil.ua", -"uz.ua", -"uzhgorod.ua", -"vinnica.ua", -"vinnytsia.ua", -"vn.ua", -"volyn.ua", -"yalta.ua", -"zaporizhzhe.ua", -"zaporizhzhia.ua", -"zhitomir.ua", -"zhytomyr.ua", -"zp.ua", -"zt.ua", -"ug", -"co.ug", -"or.ug", -"ac.ug", -"sc.ug", -"go.ug", -"ne.ug", -"com.ug", -"org.ug", -"uk", -"ac.uk", -"co.uk", -"gov.uk", -"ltd.uk", -"me.uk", -"net.uk", -"nhs.uk", -"org.uk", -"plc.uk", -"police.uk", -"*.sch.uk", -"us", -"dni.us", -"fed.us", -"isa.us", -"kids.us", -"nsn.us", -"ak.us", -"al.us", -"ar.us", -"as.us", -"az.us", -"ca.us", -"co.us", -"ct.us", -"dc.us", -"de.us", -"fl.us", -"ga.us", -"gu.us", -"hi.us", -"ia.us", -"id.us", -"il.us", -"in.us", -"ks.us", -"ky.us", -"la.us", -"ma.us", -"md.us", -"me.us", -"mi.us", -"mn.us", -"mo.us", -"ms.us", -"mt.us", -"nc.us", -"nd.us", -"ne.us", -"nh.us", -"nj.us", -"nm.us", -"nv.us", -"ny.us", -"oh.us", -"ok.us", -"or.us", -"pa.us", -"pr.us", -"ri.us", -"sc.us", -"sd.us", -"tn.us", -"tx.us", -"ut.us", -"vi.us", -"vt.us", -"va.us", -"wa.us", -"wi.us", -"wv.us", -"wy.us", -"k12.ak.us", -"k12.al.us", -"k12.ar.us", -"k12.as.us", -"k12.az.us", -"k12.ca.us", -"k12.co.us", -"k12.ct.us", -"k12.dc.us", -"k12.de.us", -"k12.fl.us", -"k12.ga.us", -"k12.gu.us", -"k12.ia.us", -"k12.id.us", -"k12.il.us", -"k12.in.us", -"k12.ks.us", -"k12.ky.us", -"k12.la.us", -"k12.ma.us", -"k12.md.us", -"k12.me.us", -"k12.mi.us", -"k12.mn.us", -"k12.mo.us", -"k12.ms.us", -"k12.mt.us", -"k12.nc.us", -"k12.ne.us", -"k12.nh.us", -"k12.nj.us", -"k12.nm.us", -"k12.nv.us", -"k12.ny.us", -"k12.oh.us", -"k12.ok.us", -"k12.or.us", -"k12.pa.us", -"k12.pr.us", -"k12.ri.us", -"k12.sc.us", -"k12.tn.us", -"k12.tx.us", -"k12.ut.us", -"k12.vi.us", -"k12.vt.us", -"k12.va.us", -"k12.wa.us", -"k12.wi.us", -"k12.wy.us", -"cc.ak.us", -"cc.al.us", -"cc.ar.us", -"cc.as.us", -"cc.az.us", -"cc.ca.us", -"cc.co.us", -"cc.ct.us", -"cc.dc.us", -"cc.de.us", -"cc.fl.us", -"cc.ga.us", -"cc.gu.us", -"cc.hi.us", -"cc.ia.us", -"cc.id.us", -"cc.il.us", -"cc.in.us", -"cc.ks.us", -"cc.ky.us", -"cc.la.us", -"cc.ma.us", -"cc.md.us", -"cc.me.us", -"cc.mi.us", -"cc.mn.us", -"cc.mo.us", -"cc.ms.us", -"cc.mt.us", -"cc.nc.us", -"cc.nd.us", -"cc.ne.us", -"cc.nh.us", -"cc.nj.us", -"cc.nm.us", -"cc.nv.us", -"cc.ny.us", -"cc.oh.us", -"cc.ok.us", -"cc.or.us", -"cc.pa.us", -"cc.pr.us", -"cc.ri.us", -"cc.sc.us", -"cc.sd.us", -"cc.tn.us", -"cc.tx.us", -"cc.ut.us", -"cc.vi.us", -"cc.vt.us", -"cc.va.us", -"cc.wa.us", -"cc.wi.us", -"cc.wv.us", -"cc.wy.us", -"lib.ak.us", -"lib.al.us", -"lib.ar.us", -"lib.as.us", -"lib.az.us", -"lib.ca.us", -"lib.co.us", -"lib.ct.us", -"lib.dc.us", -"lib.fl.us", -"lib.ga.us", -"lib.gu.us", -"lib.hi.us", -"lib.ia.us", -"lib.id.us", -"lib.il.us", -"lib.in.us", -"lib.ks.us", -"lib.ky.us", -"lib.la.us", -"lib.ma.us", -"lib.md.us", -"lib.me.us", -"lib.mi.us", -"lib.mn.us", -"lib.mo.us", -"lib.ms.us", -"lib.mt.us", -"lib.nc.us", -"lib.nd.us", -"lib.ne.us", -"lib.nh.us", -"lib.nj.us", -"lib.nm.us", -"lib.nv.us", -"lib.ny.us", -"lib.oh.us", -"lib.ok.us", -"lib.or.us", -"lib.pa.us", -"lib.pr.us", -"lib.ri.us", -"lib.sc.us", -"lib.sd.us", -"lib.tn.us", -"lib.tx.us", -"lib.ut.us", -"lib.vi.us", -"lib.vt.us", -"lib.va.us", -"lib.wa.us", -"lib.wi.us", -"lib.wy.us", -"pvt.k12.ma.us", -"chtr.k12.ma.us", -"paroch.k12.ma.us", -"ann-arbor.mi.us", -"cog.mi.us", -"dst.mi.us", -"eaton.mi.us", -"gen.mi.us", -"mus.mi.us", -"tec.mi.us", -"washtenaw.mi.us", -"uy", -"com.uy", -"edu.uy", -"gub.uy", -"mil.uy", -"net.uy", -"org.uy", -"uz", -"co.uz", -"com.uz", -"net.uz", -"org.uz", -"va", -"vc", -"com.vc", -"net.vc", -"org.vc", -"gov.vc", -"mil.vc", -"edu.vc", -"ve", -"arts.ve", -"co.ve", -"com.ve", -"e12.ve", -"edu.ve", -"firm.ve", -"gob.ve", -"gov.ve", -"info.ve", -"int.ve", -"mil.ve", -"net.ve", -"org.ve", -"rec.ve", -"store.ve", -"tec.ve", -"web.ve", -"vg", -"vi", -"co.vi", -"com.vi", -"k12.vi", -"net.vi", -"org.vi", -"vn", -"com.vn", -"net.vn", -"org.vn", -"edu.vn", -"gov.vn", -"int.vn", -"ac.vn", -"biz.vn", -"info.vn", -"name.vn", -"pro.vn", -"health.vn", -"vu", -"com.vu", -"edu.vu", -"net.vu", -"org.vu", -"wf", -"ws", -"com.ws", -"net.ws", -"org.ws", -"gov.ws", -"edu.ws", -"yt", -"امارات", -"Õ°Õ¡Õµ", -"বাংলা", -"бг", -"бел", -"中国", -"中國", -"الجزائر", -"مصر", -"ею", -"موريتانيا", -"გე", -"ελ", -"香港", -"å…¬å¸.香港", -"教育.香港", -"政府.香港", -"個人.香港", -"網絡.香港", -"組織.香港", -"ಭಾರತ", -"ଭାରତ", -"ভাৰত", -"भारतमà¥", -"भारोत", -"ڀارت", -"ഭാരതം", -"भारत", -"بارت", -"بھارت", -"భారతà±", -"ભારત", -"ਭਾਰਤ", -"ভারত", -"இநà¯à®¤à®¿à®¯à®¾", -"ایران", -"ايران", -"عراق", -"الاردن", -"한국", -"қаз", -"ලංකà·", -"இலஙà¯à®•à¯ˆ", -"المغرب", -"мкд", -"мон", -"澳門", -"澳门", -"مليسيا", -"عمان", -"پاکستان", -"پاكستان", -"Ùلسطين", -"Ñрб", -"пр.Ñрб", -"орг.Ñрб", -"обр.Ñрб", -"од.Ñрб", -"упр.Ñрб", -"ак.Ñрб", -"рф", -"قطر", -"السعودية", -"السعودیة", -"السعودیۃ", -"السعوديه", -"سودان", -"新加å¡", -"சிஙà¯à®•à®ªà¯à®ªà¯‚à®°à¯", -"سورية", -"سوريا", -"ไทย", -"ศึà¸à¸©à¸².ไทย", -"ธุรà¸à¸´à¸ˆ.ไทย", -"รัà¸à¸šà¸²à¸¥.ไทย", -"ทหาร.ไทย", -"เน็ต.ไทย", -"องค์à¸à¸£.ไทย", -"تونس", -"å°ç£", -"å°æ¹¾", -"臺ç£", -"укр", -"اليمن", -"xxx", -"*.ye", -"ac.za", -"agric.za", -"alt.za", -"co.za", -"edu.za", -"gov.za", -"grondar.za", -"law.za", -"mil.za", -"net.za", -"ngo.za", -"nic.za", -"nis.za", -"nom.za", -"org.za", -"school.za", -"tm.za", -"web.za", -"zm", -"ac.zm", -"biz.zm", -"co.zm", -"com.zm", -"edu.zm", -"gov.zm", -"info.zm", -"mil.zm", -"net.zm", -"org.zm", -"sch.zm", -"zw", -"ac.zw", -"co.zw", -"gov.zw", -"mil.zw", -"org.zw", -"aaa", -"aarp", -"abarth", -"abb", -"abbott", -"abbvie", -"abc", -"able", -"abogado", -"abudhabi", -"academy", -"accenture", -"accountant", -"accountants", -"aco", -"actor", -"adac", -"ads", -"adult", -"aeg", -"aetna", -"afamilycompany", -"afl", -"africa", -"agakhan", -"agency", -"aig", -"aigo", -"airbus", -"airforce", -"airtel", -"akdn", -"alfaromeo", -"alibaba", -"alipay", -"allfinanz", -"allstate", -"ally", -"alsace", -"alstom", -"americanexpress", -"americanfamily", -"amex", -"amfam", -"amica", -"amsterdam", -"analytics", -"android", -"anquan", -"anz", -"aol", -"apartments", -"app", -"apple", -"aquarelle", -"arab", -"aramco", -"archi", -"army", -"art", -"arte", -"asda", -"associates", -"athleta", -"attorney", -"auction", -"audi", -"audible", -"audio", -"auspost", -"author", -"auto", -"autos", -"avianca", -"aws", -"axa", -"azure", -"baby", -"baidu", -"banamex", -"bananarepublic", -"band", -"bank", -"bar", -"barcelona", -"barclaycard", -"barclays", -"barefoot", -"bargains", -"baseball", -"basketball", -"bauhaus", -"bayern", -"bbc", -"bbt", -"bbva", -"bcg", -"bcn", -"beats", -"beauty", -"beer", -"bentley", -"berlin", -"best", -"bestbuy", -"bet", -"bharti", -"bible", -"bid", -"bike", -"bing", -"bingo", -"bio", -"black", -"blackfriday", -"blockbuster", -"blog", -"bloomberg", -"blue", -"bms", -"bmw", -"bnpparibas", -"boats", -"boehringer", -"bofa", -"bom", -"bond", -"boo", -"book", -"booking", -"bosch", -"bostik", -"boston", -"bot", -"boutique", -"box", -"bradesco", -"bridgestone", -"broadway", -"broker", -"brother", -"brussels", -"budapest", -"bugatti", -"build", -"builders", -"business", -"buy", -"buzz", -"bzh", -"cab", -"cafe", -"cal", -"call", -"calvinklein", -"cam", -"camera", -"camp", -"cancerresearch", -"canon", -"capetown", -"capital", -"capitalone", -"car", -"caravan", -"cards", -"care", -"career", -"careers", -"cars", -"casa", -"case", -"caseih", -"cash", -"casino", -"catering", -"catholic", -"cba", -"cbn", -"cbre", -"cbs", -"ceb", -"center", -"ceo", -"cern", -"cfa", -"cfd", -"chanel", -"channel", -"charity", -"chase", -"chat", -"cheap", -"chintai", -"christmas", -"chrome", -"church", -"cipriani", -"circle", -"cisco", -"citadel", -"citi", -"citic", -"city", -"cityeats", -"claims", -"cleaning", -"click", -"clinic", -"clinique", -"clothing", -"cloud", -"club", -"clubmed", -"coach", -"codes", -"coffee", -"college", -"cologne", -"comcast", -"commbank", -"community", -"company", -"compare", -"computer", -"comsec", -"condos", -"construction", -"consulting", -"contact", -"contractors", -"cooking", -"cookingchannel", -"cool", -"corsica", -"country", -"coupon", -"coupons", -"courses", -"cpa", -"credit", -"creditcard", -"creditunion", -"cricket", -"crown", -"crs", -"cruise", -"cruises", -"csc", -"cuisinella", -"cymru", -"cyou", -"dabur", -"dad", -"dance", -"data", -"date", -"dating", -"datsun", -"day", -"dclk", -"dds", -"deal", -"dealer", -"deals", -"degree", -"delivery", -"dell", -"deloitte", -"delta", -"democrat", -"dental", -"dentist", -"desi", -"design", -"dev", -"dhl", -"diamonds", -"diet", -"digital", -"direct", -"directory", -"discount", -"discover", -"dish", -"diy", -"dnp", -"docs", -"doctor", -"dog", -"domains", -"dot", -"download", -"drive", -"dtv", -"dubai", -"duck", -"dunlop", -"dupont", -"durban", -"dvag", -"dvr", -"earth", -"eat", -"eco", -"edeka", -"education", -"email", -"emerck", -"energy", -"engineer", -"engineering", -"enterprises", -"epson", -"equipment", -"ericsson", -"erni", -"esq", -"estate", -"esurance", -"etisalat", -"eurovision", -"eus", -"events", -"exchange", -"expert", -"exposed", -"express", -"extraspace", -"fage", -"fail", -"fairwinds", -"faith", -"family", -"fan", -"fans", -"farm", -"farmers", -"fashion", -"fast", -"fedex", -"feedback", -"ferrari", -"ferrero", -"fiat", -"fidelity", -"fido", -"film", -"final", -"finance", -"financial", -"fire", -"firestone", -"firmdale", -"fish", -"fishing", -"fit", -"fitness", -"flickr", -"flights", -"flir", -"florist", -"flowers", -"fly", -"foo", -"food", -"foodnetwork", -"football", -"ford", -"forex", -"forsale", -"forum", -"foundation", -"fox", -"free", -"fresenius", -"frl", -"frogans", -"frontdoor", -"frontier", -"ftr", -"fujitsu", -"fujixerox", -"fun", -"fund", -"furniture", -"futbol", -"fyi", -"gal", -"gallery", -"gallo", -"gallup", -"game", -"games", -"gap", -"garden", -"gay", -"gbiz", -"gdn", -"gea", -"gent", -"genting", -"george", -"ggee", -"gift", -"gifts", -"gives", -"giving", -"glade", -"glass", -"gle", -"global", -"globo", -"gmail", -"gmbh", -"gmo", -"gmx", -"godaddy", -"gold", -"goldpoint", -"golf", -"goo", -"goodyear", -"goog", -"google", -"gop", -"got", -"grainger", -"graphics", -"gratis", -"green", -"gripe", -"grocery", -"group", -"guardian", -"gucci", -"guge", -"guide", -"guitars", -"guru", -"hair", -"hamburg", -"hangout", -"haus", -"hbo", -"hdfc", -"hdfcbank", -"health", -"healthcare", -"help", -"helsinki", -"here", -"hermes", -"hgtv", -"hiphop", -"hisamitsu", -"hitachi", -"hiv", -"hkt", -"hockey", -"holdings", -"holiday", -"homedepot", -"homegoods", -"homes", -"homesense", -"honda", -"horse", -"hospital", -"host", -"hosting", -"hot", -"hoteles", -"hotels", -"hotmail", -"house", -"how", -"hsbc", -"hughes", -"hyatt", -"hyundai", -"ibm", -"icbc", -"ice", -"icu", -"ieee", -"ifm", -"ikano", -"imamat", -"imdb", -"immo", -"immobilien", -"inc", -"industries", -"infiniti", -"ing", -"ink", -"institute", -"insurance", -"insure", -"intel", -"international", -"intuit", -"investments", -"ipiranga", -"irish", -"ismaili", -"ist", -"istanbul", -"itau", -"itv", -"iveco", -"jaguar", -"java", -"jcb", -"jcp", -"jeep", -"jetzt", -"jewelry", -"jio", -"jll", -"jmp", -"jnj", -"joburg", -"jot", -"joy", -"jpmorgan", -"jprs", -"juegos", -"juniper", -"kaufen", -"kddi", -"kerryhotels", -"kerrylogistics", -"kerryproperties", -"kfh", -"kia", -"kim", -"kinder", -"kindle", -"kitchen", -"kiwi", -"koeln", -"komatsu", -"kosher", -"kpmg", -"kpn", -"krd", -"kred", -"kuokgroup", -"kyoto", -"lacaixa", -"lamborghini", -"lamer", -"lancaster", -"lancia", -"land", -"landrover", -"lanxess", -"lasalle", -"lat", -"latino", -"latrobe", -"law", -"lawyer", -"lds", -"lease", -"leclerc", -"lefrak", -"legal", -"lego", -"lexus", -"lgbt", -"liaison", -"lidl", -"life", -"lifeinsurance", -"lifestyle", -"lighting", -"like", -"lilly", -"limited", -"limo", -"lincoln", -"linde", -"link", -"lipsy", -"live", -"living", -"lixil", -"llc", -"llp", -"loan", -"loans", -"locker", -"locus", -"loft", -"lol", -"london", -"lotte", -"lotto", -"love", -"lpl", -"lplfinancial", -"ltd", -"ltda", -"lundbeck", -"lupin", -"luxe", -"luxury", -"macys", -"madrid", -"maif", -"maison", -"makeup", -"man", -"management", -"mango", -"map", -"market", -"marketing", -"markets", -"marriott", -"marshalls", -"maserati", -"mattel", -"mba", -"mckinsey", -"med", -"media", -"meet", -"melbourne", -"meme", -"memorial", -"men", -"menu", -"merckmsd", -"metlife", -"miami", -"microsoft", -"mini", -"mint", -"mit", -"mitsubishi", -"mlb", -"mls", -"mma", -"mobile", -"moda", -"moe", -"moi", -"mom", -"monash", -"money", -"monster", -"mormon", -"mortgage", -"moscow", -"moto", -"motorcycles", -"mov", -"movie", -"movistar", -"msd", -"mtn", -"mtr", -"mutual", -"nab", -"nadex", -"nagoya", -"nationwide", -"natura", -"navy", -"nba", -"nec", -"netbank", -"netflix", -"network", -"neustar", -"new", -"newholland", -"news", -"next", -"nextdirect", -"nexus", -"nfl", -"ngo", -"nhk", -"nico", -"nike", -"nikon", -"ninja", -"nissan", -"nissay", -"nokia", -"northwesternmutual", -"norton", -"now", -"nowruz", -"nowtv", -"nra", -"nrw", -"ntt", -"nyc", -"obi", -"observer", -"off", -"office", -"okinawa", -"olayan", -"olayangroup", -"oldnavy", -"ollo", -"omega", -"one", -"ong", -"onl", -"online", -"onyourside", -"ooo", -"open", -"oracle", -"orange", -"organic", -"origins", -"osaka", -"otsuka", -"ott", -"ovh", -"page", -"panasonic", -"paris", -"pars", -"partners", -"parts", -"party", -"passagens", -"pay", -"pccw", -"pet", -"pfizer", -"pharmacy", -"phd", -"philips", -"phone", -"photo", -"photography", -"photos", -"physio", -"pics", -"pictet", -"pictures", -"pid", -"pin", -"ping", -"pink", -"pioneer", -"pizza", -"place", -"play", -"playstation", -"plumbing", -"plus", -"pnc", -"pohl", -"poker", -"politie", -"porn", -"pramerica", -"praxi", -"press", -"prime", -"prod", -"productions", -"prof", -"progressive", -"promo", -"properties", -"property", -"protection", -"pru", -"prudential", -"pub", -"pwc", -"qpon", -"quebec", -"quest", -"qvc", -"racing", -"radio", -"raid", -"read", -"realestate", -"realtor", -"realty", -"recipes", -"red", -"redstone", -"redumbrella", -"rehab", -"reise", -"reisen", -"reit", -"reliance", -"ren", -"rent", -"rentals", -"repair", -"report", -"republican", -"rest", -"restaurant", -"review", -"reviews", -"rexroth", -"rich", -"richardli", -"ricoh", -"rightathome", -"ril", -"rio", -"rip", -"rmit", -"rocher", -"rocks", -"rodeo", -"rogers", -"room", -"rsvp", -"rugby", -"ruhr", -"run", -"rwe", -"ryukyu", -"saarland", -"safe", -"safety", -"sakura", -"sale", -"salon", -"samsclub", -"samsung", -"sandvik", -"sandvikcoromant", -"sanofi", -"sap", -"sarl", -"sas", -"save", -"saxo", -"sbi", -"sbs", -"sca", -"scb", -"schaeffler", -"schmidt", -"scholarships", -"school", -"schule", -"schwarz", -"science", -"scjohnson", -"scor", -"scot", -"search", -"seat", -"secure", -"security", -"seek", -"select", -"sener", -"services", -"ses", -"seven", -"sew", -"sex", -"sexy", -"sfr", -"shangrila", -"sharp", -"shaw", -"shell", -"shia", -"shiksha", -"shoes", -"shop", -"shopping", -"shouji", -"show", -"showtime", -"shriram", -"silk", -"sina", -"singles", -"site", -"ski", -"skin", -"sky", -"skype", -"sling", -"smart", -"smile", -"sncf", -"soccer", -"social", -"softbank", -"software", -"sohu", -"solar", -"solutions", -"song", -"sony", -"soy", -"spa", -"space", -"sport", -"spot", -"spreadbetting", -"srl", -"stada", -"staples", -"star", -"statebank", -"statefarm", -"stc", -"stcgroup", -"stockholm", -"storage", -"store", -"stream", -"studio", -"study", -"style", -"sucks", -"supplies", -"supply", -"support", -"surf", -"surgery", -"suzuki", -"swatch", -"swiftcover", -"swiss", -"sydney", -"symantec", -"systems", -"tab", -"taipei", -"talk", -"taobao", -"target", -"tatamotors", -"tatar", -"tattoo", -"tax", -"taxi", -"tci", -"tdk", -"team", -"tech", -"technology", -"telefonica", -"temasek", -"tennis", -"teva", -"thd", -"theater", -"theatre", -"tiaa", -"tickets", -"tienda", -"tiffany", -"tips", -"tires", -"tirol", -"tjmaxx", -"tjx", -"tkmaxx", -"tmall", -"today", -"tokyo", -"tools", -"top", -"toray", -"toshiba", -"total", -"tours", -"town", -"toyota", -"toys", -"trade", -"trading", -"training", -"travel", -"travelchannel", -"travelers", -"travelersinsurance", -"trust", -"trv", -"tube", -"tui", -"tunes", -"tushu", -"tvs", -"ubank", -"ubs", -"unicom", -"university", -"uno", -"uol", -"ups", -"vacations", -"vana", -"vanguard", -"vegas", -"ventures", -"verisign", -"versicherung", -"vet", -"viajes", -"video", -"vig", -"viking", -"villas", -"vin", -"vip", -"virgin", -"visa", -"vision", -"vistaprint", -"viva", -"vivo", -"vlaanderen", -"vodka", -"volkswagen", -"volvo", -"vote", -"voting", -"voto", -"voyage", -"vuelos", -"wales", -"walmart", -"walter", -"wang", -"wanggou", -"watch", -"watches", -"weather", -"weatherchannel", -"webcam", -"weber", -"website", -"wed", -"wedding", -"weibo", -"weir", -"whoswho", -"wien", -"wiki", -"williamhill", -"win", -"windows", -"wine", -"winners", -"wme", -"wolterskluwer", -"woodside", -"work", -"works", -"world", -"wow", -"wtc", -"wtf", -"xbox", -"xerox", -"xfinity", -"xihuan", -"xin", -"कॉम", -"セール", -"佛山", -"慈善", -"集团", -"在线", -"大众汽车", -"点看", -"คอม", -"å…«å¦", -"موقع", -"公益", -"å…¬å¸", -"香格里拉", -"网站", -"移动", -"我爱你", -"моÑква", -"католик", -"онлайн", -"Ñайт", -"è”通", -"קו×", -"时尚", -"å¾®åš", -"淡马锡", -"ファッション", -"орг", -"नेट", -"ストア", -"삼성", -"商标", -"商店", -"商城", -"дети", -"ãƒã‚¤ãƒ³ãƒˆ", -"æ–°é—»", -"工行", -"家電", -"كوم", -"中文网", -"中信", -"娱ä¹", -"è°·æ­Œ", -"電訊盈科", -"购物", -"クラウド", -"通販", -"网店", -"संगठन", -"é¤åŽ…", -"网络", -"ком", -"诺基亚", -"食å“", -"飞利浦", -"手表", -"手机", -"ارامكو", -"العليان", -"اتصالات", -"بازار", -"ابوظبي", -"كاثوليك", -"همراه", -"ë‹·ì»´", -"政府", -"شبكة", -"بيتك", -"عرب", -"机构", -"组织机构", -"å¥åº·", -"æ‹›è˜", -"руÑ", -"ç å®", -"大拿", -"ã¿ã‚“ãª", -"グーグル", -"世界", -"書ç±", -"网å€", -"ë‹·ë„·", -"コム", -"天主教", -"游æˆ", -"vermögensberater", -"vermögensberatung", -"ä¼ä¸š", -"ä¿¡æ¯", -"嘉里大酒店", -"嘉里", -"广东", -"政务", -"xyz", -"yachts", -"yahoo", -"yamaxun", -"yandex", -"yodobashi", -"yoga", -"yokohama", -"you", -"youtube", -"yun", -"zappos", -"zara", -"zero", -"zip", -"zone", -"zuerich", -"cc.ua", -"inf.ua", -"ltd.ua", -"beep.pl", -"barsy.ca", -"*.compute.estate", -"*.alces.network", -"altervista.org", -"alwaysdata.net", -"cloudfront.net", -"*.compute.amazonaws.com", -"*.compute-1.amazonaws.com", -"*.compute.amazonaws.com.cn", -"us-east-1.amazonaws.com", -"cn-north-1.eb.amazonaws.com.cn", -"cn-northwest-1.eb.amazonaws.com.cn", -"elasticbeanstalk.com", -"ap-northeast-1.elasticbeanstalk.com", -"ap-northeast-2.elasticbeanstalk.com", -"ap-northeast-3.elasticbeanstalk.com", -"ap-south-1.elasticbeanstalk.com", -"ap-southeast-1.elasticbeanstalk.com", -"ap-southeast-2.elasticbeanstalk.com", -"ca-central-1.elasticbeanstalk.com", -"eu-central-1.elasticbeanstalk.com", -"eu-west-1.elasticbeanstalk.com", -"eu-west-2.elasticbeanstalk.com", -"eu-west-3.elasticbeanstalk.com", -"sa-east-1.elasticbeanstalk.com", -"us-east-1.elasticbeanstalk.com", -"us-east-2.elasticbeanstalk.com", -"us-gov-west-1.elasticbeanstalk.com", -"us-west-1.elasticbeanstalk.com", -"us-west-2.elasticbeanstalk.com", -"*.elb.amazonaws.com", -"*.elb.amazonaws.com.cn", -"s3.amazonaws.com", -"s3-ap-northeast-1.amazonaws.com", -"s3-ap-northeast-2.amazonaws.com", -"s3-ap-south-1.amazonaws.com", -"s3-ap-southeast-1.amazonaws.com", -"s3-ap-southeast-2.amazonaws.com", -"s3-ca-central-1.amazonaws.com", -"s3-eu-central-1.amazonaws.com", -"s3-eu-west-1.amazonaws.com", -"s3-eu-west-2.amazonaws.com", -"s3-eu-west-3.amazonaws.com", -"s3-external-1.amazonaws.com", -"s3-fips-us-gov-west-1.amazonaws.com", -"s3-sa-east-1.amazonaws.com", -"s3-us-gov-west-1.amazonaws.com", -"s3-us-east-2.amazonaws.com", -"s3-us-west-1.amazonaws.com", -"s3-us-west-2.amazonaws.com", -"s3.ap-northeast-2.amazonaws.com", -"s3.ap-south-1.amazonaws.com", -"s3.cn-north-1.amazonaws.com.cn", -"s3.ca-central-1.amazonaws.com", -"s3.eu-central-1.amazonaws.com", -"s3.eu-west-2.amazonaws.com", -"s3.eu-west-3.amazonaws.com", -"s3.us-east-2.amazonaws.com", -"s3.dualstack.ap-northeast-1.amazonaws.com", -"s3.dualstack.ap-northeast-2.amazonaws.com", -"s3.dualstack.ap-south-1.amazonaws.com", -"s3.dualstack.ap-southeast-1.amazonaws.com", -"s3.dualstack.ap-southeast-2.amazonaws.com", -"s3.dualstack.ca-central-1.amazonaws.com", -"s3.dualstack.eu-central-1.amazonaws.com", -"s3.dualstack.eu-west-1.amazonaws.com", -"s3.dualstack.eu-west-2.amazonaws.com", -"s3.dualstack.eu-west-3.amazonaws.com", -"s3.dualstack.sa-east-1.amazonaws.com", -"s3.dualstack.us-east-1.amazonaws.com", -"s3.dualstack.us-east-2.amazonaws.com", -"s3-website-us-east-1.amazonaws.com", -"s3-website-us-west-1.amazonaws.com", -"s3-website-us-west-2.amazonaws.com", -"s3-website-ap-northeast-1.amazonaws.com", -"s3-website-ap-southeast-1.amazonaws.com", -"s3-website-ap-southeast-2.amazonaws.com", -"s3-website-eu-west-1.amazonaws.com", -"s3-website-sa-east-1.amazonaws.com", -"s3-website.ap-northeast-2.amazonaws.com", -"s3-website.ap-south-1.amazonaws.com", -"s3-website.ca-central-1.amazonaws.com", -"s3-website.eu-central-1.amazonaws.com", -"s3-website.eu-west-2.amazonaws.com", -"s3-website.eu-west-3.amazonaws.com", -"s3-website.us-east-2.amazonaws.com", -"amsw.nl", -"t3l3p0rt.net", -"tele.amune.org", -"apigee.io", -"on-aptible.com", -"user.aseinet.ne.jp", -"gv.vc", -"d.gv.vc", -"user.party.eus", -"pimienta.org", -"poivron.org", -"potager.org", -"sweetpepper.org", -"myasustor.com", -"myfritz.net", -"*.awdev.ca", -"*.advisor.ws", -"b-data.io", -"backplaneapp.io", -"balena-devices.com", -"app.banzaicloud.io", -"betainabox.com", -"bnr.la", -"blackbaudcdn.net", -"boomla.net", -"boxfuse.io", -"square7.ch", -"bplaced.com", -"bplaced.de", -"square7.de", -"bplaced.net", -"square7.net", -"browsersafetymark.io", -"uk0.bigv.io", -"dh.bytemark.co.uk", -"vm.bytemark.co.uk", -"mycd.eu", -"carrd.co", -"crd.co", -"uwu.ai", -"ae.org", -"ar.com", -"br.com", -"cn.com", -"com.de", -"com.se", -"de.com", -"eu.com", -"gb.com", -"gb.net", -"hu.com", -"hu.net", -"jp.net", -"jpn.com", -"kr.com", -"mex.com", -"no.com", -"qc.com", -"ru.com", -"sa.com", -"se.net", -"uk.com", -"uk.net", -"us.com", -"uy.com", -"za.bz", -"za.com", -"africa.com", -"gr.com", -"in.net", -"us.org", -"co.com", -"c.la", -"certmgr.org", -"xenapponazure.com", -"discourse.group", -"virtueeldomein.nl", -"cleverapps.io", -"*.lcl.dev", -"*.stg.dev", -"c66.me", -"cloud66.ws", -"cloud66.zone", -"jdevcloud.com", -"wpdevcloud.com", -"cloudaccess.host", -"freesite.host", -"cloudaccess.net", -"cloudcontrolled.com", -"cloudcontrolapp.com", -"cloudera.site", -"trycloudflare.com", -"workers.dev", -"wnext.app", -"co.ca", -"*.otap.co", -"co.cz", -"c.cdn77.org", -"cdn77-ssl.net", -"r.cdn77.net", -"rsc.cdn77.org", -"ssl.origin.cdn77-secure.org", -"cloudns.asia", -"cloudns.biz", -"cloudns.club", -"cloudns.cc", -"cloudns.eu", -"cloudns.in", -"cloudns.info", -"cloudns.org", -"cloudns.pro", -"cloudns.pw", -"cloudns.us", -"cloudeity.net", -"cnpy.gdn", -"co.nl", -"co.no", -"webhosting.be", -"hosting-cluster.nl", -"ac.ru", -"edu.ru", -"gov.ru", -"int.ru", -"mil.ru", -"test.ru", -"dyn.cosidns.de", -"dynamisches-dns.de", -"dnsupdater.de", -"internet-dns.de", -"l-o-g-i-n.de", -"dynamic-dns.info", -"feste-ip.net", -"knx-server.net", -"static-access.net", -"realm.cz", -"*.cryptonomic.net", -"cupcake.is", -"*.customer-oci.com", -"*.oci.customer-oci.com", -"*.ocp.customer-oci.com", -"*.ocs.customer-oci.com", -"cyon.link", -"cyon.site", -"daplie.me", -"localhost.daplie.me", -"dattolocal.com", -"dattorelay.com", -"dattoweb.com", -"mydatto.com", -"dattolocal.net", -"mydatto.net", -"biz.dk", -"co.dk", -"firm.dk", -"reg.dk", -"store.dk", -"*.dapps.earth", -"*.bzz.dapps.earth", -"builtwithdark.com", -"edgestack.me", -"debian.net", -"dedyn.io", -"dnshome.de", -"online.th", -"shop.th", -"drayddns.com", -"dreamhosters.com", -"mydrobo.com", -"drud.io", -"drud.us", -"duckdns.org", -"dy.fi", -"tunk.org", -"dyndns-at-home.com", -"dyndns-at-work.com", -"dyndns-blog.com", -"dyndns-free.com", -"dyndns-home.com", -"dyndns-ip.com", -"dyndns-mail.com", -"dyndns-office.com", -"dyndns-pics.com", -"dyndns-remote.com", -"dyndns-server.com", -"dyndns-web.com", -"dyndns-wiki.com", -"dyndns-work.com", -"dyndns.biz", -"dyndns.info", -"dyndns.org", -"dyndns.tv", -"at-band-camp.net", -"ath.cx", -"barrel-of-knowledge.info", -"barrell-of-knowledge.info", -"better-than.tv", -"blogdns.com", -"blogdns.net", -"blogdns.org", -"blogsite.org", -"boldlygoingnowhere.org", -"broke-it.net", -"buyshouses.net", -"cechire.com", -"dnsalias.com", -"dnsalias.net", -"dnsalias.org", -"dnsdojo.com", -"dnsdojo.net", -"dnsdojo.org", -"does-it.net", -"doesntexist.com", -"doesntexist.org", -"dontexist.com", -"dontexist.net", -"dontexist.org", -"doomdns.com", -"doomdns.org", -"dvrdns.org", -"dyn-o-saur.com", -"dynalias.com", -"dynalias.net", -"dynalias.org", -"dynathome.net", -"dyndns.ws", -"endofinternet.net", -"endofinternet.org", -"endoftheinternet.org", -"est-a-la-maison.com", -"est-a-la-masion.com", -"est-le-patron.com", -"est-mon-blogueur.com", -"for-better.biz", -"for-more.biz", -"for-our.info", -"for-some.biz", -"for-the.biz", -"forgot.her.name", -"forgot.his.name", -"from-ak.com", -"from-al.com", -"from-ar.com", -"from-az.net", -"from-ca.com", -"from-co.net", -"from-ct.com", -"from-dc.com", -"from-de.com", -"from-fl.com", -"from-ga.com", -"from-hi.com", -"from-ia.com", -"from-id.com", -"from-il.com", -"from-in.com", -"from-ks.com", -"from-ky.com", -"from-la.net", -"from-ma.com", -"from-md.com", -"from-me.org", -"from-mi.com", -"from-mn.com", -"from-mo.com", -"from-ms.com", -"from-mt.com", -"from-nc.com", -"from-nd.com", -"from-ne.com", -"from-nh.com", -"from-nj.com", -"from-nm.com", -"from-nv.com", -"from-ny.net", -"from-oh.com", -"from-ok.com", -"from-or.com", -"from-pa.com", -"from-pr.com", -"from-ri.com", -"from-sc.com", -"from-sd.com", -"from-tn.com", -"from-tx.com", -"from-ut.com", -"from-va.com", -"from-vt.com", -"from-wa.com", -"from-wi.com", -"from-wv.com", -"from-wy.com", -"ftpaccess.cc", -"fuettertdasnetz.de", -"game-host.org", -"game-server.cc", -"getmyip.com", -"gets-it.net", -"go.dyndns.org", -"gotdns.com", -"gotdns.org", -"groks-the.info", -"groks-this.info", -"ham-radio-op.net", -"here-for-more.info", -"hobby-site.com", -"hobby-site.org", -"home.dyndns.org", -"homedns.org", -"homeftp.net", -"homeftp.org", -"homeip.net", -"homelinux.com", -"homelinux.net", -"homelinux.org", -"homeunix.com", -"homeunix.net", -"homeunix.org", -"iamallama.com", -"in-the-band.net", -"is-a-anarchist.com", -"is-a-blogger.com", -"is-a-bookkeeper.com", -"is-a-bruinsfan.org", -"is-a-bulls-fan.com", -"is-a-candidate.org", -"is-a-caterer.com", -"is-a-celticsfan.org", -"is-a-chef.com", -"is-a-chef.net", -"is-a-chef.org", -"is-a-conservative.com", -"is-a-cpa.com", -"is-a-cubicle-slave.com", -"is-a-democrat.com", -"is-a-designer.com", -"is-a-doctor.com", -"is-a-financialadvisor.com", -"is-a-geek.com", -"is-a-geek.net", -"is-a-geek.org", -"is-a-green.com", -"is-a-guru.com", -"is-a-hard-worker.com", -"is-a-hunter.com", -"is-a-knight.org", -"is-a-landscaper.com", -"is-a-lawyer.com", -"is-a-liberal.com", -"is-a-libertarian.com", -"is-a-linux-user.org", -"is-a-llama.com", -"is-a-musician.com", -"is-a-nascarfan.com", -"is-a-nurse.com", -"is-a-painter.com", -"is-a-patsfan.org", -"is-a-personaltrainer.com", -"is-a-photographer.com", -"is-a-player.com", -"is-a-republican.com", -"is-a-rockstar.com", -"is-a-socialist.com", -"is-a-soxfan.org", -"is-a-student.com", -"is-a-teacher.com", -"is-a-techie.com", -"is-a-therapist.com", -"is-an-accountant.com", -"is-an-actor.com", -"is-an-actress.com", -"is-an-anarchist.com", -"is-an-artist.com", -"is-an-engineer.com", -"is-an-entertainer.com", -"is-by.us", -"is-certified.com", -"is-found.org", -"is-gone.com", -"is-into-anime.com", -"is-into-cars.com", -"is-into-cartoons.com", -"is-into-games.com", -"is-leet.com", -"is-lost.org", -"is-not-certified.com", -"is-saved.org", -"is-slick.com", -"is-uberleet.com", -"is-very-bad.org", -"is-very-evil.org", -"is-very-good.org", -"is-very-nice.org", -"is-very-sweet.org", -"is-with-theband.com", -"isa-geek.com", -"isa-geek.net", -"isa-geek.org", -"isa-hockeynut.com", -"issmarterthanyou.com", -"isteingeek.de", -"istmein.de", -"kicks-ass.net", -"kicks-ass.org", -"knowsitall.info", -"land-4-sale.us", -"lebtimnetz.de", -"leitungsen.de", -"likes-pie.com", -"likescandy.com", -"merseine.nu", -"mine.nu", -"misconfused.org", -"mypets.ws", -"myphotos.cc", -"neat-url.com", -"office-on-the.net", -"on-the-web.tv", -"podzone.net", -"podzone.org", -"readmyblog.org", -"saves-the-whales.com", -"scrapper-site.net", -"scrapping.cc", -"selfip.biz", -"selfip.com", -"selfip.info", -"selfip.net", -"selfip.org", -"sells-for-less.com", -"sells-for-u.com", -"sells-it.net", -"sellsyourhome.org", -"servebbs.com", -"servebbs.net", -"servebbs.org", -"serveftp.net", -"serveftp.org", -"servegame.org", -"shacknet.nu", -"simple-url.com", -"space-to-rent.com", -"stuff-4-sale.org", -"stuff-4-sale.us", -"teaches-yoga.com", -"thruhere.net", -"traeumtgerade.de", -"webhop.biz", -"webhop.info", -"webhop.net", -"webhop.org", -"worse-than.tv", -"writesthisblog.com", -"ddnss.de", -"dyn.ddnss.de", -"dyndns.ddnss.de", -"dyndns1.de", -"dyn-ip24.de", -"home-webserver.de", -"dyn.home-webserver.de", -"myhome-server.de", -"ddnss.org", -"definima.net", -"definima.io", -"bci.dnstrace.pro", -"ddnsfree.com", -"ddnsgeek.com", -"giize.com", -"gleeze.com", -"kozow.com", -"loseyourip.com", -"ooguy.com", -"theworkpc.com", -"casacam.net", -"dynu.net", -"accesscam.org", -"camdvr.org", -"freeddns.org", -"mywire.org", -"webredirect.org", -"myddns.rocks", -"blogsite.xyz", -"dynv6.net", -"e4.cz", -"en-root.fr", -"mytuleap.com", -"onred.one", -"staging.onred.one", -"enonic.io", -"customer.enonic.io", -"eu.org", -"al.eu.org", -"asso.eu.org", -"at.eu.org", -"au.eu.org", -"be.eu.org", -"bg.eu.org", -"ca.eu.org", -"cd.eu.org", -"ch.eu.org", -"cn.eu.org", -"cy.eu.org", -"cz.eu.org", -"de.eu.org", -"dk.eu.org", -"edu.eu.org", -"ee.eu.org", -"es.eu.org", -"fi.eu.org", -"fr.eu.org", -"gr.eu.org", -"hr.eu.org", -"hu.eu.org", -"ie.eu.org", -"il.eu.org", -"in.eu.org", -"int.eu.org", -"is.eu.org", -"it.eu.org", -"jp.eu.org", -"kr.eu.org", -"lt.eu.org", -"lu.eu.org", -"lv.eu.org", -"mc.eu.org", -"me.eu.org", -"mk.eu.org", -"mt.eu.org", -"my.eu.org", -"net.eu.org", -"ng.eu.org", -"nl.eu.org", -"no.eu.org", -"nz.eu.org", -"paris.eu.org", -"pl.eu.org", -"pt.eu.org", -"q-a.eu.org", -"ro.eu.org", -"ru.eu.org", -"se.eu.org", -"si.eu.org", -"sk.eu.org", -"tr.eu.org", -"uk.eu.org", -"us.eu.org", -"eu-1.evennode.com", -"eu-2.evennode.com", -"eu-3.evennode.com", -"eu-4.evennode.com", -"us-1.evennode.com", -"us-2.evennode.com", -"us-3.evennode.com", -"us-4.evennode.com", -"twmail.cc", -"twmail.net", -"twmail.org", -"mymailer.com.tw", -"url.tw", -"apps.fbsbx.com", -"ru.net", -"adygeya.ru", -"bashkiria.ru", -"bir.ru", -"cbg.ru", -"com.ru", -"dagestan.ru", -"grozny.ru", -"kalmykia.ru", -"kustanai.ru", -"marine.ru", -"mordovia.ru", -"msk.ru", -"mytis.ru", -"nalchik.ru", -"nov.ru", -"pyatigorsk.ru", -"spb.ru", -"vladikavkaz.ru", -"vladimir.ru", -"abkhazia.su", -"adygeya.su", -"aktyubinsk.su", -"arkhangelsk.su", -"armenia.su", -"ashgabad.su", -"azerbaijan.su", -"balashov.su", -"bashkiria.su", -"bryansk.su", -"bukhara.su", -"chimkent.su", -"dagestan.su", -"east-kazakhstan.su", -"exnet.su", -"georgia.su", -"grozny.su", -"ivanovo.su", -"jambyl.su", -"kalmykia.su", -"kaluga.su", -"karacol.su", -"karaganda.su", -"karelia.su", -"khakassia.su", -"krasnodar.su", -"kurgan.su", -"kustanai.su", -"lenug.su", -"mangyshlak.su", -"mordovia.su", -"msk.su", -"murmansk.su", -"nalchik.su", -"navoi.su", -"north-kazakhstan.su", -"nov.su", -"obninsk.su", -"penza.su", -"pokrovsk.su", -"sochi.su", -"spb.su", -"tashkent.su", -"termez.su", -"togliatti.su", -"troitsk.su", -"tselinograd.su", -"tula.su", -"tuva.su", -"vladikavkaz.su", -"vladimir.su", -"vologda.su", -"channelsdvr.net", -"fastly-terrarium.com", -"fastlylb.net", -"map.fastlylb.net", -"freetls.fastly.net", -"map.fastly.net", -"a.prod.fastly.net", -"global.prod.fastly.net", -"a.ssl.fastly.net", -"b.ssl.fastly.net", -"global.ssl.fastly.net", -"fastpanel.direct", -"fastvps-server.com", -"fhapp.xyz", -"fedorainfracloud.org", -"fedorapeople.org", -"cloud.fedoraproject.org", -"app.os.fedoraproject.org", -"app.os.stg.fedoraproject.org", -"mydobiss.com", -"filegear.me", -"filegear-au.me", -"filegear-de.me", -"filegear-gb.me", -"filegear-ie.me", -"filegear-jp.me", -"filegear-sg.me", -"firebaseapp.com", -"flynnhub.com", -"flynnhosting.net", -"0e.vc", -"freebox-os.com", -"freeboxos.com", -"fbx-os.fr", -"fbxos.fr", -"freebox-os.fr", -"freeboxos.fr", -"freedesktop.org", -"*.futurecms.at", -"*.ex.futurecms.at", -"*.in.futurecms.at", -"futurehosting.at", -"futuremailing.at", -"*.ex.ortsinfo.at", -"*.kunden.ortsinfo.at", -"*.statics.cloud", -"service.gov.uk", -"gehirn.ne.jp", -"usercontent.jp", -"gentapps.com", -"lab.ms", -"github.io", -"githubusercontent.com", -"gitlab.io", -"glitch.me", -"lolipop.io", -"cloudapps.digital", -"london.cloudapps.digital", -"homeoffice.gov.uk", -"ro.im", -"shop.ro", -"goip.de", -"run.app", -"a.run.app", -"web.app", -"*.0emm.com", -"appspot.com", -"*.r.appspot.com", -"blogspot.ae", -"blogspot.al", -"blogspot.am", -"blogspot.ba", -"blogspot.be", -"blogspot.bg", -"blogspot.bj", -"blogspot.ca", -"blogspot.cf", -"blogspot.ch", -"blogspot.cl", -"blogspot.co.at", -"blogspot.co.id", -"blogspot.co.il", -"blogspot.co.ke", -"blogspot.co.nz", -"blogspot.co.uk", -"blogspot.co.za", -"blogspot.com", -"blogspot.com.ar", -"blogspot.com.au", -"blogspot.com.br", -"blogspot.com.by", -"blogspot.com.co", -"blogspot.com.cy", -"blogspot.com.ee", -"blogspot.com.eg", -"blogspot.com.es", -"blogspot.com.mt", -"blogspot.com.ng", -"blogspot.com.tr", -"blogspot.com.uy", -"blogspot.cv", -"blogspot.cz", -"blogspot.de", -"blogspot.dk", -"blogspot.fi", -"blogspot.fr", -"blogspot.gr", -"blogspot.hk", -"blogspot.hr", -"blogspot.hu", -"blogspot.ie", -"blogspot.in", -"blogspot.is", -"blogspot.it", -"blogspot.jp", -"blogspot.kr", -"blogspot.li", -"blogspot.lt", -"blogspot.lu", -"blogspot.md", -"blogspot.mk", -"blogspot.mr", -"blogspot.mx", -"blogspot.my", -"blogspot.nl", -"blogspot.no", -"blogspot.pe", -"blogspot.pt", -"blogspot.qa", -"blogspot.re", -"blogspot.ro", -"blogspot.rs", -"blogspot.ru", -"blogspot.se", -"blogspot.sg", -"blogspot.si", -"blogspot.sk", -"blogspot.sn", -"blogspot.td", -"blogspot.tw", -"blogspot.ug", -"blogspot.vn", -"cloudfunctions.net", -"cloud.goog", -"codespot.com", -"googleapis.com", -"googlecode.com", -"pagespeedmobilizer.com", -"publishproxy.com", -"withgoogle.com", -"withyoutube.com", -"awsmppl.com", -"fin.ci", -"free.hr", -"caa.li", -"ua.rs", -"conf.se", -"hs.zone", -"hs.run", -"hashbang.sh", -"hasura.app", -"hasura-app.io", -"hepforge.org", -"herokuapp.com", -"herokussl.com", -"myravendb.com", -"ravendb.community", -"ravendb.me", -"development.run", -"ravendb.run", -"bpl.biz", -"orx.biz", -"ng.city", -"biz.gl", -"ng.ink", -"col.ng", -"firm.ng", -"gen.ng", -"ltd.ng", -"ngo.ng", -"ng.school", -"sch.so", -"häkkinen.fi", -"*.moonscale.io", -"moonscale.net", -"iki.fi", -"dyn-berlin.de", -"in-berlin.de", -"in-brb.de", -"in-butter.de", -"in-dsl.de", -"in-dsl.net", -"in-dsl.org", -"in-vpn.de", -"in-vpn.net", -"in-vpn.org", -"biz.at", -"info.at", -"info.cx", -"ac.leg.br", -"al.leg.br", -"am.leg.br", -"ap.leg.br", -"ba.leg.br", -"ce.leg.br", -"df.leg.br", -"es.leg.br", -"go.leg.br", -"ma.leg.br", -"mg.leg.br", -"ms.leg.br", -"mt.leg.br", -"pa.leg.br", -"pb.leg.br", -"pe.leg.br", -"pi.leg.br", -"pr.leg.br", -"rj.leg.br", -"rn.leg.br", -"ro.leg.br", -"rr.leg.br", -"rs.leg.br", -"sc.leg.br", -"se.leg.br", -"sp.leg.br", -"to.leg.br", -"pixolino.com", -"ipifony.net", -"mein-iserv.de", -"test-iserv.de", -"iserv.dev", -"iobb.net", -"myjino.ru", -"*.hosting.myjino.ru", -"*.landing.myjino.ru", -"*.spectrum.myjino.ru", -"*.vps.myjino.ru", -"*.triton.zone", -"*.cns.joyent.com", -"js.org", -"kaas.gg", -"khplay.nl", -"keymachine.de", -"kinghost.net", -"uni5.net", -"knightpoint.systems", -"oya.to", -"co.krd", -"edu.krd", -"git-repos.de", -"lcube-server.de", -"svn-repos.de", -"leadpages.co", -"lpages.co", -"lpusercontent.com", -"lelux.site", -"co.business", -"co.education", -"co.events", -"co.financial", -"co.network", -"co.place", -"co.technology", -"app.lmpm.com", -"linkitools.space", -"linkyard.cloud", -"linkyard-cloud.ch", -"members.linode.com", -"nodebalancer.linode.com", -"we.bs", -"loginline.app", -"loginline.dev", -"loginline.io", -"loginline.services", -"loginline.site", -"krasnik.pl", -"leczna.pl", -"lubartow.pl", -"lublin.pl", -"poniatowa.pl", -"swidnik.pl", -"uklugs.org", -"glug.org.uk", -"lug.org.uk", -"lugs.org.uk", -"barsy.bg", -"barsy.co.uk", -"barsyonline.co.uk", -"barsycenter.com", -"barsyonline.com", -"barsy.club", -"barsy.de", -"barsy.eu", -"barsy.in", -"barsy.info", -"barsy.io", -"barsy.me", -"barsy.menu", -"barsy.mobi", -"barsy.net", -"barsy.online", -"barsy.org", -"barsy.pro", -"barsy.pub", -"barsy.shop", -"barsy.site", -"barsy.support", -"barsy.uk", -"*.magentosite.cloud", -"mayfirst.info", -"mayfirst.org", -"hb.cldmail.ru", -"miniserver.com", -"memset.net", -"cloud.metacentrum.cz", -"custom.metacentrum.cz", -"flt.cloud.muni.cz", -"usr.cloud.muni.cz", -"meteorapp.com", -"eu.meteorapp.com", -"co.pl", -"azurecontainer.io", -"azurewebsites.net", -"azure-mobile.net", -"cloudapp.net", -"mozilla-iot.org", -"bmoattachments.org", -"net.ru", -"org.ru", -"pp.ru", -"ui.nabu.casa", -"pony.club", -"of.fashion", -"on.fashion", -"of.football", -"in.london", -"of.london", -"for.men", -"and.mom", -"for.mom", -"for.one", -"for.sale", -"of.work", -"to.work", -"nctu.me", -"bitballoon.com", -"netlify.com", -"4u.com", -"ngrok.io", -"nh-serv.co.uk", -"nfshost.com", -"dnsking.ch", -"mypi.co", -"n4t.co", -"001www.com", -"ddnslive.com", -"myiphost.com", -"forumz.info", -"16-b.it", -"32-b.it", -"64-b.it", -"soundcast.me", -"tcp4.me", -"dnsup.net", -"hicam.net", -"now-dns.net", -"ownip.net", -"vpndns.net", -"dynserv.org", -"now-dns.org", -"x443.pw", -"now-dns.top", -"ntdll.top", -"freeddns.us", -"crafting.xyz", -"zapto.xyz", -"nsupdate.info", -"nerdpol.ovh", -"blogsyte.com", -"brasilia.me", -"cable-modem.org", -"ciscofreak.com", -"collegefan.org", -"couchpotatofries.org", -"damnserver.com", -"ddns.me", -"ditchyourip.com", -"dnsfor.me", -"dnsiskinky.com", -"dvrcam.info", -"dynns.com", -"eating-organic.net", -"fantasyleague.cc", -"geekgalaxy.com", -"golffan.us", -"health-carereform.com", -"homesecuritymac.com", -"homesecuritypc.com", -"hopto.me", -"ilovecollege.info", -"loginto.me", -"mlbfan.org", -"mmafan.biz", -"myactivedirectory.com", -"mydissent.net", -"myeffect.net", -"mymediapc.net", -"mypsx.net", -"mysecuritycamera.com", -"mysecuritycamera.net", -"mysecuritycamera.org", -"net-freaks.com", -"nflfan.org", -"nhlfan.net", -"no-ip.ca", -"no-ip.co.uk", -"no-ip.net", -"noip.us", -"onthewifi.com", -"pgafan.net", -"point2this.com", -"pointto.us", -"privatizehealthinsurance.net", -"quicksytes.com", -"read-books.org", -"securitytactics.com", -"serveexchange.com", -"servehumour.com", -"servep2p.com", -"servesarcasm.com", -"stufftoread.com", -"ufcfan.org", -"unusualperson.com", -"workisboring.com", -"3utilities.com", -"bounceme.net", -"ddns.net", -"ddnsking.com", -"gotdns.ch", -"hopto.org", -"myftp.biz", -"myftp.org", -"myvnc.com", -"no-ip.biz", -"no-ip.info", -"no-ip.org", -"noip.me", -"redirectme.net", -"servebeer.com", -"serveblog.net", -"servecounterstrike.com", -"serveftp.com", -"servegame.com", -"servehalflife.com", -"servehttp.com", -"serveirc.com", -"serveminecraft.net", -"servemp3.com", -"servepics.com", -"servequake.com", -"sytes.net", -"webhop.me", -"zapto.org", -"stage.nodeart.io", -"nodum.co", -"nodum.io", -"pcloud.host", -"nyc.mn", -"nom.ae", -"nom.af", -"nom.ai", -"nom.al", -"nym.by", -"nym.bz", -"nom.cl", -"nym.ec", -"nom.gd", -"nom.ge", -"nom.gl", -"nym.gr", -"nom.gt", -"nym.gy", -"nym.hk", -"nom.hn", -"nym.ie", -"nom.im", -"nom.ke", -"nym.kz", -"nym.la", -"nym.lc", -"nom.li", -"nym.li", -"nym.lt", -"nym.lu", -"nym.me", -"nom.mk", -"nym.mn", -"nym.mx", -"nom.nu", -"nym.nz", -"nym.pe", -"nym.pt", -"nom.pw", -"nom.qa", -"nym.ro", -"nom.rs", -"nom.si", -"nym.sk", -"nom.st", -"nym.su", -"nym.sx", -"nom.tj", -"nym.tw", -"nom.ug", -"nom.uy", -"nom.vc", -"nom.vg", -"cya.gg", -"cloudycluster.net", -"nid.io", -"opencraft.hosting", -"operaunite.com", -"skygearapp.com", -"outsystemscloud.com", -"ownprovider.com", -"own.pm", -"ox.rs", -"oy.lc", -"pgfog.com", -"pagefrontapp.com", -"art.pl", -"gliwice.pl", -"krakow.pl", -"poznan.pl", -"wroc.pl", -"zakopane.pl", -"pantheonsite.io", -"gotpantheon.com", -"mypep.link", -"perspecta.cloud", -"on-web.fr", -"*.platform.sh", -"*.platformsh.site", -"dyn53.io", -"co.bn", -"xen.prgmr.com", -"priv.at", -"prvcy.page", -"*.dweb.link", -"protonet.io", -"chirurgiens-dentistes-en-france.fr", -"byen.site", -"pubtls.org", -"qualifioapp.com", -"instantcloud.cn", -"ras.ru", -"qa2.com", -"qcx.io", -"*.sys.qcx.io", -"dev-myqnapcloud.com", -"alpha-myqnapcloud.com", -"myqnapcloud.com", -"*.quipelements.com", -"vapor.cloud", -"vaporcloud.io", -"rackmaze.com", -"rackmaze.net", -"*.on-k3s.io", -"*.on-rancher.cloud", -"*.on-rio.io", -"readthedocs.io", -"rhcloud.com", -"app.render.com", -"onrender.com", -"repl.co", -"repl.run", -"resindevice.io", -"devices.resinstaging.io", -"hzc.io", -"wellbeingzone.eu", -"ptplus.fit", -"wellbeingzone.co.uk", -"git-pages.rit.edu", -"sandcats.io", -"logoip.de", -"logoip.com", -"schokokeks.net", -"gov.scot", -"scrysec.com", -"firewall-gateway.com", -"firewall-gateway.de", -"my-gateway.de", -"my-router.de", -"spdns.de", -"spdns.eu", -"firewall-gateway.net", -"my-firewall.org", -"myfirewall.org", -"spdns.org", -"biz.ua", -"co.ua", -"pp.ua", -"shiftedit.io", -"myshopblocks.com", -"shopitsite.com", -"mo-siemens.io", -"1kapp.com", -"appchizi.com", -"applinzi.com", -"sinaapp.com", -"vipsinaapp.com", -"siteleaf.net", -"bounty-full.com", -"alpha.bounty-full.com", -"beta.bounty-full.com", -"stackhero-network.com", -"static.land", -"dev.static.land", -"sites.static.land", -"apps.lair.io", -"*.stolos.io", -"spacekit.io", -"customer.speedpartner.de", -"api.stdlib.com", -"storj.farm", -"utwente.io", -"soc.srcf.net", -"user.srcf.net", -"temp-dns.com", -"applicationcloud.io", -"scapp.io", -"*.s5y.io", -"*.sensiosite.cloud", -"syncloud.it", -"diskstation.me", -"dscloud.biz", -"dscloud.me", -"dscloud.mobi", -"dsmynas.com", -"dsmynas.net", -"dsmynas.org", -"familyds.com", -"familyds.net", -"familyds.org", -"i234.me", -"myds.me", -"synology.me", -"vpnplus.to", -"direct.quickconnect.to", -"taifun-dns.de", -"gda.pl", -"gdansk.pl", -"gdynia.pl", -"med.pl", -"sopot.pl", -"edugit.org", -"telebit.app", -"telebit.io", -"*.telebit.xyz", -"gwiddle.co.uk", -"thingdustdata.com", -"cust.dev.thingdust.io", -"cust.disrec.thingdust.io", -"cust.prod.thingdust.io", -"cust.testing.thingdust.io", -"arvo.network", -"azimuth.network", -"bloxcms.com", -"townnews-staging.com", -"12hp.at", -"2ix.at", -"4lima.at", -"lima-city.at", -"12hp.ch", -"2ix.ch", -"4lima.ch", -"lima-city.ch", -"trafficplex.cloud", -"de.cool", -"12hp.de", -"2ix.de", -"4lima.de", -"lima-city.de", -"1337.pictures", -"clan.rip", -"lima-city.rocks", -"webspace.rocks", -"lima.zone", -"*.transurl.be", -"*.transurl.eu", -"*.transurl.nl", -"tuxfamily.org", -"dd-dns.de", -"diskstation.eu", -"diskstation.org", -"dray-dns.de", -"draydns.de", -"dyn-vpn.de", -"dynvpn.de", -"mein-vigor.de", -"my-vigor.de", -"my-wan.de", -"syno-ds.de", -"synology-diskstation.de", -"synology-ds.de", -"uber.space", -"*.uberspace.de", -"hk.com", -"hk.org", -"ltd.hk", -"inc.hk", -"virtualuser.de", -"virtual-user.de", -"lib.de.us", -"2038.io", -"router.management", -"v-info.info", -"voorloper.cloud", -"wafflecell.com", -"*.webhare.dev", -"wedeploy.io", -"wedeploy.me", -"wedeploy.sh", -"remotewd.com", -"wmflabs.org", -"half.host", -"xnbay.com", -"u2.xnbay.com", -"u2-local.xnbay.com", -"cistron.nl", -"demon.nl", -"xs4all.space", -"yandexcloud.net", -"storage.yandexcloud.net", -"website.yandexcloud.net", -"official.academy", -"yolasite.com", -"ybo.faith", -"yombo.me", -"homelink.one", -"ybo.party", -"ybo.review", -"ybo.science", -"ybo.trade", -"nohost.me", -"noho.st", -"za.net", -"za.org", -"now.sh", -"bss.design", -"basicserver.io", -"virtualserver.io", -"site.builder.nu", -"enterprisecloud.nu" -] \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.js b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.js deleted file mode 100644 index 459b035..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.js +++ /dev/null @@ -1,9618 +0,0 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.psl = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i= punySuffix.length) { - // return memo; - // } - //} - return rule; - }, null); -}; - - -// -// Error codes and messages. -// -exports.errorCodes = { - DOMAIN_TOO_SHORT: 'Domain name too short.', - DOMAIN_TOO_LONG: 'Domain name too long. It should be no more than 255 chars.', - LABEL_STARTS_WITH_DASH: 'Domain name label can not start with a dash.', - LABEL_ENDS_WITH_DASH: 'Domain name label can not end with a dash.', - LABEL_TOO_LONG: 'Domain name label should be at most 63 chars long.', - LABEL_TOO_SHORT: 'Domain name label should be at least 1 character long.', - LABEL_INVALID_CHARS: 'Domain name label can only contain alphanumeric characters or dashes.' -}; - - -// -// Validate domain name and throw if not valid. -// -// From wikipedia: -// -// Hostnames are composed of series of labels concatenated with dots, as are all -// domain names. Each label must be between 1 and 63 characters long, and the -// entire hostname (including the delimiting dots) has a maximum of 255 chars. -// -// Allowed chars: -// -// * `a-z` -// * `0-9` -// * `-` but not as a starting or ending character -// * `.` as a separator for the textual portions of a domain name -// -// * http://en.wikipedia.org/wiki/Domain_name -// * http://en.wikipedia.org/wiki/Hostname -// -internals.validate = function (input) { - - // Before we can validate we need to take care of IDNs with unicode chars. - var ascii = Punycode.toASCII(input); - - if (ascii.length < 1) { - return 'DOMAIN_TOO_SHORT'; - } - if (ascii.length > 255) { - return 'DOMAIN_TOO_LONG'; - } - - // Check each part's length and allowed chars. - var labels = ascii.split('.'); - var label; - - for (var i = 0; i < labels.length; ++i) { - label = labels[i]; - if (!label.length) { - return 'LABEL_TOO_SHORT'; - } - if (label.length > 63) { - return 'LABEL_TOO_LONG'; - } - if (label.charAt(0) === '-') { - return 'LABEL_STARTS_WITH_DASH'; - } - if (label.charAt(label.length - 1) === '-') { - return 'LABEL_ENDS_WITH_DASH'; - } - if (!/^[a-z0-9\-]+$/.test(label)) { - return 'LABEL_INVALID_CHARS'; - } - } -}; - - -// -// Public API -// - - -// -// Parse domain. -// -exports.parse = function (input) { - - if (typeof input !== 'string') { - throw new TypeError('Domain name must be a string.'); - } - - // Force domain to lowercase. - var domain = input.slice(0).toLowerCase(); - - // Handle FQDN. - // TODO: Simply remove trailing dot? - if (domain.charAt(domain.length - 1) === '.') { - domain = domain.slice(0, domain.length - 1); - } - - // Validate and sanitise input. - var error = internals.validate(domain); - if (error) { - return { - input: input, - error: { - message: exports.errorCodes[error], - code: error - } - }; - } - - var parsed = { - input: input, - tld: null, - sld: null, - domain: null, - subdomain: null, - listed: false - }; - - var domainParts = domain.split('.'); - - // Non-Internet TLD - if (domainParts[domainParts.length - 1] === 'local') { - return parsed; - } - - var handlePunycode = function () { - - if (!/xn--/.test(domain)) { - return parsed; - } - if (parsed.domain) { - parsed.domain = Punycode.toASCII(parsed.domain); - } - if (parsed.subdomain) { - parsed.subdomain = Punycode.toASCII(parsed.subdomain); - } - return parsed; - }; - - var rule = internals.findRule(domain); - - // Unlisted tld. - if (!rule) { - if (domainParts.length < 2) { - return parsed; - } - parsed.tld = domainParts.pop(); - parsed.sld = domainParts.pop(); - parsed.domain = [parsed.sld, parsed.tld].join('.'); - if (domainParts.length) { - parsed.subdomain = domainParts.pop(); - } - return handlePunycode(); - } - - // At this point we know the public suffix is listed. - parsed.listed = true; - - var tldParts = rule.suffix.split('.'); - var privateParts = domainParts.slice(0, domainParts.length - tldParts.length); - - if (rule.exception) { - privateParts.push(tldParts.shift()); - } - - parsed.tld = tldParts.join('.'); - - if (!privateParts.length) { - return handlePunycode(); - } - - if (rule.wildcard) { - tldParts.unshift(privateParts.pop()); - parsed.tld = tldParts.join('.'); - } - - if (!privateParts.length) { - return handlePunycode(); - } - - parsed.sld = privateParts.pop(); - parsed.domain = [parsed.sld, parsed.tld].join('.'); - - if (privateParts.length) { - parsed.subdomain = privateParts.join('.'); - } - - return handlePunycode(); -}; - - -// -// Get domain. -// -exports.get = function (domain) { - - if (!domain) { - return null; - } - return exports.parse(domain).domain || null; -}; - - -// -// Check whether domain belongs to a known public suffix. -// -exports.isValid = function (domain) { - - var parsed = exports.parse(domain); - return Boolean(parsed.domain && parsed.listed); -}; - -},{"./data/rules.json":1,"punycode":3}],3:[function(require,module,exports){ -(function (global){ -/*! https://mths.be/punycode v1.4.1 by @mathias */ -;(function(root) { - - /** Detect free variables */ - var freeExports = typeof exports == 'object' && exports && - !exports.nodeType && exports; - var freeModule = typeof module == 'object' && module && - !module.nodeType && module; - var freeGlobal = typeof global == 'object' && global; - if ( - freeGlobal.global === freeGlobal || - freeGlobal.window === freeGlobal || - freeGlobal.self === freeGlobal - ) { - root = freeGlobal; - } - - /** - * The `punycode` object. - * @name punycode - * @type Object - */ - var punycode, - - /** Highest positive signed 32-bit float value */ - maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 - - /** Bootstring parameters */ - base = 36, - tMin = 1, - tMax = 26, - skew = 38, - damp = 700, - initialBias = 72, - initialN = 128, // 0x80 - delimiter = '-', // '\x2D' - - /** Regular expressions */ - regexPunycode = /^xn--/, - regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars - regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators - - /** Error messages */ - errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' - }, - - /** Convenience shortcuts */ - baseMinusTMin = base - tMin, - floor = Math.floor, - stringFromCharCode = String.fromCharCode, - - /** Temporary variable */ - key; - - /*--------------------------------------------------------------------------*/ - - /** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ - function error(type) { - throw new RangeError(errors[type]); - } - - /** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ - function map(array, fn) { - var length = array.length; - var result = []; - while (length--) { - result[length] = fn(array[length]); - } - return result; - } - - /** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ - function mapDomain(string, fn) { - var parts = string.split('@'); - var result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - var labels = string.split('.'); - var encoded = map(labels, fn).join('.'); - return result + encoded; - } - - /** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ - function ucs2decode(string) { - var output = [], - counter = 0, - length = string.length, - value, - extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // high surrogate, and there is a next character - extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { // low surrogate - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // unmatched surrogate; only append this code unit, in case the next - // code unit is the high surrogate of a surrogate pair - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - - /** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ - function ucs2encode(array) { - return map(array, function(value) { - var output = ''; - if (value > 0xFFFF) { - value -= 0x10000; - output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); - value = 0xDC00 | value & 0x3FF; - } - output += stringFromCharCode(value); - return output; - }).join(''); - } - - /** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ - function basicToDigit(codePoint) { - if (codePoint - 48 < 10) { - return codePoint - 22; - } - if (codePoint - 65 < 26) { - return codePoint - 65; - } - if (codePoint - 97 < 26) { - return codePoint - 97; - } - return base; - } - - /** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ - function digitToBasic(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); - } - - /** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ - function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); - } - - /** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ - function decode(input) { - // Don't use UCS-2 - var output = [], - inputLength = input.length, - out, - i = 0, - n = initialN, - bias = initialBias, - basic, - j, - index, - oldi, - w, - k, - digit, - t, - /** Cached calculation results */ - baseMinusT; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - for (oldi = i, w = 1, k = base; /* no condition */; k += base) { - - if (index >= inputLength) { - error('invalid-input'); - } - - digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error('overflow'); - } - - i += digit * w; - t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - - if (digit < t) { - break; - } - - baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error('overflow'); - } - - w *= baseMinusT; - - } - - out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output - output.splice(i++, 0, n); - - } - - return ucs2encode(output); - } - - /** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ - function encode(input) { - var n, - delta, - handledCPCount, - basicLength, - bias, - j, - m, - q, - k, - t, - currentValue, - output = [], - /** `inputLength` will hold the number of code points in `input`. */ - inputLength, - /** Cached calculation results */ - handledCPCountPlusOne, - baseMinusT, - qMinusT; - - // Convert the input in UCS-2 to Unicode - input = ucs2decode(input); - - // Cache the length - inputLength = input.length; - - // Initialize the state - n = initialN; - delta = 0; - bias = initialBias; - - // Handle the basic code points - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - handledCPCount = basicLength = output.length; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string - if it is not empty - with a delimiter - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - for (m = maxInt, j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow - handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } - - if (currentValue == n) { - // Represent delta as a generalized variable-length integer - for (q = delta, k = base; /* no condition */; k += base) { - t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - if (q < t) { - break; - } - qMinusT = q - t; - baseMinusT = base - t; - output.push( - stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) - ); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - - } - return output.join(''); - } - - /** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ - function toUnicode(input) { - return mapDomain(input, function(string) { - return regexPunycode.test(string) - ? decode(string.slice(4).toLowerCase()) - : string; - }); - } - - /** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ - function toASCII(input) { - return mapDomain(input, function(string) { - return regexNonASCII.test(string) - ? 'xn--' + encode(string) - : string; - }); - } - - /*--------------------------------------------------------------------------*/ - - /** Define the public API */ - punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '1.4.1', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode - }; - - /** Expose `punycode` */ - // Some AMD build optimizers, like r.js, check for specific condition patterns - // like the following: - if ( - typeof define == 'function' && - typeof define.amd == 'object' && - define.amd - ) { - define('punycode', function() { - return punycode; - }); - } else if (freeExports && freeModule) { - if (module.exports == freeExports) { - // in Node.js, io.js, or RingoJS v0.8.0+ - freeModule.exports = punycode; - } else { - // in Narwhal or RingoJS v0.7.0- - for (key in punycode) { - punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); - } - } - } else { - // in Rhino or a web browser - root.punycode = punycode; - } - -}(this)); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}]},{},[2])(2) -}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.min.js b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.min.js deleted file mode 100644 index 77e6025..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/dist/psl.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).psl=a()}}(function(){return function s(m,t,u){function r(o,a){if(!t[o]){if(!m[o]){var i="function"==typeof require&&require;if(!a&&i)return i(o,!0);if(p)return p(o,!0);var e=new Error("Cannot find module '"+o+"'");throw e.code="MODULE_NOT_FOUND",e}var n=t[o]={exports:{}};m[o][0].call(n.exports,function(a){return r(m[o][1][a]||a)},n,n.exports,s,m,t,u)}return t[o].exports}for(var p="function"==typeof require&&require,a=0;a= 0x80 (not a basic code point)","invalid-input":"Invalid input"},c=b-y,x=Math.floor,q=String.fromCharCode;function A(a){throw new RangeError(k[a])}function l(a,o){for(var i=a.length,e=[];i--;)e[i]=o(a[i]);return e}function g(a,o){var i=a.split("@"),e="";return 1>>10&1023|55296),a=56320|1023&a),o+=q(a)}).join("")}function L(a,o){return a+22+75*(a<26)-((0!=o)<<5)}function I(a,o,i){var e=0;for(a=i?x(a/t):a>>1,a+=x(a/o);c*f>>1x((d-g)/m))&&A("overflow"),g+=u*m,!(u<(r=t<=j?y:j+f<=t?f:t-j));t+=b)m>x(d/(p=b-r))&&A("overflow"),m*=p;j=I(g-s,o=c.length+1,0==s),x(g/o)>d-h&&A("overflow"),h+=x(g/o),g%=o,c.splice(g++,0,h)}return _(c)}function j(a){var o,i,e,n,s,m,t,u,r,p,k,c,l,g,h,j=[];for(c=(a=O(a)).length,o=w,s=v,m=i=0;mx((d-i)/(l=e+1))&&A("overflow"),i+=(t-o)*l,o=t,m=0;md&&A("overflow"),k==o){for(u=i,r=b;!(u<(p=r<=s?y:s+f<=r?f:r-s));r+=b)h=u-p,g=b-p,j.push(q(L(p+h%g,0))),u=x(h/g);j.push(q(L(u,0))),s=I(i,l,e==n),i=0,++e}++i,++o}return j.join("")}if(n={version:"1.4.1",ucs2:{decode:O,encode:_},decode:h,encode:j,toASCII:function(a){return g(a,function(a){return r.test(a)?"xn--"+j(a):a})},toUnicode:function(a){return g(a,function(a){return u.test(a)?h(a.slice(4).toLowerCase()):a})}},0,o&&i)if(T.exports==o)i.exports=n;else for(s in n)n.hasOwnProperty(s)&&(o[s]=n[s]);else a.punycode=n}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[2])(2)}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/index.js deleted file mode 100644 index da7bc12..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/index.js +++ /dev/null @@ -1,269 +0,0 @@ -/*eslint no-var:0, prefer-arrow-callback: 0, object-shorthand: 0 */ -'use strict'; - - -var Punycode = require('punycode'); - - -var internals = {}; - - -// -// Read rules from file. -// -internals.rules = require('./data/rules.json').map(function (rule) { - - return { - rule: rule, - suffix: rule.replace(/^(\*\.|\!)/, ''), - punySuffix: -1, - wildcard: rule.charAt(0) === '*', - exception: rule.charAt(0) === '!' - }; -}); - - -// -// Check is given string ends with `suffix`. -// -internals.endsWith = function (str, suffix) { - - return str.indexOf(suffix, str.length - suffix.length) !== -1; -}; - - -// -// Find rule for a given domain. -// -internals.findRule = function (domain) { - - var punyDomain = Punycode.toASCII(domain); - return internals.rules.reduce(function (memo, rule) { - - if (rule.punySuffix === -1){ - rule.punySuffix = Punycode.toASCII(rule.suffix); - } - if (!internals.endsWith(punyDomain, '.' + rule.punySuffix) && punyDomain !== rule.punySuffix) { - return memo; - } - // This has been commented out as it never seems to run. This is because - // sub tlds always appear after their parents and we never find a shorter - // match. - //if (memo) { - // var memoSuffix = Punycode.toASCII(memo.suffix); - // if (memoSuffix.length >= punySuffix.length) { - // return memo; - // } - //} - return rule; - }, null); -}; - - -// -// Error codes and messages. -// -exports.errorCodes = { - DOMAIN_TOO_SHORT: 'Domain name too short.', - DOMAIN_TOO_LONG: 'Domain name too long. It should be no more than 255 chars.', - LABEL_STARTS_WITH_DASH: 'Domain name label can not start with a dash.', - LABEL_ENDS_WITH_DASH: 'Domain name label can not end with a dash.', - LABEL_TOO_LONG: 'Domain name label should be at most 63 chars long.', - LABEL_TOO_SHORT: 'Domain name label should be at least 1 character long.', - LABEL_INVALID_CHARS: 'Domain name label can only contain alphanumeric characters or dashes.' -}; - - -// -// Validate domain name and throw if not valid. -// -// From wikipedia: -// -// Hostnames are composed of series of labels concatenated with dots, as are all -// domain names. Each label must be between 1 and 63 characters long, and the -// entire hostname (including the delimiting dots) has a maximum of 255 chars. -// -// Allowed chars: -// -// * `a-z` -// * `0-9` -// * `-` but not as a starting or ending character -// * `.` as a separator for the textual portions of a domain name -// -// * http://en.wikipedia.org/wiki/Domain_name -// * http://en.wikipedia.org/wiki/Hostname -// -internals.validate = function (input) { - - // Before we can validate we need to take care of IDNs with unicode chars. - var ascii = Punycode.toASCII(input); - - if (ascii.length < 1) { - return 'DOMAIN_TOO_SHORT'; - } - if (ascii.length > 255) { - return 'DOMAIN_TOO_LONG'; - } - - // Check each part's length and allowed chars. - var labels = ascii.split('.'); - var label; - - for (var i = 0; i < labels.length; ++i) { - label = labels[i]; - if (!label.length) { - return 'LABEL_TOO_SHORT'; - } - if (label.length > 63) { - return 'LABEL_TOO_LONG'; - } - if (label.charAt(0) === '-') { - return 'LABEL_STARTS_WITH_DASH'; - } - if (label.charAt(label.length - 1) === '-') { - return 'LABEL_ENDS_WITH_DASH'; - } - if (!/^[a-z0-9\-]+$/.test(label)) { - return 'LABEL_INVALID_CHARS'; - } - } -}; - - -// -// Public API -// - - -// -// Parse domain. -// -exports.parse = function (input) { - - if (typeof input !== 'string') { - throw new TypeError('Domain name must be a string.'); - } - - // Force domain to lowercase. - var domain = input.slice(0).toLowerCase(); - - // Handle FQDN. - // TODO: Simply remove trailing dot? - if (domain.charAt(domain.length - 1) === '.') { - domain = domain.slice(0, domain.length - 1); - } - - // Validate and sanitise input. - var error = internals.validate(domain); - if (error) { - return { - input: input, - error: { - message: exports.errorCodes[error], - code: error - } - }; - } - - var parsed = { - input: input, - tld: null, - sld: null, - domain: null, - subdomain: null, - listed: false - }; - - var domainParts = domain.split('.'); - - // Non-Internet TLD - if (domainParts[domainParts.length - 1] === 'local') { - return parsed; - } - - var handlePunycode = function () { - - if (!/xn--/.test(domain)) { - return parsed; - } - if (parsed.domain) { - parsed.domain = Punycode.toASCII(parsed.domain); - } - if (parsed.subdomain) { - parsed.subdomain = Punycode.toASCII(parsed.subdomain); - } - return parsed; - }; - - var rule = internals.findRule(domain); - - // Unlisted tld. - if (!rule) { - if (domainParts.length < 2) { - return parsed; - } - parsed.tld = domainParts.pop(); - parsed.sld = domainParts.pop(); - parsed.domain = [parsed.sld, parsed.tld].join('.'); - if (domainParts.length) { - parsed.subdomain = domainParts.pop(); - } - return handlePunycode(); - } - - // At this point we know the public suffix is listed. - parsed.listed = true; - - var tldParts = rule.suffix.split('.'); - var privateParts = domainParts.slice(0, domainParts.length - tldParts.length); - - if (rule.exception) { - privateParts.push(tldParts.shift()); - } - - parsed.tld = tldParts.join('.'); - - if (!privateParts.length) { - return handlePunycode(); - } - - if (rule.wildcard) { - tldParts.unshift(privateParts.pop()); - parsed.tld = tldParts.join('.'); - } - - if (!privateParts.length) { - return handlePunycode(); - } - - parsed.sld = privateParts.pop(); - parsed.domain = [parsed.sld, parsed.tld].join('.'); - - if (privateParts.length) { - parsed.subdomain = privateParts.join('.'); - } - - return handlePunycode(); -}; - - -// -// Get domain. -// -exports.get = function (domain) { - - if (!domain) { - return null; - } - return exports.parse(domain).domain || null; -}; - - -// -// Check whether domain belongs to a known public suffix. -// -exports.isValid = function (domain) { - - var parsed = exports.parse(domain); - return Boolean(parsed.domain && parsed.listed); -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/psl/package.json deleted file mode 100644 index dc07a8a..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/psl/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "_from": "psl@^1.1.28", - "_id": "psl@1.6.0", - "_inBundle": false, - "_integrity": "sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==", - "_location": "/psl", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "psl@^1.1.28", - "name": "psl", - "escapedName": "psl", - "rawSpec": "^1.1.28", - "saveSpec": null, - "fetchSpec": "^1.1.28" - }, - "_requiredBy": [ - "/tough-cookie" - ], - "_resolved": "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz", - "_shasum": "60557582ee23b6c43719d9890fb4170ecd91e110", - "_spec": "psl@^1.1.28", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\tough-cookie", - "author": { - "name": "Lupo Montero", - "email": "lupomontero@gmail.com", - "url": "https://lupomontero.com/" - }, - "bugs": { - "url": "https://github.com/lupomontero/psl/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Domain name parser based on the Public Suffix List", - "devDependencies": { - "JSONStream": "^1.3.5", - "browserify": "^16.5.0", - "commit-and-pr": "^1.0.4", - "eslint": "^6.7.2", - "eslint-config-hapi": "^12.0.0", - "eslint-plugin-hapi": "^4.1.0", - "karma": "^4.4.1", - "karma-browserify": "^6.1.0", - "karma-mocha": "^1.3.0", - "karma-mocha-reporter": "^2.2.5", - "karma-phantomjs-launcher": "^1.0.4", - "mocha": "^6.2.2", - "phantomjs-prebuilt": "^2.1.16", - "request": "^2.88.0", - "uglify-js": "^3.7.1", - "watchify": "^3.11.1" - }, - "homepage": "https://github.com/lupomontero/psl#readme", - "keywords": [ - "publicsuffix", - "publicsuffixlist" - ], - "license": "MIT", - "main": "index.js", - "name": "psl", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/lupomontero/psl.git" - }, - "scripts": { - "build": "browserify ./index.js --standalone=psl > ./dist/psl.js", - "changelog": "git log $(git describe --tags --abbrev=0)..HEAD --oneline --format=\"%h %s (%an <%ae>)\"", - "commit-and-pr": "commit-and-pr", - "postbuild": "cat ./dist/psl.js | uglifyjs -c -m > ./dist/psl.min.js", - "prebuild": "./scripts/update-rules.js", - "pretest": "eslint .", - "test": "mocha test && karma start ./karma.conf.js --single-run", - "watch": "mocha test --watch" - }, - "version": "1.6.0" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/LICENSE-MIT.txt b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/LICENSE-MIT.txt deleted file mode 100644 index a41e0a7..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/LICENSE-MIT.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright Mathias Bynens - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/README.md deleted file mode 100644 index ee2f9d6..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/README.md +++ /dev/null @@ -1,122 +0,0 @@ -# Punycode.js [![Build status](https://travis-ci.org/bestiejs/punycode.js.svg?branch=master)](https://travis-ci.org/bestiejs/punycode.js) [![Code coverage status](http://img.shields.io/codecov/c/github/bestiejs/punycode.js.svg)](https://codecov.io/gh/bestiejs/punycode.js) [![Dependency status](https://gemnasium.com/bestiejs/punycode.js.svg)](https://gemnasium.com/bestiejs/punycode.js) - -Punycode.js is a robust Punycode converter that fully complies to [RFC 3492](https://tools.ietf.org/html/rfc3492) and [RFC 5891](https://tools.ietf.org/html/rfc5891). - -This JavaScript library is the result of comparing, optimizing and documenting different open-source implementations of the Punycode algorithm: - -* [The C example code from RFC 3492](https://tools.ietf.org/html/rfc3492#appendix-C) -* [`punycode.c` by _Markus W. Scherer_ (IBM)](http://opensource.apple.com/source/ICU/ICU-400.42/icuSources/common/punycode.c) -* [`punycode.c` by _Ben Noordhuis_](https://github.com/bnoordhuis/punycode/blob/master/punycode.c) -* [JavaScript implementation by _some_](http://stackoverflow.com/questions/183485/can-anyone-recommend-a-good-free-javascript-for-punycode-to-unicode-conversion/301287#301287) -* [`punycode.js` by _Ben Noordhuis_](https://github.com/joyent/node/blob/426298c8c1c0d5b5224ac3658c41e7c2a3fe9377/lib/punycode.js) (note: [not fully compliant](https://github.com/joyent/node/issues/2072)) - -This project was [bundled](https://github.com/joyent/node/blob/master/lib/punycode.js) with Node.js from [v0.6.2+](https://github.com/joyent/node/compare/975f1930b1...61e796decc) until [v7](https://github.com/nodejs/node/pull/7941) (soft-deprecated). - -The current version supports recent versions of Node.js only. It provides a CommonJS module and an ES6 module. For the old version that offers the same functionality with broader support, including Rhino, Ringo, Narwhal, and web browsers, see [v1.4.1](https://github.com/bestiejs/punycode.js/releases/tag/v1.4.1). - -## Installation - -Via [npm](https://www.npmjs.com/): - -```bash -npm install punycode --save -``` - -In [Node.js](https://nodejs.org/): - -```js -const punycode = require('punycode'); -``` - -## API - -### `punycode.decode(string)` - -Converts a Punycode string of ASCII symbols to a string of Unicode symbols. - -```js -// decode domain name parts -punycode.decode('maana-pta'); // 'mañana' -punycode.decode('--dqo34k'); // '☃-⌘' -``` - -### `punycode.encode(string)` - -Converts a string of Unicode symbols to a Punycode string of ASCII symbols. - -```js -// encode domain name parts -punycode.encode('mañana'); // 'maana-pta' -punycode.encode('☃-⌘'); // '--dqo34k' -``` - -### `punycode.toUnicode(input)` - -Converts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode. - -```js -// decode domain names -punycode.toUnicode('xn--maana-pta.com'); -// → 'mañana.com' -punycode.toUnicode('xn----dqo34k.com'); -// → '☃-⌘.com' - -// decode email addresses -punycode.toUnicode('джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq'); -// → 'джумла@джpумлатеÑÑ‚.bрфa' -``` - -### `punycode.toASCII(input)` - -Converts a lowercased Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that’s already in ASCII. - -```js -// encode domain names -punycode.toASCII('mañana.com'); -// → 'xn--maana-pta.com' -punycode.toASCII('☃-⌘.com'); -// → 'xn----dqo34k.com' - -// encode email addresses -punycode.toASCII('джумла@джpумлатеÑÑ‚.bрфa'); -// → 'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq' -``` - -### `punycode.ucs2` - -#### `punycode.ucs2.decode(string)` - -Creates an array containing the numeric code point values of each Unicode symbol in the string. While [JavaScript uses UCS-2 internally](https://mathiasbynens.be/notes/javascript-encoding), this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16. - -```js -punycode.ucs2.decode('abc'); -// → [0x61, 0x62, 0x63] -// surrogate pair for U+1D306 TETRAGRAM FOR CENTRE: -punycode.ucs2.decode('\uD834\uDF06'); -// → [0x1D306] -``` - -#### `punycode.ucs2.encode(codePoints)` - -Creates a string based on an array of numeric code point values. - -```js -punycode.ucs2.encode([0x61, 0x62, 0x63]); -// → 'abc' -punycode.ucs2.encode([0x1D306]); -// → '\uD834\uDF06' -``` - -### `punycode.version` - -A string representing the current Punycode.js version number. - -## Author - -| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") | -|---| -| [Mathias Bynens](https://mathiasbynens.be/) | - -## License - -Punycode.js is available under the [MIT](https://mths.be/mit) license. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/package.json deleted file mode 100644 index f573f2d..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "_from": "punycode@^2.1.1", - "_id": "punycode@2.1.1", - "_inBundle": false, - "_integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "_location": "/punycode", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "punycode@^2.1.1", - "name": "punycode", - "escapedName": "punycode", - "rawSpec": "^2.1.1", - "saveSpec": null, - "fetchSpec": "^2.1.1" - }, - "_requiredBy": [ - "/tough-cookie" - ], - "_resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "_shasum": "b58b010ac40c22c5657616c8d2c2c02c7bf479ec", - "_spec": "punycode@^2.1.1", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\tough-cookie", - "author": { - "name": "Mathias Bynens", - "url": "https://mathiasbynens.be/" - }, - "bugs": { - "url": "https://github.com/bestiejs/punycode.js/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Mathias Bynens", - "url": "https://mathiasbynens.be/" - } - ], - "deprecated": false, - "description": "A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.", - "devDependencies": { - "codecov": "^1.0.1", - "istanbul": "^0.4.1", - "mocha": "^2.5.3" - }, - "engines": { - "node": ">=6" - }, - "files": [ - "LICENSE-MIT.txt", - "punycode.js", - "punycode.es6.js" - ], - "homepage": "https://mths.be/punycode", - "jsnext:main": "punycode.es6.js", - "jspm": { - "map": { - "./punycode.js": { - "node": "@node/punycode" - } - } - }, - "keywords": [ - "punycode", - "unicode", - "idn", - "idna", - "dns", - "url", - "domain" - ], - "license": "MIT", - "main": "punycode.js", - "module": "punycode.es6.js", - "name": "punycode", - "repository": { - "type": "git", - "url": "git+https://github.com/bestiejs/punycode.js.git" - }, - "scripts": { - "prepublish": "node scripts/prepublish.js", - "test": "mocha tests" - }, - "version": "2.1.1" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.es6.js b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.es6.js deleted file mode 100644 index 4610bc9..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.es6.js +++ /dev/null @@ -1,441 +0,0 @@ -'use strict'; - -/** Highest positive signed 32-bit float value */ -const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 - -/** Bootstring parameters */ -const base = 36; -const tMin = 1; -const tMax = 26; -const skew = 38; -const damp = 700; -const initialBias = 72; -const initialN = 128; // 0x80 -const delimiter = '-'; // '\x2D' - -/** Regular expressions */ -const regexPunycode = /^xn--/; -const regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars -const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators - -/** Error messages */ -const errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' -}; - -/** Convenience shortcuts */ -const baseMinusTMin = base - tMin; -const floor = Math.floor; -const stringFromCharCode = String.fromCharCode; - -/*--------------------------------------------------------------------------*/ - -/** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ -function error(type) { - throw new RangeError(errors[type]); -} - -/** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ -function map(array, fn) { - const result = []; - let length = array.length; - while (length--) { - result[length] = fn(array[length]); - } - return result; -} - -/** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ -function mapDomain(string, fn) { - const parts = string.split('@'); - let result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - const labels = string.split('.'); - const encoded = map(labels, fn).join('.'); - return result + encoded; -} - -/** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ -function ucs2decode(string) { - const output = []; - let counter = 0; - const length = string.length; - while (counter < length) { - const value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // It's a high surrogate, and there is a next character. - const extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // It's an unmatched surrogate; only append this code unit, in case the - // next code unit is the high surrogate of a surrogate pair. - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; -} - -/** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ -const ucs2encode = array => String.fromCodePoint(...array); - -/** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ -const basicToDigit = function(codePoint) { - if (codePoint - 0x30 < 0x0A) { - return codePoint - 0x16; - } - if (codePoint - 0x41 < 0x1A) { - return codePoint - 0x41; - } - if (codePoint - 0x61 < 0x1A) { - return codePoint - 0x61; - } - return base; -}; - -/** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ -const digitToBasic = function(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); -}; - -/** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ -const adapt = function(delta, numPoints, firstTime) { - let k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); -}; - -/** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ -const decode = function(input) { - // Don't use UCS-2. - const output = []; - const inputLength = input.length; - let i = 0; - let n = initialN; - let bias = initialBias; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - let basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (let j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - let oldi = i; - for (let w = 1, k = base; /* no condition */; k += base) { - - if (index >= inputLength) { - error('invalid-input'); - } - - const digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error('overflow'); - } - - i += digit * w; - const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - - if (digit < t) { - break; - } - - const baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error('overflow'); - } - - w *= baseMinusT; - - } - - const out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output. - output.splice(i++, 0, n); - - } - - return String.fromCodePoint(...output); -}; - -/** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ -const encode = function(input) { - const output = []; - - // Convert the input in UCS-2 to an array of Unicode code points. - input = ucs2decode(input); - - // Cache the length. - let inputLength = input.length; - - // Initialize the state. - let n = initialN; - let delta = 0; - let bias = initialBias; - - // Handle the basic code points. - for (const currentValue of input) { - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - let basicLength = output.length; - let handledCPCount = basicLength; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string with a delimiter unless it's empty. - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - let m = maxInt; - for (const currentValue of input) { - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow. - const handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (const currentValue of input) { - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } - if (currentValue == n) { - // Represent delta as a generalized variable-length integer. - let q = delta; - for (let k = base; /* no condition */; k += base) { - const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - if (q < t) { - break; - } - const qMinusT = q - t; - const baseMinusT = base - t; - output.push( - stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) - ); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - - } - return output.join(''); -}; - -/** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ -const toUnicode = function(input) { - return mapDomain(input, function(string) { - return regexPunycode.test(string) - ? decode(string.slice(4).toLowerCase()) - : string; - }); -}; - -/** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ -const toASCII = function(input) { - return mapDomain(input, function(string) { - return regexNonASCII.test(string) - ? 'xn--' + encode(string) - : string; - }); -}; - -/*--------------------------------------------------------------------------*/ - -/** Define the public API */ -const punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '2.1.0', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode -}; - -export { ucs2decode, ucs2encode, decode, encode, toASCII, toUnicode }; -export default punycode; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.js b/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.js deleted file mode 100644 index ea61fd0..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/punycode/punycode.js +++ /dev/null @@ -1,440 +0,0 @@ -'use strict'; - -/** Highest positive signed 32-bit float value */ -const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 - -/** Bootstring parameters */ -const base = 36; -const tMin = 1; -const tMax = 26; -const skew = 38; -const damp = 700; -const initialBias = 72; -const initialN = 128; // 0x80 -const delimiter = '-'; // '\x2D' - -/** Regular expressions */ -const regexPunycode = /^xn--/; -const regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars -const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators - -/** Error messages */ -const errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' -}; - -/** Convenience shortcuts */ -const baseMinusTMin = base - tMin; -const floor = Math.floor; -const stringFromCharCode = String.fromCharCode; - -/*--------------------------------------------------------------------------*/ - -/** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ -function error(type) { - throw new RangeError(errors[type]); -} - -/** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ -function map(array, fn) { - const result = []; - let length = array.length; - while (length--) { - result[length] = fn(array[length]); - } - return result; -} - -/** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ -function mapDomain(string, fn) { - const parts = string.split('@'); - let result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - const labels = string.split('.'); - const encoded = map(labels, fn).join('.'); - return result + encoded; -} - -/** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ -function ucs2decode(string) { - const output = []; - let counter = 0; - const length = string.length; - while (counter < length) { - const value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // It's a high surrogate, and there is a next character. - const extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // It's an unmatched surrogate; only append this code unit, in case the - // next code unit is the high surrogate of a surrogate pair. - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; -} - -/** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ -const ucs2encode = array => String.fromCodePoint(...array); - -/** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ -const basicToDigit = function(codePoint) { - if (codePoint - 0x30 < 0x0A) { - return codePoint - 0x16; - } - if (codePoint - 0x41 < 0x1A) { - return codePoint - 0x41; - } - if (codePoint - 0x61 < 0x1A) { - return codePoint - 0x61; - } - return base; -}; - -/** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ -const digitToBasic = function(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); -}; - -/** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ -const adapt = function(delta, numPoints, firstTime) { - let k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); -}; - -/** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ -const decode = function(input) { - // Don't use UCS-2. - const output = []; - const inputLength = input.length; - let i = 0; - let n = initialN; - let bias = initialBias; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - let basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (let j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - let oldi = i; - for (let w = 1, k = base; /* no condition */; k += base) { - - if (index >= inputLength) { - error('invalid-input'); - } - - const digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error('overflow'); - } - - i += digit * w; - const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - - if (digit < t) { - break; - } - - const baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error('overflow'); - } - - w *= baseMinusT; - - } - - const out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output. - output.splice(i++, 0, n); - - } - - return String.fromCodePoint(...output); -}; - -/** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ -const encode = function(input) { - const output = []; - - // Convert the input in UCS-2 to an array of Unicode code points. - input = ucs2decode(input); - - // Cache the length. - let inputLength = input.length; - - // Initialize the state. - let n = initialN; - let delta = 0; - let bias = initialBias; - - // Handle the basic code points. - for (const currentValue of input) { - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - let basicLength = output.length; - let handledCPCount = basicLength; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string with a delimiter unless it's empty. - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - let m = maxInt; - for (const currentValue of input) { - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow. - const handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (const currentValue of input) { - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } - if (currentValue == n) { - // Represent delta as a generalized variable-length integer. - let q = delta; - for (let k = base; /* no condition */; k += base) { - const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - if (q < t) { - break; - } - const qMinusT = q - t; - const baseMinusT = base - t; - output.push( - stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) - ); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - - } - return output.join(''); -}; - -/** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ -const toUnicode = function(input) { - return mapDomain(input, function(string) { - return regexPunycode.test(string) - ? decode(string.slice(4).toLowerCase()) - : string; - }); -}; - -/** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ -const toASCII = function(input) { - return mapDomain(input, function(string) { - return regexNonASCII.test(string) - ? 'xn--' + encode(string) - : string; - }); -}; - -/*--------------------------------------------------------------------------*/ - -/** Define the public API */ -const punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '2.1.0', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode -}; - -module.exports = punycode; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintignore b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintignore deleted file mode 100644 index 3c3629e..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintrc b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintrc deleted file mode 100644 index 997b3f7..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.jshintrc +++ /dev/null @@ -1,10 +0,0 @@ -{ - "node": true, - - "curly": true, - "latedef": true, - "quotmark": true, - "undef": true, - "unused": true, - "trailing": true -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.npmignore deleted file mode 100644 index 7e1574d..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.npmignore +++ /dev/null @@ -1,18 +0,0 @@ -.idea -*.iml -npm-debug.log -dump.rdb -node_modules -results.tap -results.xml -npm-shrinkwrap.json -config.json -.DS_Store -*/.DS_Store -*/*/.DS_Store -._* -*/._* -*/*/._* -coverage.* -lib-cov -complexity.md diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.travis.yml deleted file mode 100644 index f502178..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: node_js - -node_js: - - 0.10 - - 0.12 - - iojs diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CHANGELOG.md b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CHANGELOG.md deleted file mode 100644 index 378370b..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CHANGELOG.md +++ /dev/null @@ -1,73 +0,0 @@ - -## [**2.4.1**](https://github.com/hapijs/qs/issues?milestone=20&state=closed) -- [**#73**](https://github.com/hapijs/qs/issues/73) Property 'hasOwnProperty' of object # is not a function - -## [**2.4.0**](https://github.com/hapijs/qs/issues?milestone=19&state=closed) -- [**#70**](https://github.com/hapijs/qs/issues/70) Add arrayFormat option - -## [**2.3.3**](https://github.com/hapijs/qs/issues?milestone=18&state=closed) -- [**#59**](https://github.com/hapijs/qs/issues/59) make sure array indexes are >= 0, closes #57 -- [**#58**](https://github.com/hapijs/qs/issues/58) make qs usable for browser loader - -## [**2.3.2**](https://github.com/hapijs/qs/issues?milestone=17&state=closed) -- [**#55**](https://github.com/hapijs/qs/issues/55) allow merging a string into an object - -## [**2.3.1**](https://github.com/hapijs/qs/issues?milestone=16&state=closed) -- [**#52**](https://github.com/hapijs/qs/issues/52) Return "undefined" and "false" instead of throwing "TypeError". - -## [**2.3.0**](https://github.com/hapijs/qs/issues?milestone=15&state=closed) -- [**#50**](https://github.com/hapijs/qs/issues/50) add option to omit array indices, closes #46 - -## [**2.2.5**](https://github.com/hapijs/qs/issues?milestone=14&state=closed) -- [**#39**](https://github.com/hapijs/qs/issues/39) Is there an alternative to Buffer.isBuffer? -- [**#49**](https://github.com/hapijs/qs/issues/49) refactor utils.merge, fixes #45 -- [**#41**](https://github.com/hapijs/qs/issues/41) avoid browserifying Buffer, for #39 - -## [**2.2.4**](https://github.com/hapijs/qs/issues?milestone=13&state=closed) -- [**#38**](https://github.com/hapijs/qs/issues/38) how to handle object keys beginning with a number - -## [**2.2.3**](https://github.com/hapijs/qs/issues?milestone=12&state=closed) -- [**#37**](https://github.com/hapijs/qs/issues/37) parser discards first empty value in array -- [**#36**](https://github.com/hapijs/qs/issues/36) Update to lab 4.x - -## [**2.2.2**](https://github.com/hapijs/qs/issues?milestone=11&state=closed) -- [**#33**](https://github.com/hapijs/qs/issues/33) Error when plain object in a value -- [**#34**](https://github.com/hapijs/qs/issues/34) use Object.prototype.hasOwnProperty.call instead of obj.hasOwnProperty -- [**#24**](https://github.com/hapijs/qs/issues/24) Changelog? Semver? - -## [**2.2.1**](https://github.com/hapijs/qs/issues?milestone=10&state=closed) -- [**#32**](https://github.com/hapijs/qs/issues/32) account for circular references properly, closes #31 -- [**#31**](https://github.com/hapijs/qs/issues/31) qs.parse stackoverflow on circular objects - -## [**2.2.0**](https://github.com/hapijs/qs/issues?milestone=9&state=closed) -- [**#26**](https://github.com/hapijs/qs/issues/26) Don't use Buffer global if it's not present -- [**#30**](https://github.com/hapijs/qs/issues/30) Bug when merging non-object values into arrays -- [**#29**](https://github.com/hapijs/qs/issues/29) Don't call Utils.clone at the top of Utils.merge -- [**#23**](https://github.com/hapijs/qs/issues/23) Ability to not limit parameters? - -## [**2.1.0**](https://github.com/hapijs/qs/issues?milestone=8&state=closed) -- [**#22**](https://github.com/hapijs/qs/issues/22) Enable using a RegExp as delimiter - -## [**2.0.0**](https://github.com/hapijs/qs/issues?milestone=7&state=closed) -- [**#18**](https://github.com/hapijs/qs/issues/18) Why is there arrayLimit? -- [**#20**](https://github.com/hapijs/qs/issues/20) Configurable parametersLimit -- [**#21**](https://github.com/hapijs/qs/issues/21) make all limits optional, for #18, for #20 - -## [**1.2.2**](https://github.com/hapijs/qs/issues?milestone=6&state=closed) -- [**#19**](https://github.com/hapijs/qs/issues/19) Don't overwrite null values - -## [**1.2.1**](https://github.com/hapijs/qs/issues?milestone=5&state=closed) -- [**#16**](https://github.com/hapijs/qs/issues/16) ignore non-string delimiters -- [**#15**](https://github.com/hapijs/qs/issues/15) Close code block - -## [**1.2.0**](https://github.com/hapijs/qs/issues?milestone=4&state=closed) -- [**#12**](https://github.com/hapijs/qs/issues/12) Add optional delim argument -- [**#13**](https://github.com/hapijs/qs/issues/13) fix #11: flattened keys in array are now correctly parsed - -## [**1.1.0**](https://github.com/hapijs/qs/issues?milestone=3&state=closed) -- [**#7**](https://github.com/hapijs/qs/issues/7) Empty values of a POST array disappear after being submitted -- [**#9**](https://github.com/hapijs/qs/issues/9) Should not omit equals signs (=) when value is null -- [**#6**](https://github.com/hapijs/qs/issues/6) Minor grammar fix in README - -## [**1.0.2**](https://github.com/hapijs/qs/issues?milestone=2&state=closed) -- [**#5**](https://github.com/hapijs/qs/issues/5) array holes incorrectly copied into object on large index diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CONTRIBUTING.md b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CONTRIBUTING.md deleted file mode 100644 index 8928361..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/CONTRIBUTING.md +++ /dev/null @@ -1 +0,0 @@ -Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md). diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/LICENSE deleted file mode 100644 index d456948..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2014 Nathan LaFreniere and other contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * The names of any contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - * * * - -The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/Makefile b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/Makefile deleted file mode 100644 index 31cc899..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -test: - @node node_modules/lab/bin/lab -a code -L -test-cov: - @node node_modules/lab/bin/lab -a code -t 100 -L -test-cov-html: - @node node_modules/lab/bin/lab -a code -L -r html -o coverage.html - -.PHONY: test test-cov test-cov-html diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/README.md deleted file mode 100644 index 2d7e7f5..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/README.md +++ /dev/null @@ -1,233 +0,0 @@ -# qs - -A querystring parsing and stringifying library with some added security. - -[![Build Status](https://secure.travis-ci.org/hapijs/qs.svg)](http://travis-ci.org/hapijs/qs) - -Lead Maintainer: [Nathan LaFreniere](https://github.com/nlf) - -The **qs** module was originally created and maintained by [TJ Holowaychuk](https://github.com/visionmedia/node-querystring). - -## Usage - -```javascript -var Qs = require('qs'); - -var obj = Qs.parse('a=c'); // { a: 'c' } -var str = Qs.stringify(obj); // 'a=c' -``` - -### Parsing Objects - -```javascript -Qs.parse(string, [options]); -``` - -**qs** allows you to create nested objects within your query strings, by surrounding the name of sub-keys with square brackets `[]`. -For example, the string `'foo[bar]=baz'` converts to: - -```javascript -{ - foo: { - bar: 'baz' - } -} -``` - -URI encoded strings work too: - -```javascript -Qs.parse('a%5Bb%5D=c'); -// { a: { b: 'c' } } -``` - -You can also nest your objects, like `'foo[bar][baz]=foobarbaz'`: - -```javascript -{ - foo: { - bar: { - baz: 'foobarbaz' - } - } -} -``` - -By default, when nesting objects **qs** will only parse up to 5 children deep. This means if you attempt to parse a string like -`'a[b][c][d][e][f][g][h][i]=j'` your resulting object will be: - -```javascript -{ - a: { - b: { - c: { - d: { - e: { - f: { - '[g][h][i]': 'j' - } - } - } - } - } - } -} -``` - -This depth can be overridden by passing a `depth` option to `Qs.parse(string, [options])`: - -```javascript -Qs.parse('a[b][c][d][e][f][g][h][i]=j', { depth: 1 }); -// { a: { b: { '[c][d][e][f][g][h][i]': 'j' } } } -``` - -The depth limit helps mitigate abuse when **qs** is used to parse user input, and it is recommended to keep it a reasonably small number. - -For similar reasons, by default **qs** will only parse up to 1000 parameters. This can be overridden by passing a `parameterLimit` option: - -```javascript -Qs.parse('a=b&c=d', { parameterLimit: 1 }); -// { a: 'b' } -``` - -An optional delimiter can also be passed: - -```javascript -Qs.parse('a=b;c=d', { delimiter: ';' }); -// { a: 'b', c: 'd' } -``` - -Delimiters can be a regular expression too: - -```javascript -Qs.parse('a=b;c=d,e=f', { delimiter: /[;,]/ }); -// { a: 'b', c: 'd', e: 'f' } -``` - -### Parsing Arrays - -**qs** can also parse arrays using a similar `[]` notation: - -```javascript -Qs.parse('a[]=b&a[]=c'); -// { a: ['b', 'c'] } -``` - -You may specify an index as well: - -```javascript -Qs.parse('a[1]=c&a[0]=b'); -// { a: ['b', 'c'] } -``` - -Note that the only difference between an index in an array and a key in an object is that the value between the brackets must be a number -to create an array. When creating arrays with specific indices, **qs** will compact a sparse array to only the existing values preserving -their order: - -```javascript -Qs.parse('a[1]=b&a[15]=c'); -// { a: ['b', 'c'] } -``` - -Note that an empty string is also a value, and will be preserved: - -```javascript -Qs.parse('a[]=&a[]=b'); -// { a: ['', 'b'] } -Qs.parse('a[0]=b&a[1]=&a[2]=c'); -// { a: ['b', '', 'c'] } -``` - -**qs** will also limit specifying indices in an array to a maximum index of `20`. Any array members with an index of greater than `20` will -instead be converted to an object with the index as the key: - -```javascript -Qs.parse('a[100]=b'); -// { a: { '100': 'b' } } -``` - -This limit can be overridden by passing an `arrayLimit` option: - -```javascript -Qs.parse('a[1]=b', { arrayLimit: 0 }); -// { a: { '1': 'b' } } -``` - -To disable array parsing entirely, set `arrayLimit` to `-1`. - -If you mix notations, **qs** will merge the two items into an object: - -```javascript -Qs.parse('a[0]=b&a[b]=c'); -// { a: { '0': 'b', b: 'c' } } -``` - -You can also create arrays of objects: - -```javascript -Qs.parse('a[][b]=c'); -// { a: [{ b: 'c' }] } -``` - -### Stringifying - -```javascript -Qs.stringify(object, [options]); -``` - -When stringifying, **qs** always URI encodes output. Objects are stringified as you would expect: - -```javascript -Qs.stringify({ a: 'b' }); -// 'a=b' -Qs.stringify({ a: { b: 'c' } }); -// 'a%5Bb%5D=c' -``` - -Examples beyond this point will be shown as though the output is not URI encoded for clarity. Please note that the return values in these cases *will* be URI encoded during real usage. - -When arrays are stringified, by default they are given explicit indices: - -```javascript -Qs.stringify({ a: ['b', 'c', 'd'] }); -// 'a[0]=b&a[1]=c&a[2]=d' -``` - -You may override this by setting the `indices` option to `false`: - -```javascript -Qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false }); -// 'a=b&a=c&a=d' -``` - -You may use the `arrayFormat` option to specify the format of the output array - -```javascript -Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' }) -// 'a[0]=b&a[1]=c' -Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' }) -// 'a[]=b&a[]=c' -Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' }) -// 'a=b&a=c' -``` - -Empty strings and null values will omit the value, but the equals sign (=) remains in place: - -```javascript -Qs.stringify({ a: '' }); -// 'a=' -``` - -Properties that are set to `undefined` will be omitted entirely: - -```javascript -Qs.stringify({ a: null, b: undefined }); -// 'a=' -``` - -The delimiter may be overridden with stringify as well: - -```javascript -Qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' }); -// 'a=b;c=d' -``` diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/index.js deleted file mode 100644 index 2291cd8..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/'); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/index.js deleted file mode 100644 index 0e09493..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/index.js +++ /dev/null @@ -1,15 +0,0 @@ -// Load modules - -var Stringify = require('./stringify'); -var Parse = require('./parse'); - - -// Declare internals - -var internals = {}; - - -module.exports = { - stringify: Stringify, - parse: Parse -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/parse.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/parse.js deleted file mode 100644 index 5c154bb..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/parse.js +++ /dev/null @@ -1,157 +0,0 @@ -// Load modules - -var Utils = require('./utils'); - - -// Declare internals - -var internals = { - delimiter: '&', - depth: 5, - arrayLimit: 20, - parameterLimit: 1000 -}; - - -internals.parseValues = function (str, options) { - - var obj = {}; - var parts = str.split(options.delimiter, options.parameterLimit === Infinity ? undefined : options.parameterLimit); - - for (var i = 0, il = parts.length; i < il; ++i) { - var part = parts[i]; - var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1; - - if (pos === -1) { - obj[Utils.decode(part)] = ''; - } - else { - var key = Utils.decode(part.slice(0, pos)); - var val = Utils.decode(part.slice(pos + 1)); - - if (!Object.prototype.hasOwnProperty.call(obj, key)) { - obj[key] = val; - } - else { - obj[key] = [].concat(obj[key]).concat(val); - } - } - } - - return obj; -}; - - -internals.parseObject = function (chain, val, options) { - - if (!chain.length) { - return val; - } - - var root = chain.shift(); - - var obj = {}; - if (root === '[]') { - obj = []; - obj = obj.concat(internals.parseObject(chain, val, options)); - } - else { - var cleanRoot = root[0] === '[' && root[root.length - 1] === ']' ? root.slice(1, root.length - 1) : root; - var index = parseInt(cleanRoot, 10); - var indexString = '' + index; - if (!isNaN(index) && - root !== cleanRoot && - indexString === cleanRoot && - index >= 0 && - index <= options.arrayLimit) { - - obj = []; - obj[index] = internals.parseObject(chain, val, options); - } - else { - obj[cleanRoot] = internals.parseObject(chain, val, options); - } - } - - return obj; -}; - - -internals.parseKeys = function (key, val, options) { - - if (!key) { - return; - } - - // The regex chunks - - var parent = /^([^\[\]]*)/; - var child = /(\[[^\[\]]*\])/g; - - // Get the parent - - var segment = parent.exec(key); - - // Don't allow them to overwrite object prototype properties - - if (Object.prototype.hasOwnProperty(segment[1])) { - return; - } - - // Stash the parent if it exists - - var keys = []; - if (segment[1]) { - keys.push(segment[1]); - } - - // Loop through children appending to the array until we hit depth - - var i = 0; - while ((segment = child.exec(key)) !== null && i < options.depth) { - - ++i; - if (!Object.prototype.hasOwnProperty(segment[1].replace(/\[|\]/g, ''))) { - keys.push(segment[1]); - } - } - - // If there's a remainder, just add whatever is left - - if (segment) { - keys.push('[' + key.slice(segment.index) + ']'); - } - - return internals.parseObject(keys, val, options); -}; - - -module.exports = function (str, options) { - - if (str === '' || - str === null || - typeof str === 'undefined') { - - return {}; - } - - options = options || {}; - options.delimiter = typeof options.delimiter === 'string' || Utils.isRegExp(options.delimiter) ? options.delimiter : internals.delimiter; - options.depth = typeof options.depth === 'number' ? options.depth : internals.depth; - options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : internals.arrayLimit; - options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : internals.parameterLimit; - - var tempObj = typeof str === 'string' ? internals.parseValues(str, options) : str; - var obj = {}; - - // Iterate over the keys and setup the new object - - var keys = Object.keys(tempObj); - for (var i = 0, il = keys.length; i < il; ++i) { - var key = keys[i]; - var newObj = internals.parseKeys(key, tempObj[key], options); - obj = Utils.merge(obj, newObj); - } - - return Utils.compact(obj); -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/stringify.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/stringify.js deleted file mode 100644 index 3ce6cc1..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/stringify.js +++ /dev/null @@ -1,97 +0,0 @@ -// Load modules - -var Utils = require('./utils'); - - -// Declare internals - -var internals = { - delimiter: '&', - arrayPrefixGenerators: { - brackets: function (prefix, key) { - return prefix + '[]'; - }, - indices: function (prefix, key) { - return prefix + '[' + key + ']'; - }, - repeat: function (prefix, key) { - return prefix; - } - } -}; - - -internals.stringify = function (obj, prefix, generateArrayPrefix) { - - if (Utils.isBuffer(obj)) { - obj = obj.toString(); - } - else if (obj instanceof Date) { - obj = obj.toISOString(); - } - else if (obj === null) { - obj = ''; - } - - if (typeof obj === 'string' || - typeof obj === 'number' || - typeof obj === 'boolean') { - - return [encodeURIComponent(prefix) + '=' + encodeURIComponent(obj)]; - } - - var values = []; - - if (typeof obj === 'undefined') { - return values; - } - - var objKeys = Object.keys(obj); - for (var i = 0, il = objKeys.length; i < il; ++i) { - var key = objKeys[i]; - if (Array.isArray(obj)) { - values = values.concat(internals.stringify(obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix)); - } - else { - values = values.concat(internals.stringify(obj[key], prefix + '[' + key + ']', generateArrayPrefix)); - } - } - - return values; -}; - - -module.exports = function (obj, options) { - - options = options || {}; - var delimiter = typeof options.delimiter === 'undefined' ? internals.delimiter : options.delimiter; - - var keys = []; - - if (typeof obj !== 'object' || - obj === null) { - - return ''; - } - - var arrayFormat; - if (options.arrayFormat in internals.arrayPrefixGenerators) { - arrayFormat = options.arrayFormat; - } - else if ('indices' in options) { - arrayFormat = options.indices ? 'indices' : 'repeat'; - } - else { - arrayFormat = 'indices'; - } - - var generateArrayPrefix = internals.arrayPrefixGenerators[arrayFormat]; - - var objKeys = Object.keys(obj); - for (var i = 0, il = objKeys.length; i < il; ++i) { - var key = objKeys[i]; - keys = keys.concat(internals.stringify(obj[key], key, generateArrayPrefix)); - } - - return keys.join(delimiter); -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/utils.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/utils.js deleted file mode 100644 index 5240bd5..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/lib/utils.js +++ /dev/null @@ -1,132 +0,0 @@ -// Load modules - - -// Declare internals - -var internals = {}; - - -exports.arrayToObject = function (source) { - - var obj = {}; - for (var i = 0, il = source.length; i < il; ++i) { - if (typeof source[i] !== 'undefined') { - - obj[i] = source[i]; - } - } - - return obj; -}; - - -exports.merge = function (target, source) { - - if (!source) { - return target; - } - - if (typeof source !== 'object') { - if (Array.isArray(target)) { - target.push(source); - } - else { - target[source] = true; - } - - return target; - } - - if (typeof target !== 'object') { - target = [target].concat(source); - return target; - } - - if (Array.isArray(target) && - !Array.isArray(source)) { - - target = exports.arrayToObject(target); - } - - var keys = Object.keys(source); - for (var k = 0, kl = keys.length; k < kl; ++k) { - var key = keys[k]; - var value = source[key]; - - if (!target[key]) { - target[key] = value; - } - else { - target[key] = exports.merge(target[key], value); - } - } - - return target; -}; - - -exports.decode = function (str) { - - try { - return decodeURIComponent(str.replace(/\+/g, ' ')); - } catch (e) { - return str; - } -}; - - -exports.compact = function (obj, refs) { - - if (typeof obj !== 'object' || - obj === null) { - - return obj; - } - - refs = refs || []; - var lookup = refs.indexOf(obj); - if (lookup !== -1) { - return refs[lookup]; - } - - refs.push(obj); - - if (Array.isArray(obj)) { - var compacted = []; - - for (var i = 0, il = obj.length; i < il; ++i) { - if (typeof obj[i] !== 'undefined') { - compacted.push(obj[i]); - } - } - - return compacted; - } - - var keys = Object.keys(obj); - for (i = 0, il = keys.length; i < il; ++i) { - var key = keys[i]; - obj[key] = exports.compact(obj[key], refs); - } - - return obj; -}; - - -exports.isRegExp = function (obj) { - return Object.prototype.toString.call(obj) === '[object RegExp]'; -}; - - -exports.isBuffer = function (obj) { - - if (obj === null || - typeof obj === 'undefined') { - - return false; - } - - return !!(obj.constructor && - obj.constructor.isBuffer && - obj.constructor.isBuffer(obj)); -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/package.json deleted file mode 100644 index ce7d9ae..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "_from": "qs@~2.4.0", - "_id": "qs@2.4.2", - "_inBundle": false, - "_integrity": "sha1-9854jld33wtQENp/fE5zujJHD1o=", - "_location": "/qs", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "qs@~2.4.0", - "name": "qs", - "escapedName": "qs", - "rawSpec": "~2.4.0", - "saveSpec": null, - "fetchSpec": "~2.4.0" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/qs/-/qs-2.4.2.tgz", - "_shasum": "f7ce788e5777df0b5010da7f7c4e73ba32470f5a", - "_spec": "qs@~2.4.0", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", - "bugs": { - "url": "https://github.com/hapijs/qs/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "A querystring parser that supports nesting and arrays, with a depth limit", - "devDependencies": { - "code": "1.x.x", - "lab": "5.x.x" - }, - "homepage": "https://github.com/hapijs/qs", - "keywords": [ - "querystring", - "qs" - ], - "licenses": [ - { - "type": "BSD", - "url": "http://github.com/hapijs/qs/raw/master/LICENSE" - } - ], - "main": "index.js", - "name": "qs", - "repository": { - "type": "git", - "url": "git+https://github.com/hapijs/qs.git" - }, - "scripts": { - "test": "make test-cov" - }, - "version": "2.4.2" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/parse.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/parse.js deleted file mode 100644 index 79c575b..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/parse.js +++ /dev/null @@ -1,414 +0,0 @@ -/* eslint no-extend-native:0 */ -// Load modules - -var Code = require('code'); -var Lab = require('lab'); -var Qs = require('../'); - - -// Declare internals - -var internals = {}; - - -// Test shortcuts - -var lab = exports.lab = Lab.script(); -var expect = Code.expect; -var describe = lab.experiment; -var it = lab.test; - - -describe('parse()', function () { - - it('parses a simple string', function (done) { - - expect(Qs.parse('0=foo')).to.deep.equal({ '0': 'foo' }); - expect(Qs.parse('foo=c++')).to.deep.equal({ foo: 'c ' }); - expect(Qs.parse('a[>=]=23')).to.deep.equal({ a: { '>=': '23' } }); - expect(Qs.parse('a[<=>]==23')).to.deep.equal({ a: { '<=>': '=23' } }); - expect(Qs.parse('a[==]=23')).to.deep.equal({ a: { '==': '23' } }); - expect(Qs.parse('foo')).to.deep.equal({ foo: '' }); - expect(Qs.parse('foo=bar')).to.deep.equal({ foo: 'bar' }); - expect(Qs.parse(' foo = bar = baz ')).to.deep.equal({ ' foo ': ' bar = baz ' }); - expect(Qs.parse('foo=bar=baz')).to.deep.equal({ foo: 'bar=baz' }); - expect(Qs.parse('foo=bar&bar=baz')).to.deep.equal({ foo: 'bar', bar: 'baz' }); - expect(Qs.parse('foo=bar&baz')).to.deep.equal({ foo: 'bar', baz: '' }); - expect(Qs.parse('cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World')).to.deep.equal({ - cht: 'p3', - chd: 't:60,40', - chs: '250x100', - chl: 'Hello|World' - }); - done(); - }); - - it('parses a single nested string', function (done) { - - expect(Qs.parse('a[b]=c')).to.deep.equal({ a: { b: 'c' } }); - done(); - }); - - it('parses a double nested string', function (done) { - - expect(Qs.parse('a[b][c]=d')).to.deep.equal({ a: { b: { c: 'd' } } }); - done(); - }); - - it('defaults to a depth of 5', function (done) { - - expect(Qs.parse('a[b][c][d][e][f][g][h]=i')).to.deep.equal({ a: { b: { c: { d: { e: { f: { '[g][h]': 'i' } } } } } } }); - done(); - }); - - it('only parses one level when depth = 1', function (done) { - - expect(Qs.parse('a[b][c]=d', { depth: 1 })).to.deep.equal({ a: { b: { '[c]': 'd' } } }); - expect(Qs.parse('a[b][c][d]=e', { depth: 1 })).to.deep.equal({ a: { b: { '[c][d]': 'e' } } }); - done(); - }); - - it('parses a simple array', function (done) { - - expect(Qs.parse('a=b&a=c')).to.deep.equal({ a: ['b', 'c'] }); - done(); - }); - - it('parses an explicit array', function (done) { - - expect(Qs.parse('a[]=b')).to.deep.equal({ a: ['b'] }); - expect(Qs.parse('a[]=b&a[]=c')).to.deep.equal({ a: ['b', 'c'] }); - expect(Qs.parse('a[]=b&a[]=c&a[]=d')).to.deep.equal({ a: ['b', 'c', 'd'] }); - done(); - }); - - it('parses a mix of simple and explicit arrays', function (done) { - - expect(Qs.parse('a=b&a[]=c')).to.deep.equal({ a: ['b', 'c'] }); - expect(Qs.parse('a[]=b&a=c')).to.deep.equal({ a: ['b', 'c'] }); - expect(Qs.parse('a[0]=b&a=c')).to.deep.equal({ a: ['b', 'c'] }); - expect(Qs.parse('a=b&a[0]=c')).to.deep.equal({ a: ['b', 'c'] }); - expect(Qs.parse('a[1]=b&a=c')).to.deep.equal({ a: ['b', 'c'] }); - expect(Qs.parse('a=b&a[1]=c')).to.deep.equal({ a: ['b', 'c'] }); - done(); - }); - - it('parses a nested array', function (done) { - - expect(Qs.parse('a[b][]=c&a[b][]=d')).to.deep.equal({ a: { b: ['c', 'd'] } }); - expect(Qs.parse('a[>=]=25')).to.deep.equal({ a: { '>=': '25' } }); - done(); - }); - - it('allows to specify array indices', function (done) { - - expect(Qs.parse('a[1]=c&a[0]=b&a[2]=d')).to.deep.equal({ a: ['b', 'c', 'd'] }); - expect(Qs.parse('a[1]=c&a[0]=b')).to.deep.equal({ a: ['b', 'c'] }); - expect(Qs.parse('a[1]=c')).to.deep.equal({ a: ['c'] }); - done(); - }); - - it('limits specific array indices to 20', function (done) { - - expect(Qs.parse('a[20]=a')).to.deep.equal({ a: ['a'] }); - expect(Qs.parse('a[21]=a')).to.deep.equal({ a: { '21': 'a' } }); - done(); - }); - - it('supports keys that begin with a number', function (done) { - - expect(Qs.parse('a[12b]=c')).to.deep.equal({ a: { '12b': 'c' } }); - done(); - }); - - it('supports encoded = signs', function (done) { - - expect(Qs.parse('he%3Dllo=th%3Dere')).to.deep.equal({ 'he=llo': 'th=ere' }); - done(); - }); - - it('is ok with url encoded strings', function (done) { - - expect(Qs.parse('a[b%20c]=d')).to.deep.equal({ a: { 'b c': 'd' } }); - expect(Qs.parse('a[b]=c%20d')).to.deep.equal({ a: { b: 'c d' } }); - done(); - }); - - it('allows brackets in the value', function (done) { - - expect(Qs.parse('pets=["tobi"]')).to.deep.equal({ pets: '["tobi"]' }); - expect(Qs.parse('operators=[">=", "<="]')).to.deep.equal({ operators: '[">=", "<="]' }); - done(); - }); - - it('allows empty values', function (done) { - - expect(Qs.parse('')).to.deep.equal({}); - expect(Qs.parse(null)).to.deep.equal({}); - expect(Qs.parse(undefined)).to.deep.equal({}); - done(); - }); - - it('transforms arrays to objects', function (done) { - - expect(Qs.parse('foo[0]=bar&foo[bad]=baz')).to.deep.equal({ foo: { '0': 'bar', bad: 'baz' } }); - expect(Qs.parse('foo[bad]=baz&foo[0]=bar')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar' } }); - expect(Qs.parse('foo[bad]=baz&foo[]=bar')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar' } }); - expect(Qs.parse('foo[]=bar&foo[bad]=baz')).to.deep.equal({ foo: { '0': 'bar', bad: 'baz' } }); - expect(Qs.parse('foo[bad]=baz&foo[]=bar&foo[]=foo')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar', '1': 'foo' } }); - expect(Qs.parse('foo[0][a]=a&foo[0][b]=b&foo[1][a]=aa&foo[1][b]=bb')).to.deep.equal({foo: [ {a: 'a', b: 'b'}, {a: 'aa', b: 'bb'} ]}); - done(); - }); - - it('can add keys to objects', function (done) { - - expect(Qs.parse('a[b]=c&a=d')).to.deep.equal({ a: { b: 'c', d: true } }); - done(); - }); - - it('correctly prunes undefined values when converting an array to an object', function (done) { - - expect(Qs.parse('a[2]=b&a[99999999]=c')).to.deep.equal({ a: { '2': 'b', '99999999': 'c' } }); - done(); - }); - - it('supports malformed uri characters', function (done) { - - expect(Qs.parse('{%:%}')).to.deep.equal({ '{%:%}': '' }); - expect(Qs.parse('foo=%:%}')).to.deep.equal({ foo: '%:%}' }); - done(); - }); - - it('doesn\'t produce empty keys', function (done) { - - expect(Qs.parse('_r=1&')).to.deep.equal({ '_r': '1' }); - done(); - }); - - it('cannot override prototypes', function (done) { - - var obj = Qs.parse('hasOwnProperty=bad&toString=bad&bad[toString]=bad&constructor=bad'); - expect(typeof obj.toString).to.equal('function'); - expect(typeof obj.bad.toString).to.equal('function'); - expect(typeof obj.constructor).to.equal('function'); - expect(typeof obj.hasOwnProperty).to.equal('function'); - done(); - }); - - it('cannot access Object prototype', function (done) { - - Qs.parse('constructor[prototype][bad]=bad'); - Qs.parse('bad[constructor][prototype][bad]=bad'); - expect(typeof Object.prototype.bad).to.equal('undefined'); - done(); - }); - - it('parses arrays of objects', function (done) { - - expect(Qs.parse('a[][b]=c')).to.deep.equal({ a: [{ b: 'c' }] }); - expect(Qs.parse('a[0][b]=c')).to.deep.equal({ a: [{ b: 'c' }] }); - done(); - }); - - it('allows for empty strings in arrays', function (done) { - - expect(Qs.parse('a[]=b&a[]=&a[]=c')).to.deep.equal({ a: ['b', '', 'c'] }); - expect(Qs.parse('a[0]=b&a[1]=&a[2]=c&a[19]=')).to.deep.equal({ a: ['b', '', 'c', ''] }); - expect(Qs.parse('a[]=&a[]=b&a[]=c')).to.deep.equal({ a: ['', 'b', 'c'] }); - done(); - }); - - it('compacts sparse arrays', function (done) { - - expect(Qs.parse('a[10]=1&a[2]=2')).to.deep.equal({ a: ['2', '1'] }); - done(); - }); - - it('parses semi-parsed strings', function (done) { - - expect(Qs.parse({ 'a[b]': 'c' })).to.deep.equal({ a: { b: 'c' } }); - expect(Qs.parse({ 'a[b]': 'c', 'a[d]': 'e' })).to.deep.equal({ a: { b: 'c', d: 'e' } }); - done(); - }); - - it('parses buffers correctly', function (done) { - - var b = new Buffer('test'); - expect(Qs.parse({ a: b })).to.deep.equal({ a: b }); - done(); - }); - - it('continues parsing when no parent is found', function (done) { - - expect(Qs.parse('[]&a=b')).to.deep.equal({ '0': '', a: 'b' }); - expect(Qs.parse('[foo]=bar')).to.deep.equal({ foo: 'bar' }); - done(); - }); - - it('does not error when parsing a very long array', function (done) { - - var str = 'a[]=a'; - while (Buffer.byteLength(str) < 128 * 1024) { - str += '&' + str; - } - - expect(function () { - - Qs.parse(str); - }).to.not.throw(); - - done(); - }); - - it('should not throw when a native prototype has an enumerable property', { parallel: false }, function (done) { - - Object.prototype.crash = ''; - Array.prototype.crash = ''; - expect(Qs.parse.bind(null, 'a=b')).to.not.throw(); - expect(Qs.parse('a=b')).to.deep.equal({ a: 'b' }); - expect(Qs.parse.bind(null, 'a[][b]=c')).to.not.throw(); - expect(Qs.parse('a[][b]=c')).to.deep.equal({ a: [{ b: 'c' }] }); - delete Object.prototype.crash; - delete Array.prototype.crash; - done(); - }); - - it('parses a string with an alternative string delimiter', function (done) { - - expect(Qs.parse('a=b;c=d', { delimiter: ';' })).to.deep.equal({ a: 'b', c: 'd' }); - done(); - }); - - it('parses a string with an alternative RegExp delimiter', function (done) { - - expect(Qs.parse('a=b; c=d', { delimiter: /[;,] */ })).to.deep.equal({ a: 'b', c: 'd' }); - done(); - }); - - it('does not use non-splittable objects as delimiters', function (done) { - - expect(Qs.parse('a=b&c=d', { delimiter: true })).to.deep.equal({ a: 'b', c: 'd' }); - done(); - }); - - it('allows overriding parameter limit', function (done) { - - expect(Qs.parse('a=b&c=d', { parameterLimit: 1 })).to.deep.equal({ a: 'b' }); - done(); - }); - - it('allows setting the parameter limit to Infinity', function (done) { - - expect(Qs.parse('a=b&c=d', { parameterLimit: Infinity })).to.deep.equal({ a: 'b', c: 'd' }); - done(); - }); - - it('allows overriding array limit', function (done) { - - expect(Qs.parse('a[0]=b', { arrayLimit: -1 })).to.deep.equal({ a: { '0': 'b' } }); - expect(Qs.parse('a[-1]=b', { arrayLimit: -1 })).to.deep.equal({ a: { '-1': 'b' } }); - expect(Qs.parse('a[0]=b&a[1]=c', { arrayLimit: 0 })).to.deep.equal({ a: { '0': 'b', '1': 'c' } }); - done(); - }); - - it('parses an object', function (done) { - - var input = { - 'user[name]': {'pop[bob]': 3}, - 'user[email]': null - }; - - var expected = { - 'user': { - 'name': {'pop[bob]': 3}, - 'email': null - } - }; - - var result = Qs.parse(input); - - expect(result).to.deep.equal(expected); - done(); - }); - - it('parses an object and not child values', function (done) { - - var input = { - 'user[name]': {'pop[bob]': { 'test': 3 }}, - 'user[email]': null - }; - - var expected = { - 'user': { - 'name': {'pop[bob]': { 'test': 3 }}, - 'email': null - } - }; - - var result = Qs.parse(input); - - expect(result).to.deep.equal(expected); - done(); - }); - - it('does not blow up when Buffer global is missing', function (done) { - - var tempBuffer = global.Buffer; - delete global.Buffer; - var result = Qs.parse('a=b&c=d'); - global.Buffer = tempBuffer; - expect(result).to.deep.equal({ a: 'b', c: 'd' }); - done(); - }); - - it('does not crash when using invalid dot notation', function (done) { - - expect(Qs.parse('roomInfoList[0].childrenAges[0]=15&roomInfoList[0].numberOfAdults=2')).to.deep.equal({ roomInfoList: [['15', '2']] }); - done(); - }); - - it('does not crash when parsing circular references', function (done) { - - var a = {}; - a.b = a; - - var parsed; - - expect(function () { - - parsed = Qs.parse({ 'foo[bar]': 'baz', 'foo[baz]': a }); - }).to.not.throw(); - - expect(parsed).to.contain('foo'); - expect(parsed.foo).to.contain('bar', 'baz'); - expect(parsed.foo.bar).to.equal('baz'); - expect(parsed.foo.baz).to.deep.equal(a); - done(); - }); - - it('parses plain objects correctly', function (done) { - - var a = Object.create(null); - a.b = 'c'; - - expect(Qs.parse(a)).to.deep.equal({ b: 'c' }); - var result = Qs.parse({ a: a }); - expect(result).to.contain('a'); - expect(result.a).to.deep.equal(a); - done(); - }); - - it('parses dates correctly', function (done) { - - var now = new Date(); - expect(Qs.parse({ a: now })).to.deep.equal({ a: now }); - done(); - }); - - it('parses regular expressions correctly', function (done) { - - var re = /^test$/; - expect(Qs.parse({ a: re })).to.deep.equal({ a: re }); - done(); - }); -}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/stringify.js b/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/stringify.js deleted file mode 100644 index 7bdec32..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/qs/test/stringify.js +++ /dev/null @@ -1,209 +0,0 @@ -/* eslint no-extend-native:0 */ -// Load modules - -var Code = require('code'); -var Lab = require('lab'); -var Qs = require('../'); - - -// Declare internals - -var internals = {}; - - -// Test shortcuts - -var lab = exports.lab = Lab.script(); -var expect = Code.expect; -var describe = lab.experiment; -var it = lab.test; - - -describe('stringify()', function () { - - it('stringifies a querystring object', function (done) { - - expect(Qs.stringify({ a: 'b' })).to.equal('a=b'); - expect(Qs.stringify({ a: 1 })).to.equal('a=1'); - expect(Qs.stringify({ a: 1, b: 2 })).to.equal('a=1&b=2'); - done(); - }); - - it('stringifies a nested object', function (done) { - - expect(Qs.stringify({ a: { b: 'c' } })).to.equal('a%5Bb%5D=c'); - expect(Qs.stringify({ a: { b: { c: { d: 'e' } } } })).to.equal('a%5Bb%5D%5Bc%5D%5Bd%5D=e'); - done(); - }); - - it('stringifies an array value', function (done) { - - expect(Qs.stringify({ a: ['b', 'c', 'd'] })).to.equal('a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d'); - done(); - }); - - it('omits array indices when asked', function (done) { - - expect(Qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false })).to.equal('a=b&a=c&a=d'); - done(); - }); - - it('stringifies a nested array value', function (done) { - - expect(Qs.stringify({ a: { b: ['c', 'd'] } })).to.equal('a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d'); - done(); - }); - - it('stringifies an object inside an array', function (done) { - - expect(Qs.stringify({ a: [{ b: 'c' }] })).to.equal('a%5B0%5D%5Bb%5D=c'); - expect(Qs.stringify({ a: [{ b: { c: [1] } }] })).to.equal('a%5B0%5D%5Bb%5D%5Bc%5D%5B0%5D=1'); - done(); - }); - - it('does not omit object keys when indices = false', function (done) { - - expect(Qs.stringify({ a: [{ b: 'c' }] }, { indices: false })).to.equal('a%5Bb%5D=c'); - done(); - }); - - it('uses indices notation for arrays when indices=true', function (done) { - - expect(Qs.stringify({ a: ['b', 'c'] }, { indices: true })).to.equal('a%5B0%5D=b&a%5B1%5D=c'); - done(); - }); - - it('uses indices notation for arrays when no arrayFormat is specified', function (done) { - - expect(Qs.stringify({ a: ['b', 'c'] })).to.equal('a%5B0%5D=b&a%5B1%5D=c'); - done(); - }); - - it('uses indices notation for arrays when no arrayFormat=indices', function (done) { - - expect(Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })).to.equal('a%5B0%5D=b&a%5B1%5D=c'); - done(); - }); - - it('uses repeat notation for arrays when no arrayFormat=repeat', function (done) { - - expect(Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })).to.equal('a=b&a=c'); - done(); - }); - - it('uses brackets notation for arrays when no arrayFormat=brackets', function (done) { - - expect(Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })).to.equal('a%5B%5D=b&a%5B%5D=c'); - done(); - }); - - it('stringifies a complicated object', function (done) { - - expect(Qs.stringify({ a: { b: 'c', d: 'e' } })).to.equal('a%5Bb%5D=c&a%5Bd%5D=e'); - done(); - }); - - it('stringifies an empty value', function (done) { - - expect(Qs.stringify({ a: '' })).to.equal('a='); - expect(Qs.stringify({ a: '', b: '' })).to.equal('a=&b='); - expect(Qs.stringify({ a: null })).to.equal('a='); - expect(Qs.stringify({ a: { b: null } })).to.equal('a%5Bb%5D='); - done(); - }); - - it('stringifies an empty object', function (done) { - - var obj = Object.create(null); - obj.a = 'b'; - expect(Qs.stringify(obj)).to.equal('a=b'); - done(); - }); - - it('returns an empty string for invalid input', function (done) { - - expect(Qs.stringify(undefined)).to.equal(''); - expect(Qs.stringify(false)).to.equal(''); - expect(Qs.stringify(null)).to.equal(''); - expect(Qs.stringify('')).to.equal(''); - done(); - }); - - it('stringifies an object with an empty object as a child', function (done) { - - var obj = { - a: Object.create(null) - }; - - obj.a.b = 'c'; - expect(Qs.stringify(obj)).to.equal('a%5Bb%5D=c'); - done(); - }); - - it('drops keys with a value of undefined', function (done) { - - expect(Qs.stringify({ a: undefined })).to.equal(''); - expect(Qs.stringify({ a: { b: undefined, c: null } })).to.equal('a%5Bc%5D='); - done(); - }); - - it('url encodes values', function (done) { - - expect(Qs.stringify({ a: 'b c' })).to.equal('a=b%20c'); - done(); - }); - - it('stringifies a date', function (done) { - - var now = new Date(); - var str = 'a=' + encodeURIComponent(now.toISOString()); - expect(Qs.stringify({ a: now })).to.equal(str); - done(); - }); - - it('stringifies the weird object from qs', function (done) { - - expect(Qs.stringify({ 'my weird field': 'q1!2"\'w$5&7/z8)?' })).to.equal('my%20weird%20field=q1!2%22\'w%245%267%2Fz8)%3F'); - done(); - }); - - it('skips properties that are part of the object prototype', function (done) { - - Object.prototype.crash = 'test'; - expect(Qs.stringify({ a: 'b'})).to.equal('a=b'); - expect(Qs.stringify({ a: { b: 'c' } })).to.equal('a%5Bb%5D=c'); - delete Object.prototype.crash; - done(); - }); - - it('stringifies boolean values', function (done) { - - expect(Qs.stringify({ a: true })).to.equal('a=true'); - expect(Qs.stringify({ a: { b: true } })).to.equal('a%5Bb%5D=true'); - expect(Qs.stringify({ b: false })).to.equal('b=false'); - expect(Qs.stringify({ b: { c: false } })).to.equal('b%5Bc%5D=false'); - done(); - }); - - it('stringifies buffer values', function (done) { - - expect(Qs.stringify({ a: new Buffer('test') })).to.equal('a=test'); - expect(Qs.stringify({ a: { b: new Buffer('test') } })).to.equal('a%5Bb%5D=test'); - done(); - }); - - it('stringifies an object using an alternative delimiter', function (done) { - - expect(Qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' })).to.equal('a=b;c=d'); - done(); - }); - - it('doesn\'t blow up when Buffer global is missing', function (done) { - - var tempBuffer = global.Buffer; - delete global.Buffer; - expect(Qs.stringify({ a: 'b', c: 'd' })).to.equal('a=b&c=d'); - global.Buffer = tempBuffer; - done(); - }); -}); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/.npmignore deleted file mode 100644 index 38344f8..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -build/ -test/ -examples/ -fs.js -zlib.js \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/LICENSE deleted file mode 100644 index e3d4e69..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/README.md deleted file mode 100644 index 3fb3e80..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# readable-stream - -***Node-core streams for userland*** - -[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) -[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/) - -This package is a mirror of the Streams2 and Streams3 implementations in Node-core. - -If you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core. - -**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12. - -**readable-stream** uses proper patch-level versioning so if you pin to `"~1.0.0"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `"~1.1.0"` - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/duplex.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/duplex.js deleted file mode 100644 index ca807af..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/duplex.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_duplex.js") diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_duplex.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_duplex.js deleted file mode 100644 index b513d61..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_duplex.js +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. - -module.exports = Duplex; - -/**/ -var objectKeys = Object.keys || function (obj) { - var keys = []; - for (var key in obj) keys.push(key); - return keys; -} -/**/ - - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Readable = require('./_stream_readable'); -var Writable = require('./_stream_writable'); - -util.inherits(Duplex, Readable); - -forEach(objectKeys(Writable.prototype), function(method) { - if (!Duplex.prototype[method]) - Duplex.prototype[method] = Writable.prototype[method]; -}); - -function Duplex(options) { - if (!(this instanceof Duplex)) - return new Duplex(options); - - Readable.call(this, options); - Writable.call(this, options); - - if (options && options.readable === false) - this.readable = false; - - if (options && options.writable === false) - this.writable = false; - - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) - this.allowHalfOpen = false; - - this.once('end', onend); -} - -// the no-half-open enforcer -function onend() { - // if we allow half-open state, or if the writable side ended, - // then we're ok. - if (this.allowHalfOpen || this._writableState.ended) - return; - - // no more data can be written. - // But allow more writes to happen in this tick. - process.nextTick(this.end.bind(this)); -} - -function forEach (xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_passthrough.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_passthrough.js deleted file mode 100644 index 895ca50..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_passthrough.js +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) - return new PassThrough(options); - - Transform.call(this, options); -} - -PassThrough.prototype._transform = function(chunk, encoding, cb) { - cb(null, chunk); -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_readable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_readable.js deleted file mode 100644 index 6307220..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_readable.js +++ /dev/null @@ -1,982 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -module.exports = Readable; - -/**/ -var isArray = require('isarray'); -/**/ - - -/**/ -var Buffer = require('buffer').Buffer; -/**/ - -Readable.ReadableState = ReadableState; - -var EE = require('events').EventEmitter; - -/**/ -if (!EE.listenerCount) EE.listenerCount = function(emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -var Stream = require('stream'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var StringDecoder; - -util.inherits(Readable, Stream); - -function ReadableState(options, stream) { - options = options || {}; - - // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - var hwm = options.highWaterMark; - this.highWaterMark = (hwm || hwm === 0) ? hwm : 16 * 1024; - - // cast to ints. - this.highWaterMark = ~~this.highWaterMark; - - this.buffer = []; - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = false; - this.ended = false; - this.endEmitted = false; - this.reading = false; - - // In streams that never have any data, and do push(null) right away, - // the consumer can miss the 'end' event if they do some I/O before - // consuming the stream. So, we don't emit('end') until some reading - // happens. - this.calledRead = false; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, becuase any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - - - // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - this.objectMode = !!options.objectMode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // when piping, we only care about 'readable' events that happen - // after read()ing all the bytes and not getting any pushback. - this.ranOut = false; - - // the number of writers that are awaiting a drain event in .pipe()s - this.awaitDrain = 0; - - // if true, a maybeReadMore has been scheduled - this.readingMore = false; - - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) - StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - if (!(this instanceof Readable)) - return new Readable(options); - - this._readableState = new ReadableState(options, this); - - // legacy - this.readable = true; - - Stream.call(this); -} - -// Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. -Readable.prototype.push = function(chunk, encoding) { - var state = this._readableState; - - if (typeof chunk === 'string' && !state.objectMode) { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = new Buffer(chunk, encoding); - encoding = ''; - } - } - - return readableAddChunk(this, state, chunk, encoding, false); -}; - -// Unshift should *always* be something directly out of read() -Readable.prototype.unshift = function(chunk) { - var state = this._readableState; - return readableAddChunk(this, state, chunk, '', true); -}; - -function readableAddChunk(stream, state, chunk, encoding, addToFront) { - var er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (chunk === null || chunk === undefined) { - state.reading = false; - if (!state.ended) - onEofChunk(stream, state); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (state.ended && !addToFront) { - var e = new Error('stream.push() after EOF'); - stream.emit('error', e); - } else if (state.endEmitted && addToFront) { - var e = new Error('stream.unshift() after end event'); - stream.emit('error', e); - } else { - if (state.decoder && !addToFront && !encoding) - chunk = state.decoder.write(chunk); - - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) { - state.buffer.unshift(chunk); - } else { - state.reading = false; - state.buffer.push(chunk); - } - - if (state.needReadable) - emitReadable(stream); - - maybeReadMore(stream, state); - } - } else if (!addToFront) { - state.reading = false; - } - - return needMoreData(state); -} - - - -// if it's past the high water mark, we can push in some more. -// Also, if we have no data yet, we can stand some -// more bytes. This is to work around cases where hwm=0, -// such as the repl. Also, if the push() triggered a -// readable event, and the user called read(largeNumber) such that -// needReadable was set, then we ought to push more, so that another -// 'readable' event will be triggered. -function needMoreData(state) { - return !state.ended && - (state.needReadable || - state.length < state.highWaterMark || - state.length === 0); -} - -// backwards compatibility. -Readable.prototype.setEncoding = function(enc) { - if (!StringDecoder) - StringDecoder = require('string_decoder/').StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; -}; - -// Don't raise the hwm > 128MB -var MAX_HWM = 0x800000; -function roundUpToNextPowerOf2(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - // Get the next highest power of 2 - n--; - for (var p = 1; p < 32; p <<= 1) n |= n >> p; - n++; - } - return n; -} - -function howMuchToRead(n, state) { - if (state.length === 0 && state.ended) - return 0; - - if (state.objectMode) - return n === 0 ? 0 : 1; - - if (n === null || isNaN(n)) { - // only flow one buffer at a time - if (state.flowing && state.buffer.length) - return state.buffer[0].length; - else - return state.length; - } - - if (n <= 0) - return 0; - - // If we're asking for more than the target buffer level, - // then raise the water mark. Bump up to the next highest - // power of 2, to prevent increasing it excessively in tiny - // amounts. - if (n > state.highWaterMark) - state.highWaterMark = roundUpToNextPowerOf2(n); - - // don't have that much. return null, unless we've ended. - if (n > state.length) { - if (!state.ended) { - state.needReadable = true; - return 0; - } else - return state.length; - } - - return n; -} - -// you can override either this method, or the async _read(n) below. -Readable.prototype.read = function(n) { - var state = this._readableState; - state.calledRead = true; - var nOrig = n; - var ret; - - if (typeof n !== 'number' || n > 0) - state.emittedReadable = false; - - // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - if (n === 0 && - state.needReadable && - (state.length >= state.highWaterMark || state.ended)) { - emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); - - // if we've ended, and we're now clear, then finish it up. - if (n === 0 && state.ended) { - ret = null; - - // In cases where the decoder did not receive enough data - // to produce a full chunk, then immediately received an - // EOF, state.buffer will contain [, ]. - // howMuchToRead will see this and coerce the amount to - // read to zero (because it's looking at the length of the - // first in state.buffer), and we'll end up here. - // - // This can only happen via state.decoder -- no other venue - // exists for pushing a zero-length chunk into state.buffer - // and triggering this behavior. In this case, we return our - // remaining data and end the stream, if appropriate. - if (state.length > 0 && state.decoder) { - ret = fromList(n, state); - state.length -= ret.length; - } - - if (state.length === 0) - endReadable(this); - - return ret; - } - - // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - - // if we need a readable event, then we need to do some reading. - var doRead = state.needReadable; - - // if we currently have less than the highWaterMark, then also read some - if (state.length - n <= state.highWaterMark) - doRead = true; - - // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - if (state.ended || state.reading) - doRead = false; - - if (doRead) { - state.reading = true; - state.sync = true; - // if the length is currently zero, then we *need* a readable event. - if (state.length === 0) - state.needReadable = true; - // call internal read method - this._read(state.highWaterMark); - state.sync = false; - } - - // If _read called its callback synchronously, then `reading` - // will be false, and we need to re-evaluate how much data we - // can return to the user. - if (doRead && !state.reading) - n = howMuchToRead(nOrig, state); - - if (n > 0) - ret = fromList(n, state); - else - ret = null; - - if (ret === null) { - state.needReadable = true; - n = 0; - } - - state.length -= n; - - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (state.length === 0 && !state.ended) - state.needReadable = true; - - // If we happened to read() exactly the remaining amount in the - // buffer, and the EOF has been seen at this point, then make sure - // that we emit 'end' on the very next tick. - if (state.ended && !state.endEmitted && state.length === 0) - endReadable(this); - - return ret; -}; - -function chunkInvalid(state, chunk) { - var er = null; - if (!Buffer.isBuffer(chunk) && - 'string' !== typeof chunk && - chunk !== null && - chunk !== undefined && - !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; -} - - -function onEofChunk(stream, state) { - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - - // if we've ended and we have some data left, then emit - // 'readable' now to make sure it gets picked up. - if (state.length > 0) - emitReadable(stream); - else - endReadable(stream); -} - -// Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. -function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (state.emittedReadable) - return; - - state.emittedReadable = true; - if (state.sync) - process.nextTick(function() { - emitReadable_(stream); - }); - else - emitReadable_(stream); -} - -function emitReadable_(stream) { - stream.emit('readable'); -} - - -// at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - process.nextTick(function() { - maybeReadMore_(stream, state); - }); - } -} - -function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && - state.length < state.highWaterMark) { - stream.read(0); - if (len === state.length) - // didn't get any data, stop spinning. - break; - else - len = state.length; - } - state.readingMore = false; -} - -// abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. -Readable.prototype._read = function(n) { - this.emit('error', new Error('not implemented')); -}; - -Readable.prototype.pipe = function(dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - - var doEnd = (!pipeOpts || pipeOpts.end !== false) && - dest !== process.stdout && - dest !== process.stderr; - - var endFn = doEnd ? onend : cleanup; - if (state.endEmitted) - process.nextTick(endFn); - else - src.once('end', endFn); - - dest.on('unpipe', onunpipe); - function onunpipe(readable) { - if (readable !== src) return; - cleanup(); - } - - function onend() { - dest.end(); - } - - // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - - function cleanup() { - // cleanup event handlers once the pipe is broken - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', cleanup); - - // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - if (!dest._writableState || dest._writableState.needDrain) - ondrain(); - } - - // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - function onerror(er) { - unpipe(); - dest.removeListener('error', onerror); - if (EE.listenerCount(dest, 'error') === 0) - dest.emit('error', er); - } - // This is a brutally ugly hack to make sure that our error handler - // is attached before any userland ones. NEVER DO THIS. - if (!dest._events || !dest._events.error) - dest.on('error', onerror); - else if (isArray(dest._events.error)) - dest._events.error.unshift(onerror); - else - dest._events.error = [onerror, dest._events.error]; - - - - // Both close and finish should trigger unpipe, but only once. - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - dest.once('close', onclose); - function onfinish() { - dest.removeListener('close', onclose); - unpipe(); - } - dest.once('finish', onfinish); - - function unpipe() { - src.unpipe(dest); - } - - // tell the dest that it's being piped to - dest.emit('pipe', src); - - // start the flow if it hasn't been started already. - if (!state.flowing) { - // the handler that waits for readable events after all - // the data gets sucked out in flow. - // This would be easier to follow with a .once() handler - // in flow(), but that is too slow. - this.on('readable', pipeOnReadable); - - state.flowing = true; - process.nextTick(function() { - flow(src); - }); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function() { - var dest = this; - var state = src._readableState; - state.awaitDrain--; - if (state.awaitDrain === 0) - flow(src); - }; -} - -function flow(src) { - var state = src._readableState; - var chunk; - state.awaitDrain = 0; - - function write(dest, i, list) { - var written = dest.write(chunk); - if (false === written) { - state.awaitDrain++; - } - } - - while (state.pipesCount && null !== (chunk = src.read())) { - - if (state.pipesCount === 1) - write(state.pipes, 0, null); - else - forEach(state.pipes, write); - - src.emit('data', chunk); - - // if anyone needs a drain, then we have to wait for that. - if (state.awaitDrain > 0) - return; - } - - // if every destination was unpiped, either before entering this - // function, or in the while loop, then stop flowing. - // - // NB: This is a pretty rare edge case. - if (state.pipesCount === 0) { - state.flowing = false; - - // if there were data event listeners added, then switch to old mode. - if (EE.listenerCount(src, 'data') > 0) - emitDataEvents(src); - return; - } - - // at this point, no one needed a drain, so we just ran out of data - // on the next readable event, start it over again. - state.ranOut = true; -} - -function pipeOnReadable() { - if (this._readableState.ranOut) { - this._readableState.ranOut = false; - flow(this); - } -} - - -Readable.prototype.unpipe = function(dest) { - var state = this._readableState; - - // if we're not piping anywhere, then do nothing. - if (state.pipesCount === 0) - return this; - - // just one destination. most common case. - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) - return this; - - if (!dest) - dest = state.pipes; - - // got a match. - state.pipes = null; - state.pipesCount = 0; - this.removeListener('readable', pipeOnReadable); - state.flowing = false; - if (dest) - dest.emit('unpipe', this); - return this; - } - - // slow case. multiple pipe destinations. - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - this.removeListener('readable', pipeOnReadable); - state.flowing = false; - - for (var i = 0; i < len; i++) - dests[i].emit('unpipe', this); - return this; - } - - // try to find the right one. - var i = indexOf(state.pipes, dest); - if (i === -1) - return this; - - state.pipes.splice(i, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) - state.pipes = state.pipes[0]; - - dest.emit('unpipe', this); - - return this; -}; - -// set up data events if they are asked for -// Ensure readable listeners eventually get something -Readable.prototype.on = function(ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - - if (ev === 'data' && !this._readableState.flowing) - emitDataEvents(this); - - if (ev === 'readable' && this.readable) { - var state = this._readableState; - if (!state.readableListening) { - state.readableListening = true; - state.emittedReadable = false; - state.needReadable = true; - if (!state.reading) { - this.read(0); - } else if (state.length) { - emitReadable(this, state); - } - } - } - - return res; -}; -Readable.prototype.addListener = Readable.prototype.on; - -// pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. -Readable.prototype.resume = function() { - emitDataEvents(this); - this.read(0); - this.emit('resume'); -}; - -Readable.prototype.pause = function() { - emitDataEvents(this, true); - this.emit('pause'); -}; - -function emitDataEvents(stream, startPaused) { - var state = stream._readableState; - - if (state.flowing) { - // https://github.com/isaacs/readable-stream/issues/16 - throw new Error('Cannot switch to old mode now.'); - } - - var paused = startPaused || false; - var readable = false; - - // convert to an old-style stream. - stream.readable = true; - stream.pipe = Stream.prototype.pipe; - stream.on = stream.addListener = Stream.prototype.on; - - stream.on('readable', function() { - readable = true; - - var c; - while (!paused && (null !== (c = stream.read()))) - stream.emit('data', c); - - if (c === null) { - readable = false; - stream._readableState.needReadable = true; - } - }); - - stream.pause = function() { - paused = true; - this.emit('pause'); - }; - - stream.resume = function() { - paused = false; - if (readable) - process.nextTick(function() { - stream.emit('readable'); - }); - else - this.read(0); - this.emit('resume'); - }; - - // now make it start, just in case it hadn't already. - stream.emit('readable'); -} - -// wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. -Readable.prototype.wrap = function(stream) { - var state = this._readableState; - var paused = false; - - var self = this; - stream.on('end', function() { - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) - self.push(chunk); - } - - self.push(null); - }); - - stream.on('data', function(chunk) { - if (state.decoder) - chunk = state.decoder.write(chunk); - - // don't skip over falsy values in objectMode - //if (state.objectMode && util.isNullOrUndefined(chunk)) - if (state.objectMode && (chunk === null || chunk === undefined)) - return; - else if (!state.objectMode && (!chunk || !chunk.length)) - return; - - var ret = self.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - - // proxy all the other methods. - // important when wrapping filters and duplexes. - for (var i in stream) { - if (typeof stream[i] === 'function' && - typeof this[i] === 'undefined') { - this[i] = function(method) { return function() { - return stream[method].apply(stream, arguments); - }}(i); - } - } - - // proxy certain important events. - var events = ['error', 'close', 'destroy', 'pause', 'resume']; - forEach(events, function(ev) { - stream.on(ev, self.emit.bind(self, ev)); - }); - - // when we try to consume some more bytes, simply unpause the - // underlying stream. - self._read = function(n) { - if (paused) { - paused = false; - stream.resume(); - } - }; - - return self; -}; - - - -// exposed for testing purposes only. -Readable._fromList = fromList; - -// Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -function fromList(n, state) { - var list = state.buffer; - var length = state.length; - var stringMode = !!state.decoder; - var objectMode = !!state.objectMode; - var ret; - - // nothing in the list, definitely empty. - if (list.length === 0) - return null; - - if (length === 0) - ret = null; - else if (objectMode) - ret = list.shift(); - else if (!n || n >= length) { - // read it all, truncate the array. - if (stringMode) - ret = list.join(''); - else - ret = Buffer.concat(list, length); - list.length = 0; - } else { - // read just some of it. - if (n < list[0].length) { - // just take a part of the first list item. - // slice is the same for buffers and strings. - var buf = list[0]; - ret = buf.slice(0, n); - list[0] = buf.slice(n); - } else if (n === list[0].length) { - // first list is a perfect match - ret = list.shift(); - } else { - // complex case. - // we have enough to cover it, but it spans past the first buffer. - if (stringMode) - ret = ''; - else - ret = new Buffer(n); - - var c = 0; - for (var i = 0, l = list.length; i < l && c < n; i++) { - var buf = list[0]; - var cpy = Math.min(n - c, buf.length); - - if (stringMode) - ret += buf.slice(0, cpy); - else - buf.copy(ret, c, 0, cpy); - - if (cpy < buf.length) - list[0] = buf.slice(cpy); - else - list.shift(); - - c += cpy; - } - } - } - - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - - // If we get here before consuming all the bytes, then that is a - // bug in node. Should never happen. - if (state.length > 0) - throw new Error('endReadable called on non-empty stream'); - - if (!state.endEmitted && state.calledRead) { - state.ended = true; - process.nextTick(function() { - // Check that we didn't get one last unshift. - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - } - }); - } -} - -function forEach (xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} - -function indexOf (xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - return -1; -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_transform.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_transform.js deleted file mode 100644 index eb188df..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_transform.js +++ /dev/null @@ -1,210 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - - -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. - -module.exports = Transform; - -var Duplex = require('./_stream_duplex'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(Transform, Duplex); - - -function TransformState(options, stream) { - this.afterTransform = function(er, data) { - return afterTransform(stream, er, data); - }; - - this.needTransform = false; - this.transforming = false; - this.writecb = null; - this.writechunk = null; -} - -function afterTransform(stream, er, data) { - var ts = stream._transformState; - ts.transforming = false; - - var cb = ts.writecb; - - if (!cb) - return stream.emit('error', new Error('no writecb in Transform class')); - - ts.writechunk = null; - ts.writecb = null; - - if (data !== null && data !== undefined) - stream.push(data); - - if (cb) - cb(er); - - var rs = stream._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - stream._read(rs.highWaterMark); - } -} - - -function Transform(options) { - if (!(this instanceof Transform)) - return new Transform(options); - - Duplex.call(this, options); - - var ts = this._transformState = new TransformState(options, this); - - // when the writable side finishes, then flush out anything remaining. - var stream = this; - - // start out asking for a readable event once data is transformed. - this._readableState.needReadable = true; - - // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - this._readableState.sync = false; - - this.once('finish', function() { - if ('function' === typeof this._flush) - this._flush(function(er) { - done(stream, er); - }); - else - done(stream); - }); -} - -Transform.prototype.push = function(chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; - -// This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. -Transform.prototype._transform = function(chunk, encoding, cb) { - throw new Error('not implemented'); -}; - -Transform.prototype._write = function(chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || - rs.needReadable || - rs.length < rs.highWaterMark) - this._read(rs.highWaterMark); - } -}; - -// Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. -Transform.prototype._read = function(n) { - var ts = this._transformState; - - if (ts.writechunk !== null && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - - -function done(stream, er) { - if (er) - return stream.emit('error', er); - - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - var ws = stream._writableState; - var rs = stream._readableState; - var ts = stream._transformState; - - if (ws.length) - throw new Error('calling transform done when ws.length != 0'); - - if (ts.transforming) - throw new Error('calling transform done when still transforming'); - - return stream.push(null); -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_writable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_writable.js deleted file mode 100644 index 4bdaa4f..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/lib/_stream_writable.js +++ /dev/null @@ -1,386 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// A bit simpler than readable streams. -// Implement an async ._write(chunk, cb), and it'll handle all -// the drain event emission and buffering. - -module.exports = Writable; - -/**/ -var Buffer = require('buffer').Buffer; -/**/ - -Writable.WritableState = WritableState; - - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Stream = require('stream'); - -util.inherits(Writable, Stream); - -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; -} - -function WritableState(options, stream) { - options = options || {}; - - // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - var hwm = options.highWaterMark; - this.highWaterMark = (hwm || hwm === 0) ? hwm : 16 * 1024; - - // object stream flag to indicate whether or not this stream - // contains buffers or objects. - this.objectMode = !!options.objectMode; - - // cast to ints. - this.highWaterMark = ~~this.highWaterMark; - - this.needDrain = false; - // at the start of calling end() - this.ending = false; - // when end() has been called, and returned - this.ended = false; - // when 'finish' is emitted - this.finished = false; - - // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - this.length = 0; - - // a flag to see when we're in the middle of a write. - this.writing = false; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, becuase any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - this.bufferProcessing = false; - - // the callback that's passed to _write(chunk,cb) - this.onwrite = function(er) { - onwrite(stream, er); - }; - - // the callback that the user supplies to write(chunk,encoding,cb) - this.writecb = null; - - // the amount that is being written when _write is called. - this.writelen = 0; - - this.buffer = []; - - // True if the error was already emitted and should not be thrown again - this.errorEmitted = false; -} - -function Writable(options) { - var Duplex = require('./_stream_duplex'); - - // Writable ctor is applied to Duplexes, though they're not - // instanceof Writable, they're instanceof Readable. - if (!(this instanceof Writable) && !(this instanceof Duplex)) - return new Writable(options); - - this._writableState = new WritableState(options, this); - - // legacy. - this.writable = true; - - Stream.call(this); -} - -// Otherwise people can pipe Writable streams, which is just wrong. -Writable.prototype.pipe = function() { - this.emit('error', new Error('Cannot pipe. Not readable.')); -}; - - -function writeAfterEnd(stream, state, cb) { - var er = new Error('write after end'); - // TODO: defer error events consistently everywhere, not just the cb - stream.emit('error', er); - process.nextTick(function() { - cb(er); - }); -} - -// If we get something that is not a buffer, string, null, or undefined, -// and we're not in objectMode, then that's an error. -// Otherwise stream chunks are all considered to be of length=1, and the -// watermarks determine how many objects to keep in the buffer, rather than -// how many bytes or characters. -function validChunk(stream, state, chunk, cb) { - var valid = true; - if (!Buffer.isBuffer(chunk) && - 'string' !== typeof chunk && - chunk !== null && - chunk !== undefined && - !state.objectMode) { - var er = new TypeError('Invalid non-string/buffer chunk'); - stream.emit('error', er); - process.nextTick(function() { - cb(er); - }); - valid = false; - } - return valid; -} - -Writable.prototype.write = function(chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (Buffer.isBuffer(chunk)) - encoding = 'buffer'; - else if (!encoding) - encoding = state.defaultEncoding; - - if (typeof cb !== 'function') - cb = function() {}; - - if (state.ended) - writeAfterEnd(this, state, cb); - else if (validChunk(this, state, chunk, cb)) - ret = writeOrBuffer(this, state, chunk, encoding, cb); - - return ret; -}; - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && - state.decodeStrings !== false && - typeof chunk === 'string') { - chunk = new Buffer(chunk, encoding); - } - return chunk; -} - -// if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. -function writeOrBuffer(stream, state, chunk, encoding, cb) { - chunk = decodeChunk(state, chunk, encoding); - if (Buffer.isBuffer(chunk)) - encoding = 'buffer'; - var len = state.objectMode ? 1 : chunk.length; - - state.length += len; - - var ret = state.length < state.highWaterMark; - // we must ensure that previous needDrain will not be reset to false. - if (!ret) - state.needDrain = true; - - if (state.writing) - state.buffer.push(new WriteReq(chunk, encoding, cb)); - else - doWrite(stream, state, len, chunk, encoding, cb); - - return ret; -} - -function doWrite(stream, state, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - if (sync) - process.nextTick(function() { - cb(er); - }); - else - cb(er); - - stream._writableState.errorEmitted = true; - stream.emit('error', er); -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - - onwriteStateUpdate(state); - - if (er) - onwriteError(stream, state, sync, er, cb); - else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(stream, state); - - if (!finished && !state.bufferProcessing && state.buffer.length) - clearBuffer(stream, state); - - if (sync) { - process.nextTick(function() { - afterWrite(stream, state, finished, cb); - }); - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) - onwriteDrain(stream, state); - cb(); - if (finished) - finishMaybe(stream, state); -} - -// Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} - - -// if there's something in the buffer waiting, then process it -function clearBuffer(stream, state) { - state.bufferProcessing = true; - - for (var c = 0; c < state.buffer.length; c++) { - var entry = state.buffer[c]; - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - - doWrite(stream, state, len, chunk, encoding, cb); - - // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - if (state.writing) { - c++; - break; - } - } - - state.bufferProcessing = false; - if (c < state.buffer.length) - state.buffer = state.buffer.slice(c); - else - state.buffer.length = 0; -} - -Writable.prototype._write = function(chunk, encoding, cb) { - cb(new Error('not implemented')); -}; - -Writable.prototype.end = function(chunk, encoding, cb) { - var state = this._writableState; - - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (typeof chunk !== 'undefined' && chunk !== null) - this.write(chunk, encoding); - - // ignore unnecessary end() calls. - if (!state.ending && !state.finished) - endWritable(this, state, cb); -}; - - -function needFinish(stream, state) { - return (state.ending && - state.length === 0 && - !state.finished && - !state.writing); -} - -function finishMaybe(stream, state) { - var need = needFinish(stream, state); - if (need) { - state.finished = true; - stream.emit('finish'); - } - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - if (cb) { - if (state.finished) - process.nextTick(cb); - else - stream.once('finish', cb); - } - state.ended = true; -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/package.json deleted file mode 100644 index 4bbfafa..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "_from": "readable-stream@~1.0.26", - "_id": "readable-stream@1.0.34", - "_inBundle": false, - "_integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "_location": "/readable-stream", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "readable-stream@~1.0.26", - "name": "readable-stream", - "escapedName": "readable-stream", - "rawSpec": "~1.0.26", - "saveSpec": null, - "fetchSpec": "~1.0.26" - }, - "_requiredBy": [ - "/bl" - ], - "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "_shasum": "125820e34bc842d2f2aaafafe4c2916ee32c157c", - "_spec": "readable-stream@~1.0.26", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\bl", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "browser": { - "util": false - }, - "bugs": { - "url": "https://github.com/isaacs/readable-stream/issues" - }, - "bundleDependencies": false, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - }, - "deprecated": false, - "description": "Streams2, a user-land copy of the stream library from Node.js v0.10.x", - "devDependencies": { - "tap": "~0.2.6" - }, - "homepage": "https://github.com/isaacs/readable-stream#readme", - "keywords": [ - "readable", - "stream", - "pipe" - ], - "license": "MIT", - "main": "readable.js", - "name": "readable-stream", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/readable-stream.git" - }, - "scripts": { - "test": "tap test/simple/*.js" - }, - "version": "1.0.34" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/passthrough.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/passthrough.js deleted file mode 100644 index 27e8d8a..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/passthrough.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_passthrough.js") diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/readable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/readable.js deleted file mode 100644 index 26511e8..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/readable.js +++ /dev/null @@ -1,11 +0,0 @@ -var Stream = require('stream'); // hack to fix a circular dependency issue when used with browserify -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = Stream; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); -if (!process.browser && process.env.READABLE_STREAM === 'disable') { - module.exports = require('stream'); -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/transform.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/transform.js deleted file mode 100644 index 5d482f0..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/transform.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_transform.js") diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/writable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/writable.js deleted file mode 100644 index e1e9efd..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/readable-stream/writable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_writable.js") diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/.eslintrc b/netatmo-security-connector/NetatmoSecurity/node_modules/request/.eslintrc deleted file mode 100644 index 8538b41..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/.eslintrc +++ /dev/null @@ -1,39 +0,0 @@ -{ - "env": { - "node": true - }, - "rules": { - // 2-space indentation - "indent": [2, 2], - // Disallow semi-colons, unless needed to disambiguate statement - "semi": [2, "never"], - // Require strings to use single quotes - "quotes": [2, "single"], - // Require curly braces for all control statements - "curly": 2, - // Disallow using variables and functions before they've been defined - "no-use-before-define": 2, - // Allow any case for variable naming - "camelcase": 0, - // Disallow unused variables, except as function arguments - "no-unused-vars": [2, {"args":"none"}], - // Allow leading underscores for method names - // REASON: we use underscores to denote private methods - "no-underscore-dangle": 0, - // Allow multi spaces around operators since they are - // used for alignment. This is not consistent in the - // code. - "no-multi-spaces": 0, - // Style rule is: most objects use { beforeColon: false, afterColon: true }, unless aligning which uses: - // - // { - // beforeColon : true, - // afterColon : true - // } - // - // eslint can't handle this, so the check is disabled. - "key-spacing": 0, - // Allow shadowing vars in outer scope (needs discussion) - "no-shadow": 0 - } -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/request/.npmignore deleted file mode 100644 index 53fc9ef..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -coverage -tests -node_modules diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/request/.travis.yml deleted file mode 100644 index bd0f638..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: node_js -node_js: - - "io.js" - - "0.12" - - "0.10" -after_script: ./node_modules/.bin/istanbul cover ./node_modules/tape/bin/tape tests/test-*.js --report lcovonly && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js --verbose -webhooks: - urls: https://webhooks.gitter.im/e/237280ed4796c19cc626 - on_success: change # options: [always|never|change] default: always - on_failure: always # options: [always|never|change] default: always - on_start: false # default: false -sudo: false diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/CHANGELOG.md b/netatmo-security-connector/NetatmoSecurity/node_modules/request/CHANGELOG.md deleted file mode 100644 index 1c01d08..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/CHANGELOG.md +++ /dev/null @@ -1,467 +0,0 @@ -## Change Log - -### v2.55.0 (2015/04/05) -- [#1520](https://github.com/request/request/pull/1520) Refactor defaults (@simov) -- [#1525](https://github.com/request/request/pull/1525) Delete request headers with undefined value. (@froatsnook) -- [#1521](https://github.com/request/request/pull/1521) Add promise tests (@simov) -- [#1518](https://github.com/request/request/pull/1518) Fix defaults (@simov) -- [#1515](https://github.com/request/request/pull/1515) Allow static invoking of convenience methods (@simov) -- [#1505](https://github.com/request/request/pull/1505) Fix multipart boundary extraction regexp (@simov) -- [#1510](https://github.com/request/request/pull/1510) Fix basic auth form data (@simov) - -### v2.54.0 (2015/03/24) -- [#1501](https://github.com/request/request/pull/1501) HTTP Archive 1.2 support (@ahmadnassri) -- [#1486](https://github.com/request/request/pull/1486) Add a test for the forever agent (@akshayp) -- [#1500](https://github.com/request/request/pull/1500) Adding handling for no auth method and null bearer (@philberg) -- [#1498](https://github.com/request/request/pull/1498) Add table of contents in readme (@simov) -- [#1477](https://github.com/request/request/pull/1477) Add support for qs options via qsOptions key (@simov) -- [#1496](https://github.com/request/request/pull/1496) Parameters encoded to base 64 should be decoded as UTF-8, not ASCII. (@albanm) -- [#1494](https://github.com/request/request/pull/1494) Update eslint (@froatsnook) -- [#1474](https://github.com/request/request/pull/1474) Require Colon in Basic Auth (@erykwalder) -- [#1481](https://github.com/request/request/pull/1481) Fix baseUrl and redirections. (@burningtree) -- [#1469](https://github.com/request/request/pull/1469) Feature/base url (@froatsnook) -- [#1459](https://github.com/request/request/pull/1459) Add option to time request/response cycle (including rollup of redirects) (@aaron-em) -- [#1468](https://github.com/request/request/pull/1468) Re-enable io.js/node 0.12 build (@simov, @BBB) -- [#1442](https://github.com/request/request/pull/1442) Fixed the issue with strictSSL tests on 0.12 & io.js by explicitly setting a cipher that matches the cert. (@BBB, @nicolasmccurdy, @simov, @0x4139) -- [#1460](https://github.com/request/request/pull/1460) localAddress or proxy config is lost when redirecting (@simov, @0x4139) -- [#1453](https://github.com/request/request/pull/1453) Test on Node.js 0.12 and io.js with allowed failures (@nicolasmccurdy) -- [#1426](https://github.com/request/request/pull/1426) Fixing tests to pass on io.js and node 0.12 (only test-https.js stiff failing) (@mikeal) -- [#1446](https://github.com/request/request/pull/1446) Missing HTTP referer header with redirects Fixes #1038 (@simov, @guimonz) -- [#1428](https://github.com/request/request/pull/1428) Deprecate Node v0.8.x (@nylen) -- [#1436](https://github.com/request/request/pull/1436) Add ability to set a requester without setting default options (@tikotzky) -- [#1435](https://github.com/request/request/pull/1435) dry up verb methods (@sethpollack) -- [#1423](https://github.com/request/request/pull/1423) Allow fully qualified multipart content-type header (@simov) -- [#1430](https://github.com/request/request/pull/1430) Fix recursive requester (@tikotzky) -- [#1429](https://github.com/request/request/pull/1429) Throw error when making HEAD request with a body (@tikotzky) -- [#1419](https://github.com/request/request/pull/1419) Add note that the project is broken in 0.12.x (@nylen) -- [#1413](https://github.com/request/request/pull/1413) Fix basic auth (@simov) -- [#1397](https://github.com/request/request/pull/1397) Improve pipe-from-file tests (@nylen) - -### v2.53.0 (2015/02/02) -- [#1396](https://github.com/request/request/pull/1396) Do not rfc3986 escape JSON bodies (@nylen, @simov) -- [#1392](https://github.com/request/request/pull/1392) Improve `timeout` option description (@watson) - -### v2.52.0 (2015/02/02) -- [#1383](https://github.com/request/request/pull/1383) Add missing HTTPS options that were not being passed to tunnel (@brichard19) (@nylen, @brichard19) -- [#1388](https://github.com/request/request/pull/1388) Upgrade mime-types package version (@roderickhsiao) -- [#1389](https://github.com/request/request/pull/1389) Revise Setup Tunnel Function (@seanstrom) -- [#1374](https://github.com/request/request/pull/1374) Allow explicitly disabling tunneling for proxied https destinations (@nylen) -- [#1376](https://github.com/request/request/pull/1376) Use karma-browserify for tests. Add browser test coverage reporter. (@eiriksm) -- [#1366](https://github.com/request/request/pull/1366) Refactor OAuth into separate module (@simov) -- [#1373](https://github.com/request/request/pull/1373) Rewrite tunnel test to be pure Node.js (@nylen) -- [#1371](https://github.com/request/request/pull/1371) Upgrade test reporter (@nylen) -- [#1360](https://github.com/request/request/pull/1360) Refactor basic, bearer, digest auth logic into separate class (@simov) -- [#1354](https://github.com/request/request/pull/1354) Remove circular dependency from debugging code (@nylen) -- [#1351](https://github.com/request/request/pull/1351) Move digest auth into private prototype method (@simov) -- [#1352](https://github.com/request/request/pull/1352) Update hawk dependency to ~2.3.0 (@mridgway) -- [#1353](https://github.com/request/request/pull/1353) Correct travis-ci badge (@dogancelik) -- [#1349](https://github.com/request/request/pull/1349) Make sure we return on errored browser requests. (@eiriksm) -- [#1346](https://github.com/request/request/pull/1346) getProxyFromURI Extraction Refactor (@seanstrom) -- [#1337](https://github.com/request/request/pull/1337) Standardize test ports on 6767 (@nylen) -- [#1341](https://github.com/request/request/pull/1341) Emit FormData error events as Request error events (@nylen, @rwky) -- [#1343](https://github.com/request/request/pull/1343) Clean up readme badges, and add Travis and Coveralls badges (@nylen) -- [#1345](https://github.com/request/request/pull/1345) Update README.md (@Aaron-Hartwig) -- [#1338](https://github.com/request/request/pull/1338) Always wait for server.close() callback in tests (@nylen) -- [#1342](https://github.com/request/request/pull/1342) Add mock https server and redo start of browser tests for this purpose. (@eiriksm) -- [#1339](https://github.com/request/request/pull/1339) Improve auth docs (@nylen) -- [#1335](https://github.com/request/request/pull/1335) Add support for OAuth plaintext signature method (@simov) -- [#1332](https://github.com/request/request/pull/1332) Add clean script to remove test-browser.js after the tests run (@seanstrom) -- [#1327](https://github.com/request/request/pull/1327) Fix errors generating coverage reports. (@nylen) -- [#1330](https://github.com/request/request/pull/1330) Return empty buffer upon empty response body and encoding is set to null (@seanstrom) -- [#1326](https://github.com/request/request/pull/1326) Use faster container-based infrastructure on Travis (@nylen) -- [#1315](https://github.com/request/request/pull/1315) Implement rfc3986 option (@simov) -- [#1314](https://github.com/request/request/pull/1314) Detect urlencoded form data header via regex (@simov) -- [#1317](https://github.com/request/request/pull/1317) Improve OAuth1.0 server side flow example (@simov) - -### v2.51.0 (2014/12/10) -- [#1310](https://github.com/request/request/pull/1310) Revert changes introduced in https://github.com/request/request/pull/1282 (@simov) - -### v2.50.0 (2014/12/09) -- [#1308](https://github.com/request/request/pull/1308) Add browser test to keep track of browserify compability. (@eiriksm) -- [#1299](https://github.com/request/request/pull/1299) Add optional support for jsonReviver (@poislagarde) -- [#1277](https://github.com/request/request/pull/1277) Add Coveralls configuration (@simov) -- [#1307](https://github.com/request/request/pull/1307) Upgrade form-data, add back browserify compability. Fixes #455. (@eiriksm) -- [#1305](https://github.com/request/request/pull/1305) Fix typo in README.md (@LewisJEllis) -- [#1288](https://github.com/request/request/pull/1288) Update README.md to explain custom file use case (@cliffcrosland) - -### v2.49.0 (2014/11/28) -- [#1295](https://github.com/request/request/pull/1295) fix(proxy): no-proxy false positive (@oliamb) -- [#1292](https://github.com/request/request/pull/1292) Upgrade `caseless` to 0.8.1 (@mmalecki) -- [#1276](https://github.com/request/request/pull/1276) Set transfer encoding for multipart/related to chunked by default (@simov) -- [#1275](https://github.com/request/request/pull/1275) Fix multipart content-type headers detection (@simov) -- [#1269](https://github.com/request/request/pull/1269) adds streams example for review (@tbuchok) -- [#1238](https://github.com/request/request/pull/1238) Add examples README.md (@simov) - -### v2.48.0 (2014/11/12) -- [#1263](https://github.com/request/request/pull/1263) Fixed a syntax error / typo in README.md (@xna2) -- [#1253](https://github.com/request/request/pull/1253) Add multipart chunked flag (@simov, @nylen) -- [#1251](https://github.com/request/request/pull/1251) Clarify that defaults() does not modify global defaults (@nylen) -- [#1250](https://github.com/request/request/pull/1250) Improve documentation for pool and maxSockets options (@nylen) -- [#1237](https://github.com/request/request/pull/1237) Documenting error handling when using streams (@vmattos) -- [#1244](https://github.com/request/request/pull/1244) Finalize changelog command (@nylen) -- [#1241](https://github.com/request/request/pull/1241) Fix typo (@alexanderGugel) -- [#1223](https://github.com/request/request/pull/1223) Show latest version number instead of "upcoming" in changelog (@nylen) -- [#1236](https://github.com/request/request/pull/1236) Document how to use custom CA in README (#1229) (@hypesystem) -- [#1228](https://github.com/request/request/pull/1228) Support for oauth with RSA-SHA1 signing (@nylen) -- [#1216](https://github.com/request/request/pull/1216) Made json and multipart options coexist (@nylen, @simov) -- [#1225](https://github.com/request/request/pull/1225) Allow header white/exclusive lists in any case. (@RReverser) - -### v2.47.0 (2014/10/26) -- [#1222](https://github.com/request/request/pull/1222) Move from mikeal/request to request/request (@nylen) -- [#1220](https://github.com/request/request/pull/1220) update qs dependency to 2.3.1 (@FredKSchott) -- [#1212](https://github.com/request/request/pull/1212) Improve tests/test-timeout.js (@nylen) -- [#1219](https://github.com/request/request/pull/1219) remove old globalAgent workaround for node 0.4 (@request) -- [#1214](https://github.com/request/request/pull/1214) Remove cruft left over from optional dependencies (@nylen) -- [#1215](https://github.com/request/request/pull/1215) Add proxyHeaderExclusiveList option for proxy-only headers. (@RReverser) -- [#1211](https://github.com/request/request/pull/1211) Allow 'Host' header instead of 'host' and remember case across redirects (@nylen) -- [#1208](https://github.com/request/request/pull/1208) Improve release script (@nylen) -- [#1213](https://github.com/request/request/pull/1213) Support for custom cookie store (@nylen, @mitsuru) -- [#1197](https://github.com/request/request/pull/1197) Clean up some code around setting the agent (@FredKSchott) -- [#1209](https://github.com/request/request/pull/1209) Improve multipart form append test (@simov) -- [#1207](https://github.com/request/request/pull/1207) Update changelog (@nylen) -- [#1185](https://github.com/request/request/pull/1185) Stream multipart/related bodies (@simov) - -### v2.46.0 (2014/10/23) -- [#1198](https://github.com/request/request/pull/1198) doc for TLS/SSL protocol options (@shawnzhu) -- [#1200](https://github.com/request/request/pull/1200) Add a Gitter chat badge to README.md (@gitter-badger) -- [#1196](https://github.com/request/request/pull/1196) Upgrade taper test reporter to v0.3.0 (@nylen) -- [#1199](https://github.com/request/request/pull/1199) Fix lint error: undeclared var i (@nylen) -- [#1191](https://github.com/request/request/pull/1191) Move self.proxy decision logic out of init and into a helper (@FredKSchott) -- [#1190](https://github.com/request/request/pull/1190) Move _buildRequest() logic back into init (@FredKSchott) -- [#1186](https://github.com/request/request/pull/1186) Support Smarter Unix URL Scheme (@FredKSchott) -- [#1178](https://github.com/request/request/pull/1178) update form documentation for new usage (@FredKSchott) -- [#1180](https://github.com/request/request/pull/1180) Enable no-mixed-requires linting rule (@nylen) -- [#1184](https://github.com/request/request/pull/1184) Don't forward authorization header across redirects to different hosts (@nylen) -- [#1183](https://github.com/request/request/pull/1183) Correct README about pre and postamble CRLF using multipart and not mult... (@netpoetica) -- [#1179](https://github.com/request/request/pull/1179) Lint tests directory (@nylen) -- [#1169](https://github.com/request/request/pull/1169) add metadata for form-data file field (@dotcypress) -- [#1173](https://github.com/request/request/pull/1173) remove optional dependencies (@seanstrom) -- [#1165](https://github.com/request/request/pull/1165) Cleanup event listeners and remove function creation from init (@FredKSchott) -- [#1174](https://github.com/request/request/pull/1174) update the request.cookie docs to have a valid cookie example (@seanstrom) -- [#1168](https://github.com/request/request/pull/1168) create a detach helper and use detach helper in replace of nextTick (@seanstrom) -- [#1171](https://github.com/request/request/pull/1171) in post can send form data and use callback (@MiroRadenovic) -- [#1159](https://github.com/request/request/pull/1159) accept charset for x-www-form-urlencoded content-type (@seanstrom) -- [#1157](https://github.com/request/request/pull/1157) Update README.md: body with json=true (@Rob--W) -- [#1164](https://github.com/request/request/pull/1164) Disable tests/test-timeout.js on Travis (@nylen) -- [#1153](https://github.com/request/request/pull/1153) Document how to run a single test (@nylen) -- [#1144](https://github.com/request/request/pull/1144) adds documentation for the "response" event within the streaming section (@tbuchok) -- [#1162](https://github.com/request/request/pull/1162) Update eslintrc file to no longer allow past errors (@FredKSchott) -- [#1155](https://github.com/request/request/pull/1155) Support/use self everywhere (@seanstrom) -- [#1161](https://github.com/request/request/pull/1161) fix no-use-before-define lint warnings (@emkay) -- [#1156](https://github.com/request/request/pull/1156) adding curly brackets to get rid of lint errors (@emkay) -- [#1151](https://github.com/request/request/pull/1151) Fix localAddress test on OS X (@nylen) -- [#1145](https://github.com/request/request/pull/1145) documentation: fix outdated reference to setCookieSync old name in README (@FredKSchott) -- [#1131](https://github.com/request/request/pull/1131) Update pool documentation (@FredKSchott) -- [#1143](https://github.com/request/request/pull/1143) Rewrite all tests to use tape (@nylen) -- [#1137](https://github.com/request/request/pull/1137) Add ability to specifiy querystring lib in options. (@jgrund) -- [#1138](https://github.com/request/request/pull/1138) allow hostname and port in place of host on uri (@cappslock) -- [#1134](https://github.com/request/request/pull/1134) Fix multiple redirects and `self.followRedirect` (@blakeembrey) -- [#1130](https://github.com/request/request/pull/1130) documentation fix: add note about npm test for contributing (@FredKSchott) -- [#1120](https://github.com/request/request/pull/1120) Support/refactor request setup tunnel (@seanstrom) -- [#1129](https://github.com/request/request/pull/1129) linting fix: convert double quote strings to use single quotes (@FredKSchott) -- [#1124](https://github.com/request/request/pull/1124) linting fix: remove unneccesary semi-colons (@FredKSchott) - -### v2.45.0 (2014/10/06) -- [#1128](https://github.com/request/request/pull/1128) Add test for setCookie regression (@nylen) -- [#1127](https://github.com/request/request/pull/1127) added tests around using objects as values in a query string (@bcoe) -- [#1103](https://github.com/request/request/pull/1103) Support/refactor request constructor (@nylen, @seanstrom) -- [#1119](https://github.com/request/request/pull/1119) add basic linting to request library (@FredKSchott) -- [#1121](https://github.com/request/request/pull/1121) Revert "Explicitly use sync versions of cookie functions" (@nylen) -- [#1118](https://github.com/request/request/pull/1118) linting fix: Restructure bad empty if statement (@FredKSchott) -- [#1117](https://github.com/request/request/pull/1117) Fix a bad check for valid URIs (@FredKSchott) -- [#1113](https://github.com/request/request/pull/1113) linting fix: space out operators (@FredKSchott) -- [#1116](https://github.com/request/request/pull/1116) Fix typo in `noProxyHost` definition (@FredKSchott) -- [#1114](https://github.com/request/request/pull/1114) linting fix: Added a `new` operator that was missing when creating and throwing a new error (@FredKSchott) -- [#1096](https://github.com/request/request/pull/1096) No_proxy support (@samcday) -- [#1107](https://github.com/request/request/pull/1107) linting-fix: remove unused variables (@FredKSchott) -- [#1112](https://github.com/request/request/pull/1112) linting fix: Make return values consistent and more straitforward (@FredKSchott) -- [#1111](https://github.com/request/request/pull/1111) linting fix: authPieces was getting redeclared (@FredKSchott) -- [#1105](https://github.com/request/request/pull/1105) Use strict mode in request (@FredKSchott) -- [#1110](https://github.com/request/request/pull/1110) linting fix: replace lazy '==' with more strict '===' (@FredKSchott) -- [#1109](https://github.com/request/request/pull/1109) linting fix: remove function call from if-else conditional statement (@FredKSchott) -- [#1102](https://github.com/request/request/pull/1102) Fix to allow setting a `requester` on recursive calls to `request.defaults` (@tikotzky) -- [#1095](https://github.com/request/request/pull/1095) Tweaking engines in package.json (@pdehaan) -- [#1082](https://github.com/request/request/pull/1082) Forward the socket event from the httpModule request (@seanstrom) -- [#972](https://github.com/request/request/pull/972) Clarify gzip handling in the README (@kevinoid) -- [#1089](https://github.com/request/request/pull/1089) Mention that encoding defaults to utf8, not Buffer (@stuartpb) -- [#1088](https://github.com/request/request/pull/1088) Fix cookie example in README.md and make it more clear (@pipi32167) -- [#1027](https://github.com/request/request/pull/1027) Add support for multipart form data in request options. (@crocket) -- [#1076](https://github.com/request/request/pull/1076) use Request.abort() to abort the request when the request has timed-out (@seanstrom) -- [#1068](https://github.com/request/request/pull/1068) add optional postamble required by .NET multipart requests (@netpoetica) - -### v2.43.0 (2014/09/18) -- [#1057](https://github.com/request/request/pull/1057) Defaults should not overwrite defined options (@davidwood) -- [#1046](https://github.com/request/request/pull/1046) Propagate datastream errors, useful in case gzip fails. (@ZJONSSON, @Janpot) -- [#1063](https://github.com/request/request/pull/1063) copy the input headers object #1060 (@finnp) -- [#1031](https://github.com/request/request/pull/1031) Explicitly use sync versions of cookie functions (@ZJONSSON) -- [#1056](https://github.com/request/request/pull/1056) Fix redirects when passing url.parse(x) as URL to convenience method (@nylen) - -### v2.42.0 (2014/09/04) -- [#1053](https://github.com/request/request/pull/1053) Fix #1051 Parse auth properly when using non-tunneling proxy (@isaacs) - -### v2.41.0 (2014/09/04) -- [#1050](https://github.com/request/request/pull/1050) Pass whitelisted headers to tunneling proxy. Organize all tunneling logic. (@isaacs, @Feldhacker) -- [#1035](https://github.com/request/request/pull/1035) souped up nodei.co badge (@rvagg) -- [#1048](https://github.com/request/request/pull/1048) Aws is now possible over a proxy (@steven-aerts) -- [#1039](https://github.com/request/request/pull/1039) extract out helper functions to a helper file (@seanstrom) -- [#1021](https://github.com/request/request/pull/1021) Support/refactor indexjs (@seanstrom) -- [#1033](https://github.com/request/request/pull/1033) Improve and document debug options (@nylen) -- [#1034](https://github.com/request/request/pull/1034) Fix readme headings (@nylen) -- [#1030](https://github.com/request/request/pull/1030) Allow recursive request.defaults (@tikotzky) -- [#1029](https://github.com/request/request/pull/1029) Fix a couple of typos (@nylen) -- [#675](https://github.com/request/request/pull/675) Checking for SSL fault on connection before reading SSL properties (@VRMink) -- [#989](https://github.com/request/request/pull/989) Added allowRedirect function. Should return true if redirect is allowed or false otherwise (@doronin) -- [#1025](https://github.com/request/request/pull/1025) [fixes #1023] Set self._ended to true once response has ended (@mridgway) -- [#1020](https://github.com/request/request/pull/1020) Add back removed debug metadata (@FredKSchott) -- [#1008](https://github.com/request/request/pull/1008) Moving to module instead of cutomer buffer concatenation. (@mikeal) -- [#770](https://github.com/request/request/pull/770) Added dependency badge for README file; (@timgluz) -- [#1016](https://github.com/request/request/pull/1016) toJSON no longer results in an infinite loop, returns simple objects (@FredKSchott) -- [#1018](https://github.com/request/request/pull/1018) Remove pre-0.4.4 HTTPS fix (@mmalecki) -- [#1006](https://github.com/request/request/pull/1006) Migrate to caseless, fixes #1001 (@mikeal) -- [#995](https://github.com/request/request/pull/995) Fix parsing array of objects (@sjonnet19) -- [#999](https://github.com/request/request/pull/999) Fix fallback for browserify for optional modules. (@eiriksm) -- [#996](https://github.com/request/request/pull/996) Wrong oauth signature when multiple same param keys exist [updated] (@bengl) - -### v2.40.0 (2014/08/06) -- [#992](https://github.com/request/request/pull/992) Fix security vulnerability. Update qs (@poeticninja) -- [#988](https://github.com/request/request/pull/988) “--†-> “—†(@upisfree) -- [#987](https://github.com/request/request/pull/987) Show optional modules as being loaded by the module that reqeusted them (@iarna) - -### v2.39.0 (2014/07/24) -- [#976](https://github.com/request/request/pull/976) Update README.md (@pvoznenko) - -### v2.38.0 (2014/07/22) -- [#952](https://github.com/request/request/pull/952) Adding support to client certificate with proxy use case (@ofirshaked) -- [#884](https://github.com/request/request/pull/884) Documented tough-cookie installation. (@wbyoung) -- [#935](https://github.com/request/request/pull/935) Correct repository url (@fritx) -- [#963](https://github.com/request/request/pull/963) Update changelog (@nylen) -- [#960](https://github.com/request/request/pull/960) Support gzip with encoding on node pre-v0.9.4 (@kevinoid) -- [#953](https://github.com/request/request/pull/953) Add async Content-Length computation when using form-data (@LoicMahieu) -- [#844](https://github.com/request/request/pull/844) Add support for HTTP[S]_PROXY environment variables. Fixes #595. (@jvmccarthy) -- [#946](https://github.com/request/request/pull/946) defaults: merge headers (@aj0strow) - -### v2.37.0 (2014/07/07) -- [#957](https://github.com/request/request/pull/957) Silence EventEmitter memory leak warning #311 (@watson) -- [#955](https://github.com/request/request/pull/955) check for content-length header before setting it in nextTick (@camilleanne) -- [#951](https://github.com/request/request/pull/951) Add support for gzip content decoding (@kevinoid) -- [#949](https://github.com/request/request/pull/949) Manually enter querystring in form option (@charlespwd) -- [#944](https://github.com/request/request/pull/944) Make request work with browserify (@eiriksm) -- [#943](https://github.com/request/request/pull/943) New mime module (@eiriksm) -- [#927](https://github.com/request/request/pull/927) Bump version of hawk dep. (@samccone) -- [#907](https://github.com/request/request/pull/907) append secureOptions to poolKey (@medovob) - -### v2.35.0 (2014/05/17) -- [#901](https://github.com/request/request/pull/901) Fixes #555 (@pigulla) -- [#897](https://github.com/request/request/pull/897) merge with default options (@vohof) -- [#891](https://github.com/request/request/pull/891) fixes 857 - options object is mutated by calling request (@lalitkapoor) -- [#869](https://github.com/request/request/pull/869) Pipefilter test (@tgohn) -- [#866](https://github.com/request/request/pull/866) Fix typo (@dandv) -- [#861](https://github.com/request/request/pull/861) Add support for RFC 6750 Bearer Tokens (@phedny) -- [#809](https://github.com/request/request/pull/809) upgrade tunnel-proxy to 0.4.0 (@ksato9700) -- [#850](https://github.com/request/request/pull/850) Fix word consistency in readme (@0xNobody) -- [#810](https://github.com/request/request/pull/810) add some exposition to mpu example in README.md (@mikermcneil) -- [#840](https://github.com/request/request/pull/840) improve error reporting for invalid protocols (@FND) -- [#821](https://github.com/request/request/pull/821) added secureOptions back (@nw) -- [#815](https://github.com/request/request/pull/815) Create changelog based on pull requests (@lalitkapoor) - -### v2.34.0 (2014/02/18) -- [#516](https://github.com/request/request/pull/516) UNIX Socket URL Support (@lyuzashi) -- [#801](https://github.com/request/request/pull/801) 794 ignore cookie parsing and domain errors (@lalitkapoor) -- [#802](https://github.com/request/request/pull/802) Added the Apache license to the package.json. (@keskival) -- [#793](https://github.com/request/request/pull/793) Adds content-length calculation when submitting forms using form-data li... (@Juul) -- [#785](https://github.com/request/request/pull/785) Provide ability to override content-type when `json` option used (@vvo) -- [#781](https://github.com/request/request/pull/781) simpler isReadStream function (@joaojeronimo) - -### v2.32.0 (2014/01/16) -- [#767](https://github.com/request/request/pull/767) Use tough-cookie CookieJar sync API (@stash) -- [#764](https://github.com/request/request/pull/764) Case-insensitive authentication scheme (@bobyrizov) -- [#763](https://github.com/request/request/pull/763) Upgrade tough-cookie to 0.10.0 (@stash) -- [#744](https://github.com/request/request/pull/744) Use Cookie.parse (@lalitkapoor) -- [#757](https://github.com/request/request/pull/757) require aws-sign2 (@mafintosh) - -### v2.31.0 (2014/01/08) -- [#645](https://github.com/request/request/pull/645) update twitter api url to v1.1 (@mick) -- [#746](https://github.com/request/request/pull/746) README: Markdown code highlight (@weakish) -- [#745](https://github.com/request/request/pull/745) updating setCookie example to make it clear that the callback is required (@emkay) -- [#742](https://github.com/request/request/pull/742) Add note about JSON output body type (@iansltx) -- [#741](https://github.com/request/request/pull/741) README example is using old cookie jar api (@emkay) -- [#736](https://github.com/request/request/pull/736) Fix callback arguments documentation (@mmalecki) - -### v2.30.0 (2013/12/13) -- [#732](https://github.com/request/request/pull/732) JSHINT: Creating global 'for' variable. Should be 'for (var ...'. (@Fritz-Lium) -- [#730](https://github.com/request/request/pull/730) better HTTP DIGEST support (@dai-shi) -- [#728](https://github.com/request/request/pull/728) Fix TypeError when calling request.cookie (@scarletmeow) - -### v2.29.0 (2013/12/06) -- [#727](https://github.com/request/request/pull/727) fix requester bug (@jchris) - -### v2.28.0 (2013/12/04) -- [#724](https://github.com/request/request/pull/724) README.md: add custom HTTP Headers example. (@tcort) -- [#719](https://github.com/request/request/pull/719) Made a comment gender neutral. (@oztu) -- [#715](https://github.com/request/request/pull/715) Request.multipart no longer crashes when header 'Content-type' present (@pastaclub) -- [#710](https://github.com/request/request/pull/710) Fixing listing in callback part of docs. (@lukasz-zak) -- [#696](https://github.com/request/request/pull/696) Edited README.md for formatting and clarity of phrasing (@Zearin) -- [#694](https://github.com/request/request/pull/694) Typo in README (@VRMink) -- [#690](https://github.com/request/request/pull/690) Handle blank password in basic auth. (@diversario) -- [#682](https://github.com/request/request/pull/682) Optional dependencies (@Turbo87) -- [#683](https://github.com/request/request/pull/683) Travis CI support (@Turbo87) -- [#674](https://github.com/request/request/pull/674) change cookie module,to tough-cookie.please check it . (@sxyizhiren) -- [#666](https://github.com/request/request/pull/666) make `ciphers` and `secureProtocol` to work in https request (@richarddong) -- [#656](https://github.com/request/request/pull/656) Test case for #304. (@diversario) -- [#662](https://github.com/request/request/pull/662) option.tunnel to explicitly disable tunneling (@seanmonstar) -- [#659](https://github.com/request/request/pull/659) fix failure when running with NODE_DEBUG=request, and a test for that (@jrgm) -- [#630](https://github.com/request/request/pull/630) Send random cnonce for HTTP Digest requests (@wprl) - -### v2.27.0 (2013/08/15) -- [#619](https://github.com/request/request/pull/619) decouple things a bit (@joaojeronimo) - -### v2.26.0 (2013/08/07) -- [#613](https://github.com/request/request/pull/613) Fixes #583, moved initialization of self.uri.pathname (@lexander) -- [#605](https://github.com/request/request/pull/605) Only include ":" + pass in Basic Auth if it's defined (fixes #602) (@bendrucker) - -### v2.24.0 (2013/07/23) -- [#596](https://github.com/request/request/pull/596) Global agent is being used when pool is specified (@Cauldrath) -- [#594](https://github.com/request/request/pull/594) Emit complete event when there is no callback (@RomainLK) -- [#601](https://github.com/request/request/pull/601) Fixed a small typo (@michalstanko) - -### v2.23.0 (2013/07/23) -- [#589](https://github.com/request/request/pull/589) Prevent setting headers after they are sent (@geek) -- [#587](https://github.com/request/request/pull/587) Global cookie jar disabled by default (@threepointone) - -### v2.22.0 (2013/07/05) -- [#544](https://github.com/request/request/pull/544) Update http-signature version. (@davidlehn) -- [#581](https://github.com/request/request/pull/581) Fix spelling of "ignoring." (@bigeasy) -- [#568](https://github.com/request/request/pull/568) use agentOptions to create agent when specified in request (@SamPlacette) -- [#564](https://github.com/request/request/pull/564) Fix redirections (@criloz) -- [#541](https://github.com/request/request/pull/541) The exported request function doesn't have an auth method (@tschaub) -- [#542](https://github.com/request/request/pull/542) Expose Request class (@regality) - -### v2.21.0 (2013/04/30) -- [#536](https://github.com/request/request/pull/536) Allow explicitly empty user field for basic authentication. (@mikeando) -- [#532](https://github.com/request/request/pull/532) fix typo (@fredericosilva) -- [#497](https://github.com/request/request/pull/497) Added redirect event (@Cauldrath) -- [#503](https://github.com/request/request/pull/503) Fix basic auth for passwords that contain colons (@tonistiigi) -- [#521](https://github.com/request/request/pull/521) Improving test-localAddress.js (@noway421) -- [#529](https://github.com/request/request/pull/529) dependencies versions bump (@jodaka) - -### v2.17.0 (2013/04/22) -- [#523](https://github.com/request/request/pull/523) Updating dependencies (@noway421) -- [#520](https://github.com/request/request/pull/520) Fixing test-tunnel.js (@noway421) -- [#519](https://github.com/request/request/pull/519) Update internal path state on post-creation QS changes (@jblebrun) -- [#510](https://github.com/request/request/pull/510) Add HTTP Signature support. (@davidlehn) -- [#502](https://github.com/request/request/pull/502) Fix POST (and probably other) requests that are retried after 401 Unauthorized (@nylen) -- [#508](https://github.com/request/request/pull/508) Honor the .strictSSL option when using proxies (tunnel-agent) (@jhs) -- [#512](https://github.com/request/request/pull/512) Make password optional to support the format: http://username@hostname/ (@pajato1) -- [#513](https://github.com/request/request/pull/513) add 'localAddress' support (@yyfrankyy) -- [#498](https://github.com/request/request/pull/498) Moving response emit above setHeaders on destination streams (@kenperkins) -- [#490](https://github.com/request/request/pull/490) Empty response body (3-rd argument) must be passed to callback as an empty string (@Olegas) -- [#479](https://github.com/request/request/pull/479) Changing so if Accept header is explicitly set, sending json does not ov... (@RoryH) -- [#475](https://github.com/request/request/pull/475) Use `unescape` from `querystring` (@shimaore) -- [#473](https://github.com/request/request/pull/473) V0.10 compat (@isaacs) -- [#471](https://github.com/request/request/pull/471) Using querystring library from visionmedia (@kbackowski) -- [#461](https://github.com/request/request/pull/461) Strip the UTF8 BOM from a UTF encoded response (@kppullin) -- [#460](https://github.com/request/request/pull/460) hawk 0.10.0 (@hueniverse) -- [#462](https://github.com/request/request/pull/462) if query params are empty, then request path shouldn't end with a '?' (merges cleanly now) (@jaipandya) -- [#456](https://github.com/request/request/pull/456) hawk 0.9.0 (@hueniverse) -- [#429](https://github.com/request/request/pull/429) Copy options before adding callback. (@nrn) -- [#454](https://github.com/request/request/pull/454) Destroy the response if present when destroying the request (clean merge) (@mafintosh) -- [#310](https://github.com/request/request/pull/310) Twitter Oauth Stuff Out of Date; Now Updated (@joemccann) -- [#413](https://github.com/request/request/pull/413) rename googledoodle.png to .jpg (@nfriedly) -- [#448](https://github.com/request/request/pull/448) Convenience method for PATCH (@mloar) -- [#444](https://github.com/request/request/pull/444) protect against double callbacks on error path (@spollack) -- [#433](https://github.com/request/request/pull/433) Added support for HTTPS cert & key (@mmalecki) -- [#430](https://github.com/request/request/pull/430) Respect specified {Host,host} headers, not just {host} (@andrewschaaf) -- [#415](https://github.com/request/request/pull/415) Fixed a typo. (@jerem) -- [#338](https://github.com/request/request/pull/338) Add more auth options, including digest support (@nylen) -- [#403](https://github.com/request/request/pull/403) Optimize environment lookup to happen once only (@mmalecki) -- [#398](https://github.com/request/request/pull/398) Add more reporting to tests (@mmalecki) -- [#388](https://github.com/request/request/pull/388) Ensure "safe" toJSON doesn't break EventEmitters (@othiym23) -- [#381](https://github.com/request/request/pull/381) Resolving "Invalid signature. Expected signature base string: " (@landeiro) -- [#380](https://github.com/request/request/pull/380) Fixes missing host header on retried request when using forever agent (@mac-) -- [#376](https://github.com/request/request/pull/376) Headers lost on redirect (@kapetan) -- [#375](https://github.com/request/request/pull/375) Fix for missing oauth_timestamp parameter (@jplock) -- [#374](https://github.com/request/request/pull/374) Correct Host header for proxy tunnel CONNECT (@youurayy) -- [#370](https://github.com/request/request/pull/370) Twitter reverse auth uses x_auth_mode not x_auth_type (@drudge) -- [#369](https://github.com/request/request/pull/369) Don't remove x_auth_mode for Twitter reverse auth (@drudge) -- [#344](https://github.com/request/request/pull/344) Make AWS auth signing find headers correctly (@nlf) -- [#363](https://github.com/request/request/pull/363) rfc3986 on base_uri, now passes tests (@jeffmarshall) -- [#362](https://github.com/request/request/pull/362) Running `rfc3986` on `base_uri` in `oauth.hmacsign` instead of just `encodeURIComponent` (@jeffmarshall) -- [#361](https://github.com/request/request/pull/361) Don't create a Content-Length header if we already have it set (@danjenkins) -- [#360](https://github.com/request/request/pull/360) Delete self._form along with everything else on redirect (@jgautier) -- [#355](https://github.com/request/request/pull/355) stop sending erroneous headers on redirected requests (@azylman) -- [#332](https://github.com/request/request/pull/332) Fix #296 - Only set Content-Type if body exists (@Marsup) -- [#343](https://github.com/request/request/pull/343) Allow AWS to work in more situations, added a note in the README on its usage (@nlf) -- [#320](https://github.com/request/request/pull/320) request.defaults() doesn't need to wrap jar() (@StuartHarris) -- [#322](https://github.com/request/request/pull/322) Fix + test for piped into request bumped into redirect. #321 (@alexindigo) -- [#326](https://github.com/request/request/pull/326) Do not try to remove listener from an undefined connection (@strk) -- [#318](https://github.com/request/request/pull/318) Pass servername to tunneling secure socket creation (@isaacs) -- [#317](https://github.com/request/request/pull/317) Workaround for #313 (@isaacs) -- [#293](https://github.com/request/request/pull/293) Allow parser errors to bubble up to request (@mscdex) -- [#290](https://github.com/request/request/pull/290) A test for #289 (@isaacs) -- [#280](https://github.com/request/request/pull/280) Like in node.js print options if NODE_DEBUG contains the word request (@Filirom1) -- [#207](https://github.com/request/request/pull/207) Fix #206 Change HTTP/HTTPS agent when redirecting between protocols (@isaacs) -- [#214](https://github.com/request/request/pull/214) documenting additional behavior of json option (@jphaas) -- [#272](https://github.com/request/request/pull/272) Boundary begins with CRLF? (@elspoono) -- [#284](https://github.com/request/request/pull/284) Remove stray `console.log()` call in multipart generator. (@bcherry) -- [#241](https://github.com/request/request/pull/241) Composability updates suggested by issue #239 (@polotek) -- [#282](https://github.com/request/request/pull/282) OAuth Authorization header contains non-"oauth_" parameters (@jplock) -- [#279](https://github.com/request/request/pull/279) fix tests with boundary by injecting boundry from header (@benatkin) -- [#273](https://github.com/request/request/pull/273) Pipe back pressure issue (@mafintosh) -- [#268](https://github.com/request/request/pull/268) I'm not OCD seriously (@TehShrike) -- [#263](https://github.com/request/request/pull/263) Bug in OAuth key generation for sha1 (@nanodocumet) -- [#265](https://github.com/request/request/pull/265) uncaughtException when redirected to invalid URI (@naholyr) -- [#262](https://github.com/request/request/pull/262) JSON test should check for equality (@timshadel) -- [#261](https://github.com/request/request/pull/261) Setting 'pool' to 'false' does NOT disable Agent pooling (@timshadel) -- [#249](https://github.com/request/request/pull/249) Fix for the fix of your (closed) issue #89 where self.headers[content-length] is set to 0 for all methods (@sethbridges) -- [#255](https://github.com/request/request/pull/255) multipart allow body === '' ( the empty string ) (@Filirom1) -- [#260](https://github.com/request/request/pull/260) fixed just another leak of 'i' (@sreuter) -- [#246](https://github.com/request/request/pull/246) Fixing the set-cookie header (@jeromegn) -- [#243](https://github.com/request/request/pull/243) Dynamic boundary (@zephrax) -- [#240](https://github.com/request/request/pull/240) don't error when null is passed for options (@polotek) -- [#211](https://github.com/request/request/pull/211) Replace all occurrences of special chars in RFC3986 (@chriso) -- [#224](https://github.com/request/request/pull/224) Multipart content-type change (@janjongboom) -- [#217](https://github.com/request/request/pull/217) need to use Authorization (titlecase) header with Tumblr OAuth (@visnup) -- [#203](https://github.com/request/request/pull/203) Fix cookie and redirect bugs and add auth support for HTTPS tunnel (@milewise) -- [#199](https://github.com/request/request/pull/199) Tunnel (@isaacs) -- [#198](https://github.com/request/request/pull/198) Bugfix on forever usage of util.inherits (@isaacs) -- [#197](https://github.com/request/request/pull/197) Make ForeverAgent work with HTTPS (@isaacs) -- [#193](https://github.com/request/request/pull/193) Fixes GH-119 (@goatslacker) -- [#188](https://github.com/request/request/pull/188) Add abort support to the returned request (@itay) -- [#176](https://github.com/request/request/pull/176) Querystring option (@csainty) -- [#182](https://github.com/request/request/pull/182) Fix request.defaults to support (uri, options, callback) api (@twilson63) -- [#180](https://github.com/request/request/pull/180) Modified the post, put, head and del shortcuts to support uri optional param (@twilson63) -- [#179](https://github.com/request/request/pull/179) fix to add opts in .pipe(stream, opts) (@substack) -- [#177](https://github.com/request/request/pull/177) Issue #173 Support uri as first and optional config as second argument (@twilson63) -- [#170](https://github.com/request/request/pull/170) can't create a cookie in a wrapped request (defaults) (@fabianonunes) -- [#168](https://github.com/request/request/pull/168) Picking off an EasyFix by adding some missing mimetypes. (@serby) -- [#161](https://github.com/request/request/pull/161) Fix cookie jar/headers.cookie collision (#125) (@papandreou) -- [#162](https://github.com/request/request/pull/162) Fix issue #159 (@dpetukhov) -- [#90](https://github.com/request/request/pull/90) add option followAllRedirects to follow post/put redirects (@jroes) -- [#148](https://github.com/request/request/pull/148) Retry Agent (@thejh) -- [#146](https://github.com/request/request/pull/146) Multipart should respect content-type if previously set (@apeace) -- [#144](https://github.com/request/request/pull/144) added "form" option to readme (@petejkim) -- [#133](https://github.com/request/request/pull/133) Fixed cookies parsing (@afanasy) -- [#135](https://github.com/request/request/pull/135) host vs hostname (@iangreenleaf) -- [#132](https://github.com/request/request/pull/132) return the body as a Buffer when encoding is set to null (@jahewson) -- [#112](https://github.com/request/request/pull/112) Support using a custom http-like module (@jhs) -- [#104](https://github.com/request/request/pull/104) Cookie handling contains bugs (@janjongboom) -- [#121](https://github.com/request/request/pull/121) Another patch for cookie handling regression (@jhurliman) -- [#117](https://github.com/request/request/pull/117) Remove the global `i` (@3rd-Eden) -- [#110](https://github.com/request/request/pull/110) Update to Iris Couch URL (@jhs) -- [#86](https://github.com/request/request/pull/86) Can't post binary to multipart requests (@developmentseed) -- [#105](https://github.com/request/request/pull/105) added test for proxy option. (@dominictarr) -- [#102](https://github.com/request/request/pull/102) Implemented cookies - closes issue 82: https://github.com/mikeal/request/issues/82 (@alessioalex) -- [#97](https://github.com/request/request/pull/97) Typo in previous pull causes TypeError in non-0.5.11 versions (@isaacs) -- [#96](https://github.com/request/request/pull/96) Authless parsed url host support (@isaacs) -- [#81](https://github.com/request/request/pull/81) Enhance redirect handling (@danmactough) -- [#78](https://github.com/request/request/pull/78) Don't try to do strictSSL for non-ssl connections (@isaacs) -- [#76](https://github.com/request/request/pull/76) Bug when a request fails and a timeout is set (@Marsup) -- [#70](https://github.com/request/request/pull/70) add test script to package.json (@isaacs) -- [#73](https://github.com/request/request/pull/73) Fix #71 Respect the strictSSL flag (@isaacs) -- [#69](https://github.com/request/request/pull/69) Flatten chunked requests properly (@isaacs) -- [#67](https://github.com/request/request/pull/67) fixed global variable leaks (@aheckmann) -- [#66](https://github.com/request/request/pull/66) Do not overwrite established content-type headers for read stream deliver (@voodootikigod) -- [#53](https://github.com/request/request/pull/53) Parse json: Issue #51 (@benatkin) -- [#45](https://github.com/request/request/pull/45) Added timeout option (@mbrevoort) -- [#35](https://github.com/request/request/pull/35) The "end" event isn't emitted for some responses (@voxpelli) -- [#31](https://github.com/request/request/pull/31) Error on piping a request to a destination (@tobowers) \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/CONTRIBUTING.md b/netatmo-security-connector/NetatmoSecurity/node_modules/request/CONTRIBUTING.md deleted file mode 100644 index 06b1968..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/CONTRIBUTING.md +++ /dev/null @@ -1,44 +0,0 @@ -# This is an OPEN Open Source Project - ------------------------------------------ - -## What? - -Individuals making significant and valuable contributions are given -commit-access to the project to contribute as they see fit. This project is -more like an open wiki than a standard guarded open source project. - -## Rules - -There are a few basic ground-rules for contributors: - -1. **No `--force` pushes** or modifying the Git history in any way. -1. **Non-master branches** ought to be used for ongoing work. -1. **External API changes and significant modifications** ought to be subject - to an **internal pull-request** to solicit feedback from other contributors. -1. Internal pull-requests to solicit feedback are *encouraged* for any other - non-trivial contribution but left to the discretion of the contributor. -1. For significant changes wait a full 24 hours before merging so that active - contributors who are distributed throughout the world have a chance to weigh - in. -1. Contributors should attempt to adhere to the prevailing code-style. -1. Run `npm test` locally before submitting your PR, to catch any easy to miss - style & testing issues. To diagnose test failures, there are two ways to - run a single test file: - - `node_modules/.bin/taper tests/test-file.js` - run using the default - [`taper`](https://github.com/nylen/taper) test reporter. - - `node tests/test-file.js` - view the raw - [tap](https://testanything.org/) output. - - -## Releases - -Declaring formal releases remains the prerogative of the project maintainer. - -## Changes to this arrangement - -This is an experiment and feedback is welcome! This document may also be -subject to pull-requests or changes by contributors where you believe you have -something valuable to add or change. - ------------------------------------------ diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/request/LICENSE deleted file mode 100644 index a4a9aee..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/LICENSE +++ /dev/null @@ -1,55 +0,0 @@ -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/request/README.md deleted file mode 100644 index 2abc9e1..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/README.md +++ /dev/null @@ -1,1031 +0,0 @@ - -# Request - Simplified HTTP client - -[![npm package](https://nodei.co/npm/request.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/request/) - -[![Build status](https://img.shields.io/travis/request/request.svg?style=flat-square)](https://travis-ci.org/request/request) -[![Coverage](https://img.shields.io/coveralls/request/request.svg?style=flat-square)](https://coveralls.io/r/request/request) -[![Gitter](https://img.shields.io/badge/gitter-join_chat-blue.svg?style=flat-square)](https://gitter.im/request/request?utm_source=badge) - - -## Super simple to use - -Request is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default. - -```js -var request = require('request'); -request('http://www.google.com', function (error, response, body) { - if (!error && response.statusCode == 200) { - console.log(body) // Show the HTML for the Google homepage. - } -}) -``` - - -## Table of contents - -- [Streaming](#streaming) -- [Forms](#forms) -- [HTTP Authentication](#http-authentication) -- [Custom HTTP Headers](#custom-http-headers) -- [OAuth Signing](#oauth-signing) -- [Proxies](#proxies) -- [Unix Domain Sockets](#unix-domain-sockets) -- [TLS/SSL Protocol](#tlsssl-protocol) -- [Support for HAR 1.2](#support-for-har-12) -- [**All Available Options**](#requestoptions-callback) - -Request also offers [convenience methods](#convenience-methods) like -`request.defaults` and `request.post`, and there are -lots of [usage examples](#examples) and several -[debugging techniques](#debugging). - - ---- - - -## Streaming - -You can stream any response to a file stream. - -```js -request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png')) -``` - -You can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types (in this case `application/json`) and use the proper `content-type` in the PUT request (if the headers don’t already provide one). - -```js -fs.createReadStream('file.json').pipe(request.put('http://mysite.com/obj.json')) -``` - -Request can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers. - -```js -request.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png')) -``` - -Request emits a "response" event when a response is received. The `response` argument will be an instance of [http.IncomingMessage](http://nodejs.org/api/http.html#http_http_incomingmessage). - -```js -request - .get('http://google.com/img.png') - .on('response', function(response) { - console.log(response.statusCode) // 200 - console.log(response.headers['content-type']) // 'image/png' - }) - .pipe(request.put('http://mysite.com/img.png')) -``` - -To easily handle errors when streaming requests, listen to the `error` event before piping: - -```js -request - .get('http://mysite.com/doodle.png') - .on('error', function(err) { - console.log(err) - }) - .pipe(fs.createWriteStream('doodle.png')) -``` - -Now let’s get fancy. - -```js -http.createServer(function (req, resp) { - if (req.url === '/doodle.png') { - if (req.method === 'PUT') { - req.pipe(request.put('http://mysite.com/doodle.png')) - } else if (req.method === 'GET' || req.method === 'HEAD') { - request.get('http://mysite.com/doodle.png').pipe(resp) - } - } -}) -``` - -You can also `pipe()` from `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don't really care about security, you can do: - -```js -http.createServer(function (req, resp) { - if (req.url === '/doodle.png') { - var x = request('http://mysite.com/doodle.png') - req.pipe(x) - x.pipe(resp) - } -}) -``` - -And since `pipe()` returns the destination stream in ≥ Node 0.5.x you can do one line proxying. :) - -```js -req.pipe(request('http://mysite.com/doodle.png')).pipe(resp) -``` - -Also, none of this new functionality conflicts with requests previous features, it just expands them. - -```js -var r = request.defaults({'proxy':'http://localproxy.com'}) - -http.createServer(function (req, resp) { - if (req.url === '/doodle.png') { - r.get('http://google.com/doodle.png').pipe(resp) - } -}) -``` - -You can still use intermediate proxies, the requests will still follow HTTP forwards, etc. - -[back to top](#table-of-contents) - - ---- - - -## Forms - -`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API. - - -#### application/x-www-form-urlencoded (URL-Encoded Forms) - -URL-encoded forms are simple. - -```js -request.post('http://service.com/upload', {form:{key:'value'}}) -// or -request.post('http://service.com/upload').form({key:'value'}) -// or -request.post({url:'http://service.com/upload', form: {key:'value'}}, function(err,httpResponse,body){ /* ... */ }) -``` - - -#### multipart/form-data (Multipart Form Uploads) - -For `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). For the most cases, you can pass your upload form data via the `formData` option. - - -```js -var formData = { - // Pass a simple key-value pair - my_field: 'my_value', - // Pass data via Buffers - my_buffer: new Buffer([1, 2, 3]), - // Pass data via Streams - my_file: fs.createReadStream(__dirname + '/unicycle.jpg'), - // Pass multiple values /w an Array - attachments: [ - fs.createReadStream(__dirname + '/attachment1.jpg'), - fs.createReadStream(__dirname + '/attachment2.jpg') - ], - // Pass optional meta-data with an 'options' object with style: {value: DATA, options: OPTIONS} - // Use case: for some types of streams, you'll need to provide "file"-related information manually. - // See the `form-data` README for more information about options: https://github.com/felixge/node-form-data - custom_file: { - value: fs.createReadStream('/dev/urandom'), - options: { - filename: 'topsecret.jpg', - contentType: 'image/jpg' - } - } -}; -request.post({url:'http://service.com/upload', formData: formData}, function optionalCallback(err, httpResponse, body) { - if (err) { - return console.error('upload failed:', err); - } - console.log('Upload successful! Server responded with:', body); -}); -``` - -For advanced cases, you can access the form-data object itself via `r.form()`. This can be modified until the request is fired on the next cycle of the event-loop. (Note that this calling `form()` will clear the currently set form data for that request.) - -```js -// NOTE: Advanced use-case, for normal use see 'formData' usage above -var r = request.post('http://service.com/upload', function optionalCallback(err, httpResponse, body) { // ... - -var form = r.form(); -form.append('my_field', 'my_value'); -form.append('my_buffer', new Buffer([1, 2, 3])); -form.append('custom_file', fs.createReadStream(__dirname + '/unicycle.jpg'), {filename: 'unicycle.jpg'}); -``` -See the [form-data README](https://github.com/felixge/node-form-data) for more information & examples. - - -#### multipart/related - -Some variations in different HTTP implementations require a newline/CRLF before, after, or both before and after the boundary of a `multipart/related` request (using the multipart option). This has been observed in the .NET WebAPI version 4.0. You can turn on a boundary preambleCRLF or postamble by passing them as `true` to your request options. - -```js - request({ - method: 'PUT', - preambleCRLF: true, - postambleCRLF: true, - uri: 'http://service.com/upload', - multipart: [ - { - 'content-type': 'application/json' - body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}}) - }, - { body: 'I am an attachment' }, - { body: fs.createReadStream('image.png') } - ], - // alternatively pass an object containing additional options - multipart: { - chunked: false, - data: [ - { - 'content-type': 'application/json', - body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}}) - }, - { body: 'I am an attachment' } - ] - } - }, - function (error, response, body) { - if (error) { - return console.error('upload failed:', error); - } - console.log('Upload successful! Server responded with:', body); - }) -``` - -[back to top](#table-of-contents) - - ---- - - -## HTTP Authentication - -```js -request.get('http://some.server.com/').auth('username', 'password', false); -// or -request.get('http://some.server.com/', { - 'auth': { - 'user': 'username', - 'pass': 'password', - 'sendImmediately': false - } -}); -// or -request.get('http://some.server.com/').auth(null, null, true, 'bearerToken'); -// or -request.get('http://some.server.com/', { - 'auth': { - 'bearer': 'bearerToken' - } -}); -``` - -If passed as an option, `auth` should be a hash containing values: - -- `user` || `username` -- `pass` || `password` -- `sendImmediately` (optional) -- `bearer` (optional) - -The method form takes parameters -`auth(username, password, sendImmediately, bearer)`. - -`sendImmediately` defaults to `true`, which causes a basic or bearer -authentication header to be sent. If `sendImmediately` is `false`, then -`request` will retry with a proper authentication header after receiving a -`401` response from the server (which must contain a `WWW-Authenticate` header -indicating the required authentication method). - -Note that you can also specify basic authentication using the URL itself, as -detailed in [RFC 1738](http://www.ietf.org/rfc/rfc1738.txt). Simply pass the -`user:password` before the host with an `@` sign: - -```js -var username = 'username', - password = 'password', - url = 'http://' + username + ':' + password + '@some.server.com'; - -request({url: url}, function (error, response, body) { - // Do more stuff with 'body' here -}); -``` - -Digest authentication is supported, but it only works with `sendImmediately` -set to `false`; otherwise `request` will send basic authentication on the -initial request, which will probably cause the request to fail. - -Bearer authentication is supported, and is activated when the `bearer` value is -available. The value may be either a `String` or a `Function` returning a -`String`. Using a function to supply the bearer token is particularly useful if -used in conjuction with `defaults` to allow a single function to supply the -last known token at the time of sending a request, or to compute one on the fly. - -[back to top](#table-of-contents) - - ---- - - -## Custom HTTP Headers - -HTTP Headers, such as `User-Agent`, can be set in the `options` object. -In the example below, we call the github API to find out the number -of stars and forks for the request repository. This requires a -custom `User-Agent` header as well as https. - -```js -var request = require('request'); - -var options = { - url: 'https://api.github.com/repos/request/request', - headers: { - 'User-Agent': 'request' - } -}; - -function callback(error, response, body) { - if (!error && response.statusCode == 200) { - var info = JSON.parse(body); - console.log(info.stargazers_count + " Stars"); - console.log(info.forks_count + " Forks"); - } -} - -request(options, callback); -``` - -[back to top](#table-of-contents) - - ---- - - -## OAuth Signing - -[OAuth version 1.0](https://tools.ietf.org/html/rfc5849) is supported. The -default signing algorithm is -[HMAC-SHA1](https://tools.ietf.org/html/rfc5849#section-3.4.2): - -```js -// OAuth1.0 - 3-legged server side flow (Twitter example) -// step 1 -var qs = require('querystring') - , oauth = - { callback: 'http://mysite.com/callback/' - , consumer_key: CONSUMER_KEY - , consumer_secret: CONSUMER_SECRET - } - , url = 'https://api.twitter.com/oauth/request_token' - ; -request.post({url:url, oauth:oauth}, function (e, r, body) { - // Ideally, you would take the body in the response - // and construct a URL that a user clicks on (like a sign in button). - // The verifier is only available in the response after a user has - // verified with twitter that they are authorizing your app. - - // step 2 - var req_data = qs.parse(body) - var uri = 'https://api.twitter.com/oauth/authenticate' - + '?' + qs.stringify({oauth_token: req_data.oauth_token}) - // redirect the user to the authorize uri - - // step 3 - // after the user is redirected back to your server - var auth_data = qs.parse(body) - , oauth = - { consumer_key: CONSUMER_KEY - , consumer_secret: CONSUMER_SECRET - , token: auth_data.oauth_token - , token_secret: req_data.oauth_token_secret - , verifier: auth_data.oauth_verifier - } - , url = 'https://api.twitter.com/oauth/access_token' - ; - request.post({url:url, oauth:oauth}, function (e, r, body) { - // ready to make signed requests on behalf of the user - var perm_data = qs.parse(body) - , oauth = - { consumer_key: CONSUMER_KEY - , consumer_secret: CONSUMER_SECRET - , token: perm_data.oauth_token - , token_secret: perm_data.oauth_token_secret - } - , url = 'https://api.twitter.com/1.1/users/show.json' - , qs = - { screen_name: perm_data.screen_name - , user_id: perm_data.user_id - } - ; - request.get({url:url, oauth:oauth, json:true}, function (e, r, user) { - console.log(user) - }) - }) -}) -``` - -For [RSA-SHA1 signing](https://tools.ietf.org/html/rfc5849#section-3.4.3), make -the following changes to the OAuth options object: -* Pass `signature_method : 'RSA-SHA1'` -* Instead of `consumer_secret`, specify a `private_key` string in - [PEM format](http://how2ssl.com/articles/working_with_pem_files/) - -For [PLAINTEXT signing](http://oauth.net/core/1.0/#anchor22), make -the following changes to the OAuth options object: -* Pass `signature_method : 'PLAINTEXT'` - -To send OAuth parameters via query params or in a post body as described in The -[Consumer Request Parameters](http://oauth.net/core/1.0/#consumer_req_param) -section of the oauth1 spec: -* Pass `transport_method : 'query'` or `transport_method : 'body'` in the OAuth - options object. -* `transport_method` defaults to `'header'` - -[back to top](#table-of-contents) - - ---- - - -## Proxies - -If you specify a `proxy` option, then the request (and any subsequent -redirects) will be sent via a connection to the proxy server. - -If your endpoint is an `https` url, and you are using a proxy, then -request will send a `CONNECT` request to the proxy server *first*, and -then use the supplied connection to connect to the endpoint. - -That is, first it will make a request like: - -``` -HTTP/1.1 CONNECT endpoint-server.com:80 -Host: proxy-server.com -User-Agent: whatever user agent you specify -``` - -and then the proxy server make a TCP connection to `endpoint-server` -on port `80`, and return a response that looks like: - -``` -HTTP/1.1 200 OK -``` - -At this point, the connection is left open, and the client is -communicating directly with the `endpoint-server.com` machine. - -See [the wikipedia page on HTTP Tunneling](http://en.wikipedia.org/wiki/HTTP_tunnel) -for more information. - -By default, when proxying `http` traffic, request will simply make a -standard proxied `http` request. This is done by making the `url` -section of the initial line of the request a fully qualified url to -the endpoint. - -For example, it will make a single request that looks like: - -``` -HTTP/1.1 GET http://endpoint-server.com/some-url -Host: proxy-server.com -Other-Headers: all go here - -request body or whatever -``` - -Because a pure "http over http" tunnel offers no additional security -or other features, it is generally simpler to go with a -straightforward HTTP proxy in this case. However, if you would like -to force a tunneling proxy, you may set the `tunnel` option to `true`. - -You can also make a standard proxied `http` request by explicitly setting -`tunnel : false`, but **note that this will allow the proxy to see the traffic -to/from the destination server**. - -If you are using a tunneling proxy, you may set the -`proxyHeaderWhiteList` to share certain headers with the proxy. - -You can also set the `proxyHeaderExclusiveList` to share certain -headers only with the proxy and not with destination host. - -By default, this set is: - -``` -accept -accept-charset -accept-encoding -accept-language -accept-ranges -cache-control -content-encoding -content-language -content-length -content-location -content-md5 -content-range -content-type -connection -date -expect -max-forwards -pragma -proxy-authorization -referer -te -transfer-encoding -user-agent -via -``` - -Note that, when using a tunneling proxy, the `proxy-authorization` -header and any headers from custom `proxyHeaderExclusiveList` are -*never* sent to the endpoint server, but only to the proxy server. - - -### Controlling proxy behaviour using environment variables - -The following environment variables are respected by `request`: - - * `HTTP_PROXY` / `http_proxy` - * `HTTPS_PROXY` / `https_proxy` - * `NO_PROXY` / `no_proxy` - -When `HTTP_PROXY` / `http_proxy` are set, they will be used to proxy non-SSL requests that do not have an explicit `proxy` configuration option present. Similarly, `HTTPS_PROXY` / `https_proxy` will be respected for SSL requests that do not have an explicit `proxy` configuration option. It is valid to define a proxy in one of the environment variables, but then override it for a specific request, using the `proxy` configuration option. Furthermore, the `proxy` configuration option can be explicitly set to false / null to opt out of proxying altogether for that request. - -`request` is also aware of the `NO_PROXY`/`no_proxy` environment variables. These variables provide a granular way to opt out of proxying, on a per-host basis. It should contain a comma separated list of hosts to opt out of proxying. It is also possible to opt of proxying when a particular destination port is used. Finally, the variable may be set to `*` to opt out of the implicit proxy configuration of the other environment variables. - -Here's some examples of valid `no_proxy` values: - - * `google.com` - don't proxy HTTP/HTTPS requests to Google. - * `google.com:443` - don't proxy HTTPS requests to Google, but *do* proxy HTTP requests to Google. - * `google.com:443, yahoo.com:80` - don't proxy HTTPS requests to Google, and don't proxy HTTP requests to Yahoo! - * `*` - ignore `https_proxy`/`http_proxy` environment variables altogether. - -[back to top](#table-of-contents) - - ---- - - -## UNIX Domain Sockets - -`request` supports making requests to [UNIX Domain Sockets](http://en.wikipedia.org/wiki/Unix_domain_socket). To make one, use the following URL scheme: - -```js -/* Pattern */ 'http://unix:SOCKET:PATH' -/* Example */ request.get('http://unix:/absolute/path/to/unix.socket:/request/path') -``` - -Note: The `SOCKET` path is assumed to be absolute to the root of the host file system. - -[back to top](#table-of-contents) - - ---- - - -## TLS/SSL Protocol - -TLS/SSL Protocol options, such as `cert`, `key` and `passphrase`, can be -set in the `agentOptions` property of the `options` object. -In the example below, we call an API requires client side SSL certificate -(in PEM format) with passphrase protected private key (in PEM format) and disable the SSLv3 protocol: - -```js -var fs = require('fs') - , path = require('path') - , certFile = path.resolve(__dirname, 'ssl/client.crt') - , keyFile = path.resolve(__dirname, 'ssl/client.key') - , request = require('request'); - -var options = { - url: 'https://api.some-server.com/', - agentOptions: { - cert: fs.readFileSync(certFile), - key: fs.readFileSync(keyFile), - // Or use `pfx` property replacing `cert` and `key` when using private key, certificate and CA certs in PFX or PKCS12 format: - // pfx: fs.readFileSync(pfxFilePath), - passphrase: 'password', - securityOptions: 'SSL_OP_NO_SSLv3' - } -}; - -request.get(options); -``` - -It is able to force using SSLv3 only by specifying `secureProtocol`: - -```js -request.get({ - url: 'https://api.some-server.com/', - agentOptions: { - secureProtocol: 'SSLv3_method' - } -}); -``` - -It is possible to accept other certificates than those signed by generally allowed Certificate Authorities (CAs). -This can be useful, for example, when using self-signed certificates. -To allow a different certificate, you can specify the signing CA by adding the contents of the CA's certificate file to the `agentOptions`: - -```js -request.get({ - url: 'https://api.some-server.com/', - agentOptions: { - ca: fs.readFileSync('ca.cert.pem') - } -}); -``` - -[back to top](#table-of-contents) - - ---- - -## Support for HAR 1.2 - -The `options.har` property will override the values: `url`, `method`, `qs`, `headers`, `form`, `formData`, `body`, `json`, as well as construct multipart data and read files from disk when `request.postData.params[].fileName` is present without a matching `value`. - -a validation step will check if the HAR Request format matches the latest spec (v1.2) and will skip parsing if not matching. - -```js - var request = require('request') - request({ - // will be ignored - method: 'GET' - uri: 'http://www.google.com', - - // HTTP Archive Request Object - har: { - url: 'http://www.mockbin.com/har' - method: 'POST', - headers: [ - { - name: 'content-type', - value: 'application/x-www-form-urlencoded' - } - ], - postData: { - mimeType: 'application/x-www-form-urlencoded', - params: [ - { - name: 'foo', - value: 'bar' - }, - { - name: 'hello', - value: 'world' - } - ] - } - } - }) - - // a POST request will be sent to http://www.mockbin.com - // with body an application/x-www-form-urlencoded body: - // foo=bar&hello=world -``` - -[back to top](#table-of-contents) - - ---- - -## request(options, callback) - -The first argument can be either a `url` or an `options` object. The only required option is `uri`; all others are optional. - -- `uri` || `url` - fully qualified uri or a parsed url object from `url.parse()` -- `baseUrl` - fully qualified uri string used as the base url. Most useful with `request.defaults`, for example when you want to do many requests to the same domain. If `baseUrl` is `https://example.com/api/`, then requesting `/end/point?test=true` will fetch `https://example.com/api/end/point?test=true`. When `baseUrl` is given, `uri` must also be a string. -- `method` - http method (default: `"GET"`) -- `headers` - http headers (default: `{}`) - ---- - -- `qs` - object containing querystring values to be appended to the `uri` -- `qsParseOptions` - object containing options to pass to the [qs.parse](https://github.com/hapijs/qs#parsing-objects) method or [querystring.parse](https://nodejs.org/docs/v0.12.0/api/querystring.html#querystring_querystring_parse_str_sep_eq_options) method -- `qsStringifyOptions` - object containing options to pass to the [qs.stringify](https://github.com/hapijs/qs#stringifying) method or to the [querystring.stringify](https://nodejs.org/docs/v0.12.0/api/querystring.html#querystring_querystring_stringify_obj_sep_eq_options) method. For example, to change the way arrays are converted to query strings pass the `arrayFormat` option with one of `indices|brackets|repeat` -- `useQuerystring` - If true, use `querystring` to stringify and parse - querystrings, otherwise use `qs` (default: `false`). Set this option to - `true` if you need arrays to be serialized as `foo=bar&foo=baz` instead of the - default `foo[0]=bar&foo[1]=baz`. - ---- - -- `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer` or `String`, unless `json` is `true`. If `json` is `true`, then `body` must be a JSON-serializable object. -- `form` - when passed an object or a querystring, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded` header. When passed no options, a `FormData` instance is returned (and is piped to request). See "Forms" section above. -- `formData` - Data to pass for a `multipart/form-data` request. See - [Forms](#forms) section above. -- `multipart` - array of objects which contain their own headers and `body` - attributes. Sends a `multipart/related` request. See [Forms](#forms) section - above. - - Alternatively you can pass in an object `{chunked: false, data: []}` where - `chunked` is used to specify whether the request is sent in - [chunked transfer encoding](https://en.wikipedia.org/wiki/Chunked_transfer_encoding) - In non-chunked requests, data items with body streams are not allowed. -- `preambleCRLF` - append a newline/CRLF before the boundary of your `multipart/form-data` request. -- `postambleCRLF` - append a newline/CRLF at the end of the boundary of your `multipart/form-data` request. -- `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as JSON. -- `jsonReviver` - a [reviver function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) that will be passed to `JSON.parse()` when parsing a JSON response body. - ---- - -- `auth` - A hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). See documentation above. -- `oauth` - Options for OAuth HMAC-SHA1 signing. See documentation above. -- `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example). -- `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`. Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services) -- `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent's library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options. - ---- - -- `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`). This property can also be implemented as function which gets `response` object as a single argument and should return `true` if redirects should continue or `false` otherwise. -- `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`) -- `maxRedirects` - the maximum number of redirects to follow (default: `10`) - ---- - -- `encoding` - Encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`. Anything else **(including the default value of `undefined`)** will be passed as the [encoding](http://nodejs.org/api/buffer.html#buffer_buffer) parameter to `toString()` (meaning this is effectively `utf8` by default). -- `gzip` - If `true`, add an `Accept-Encoding` header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response. **Note:** Automatic decoding of the response content is performed on the body data returned through `request` (both through the `request` stream and passed to the callback function) but is not performed on the `response` stream (available from the `response` event) which is the unmodified `http.IncomingMessage` object which may contain compressed data. See example below. -- `jar` - If `true` and `tough-cookie` is installed, remember cookies for future use (or define your custom cookie jar; see examples section) - ---- - -- `pool` - An object describing which agents to use for the request. If this option is omitted the request will use the global agent (as long as [your options allow for it](request.js#L747)). Otherwise, request will search the pool for your custom agent. If no custom agent is found, a new agent will be created and added to the pool. - - A `maxSockets` property can also be provided on the `pool` object to set the max number of sockets for all agents created (ex: `pool: {maxSockets: Infinity}`). - - Note that if you are sending multiple requests in a loop and creating - multiple new `pool` objects, `maxSockets` will not work as intended. To - work around this, either use [`request.defaults`](#requestdefaultsoptions) - with your pool options or create the pool object with the `maxSockets` - property outside of the loop. -- `timeout` - Integer containing the number of milliseconds to wait for a - request to respond before aborting the request. Note that if the underlying - TCP connection cannot be established, the OS-wide TCP connection timeout will - overrule the `timeout` option ([the default in Linux is around 20 seconds](http://www.sekuda.com/overriding_the_default_linux_kernel_20_second_tcp_socket_connect_timeout)). -- `localAddress` - Local interface to bind for network connections. -- `proxy` - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`) -- `strictSSL` - If `true`, requires SSL certificates be valid. **Note:** to use your own certificate authority, you need to specify an agent that was created with that CA as an option. -- `agentOptions` - Object containing user agent options. See documentation above. **Note:** [see tls API doc for TLS/SSL options](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback). -- `tunnel` - controls the behavior of - [HTTP `CONNECT` tunneling](https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_tunneling) - as follows: - - `undefined` (default) - `true` if the destination is `https` or a previous - request in the redirect chain used a tunneling proxy, `false` otherwise - - `true` - always tunnel to the destination by making a `CONNECT` request to - the proxy - - `false` - request the destination as a `GET` request. -- `proxyHeaderWhiteList` - A whitelist of headers to send to a - tunneling proxy. -- `proxyHeaderExclusiveList` - A whitelist of headers to send - exclusively to a tunneling proxy and not to destination. -- `removeRefererHeader` - removes the referer header when a redirect happens (default: `false`). - ---- - -- `time` - If `true`, the request-response cycle (including all redirects) is timed at millisecond resolution, and the result provided on the response's `elapsedTime` property. - ---- - -- `har` - A [HAR 1.2 Request Object](http://www.softwareishard.com/blog/har-12-spec/#request), will be processed from HAR format into options overwriting matching values *(see the [HAR 1.2 section](#support-for-har-1.2) for details)* - -The callback argument gets 3 arguments: - -1. An `error` when applicable (usually from [`http.ClientRequest`](http://nodejs.org/api/http.html#http_class_http_clientrequest) object) -2. An [`http.IncomingMessage`](http://nodejs.org/api/http.html#http_http_incomingmessage) object -3. The third is the `response` body (`String` or `Buffer`, or JSON object if the `json` option is supplied) - -[back to top](#table-of-contents) - - ---- - -## Convenience methods - -There are also shorthand methods for different HTTP METHODs and some other conveniences. - - -### request.defaults(options) - -This method **returns a wrapper** around the normal request API that defaults -to whatever options you pass to it. - -**Note:** `request.defaults()` **does not** modify the global request API; -instead, it **returns a wrapper** that has your default settings applied to it. - -**Note:** You can call `.defaults()` on the wrapper that is returned from -`request.defaults` to add/override defaults that were previously defaulted. - -For example: -```js -//requests using baseRequest() will set the 'x-token' header -var baseRequest = request.defaults({ - headers: {x-token: 'my-token'} -}) - -//requests using specialRequest() will include the 'x-token' header set in -//baseRequest and will also include the 'special' header -var specialRequest = baseRequest.defaults({ - headers: {special: 'special value'} -}) -``` - -### request.put - -Same as `request()`, but defaults to `method: "PUT"`. - -```js -request.put(url) -``` - -### request.patch - -Same as `request()`, but defaults to `method: "PATCH"`. - -```js -request.patch(url) -``` - -### request.post - -Same as `request()`, but defaults to `method: "POST"`. - -```js -request.post(url) -``` - -### request.head - -Same as `request()`, but defaults to `method: "HEAD"`. - -```js -request.head(url) -``` - -### request.del - -Same as `request()`, but defaults to `method: "DELETE"`. - -```js -request.del(url) -``` - -### request.get - -Same as `request()` (for uniformity). - -```js -request.get(url) -``` -### request.cookie - -Function that creates a new cookie. - -```js -request.cookie('key1=value1') -``` -### request.jar() - -Function that creates a new cookie jar. - -```js -request.jar() -``` - -[back to top](#table-of-contents) - - ---- - - -## Debugging - -There are at least three ways to debug the operation of `request`: - -1. Launch the node process like `NODE_DEBUG=request node script.js` - (`lib,request,otherlib` works too). - -2. Set `require('request').debug = true` at any time (this does the same thing - as #1). - -3. Use the [request-debug module](https://github.com/nylen/request-debug) to - view request and response headers and bodies. - -[back to top](#table-of-contents) - - ---- - - -## Examples: - -```js - var request = require('request') - , rand = Math.floor(Math.random()*100000000).toString() - ; - request( - { method: 'PUT' - , uri: 'http://mikeal.iriscouch.com/testjs/' + rand - , multipart: - [ { 'content-type': 'application/json' - , body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}}) - } - , { body: 'I am an attachment' } - ] - } - , function (error, response, body) { - if(response.statusCode == 201){ - console.log('document saved as: http://mikeal.iriscouch.com/testjs/'+ rand) - } else { - console.log('error: '+ response.statusCode) - console.log(body) - } - } - ) -``` - -For backwards-compatibility, response compression is not supported by default. -To accept gzip-compressed responses, set the `gzip` option to `true`. Note -that the body data passed through `request` is automatically decompressed -while the response object is unmodified and will contain compressed data if -the server sent a compressed response. - -```js - var request = require('request') - request( - { method: 'GET' - , uri: 'http://www.google.com' - , gzip: true - } - , function (error, response, body) { - // body is the decompressed response body - console.log('server encoded the data as: ' + (response.headers['content-encoding'] || 'identity')) - console.log('the decoded data is: ' + body) - } - ).on('data', function(data) { - // decompressed data as it is received - console.log('decoded chunk: ' + data) - }) - .on('response', function(response) { - // unmodified http.IncomingMessage object - response.on('data', function(data) { - // compressed data as it is received - console.log('received ' + data.length + ' bytes of compressed data') - }) - }) -``` - -Cookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`) and install `tough-cookie`. - -```js -var request = request.defaults({jar: true}) -request('http://www.google.com', function () { - request('http://images.google.com') -}) -``` - -To use a custom cookie jar (instead of `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`) - -```js -var j = request.jar() -var request = request.defaults({jar:j}) -request('http://www.google.com', function () { - request('http://images.google.com') -}) -``` - -OR - -```js -var j = request.jar(); -var cookie = request.cookie('key1=value1'); -var url = 'http://www.google.com'; -j.setCookie(cookie, url); -request({url: url, jar: j}, function () { - request('http://images.google.com') -}) -``` - -To use a custom cookie store (such as a -[`FileCookieStore`](https://github.com/mitsuru/tough-cookie-filestore) -which supports saving to and restoring from JSON files), pass it as a parameter -to `request.jar()`: - -```js -var FileCookieStore = require('tough-cookie-filestore'); -// NOTE - currently the 'cookies.json' file must already exist! -var j = request.jar(new FileCookieStore('cookies.json')); -request = request.defaults({ jar : j }) -request('http://www.google.com', function() { - request('http://images.google.com') -}) -``` - -The cookie store must be a -[`tough-cookie`](https://github.com/goinstant/tough-cookie) -store and it must support synchronous operations; see the -[`CookieStore` API docs](https://github.com/goinstant/tough-cookie/#cookiestore-api) -for details. - -To inspect your cookie jar after a request: - -```js -var j = request.jar() -request({url: 'http://www.google.com', jar: j}, function () { - var cookie_string = j.getCookieString(uri); // "key1=value1; key2=value2; ..." - var cookies = j.getCookies(uri); - // [{key: 'key1', value: 'value1', domain: "www.google.com", ...}, ...] -}) -``` - -[back to top](#table-of-contents) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/disabled.appveyor.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/request/disabled.appveyor.yml deleted file mode 100644 index 238f3d6..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/disabled.appveyor.yml +++ /dev/null @@ -1,36 +0,0 @@ -# http://www.appveyor.com/docs/appveyor-yml - -# Fix line endings in Windows. (runs before repo cloning) -init: - - git config --global core.autocrlf input - -# Test against these versions of Node.js. -environment: - matrix: - - nodejs_version: "0.10" - - nodejs_version: "0.8" - - nodejs_version: "0.11" - -# Allow failing jobs for bleeding-edge Node.js versions. -matrix: - allow_failures: - - nodejs_version: "0.11" - -# Install scripts. (runs after repo cloning) -install: - # Get the latest stable version of Node 0.STABLE.latest - - ps: Update-NodeJsInstallation (Get-NodeJsLatestBuild $env:nodejs_version) - # Typical npm stuff. - - npm install - -# Post-install test scripts. -test_script: - # Output useful info for debugging. - - ps: "npm test # PowerShell" # Pass comment to PS for easier debugging - - cmd: npm test - -# Don't actually build. -build: off - -# Set build version format here instead of in the admin panel. -version: "{build}" diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/examples/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/request/examples/README.md deleted file mode 100644 index 526d71b..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/examples/README.md +++ /dev/null @@ -1,115 +0,0 @@ - -# Authentication - -## OAuth - -### OAuth1.0 Refresh Token - -- http://oauth.googlecode.com/svn/spec/ext/session/1.0/drafts/1/spec.html#anchor4 -- https://developer.yahoo.com/oauth/guide/oauth-refreshaccesstoken.html - -```js -request.post('https://api.login.yahoo.com/oauth/v2/get_token', { - oauth: { - consumer_key: '...', - consumer_secret: '...', - token: '...', - token_secret: '...', - session_handle: '...' - } -}, function (err, res, body) { - var result = require('querystring').parse(body) - // assert.equal(typeof result, 'object') -}) -``` - -### OAuth2 Refresh Token - -- https://tools.ietf.org/html/draft-ietf-oauth-v2-31#section-6 - -```js -request.post('https://accounts.google.com/o/oauth2/token', { - form: { - grant_type: 'refresh_token', - client_id: '...', - client_secret: '...', - refresh_token: '...' - }, - json: true -}, function (err, res, body) { - // assert.equal(typeof body, 'object') -}) -``` - -# Multipart - -## multipart/form-data - -### Flickr Image Upload - -- https://www.flickr.com/services/api/upload.api.html - -```js -request.post('https://up.flickr.com/services/upload', { - oauth: { - consumer_key: '...', - consumer_secret: '...', - token: '...', - token_secret: '...' - }, - // all meta data should be included here for proper signing - qs: { - title: 'My cat is awesome', - description: 'Sent on ' + new Date(), - is_public: 1 - }, - // again the same meta data + the actual photo - formData: { - title: 'My cat is awesome', - description: 'Sent on ' + new Date(), - is_public: 1, - photo:fs.createReadStream('cat.png') - }, - json: true -}, function (err, res, body) { - // assert.equal(typeof body, 'object') -}) -``` - -# Streams - -## `POST` data - -Use Request as a Writable stream to easily `POST` Readable streams (like files, other HTTP requests, or otherwise). - -TL;DR: Pipe a Readable Stream onto Request via: - -``` -READABLE.pipe(request.post(URL)); -``` - -A more detailed example: - -```js -var fs = require('fs') - , path = require('path') - , http = require('http') - , request = require('request') - , TMP_FILE_PATH = path.join(path.sep, 'tmp', 'foo') -; - -// write a temporary file: -fs.writeFileSync(TMP_FILE_PATH, 'foo bar baz quk\n'); - -http.createServer(function(req, res) { - console.log('the server is receiving data!\n'); - req - .on('end', res.end.bind(res)) - .pipe(process.stdout) - ; -}).listen(3000).unref(); - -fs.createReadStream(TMP_FILE_PATH) - .pipe(request.post('http://127.0.0.1:3000')) -; -``` diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/index.js deleted file mode 100644 index 3474840..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/index.js +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright 2010-2012 Mikeal Rogers -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -'use strict' - -var extend = require('util')._extend - , cookies = require('./lib/cookies') - , helpers = require('./lib/helpers') - -var isFunction = helpers.isFunction - , paramsHaveRequestBody = helpers.paramsHaveRequestBody - - -// organize params for patch, post, put, head, del -function initParams(uri, options, callback) { - if (typeof options === 'function') { - callback = options - } - - var params = {} - if (typeof options === 'object') { - params = extend({}, options) - params = extend(params, {uri: uri}) - } else if (typeof uri === 'string') { - params = extend({}, {uri: uri}) - } else { - params = extend({}, uri) - } - - params.callback = callback - return params -} - -function request (uri, options, callback) { - if (typeof uri === 'undefined') { - throw new Error('undefined is not a valid uri or options object.') - } - - var params = initParams(uri, options, callback) - - if (params.method === 'HEAD' && paramsHaveRequestBody(params)) { - throw new Error('HTTP HEAD requests MUST NOT include a request body.') - } - - return new request.Request(params) -} - -var verbs = ['get', 'head', 'post', 'put', 'patch', 'del'] - -verbs.forEach(function(verb) { - var method = verb === 'del' ? 'DELETE' : verb.toUpperCase() - request[verb] = function (uri, options, callback) { - var params = initParams(uri, options, callback) - params.method = method - return request(params, params.callback) - } -}) - -request.jar = function (store) { - return cookies.jar(store) -} - -request.cookie = function (str) { - return cookies.parse(str) -} - -function wrapRequestMethod (method, options, requester) { - - return function (uri, opts, callback) { - var params = initParams(uri, opts, callback) - - var headerlessOptions = extend({}, options) - delete headerlessOptions.headers - params = extend(headerlessOptions, params) - - if (options.headers) { - var headers = extend({}, options.headers) - params.headers = extend(headers, params.headers) - } - - if (typeof method === 'string') { - params.method = (method === 'del' ? 'DELETE' : method.toUpperCase()) - method = request[method] - } - - if (isFunction(requester)) { - method = requester - } - - return method(params, params.callback) - } -} - -request.defaults = function (options, requester) { - var self = this - - if (typeof options === 'function') { - requester = options - options = {} - } - - var defaults = wrapRequestMethod(self, options, requester) - - var verbs = ['get', 'head', 'post', 'put', 'patch', 'del'] - verbs.forEach(function(verb) { - defaults[verb] = wrapRequestMethod(verb, options, requester) - }) - - defaults.cookie = wrapRequestMethod(self.cookie, options, requester) - defaults.jar = self.jar - defaults.defaults = self.defaults - return defaults -} - -request.forever = function (agentOptions, optionsArg) { - var options = {} - if (optionsArg) { - options = extend({}, optionsArg) - } - if (agentOptions) { - options.agentOptions = agentOptions - } - - options.forever = true - return request.defaults(options) -} - -// Exports - -module.exports = request -request.Request = require('./request') -request.initParams = initParams - -// Backwards compatibility for request.debug -Object.defineProperty(request, 'debug', { - enumerable : true, - get : function() { - return request.Request.debug - }, - set : function(debug) { - request.Request.debug = debug - } -}) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/auth.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/auth.js deleted file mode 100644 index 13c3ac8..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/auth.js +++ /dev/null @@ -1,153 +0,0 @@ -'use strict' - -var caseless = require('caseless') - , uuid = require('node-uuid') - , helpers = require('./helpers') - -var md5 = helpers.md5 - , toBase64 = helpers.toBase64 - - -function Auth (request) { - // define all public properties here - this.request = request - this.hasAuth = false - this.sentAuth = false - this.bearerToken = null - this.user = null - this.pass = null -} - -Auth.prototype.basic = function (user, pass, sendImmediately) { - var self = this - if (typeof user !== 'string' || (pass !== undefined && typeof pass !== 'string')) { - throw new Error('auth() received invalid user or password') - } - self.user = user - self.pass = pass - self.hasAuth = true - var header = user + ':' + (pass || '') - if (sendImmediately || typeof sendImmediately === 'undefined') { - var authHeader = 'Basic ' + toBase64(header) - self.sentAuth = true - return authHeader - } -} - -Auth.prototype.bearer = function (bearer, sendImmediately) { - var self = this - self.bearerToken = bearer - self.hasAuth = true - if (sendImmediately || typeof sendImmediately === 'undefined') { - if (typeof bearer === 'function') { - bearer = bearer() - } - var authHeader = 'Bearer ' + (bearer || '') - self.sentAuth = true - return authHeader - } -} - -Auth.prototype.digest = function (method, path, authHeader) { - // TODO: More complete implementation of RFC 2617. - // - check challenge.algorithm - // - support algorithm="MD5-sess" - // - handle challenge.domain - // - support qop="auth-int" only - // - handle Authentication-Info (not necessarily?) - // - check challenge.stale (not necessarily?) - // - increase nc (not necessarily?) - // For reference: - // http://tools.ietf.org/html/rfc2617#section-3 - // https://github.com/bagder/curl/blob/master/lib/http_digest.c - - var self = this - - var challenge = {} - var re = /([a-z0-9_-]+)=(?:"([^"]+)"|([a-z0-9_-]+))/gi - for (;;) { - var match = re.exec(authHeader) - if (!match) { - break - } - challenge[match[1]] = match[2] || match[3] - } - - var ha1 = md5(self.user + ':' + challenge.realm + ':' + self.pass) - var ha2 = md5(method + ':' + path) - var qop = /(^|,)\s*auth\s*($|,)/.test(challenge.qop) && 'auth' - var nc = qop && '00000001' - var cnonce = qop && uuid().replace(/-/g, '') - var digestResponse = qop - ? md5(ha1 + ':' + challenge.nonce + ':' + nc + ':' + cnonce + ':' + qop + ':' + ha2) - : md5(ha1 + ':' + challenge.nonce + ':' + ha2) - var authValues = { - username: self.user, - realm: challenge.realm, - nonce: challenge.nonce, - uri: path, - qop: qop, - response: digestResponse, - nc: nc, - cnonce: cnonce, - algorithm: challenge.algorithm, - opaque: challenge.opaque - } - - authHeader = [] - for (var k in authValues) { - if (authValues[k]) { - if (k === 'qop' || k === 'nc' || k === 'algorithm') { - authHeader.push(k + '=' + authValues[k]) - } else { - authHeader.push(k + '="' + authValues[k] + '"') - } - } - } - authHeader = 'Digest ' + authHeader.join(', ') - self.sentAuth = true - return authHeader -} - -Auth.prototype.onRequest = function (user, pass, sendImmediately, bearer) { - var self = this - , request = self.request - - var authHeader - if (bearer === undefined && user === undefined) { - throw new Error('no auth mechanism defined') - } else if (bearer !== undefined) { - authHeader = self.bearer(bearer, sendImmediately) - } else { - authHeader = self.basic(user, pass, sendImmediately) - } - if (authHeader) { - request.setHeader('authorization', authHeader) - } -} - -Auth.prototype.onResponse = function (response) { - var self = this - , request = self.request - - if (!self.hasAuth || self.sentAuth) { return null } - - var c = caseless(response.headers) - - var authHeader = c.get('www-authenticate') - var authVerb = authHeader && authHeader.split(' ')[0].toLowerCase() - // debug('reauth', authVerb) - - switch (authVerb) { - case 'basic': - return self.basic(self.user, self.pass, true) - - case 'bearer': - return self.bearer(self.bearerToken, true) - - case 'digest': - return self.digest(request.method, request.path, authHeader) - } -} - -exports.Auth = Auth diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/cookies.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/cookies.js deleted file mode 100644 index adde7c6..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/cookies.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict' - -var tough = require('tough-cookie') - -var Cookie = tough.Cookie - , CookieJar = tough.CookieJar - - -exports.parse = function(str) { - if (str && str.uri) { - str = str.uri - } - if (typeof str !== 'string') { - throw new Error('The cookie function only accepts STRING as param') - } - return Cookie.parse(str) -} - -// Adapt the sometimes-Async api of tough.CookieJar to our requirements -function RequestJar(store) { - var self = this - self._jar = new CookieJar(store) -} -RequestJar.prototype.setCookie = function(cookieOrStr, uri, options) { - var self = this - return self._jar.setCookieSync(cookieOrStr, uri, options || {}) -} -RequestJar.prototype.getCookieString = function(uri) { - var self = this - return self._jar.getCookieStringSync(uri) -} -RequestJar.prototype.getCookies = function(uri) { - var self = this - return self._jar.getCookiesSync(uri) -} - -exports.jar = function(store) { - return new RequestJar(store) -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/copy.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/copy.js deleted file mode 100644 index ad162a5..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/copy.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict' - -module.exports = -function copy (obj) { - var o = {} - Object.keys(obj).forEach(function (i) { - o[i] = obj[i] - }) - return o -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/getProxyFromURI.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/getProxyFromURI.js deleted file mode 100644 index c2013a6..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/getProxyFromURI.js +++ /dev/null @@ -1,79 +0,0 @@ -'use strict' - -function formatHostname(hostname) { - // canonicalize the hostname, so that 'oogle.com' won't match 'google.com' - return hostname.replace(/^\.*/, '.').toLowerCase() -} - -function parseNoProxyZone(zone) { - zone = zone.trim().toLowerCase() - - var zoneParts = zone.split(':', 2) - , zoneHost = formatHostname(zoneParts[0]) - , zonePort = zoneParts[1] - , hasPort = zone.indexOf(':') > -1 - - return {hostname: zoneHost, port: zonePort, hasPort: hasPort} -} - -function uriInNoProxy(uri, noProxy) { - var port = uri.port || (uri.protocol === 'https:' ? '443' : '80') - , hostname = formatHostname(uri.hostname) - , noProxyList = noProxy.split(',') - - // iterate through the noProxyList until it finds a match. - return noProxyList.map(parseNoProxyZone).some(function(noProxyZone) { - var isMatchedAt = hostname.indexOf(noProxyZone.hostname) - , hostnameMatched = ( - isMatchedAt > -1 && - (isMatchedAt === hostname.length - noProxyZone.hostname.length) - ) - - if (noProxyZone.hasPort) { - return (port === noProxyZone.port) && hostnameMatched - } - - return hostnameMatched - }) -} - -function getProxyFromURI(uri) { - // Decide the proper request proxy to use based on the request URI object and the - // environmental variables (NO_PROXY, HTTP_PROXY, etc.) - // respect NO_PROXY environment variables (see: http://lynx.isc.org/current/breakout/lynx_help/keystrokes/environments.html) - - var noProxy = process.env.NO_PROXY || process.env.no_proxy || '' - - // if the noProxy is a wildcard then return null - - if (noProxy === '*') { - return null - } - - // if the noProxy is not empty and the uri is found return null - - if (noProxy !== '' && uriInNoProxy(uri, noProxy)) { - return null - } - - // Check for HTTP or HTTPS Proxy in environment Else default to null - - if (uri.protocol === 'http:') { - return process.env.HTTP_PROXY || - process.env.http_proxy || null - } - - if (uri.protocol === 'https:') { - return process.env.HTTPS_PROXY || - process.env.https_proxy || - process.env.HTTP_PROXY || - process.env.http_proxy || null - } - - // if none of that works, return null - // (What uri protocol are you using then?) - - return null -} - -module.exports = getProxyFromURI diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/har.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/har.js deleted file mode 100644 index 83453a3..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/har.js +++ /dev/null @@ -1,205 +0,0 @@ -'use strict' - -var fs = require('fs') -var qs = require('querystring') -var validate = require('har-validator') -var util = require('util') - -function Har (request) { - this.request = request -} - -Har.prototype.reducer = function (obj, pair) { - // new property ? - if (obj[pair.name] === undefined) { - obj[pair.name] = pair.value - return obj - } - - // existing? convert to array - var arr = [ - obj[pair.name], - pair.value - ] - - obj[pair.name] = arr - - return obj -} - -Har.prototype.prep = function (data) { - // construct utility properties - data.queryObj = {} - data.headersObj = {} - data.postData.jsonObj = false - data.postData.paramsObj = false - - // construct query objects - if (data.queryString && data.queryString.length) { - data.queryObj = data.queryString.reduce(this.reducer, {}) - } - - // construct headers objects - if (data.headers && data.headers.length) { - // loweCase header keys - data.headersObj = data.headers.reduceRight(function (headers, header) { - headers[header.name] = header.value - return headers - }, {}) - } - - // construct Cookie header - if (data.cookies && data.cookies.length) { - var cookies = data.cookies.map(function (cookie) { - return cookie.name + '=' + cookie.value - }) - - if (cookies.length) { - data.headersObj.cookie = cookies.join('; ') - } - } - - // prep body - switch (data.postData.mimeType) { - case 'multipart/mixed': - case 'multipart/related': - case 'multipart/form-data': - case 'multipart/alternative': - // reset values - data.postData.mimeType = 'multipart/form-data' - break - - case 'application/x-www-form-urlencoded': - if (!data.postData.params) { - data.postData.text = '' - } else { - data.postData.paramsObj = data.postData.params.reduce(this.reducer, {}) - - // always overwrite - data.postData.text = qs.stringify(data.postData.paramsObj) - } - break - - case 'text/json': - case 'text/x-json': - case 'application/json': - case 'application/x-json': - data.postData.mimeType = 'application/json' - - if (data.postData.text) { - try { - data.postData.jsonObj = JSON.parse(data.postData.text) - } catch (e) { - this.request.debug(e) - - // force back to text/plain - data.postData.mimeType = 'text/plain' - } - } - break - } - - return data -} - -Har.prototype.options = function (options) { - // skip if no har property defined - if (!options.har) { - return options - } - - var har = util._extend({}, options.har) - - // only process the first entry - if (har.log && har.log.entries) { - har = har.log.entries[0] - } - - // add optional properties to make validation successful - har.url = har.url || options.url || options.uri || options.baseUrl || '/' - har.httpVersion = har.httpVersion || 'HTTP/1.1' - har.queryString = har.queryString || [] - har.headers = har.headers || [] - har.cookies = har.cookies || [] - har.postData = har.postData || {} - har.postData.mimeType = har.postData.mimeType || 'application/octet-stream' - - har.bodySize = 0 - har.headersSize = 0 - har.postData.size = 0 - - if (!validate.request(har)) { - return options - } - - // clean up and get some utility properties - var req = this.prep(har) - - // construct new options - if (req.url) { - options.url = req.url - } - - if (req.method) { - options.method = req.method - } - - if (Object.keys(req.queryObj).length) { - options.qs = req.queryObj - } - - if (Object.keys(req.headersObj).length) { - options.headers = req.headersObj - } - - switch (req.postData.mimeType) { - case 'application/x-www-form-urlencoded': - options.form = req.postData.paramsObj - break - - case 'application/json': - if (req.postData.jsonObj) { - options.body = req.postData.jsonObj - options.json = true - } - break - - case 'multipart/form-data': - options.formData = {} - - req.postData.params.forEach(function (param) { - var attachment = {} - - if (!param.fileName && !param.fileName && !param.contentType) { - options.formData[param.name] = param.value - return - } - - // attempt to read from disk! - if (param.fileName && !param.value) { - attachment.value = fs.createReadStream(param.fileName) - } else if (param.value) { - attachment.value = param.value - } - - if (param.fileName) { - attachment.options = { - filename: param.fileName, - contentType: param.contentType ? param.contentType : null - } - } - - options.formData[param.name] = attachment - }) - break - - default: - if (req.postData.text) { - options.body = req.postData.text - } - } - - return options -} - -exports.Har = Har diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/helpers.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/helpers.js deleted file mode 100644 index 8530d40..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/helpers.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict' - -var jsonSafeStringify = require('json-stringify-safe') - , crypto = require('crypto') - -function deferMethod() { - if(typeof setImmediate === 'undefined') { - return process.nextTick - } - - return setImmediate -} - -function isFunction(value) { - return typeof value === 'function' -} - -function paramsHaveRequestBody(params) { - return ( - params.body || - params.requestBodyStream || - (params.json && typeof params.json !== 'boolean') || - params.multipart - ) -} - -function safeStringify (obj) { - var ret - try { - ret = JSON.stringify(obj) - } catch (e) { - ret = jsonSafeStringify(obj) - } - return ret -} - -function md5 (str) { - return crypto.createHash('md5').update(str).digest('hex') -} - -function isReadStream (rs) { - return rs.readable && rs.path && rs.mode -} - -function toBase64 (str) { - return (new Buffer(str || '', 'utf8')).toString('base64') -} - -exports.isFunction = isFunction -exports.paramsHaveRequestBody = paramsHaveRequestBody -exports.safeStringify = safeStringify -exports.md5 = md5 -exports.isReadStream = isReadStream -exports.toBase64 = toBase64 -exports.defer = deferMethod() diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/multipart.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/multipart.js deleted file mode 100644 index 905a54b..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/multipart.js +++ /dev/null @@ -1,109 +0,0 @@ -'use strict' - -var uuid = require('node-uuid') - , CombinedStream = require('combined-stream') - , isstream = require('isstream') - - -function Multipart (request) { - this.request = request - this.boundary = uuid() - this.chunked = false - this.body = null -} - -Multipart.prototype.isChunked = function (options) { - var self = this - , chunked = false - , parts = options.data || options - - if (!parts.forEach) { - throw new Error('Argument error, options.multipart.') - } - - if (options.chunked !== undefined) { - chunked = options.chunked - } - - if (self.request.getHeader('transfer-encoding') === 'chunked') { - chunked = true - } - - if (!chunked) { - parts.forEach(function (part) { - if(typeof part.body === 'undefined') { - throw new Error('Body attribute missing in multipart.') - } - if (isstream(part.body)) { - chunked = true - } - }) - } - - return chunked -} - -Multipart.prototype.setHeaders = function (chunked) { - var self = this - - if (chunked && !self.request.hasHeader('transfer-encoding')) { - self.request.setHeader('transfer-encoding', 'chunked') - } - - var header = self.request.getHeader('content-type') - - if (!header || header.indexOf('multipart') === -1) { - self.request.setHeader('content-type', 'multipart/related; boundary=' + self.boundary) - } else { - if (header.indexOf('boundary') !== -1) { - self.boundary = header.replace(/.*boundary=([^\s;]+).*/, '$1') - } else { - self.request.setHeader('content-type', header + '; boundary=' + self.boundary) - } - } -} - -Multipart.prototype.build = function (parts, chunked) { - var self = this - var body = chunked ? new CombinedStream() : [] - - function add (part) { - return chunked ? body.append(part) : body.push(new Buffer(part)) - } - - if (self.request.preambleCRLF) { - add('\r\n') - } - - parts.forEach(function (part) { - var preamble = '--' + self.boundary + '\r\n' - Object.keys(part).forEach(function (key) { - if (key === 'body') { return } - preamble += key + ': ' + part[key] + '\r\n' - }) - preamble += '\r\n' - add(preamble) - add(part.body) - add('\r\n') - }) - add('--' + self.boundary + '--') - - if (self.request.postambleCRLF) { - add('\r\n') - } - - return body -} - -Multipart.prototype.onRequest = function (options) { - var self = this - - var chunked = self.isChunked(options) - , parts = options.data || options - - self.setHeaders(chunked) - self.chunked = chunked - self.body = self.build(parts, chunked) -} - -exports.Multipart = Multipart diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/oauth.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/oauth.js deleted file mode 100644 index fc1cac6..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/oauth.js +++ /dev/null @@ -1,125 +0,0 @@ -'use strict' - -var qs = require('qs') - , caseless = require('caseless') - , uuid = require('node-uuid') - , oauth = require('oauth-sign') - - -function OAuth (request) { - this.request = request -} - -OAuth.prototype.buildParams = function (_oauth, uri, method, query, form, qsLib) { - var oa = {} - for (var i in _oauth) { - oa['oauth_' + i] = _oauth[i] - } - if (!oa.oauth_version) { - oa.oauth_version = '1.0' - } - if (!oa.oauth_timestamp) { - oa.oauth_timestamp = Math.floor( Date.now() / 1000 ).toString() - } - if (!oa.oauth_nonce) { - oa.oauth_nonce = uuid().replace(/-/g, '') - } - if (!oa.oauth_signature_method) { - oa.oauth_signature_method = 'HMAC-SHA1' - } - - var consumer_secret_or_private_key = oa.oauth_consumer_secret || oa.oauth_private_key - delete oa.oauth_consumer_secret - delete oa.oauth_private_key - - var token_secret = oa.oauth_token_secret - delete oa.oauth_token_secret - - var realm = oa.oauth_realm - delete oa.oauth_realm - delete oa.oauth_transport_method - - var baseurl = uri.protocol + '//' + uri.host + uri.pathname - var params = qsLib.parse([].concat(query, form, qsLib.stringify(oa)).join('&')) - - oa.oauth_signature = oauth.sign( - oa.oauth_signature_method, - method, - baseurl, - params, - consumer_secret_or_private_key, - token_secret) - - if (realm) { - oa.realm = realm - } - - return oa -} - -OAuth.prototype.concatParams = function (oa, sep, wrap) { - wrap = wrap || '' - - var params = Object.keys(oa).filter(function (i) { - return i !== 'realm' && i !== 'oauth_signature' - }).sort() - - if (oa.realm) { - params.splice(0, 1, 'realm') - } - params.push('oauth_signature') - - return params.map(function (i) { - return i + '=' + wrap + oauth.rfc3986(oa[i]) + wrap - }).join(sep) -} - -OAuth.prototype.onRequest = function (_oauth) { - var self = this - , request = self.request - - var uri = request.uri || {} - , method = request.method || '' - , headers = caseless(request.headers) - , body = request.body || '' - , qsLib = request.qsLib || qs - - var form - , query - , contentType = headers.get('content-type') || '' - , formContentType = 'application/x-www-form-urlencoded' - , transport = _oauth.transport_method || 'header' - - if (contentType.slice(0, formContentType.length) === formContentType) { - contentType = formContentType - form = body - } - if (uri.query) { - query = uri.query - } - if (transport === 'body' && (method !== 'POST' || contentType !== formContentType)) { - throw new Error('oauth: transport_method of \'body\' requires \'POST\' ' + - 'and content-type \'' + formContentType + '\'') - } - - var oa = this.buildParams(_oauth, uri, method, query, form, qsLib) - - switch (transport) { - case 'header': - request.setHeader('Authorization', 'OAuth ' + this.concatParams(oa, ',', '"')) - break - - case 'query': - request.path = (query ? '&' : '?') + this.concatParams(oa, '&') - break - - case 'body': - request.body = (form ? form + '&' : '') + this.concatParams(oa, '&') - break - - default: - throw new Error('oauth: transport_method invalid') - } -} - -exports.OAuth = OAuth diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/redirect.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/redirect.js deleted file mode 100644 index 7dd6c25..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/lib/redirect.js +++ /dev/null @@ -1,154 +0,0 @@ -'use strict' - -var url = require('url') -var isUrl = /^https?:/ - -function Redirect (request) { - this.request = request - this.followRedirect = true - this.followRedirects = true - this.followAllRedirects = false - this.allowRedirect = function () {return true} - this.maxRedirects = 10 - this.redirects = [] - this.redirectsFollowed = 0 - this.removeRefererHeader = false -} - -Redirect.prototype.onRequest = function () { - var self = this - , request = self.request - - if (request.maxRedirects !== undefined) { - self.maxRedirects = request.maxRedirects - } - if (typeof request.followRedirect === 'function') { - self.allowRedirect = request.followRedirect - } - if (request.followRedirect !== undefined) { - self.followRedirects = !!request.followRedirect - } - if (request.followAllRedirects !== undefined) { - self.followAllRedirects = request.followAllRedirects - } - if (self.followRedirects || self.followAllRedirects) { - self.redirects = self.redirects || [] - } - if (request.removeRefererHeader !== undefined) { - self.removeRefererHeader = request.removeRefererHeader - } -} - -Redirect.prototype.redirectTo = function (response) { - var self = this - , request = self.request - - var redirectTo = null - if (response.statusCode >= 300 && response.statusCode < 400 && response.caseless.has('location')) { - var location = response.caseless.get('location') - // debug('redirect', location) - - if (self.followAllRedirects) { - redirectTo = location - } else if (self.followRedirects) { - switch (request.method) { - case 'PATCH': - case 'PUT': - case 'POST': - case 'DELETE': - // Do not follow redirects - break - default: - redirectTo = location - break - } - } - } else if (response.statusCode === 401) { - var authHeader = request._auth.onResponse(response) - if (authHeader) { - request.setHeader('authorization', authHeader) - redirectTo = request.uri - } - } - return redirectTo -} - -Redirect.prototype.onResponse = function (response) { - var self = this - , request = self.request - - var redirectTo = self.redirectTo(response) - if (!redirectTo || !self.allowRedirect.call(request, response)) { - return false - } - - - // debug('redirect to', redirectTo) - - // ignore any potential response body. it cannot possibly be useful - // to us at this point. - if (request._paused) { - response.resume() - } - - if (self.redirectsFollowed >= self.maxRedirects) { - request.emit('error', new Error('Exceeded maxRedirects. Probably stuck in a redirect loop ' + request.uri.href)) - return false - } - self.redirectsFollowed += 1 - - if (!isUrl.test(redirectTo)) { - redirectTo = url.resolve(request.uri.href, redirectTo) - } - - var uriPrev = request.uri - request.uri = url.parse(redirectTo) - - // handle the case where we change protocol from https to http or vice versa - if (request.uri.protocol !== uriPrev.protocol) { - request._updateProtocol() - } - - self.redirects.push( - { statusCode : response.statusCode - , redirectUri: redirectTo - } - ) - if (self.followAllRedirects && response.statusCode !== 401 && response.statusCode !== 307) { - request.method = 'GET' - } - // request.method = 'GET' // Force all redirects to use GET || commented out fixes #215 - delete request.src - delete request.req - delete request.agent - delete request._started - if (response.statusCode !== 401 && response.statusCode !== 307) { - // Remove parameters from the previous response, unless this is the second request - // for a server that requires digest authentication. - delete request.body - delete request._form - if (request.headers) { - request.removeHeader('host') - request.removeHeader('content-type') - request.removeHeader('content-length') - if (request.uri.hostname !== request.originalHost.split(':')[0]) { - // Remove authorization if changing hostnames (but not if just - // changing ports or protocols). This matches the behavior of curl: - // https://github.com/bagder/curl/blob/6beb0eee/lib/http.c#L710 - request.removeHeader('authorization') - } - } - } - - if (!self.removeRefererHeader) { - request.setHeader('referer', request.uri.href) - } - - request.emit('redirect') - - request.init() - - return true -} - -exports.Redirect = Redirect diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/request/package.json deleted file mode 100644 index 6c02bf5..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_from": "request@2.55.0", - "_id": "request@2.55.0", - "_inBundle": false, - "_integrity": "sha1-11wc32eddrsQD5v/4f5VG1wk6T0=", - "_location": "/request", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "request@2.55.0", - "name": "request", - "escapedName": "request", - "rawSpec": "2.55.0", - "saveSpec": null, - "fetchSpec": "2.55.0" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "https://registry.npmjs.org/request/-/request-2.55.0.tgz", - "_shasum": "d75c1cdf679d76bb100f9bffe1fe551b5c24e93d", - "_spec": "request@2.55.0", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity", - "author": { - "name": "Mikeal Rogers", - "email": "mikeal.rogers@gmail.com" - }, - "bugs": { - "url": "http://github.com/request/request/issues" - }, - "bundleDependencies": false, - "dependencies": { - "aws-sign2": "~0.5.0", - "bl": "~0.9.0", - "caseless": "~0.9.0", - "combined-stream": "~0.0.5", - "forever-agent": "~0.6.0", - "form-data": "~0.2.0", - "har-validator": "^1.4.0", - "hawk": "~2.3.0", - "http-signature": "~0.10.0", - "isstream": "~0.1.1", - "json-stringify-safe": "~5.0.0", - "mime-types": "~2.0.1", - "node-uuid": "~1.4.0", - "oauth-sign": "~0.6.0", - "qs": "~2.4.0", - "stringstream": "~0.0.4", - "tough-cookie": ">=0.12.0", - "tunnel-agent": "~0.4.0" - }, - "deprecated": false, - "description": "Simplified HTTP request client.", - "devDependencies": { - "bluebird": "~2.9.21", - "browserify": "~5.9.1", - "browserify-istanbul": "~0.1.3", - "coveralls": "~2.11.2", - "eslint": "0.17.1", - "function-bind": "~1.0.0", - "istanbul": "~0.3.2", - "karma": "~0.12.21", - "karma-browserify": "~3.0.1", - "karma-cli": "0.0.4", - "karma-coverage": "0.2.6", - "karma-phantomjs-launcher": "~0.1.4", - "karma-tap": "~1.0.1", - "rimraf": "~2.2.8", - "server-destroy": "~1.0.0", - "tape": "~3.0.0", - "taper": "~0.4.0" - }, - "engines": { - "node": ">=0.8.0" - }, - "homepage": "https://github.com/request/request#readme", - "license": "Apache-2.0", - "main": "index.js", - "name": "request", - "repository": { - "type": "git", - "url": "git+https://github.com/request/request.git" - }, - "scripts": { - "lint": "node node_modules/.bin/eslint lib/ *.js tests/ && echo Lint passed.", - "test": "npm run lint && node node_modules/.bin/taper tests/test-*.js && npm run test-browser", - "test-browser": "node tests/browser/start.js" - }, - "tags": [ - "http", - "simple", - "util", - "utility" - ], - "version": "2.55.0" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/release.sh b/netatmo-security-connector/NetatmoSecurity/node_modules/request/release.sh deleted file mode 100644 index 7678bf8..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/release.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -if [ -z "`which github-changes`" ]; then - # specify version because github-changes "is under heavy development. Things - # may break between releases" until 0.1.0 - echo "First, do: [sudo] npm install -g github-changes@0.0.14" - exit 1 -fi - -if [ -d .git/refs/remotes/upstream ]; then - remote=upstream -else - remote=origin -fi - -# Increment v2.x.y -> v2.x+1.0 -npm version minor || exit 1 - -# Generate changelog from pull requests -github-changes -o request -r request \ - --auth --verbose \ - --file CHANGELOG.md \ - --only-pulls --use-commit-body \ - --date-format '(YYYY/MM/DD)' \ - || exit 1 - -# Since the tag for the new version hasn't been pushed yet, any changes in it -# will be marked as "upcoming" -version="$(grep '"version"' package.json | cut -d'"' -f4)" -sed -i -e "s/^### upcoming/### v$version/" CHANGELOG.md - -# This may fail if no changelog updates -# TODO: would this ever actually happen? handle it better? -git add CHANGELOG.md; git commit -m 'Update changelog' - -# Publish the new version to npm -npm publish || exit 1 - -# Increment v2.x.0 -> v2.x.1 -# For rationale, see: -# https://github.com/request/oauth-sign/issues/10#issuecomment-58917018 -npm version patch || exit 1 - -# Push back to the main repo -git push $remote master --tags || exit 1 diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/request/request.js b/netatmo-security-connector/NetatmoSecurity/node_modules/request/request.js deleted file mode 100644 index 5f8f268..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/request/request.js +++ /dev/null @@ -1,1569 +0,0 @@ -'use strict' - -var http = require('http') - , https = require('https') - , url = require('url') - , util = require('util') - , stream = require('stream') - , qs = require('qs') - , querystring = require('querystring') - , zlib = require('zlib') - , helpers = require('./lib/helpers') - , bl = require('bl') - , hawk = require('hawk') - , aws = require('aws-sign2') - , httpSignature = require('http-signature') - , mime = require('mime-types') - , tunnel = require('tunnel-agent') - , stringstream = require('stringstream') - , caseless = require('caseless') - , ForeverAgent = require('forever-agent') - , FormData = require('form-data') - , cookies = require('./lib/cookies') - , copy = require('./lib/copy') - , getProxyFromURI = require('./lib/getProxyFromURI') - , Har = require('./lib/har').Har - , Auth = require('./lib/auth').Auth - , OAuth = require('./lib/oauth').OAuth - , Multipart = require('./lib/multipart').Multipart - , Redirect = require('./lib/redirect').Redirect - -var safeStringify = helpers.safeStringify - , isReadStream = helpers.isReadStream - , toBase64 = helpers.toBase64 - , defer = helpers.defer - , globalCookieJar = cookies.jar() - - -var globalPool = {} - -var defaultProxyHeaderWhiteList = [ - 'accept', - 'accept-charset', - 'accept-encoding', - 'accept-language', - 'accept-ranges', - 'cache-control', - 'content-encoding', - 'content-language', - 'content-length', - 'content-location', - 'content-md5', - 'content-range', - 'content-type', - 'connection', - 'date', - 'expect', - 'max-forwards', - 'pragma', - 'referer', - 'te', - 'transfer-encoding', - 'user-agent', - 'via' -] - -var defaultProxyHeaderExclusiveList = [ - 'proxy-authorization' -] - -function filterForNonReserved(reserved, options) { - // Filter out properties that are not reserved. - // Reserved values are passed in at call site. - - var object = {} - for (var i in options) { - var notReserved = (reserved.indexOf(i) === -1) - if (notReserved) { - object[i] = options[i] - } - } - return object -} - -function filterOutReservedFunctions(reserved, options) { - // Filter out properties that are functions and are reserved. - // Reserved values are passed in at call site. - - var object = {} - for (var i in options) { - var isReserved = !(reserved.indexOf(i) === -1) - var isFunction = (typeof options[i] === 'function') - if (!(isReserved && isFunction)) { - object[i] = options[i] - } - } - return object - -} - -function constructProxyHost(uriObject) { - var port = uriObject.portA - , protocol = uriObject.protocol - , proxyHost = uriObject.hostname + ':' - - if (port) { - proxyHost += port - } else if (protocol === 'https:') { - proxyHost += '443' - } else { - proxyHost += '80' - } - - return proxyHost -} - -function constructProxyHeaderWhiteList(headers, proxyHeaderWhiteList) { - var whiteList = proxyHeaderWhiteList - .reduce(function (set, header) { - set[header.toLowerCase()] = true - return set - }, {}) - - return Object.keys(headers) - .filter(function (header) { - return whiteList[header.toLowerCase()] - }) - .reduce(function (set, header) { - set[header] = headers[header] - return set - }, {}) -} - -function getTunnelOption(self, options) { - // Tunnel HTTPS by default, or if a previous request in the redirect chain - // was tunneled. Allow the user to override this setting. - - // If self.tunnel is already set (because this is a redirect), use the - // existing value. - if (typeof self.tunnel !== 'undefined') { - return self.tunnel - } - - // If options.tunnel is set (the user specified a value), use it. - if (typeof options.tunnel !== 'undefined') { - return options.tunnel - } - - // If the destination is HTTPS, tunnel. - if (self.uri.protocol === 'https:') { - return true - } - - // Otherwise, leave tunnel unset, because if a later request in the redirect - // chain is HTTPS then that request (and any subsequent ones) should be - // tunneled. - return undefined -} - -function constructTunnelOptions(request) { - var proxy = request.proxy - - var tunnelOptions = { - proxy : { - host : proxy.hostname, - port : +proxy.port, - proxyAuth : proxy.auth, - headers : request.proxyHeaders - }, - headers : request.headers, - ca : request.ca, - cert : request.cert, - key : request.key, - passphrase : request.passphrase, - pfx : request.pfx, - ciphers : request.ciphers, - rejectUnauthorized : request.rejectUnauthorized, - secureOptions : request.secureOptions, - secureProtocol : request.secureProtocol - } - - return tunnelOptions -} - -function constructTunnelFnName(uri, proxy) { - var uriProtocol = (uri.protocol === 'https:' ? 'https' : 'http') - var proxyProtocol = (proxy.protocol === 'https:' ? 'Https' : 'Http') - return [uriProtocol, proxyProtocol].join('Over') -} - -function getTunnelFn(request) { - var uri = request.uri - var proxy = request.proxy - var tunnelFnName = constructTunnelFnName(uri, proxy) - return tunnel[tunnelFnName] -} - -// Function for properly handling a connection error -function connectionErrorHandler(error) { - var socket = this - if (socket.res) { - if (socket.res.request) { - socket.res.request.emit('error', error) - } else { - socket.res.emit('error', error) - } - } else { - socket._httpMessage.emit('error', error) - } -} - -// Return a simpler request object to allow serialization -function requestToJSON() { - var self = this - return { - uri: self.uri, - method: self.method, - headers: self.headers - } -} - -// Return a simpler response object to allow serialization -function responseToJSON() { - var self = this - return { - statusCode: self.statusCode, - body: self.body, - headers: self.headers, - request: requestToJSON.call(self.request) - } -} - -// encode rfc3986 characters -function rfc3986 (str) { - return str.replace(/[!'()*]/g, function(c) { - return '%' + c.charCodeAt(0).toString(16).toUpperCase() - }) -} - -function Request (options) { - // if given the method property in options, set property explicitMethod to true - - // extend the Request instance with any non-reserved properties - // remove any reserved functions from the options object - // set Request instance to be readable and writable - // call init - - var self = this - - // start with HAR, then override with additional options - if (options.har) { - self._har = new Har(self) - options = self._har.options(options) - } - - stream.Stream.call(self) - var reserved = Object.keys(Request.prototype) - var nonReserved = filterForNonReserved(reserved, options) - - stream.Stream.call(self) - util._extend(self, nonReserved) - options = filterOutReservedFunctions(reserved, options) - - self.readable = true - self.writable = true - if (options.method) { - self.explicitMethod = true - } - self._auth = new Auth(self) - self._oauth = new OAuth(self) - self._multipart = new Multipart(self) - self._redirect = new Redirect(self) - self.init(options) -} - -util.inherits(Request, stream.Stream) - -// Debugging -Request.debug = process.env.NODE_DEBUG && /\brequest\b/.test(process.env.NODE_DEBUG) -function debug() { - if (Request.debug) { - console.error('REQUEST %s', util.format.apply(util, arguments)) - } -} - -Request.prototype.setupTunnel = function () { - var self = this - - if (typeof self.proxy === 'string') { - self.proxy = url.parse(self.proxy) - } - - if (!self.proxy || !self.tunnel) { - return false - } - - // Setup Proxy Header Exclusive List and White List - self.proxyHeaderExclusiveList = self.proxyHeaderExclusiveList || [] - self.proxyHeaderWhiteList = self.proxyHeaderWhiteList || defaultProxyHeaderWhiteList - var proxyHeaderExclusiveList = self.proxyHeaderExclusiveList.concat(defaultProxyHeaderExclusiveList) - var proxyHeaderWhiteList = self.proxyHeaderWhiteList.concat(proxyHeaderExclusiveList) - - // Setup Proxy Headers and Proxy Headers Host - // Only send the Proxy White Listed Header names - self.proxyHeaders = constructProxyHeaderWhiteList(self.headers, proxyHeaderWhiteList) - self.proxyHeaders.host = constructProxyHost(self.uri) - proxyHeaderExclusiveList.forEach(self.removeHeader, self) - - // Set Agent from Tunnel Data - var tunnelFn = getTunnelFn(self) - var tunnelOptions = constructTunnelOptions(self) - self.agent = tunnelFn(tunnelOptions) - - return true -} - -Request.prototype.init = function (options) { - // init() contains all the code to setup the request object. - // the actual outgoing request is not started until start() is called - // this function is called from both the constructor and on redirect. - var self = this - if (!options) { - options = {} - } - self.headers = self.headers ? copy(self.headers) : {} - - // Delete headers with value undefined since they break - // ClientRequest.OutgoingMessage.setHeader in node 0.12 - for (var headerName in self.headers) { - if (typeof self.headers[headerName] === 'undefined') { - delete self.headers[headerName] - } - } - - caseless.httpify(self, self.headers) - - if (!self.method) { - self.method = options.method || 'GET' - } - if (!self.localAddress) { - self.localAddress = options.localAddress - } - - if (!self.qsLib) { - self.qsLib = (options.useQuerystring ? querystring : qs) - } - if (!self.qsParseOptions) { - self.qsParseOptions = options.qsParseOptions - } - if (!self.qsStringifyOptions) { - self.qsStringifyOptions = options.qsStringifyOptions - } - - debug(options) - if (!self.pool && self.pool !== false) { - self.pool = globalPool - } - self.dests = self.dests || [] - self.__isRequestRequest = true - - // Protect against double callback - if (!self._callback && self.callback) { - self._callback = self.callback - self.callback = function () { - if (self._callbackCalled) { - return // Print a warning maybe? - } - self._callbackCalled = true - self._callback.apply(self, arguments) - } - self.on('error', self.callback.bind()) - self.on('complete', self.callback.bind(self, null)) - } - - // People use this property instead all the time, so support it - if (!self.uri && self.url) { - self.uri = self.url - delete self.url - } - - // If there's a baseUrl, then use it as the base URL (i.e. uri must be - // specified as a relative path and is appended to baseUrl). - if (self.baseUrl) { - if (typeof self.baseUrl !== 'string') { - return self.emit('error', new Error('options.baseUrl must be a string')) - } - - if (typeof self.uri !== 'string') { - return self.emit('error', new Error('options.uri must be a string when using options.baseUrl')) - } - - if (self.uri.indexOf('//') === 0 || self.uri.indexOf('://') !== -1) { - return self.emit('error', new Error('options.uri must be a path when using options.baseUrl')) - } - - // Handle all cases to make sure that there's only one slash between - // baseUrl and uri. - var baseUrlEndsWithSlash = self.baseUrl.lastIndexOf('/') === self.baseUrl.length - 1 - var uriStartsWithSlash = self.uri.indexOf('/') === 0 - - if (baseUrlEndsWithSlash && uriStartsWithSlash) { - self.uri = self.baseUrl + self.uri.slice(1) - } else if (baseUrlEndsWithSlash || uriStartsWithSlash) { - self.uri = self.baseUrl + self.uri - } else if (self.uri === '') { - self.uri = self.baseUrl - } else { - self.uri = self.baseUrl + '/' + self.uri - } - delete self.baseUrl - } - - // A URI is needed by this point, throw if we haven't been able to get one - if (!self.uri) { - return self.emit('error', new Error('options.uri is a required argument')) - } - - // If a string URI/URL was given, parse it into a URL object - if(typeof self.uri === 'string') { - self.uri = url.parse(self.uri) - } - - // DEPRECATED: Warning for users of the old Unix Sockets URL Scheme - if (self.uri.protocol === 'unix:') { - return self.emit('error', new Error('`unix://` URL scheme is no longer supported. Please use the format `http://unix:SOCKET:PATH`')) - } - - // Support Unix Sockets - if(self.uri.host === 'unix') { - // Get the socket & request paths from the URL - var unixParts = self.uri.path.split(':') - , host = unixParts[0] - , path = unixParts[1] - // Apply unix properties to request - self.socketPath = host - self.uri.pathname = path - self.uri.path = path - self.uri.host = host - self.uri.hostname = host - self.uri.isUnix = true - } - - if (self.strictSSL === false) { - self.rejectUnauthorized = false - } - - if(!self.hasOwnProperty('proxy')) { - self.proxy = getProxyFromURI(self.uri) - } - - self.tunnel = getTunnelOption(self, options) - if (self.proxy) { - self.setupTunnel() - } - - if (!self.uri.pathname) {self.uri.pathname = '/'} - - if (!(self.uri.host || (self.uri.hostname && self.uri.port)) && !self.uri.isUnix) { - // Invalid URI: it may generate lot of bad errors, like 'TypeError: Cannot call method `indexOf` of undefined' in CookieJar - // Detect and reject it as soon as possible - var faultyUri = url.format(self.uri) - var message = 'Invalid URI "' + faultyUri + '"' - if (Object.keys(options).length === 0) { - // No option ? This can be the sign of a redirect - // As this is a case where the user cannot do anything (they didn't call request directly with this URL) - // they should be warned that it can be caused by a redirection (can save some hair) - message += '. This can be caused by a crappy redirection.' - } - // This error was fatal - return self.emit('error', new Error(message)) - } - - self._redirect.onRequest() - - self.setHost = false - if (!self.hasHeader('host')) { - var hostHeaderName = self.originalHostHeaderName || 'host' - self.setHeader(hostHeaderName, self.uri.hostname) - if (self.uri.port) { - if ( !(self.uri.port === 80 && self.uri.protocol === 'http:') && - !(self.uri.port === 443 && self.uri.protocol === 'https:') ) { - self.setHeader(hostHeaderName, self.getHeader('host') + (':' + self.uri.port) ) - } - } - self.setHost = true - } - - self.jar(self._jar || options.jar) - - if (!self.uri.port) { - if (self.uri.protocol === 'http:') {self.uri.port = 80} - else if (self.uri.protocol === 'https:') {self.uri.port = 443} - } - - if (self.proxy && !self.tunnel) { - self.port = self.proxy.port - self.host = self.proxy.hostname - } else { - self.port = self.uri.port - self.host = self.uri.hostname - } - - if (options.form) { - self.form(options.form) - } - - if (options.formData) { - var formData = options.formData - var requestForm = self.form() - var appendFormValue = function (key, value) { - if (value.hasOwnProperty('value') && value.hasOwnProperty('options')) { - requestForm.append(key, value.value, value.options) - } else { - requestForm.append(key, value) - } - } - for (var formKey in formData) { - if (formData.hasOwnProperty(formKey)) { - var formValue = formData[formKey] - if (formValue instanceof Array) { - for (var j = 0; j < formValue.length; j++) { - appendFormValue(formKey, formValue[j]) - } - } else { - appendFormValue(formKey, formValue) - } - } - } - } - - if (options.qs) { - self.qs(options.qs) - } - - if (self.uri.path) { - self.path = self.uri.path - } else { - self.path = self.uri.pathname + (self.uri.search || '') - } - - if (self.path.length === 0) { - self.path = '/' - } - - // Auth must happen last in case signing is dependent on other headers - if (options.oauth) { - self.oauth(options.oauth) - } - - if (options.aws) { - self.aws(options.aws) - } - - if (options.hawk) { - self.hawk(options.hawk) - } - - if (options.httpSignature) { - self.httpSignature(options.httpSignature) - } - - if (options.auth) { - if (Object.prototype.hasOwnProperty.call(options.auth, 'username')) { - options.auth.user = options.auth.username - } - if (Object.prototype.hasOwnProperty.call(options.auth, 'password')) { - options.auth.pass = options.auth.password - } - - self.auth( - options.auth.user, - options.auth.pass, - options.auth.sendImmediately, - options.auth.bearer - ) - } - - if (self.gzip && !self.hasHeader('accept-encoding')) { - self.setHeader('accept-encoding', 'gzip') - } - - if (self.uri.auth && !self.hasHeader('authorization')) { - var uriAuthPieces = self.uri.auth.split(':').map(function(item){ return querystring.unescape(item) }) - self.auth(uriAuthPieces[0], uriAuthPieces.slice(1).join(':'), true) - } - - if (!self.tunnel && self.proxy && self.proxy.auth && !self.hasHeader('proxy-authorization')) { - var proxyAuthPieces = self.proxy.auth.split(':').map(function(item){ - return querystring.unescape(item) - }) - var authHeader = 'Basic ' + toBase64(proxyAuthPieces.join(':')) - self.setHeader('proxy-authorization', authHeader) - } - - if (self.proxy && !self.tunnel) { - self.path = (self.uri.protocol + '//' + self.uri.host + self.path) - } - - if (options.json) { - self.json(options.json) - } - if (options.multipart) { - self.multipart(options.multipart) - } - - if (options.time) { - self.timing = true - self.elapsedTime = self.elapsedTime || 0 - } - - if (self.body) { - var length = 0 - if (!Buffer.isBuffer(self.body)) { - if (Array.isArray(self.body)) { - for (var i = 0; i < self.body.length; i++) { - length += self.body[i].length - } - } else { - self.body = new Buffer(self.body) - length = self.body.length - } - } else { - length = self.body.length - } - if (length) { - if (!self.hasHeader('content-length')) { - self.setHeader('content-length', length) - } - } else { - throw new Error('Argument error, options.body.') - } - } - - var protocol = self.proxy && !self.tunnel ? self.proxy.protocol : self.uri.protocol - , defaultModules = {'http:':http, 'https:':https} - , httpModules = self.httpModules || {} - - self.httpModule = httpModules[protocol] || defaultModules[protocol] - - if (!self.httpModule) { - return self.emit('error', new Error('Invalid protocol: ' + protocol)) - } - - if (options.ca) { - self.ca = options.ca - } - - if (!self.agent) { - if (options.agentOptions) { - self.agentOptions = options.agentOptions - } - - if (options.agentClass) { - self.agentClass = options.agentClass - } else if (options.forever) { - self.agentClass = protocol === 'http:' ? ForeverAgent : ForeverAgent.SSL - } else { - self.agentClass = self.httpModule.Agent - } - } - - if (self.pool === false) { - self.agent = false - } else { - self.agent = self.agent || self.getNewAgent() - } - - self.on('pipe', function (src) { - if (self.ntick && self._started) { - throw new Error('You cannot pipe to this stream after the outbound request has started.') - } - self.src = src - if (isReadStream(src)) { - if (!self.hasHeader('content-type')) { - self.setHeader('content-type', mime.lookup(src.path)) - } - } else { - if (src.headers) { - for (var i in src.headers) { - if (!self.hasHeader(i)) { - self.setHeader(i, src.headers[i]) - } - } - } - if (self._json && !self.hasHeader('content-type')) { - self.setHeader('content-type', 'application/json') - } - if (src.method && !self.explicitMethod) { - self.method = src.method - } - } - - // self.on('pipe', function () { - // console.error('You have already piped to this stream. Pipeing twice is likely to break the request.') - // }) - }) - - defer(function () { - if (self._aborted) { - return - } - - var end = function () { - if (self._form) { - if (!self._auth.hasAuth) { - self._form.pipe(self) - } - else if (self._auth.hasAuth && self._auth.sentAuth) { - self._form.pipe(self) - } - } - if (self._multipart && self._multipart.chunked) { - self._multipart.body.pipe(self) - } - if (self.body) { - if (Array.isArray(self.body)) { - self.body.forEach(function (part) { - self.write(part) - }) - } else { - self.write(self.body) - } - self.end() - } else if (self.requestBodyStream) { - console.warn('options.requestBodyStream is deprecated, please pass the request object to stream.pipe.') - self.requestBodyStream.pipe(self) - } else if (!self.src) { - if (self._auth.hasAuth && !self._auth.sentAuth) { - self.end() - return - } - if (self.method !== 'GET' && typeof self.method !== 'undefined') { - self.setHeader('content-length', 0) - } - self.end() - } - } - - if (self._form && !self.hasHeader('content-length')) { - // Before ending the request, we had to compute the length of the whole form, asyncly - self.setHeader(self._form.getHeaders()) - self._form.getLength(function (err, length) { - if (!err) { - self.setHeader('content-length', length) - } - end() - }) - } else { - end() - } - - self.ntick = true - }) - -} - -// Must call this when following a redirect from https to http or vice versa -// Attempts to keep everything as identical as possible, but update the -// httpModule, Tunneling agent, and/or Forever Agent in use. -Request.prototype._updateProtocol = function () { - var self = this - var protocol = self.uri.protocol - - if (protocol === 'https:' || self.tunnel) { - // previously was doing http, now doing https - // if it's https, then we might need to tunnel now. - if (self.proxy) { - if (self.setupTunnel()) { - return - } - } - - self.httpModule = https - switch (self.agentClass) { - case ForeverAgent: - self.agentClass = ForeverAgent.SSL - break - case http.Agent: - self.agentClass = https.Agent - break - default: - // nothing we can do. Just hope for the best. - return - } - - // if there's an agent, we need to get a new one. - if (self.agent) { - self.agent = self.getNewAgent() - } - - } else { - // previously was doing https, now doing http - self.httpModule = http - switch (self.agentClass) { - case ForeverAgent.SSL: - self.agentClass = ForeverAgent - break - case https.Agent: - self.agentClass = http.Agent - break - default: - // nothing we can do. just hope for the best - return - } - - // if there's an agent, then get a new one. - if (self.agent) { - self.agent = null - self.agent = self.getNewAgent() - } - } -} - -Request.prototype.getNewAgent = function () { - var self = this - var Agent = self.agentClass - var options = {} - if (self.agentOptions) { - for (var i in self.agentOptions) { - options[i] = self.agentOptions[i] - } - } - if (self.ca) { - options.ca = self.ca - } - if (self.ciphers) { - options.ciphers = self.ciphers - } - if (self.secureProtocol) { - options.secureProtocol = self.secureProtocol - } - if (self.secureOptions) { - options.secureOptions = self.secureOptions - } - if (typeof self.rejectUnauthorized !== 'undefined') { - options.rejectUnauthorized = self.rejectUnauthorized - } - - if (self.cert && self.key) { - options.key = self.key - options.cert = self.cert - } - - if (self.pfx) { - options.pfx = self.pfx - } - - if (self.passphrase) { - options.passphrase = self.passphrase - } - - var poolKey = '' - - // different types of agents are in different pools - if (Agent !== self.httpModule.Agent) { - poolKey += Agent.name - } - - // ca option is only relevant if proxy or destination are https - var proxy = self.proxy - if (typeof proxy === 'string') { - proxy = url.parse(proxy) - } - var isHttps = (proxy && proxy.protocol === 'https:') || this.uri.protocol === 'https:' - - if (isHttps) { - if (options.ca) { - if (poolKey) { - poolKey += ':' - } - poolKey += options.ca - } - - if (typeof options.rejectUnauthorized !== 'undefined') { - if (poolKey) { - poolKey += ':' - } - poolKey += options.rejectUnauthorized - } - - if (options.cert) { - if (poolKey) { - poolKey += ':' - } - poolKey += options.cert.toString('ascii') + options.key.toString('ascii') - } - - if (options.pfx) { - if (poolKey) { - poolKey += ':' - } - poolKey += options.pfx.toString('ascii') - } - - if (options.ciphers) { - if (poolKey) { - poolKey += ':' - } - poolKey += options.ciphers - } - - if (options.secureProtocol) { - if (poolKey) { - poolKey += ':' - } - poolKey += options.secureProtocol - } - - if (options.secureOptions) { - if (poolKey) { - poolKey += ':' - } - poolKey += options.secureOptions - } - } - - if (self.pool === globalPool && !poolKey && Object.keys(options).length === 0 && self.httpModule.globalAgent) { - // not doing anything special. Use the globalAgent - return self.httpModule.globalAgent - } - - // we're using a stored agent. Make sure it's protocol-specific - poolKey = self.uri.protocol + poolKey - - // generate a new agent for this setting if none yet exists - if (!self.pool[poolKey]) { - self.pool[poolKey] = new Agent(options) - // properly set maxSockets on new agents - if (self.pool.maxSockets) { - self.pool[poolKey].maxSockets = self.pool.maxSockets - } - } - - return self.pool[poolKey] -} - -Request.prototype.start = function () { - // start() is called once we are ready to send the outgoing HTTP request. - // this is usually called on the first write(), end() or on nextTick() - var self = this - - if (self._aborted) { - return - } - - self._started = true - self.method = self.method || 'GET' - self.href = self.uri.href - - if (self.src && self.src.stat && self.src.stat.size && !self.hasHeader('content-length')) { - self.setHeader('content-length', self.src.stat.size) - } - if (self._aws) { - self.aws(self._aws, true) - } - - // We have a method named auth, which is completely different from the http.request - // auth option. If we don't remove it, we're gonna have a bad time. - var reqOptions = copy(self) - delete reqOptions.auth - - debug('make request', self.uri.href) - - self.req = self.httpModule.request(reqOptions) - - if (self.timing) { - self.startTime = new Date().getTime() - } - - if (self.timeout && !self.timeoutTimer) { - var timeout = self.timeout < 0 ? 0 : self.timeout - self.timeoutTimer = setTimeout(function () { - self.abort() - var e = new Error('ETIMEDOUT') - e.code = 'ETIMEDOUT' - self.emit('error', e) - }, timeout) - - // Set additional timeout on socket - in case if remote - // server freeze after sending headers - if (self.req.setTimeout) { // only works on node 0.6+ - self.req.setTimeout(timeout, function () { - if (self.req) { - self.req.abort() - var e = new Error('ESOCKETTIMEDOUT') - e.code = 'ESOCKETTIMEDOUT' - self.emit('error', e) - } - }) - } - } - - self.req.on('response', self.onRequestResponse.bind(self)) - self.req.on('error', self.onRequestError.bind(self)) - self.req.on('drain', function() { - self.emit('drain') - }) - self.req.on('socket', function(socket) { - self.emit('socket', socket) - }) - - self.on('end', function() { - if ( self.req.connection ) { - self.req.connection.removeListener('error', connectionErrorHandler) - } - }) - self.emit('request', self.req) -} - -Request.prototype.onRequestError = function (error) { - var self = this - if (self._aborted) { - return - } - if (self.req && self.req._reusedSocket && error.code === 'ECONNRESET' - && self.agent.addRequestNoreuse) { - self.agent = { addRequest: self.agent.addRequestNoreuse.bind(self.agent) } - self.start() - self.req.end() - return - } - if (self.timeout && self.timeoutTimer) { - clearTimeout(self.timeoutTimer) - self.timeoutTimer = null - } - self.emit('error', error) -} - -Request.prototype.onRequestResponse = function (response) { - var self = this - debug('onRequestResponse', self.uri.href, response.statusCode, response.headers) - response.on('end', function() { - if (self.timing) { - self.elapsedTime += (new Date().getTime() - self.startTime) - debug('elapsed time', self.elapsedTime) - response.elapsedTime = self.elapsedTime - } - debug('response end', self.uri.href, response.statusCode, response.headers) - }) - - // The check on response.connection is a workaround for browserify. - if (response.connection && response.connection.listeners('error').indexOf(connectionErrorHandler) === -1) { - response.connection.setMaxListeners(0) - response.connection.once('error', connectionErrorHandler) - } - if (self._aborted) { - debug('aborted', self.uri.href) - response.resume() - return - } - if (self._paused) { - response.pause() - } else if (response.resume) { - // response.resume should be defined, but check anyway before calling. Workaround for browserify. - response.resume() - } - - self.response = response - response.request = self - response.toJSON = responseToJSON - - // XXX This is different on 0.10, because SSL is strict by default - if (self.httpModule === https && - self.strictSSL && (!response.hasOwnProperty('client') || - !response.client.authorized)) { - debug('strict ssl error', self.uri.href) - var sslErr = response.hasOwnProperty('client') ? response.client.authorizationError : self.uri.href + ' does not support SSL' - self.emit('error', new Error('SSL Error: ' + sslErr)) - return - } - - // Save the original host before any redirect (if it changes, we need to - // remove any authorization headers). Also remember the case of the header - // name because lots of broken servers expect Host instead of host and we - // want the caller to be able to specify this. - self.originalHost = self.getHeader('host') - if (!self.originalHostHeaderName) { - self.originalHostHeaderName = self.hasHeader('host') - } - if (self.setHost) { - self.removeHeader('host') - } - if (self.timeout && self.timeoutTimer) { - clearTimeout(self.timeoutTimer) - self.timeoutTimer = null - } - - var targetCookieJar = (self._jar && self._jar.setCookie) ? self._jar : globalCookieJar - var addCookie = function (cookie) { - //set the cookie if it's domain in the href's domain. - try { - targetCookieJar.setCookie(cookie, self.uri.href, {ignoreError: true}) - } catch (e) { - self.emit('error', e) - } - } - - response.caseless = caseless(response.headers) - - if (response.caseless.has('set-cookie') && (!self._disableCookies)) { - var headerName = response.caseless.has('set-cookie') - if (Array.isArray(response.headers[headerName])) { - response.headers[headerName].forEach(addCookie) - } else { - addCookie(response.headers[headerName]) - } - } - - if (self._redirect.onResponse(response)) { - return // Ignore the rest of the response - } else { - // Be a good stream and emit end when the response is finished. - // Hack to emit end on close because of a core bug that never fires end - response.on('close', function () { - if (!self._ended) { - self.response.emit('end') - } - }) - - response.on('end', function () { - self._ended = true - }) - - var dataStream - if (self.gzip) { - var contentEncoding = response.headers['content-encoding'] || 'identity' - contentEncoding = contentEncoding.trim().toLowerCase() - - if (contentEncoding === 'gzip') { - dataStream = zlib.createGunzip() - response.pipe(dataStream) - } else { - // Since previous versions didn't check for Content-Encoding header, - // ignore any invalid values to preserve backwards-compatibility - if (contentEncoding !== 'identity') { - debug('ignoring unrecognized Content-Encoding ' + contentEncoding) - } - dataStream = response - } - } else { - dataStream = response - } - - if (self.encoding) { - if (self.dests.length !== 0) { - console.error('Ignoring encoding parameter as this stream is being piped to another stream which makes the encoding option invalid.') - } else if (dataStream.setEncoding) { - dataStream.setEncoding(self.encoding) - } else { - // Should only occur on node pre-v0.9.4 (joyent/node@9b5abe5) with - // zlib streams. - // If/When support for 0.9.4 is dropped, this should be unnecessary. - dataStream = dataStream.pipe(stringstream(self.encoding)) - } - } - - self.emit('response', response) - - self.dests.forEach(function (dest) { - self.pipeDest(dest) - }) - - dataStream.on('data', function (chunk) { - self._destdata = true - self.emit('data', chunk) - }) - dataStream.on('end', function (chunk) { - self.emit('end', chunk) - }) - dataStream.on('error', function (error) { - self.emit('error', error) - }) - dataStream.on('close', function () {self.emit('close')}) - - if (self.callback) { - var buffer = bl() - , strings = [] - - self.on('data', function (chunk) { - if (Buffer.isBuffer(chunk)) { - buffer.append(chunk) - } else { - strings.push(chunk) - } - }) - self.on('end', function () { - debug('end event', self.uri.href) - if (self._aborted) { - debug('aborted', self.uri.href) - return - } - - if (buffer.length) { - debug('has body', self.uri.href, buffer.length) - if (self.encoding === null) { - // response.body = buffer - // can't move to this until https://github.com/rvagg/bl/issues/13 - response.body = buffer.slice() - } else { - response.body = buffer.toString(self.encoding) - } - } else if (strings.length) { - // The UTF8 BOM [0xEF,0xBB,0xBF] is converted to [0xFE,0xFF] in the JS UTC16/UCS2 representation. - // Strip this value out when the encoding is set to 'utf8', as upstream consumers won't expect it and it breaks JSON.parse(). - if (self.encoding === 'utf8' && strings[0].length > 0 && strings[0][0] === '\uFEFF') { - strings[0] = strings[0].substring(1) - } - response.body = strings.join('') - } - - if (self._json) { - try { - response.body = JSON.parse(response.body, self._jsonReviver) - } catch (e) {} - } - debug('emitting complete', self.uri.href) - if(typeof response.body === 'undefined' && !self._json) { - response.body = self.encoding === null ? new Buffer(0) : '' - } - self.emit('complete', response, response.body) - }) - } - //if no callback - else{ - self.on('end', function () { - if (self._aborted) { - debug('aborted', self.uri.href) - return - } - self.emit('complete', response) - }) - } - } - debug('finish init function', self.uri.href) -} - -Request.prototype.abort = function () { - var self = this - self._aborted = true - - if (self.req) { - self.req.abort() - } - else if (self.response) { - self.response.abort() - } - - self.emit('abort') -} - -Request.prototype.pipeDest = function (dest) { - var self = this - var response = self.response - // Called after the response is received - if (dest.headers && !dest.headersSent) { - if (response.caseless.has('content-type')) { - var ctname = response.caseless.has('content-type') - if (dest.setHeader) { - dest.setHeader(ctname, response.headers[ctname]) - } - else { - dest.headers[ctname] = response.headers[ctname] - } - } - - if (response.caseless.has('content-length')) { - var clname = response.caseless.has('content-length') - if (dest.setHeader) { - dest.setHeader(clname, response.headers[clname]) - } else { - dest.headers[clname] = response.headers[clname] - } - } - } - if (dest.setHeader && !dest.headersSent) { - for (var i in response.headers) { - // If the response content is being decoded, the Content-Encoding header - // of the response doesn't represent the piped content, so don't pass it. - if (!self.gzip || i !== 'content-encoding') { - dest.setHeader(i, response.headers[i]) - } - } - dest.statusCode = response.statusCode - } - if (self.pipefilter) { - self.pipefilter(response, dest) - } -} - -Request.prototype.qs = function (q, clobber) { - var self = this - var base - if (!clobber && self.uri.query) { - base = self.qsLib.parse(self.uri.query, self.qsParseOptions) - } else { - base = {} - } - - for (var i in q) { - base[i] = q[i] - } - - if (self.qsLib.stringify(base, self.qsStringifyOptions) === ''){ - return self - } - - var qs = self.qsLib.stringify(base, self.qsStringifyOptions) - - self.uri = url.parse(self.uri.href.split('?')[0] + '?' + rfc3986(qs)) - self.url = self.uri - self.path = self.uri.path - - return self -} -Request.prototype.form = function (form) { - var self = this - if (form) { - self.setHeader('content-type', 'application/x-www-form-urlencoded') - self.body = (typeof form === 'string') - ? form.toString('utf8') - : self.qsLib.stringify(form, self.qsStringifyOptions).toString('utf8') - self.body = rfc3986(self.body) - return self - } - // create form-data object - self._form = new FormData() - self._form.on('error', function(err) { - err.message = 'form-data: ' + err.message - self.emit('error', err) - self.abort() - }) - return self._form -} -Request.prototype.multipart = function (multipart) { - var self = this - - self._multipart.onRequest(multipart) - - if (!self._multipart.chunked) { - self.body = self._multipart.body - } - - return self -} -Request.prototype.json = function (val) { - var self = this - - if (!self.hasHeader('accept')) { - self.setHeader('accept', 'application/json') - } - - self._json = true - if (typeof val === 'boolean') { - if (self.body !== undefined) { - if (!/^application\/x-www-form-urlencoded\b/.test(self.getHeader('content-type'))) { - self.body = safeStringify(self.body) - } else { - self.body = rfc3986(self.body) - } - if (!self.hasHeader('content-type')) { - self.setHeader('content-type', 'application/json') - } - } - } else { - self.body = safeStringify(val) - if (!self.hasHeader('content-type')) { - self.setHeader('content-type', 'application/json') - } - } - - if (typeof self.jsonReviver === 'function') { - self._jsonReviver = self.jsonReviver - } - - return self -} -Request.prototype.getHeader = function (name, headers) { - var self = this - var result, re, match - if (!headers) { - headers = self.headers - } - Object.keys(headers).forEach(function (key) { - if (key.length !== name.length) { - return - } - re = new RegExp(name, 'i') - match = key.match(re) - if (match) { - result = headers[key] - } - }) - return result -} - -Request.prototype.auth = function (user, pass, sendImmediately, bearer) { - var self = this - - self._auth.onRequest(user, pass, sendImmediately, bearer) - - return self -} -Request.prototype.aws = function (opts, now) { - var self = this - - if (!now) { - self._aws = opts - return self - } - var date = new Date() - self.setHeader('date', date.toUTCString()) - var auth = - { key: opts.key - , secret: opts.secret - , verb: self.method.toUpperCase() - , date: date - , contentType: self.getHeader('content-type') || '' - , md5: self.getHeader('content-md5') || '' - , amazonHeaders: aws.canonicalizeHeaders(self.headers) - } - var path = self.uri.path - if (opts.bucket && path) { - auth.resource = '/' + opts.bucket + path - } else if (opts.bucket && !path) { - auth.resource = '/' + opts.bucket - } else if (!opts.bucket && path) { - auth.resource = path - } else if (!opts.bucket && !path) { - auth.resource = '/' - } - auth.resource = aws.canonicalizeResource(auth.resource) - self.setHeader('authorization', aws.authorization(auth)) - - return self -} -Request.prototype.httpSignature = function (opts) { - var self = this - httpSignature.signRequest({ - getHeader: function(header) { - return self.getHeader(header, self.headers) - }, - setHeader: function(header, value) { - self.setHeader(header, value) - }, - method: self.method, - path: self.path - }, opts) - debug('httpSignature authorization', self.getHeader('authorization')) - - return self -} -Request.prototype.hawk = function (opts) { - var self = this - self.setHeader('Authorization', hawk.client.header(self.uri, self.method, opts).field) -} -Request.prototype.oauth = function (_oauth) { - var self = this - - self._oauth.onRequest(_oauth) - - return self -} - -Request.prototype.jar = function (jar) { - var self = this - var cookies - - if (self._redirect.redirectsFollowed === 0) { - self.originalCookieHeader = self.getHeader('cookie') - } - - if (!jar) { - // disable cookies - cookies = false - self._disableCookies = true - } else { - var targetCookieJar = (jar && jar.getCookieString) ? jar : globalCookieJar - var urihref = self.uri.href - //fetch cookie in the Specified host - if (targetCookieJar) { - cookies = targetCookieJar.getCookieString(urihref) - } - } - - //if need cookie and cookie is not empty - if (cookies && cookies.length) { - if (self.originalCookieHeader) { - // Don't overwrite existing Cookie header - self.setHeader('cookie', self.originalCookieHeader + '; ' + cookies) - } else { - self.setHeader('cookie', cookies) - } - } - self._jar = jar - return self -} - - -// Stream API -Request.prototype.pipe = function (dest, opts) { - var self = this - - if (self.response) { - if (self._destdata) { - throw new Error('You cannot pipe after data has been emitted from the response.') - } else if (self._ended) { - throw new Error('You cannot pipe after the response has been ended.') - } else { - stream.Stream.prototype.pipe.call(self, dest, opts) - self.pipeDest(dest) - return dest - } - } else { - self.dests.push(dest) - stream.Stream.prototype.pipe.call(self, dest, opts) - return dest - } -} -Request.prototype.write = function () { - var self = this - if (!self._started) { - self.start() - } - return self.req.write.apply(self.req, arguments) -} -Request.prototype.end = function (chunk) { - var self = this - if (chunk) { - self.write(chunk) - } - if (!self._started) { - self.start() - } - self.req.end() -} -Request.prototype.pause = function () { - var self = this - if (!self.response) { - self._paused = true - } else { - self.response.pause.apply(self.response, arguments) - } -} -Request.prototype.resume = function () { - var self = this - if (!self.response) { - self._paused = false - } else { - self.response.resume.apply(self.response, arguments) - } -} -Request.prototype.destroy = function () { - var self = this - if (!self._ended) { - self.end() - } else if (self.response) { - self.response.destroy() - } -} - -Request.defaultProxyHeaderWhiteList = - defaultProxyHeaderWhiteList.slice() - -Request.defaultProxyHeaderExclusiveList = - defaultProxyHeaderExclusiveList.slice() - -// Exports - -Request.prototype.toJSON = requestToJSON -module.exports = Request diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.npmignore deleted file mode 100644 index 77ba16c..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.npmignore +++ /dev/null @@ -1,18 +0,0 @@ -.idea -*.iml -npm-debug.log -dump.rdb -node_modules -results.tap -results.xml -npm-shrinkwrap.json -config.json -.DS_Store -*/.DS_Store -*/*/.DS_Store -._* -*/._* -*/*/._* -coverage.* -lib-cov - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.travis.yml deleted file mode 100644 index 047f7e3..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js - -node_js: - - 0.10 - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/LICENSE deleted file mode 100644 index b0d8774..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2012-2014, Eran Hammer and other contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * The names of any contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - * * * - -The complete list of contributors can be found at: https://github.com/hueniverse/sntp/graphs/contributors diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/Makefile b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/Makefile deleted file mode 100644 index 417fd93..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -test: - @node node_modules/lab/bin/lab -test-cov: - @node node_modules/lab/bin/lab -t 100 -m 3000 -test-cov-html: - @node node_modules/lab/bin/lab -r html -o coverage.html - -.PHONY: test test-cov test-cov-html - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/README.md deleted file mode 100644 index 98a6e02..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# sntp - -An SNTP v4 client (RFC4330) for node. Simpy connects to the NTP or SNTP server requested and returns the server time -along with the roundtrip duration and clock offset. To adjust the local time to the NTP time, add the returned `t` offset -to the local time. - -[![Build Status](https://secure.travis-ci.org/hueniverse/sntp.png)](http://travis-ci.org/hueniverse/sntp) - -# Usage - -```javascript -var Sntp = require('sntp'); - -// All options are optional - -var options = { - host: 'nist1-sj.ustiming.org', // Defaults to pool.ntp.org - port: 123, // Defaults to 123 (NTP) - resolveReference: true, // Default to false (not resolving) - timeout: 1000 // Defaults to zero (no timeout) -}; - -// Request server time - -Sntp.time(options, function (err, time) { - - if (err) { - console.log('Failed: ' + err.message); - process.exit(1); - } - - console.log('Local clock is off by: ' + time.t + ' milliseconds'); - process.exit(0); -}); -``` - -If an application needs to maintain continuous time synchronization, the module provides a stateful method for -querying the current offset only when the last one is too old (defaults to daily). - -```javascript -// Request offset once - -Sntp.offset(function (err, offset) { - - console.log(offset); // New (served fresh) - - // Request offset again - - Sntp.offset(function (err, offset) { - - console.log(offset); // Identical (served from cache) - }); -}); -``` - -To set a background offset refresh, start the interval and use the provided now() method. If for any reason the -client fails to obtain an up-to-date offset, the current system clock is used. - -```javascript -var before = Sntp.now(); // System time without offset - -Sntp.start(function () { - - var now = Sntp.now(); // With offset - Sntp.stop(); -}); -``` - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/offset.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/offset.js deleted file mode 100644 index 0303f6d..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/offset.js +++ /dev/null @@ -1,16 +0,0 @@ -var Sntp = require('../lib'); - -// Request offset once - -Sntp.offset(function (err, offset) { - - console.log(offset); // New (served fresh) - - // Request offset again - - Sntp.offset(function (err, offset) { - - console.log(offset); // Identical (served from cache) - }); -}); - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/time.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/time.js deleted file mode 100644 index bd70d0e..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/examples/time.js +++ /dev/null @@ -1,25 +0,0 @@ -var Sntp = require('../lib'); - -// All options are optional - -var options = { - host: 'nist1-sj.ustiming.org', // Defaults to pool.ntp.org - port: 123, // Defaults to 123 (NTP) - resolveReference: true, // Default to false (not resolving) - timeout: 1000 // Defaults to zero (no timeout) -}; - -// Request server time - -Sntp.time(options, function (err, time) { - - if (err) { - console.log('Failed: ' + err.message); - process.exit(1); - } - - console.log(time); - console.log('Local clock is off by: ' + time.t + ' milliseconds'); - process.exit(0); -}); - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/index.js deleted file mode 100644 index 4cc88b3..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib'); \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/lib/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/lib/index.js deleted file mode 100644 index e91718b..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/lib/index.js +++ /dev/null @@ -1,412 +0,0 @@ -// Load modules - -var Dgram = require('dgram'); -var Dns = require('dns'); -var Hoek = require('hoek'); - - -// Declare internals - -var internals = {}; - - -exports.time = function (options, callback) { - - if (arguments.length !== 2) { - callback = arguments[0]; - options = {}; - } - - var settings = Hoek.clone(options); - settings.host = settings.host || 'pool.ntp.org'; - settings.port = settings.port || 123; - settings.resolveReference = settings.resolveReference || false; - - // Declare variables used by callback - - var timeoutId = 0; - var sent = 0; - - // Ensure callback is only called once - - var finish = function (err, result) { - - if (timeoutId) { - clearTimeout(timeoutId); - timeoutId = 0; - } - - socket.removeAllListeners(); - socket.once('error', internals.ignore); - socket.close(); - return callback(err, result); - }; - - finish = Hoek.once(finish); - - // Create UDP socket - - var socket = Dgram.createSocket('udp4'); - - socket.once('error', function (err) { - - return finish(err); - }); - - // Listen to incoming messages - - socket.on('message', function (buffer, rinfo) { - - var received = Date.now(); - - var message = new internals.NtpMessage(buffer); - if (!message.isValid) { - return finish(new Error('Invalid server response'), message); - } - - if (message.originateTimestamp !== sent) { - return finish(new Error('Wrong originate timestamp'), message); - } - - // Timestamp Name ID When Generated - // ------------------------------------------------------------ - // Originate Timestamp T1 time request sent by client - // Receive Timestamp T2 time request received by server - // Transmit Timestamp T3 time reply sent by server - // Destination Timestamp T4 time reply received by client - // - // The roundtrip delay d and system clock offset t are defined as: - // - // d = (T4 - T1) - (T3 - T2) t = ((T2 - T1) + (T3 - T4)) / 2 - - var T1 = message.originateTimestamp; - var T2 = message.receiveTimestamp; - var T3 = message.transmitTimestamp; - var T4 = received; - - message.d = (T4 - T1) - (T3 - T2); - message.t = ((T2 - T1) + (T3 - T4)) / 2; - message.receivedLocally = received; - - if (!settings.resolveReference || - message.stratum !== 'secondary') { - - return finish(null, message); - } - - // Resolve reference IP address - - Dns.reverse(message.referenceId, function (err, domains) { - - if (/* $lab:coverage:off$ */ !err /* $lab:coverage:on$ */) { - message.referenceHost = domains[0]; - } - - return finish(null, message); - }); - }); - - // Set timeout - - if (settings.timeout) { - timeoutId = setTimeout(function () { - - timeoutId = 0; - return finish(new Error('Timeout')); - }, settings.timeout); - } - - // Construct NTP message - - var message = new Buffer(48); - for (var i = 0; i < 48; i++) { // Zero message - message[i] = 0; - } - - message[0] = (0 << 6) + (4 << 3) + (3 << 0) // Set version number to 4 and Mode to 3 (client) - sent = Date.now(); - internals.fromMsecs(sent, message, 40); // Set transmit timestamp (returns as originate) - - // Send NTP request - - socket.send(message, 0, message.length, settings.port, settings.host, function (err, bytes) { - - if (err || - bytes !== 48) { - - return finish(err || new Error('Could not send entire message')); - } - }); -}; - - -internals.NtpMessage = function (buffer) { - - this.isValid = false; - - // Validate - - if (buffer.length !== 48) { - return; - } - - // Leap indicator - - var li = (buffer[0] >> 6); - switch (li) { - case 0: this.leapIndicator = 'no-warning'; break; - case 1: this.leapIndicator = 'last-minute-61'; break; - case 2: this.leapIndicator = 'last-minute-59'; break; - case 3: this.leapIndicator = 'alarm'; break; - } - - // Version - - var vn = ((buffer[0] & 0x38) >> 3); - this.version = vn; - - // Mode - - var mode = (buffer[0] & 0x7); - switch (mode) { - case 1: this.mode = 'symmetric-active'; break; - case 2: this.mode = 'symmetric-passive'; break; - case 3: this.mode = 'client'; break; - case 4: this.mode = 'server'; break; - case 5: this.mode = 'broadcast'; break; - case 0: - case 6: - case 7: this.mode = 'reserved'; break; - } - - // Stratum - - var stratum = buffer[1]; - if (stratum === 0) { - this.stratum = 'death'; - } - else if (stratum === 1) { - this.stratum = 'primary'; - } - else if (stratum <= 15) { - this.stratum = 'secondary'; - } - else { - this.stratum = 'reserved'; - } - - // Poll interval (msec) - - this.pollInterval = Math.round(Math.pow(2, buffer[2])) * 1000; - - // Precision (msecs) - - this.precision = Math.pow(2, buffer[3]) * 1000; - - // Root delay (msecs) - - var rootDelay = 256 * (256 * (256 * buffer[4] + buffer[5]) + buffer[6]) + buffer[7]; - this.rootDelay = 1000 * (rootDelay / 0x10000); - - // Root dispersion (msecs) - - this.rootDispersion = ((buffer[8] << 8) + buffer[9] + ((buffer[10] << 8) + buffer[11]) / Math.pow(2, 16)) * 1000; - - // Reference identifier - - this.referenceId = ''; - switch (this.stratum) { - case 'death': - case 'primary': - this.referenceId = String.fromCharCode(buffer[12]) + String.fromCharCode(buffer[13]) + String.fromCharCode(buffer[14]) + String.fromCharCode(buffer[15]); - break; - case 'secondary': - this.referenceId = '' + buffer[12] + '.' + buffer[13] + '.' + buffer[14] + '.' + buffer[15]; - break; - } - - // Reference timestamp - - this.referenceTimestamp = internals.toMsecs(buffer, 16); - - // Originate timestamp - - this.originateTimestamp = internals.toMsecs(buffer, 24); - - // Receive timestamp - - this.receiveTimestamp = internals.toMsecs(buffer, 32); - - // Transmit timestamp - - this.transmitTimestamp = internals.toMsecs(buffer, 40); - - // Validate - - if (this.version === 4 && - this.stratum !== 'reserved' && - this.mode === 'server' && - this.originateTimestamp && - this.receiveTimestamp && - this.transmitTimestamp) { - - this.isValid = true; - } - - return this; -}; - - -internals.toMsecs = function (buffer, offset) { - - var seconds = 0; - var fraction = 0; - - for (var i = 0; i < 4; ++i) { - seconds = (seconds * 256) + buffer[offset + i]; - } - - for (i = 4; i < 8; ++i) { - fraction = (fraction * 256) + buffer[offset + i]; - } - - return ((seconds - 2208988800 + (fraction / Math.pow(2, 32))) * 1000); -}; - - -internals.fromMsecs = function (ts, buffer, offset) { - - var seconds = Math.floor(ts / 1000) + 2208988800; - var fraction = Math.round((ts % 1000) / 1000 * Math.pow(2, 32)); - - buffer[offset + 0] = (seconds & 0xFF000000) >> 24; - buffer[offset + 1] = (seconds & 0x00FF0000) >> 16; - buffer[offset + 2] = (seconds & 0x0000FF00) >> 8; - buffer[offset + 3] = (seconds & 0x000000FF); - - buffer[offset + 4] = (fraction & 0xFF000000) >> 24; - buffer[offset + 5] = (fraction & 0x00FF0000) >> 16; - buffer[offset + 6] = (fraction & 0x0000FF00) >> 8; - buffer[offset + 7] = (fraction & 0x000000FF); -}; - - -// Offset singleton - -internals.last = { - offset: 0, - expires: 0, - host: '', - port: 0 -}; - - -exports.offset = function (options, callback) { - - if (arguments.length !== 2) { - callback = arguments[0]; - options = {}; - } - - var now = Date.now(); - var clockSyncRefresh = options.clockSyncRefresh || 24 * 60 * 60 * 1000; // Daily - - if (internals.last.offset && - internals.last.host === options.host && - internals.last.port === options.port && - now < internals.last.expires) { - - process.nextTick(function () { - - callback(null, internals.last.offset); - }); - - return; - } - - exports.time(options, function (err, time) { - - if (err) { - return callback(err, 0); - } - - internals.last = { - offset: Math.round(time.t), - expires: now + clockSyncRefresh, - host: options.host, - port: options.port - }; - - return callback(null, internals.last.offset); - }); -}; - - -// Now singleton - -internals.now = { - intervalId: 0 -}; - - -exports.start = function (options, callback) { - - if (arguments.length !== 2) { - callback = arguments[0]; - options = {}; - } - - if (internals.now.intervalId) { - process.nextTick(function () { - - callback(); - }); - - return; - } - - exports.offset(options, function (err, offset) { - - internals.now.intervalId = setInterval(function () { - - exports.offset(options, function () { }); - }, options.clockSyncRefresh || 24 * 60 * 60 * 1000); // Daily - - return callback(); - }); -}; - - -exports.stop = function () { - - if (!internals.now.intervalId) { - return; - } - - clearInterval(internals.now.intervalId); - internals.now.intervalId = 0; -}; - - -exports.isLive = function () { - - return !!internals.now.intervalId; -}; - - -exports.now = function () { - - var now = Date.now(); - if (!exports.isLive() || - now >= internals.last.expires) { - - return now; - } - - return now + internals.last.offset; -}; - - -internals.ignore = function () { - -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/package.json deleted file mode 100644 index 18c30e9..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "_from": "sntp@1.x.x", - "_id": "sntp@1.0.9", - "_inBundle": false, - "_integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "_location": "/sntp", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "sntp@1.x.x", - "name": "sntp", - "escapedName": "sntp", - "rawSpec": "1.x.x", - "saveSpec": null, - "fetchSpec": "1.x.x" - }, - "_requiredBy": [ - "/hawk" - ], - "_resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "_shasum": "6541184cc90aeea6c6e7b35e2659082443c66198", - "_spec": "sntp@1.x.x", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\hawk", - "author": { - "name": "Eran Hammer", - "email": "eran@hammer.io", - "url": "http://hueniverse.com" - }, - "bugs": { - "url": "https://github.com/hueniverse/sntp/issues" - }, - "bundleDependencies": false, - "contributors": [], - "dependencies": { - "hoek": "2.x.x" - }, - "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", - "description": "SNTP Client", - "devDependencies": { - "lab": "4.x.x" - }, - "engines": { - "node": ">=0.8.0" - }, - "homepage": "https://github.com/hueniverse/sntp#readme", - "keywords": [ - "sntp", - "ntp", - "time" - ], - "licenses": [ - { - "type": "BSD", - "url": "http://github.com/hueniverse/sntp/raw/master/LICENSE" - } - ], - "main": "index", - "name": "sntp", - "repository": { - "type": "git", - "url": "git://github.com/hueniverse/sntp.git" - }, - "scripts": { - "test": "make test-cov" - }, - "version": "1.0.9" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/test/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/test/index.js deleted file mode 100644 index f1d1cda..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/sntp/test/index.js +++ /dev/null @@ -1,435 +0,0 @@ -// Load modules - -var Dns = require('dns'); -var Dgram = require('dgram'); -var Lab = require('lab'); -var Sntp = require('../lib'); - - -// Declare internals - -var internals = {}; - - -// Test shortcuts - -var lab = exports.lab = Lab.script(); -var before = lab.before; -var after = lab.after; -var describe = lab.experiment; -var it = lab.test; -var expect = Lab.expect; - - -describe('SNTP', function () { - - describe('#time', function () { - - it('returns consistent result over multiple tries', function (done) { - - Sntp.time(function (err, time) { - - expect(err).to.not.exist; - expect(time).to.exist; - var t1 = time.t; - - Sntp.time(function (err, time) { - - expect(err).to.not.exist; - expect(time).to.exist; - var t2 = time.t; - expect(Math.abs(t1 - t2)).is.below(200); - done(); - }); - }); - }); - - it('resolves reference IP', function (done) { - - Sntp.time({ host: 'ntp.exnet.com', resolveReference: true }, function (err, time) { - - expect(err).to.not.exist; - expect(time).to.exist; - expect(time.referenceHost).to.exist; - done(); - }); - }); - - it('times out on no response', function (done) { - - Sntp.time({ port: 124, timeout: 100 }, function (err, time) { - - expect(err).to.exist; - expect(time).to.not.exist; - expect(err.message).to.equal('Timeout'); - done(); - }); - }); - - it('errors on error event', { parallel: false }, function (done) { - - var orig = Dgram.createSocket; - Dgram.createSocket = function (type) { - - Dgram.createSocket = orig; - var socket = Dgram.createSocket(type); - setImmediate(function () { socket.emit('error', new Error('Fake')) }); - return socket; - }; - - Sntp.time(function (err, time) { - - expect(err).to.exist; - expect(time).to.not.exist; - expect(err.message).to.equal('Fake'); - done(); - }); - }); - - it('errors on incorrect sent size', { parallel: false }, function (done) { - - var orig = Dgram.Socket.prototype.send; - Dgram.Socket.prototype.send = function (buf, offset, length, port, address, callback) { - - Dgram.Socket.prototype.send = orig; - return callback(null, 40); - }; - - Sntp.time(function (err, time) { - - expect(err).to.exist; - expect(time).to.not.exist; - expect(err.message).to.equal('Could not send entire message'); - done(); - }); - }); - - it('times out on invalid host', function (done) { - - Sntp.time({ host: 'error', timeout: 10000 }, function (err, time) { - - expect(err).to.exist; - expect(time).to.not.exist; - expect(err.message).to.contain('getaddrinfo'); - done(); - }); - }); - - it('fails on bad response buffer size', function (done) { - - var server = Dgram.createSocket('udp4'); - server.on('message', function (message, remote) { - var message = new Buffer(10); - server.send(message, 0, message.length, remote.port, remote.address, function (err, bytes) { - - server.close(); - }); - }); - - server.bind(49123); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(err.message).to.equal('Invalid server response'); - done(); - }); - }); - - var messup = function (bytes) { - - var server = Dgram.createSocket('udp4'); - server.on('message', function (message, remote) { - - var message = new Buffer([ - 0x24, 0x01, 0x00, 0xe3, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x41, 0x43, 0x54, 0x53, - 0xd4, 0xa8, 0x2d, 0xc7, - 0x1c, 0x5d, 0x49, 0x1b, - 0xd4, 0xa8, 0x2d, 0xe6, - 0x67, 0xef, 0x9d, 0xb2, - 0xd4, 0xa8, 0x2d, 0xe6, - 0x71, 0xed, 0xb5, 0xfb, - 0xd4, 0xa8, 0x2d, 0xe6, - 0x71, 0xee, 0x6c, 0xc5 - ]); - - for (var i = 0, il = bytes.length; i < il; ++i) { - message[bytes[i][0]] = bytes[i][1]; - } - - server.send(message, 0, message.length, remote.port, remote.address, function (err, bytes) { - - server.close(); - }); - }); - - server.bind(49123); - }; - - it('fails on bad version', function (done) { - - messup([[0, (0 << 6) + (3 << 3) + (4 << 0)]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(time.version).to.equal(3); - expect(err.message).to.equal('Invalid server response'); - done(); - }); - }); - - it('fails on bad originateTimestamp', function (done) { - - messup([[24, 0x83], [25, 0xaa], [26, 0x7e], [27, 0x80], [28, 0], [29, 0], [30, 0], [31, 0]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(err.message).to.equal('Invalid server response'); - done(); - }); - }); - - it('fails on bad receiveTimestamp', function (done) { - - messup([[32, 0x83], [33, 0xaa], [34, 0x7e], [35, 0x80], [36, 0], [37, 0], [38, 0], [39, 0]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(err.message).to.equal('Invalid server response'); - done(); - }); - }); - - it('fails on bad originate timestamp and alarm li', function (done) { - - messup([[0, (3 << 6) + (4 << 3) + (4 << 0)]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(err.message).to.equal('Wrong originate timestamp'); - expect(time.leapIndicator).to.equal('alarm'); - done(); - }); - }); - - it('returns time with death stratum and last61 li', function (done) { - - messup([[0, (1 << 6) + (4 << 3) + (4 << 0)], [1, 0]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(time.stratum).to.equal('death'); - expect(time.leapIndicator).to.equal('last-minute-61'); - done(); - }); - }); - - it('returns time with reserved stratum and last59 li', function (done) { - - messup([[0, (2 << 6) + (4 << 3) + (4 << 0)], [1, 0x1f]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(time.stratum).to.equal('reserved'); - expect(time.leapIndicator).to.equal('last-minute-59'); - done(); - }); - }); - - it('fails on bad mode (symmetric-active)', function (done) { - - messup([[0, (0 << 6) + (4 << 3) + (1 << 0)]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(time.mode).to.equal('symmetric-active'); - done(); - }); - }); - - it('fails on bad mode (symmetric-passive)', function (done) { - - messup([[0, (0 << 6) + (4 << 3) + (2 << 0)]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(time.mode).to.equal('symmetric-passive'); - done(); - }); - }); - - it('fails on bad mode (client)', function (done) { - - messup([[0, (0 << 6) + (4 << 3) + (3 << 0)]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(time.mode).to.equal('client'); - done(); - }); - }); - - it('fails on bad mode (broadcast)', function (done) { - - messup([[0, (0 << 6) + (4 << 3) + (5 << 0)]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(time.mode).to.equal('broadcast'); - done(); - }); - }); - - it('fails on bad mode (reserved)', function (done) { - - messup([[0, (0 << 6) + (4 << 3) + (6 << 0)]]); - - Sntp.time({ host: 'localhost', port: 49123 }, function (err, time) { - - expect(err).to.exist; - expect(time.mode).to.equal('reserved'); - done(); - }); - }); - }); - - describe('#offset', function () { - - it('gets the current offset', function (done) { - - Sntp.offset(function (err, offset) { - - expect(err).to.not.exist; - expect(offset).to.not.equal(0); - done(); - }); - }); - - it('gets the current offset from cache', function (done) { - - Sntp.offset(function (err, offset) { - - expect(err).to.not.exist; - expect(offset).to.not.equal(0); - var offset1 = offset; - Sntp.offset({}, function (err, offset) { - - expect(err).to.not.exist; - expect(offset).to.equal(offset1); - done(); - }); - }); - }); - - it('gets the new offset on different server', function (done) { - - Sntp.offset(function (err, offset) { - - expect(err).to.not.exist; - expect(offset).to.not.equal(0); - var offset1 = offset; - Sntp.offset({ host: 'nist1-sj.ustiming.org' }, function (err, offset) { - - expect(err).to.not.exist; - expect(offset).to.not.equal(offset1); - done(); - }); - }); - }); - - it('gets the new offset on different server', function (done) { - - Sntp.offset(function (err, offset) { - - expect(err).to.not.exist; - expect(offset).to.not.equal(0); - var offset1 = offset; - Sntp.offset({ port: 123 }, function (err, offset) { - - expect(err).to.not.exist; - expect(offset).to.not.equal(offset1); - done(); - }); - }); - }); - - it('fails getting the current offset on invalid server', function (done) { - - Sntp.offset({ host: 'error' }, function (err, offset) { - - expect(err).to.exist; - expect(offset).to.equal(0); - done(); - }); - }); - }); - - describe('#now', function () { - - it('starts auto-sync, gets now, then stops', function (done) { - - Sntp.stop(); - - var before = Sntp.now(); - expect(before).to.equal(Date.now()); - - Sntp.start(function () { - - var now = Sntp.now(); - expect(now).to.not.equal(Date.now()); - Sntp.stop(); - - done(); - }); - }); - - it('starts twice', function (done) { - - Sntp.start(function () { - - Sntp.start(function () { - - var now = Sntp.now(); - expect(now).to.not.equal(Date.now()); - Sntp.stop(); - - done(); - }); - }); - }); - - it('starts auto-sync, gets now, waits, gets again after timeout', function (done) { - - Sntp.stop(); - - var before = Sntp.now(); - expect(before).to.equal(Date.now()); - - Sntp.start({ clockSyncRefresh: 100 }, function () { - - var now = Sntp.now(); - expect(now).to.not.equal(Date.now()); - expect(now).to.equal(Sntp.now()); - - setTimeout(function () { - - expect(Sntp.now()).to.not.equal(now); - Sntp.stop(); - done(); - }, 110); - }); - }); - }); -}); - diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/.npmignore b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/.npmignore deleted file mode 100644 index 206320c..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -build -test diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/LICENSE deleted file mode 100644 index 6de584a..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright Joyent, Inc. and other Node contributors. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/README.md deleted file mode 100644 index 4d2aa00..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/README.md +++ /dev/null @@ -1,7 +0,0 @@ -**string_decoder.js** (`require('string_decoder')`) from Node.js core - -Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details. - -Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.** - -The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/index.js deleted file mode 100644 index b00e54f..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/index.js +++ /dev/null @@ -1,221 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -var Buffer = require('buffer').Buffer; - -var isBufferEncoding = Buffer.isEncoding - || function(encoding) { - switch (encoding && encoding.toLowerCase()) { - case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true; - default: return false; - } - } - - -function assertEncoding(encoding) { - if (encoding && !isBufferEncoding(encoding)) { - throw new Error('Unknown encoding: ' + encoding); - } -} - -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. CESU-8 is handled as part of the UTF-8 encoding. -// -// @TODO Handling all encodings inside a single object makes it very difficult -// to reason about this code, so it should be split up in the future. -// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code -// points as used by CESU-8. -var StringDecoder = exports.StringDecoder = function(encoding) { - this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, ''); - assertEncoding(encoding); - switch (this.encoding) { - case 'utf8': - // CESU-8 represents each of Surrogate Pair by 3-bytes - this.surrogateSize = 3; - break; - case 'ucs2': - case 'utf16le': - // UTF-16 represents each of Surrogate Pair by 2-bytes - this.surrogateSize = 2; - this.detectIncompleteChar = utf16DetectIncompleteChar; - break; - case 'base64': - // Base-64 stores 3 bytes in 4 chars, and pads the remainder. - this.surrogateSize = 3; - this.detectIncompleteChar = base64DetectIncompleteChar; - break; - default: - this.write = passThroughWrite; - return; - } - - // Enough space to store all bytes of a single character. UTF-8 needs 4 - // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate). - this.charBuffer = new Buffer(6); - // Number of bytes received for the current incomplete multi-byte character. - this.charReceived = 0; - // Number of bytes expected for the current incomplete multi-byte character. - this.charLength = 0; -}; - - -// write decodes the given buffer and returns it as JS string that is -// guaranteed to not contain any partial multi-byte characters. Any partial -// character found at the end of the buffer is buffered up, and will be -// returned when calling write again with the remaining bytes. -// -// Note: Converting a Buffer containing an orphan surrogate to a String -// currently works, but converting a String to a Buffer (via `new Buffer`, or -// Buffer#write) will replace incomplete surrogates with the unicode -// replacement character. See https://codereview.chromium.org/121173009/ . -StringDecoder.prototype.write = function(buffer) { - var charStr = ''; - // if our last write ended with an incomplete multibyte character - while (this.charLength) { - // determine how many remaining bytes this buffer has to offer for this char - var available = (buffer.length >= this.charLength - this.charReceived) ? - this.charLength - this.charReceived : - buffer.length; - - // add the new bytes to the char buffer - buffer.copy(this.charBuffer, this.charReceived, 0, available); - this.charReceived += available; - - if (this.charReceived < this.charLength) { - // still not enough chars in this buffer? wait for more ... - return ''; - } - - // remove bytes belonging to the current character from the buffer - buffer = buffer.slice(available, buffer.length); - - // get the character that was split - charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding); - - // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character - var charCode = charStr.charCodeAt(charStr.length - 1); - if (charCode >= 0xD800 && charCode <= 0xDBFF) { - this.charLength += this.surrogateSize; - charStr = ''; - continue; - } - this.charReceived = this.charLength = 0; - - // if there are no more bytes in this buffer, just emit our char - if (buffer.length === 0) { - return charStr; - } - break; - } - - // determine and set charLength / charReceived - this.detectIncompleteChar(buffer); - - var end = buffer.length; - if (this.charLength) { - // buffer the incomplete character bytes we got - buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end); - end -= this.charReceived; - } - - charStr += buffer.toString(this.encoding, 0, end); - - var end = charStr.length - 1; - var charCode = charStr.charCodeAt(end); - // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character - if (charCode >= 0xD800 && charCode <= 0xDBFF) { - var size = this.surrogateSize; - this.charLength += size; - this.charReceived += size; - this.charBuffer.copy(this.charBuffer, size, 0, size); - buffer.copy(this.charBuffer, 0, 0, size); - return charStr.substring(0, end); - } - - // or just emit the charStr - return charStr; -}; - -// detectIncompleteChar determines if there is an incomplete UTF-8 character at -// the end of the given buffer. If so, it sets this.charLength to the byte -// length that character, and sets this.charReceived to the number of bytes -// that are available for this character. -StringDecoder.prototype.detectIncompleteChar = function(buffer) { - // determine how many bytes we have to check at the end of this buffer - var i = (buffer.length >= 3) ? 3 : buffer.length; - - // Figure out if one of the last i bytes of our buffer announces an - // incomplete char. - for (; i > 0; i--) { - var c = buffer[buffer.length - i]; - - // See http://en.wikipedia.org/wiki/UTF-8#Description - - // 110XXXXX - if (i == 1 && c >> 5 == 0x06) { - this.charLength = 2; - break; - } - - // 1110XXXX - if (i <= 2 && c >> 4 == 0x0E) { - this.charLength = 3; - break; - } - - // 11110XXX - if (i <= 3 && c >> 3 == 0x1E) { - this.charLength = 4; - break; - } - } - this.charReceived = i; -}; - -StringDecoder.prototype.end = function(buffer) { - var res = ''; - if (buffer && buffer.length) - res = this.write(buffer); - - if (this.charReceived) { - var cr = this.charReceived; - var buf = this.charBuffer; - var enc = this.encoding; - res += buf.slice(0, cr).toString(enc); - } - - return res; -}; - -function passThroughWrite(buffer) { - return buffer.toString(this.encoding); -} - -function utf16DetectIncompleteChar(buffer) { - this.charReceived = buffer.length % 2; - this.charLength = this.charReceived ? 2 : 0; -} - -function base64DetectIncompleteChar(buffer) { - this.charReceived = buffer.length % 3; - this.charLength = this.charReceived ? 3 : 0; -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/package.json deleted file mode 100644 index de079b0..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/string_decoder/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "_from": "string_decoder@~0.10.x", - "_id": "string_decoder@0.10.31", - "_inBundle": false, - "_integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "_location": "/string_decoder", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "string_decoder@~0.10.x", - "name": "string_decoder", - "escapedName": "string_decoder", - "rawSpec": "~0.10.x", - "saveSpec": null, - "fetchSpec": "~0.10.x" - }, - "_requiredBy": [ - "/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", - "_spec": "string_decoder@~0.10.x", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\readable-stream", - "bugs": { - "url": "https://github.com/rvagg/string_decoder/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "The string_decoder module from Node core", - "devDependencies": { - "tap": "~0.4.8" - }, - "homepage": "https://github.com/rvagg/string_decoder", - "keywords": [ - "string", - "decoder", - "browser", - "browserify" - ], - "license": "MIT", - "main": "index.js", - "name": "string_decoder", - "repository": { - "type": "git", - "url": "git://github.com/rvagg/string_decoder.git" - }, - "scripts": { - "test": "tap test/simple/*.js" - }, - "version": "0.10.31" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/.travis.yml b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/.travis.yml deleted file mode 100644 index f1d0f13..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.4 - - 0.6 diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/LICENSE.txt b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/LICENSE.txt deleted file mode 100644 index ab861ac..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2012 Michael Hart (michael.hart.au@gmail.com) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/README.md deleted file mode 100644 index 32fc982..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Decode streams into strings The Right Way(tm) - -```javascript -var fs = require('fs') -var zlib = require('zlib') -var strs = require('stringstream') - -var utf8Stream = fs.createReadStream('massiveLogFile.gz') - .pipe(zlib.createGunzip()) - .pipe(strs('utf8')) -``` - -No need to deal with `setEncoding()` weirdness, just compose streams -like they were supposed to be! - -Handles input and output encoding: - -```javascript -// Stream from utf8 to hex to base64... Why not, ay. -var hex64Stream = fs.createReadStream('myFile') - .pipe(strs('utf8', 'hex')) - .pipe(strs('hex', 'base64')) -``` - -Also deals with `base64` output correctly by aligning each emitted data -chunk so that there are no dangling `=` characters: - -```javascript -var stream = fs.createReadStream('myFile').pipe(strs('base64')) - -var base64Str = '' - -stream.on('data', function(data) { base64Str += data }) -stream.on('end', function() { - console.log('My base64 encoded file is: ' + base64Str) // Wouldn't work with setEncoding() - console.log('Original file is: ' + new Buffer(base64Str, 'base64')) -}) -``` diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/example.js b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/example.js deleted file mode 100644 index f82b85e..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/example.js +++ /dev/null @@ -1,27 +0,0 @@ -var fs = require('fs') -var zlib = require('zlib') -var strs = require('stringstream') - -var utf8Stream = fs.createReadStream('massiveLogFile.gz') - .pipe(zlib.createGunzip()) - .pipe(strs('utf8')) - -utf8Stream.pipe(process.stdout) - -// Stream from utf8 to hex to base64... Why not, ay. -var hex64Stream = fs.createReadStream('myFile') - .pipe(strs('utf8', 'hex')) - .pipe(strs('hex', 'base64')) - -hex64Stream.pipe(process.stdout) - -// Deals with base64 correctly by aligning chunks -var stream = fs.createReadStream('myFile').pipe(strs('base64')) - -var base64Str = '' - -stream.on('data', function(data) { base64Str += data }) -stream.on('end', function() { - console.log('My base64 encoded file is: ' + base64Str) // Wouldn't work with setEncoding() - console.log('Original file is: ' + new Buffer(base64Str, 'base64')) -}) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/package.json deleted file mode 100644 index 930a61a..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "_from": "stringstream@~0.0.4", - "_id": "stringstream@0.0.6", - "_inBundle": false, - "_integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", - "_location": "/stringstream", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "stringstream@~0.0.4", - "name": "stringstream", - "escapedName": "stringstream", - "rawSpec": "~0.0.4", - "saveSpec": null, - "fetchSpec": "~0.0.4" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", - "_shasum": "7880225b0d4ad10e30927d167a1d6f2fd3b33a72", - "_spec": "stringstream@~0.0.4", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", - "author": { - "name": "Michael Hart", - "email": "michael.hart.au@gmail.com", - "url": "http://github.com/mhart" - }, - "bugs": { - "url": "https://github.com/mhart/StringStream/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Encode and decode streams into string streams", - "homepage": "https://github.com/mhart/StringStream#readme", - "keywords": [ - "string", - "stream", - "base64", - "gzip" - ], - "license": "MIT", - "main": "stringstream.js", - "name": "stringstream", - "repository": { - "type": "git", - "url": "git+https://github.com/mhart/StringStream.git" - }, - "version": "0.0.6" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/stringstream.js b/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/stringstream.js deleted file mode 100644 index 6732b9d..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/stringstream/stringstream.js +++ /dev/null @@ -1,102 +0,0 @@ -var util = require('util') -var Stream = require('stream') -var StringDecoder = require('string_decoder').StringDecoder - -module.exports = StringStream -module.exports.AlignedStringDecoder = AlignedStringDecoder - -function StringStream(from, to) { - if (!(this instanceof StringStream)) return new StringStream(from, to) - - Stream.call(this) - - if (from == null) from = 'utf8' - - this.readable = this.writable = true - this.paused = false - this.toEncoding = (to == null ? from : to) - this.fromEncoding = (to == null ? '' : from) - this.decoder = new AlignedStringDecoder(this.toEncoding) -} -util.inherits(StringStream, Stream) - -StringStream.prototype.write = function(data) { - if (!this.writable) { - var err = new Error('stream not writable') - err.code = 'EPIPE' - this.emit('error', err) - return false - } - if (this.fromEncoding) { - if (Buffer.isBuffer(data) || typeof data === 'number') data = data.toString() - data = new Buffer(data, this.fromEncoding) - } - var string = this.decoder.write(data) - if (string.length) this.emit('data', string) - return !this.paused -} - -StringStream.prototype.flush = function() { - if (this.decoder.flush) { - var string = this.decoder.flush() - if (string.length) this.emit('data', string) - } -} - -StringStream.prototype.end = function() { - if (!this.writable && !this.readable) return - this.flush() - this.emit('end') - this.writable = this.readable = false - this.destroy() -} - -StringStream.prototype.destroy = function() { - this.decoder = null - this.writable = this.readable = false - this.emit('close') -} - -StringStream.prototype.pause = function() { - this.paused = true -} - -StringStream.prototype.resume = function () { - if (this.paused) this.emit('drain') - this.paused = false -} - -function AlignedStringDecoder(encoding) { - StringDecoder.call(this, encoding) - - switch (this.encoding) { - case 'base64': - this.write = alignedWrite - this.alignedBuffer = new Buffer(3) - this.alignedBytes = 0 - break - } -} -util.inherits(AlignedStringDecoder, StringDecoder) - -AlignedStringDecoder.prototype.flush = function() { - if (!this.alignedBuffer || !this.alignedBytes) return '' - var leftover = this.alignedBuffer.toString(this.encoding, 0, this.alignedBytes) - this.alignedBytes = 0 - return leftover -} - -function alignedWrite(buffer) { - var rem = (this.alignedBytes + buffer.length) % this.alignedBuffer.length - if (!rem && !this.alignedBytes) return buffer.toString(this.encoding) - - var returnBuffer = new Buffer(this.alignedBytes + buffer.length - rem) - - this.alignedBuffer.copy(returnBuffer, 0, 0, this.alignedBytes) - buffer.copy(returnBuffer, this.alignedBytes, 0, buffer.length - rem) - - buffer.copy(this.alignedBuffer, 0, buffer.length - rem, buffer.length) - this.alignedBytes = rem - - return returnBuffer.toString(this.encoding) -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/index.js deleted file mode 100644 index 099480f..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/index.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; -var ansiRegex = require('ansi-regex')(); - -module.exports = function (str) { - return typeof str === 'string' ? str.replace(ansiRegex, '') : str; -}; diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/license b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/license deleted file mode 100644 index 654d0bf..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/package.json deleted file mode 100644 index f28e5f0..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "_from": "strip-ansi@^3.0.0", - "_id": "strip-ansi@3.0.1", - "_inBundle": false, - "_integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "_location": "/strip-ansi", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "strip-ansi@^3.0.0", - "name": "strip-ansi", - "escapedName": "strip-ansi", - "rawSpec": "^3.0.0", - "saveSpec": null, - "fetchSpec": "^3.0.0" - }, - "_requiredBy": [ - "/chalk" - ], - "_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "_shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf", - "_spec": "strip-ansi@^3.0.0", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\chalk", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/strip-ansi/issues" - }, - "bundleDependencies": false, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "deprecated": false, - "description": "Strip ANSI escape codes", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/chalk/strip-ansi#readme", - "keywords": [ - "strip", - "trim", - "remove", - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "maintainers": [ - { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - { - "name": "Joshua Boy Nicolai Appelman", - "email": "joshua@jbna.nl", - "url": "jbna.nl" - }, - { - "name": "JD Ballard", - "email": "i.am.qix@gmail.com", - "url": "github.com/qix-" - } - ], - "name": "strip-ansi", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/strip-ansi.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "3.0.1" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/readme.md b/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/readme.md deleted file mode 100644 index cb7d9ff..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/strip-ansi/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi) - -> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) - - -## Install - -``` -$ npm install --save strip-ansi -``` - - -## Usage - -```js -var stripAnsi = require('strip-ansi'); - -stripAnsi('\u001b[4mcake\u001b[0m'); -//=> 'cake' -``` - - -## Related - -- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module -- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes -- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes -- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/index.js deleted file mode 100644 index 4346e27..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/index.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; -var argv = process.argv; - -var terminator = argv.indexOf('--'); -var hasFlag = function (flag) { - flag = '--' + flag; - var pos = argv.indexOf(flag); - return pos !== -1 && (terminator !== -1 ? pos < terminator : true); -}; - -module.exports = (function () { - if ('FORCE_COLOR' in process.env) { - return true; - } - - if (hasFlag('no-color') || - hasFlag('no-colors') || - hasFlag('color=false')) { - return false; - } - - if (hasFlag('color') || - hasFlag('colors') || - hasFlag('color=true') || - hasFlag('color=always')) { - return true; - } - - if (process.stdout && !process.stdout.isTTY) { - return false; - } - - if (process.platform === 'win32') { - return true; - } - - if ('COLORTERM' in process.env) { - return true; - } - - if (process.env.TERM === 'dumb') { - return false; - } - - if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { - return true; - } - - return false; -})(); diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/license b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/license deleted file mode 100644 index 654d0bf..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/package.json deleted file mode 100644 index df1be6f..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_from": "supports-color@^2.0.0", - "_id": "supports-color@2.0.0", - "_inBundle": false, - "_integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "_location": "/supports-color", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "supports-color@^2.0.0", - "name": "supports-color", - "escapedName": "supports-color", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/chalk" - ], - "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "_shasum": "535d045ce6b6363fa40117084629995e9df324c7", - "_spec": "supports-color@^2.0.0", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\chalk", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/supports-color/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Detect whether a terminal supports color", - "devDependencies": { - "mocha": "*", - "require-uncached": "^1.0.2" - }, - "engines": { - "node": ">=0.8.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/chalk/supports-color#readme", - "keywords": [ - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "ansi", - "styles", - "tty", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "support", - "supports", - "capability", - "detect" - ], - "license": "MIT", - "maintainers": [ - { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - { - "name": "Joshua Appelman", - "email": "jappelman@xebia.com", - "url": "jbnicolai.com" - } - ], - "name": "supports-color", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/supports-color.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "2.0.0" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/readme.md b/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/readme.md deleted file mode 100644 index b4761f1..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/supports-color/readme.md +++ /dev/null @@ -1,36 +0,0 @@ -# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color) - -> Detect whether a terminal supports color - - -## Install - -``` -$ npm install --save supports-color -``` - - -## Usage - -```js -var supportsColor = require('supports-color'); - -if (supportsColor) { - console.log('Terminal supports color'); -} -``` - -It obeys the `--color` and `--no-color` CLI flags. - -For situations where using `--color` is not possible, add an environment variable `FORCE_COLOR` with any value to force color. Trumps `--no-color`. - - -## Related - -- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module -- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/LICENSE deleted file mode 100644 index 22204e8..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/LICENSE +++ /dev/null @@ -1,12 +0,0 @@ -Copyright (c) 2015, Salesforce.com, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/README.md deleted file mode 100644 index 656a255..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/README.md +++ /dev/null @@ -1,527 +0,0 @@ -[RFC6265](https://tools.ietf.org/html/rfc6265) Cookies and CookieJar for Node.js - -[![npm package](https://nodei.co/npm/tough-cookie.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/tough-cookie/) - -[![Build Status](https://travis-ci.org/salesforce/tough-cookie.png?branch=master)](https://travis-ci.org/salesforce/tough-cookie) - -# Synopsis - -``` javascript -var tough = require('tough-cookie'); -var Cookie = tough.Cookie; -var cookie = Cookie.parse(header); -cookie.value = 'somethingdifferent'; -header = cookie.toString(); - -var cookiejar = new tough.CookieJar(); -cookiejar.setCookie(cookie, 'http://currentdomain.example.com/path', cb); -// ... -cookiejar.getCookies('http://example.com/otherpath',function(err,cookies) { - res.headers['cookie'] = cookies.join('; '); -}); -``` - -# Installation - -It's _so_ easy! - -`npm install tough-cookie` - -Why the name? NPM modules `cookie`, `cookies` and `cookiejar` were already taken. - -## Version Support - -Support for versions of node.js will follow that of the [request](https://www.npmjs.com/package/request) module. - -# API - -## tough - -Functions on the module you get from `require('tough-cookie')`. All can be used as pure functions and don't need to be "bound". - -**Note**: prior to 1.0.x, several of these functions took a `strict` parameter. This has since been removed from the API as it was no longer necessary. - -### `parseDate(string)` - -Parse a cookie date string into a `Date`. Parses according to RFC6265 Section 5.1.1, not `Date.parse()`. - -### `formatDate(date)` - -Format a Date into a RFC1123 string (the RFC6265-recommended format). - -### `canonicalDomain(str)` - -Transforms a domain-name into a canonical domain-name. The canonical domain-name is a trimmed, lowercased, stripped-of-leading-dot and optionally punycode-encoded domain-name (Section 5.1.2 of RFC6265). For the most part, this function is idempotent (can be run again on its output without ill effects). - -### `domainMatch(str,domStr[,canonicalize=true])` - -Answers "does this real domain match the domain in a cookie?". The `str` is the "current" domain-name and the `domStr` is the "cookie" domain-name. Matches according to RFC6265 Section 5.1.3, but it helps to think of it as a "suffix match". - -The `canonicalize` parameter will run the other two parameters through `canonicalDomain` or not. - -### `defaultPath(path)` - -Given a current request/response path, gives the Path apropriate for storing in a cookie. This is basically the "directory" of a "file" in the path, but is specified by Section 5.1.4 of the RFC. - -The `path` parameter MUST be _only_ the pathname part of a URI (i.e. excludes the hostname, query, fragment, etc.). This is the `.pathname` property of node's `uri.parse()` output. - -### `pathMatch(reqPath,cookiePath)` - -Answers "does the request-path path-match a given cookie-path?" as per RFC6265 Section 5.1.4. Returns a boolean. - -This is essentially a prefix-match where `cookiePath` is a prefix of `reqPath`. - -### `parse(cookieString[, options])` - -alias for `Cookie.parse(cookieString[, options])` - -### `fromJSON(string)` - -alias for `Cookie.fromJSON(string)` - -### `getPublicSuffix(hostname)` - -Returns the public suffix of this hostname. The public suffix is the shortest domain-name upon which a cookie can be set. Returns `null` if the hostname cannot have cookies set for it. - -For example: `www.example.com` and `www.subdomain.example.com` both have public suffix `example.com`. - -For further information, see http://publicsuffix.org/. This module derives its list from that site. This call is currently a wrapper around [`psl`](https://www.npmjs.com/package/psl)'s [get() method](https://www.npmjs.com/package/psl#pslgetdomain). - -### `cookieCompare(a,b)` - -For use with `.sort()`, sorts a list of cookies into the recommended order given in the RFC (Section 5.4 step 2). The sort algorithm is, in order of precedence: - -* Longest `.path` -* oldest `.creation` (which has a 1ms precision, same as `Date`) -* lowest `.creationIndex` (to get beyond the 1ms precision) - -``` javascript -var cookies = [ /* unsorted array of Cookie objects */ ]; -cookies = cookies.sort(cookieCompare); -``` - -**Note**: Since JavaScript's `Date` is limited to a 1ms precision, cookies within the same milisecond are entirely possible. This is especially true when using the `now` option to `.setCookie()`. The `.creationIndex` property is a per-process global counter, assigned during construction with `new Cookie()`. This preserves the spirit of the RFC sorting: older cookies go first. This works great for `MemoryCookieStore`, since `Set-Cookie` headers are parsed in order, but may not be so great for distributed systems. Sophisticated `Store`s may wish to set this to some other _logical clock_ such that if cookies A and B are created in the same millisecond, but cookie A is created before cookie B, then `A.creationIndex < B.creationIndex`. If you want to alter the global counter, which you probably _shouldn't_ do, it's stored in `Cookie.cookiesCreated`. - -### `permuteDomain(domain)` - -Generates a list of all possible domains that `domainMatch()` the parameter. May be handy for implementing cookie stores. - -### `permutePath(path)` - -Generates a list of all possible paths that `pathMatch()` the parameter. May be handy for implementing cookie stores. - - -## Cookie - -Exported via `tough.Cookie`. - -### `Cookie.parse(cookieString[, options])` - -Parses a single Cookie or Set-Cookie HTTP header into a `Cookie` object. Returns `undefined` if the string can't be parsed. - -The options parameter is not required and currently has only one property: - - * _loose_ - boolean - if `true` enable parsing of key-less cookies like `=abc` and `=`, which are not RFC-compliant. - -If options is not an object, it is ignored, which means you can use `Array#map` with it. - -Here's how to process the Set-Cookie header(s) on a node HTTP/HTTPS response: - -``` javascript -if (res.headers['set-cookie'] instanceof Array) - cookies = res.headers['set-cookie'].map(Cookie.parse); -else - cookies = [Cookie.parse(res.headers['set-cookie'])]; -``` - -_Note:_ in version 2.3.3, tough-cookie limited the number of spaces before the `=` to 256 characters. This limitation has since been removed. -See [Issue 92](https://github.com/salesforce/tough-cookie/issues/92) - -### Properties - -Cookie object properties: - - * _key_ - string - the name or key of the cookie (default "") - * _value_ - string - the value of the cookie (default "") - * _expires_ - `Date` - if set, the `Expires=` attribute of the cookie (defaults to the string `"Infinity"`). See `setExpires()` - * _maxAge_ - seconds - if set, the `Max-Age=` attribute _in seconds_ of the cookie. May also be set to strings `"Infinity"` and `"-Infinity"` for non-expiry and immediate-expiry, respectively. See `setMaxAge()` - * _domain_ - string - the `Domain=` attribute of the cookie - * _path_ - string - the `Path=` of the cookie - * _secure_ - boolean - the `Secure` cookie flag - * _httpOnly_ - boolean - the `HttpOnly` cookie flag - * _extensions_ - `Array` - any unrecognized cookie attributes as strings (even if equal-signs inside) - * _creation_ - `Date` - when this cookie was constructed - * _creationIndex_ - number - set at construction, used to provide greater sort precision (please see `cookieCompare(a,b)` for a full explanation) - -After a cookie has been passed through `CookieJar.setCookie()` it will have the following additional attributes: - - * _hostOnly_ - boolean - is this a host-only cookie (i.e. no Domain field was set, but was instead implied) - * _pathIsDefault_ - boolean - if true, there was no Path field on the cookie and `defaultPath()` was used to derive one. - * _creation_ - `Date` - **modified** from construction to when the cookie was added to the jar - * _lastAccessed_ - `Date` - last time the cookie got accessed. Will affect cookie cleaning once implemented. Using `cookiejar.getCookies(...)` will update this attribute. - -### `Cookie([{properties}])` - -Receives an options object that can contain any of the above Cookie properties, uses the default for unspecified properties. - -### `.toString()` - -encode to a Set-Cookie header value. The Expires cookie field is set using `formatDate()`, but is omitted entirely if `.expires` is `Infinity`. - -### `.cookieString()` - -encode to a Cookie header value (i.e. the `.key` and `.value` properties joined with '='). - -### `.setExpires(String)` - -sets the expiry based on a date-string passed through `parseDate()`. If parseDate returns `null` (i.e. can't parse this date string), `.expires` is set to `"Infinity"` (a string) is set. - -### `.setMaxAge(number)` - -sets the maxAge in seconds. Coerces `-Infinity` to `"-Infinity"` and `Infinity` to `"Infinity"` so it JSON serializes correctly. - -### `.expiryTime([now=Date.now()])` - -### `.expiryDate([now=Date.now()])` - -expiryTime() Computes the absolute unix-epoch milliseconds that this cookie expires. expiryDate() works similarly, except it returns a `Date` object. Note that in both cases the `now` parameter should be milliseconds. - -Max-Age takes precedence over Expires (as per the RFC). The `.creation` attribute -- or, by default, the `now` parameter -- is used to offset the `.maxAge` attribute. - -If Expires (`.expires`) is set, that's returned. - -Otherwise, `expiryTime()` returns `Infinity` and `expiryDate()` returns a `Date` object for "Tue, 19 Jan 2038 03:14:07 GMT" (latest date that can be expressed by a 32-bit `time_t`; the common limit for most user-agents). - -### `.TTL([now=Date.now()])` - -compute the TTL relative to `now` (milliseconds). The same precedence rules as for `expiryTime`/`expiryDate` apply. - -The "number" `Infinity` is returned for cookies without an explicit expiry and `0` is returned if the cookie is expired. Otherwise a time-to-live in milliseconds is returned. - -### `.canonicalizedDomain()` - -### `.cdomain()` - -return the canonicalized `.domain` field. This is lower-cased and punycode (RFC3490) encoded if the domain has any non-ASCII characters. - -### `.toJSON()` - -For convenience in using `JSON.serialize(cookie)`. Returns a plain-old `Object` that can be JSON-serialized. - -Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are exported in ISO format (`.toISOString()`). - -**NOTE**: Custom `Cookie` properties will be discarded. In tough-cookie 1.x, since there was no `.toJSON` method explicitly defined, all enumerable properties were captured. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array. - -### `Cookie.fromJSON(strOrObj)` - -Does the reverse of `cookie.toJSON()`. If passed a string, will `JSON.parse()` that first. - -Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are parsed via `Date.parse()`, not the tough-cookie `parseDate`, since it's JavaScript/JSON-y timestamps being handled at this layer. - -Returns `null` upon JSON parsing error. - -### `.clone()` - -Does a deep clone of this cookie, exactly implemented as `Cookie.fromJSON(cookie.toJSON())`. - -### `.validate()` - -Status: *IN PROGRESS*. Works for a few things, but is by no means comprehensive. - -validates cookie attributes for semantic correctness. Useful for "lint" checking any Set-Cookie headers you generate. For now, it returns a boolean, but eventually could return a reason string -- you can future-proof with this construct: - -``` javascript -if (cookie.validate() === true) { - // it's tasty -} else { - // yuck! -} -``` - - -## CookieJar - -Exported via `tough.CookieJar`. - -### `CookieJar([store],[options])` - -Simply use `new CookieJar()`. If you'd like to use a custom store, pass that to the constructor otherwise a `MemoryCookieStore` will be created and used. - -The `options` object can be omitted and can have the following properties: - - * _rejectPublicSuffixes_ - boolean - default `true` - reject cookies with domains like "com" and "co.uk" - * _looseMode_ - boolean - default `false` - accept malformed cookies like `bar` and `=bar`, which have an implied empty name. - This is not in the standard, but is used sometimes on the web and is accepted by (most) browsers. - -Since eventually this module would like to support database/remote/etc. CookieJars, continuation passing style is used for CookieJar methods. - -### `.setCookie(cookieOrString, currentUrl, [{options},] cb(err,cookie))` - -Attempt to set the cookie in the cookie jar. If the operation fails, an error will be given to the callback `cb`, otherwise the cookie is passed through. The cookie will have updated `.creation`, `.lastAccessed` and `.hostOnly` properties. - -The `options` object can be omitted and can have the following properties: - - * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies. - * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`. - * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies - * _ignoreError_ - boolean - default `false` - silently ignore things like parse errors and invalid domains. `Store` errors aren't ignored by this option. - -As per the RFC, the `.hostOnly` property is set if there was no "Domain=" parameter in the cookie string (or `.domain` was null on the Cookie object). The `.domain` property is set to the fully-qualified hostname of `currentUrl` in this case. Matching this cookie requires an exact hostname match (not a `domainMatch` as per usual). - -### `.setCookieSync(cookieOrString, currentUrl, [{options}])` - -Synchronous version of `setCookie`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.getCookies(currentUrl, [{options},] cb(err,cookies))` - -Retrieve the list of cookies that can be sent in a Cookie header for the current url. - -If an error is encountered, that's passed as `err` to the callback, otherwise an `Array` of `Cookie` objects is passed. The array is sorted with `cookieCompare()` unless the `{sort:false}` option is given. - -The `options` object can be omitted and can have the following properties: - - * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies. - * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`. - * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies - * _expire_ - boolean - default `true` - perform expiry-time checking of cookies and asynchronously remove expired cookies from the store. Using `false` will return expired cookies and **not** remove them from the store (which is useful for replaying Set-Cookie headers, potentially). - * _allPaths_ - boolean - default `false` - if `true`, do not scope cookies by path. The default uses RFC-compliant path scoping. **Note**: may not be supported by the underlying store (the default `MemoryCookieStore` supports it). - -The `.lastAccessed` property of the returned cookies will have been updated. - -### `.getCookiesSync(currentUrl, [{options}])` - -Synchronous version of `getCookies`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.getCookieString(...)` - -Accepts the same options as `.getCookies()` but passes a string suitable for a Cookie header rather than an array to the callback. Simply maps the `Cookie` array via `.cookieString()`. - -### `.getCookieStringSync(...)` - -Synchronous version of `getCookieString`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.getSetCookieStrings(...)` - -Returns an array of strings suitable for **Set-Cookie** headers. Accepts the same options as `.getCookies()`. Simply maps the cookie array via `.toString()`. - -### `.getSetCookieStringsSync(...)` - -Synchronous version of `getSetCookieStrings`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.serialize(cb(err,serializedObject))` - -Serialize the Jar if the underlying store supports `.getAllCookies`. - -**NOTE**: Custom `Cookie` properties will be discarded. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array. - -See [Serialization Format]. - -### `.serializeSync()` - -Sync version of .serialize - -### `.toJSON()` - -Alias of .serializeSync() for the convenience of `JSON.stringify(cookiejar)`. - -### `CookieJar.deserialize(serialized, [store], cb(err,object))` - -A new Jar is created and the serialized Cookies are added to the underlying store. Each `Cookie` is added via `store.putCookie` in the order in which they appear in the serialization. - -The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created. - -As a convenience, if `serialized` is a string, it is passed through `JSON.parse` first. If that throws an error, this is passed to the callback. - -### `CookieJar.deserializeSync(serialized, [store])` - -Sync version of `.deserialize`. _Note_ that the `store` must be synchronous for this to work. - -### `CookieJar.fromJSON(string)` - -Alias of `.deserializeSync` to provide consistency with `Cookie.fromJSON()`. - -### `.clone([store,]cb(err,newJar))` - -Produces a deep clone of this jar. Modifications to the original won't affect the clone, and vice versa. - -The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created. Transferring between store types is supported so long as the source implements `.getAllCookies()` and the destination implements `.putCookie()`. - -### `.cloneSync([store])` - -Synchronous version of `.clone`, returning a new `CookieJar` instance. - -The `store` argument is optional, but must be a _synchronous_ `Store` instance if specified. If not passed, a new instance of `MemoryCookieStore` is used. - -The _source_ and _destination_ must both be synchronous `Store`s. If one or both stores are asynchronous, use `.clone` instead. Recall that `MemoryCookieStore` supports both synchronous and asynchronous API calls. - -### `.removeAllCookies(cb(err))` - -Removes all cookies from the jar. - -This is a new backwards-compatible feature of `tough-cookie` version 2.5, so not all Stores will implement it efficiently. For Stores that do not implement `removeAllCookies`, the fallback is to call `removeCookie` after `getAllCookies`. If `getAllCookies` fails or isn't implemented in the Store, that error is returned. If one or more of the `removeCookie` calls fail, only the first error is returned. - -### `.removeAllCookiesSync()` - -Sync version of `.removeAllCookies()` - -## Store - -Base class for CookieJar stores. Available as `tough.Store`. - -## Store API - -The storage model for each `CookieJar` instance can be replaced with a custom implementation. The default is `MemoryCookieStore` which can be found in the `lib/memstore.js` file. The API uses continuation-passing-style to allow for asynchronous stores. - -Stores should inherit from the base `Store` class, which is available as `require('tough-cookie').Store`. - -Stores are asynchronous by default, but if `store.synchronous` is set to `true`, then the `*Sync` methods on the of the containing `CookieJar` can be used (however, the continuation-passing style - -All `domain` parameters will have been normalized before calling. - -The Cookie store must have all of the following methods. - -### `store.findCookie(domain, path, key, cb(err,cookie))` - -Retrieve a cookie with the given domain, path and key (a.k.a. name). The RFC maintains that exactly one of these cookies should exist in a store. If the store is using versioning, this means that the latest/newest such cookie should be returned. - -Callback takes an error and the resulting `Cookie` object. If no cookie is found then `null` MUST be passed instead (i.e. not an error). - -### `store.findCookies(domain, path, cb(err,cookies))` - -Locates cookies matching the given domain and path. This is most often called in the context of `cookiejar.getCookies()` above. - -If no cookies are found, the callback MUST be passed an empty array. - -The resulting list will be checked for applicability to the current request according to the RFC (domain-match, path-match, http-only-flag, secure-flag, expiry, etc.), so it's OK to use an optimistic search algorithm when implementing this method. However, the search algorithm used SHOULD try to find cookies that `domainMatch()` the domain and `pathMatch()` the path in order to limit the amount of checking that needs to be done. - -As of version 0.9.12, the `allPaths` option to `cookiejar.getCookies()` above will cause the path here to be `null`. If the path is `null`, path-matching MUST NOT be performed (i.e. domain-matching only). - -### `store.putCookie(cookie, cb(err))` - -Adds a new cookie to the store. The implementation SHOULD replace any existing cookie with the same `.domain`, `.path`, and `.key` properties -- depending on the nature of the implementation, it's possible that between the call to `fetchCookie` and `putCookie` that a duplicate `putCookie` can occur. - -The `cookie` object MUST NOT be modified; the caller will have already updated the `.creation` and `.lastAccessed` properties. - -Pass an error if the cookie cannot be stored. - -### `store.updateCookie(oldCookie, newCookie, cb(err))` - -Update an existing cookie. The implementation MUST update the `.value` for a cookie with the same `domain`, `.path` and `.key`. The implementation SHOULD check that the old value in the store is equivalent to `oldCookie` - how the conflict is resolved is up to the store. - -The `.lastAccessed` property will always be different between the two objects (to the precision possible via JavaScript's clock). Both `.creation` and `.creationIndex` are guaranteed to be the same. Stores MAY ignore or defer the `.lastAccessed` change at the cost of affecting how cookies are selected for automatic deletion (e.g., least-recently-used, which is up to the store to implement). - -Stores may wish to optimize changing the `.value` of the cookie in the store versus storing a new cookie. If the implementation doesn't define this method a stub that calls `putCookie(newCookie,cb)` will be added to the store object. - -The `newCookie` and `oldCookie` objects MUST NOT be modified. - -Pass an error if the newCookie cannot be stored. - -### `store.removeCookie(domain, path, key, cb(err))` - -Remove a cookie from the store (see notes on `findCookie` about the uniqueness constraint). - -The implementation MUST NOT pass an error if the cookie doesn't exist; only pass an error due to the failure to remove an existing cookie. - -### `store.removeCookies(domain, path, cb(err))` - -Removes matching cookies from the store. The `path` parameter is optional, and if missing means all paths in a domain should be removed. - -Pass an error ONLY if removing any existing cookies failed. - -### `store.removeAllCookies(cb(err))` - -_Optional_. Removes all cookies from the store. - -Pass an error if one or more cookies can't be removed. - -**Note**: New method as of `tough-cookie` version 2.5, so not all Stores will implement this, plus some stores may choose not to implement this. - -### `store.getAllCookies(cb(err, cookies))` - -_Optional_. Produces an `Array` of all cookies during `jar.serialize()`. The items in the array can be true `Cookie` objects or generic `Object`s with the [Serialization Format] data structure. - -Cookies SHOULD be returned in creation order to preserve sorting via `compareCookies()`. For reference, `MemoryCookieStore` will sort by `.creationIndex` since it uses true `Cookie` objects internally. If you don't return the cookies in creation order, they'll still be sorted by creation time, but this only has a precision of 1ms. See `compareCookies` for more detail. - -Pass an error if retrieval fails. - -**Note**: not all Stores can implement this due to technical limitations, so it is optional. - -## MemoryCookieStore - -Inherits from `Store`. - -A just-in-memory CookieJar synchronous store implementation, used by default. Despite being a synchronous implementation, it's usable with both the synchronous and asynchronous forms of the `CookieJar` API. Supports serialization, `getAllCookies`, and `removeAllCookies`. - -## Community Cookie Stores - -These are some Store implementations authored and maintained by the community. They aren't official and we don't vouch for them but you may be interested to have a look: - -- [`db-cookie-store`](https://github.com/JSBizon/db-cookie-store): SQL including SQLite-based databases -- [`file-cookie-store`](https://github.com/JSBizon/file-cookie-store): Netscape cookie file format on disk -- [`redis-cookie-store`](https://github.com/benkroeger/redis-cookie-store): Redis -- [`tough-cookie-filestore`](https://github.com/mitsuru/tough-cookie-filestore): JSON on disk -- [`tough-cookie-web-storage-store`](https://github.com/exponentjs/tough-cookie-web-storage-store): DOM localStorage and sessionStorage - - -# Serialization Format - -**NOTE**: if you want to have custom `Cookie` properties serialized, add the property name to `Cookie.serializableProperties`. - -```js - { - // The version of tough-cookie that serialized this jar. - version: 'tough-cookie@1.x.y', - - // add the store type, to make humans happy: - storeType: 'MemoryCookieStore', - - // CookieJar configuration: - rejectPublicSuffixes: true, - // ... future items go here - - // Gets filled from jar.store.getAllCookies(): - cookies: [ - { - key: 'string', - value: 'string', - // ... - /* other Cookie.serializableProperties go here */ - } - ] - } -``` - -# Copyright and License - -BSD-3-Clause: - -```text - Copyright (c) 2015, Salesforce.com, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of Salesforce.com nor the names of its contributors may - be used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. -``` diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/cookie.js b/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/cookie.js deleted file mode 100644 index 2ab6f09..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/tough-cookie/lib/cookie.js +++ /dev/null @@ -1,1488 +0,0 @@ -/*! - * Copyright (c) 2015, Salesforce.com, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of Salesforce.com nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -'use strict'; -var urlParse = require('url').parse; -var util = require('util'); -var ipRegex = require('ip-regex')({ exact: true }); -var pubsuffix = require('./pubsuffix-psl'); -var Store = require('./store').Store; -var MemoryCookieStore = require('./memstore').MemoryCookieStore; -var pathMatch = require('./pathMatch').pathMatch; -var VERSION = require('./version'); - -var punycode; -try { - punycode = require('punycode'); -} catch(e) { - console.warn("tough-cookie: can't load punycode; won't use punycode for domain normalization"); -} - -// From RFC6265 S4.1.1 -// note that it excludes \x3B ";" -var COOKIE_OCTETS = /^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/; - -var CONTROL_CHARS = /[\x00-\x1F]/; - -// From Chromium // '\r', '\n' and '\0' should be treated as a terminator in -// the "relaxed" mode, see: -// https://github.com/ChromiumWebApps/chromium/blob/b3d3b4da8bb94c1b2e061600df106d590fda3620/net/cookies/parsed_cookie.cc#L60 -var TERMINATORS = ['\n', '\r', '\0']; - -// RFC6265 S4.1.1 defines path value as 'any CHAR except CTLs or ";"' -// Note ';' is \x3B -var PATH_VALUE = /[\x20-\x3A\x3C-\x7E]+/; - -// date-time parsing constants (RFC6265 S5.1.1) - -var DATE_DELIM = /[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/; - -var MONTH_TO_NUM = { - jan:0, feb:1, mar:2, apr:3, may:4, jun:5, - jul:6, aug:7, sep:8, oct:9, nov:10, dec:11 -}; -var NUM_TO_MONTH = [ - 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' -]; -var NUM_TO_DAY = [ - 'Sun','Mon','Tue','Wed','Thu','Fri','Sat' -]; - -var MAX_TIME = 2147483647000; // 31-bit max -var MIN_TIME = 0; // 31-bit min - -/* - * Parses a Natural number (i.e., non-negative integer) with either the - * *DIGIT ( non-digit *OCTET ) - * or - * *DIGIT - * grammar (RFC6265 S5.1.1). - * - * The "trailingOK" boolean controls if the grammar accepts a - * "( non-digit *OCTET )" trailer. - */ -function parseDigits(token, minDigits, maxDigits, trailingOK) { - var count = 0; - while (count < token.length) { - var c = token.charCodeAt(count); - // "non-digit = %x00-2F / %x3A-FF" - if (c <= 0x2F || c >= 0x3A) { - break; - } - count++; - } - - // constrain to a minimum and maximum number of digits. - if (count < minDigits || count > maxDigits) { - return null; - } - - if (!trailingOK && count != token.length) { - return null; - } - - return parseInt(token.substr(0,count), 10); -} - -function parseTime(token) { - var parts = token.split(':'); - var result = [0,0,0]; - - /* RF6256 S5.1.1: - * time = hms-time ( non-digit *OCTET ) - * hms-time = time-field ":" time-field ":" time-field - * time-field = 1*2DIGIT - */ - - if (parts.length !== 3) { - return null; - } - - for (var i = 0; i < 3; i++) { - // "time-field" must be strictly "1*2DIGIT", HOWEVER, "hms-time" can be - // followed by "( non-digit *OCTET )" so therefore the last time-field can - // have a trailer - var trailingOK = (i == 2); - var num = parseDigits(parts[i], 1, 2, trailingOK); - if (num === null) { - return null; - } - result[i] = num; - } - - return result; -} - -function parseMonth(token) { - token = String(token).substr(0,3).toLowerCase(); - var num = MONTH_TO_NUM[token]; - return num >= 0 ? num : null; -} - -/* - * RFC6265 S5.1.1 date parser (see RFC for full grammar) - */ -function parseDate(str) { - if (!str) { - return; - } - - /* RFC6265 S5.1.1: - * 2. Process each date-token sequentially in the order the date-tokens - * appear in the cookie-date - */ - var tokens = str.split(DATE_DELIM); - if (!tokens) { - return; - } - - var hour = null; - var minute = null; - var second = null; - var dayOfMonth = null; - var month = null; - var year = null; - - for (var i=0; i= 70 && year <= 99) { - year += 1900; - } else if (year >= 0 && year <= 69) { - year += 2000; - } - } - } - } - - /* RFC 6265 S5.1.1 - * "5. Abort these steps and fail to parse the cookie-date if: - * * at least one of the found-day-of-month, found-month, found- - * year, or found-time flags is not set, - * * the day-of-month-value is less than 1 or greater than 31, - * * the year-value is less than 1601, - * * the hour-value is greater than 23, - * * the minute-value is greater than 59, or - * * the second-value is greater than 59. - * (Note that leap seconds cannot be represented in this syntax.)" - * - * So, in order as above: - */ - if ( - dayOfMonth === null || month === null || year === null || second === null || - dayOfMonth < 1 || dayOfMonth > 31 || - year < 1601 || - hour > 23 || - minute > 59 || - second > 59 - ) { - return; - } - - return new Date(Date.UTC(year, month, dayOfMonth, hour, minute, second)); -} - -function formatDate(date) { - var d = date.getUTCDate(); d = d >= 10 ? d : '0'+d; - var h = date.getUTCHours(); h = h >= 10 ? h : '0'+h; - var m = date.getUTCMinutes(); m = m >= 10 ? m : '0'+m; - var s = date.getUTCSeconds(); s = s >= 10 ? s : '0'+s; - return NUM_TO_DAY[date.getUTCDay()] + ', ' + - d+' '+ NUM_TO_MONTH[date.getUTCMonth()] +' '+ date.getUTCFullYear() +' '+ - h+':'+m+':'+s+' GMT'; -} - -// S5.1.2 Canonicalized Host Names -function canonicalDomain(str) { - if (str == null) { - return null; - } - str = str.trim().replace(/^\./,''); // S4.1.2.3 & S5.2.3: ignore leading . - - // convert to IDN if any non-ASCII characters - if (punycode && /[^\u0001-\u007f]/.test(str)) { - str = punycode.toASCII(str); - } - - return str.toLowerCase(); -} - -// S5.1.3 Domain Matching -function domainMatch(str, domStr, canonicalize) { - if (str == null || domStr == null) { - return null; - } - if (canonicalize !== false) { - str = canonicalDomain(str); - domStr = canonicalDomain(domStr); - } - - /* - * "The domain string and the string are identical. (Note that both the - * domain string and the string will have been canonicalized to lower case at - * this point)" - */ - if (str == domStr) { - return true; - } - - /* "All of the following [three] conditions hold:" (order adjusted from the RFC) */ - - /* "* The string is a host name (i.e., not an IP address)." */ - if (ipRegex.test(str)) { - return false; - } - - /* "* The domain string is a suffix of the string" */ - var idx = str.indexOf(domStr); - if (idx <= 0) { - return false; // it's a non-match (-1) or prefix (0) - } - - // e.g "a.b.c".indexOf("b.c") === 2 - // 5 === 3+2 - if (str.length !== domStr.length + idx) { // it's not a suffix - return false; - } - - /* "* The last character of the string that is not included in the domain - * string is a %x2E (".") character." */ - if (str.substr(idx-1,1) !== '.') { - return false; - } - - return true; -} - - -// RFC6265 S5.1.4 Paths and Path-Match - -/* - * "The user agent MUST use an algorithm equivalent to the following algorithm - * to compute the default-path of a cookie:" - * - * Assumption: the path (and not query part or absolute uri) is passed in. - */ -function defaultPath(path) { - // "2. If the uri-path is empty or if the first character of the uri-path is not - // a %x2F ("/") character, output %x2F ("/") and skip the remaining steps. - if (!path || path.substr(0,1) !== "/") { - return "/"; - } - - // "3. If the uri-path contains no more than one %x2F ("/") character, output - // %x2F ("/") and skip the remaining step." - if (path === "/") { - return path; - } - - var rightSlash = path.lastIndexOf("/"); - if (rightSlash === 0) { - return "/"; - } - - // "4. Output the characters of the uri-path from the first character up to, - // but not including, the right-most %x2F ("/")." - return path.slice(0, rightSlash); -} - -function trimTerminator(str) { - for (var t = 0; t < TERMINATORS.length; t++) { - var terminatorIdx = str.indexOf(TERMINATORS[t]); - if (terminatorIdx !== -1) { - str = str.substr(0,terminatorIdx); - } - } - - return str; -} - -function parseCookiePair(cookiePair, looseMode) { - cookiePair = trimTerminator(cookiePair); - - var firstEq = cookiePair.indexOf('='); - if (looseMode) { - if (firstEq === 0) { // '=' is immediately at start - cookiePair = cookiePair.substr(1); - firstEq = cookiePair.indexOf('='); // might still need to split on '=' - } - } else { // non-loose mode - if (firstEq <= 0) { // no '=' or is at start - return; // needs to have non-empty "cookie-name" - } - } - - var cookieName, cookieValue; - if (firstEq <= 0) { - cookieName = ""; - cookieValue = cookiePair.trim(); - } else { - cookieName = cookiePair.substr(0, firstEq).trim(); - cookieValue = cookiePair.substr(firstEq+1).trim(); - } - - if (CONTROL_CHARS.test(cookieName) || CONTROL_CHARS.test(cookieValue)) { - return; - } - - var c = new Cookie(); - c.key = cookieName; - c.value = cookieValue; - return c; -} - -function parse(str, options) { - if (!options || typeof options !== 'object') { - options = {}; - } - str = str.trim(); - - // We use a regex to parse the "name-value-pair" part of S5.2 - var firstSemi = str.indexOf(';'); // S5.2 step 1 - var cookiePair = (firstSemi === -1) ? str : str.substr(0, firstSemi); - var c = parseCookiePair(cookiePair, !!options.loose); - if (!c) { - return; - } - - if (firstSemi === -1) { - return c; - } - - // S5.2.3 "unparsed-attributes consist of the remainder of the set-cookie-string - // (including the %x3B (";") in question)." plus later on in the same section - // "discard the first ";" and trim". - var unparsed = str.slice(firstSemi + 1).trim(); - - // "If the unparsed-attributes string is empty, skip the rest of these - // steps." - if (unparsed.length === 0) { - return c; - } - - /* - * S5.2 says that when looping over the items "[p]rocess the attribute-name - * and attribute-value according to the requirements in the following - * subsections" for every item. Plus, for many of the individual attributes - * in S5.3 it says to use the "attribute-value of the last attribute in the - * cookie-attribute-list". Therefore, in this implementation, we overwrite - * the previous value. - */ - var cookie_avs = unparsed.split(';'); - while (cookie_avs.length) { - var av = cookie_avs.shift().trim(); - if (av.length === 0) { // happens if ";;" appears - continue; - } - var av_sep = av.indexOf('='); - var av_key, av_value; - - if (av_sep === -1) { - av_key = av; - av_value = null; - } else { - av_key = av.substr(0,av_sep); - av_value = av.substr(av_sep+1); - } - - av_key = av_key.trim().toLowerCase(); - - if (av_value) { - av_value = av_value.trim(); - } - - switch(av_key) { - case 'expires': // S5.2.1 - if (av_value) { - var exp = parseDate(av_value); - // "If the attribute-value failed to parse as a cookie date, ignore the - // cookie-av." - if (exp) { - // over and underflow not realistically a concern: V8's getTime() seems to - // store something larger than a 32-bit time_t (even with 32-bit node) - c.expires = exp; - } - } - break; - - case 'max-age': // S5.2.2 - if (av_value) { - // "If the first character of the attribute-value is not a DIGIT or a "-" - // character ...[or]... If the remainder of attribute-value contains a - // non-DIGIT character, ignore the cookie-av." - if (/^-?[0-9]+$/.test(av_value)) { - var delta = parseInt(av_value, 10); - // "If delta-seconds is less than or equal to zero (0), let expiry-time - // be the earliest representable date and time." - c.setMaxAge(delta); - } - } - break; - - case 'domain': // S5.2.3 - // "If the attribute-value is empty, the behavior is undefined. However, - // the user agent SHOULD ignore the cookie-av entirely." - if (av_value) { - // S5.2.3 "Let cookie-domain be the attribute-value without the leading %x2E - // (".") character." - var domain = av_value.trim().replace(/^\./, ''); - if (domain) { - // "Convert the cookie-domain to lower case." - c.domain = domain.toLowerCase(); - } - } - break; - - case 'path': // S5.2.4 - /* - * "If the attribute-value is empty or if the first character of the - * attribute-value is not %x2F ("/"): - * Let cookie-path be the default-path. - * Otherwise: - * Let cookie-path be the attribute-value." - * - * We'll represent the default-path as null since it depends on the - * context of the parsing. - */ - c.path = av_value && av_value[0] === "/" ? av_value : null; - break; - - case 'secure': // S5.2.5 - /* - * "If the attribute-name case-insensitively matches the string "Secure", - * the user agent MUST append an attribute to the cookie-attribute-list - * with an attribute-name of Secure and an empty attribute-value." - */ - c.secure = true; - break; - - case 'httponly': // S5.2.6 -- effectively the same as 'secure' - c.httpOnly = true; - break; - - default: - c.extensions = c.extensions || []; - c.extensions.push(av); - break; - } - } - - return c; -} - -// avoid the V8 deoptimization monster! -function jsonParse(str) { - var obj; - try { - obj = JSON.parse(str); - } catch (e) { - return e; - } - return obj; -} - -function fromJSON(str) { - if (!str) { - return null; - } - - var obj; - if (typeof str === 'string') { - obj = jsonParse(str); - if (obj instanceof Error) { - return null; - } - } else { - // assume it's an Object - obj = str; - } - - var c = new Cookie(); - for (var i=0; i 1) { - var lindex = path.lastIndexOf('/'); - if (lindex === 0) { - break; - } - path = path.substr(0,lindex); - permutations.push(path); - } - permutations.push('/'); - return permutations; -} - -function getCookieContext(url) { - if (url instanceof Object) { - return url; - } - // NOTE: decodeURI will throw on malformed URIs (see GH-32). - // Therefore, we will just skip decoding for such URIs. - try { - url = decodeURI(url); - } - catch(err) { - // Silently swallow error - } - - return urlParse(url); -} - -function Cookie(options) { - options = options || {}; - - Object.keys(options).forEach(function(prop) { - if (Cookie.prototype.hasOwnProperty(prop) && - Cookie.prototype[prop] !== options[prop] && - prop.substr(0,1) !== '_') - { - this[prop] = options[prop]; - } - }, this); - - this.creation = this.creation || new Date(); - - // used to break creation ties in cookieCompare(): - Object.defineProperty(this, 'creationIndex', { - configurable: false, - enumerable: false, // important for assert.deepEqual checks - writable: true, - value: ++Cookie.cookiesCreated - }); -} - -Cookie.cookiesCreated = 0; // incremented each time a cookie is created - -Cookie.parse = parse; -Cookie.fromJSON = fromJSON; - -Cookie.prototype.key = ""; -Cookie.prototype.value = ""; - -// the order in which the RFC has them: -Cookie.prototype.expires = "Infinity"; // coerces to literal Infinity -Cookie.prototype.maxAge = null; // takes precedence over expires for TTL -Cookie.prototype.domain = null; -Cookie.prototype.path = null; -Cookie.prototype.secure = false; -Cookie.prototype.httpOnly = false; -Cookie.prototype.extensions = null; - -// set by the CookieJar: -Cookie.prototype.hostOnly = null; // boolean when set -Cookie.prototype.pathIsDefault = null; // boolean when set -Cookie.prototype.creation = null; // Date when set; defaulted by Cookie.parse -Cookie.prototype.lastAccessed = null; // Date when set -Object.defineProperty(Cookie.prototype, 'creationIndex', { - configurable: true, - enumerable: false, - writable: true, - value: 0 -}); - -Cookie.serializableProperties = Object.keys(Cookie.prototype) - .filter(function(prop) { - return !( - Cookie.prototype[prop] instanceof Function || - prop === 'creationIndex' || - prop.substr(0,1) === '_' - ); - }); - -Cookie.prototype.inspect = function inspect() { - var now = Date.now(); - return 'Cookie="'+this.toString() + - '; hostOnly='+(this.hostOnly != null ? this.hostOnly : '?') + - '; aAge='+(this.lastAccessed ? (now-this.lastAccessed.getTime())+'ms' : '?') + - '; cAge='+(this.creation ? (now-this.creation.getTime())+'ms' : '?') + - '"'; -}; - -// Use the new custom inspection symbol to add the custom inspect function if -// available. -if (util.inspect.custom) { - Cookie.prototype[util.inspect.custom] = Cookie.prototype.inspect; -} - -Cookie.prototype.toJSON = function() { - var obj = {}; - - var props = Cookie.serializableProperties; - for (var i=0; i=0.12.0", - "_id": "tough-cookie@3.0.1", - "_inBundle": false, - "_integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "_location": "/tough-cookie", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "tough-cookie@>=0.12.0", - "name": "tough-cookie", - "escapedName": "tough-cookie", - "rawSpec": ">=0.12.0", - "saveSpec": null, - "fetchSpec": ">=0.12.0" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "_shasum": "9df4f57e739c26930a018184887f4adb7dca73b2", - "_spec": "tough-cookie@>=0.12.0", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", - "author": { - "name": "Jeremy Stashewsky", - "email": "jstash@gmail.com" - }, - "bugs": { - "url": "https://github.com/salesforce/tough-cookie/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Alexander Savin" - }, - { - "name": "Ian Livingstone" - }, - { - "name": "Ivan Nikulin" - }, - { - "name": "Lalit Kapoor" - }, - { - "name": "Sam Thompson" - }, - { - "name": "Sebastian Mayr" - } - ], - "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "deprecated": false, - "description": "RFC6265 Cookies and Cookie Jar for node.js", - "devDependencies": { - "async": "^1.4.2", - "genversion": "^2.1.0", - "nyc": "^11.6.0", - "string.prototype.repeat": "^0.2.0", - "vows": "^0.8.2" - }, - "engines": { - "node": ">=6" - }, - "files": [ - "lib" - ], - "homepage": "https://github.com/salesforce/tough-cookie", - "keywords": [ - "HTTP", - "cookie", - "cookies", - "set-cookie", - "cookiejar", - "jar", - "RFC6265", - "RFC2965" - ], - "license": "BSD-3-Clause", - "main": "./lib/cookie", - "name": "tough-cookie", - "repository": { - "type": "git", - "url": "git://github.com/salesforce/tough-cookie.git" - }, - "scripts": { - "cover": "nyc --reporter=lcov --reporter=html vows test/*_test.js", - "test": "vows test/*_test.js", - "version": "genversion lib/version.js && git add lib/version.js" - }, - "version": "3.0.1" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/LICENSE deleted file mode 100644 index a4a9aee..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/LICENSE +++ /dev/null @@ -1,55 +0,0 @@ -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/README.md deleted file mode 100644 index bb533d5..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/README.md +++ /dev/null @@ -1,4 +0,0 @@ -tunnel-agent -============ - -HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/index.js b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/index.js deleted file mode 100644 index 68013ac..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/index.js +++ /dev/null @@ -1,243 +0,0 @@ -'use strict' - -var net = require('net') - , tls = require('tls') - , http = require('http') - , https = require('https') - , events = require('events') - , assert = require('assert') - , util = require('util') - ; - -exports.httpOverHttp = httpOverHttp -exports.httpsOverHttp = httpsOverHttp -exports.httpOverHttps = httpOverHttps -exports.httpsOverHttps = httpsOverHttps - - -function httpOverHttp(options) { - var agent = new TunnelingAgent(options) - agent.request = http.request - return agent -} - -function httpsOverHttp(options) { - var agent = new TunnelingAgent(options) - agent.request = http.request - agent.createSocket = createSecureSocket - agent.defaultPort = 443 - return agent -} - -function httpOverHttps(options) { - var agent = new TunnelingAgent(options) - agent.request = https.request - return agent -} - -function httpsOverHttps(options) { - var agent = new TunnelingAgent(options) - agent.request = https.request - agent.createSocket = createSecureSocket - agent.defaultPort = 443 - return agent -} - - -function TunnelingAgent(options) { - var self = this - self.options = options || {} - self.proxyOptions = self.options.proxy || {} - self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets - self.requests = [] - self.sockets = [] - - self.on('free', function onFree(socket, host, port) { - for (var i = 0, len = self.requests.length; i < len; ++i) { - var pending = self.requests[i] - if (pending.host === host && pending.port === port) { - // Detect the request to connect same origin server, - // reuse the connection. - self.requests.splice(i, 1) - pending.request.onSocket(socket) - return - } - } - socket.destroy() - self.removeSocket(socket) - }) -} -util.inherits(TunnelingAgent, events.EventEmitter) - -TunnelingAgent.prototype.addRequest = function addRequest(req, options) { - var self = this - - // Legacy API: addRequest(req, host, port, path) - if (typeof options === 'string') { - options = { - host: options, - port: arguments[2], - path: arguments[3] - }; - } - - if (self.sockets.length >= this.maxSockets) { - // We are over limit so we'll add it to the queue. - self.requests.push({host: options.host, port: options.port, request: req}) - return - } - - // If we are under maxSockets create a new one. - self.createConnection({host: options.host, port: options.port, request: req}) -} - -TunnelingAgent.prototype.createConnection = function createConnection(pending) { - var self = this - - self.createSocket(pending, function(socket) { - socket.on('free', onFree) - socket.on('close', onCloseOrRemove) - socket.on('agentRemove', onCloseOrRemove) - pending.request.onSocket(socket) - - function onFree() { - self.emit('free', socket, pending.host, pending.port) - } - - function onCloseOrRemove(err) { - self.removeSocket(socket) - socket.removeListener('free', onFree) - socket.removeListener('close', onCloseOrRemove) - socket.removeListener('agentRemove', onCloseOrRemove) - } - }) -} - -TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { - var self = this - var placeholder = {} - self.sockets.push(placeholder) - - var connectOptions = mergeOptions({}, self.proxyOptions, - { method: 'CONNECT' - , path: options.host + ':' + options.port - , agent: false - } - ) - if (connectOptions.proxyAuth) { - connectOptions.headers = connectOptions.headers || {} - connectOptions.headers['Proxy-Authorization'] = 'Basic ' + - new Buffer(connectOptions.proxyAuth).toString('base64') - } - - debug('making CONNECT request') - var connectReq = self.request(connectOptions) - connectReq.useChunkedEncodingByDefault = false // for v0.6 - connectReq.once('response', onResponse) // for v0.6 - connectReq.once('upgrade', onUpgrade) // for v0.6 - connectReq.once('connect', onConnect) // for v0.7 or later - connectReq.once('error', onError) - connectReq.end() - - function onResponse(res) { - // Very hacky. This is necessary to avoid http-parser leaks. - res.upgrade = true - } - - function onUpgrade(res, socket, head) { - // Hacky. - process.nextTick(function() { - onConnect(res, socket, head) - }) - } - - function onConnect(res, socket, head) { - connectReq.removeAllListeners() - socket.removeAllListeners() - - if (res.statusCode === 200) { - assert.equal(head.length, 0) - debug('tunneling connection has established') - self.sockets[self.sockets.indexOf(placeholder)] = socket - cb(socket) - } else { - debug('tunneling socket could not be established, statusCode=%d', res.statusCode) - var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode) - error.code = 'ECONNRESET' - options.request.emit('error', error) - self.removeSocket(placeholder) - } - } - - function onError(cause) { - connectReq.removeAllListeners() - - debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack) - var error = new Error('tunneling socket could not be established, ' + 'cause=' + cause.message) - error.code = 'ECONNRESET' - options.request.emit('error', error) - self.removeSocket(placeholder) - } -} - -TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { - var pos = this.sockets.indexOf(socket) - if (pos === -1) return - - this.sockets.splice(pos, 1) - - var pending = this.requests.shift() - if (pending) { - // If we have pending requests and a socket gets closed a new one - // needs to be created to take over in the pool for the one that closed. - this.createConnection(pending) - } -} - -function createSecureSocket(options, cb) { - var self = this - TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { - // 0 is dummy port for v0.6 - var secureSocket = tls.connect(0, mergeOptions({}, self.options, - { servername: options.host - , socket: socket - } - )) - self.sockets[self.sockets.indexOf(socket)] = secureSocket - cb(secureSocket) - }) -} - - -function mergeOptions(target) { - for (var i = 1, len = arguments.length; i < len; ++i) { - var overrides = arguments[i] - if (typeof overrides === 'object') { - var keys = Object.keys(overrides) - for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { - var k = keys[j] - if (overrides[k] !== undefined) { - target[k] = overrides[k] - } - } - } - } - return target -} - - -var debug -if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { - var args = Array.prototype.slice.call(arguments) - if (typeof args[0] === 'string') { - args[0] = 'TUNNEL: ' + args[0] - } else { - args.unshift('TUNNEL:') - } - console.error.apply(console, args) - } -} else { - debug = function() {} -} -exports.debug = debug // for test diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/package.json deleted file mode 100644 index 3c29fad..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/tunnel-agent/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "_from": "tunnel-agent@~0.4.0", - "_id": "tunnel-agent@0.4.3", - "_inBundle": false, - "_integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "_location": "/tunnel-agent", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "tunnel-agent@~0.4.0", - "name": "tunnel-agent", - "escapedName": "tunnel-agent", - "rawSpec": "~0.4.0", - "saveSpec": null, - "fetchSpec": "~0.4.0" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "_shasum": "6373db76909fe570e08d73583365ed828a74eeeb", - "_spec": "tunnel-agent@~0.4.0", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\request", - "author": { - "name": "Mikeal Rogers", - "email": "mikeal.rogers@gmail.com", - "url": "http://www.futurealoof.com" - }, - "bugs": { - "url": "https://github.com/mikeal/tunnel-agent/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.", - "devDependencies": {}, - "engines": { - "node": "*" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/mikeal/tunnel-agent#readme", - "license": "Apache-2.0", - "main": "index.js", - "name": "tunnel-agent", - "optionalDependencies": {}, - "repository": { - "url": "git+https://github.com/mikeal/tunnel-agent.git" - }, - "version": "0.4.3" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/.jshintrc b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/.jshintrc deleted file mode 100644 index 77887b5..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/.jshintrc +++ /dev/null @@ -1,30 +0,0 @@ -{ - "maxdepth": 4, - "maxstatements": 200, - "maxcomplexity": 12, - "maxlen": 80, - "maxparams": 5, - - "curly": true, - "eqeqeq": true, - "immed": true, - "latedef": false, - "noarg": true, - "noempty": true, - "nonew": true, - "undef": true, - "unused": "vars", - "trailing": true, - - "quotmark": true, - "expr": true, - "asi": true, - - "browser": false, - "esnext": true, - "devel": false, - "node": false, - "nonstandard": false, - - "predef": ["require", "module", "__dirname", "__filename"] -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/LICENSE b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/LICENSE deleted file mode 100644 index 0099f4f..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2012-2014 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/README.md b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/README.md deleted file mode 100644 index 4a2703c..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# xtend - -[![browser support][3]][4] - -[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) - -Extend like a boss - -xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. - -## Examples - -```js -var extend = require("xtend") - -// extend returns a new object. Does not mutate arguments -var combination = extend({ - a: "a", - b: "c" -}, { - b: "b" -}) -// { a: "a", b: "b" } -``` - -## Stability status: Locked - -## MIT Licensed - - - [3]: http://ci.testling.com/Raynos/xtend.png - [4]: http://ci.testling.com/Raynos/xtend diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/immutable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/immutable.js deleted file mode 100644 index 94889c9..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/immutable.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend() { - var target = {} - - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/mutable.js b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/mutable.js deleted file mode 100644 index 72debed..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/mutable.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/package.json b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/package.json deleted file mode 100644 index af03e16..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "_from": "xtend@^4.0.0", - "_id": "xtend@4.0.2", - "_inBundle": false, - "_integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "_location": "/xtend", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "xtend@^4.0.0", - "name": "xtend", - "escapedName": "xtend", - "rawSpec": "^4.0.0", - "saveSpec": null, - "fetchSpec": "^4.0.0" - }, - "_requiredBy": [ - "/is-my-json-valid" - ], - "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "_shasum": "bb72779f5fa465186b1f438f674fa347fdb5db54", - "_spec": "xtend@^4.0.0", - "_where": "C:\\Users\\Administrator\\dev\\github\\webmethodsio-examples\\netatmo-security-connector\\NetatmoSecurity\\node_modules\\is-my-json-valid", - "author": { - "name": "Raynos", - "email": "raynos2@gmail.com" - }, - "bugs": { - "url": "https://github.com/Raynos/xtend/issues", - "email": "raynos2@gmail.com" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Jake Verbaten" - }, - { - "name": "Matt Esch" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "extend like a boss", - "devDependencies": { - "tape": "~1.1.0" - }, - "engines": { - "node": ">=0.4" - }, - "homepage": "https://github.com/Raynos/xtend", - "keywords": [ - "extend", - "merge", - "options", - "opts", - "object", - "array" - ], - "license": "MIT", - "main": "immutable", - "name": "xtend", - "repository": { - "type": "git", - "url": "git://github.com/Raynos/xtend.git" - }, - "scripts": { - "test": "node test" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/7..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest" - ] - }, - "version": "4.0.2" -} diff --git a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/test.js b/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/test.js deleted file mode 100644 index b895b42..0000000 --- a/netatmo-security-connector/NetatmoSecurity/node_modules/xtend/test.js +++ /dev/null @@ -1,103 +0,0 @@ -var test = require("tape") -var extend = require("./") -var mutableExtend = require("./mutable") - -test("merge", function(assert) { - var a = { a: "foo" } - var b = { b: "bar" } - - assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) - assert.end() -}) - -test("replace", function(assert) { - var a = { a: "foo" } - var b = { a: "bar" } - - assert.deepEqual(extend(a, b), { a: "bar" }) - assert.end() -}) - -test("undefined", function(assert) { - var a = { a: undefined } - var b = { b: "foo" } - - assert.deepEqual(extend(a, b), { a: undefined, b: "foo" }) - assert.deepEqual(extend(b, a), { a: undefined, b: "foo" }) - assert.end() -}) - -test("handle 0", function(assert) { - var a = { a: "default" } - var b = { a: 0 } - - assert.deepEqual(extend(a, b), { a: 0 }) - assert.deepEqual(extend(b, a), { a: "default" }) - assert.end() -}) - -test("is immutable", function (assert) { - var record = {} - - extend(record, { foo: "bar" }) - assert.equal(record.foo, undefined) - assert.end() -}) - -test("null as argument", function (assert) { - var a = { foo: "bar" } - var b = null - var c = void 0 - - assert.deepEqual(extend(b, a, c), { foo: "bar" }) - assert.end() -}) - -test("mutable", function (assert) { - var a = { foo: "bar" } - - mutableExtend(a, { bar: "baz" }) - - assert.equal(a.bar, "baz") - assert.end() -}) - -test("null prototype", function(assert) { - var a = { a: "foo" } - var b = Object.create(null) - b.b = "bar"; - - assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) - assert.end() -}) - -test("null prototype mutable", function (assert) { - var a = { foo: "bar" } - var b = Object.create(null) - b.bar = "baz"; - - mutableExtend(a, b) - - assert.equal(a.bar, "baz") - assert.end() -}) - -test("prototype pollution", function (assert) { - var a = {} - var maliciousPayload = '{"__proto__":{"oops":"It works!"}}' - - assert.strictEqual(a.oops, undefined) - extend({}, maliciousPayload) - assert.strictEqual(a.oops, undefined) - assert.end() -}) - -test("prototype pollution mutable", function (assert) { - var a = {} - var maliciousPayload = '{"__proto__":{"oops":"It works!"}}' - - assert.strictEqual(a.oops, undefined) - mutableExtend({}, maliciousPayload) - assert.strictEqual(a.oops, undefined) - assert.end() -}) From 8ce739503a09bbd11b814e4fab96a6cefa94bc83 Mon Sep 17 00:00:00 2001 From: pbrosi-sag Date: Fri, 3 Jan 2020 10:32:13 +0100 Subject: [PATCH 12/13] Removed dependencies --- .../NetatmoSecurity/build/build.zip | Bin 1627095 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 netatmo-security-connector/NetatmoSecurity/build/build.zip diff --git a/netatmo-security-connector/NetatmoSecurity/build/build.zip b/netatmo-security-connector/NetatmoSecurity/build/build.zip deleted file mode 100644 index cae98ce2621bfe514f9a4a0aa7c744170f140df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1627095 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

GDtX?(O5sd-vu+TfKp%SB1 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 z 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
O1=9fDG@Trx7Q6we@`SKhNFFwH!qrm9haY z&J88~d7ORajUNe`d8|v0IC9_r`_?Zhs4HGR&q}#GGBS~!Tn!_hb zo7Y#8>+(k0voZKVg(tT@)ecI9dt%oo0Y!_d_<4ulE`#GTkc6H|<&SYmID1;E6@&4~?X%U8mfw~6!jTiXr>Tj+DVK8_|EhJ6O{W}olg zsh~=*)mm6jDR!la%V8om?DjhmjMz-x5FC`*SxP5nFTs^Nbbfyh@NSx0OwsK8M@>kk)1|9S(9#NB`Io}8!OXes| zi!Qbf6`qy)c3d}Y;nJX467D!vh9uIBi>QBTM2je&8W4wr%`%jo&6h1lHotuo>_}ns zcc&rU9!x)8pb)t+s5y6zd}+h`EdgV0aJq6){kn=+(4pIVvCEUU%kYc--24)Q zEJevnE6w+=Zb2ejJDss(G!%z@Uj`p3q}nGihK<>5pP)8sAPWhzL%X)gbn*anPLeyT z;XJA|71CXqqBtfF11qi)*;GZ{C&Z-|rj62S9CzHP%Lu1=Lx6Ef@F*Cj!?r)<5OmLv zS?L2fpXgVkq~?7&srF5qg?3|O03i+4%dbgOCaGg#rBc{W|CJlAB2Ln!by1e-D;h*^ zqti}a#Uaa4V`7pu_%sSc%z=jty6GSxgfx5)ITpq0FNrZmHV?TN0`^_hD2MuvYUe6k zXl_~XQN6irT0y+22_G4DqOL$Wmq-&#kGrG6dr_K-pgA0jKlAMsjbmzSWoTu>A(Fse z^XiW$s<)}MO)DY(Ydd<(JiiTyPd6(@+83M6TwstONH{>~!c69llNbiE9S$funI6@l z7JJS6);^K)6s4FKFD`c#QI+5}=k@zS3wMI#1 znanQGGrOhhK#2?+#j9B8$#c2{UoC(7(mVlkU#^GyL%n@J|Ned?7c|YUni-U4sJvI? zd0kieqmxyK?&MXbs-`O`ADA0hceb>W*d=5H^dT-^YdMI0!|K#z;wR>kOcp>CrJARi zMb@;0E20!}aXIV(Hy!b3K-i>G;#$QMNiingds6K7qi!p#e6eX>X=3|#=Qp_IJavXH z;GL+75fQoW3|CCnZTmg4`W&E~E^Y#hxN3e0GJ2`78VB|Z+K%E{(o7bkVJnnd9mrg( z0Nf%rmQtNUPjDxBaVPsVX!fQF`IVu_geY*{^vdbN0yDj&#fY20B^5oRi+Q1Vh ziiBB=-Q01$H2Y8jg>c4QEcG9N>E33mjga$Bdb3`HH^WOlx8~M>Lr{+F5M)DU1Zm)~ zPAt<8Plk<<#&;KFrh>f{!$Mb#*c6d3)Dm|{U1>r+B8!vgH(6!2KveM@(=m-CJSZfL zDMsicn-3dm2BE4$ei08LPif%#x)IZSFB1DvLzsGE!UNyc{ZwL^HI)6ySkP zLj9@hM4~tLddpsIvD>E|G8Dvv2zelv)>jJvbs9|a?woej0yw*paT-XVa7RM|A$Hji zx+vhk;Fb19yp^fni|s+hoHQm^%%u7C6M=HE<@*guDj$|+JI44*zPc@NdN1r?Xs!s4 z=sT(9e5+*1ndn^Legm6%8HDJ=*YWVi5UC8pdfGDccGRU(dnBdurne6CAQ>_oUZ}{L zk-_Y-u|pfca>Pkr2t&QaZtNgI4IUgew4j-lpW=Zv>R=IVc4D==9Qm{pC@02fB2b+Lw;fTtY zHxw+2;EDU%Gs{Z~yB5$&12K>3w$(>Y7BKcH1KA>3_{MPO1rfuQSC9$)vT!$Zww%-zgtO;`Y&}s*_kPN0aDnM}As6GSZrf?M$w*tan0qyGs0` ztz*_l9I0UfKDSX6A$qkm&|3|1LD0iM&yt`6R>Z?&wuM8bYZM%Z-$uD(e!_{!bdVv% z-RkUzg$RX#*O(DaNnwa#ZjuX;(Fd2n=>~ZeT|ca^z@s>Vy(+S{+ifZve!iT351$2o zWn`T^Gea~IO4mR)Y(%1DS|IBb8ZZ|?J>*A1lepidmfH9j@uogPo_Y2LE`}bv%8LJl z%d9KdH9OmQ>Ls1#Gib?~de(>|j3I3$y%ob$e- zUncHWn|g(QZrv_saoHG|T1LHukGUN!Dc1L>p8`sny^t60*Lx;hP@cLt4^oT#F4pI| zLb7%10p(y5IB59_8mSa;p+7dYguiulm2+#ZMBH)?(y;V}BYxuCBH9dZL#he+!Dw@J z(M${!pTsC3nqVQ`J9<{gt=tJ6{?|v`=Mmu7l(9?@PpDe`b!p}SMKIISZ@Z$=Gg=w% zn9bi=M5c5sh7s4_);-54BP3mBX19r3I?r6yem+Dj5^Iw$d7G8u+EHQ|xabCbEN!hDnet})A5+4X!#KDV zJ>)69-4a$O)>6?h*|AaVqh@}Aqwn-hS_ECBl<^L2OvB%Q?M%8+xNHN-QJSI4&7)G= zs7`{6h8;!!$W^{%L)SPrH$ix%LUU{?P~vP>^oxNycq3*%id8{nr1v~2?fpIFOAY{A zk)^n><#+jY4`(b{UAXv$82+#VkOa9t&qR-cVwFk|A5~e=?jUpI6}B~$Tbl{oM(P1i z7+BEdGf-&RE-Rzeu}W~=J?!!@xDQ!V>N3}H?Hf;}Lb1cT-BuFI5Ci*bZW#Ju*MqP9 zEywlt`>&b*g?GfQ-N4Tza6-k0W-)rZQat#{w6^FFtHs+Cl1r`!9B75`yU^{+=d4B| z?p%%&nxYDRQOXO_O{q5-UTd@_&tTUpjrM+GJkwg0-5fzAxY%c)Q7 zPqz^#t&%#+nmE^;+|L(dh^#{33q?%X?iBZoKae|lauw9S_tqDpqI*}e{Il_7}27pOSo;@wt3sOZQHhO-?nYr zw!3fJw(aied6Ms&_sRU4lbqz_{M*@8mA$I=T5E>5Zyp@J=T|`~2P}rn>~O|4c!d>* zusD|MuZF!$o|=*5dbX`OY$gqrImOyjy;3>oT@bh(XZ#J(G^NpnbJd1`GwJAz^79n5 z^u(7{eB<8O-a8xaLbY~AHqr-f82osU?_9jTcX#p@n$N&2-5#>+I5gGw*b|)CQ;2Dr z?>h~n^(r^moCKSW3*&I^ymGj|3FEoWSv8aiS@5nmRz2o5hR(I~z}n&$o7g$h z|Eez1|JR=w#p&1u285myO4AT3t^$`EYBURY``tQ%tNQbP7qXc01CThSvN>K*B=VeC za)YcQ87OL6m0}X+9dACo-VO~nlx41qmD9N0OrS<-=U{$Db!3qgTo-@2{Bm0K8-m@` z8L%Y76VA;w`EYOlG|A3EoH_Ki4YrH@ilxQoXVB1k9V9m~*rjJVt(@!Z#MFep!o2=k zxRo3l?|2^TgTC7emRpuib6(21<#)uVW!bdOL+GT*l7BJ1W&suvf!9W)mf3qx%C`|8 zr0Ol!$4J))GXHUs$V+yk@)(|q*B6jhsTxyNv08W4I8dh$(D{zYTKYRr`>v4-M4p9c zl8ut;vqW&>mucZbkZ!Pv7dfxuuhr2CY}Z{p%1q?%j8cW&M9U3B=}y3dlTX}M@F_qN|Hop*lg~RcN_gRv=r(}ae#cNB6 z29gPCH}}t8!ktSf-iJR2z1Qyx;jLko{gyZ8QB+K6d^9oceWMd0qc1NCZMRIRRdsWS!`GxL=enLwHTd^(vDNW*ouZXB-?^uCE@z) zra!k0mM%}oN0qUjxHXp!&^7&HB&Sznab2!;lg)By=d2EPmrfkp836j4Weq6!dUm3I}aRApbvL@&s3qynQrq)$jwO44y{ zJ(_TM|B^#Ws15G~=8#(U%kdLlqQGsz^TX(J%88JGAZZ!~sNhK=gq~u}znLA#BlYEg60F`7aWXJ7`3K-9%Y0l#izP@@UA-dt)~nU zk++-dC$(id@jCILoV9e1hhvWcgdS?V!JtU!h&TP)F;<$G@m(C2Z^~fNIMT;46MUGUg|N6$p|$=$YCm|BXQ;t8Q{i`;vk)Zoc*-*TW;GI!+gU5YB5H zFPlSUx46>N7CpifLuCc`3V&vbUg+|{yoSW7{O!+~Dbn=|z!sy?0U;ws>1185Z_L1A>c zIf1wW7#kKBPNVNG`)5lPDCgj4SahyYm*WI);<%QF_b=kqx?(a#vL%sEk)Zn+)Lr}y zK9CazqCBK;rBw`;l2;k_>M{_SsgYU7GkdEe6-Yo0j6{uIGz?QOn|rM=71G_WV2lv zVKoUMaxp;^>h=H&@}yR&v_uTG`5YjFflQ`y4&Hk;^x^d#oh7d#$1RqkG^LuJ4{MHe zt2PgB)|P-N>Uhea7O-ujyq7{POdc&*6vGsWaV6*lXd^eR?QPawc8R(mU{zfIsXUj_ zuCvoqor)}Jbmm$oYL?Gr`Lz&_UIfOgcdUU$N!IAnSwh#8pSo~p3V;_MXr1gDTFS8M zep=ym<4Y9rp>9K@IQafoHN16N4EE*8$g&mrNuEk{&A6kbDH948$J%kir=nG9@-)3) zh+hjRN)6j3_Q7uKs+K@rtrsTyEnNxW)Hxq~CwhHisq*=sddM^n4nXpoZ+QRJbIzv& z`mfIC|0TI#Zt$CP7B;`R=Jb1*aI>Pbw>7IyRgupUNDA?DwoerRd)WoS-z02H+=T=t zZ0qaE$XbMilTI%>!py@A(d=BM{Jq(8af0Td#lPyh^zHpa#*ELFJLxY|{?I2K99 z#^yNLxK-A?J^%o-#W*%;vCo7NtJCYnO_Ij?k&!`Yj94)#&e8-5M9A2*oH>ppHvL5P zru02oI84L#z9fp?-ug84WL&B&BS7Y1EeyOx6il9n1`DNQt~D2?Hz!UHU9Y}RBC-b{ z5V4`jC1a)I_~9yqG9kT)Oe_p-?SqtS@pytUFy+j%Q(*yu(8@wwukwHs07vkqAqcMbusXgEr- zJ3I1vr!+Jzxo+eYIHZ933rl|I>DiSD-0~=_bJy+hcOYx)Aj~^gWFr-TY7LlUeA@qd z?LTL&521Kl>FKVoFKH;?#d}%t=U==+pV9}Oa(TDjgz)WZ{&==v1iHrrp~TyZP3i1*om=`A< zf&h>;z+`a}#~=xr0}y2552=!iIIKaNh7~G47gRkO@@7B=OESYeN*qWSb-@=o|1qkD zOEHD~(EvAKK6odE^nhJyf|GL{+Phq^8ANm%>Shz0yfQh15)@0p5+!CS)rl0Y3;&ZB zCq_IC(^-6_B1{%;koSftQ6y3NcdT}-5VcyU@RzKB?j(v5>rTFtK*0%f3&t1fMtNHV z!fGD*HDH-yL61%XpG-fL<$W`en9Tn-m*;F#m=29vzK&1BB&IWofR1?xmJcB46^z%x z3GP{H1-ibFTq|~YLB&V~_V3D>3bBi*j)v@_7XdQJc>g?TJWr9uRCy5!>^4RjEk(+L zJX6<*o*=rg7}V0GQHd0tnuXzcUoSR**6qD821UcdEFuYl&k- zas~ZzI$2suZp%smpK2lKraejO-8G4%{%@)tgo{4zxt+ zzSb2jT6IF)gmI^PXRVt8pYg5a8JdYjbqf0F?gKf7gdeT>e8o~U1-bWC3h5_vu&_k& zp_RcoOgn4&Q;f`2fED<+B~`NKd(rpfY5st~JK(=!a5PtThcS7Q=nxug7@)y1?!IPB zJIQfV!?953Hc*dPre|gcW?X03Rn1lJ2xKt^#bl*)MatDSXDTWw>J=(R7kXzg7bGg_ zrZ3Awm$#-?>N&q+l{3|2a~umL^Fb=%Nn$F4BREc^;qOp6g|g5uyZ0rNNY;l7nbuA) z3kKS8ES@zBoBGOut-x3Cv~xeY_l`yvQ*HrHqaiA4s9=-Vq_;=xW;(?x68;TL*;YO6 zrMVZ4iGTE;g)8B*8m;P-l6t)sCvUeiEljjL(|MBhl8uskWm8H{v&lO@8mK{OfEPt+z!pua92g$CdJ}Ab1ZXuFf&$pL1{CR z;}S<>nlZgwr|WFk%-Ph3f+vJ0iwfSgo=Bvmn!A&ll^v9Ta#LweB>=x8L3#gEzTO?nUVg`FwU_u*(UvDJS02RJXo1w`f7A) zHfX9`<5cxtR~?B-iBM~7T?3sv%0%fz<#J2~qAb66m;8{lbFI}5(qBu!1mo6+D}gcw zzIL*3AV-`=RGGy1aU|S+_@=v#fikE4s-f&|*b?HH;MR@L&*UihCk(9X2+|Q56(|Ra zaV!jTG*W`8g>||m>C|RLvvrr&IyPW8e#B0uTFHUPTFVlt-jC>>)E{Hrw@W|6Pgi)C zC=M@13hV{DdG;-C#`}JFqrRH<9dX}pgOyDS{psH%8S|dyF4@74;-Ddt=F=wHX8h;x z9Z88p?q3G0=23Yh}xmNb8Di2|uLH*KUlShvd4OmM|tY?`zMXFH=@6 zl2nq(?2%YC>7q<>63V;AL}$`!OGoHSHtX35pQd*q^}z?Xk2F=f3gtQYjgi?UiclO3 z+TZNu6s38v&I4No_o=kwD-;c0sBqN#;>NSW(fFo$Jz}{zO3RDWXD%-$(H6-CHmqCG z`BG>DJU?uXu9u0vr_zRR##%?)8Zc$6)OD%K)jimmKCHIHHvY$jw7C(j?-g7gRgZn_ z*2LszU1i&6(zb2wi=QJzD2s!tBh)0FA&XPj*RbC%g}BFXPwPZlTwY+A_w^OL)U>p> zjU{%imDM!y*zJttbvay2cInbxa!_g2Zc_7@OEZ~GNXv93vXf_{gFoRL{ezM`N4ea- z*uH|uo~~>2C%3mbmoxwNti$)q%=OJ?WjgUSF2_U%L}y8(at$6{5c;i}h^aKVsM6VjSWqVnyt%>Vf9X`l>3d70r%oadfEk*tgb$kBUa=z}Ewo z^--~B?#-al8G}0!hATIGT4MU{;iOB8QH##{ZmktZ?s#D&yI$<%)cJYnoS;EexeS@SrkvOV^Bq z-l?&Dz_4-)eH)H#$F62sLiH;(w(r#DSvx;tNglGMBQE4QYQ zsH8^@|!W-H!J4Xc;{xC+9!ulkB+V(|6N8!7=cWkL0o!P?`ye<*^#^mvG;J zM}b4^qn>RA3G@CM8Z3>I?48uIaEzB9_B`b#B=iOF>#gdu%DH?})P|}*l=6zYa= zwo^&D^|5Q2Tp= zZB3AXkp3Jyto_A2mZG&+E@J2;to1U=ao96hFXm>J1nmZ91F589M$XLzmx2~loQZ+% z!t#A_+z?oJcF}+gL?o19m9?rJxD#kN=h;4~ien7AkG@l);YwRCZ+W)08MvHIi5yZrTe6+%d^rpA)?<50S6JT zrQNAG=5_Nxr<;LO_ca{NaD!IEv6&Sj0}h-7tr>Sjx1Qbd{XXL`)$5Oa0?waM_c3C( z3IboqGIS$cC={w{C1|Ofp~8im{tpKK5VGm+vAMmDS=;08Cp6%p%QO+t=cuSig}DZ> zc+f0lSmQf~jB_;V+rlV_H!UY!f~IH|+OXU-w;_CXK84C249*dpm}0X=dG^dzNmzmvWfLlrU%%?ak;gUtuz$P%KxL#NBzA0$?lJ|C zbnox8xdR>3#xpgdg-gA#y4iI(F=B$T;G!((0=?igwgS+n$0$V6c=7Yg6b&Nhm}(%h zU6$R|$6kOFEqb2vB*dQYYb;Yjyc1EE{4u#G^rOMkzrMlW@95l*I>F#$TttTIH^F#I z{=+H7_0)1z$t40lcyvnAk>49?en;Ol@ICZHD|)0`%>K;<2A#1-H%uXJji7nL5cg-; z6DQ$JJVa0M#dDKfcAjR{&C%#V=*-oLk2R_zCaK*WNyV8M~lFm~*HRf|PVy zYWnLXVirB1ZE}|#wo%{t-ow#NH#S7Nl7ngyOn9qh9|)?M%~jVb;V30H1ZdlP4CV>z zgxRxh=^iwR_myaJs)-2PgjCA=mqsoz3Lb=BbcTk$+Butibm`YDvniz~L3_8%nXK3O zKLrAGZtDVQQh-{XSi^;l$j{sghKallU+#9^yLM$HFlahms!_4s%s!q)%CM|g2--3xL=tF7IK;Q&SwYq zeIL!~#_LUQZ?#VWUr0N@bl6Mc$vTC;KrSl|ig<#Vl=MxIXlQqj{Iadx>iCX4w)Oyn z@%cu(o!GR2Y)**3cf1Ub8ueQbdy z5EX^!bE}R#*9-KHWCx68w)Li3K0aC%T?d}8lUQLL|izjtD=L;Toba#DqL1+ z3MlQ6s%kX(*Bd;=t&WqcnyG_I8}W%RM1|5Tb^sOC1b!F=5lA`0r zLmhz3l3jKXX~_up92dugM7n;RO!aU@N=!90VqjUdW8GD!_ktd{=Q@N@uR8iQ%Xv8#SQeHo?t7Fb@@2Cf{;XAyE-%-?x&?om05^BCGCN;p>m z%&Od4Mk3F86rO(Xq;pIRCOw4^llIvoOB#YW4p=!9W9udw%|tD4l!EPVttj$n2Q3Cb z$@-K&9CQ5ZJZ4Bf;_iZGMV^Kj85Xn_prr)12?0`jvF9$;kye5_lLtjYwN-G^ca0&l z;(Yg>UA`=;J@>ise6k@W%K^Cpzn3QJdQ~+slO?rHBfjMpFddem0@PY?b3=npFzy_L zA~KINE`27BPHg&LNrO2(0|bC;{NHPR3aT)oizyKopp%!B2az1)op;%?Z4RHW!Ar;1 zs%zP~cJsFAElN1*OguG?FZe_yAR&v!{Ed%2sB+Ta;AW>k-|#(80EB~K))K`1)A-%P z^PDR|M9|z09rikR;k?f5KgD*G6M%7h5tfx#E{V~8%YiY?V?H1lemp*khkz?kXa3tX zn*XqyreT!DF5>NxC^Q}4g%;8;qs0ayO*48fy6yIKQlES$^YNWNOt0-UFxm>Jk$vq@ zOjgxV#cnW|Exxc(-y^yO>x-hFjJ*-n8$o$*gETMx^x~C57hAT--&LeYw_@`eHTy2} zkZ42+lzMjP2<2oZ<8N@Eh4;=6MpL5-h}SBA@`9N05yf{DuH7#@{hRliq|KXtv+`TI zRLYPO^2)|erxJcHHzNw%jXR<6u-1@w;0cwYfOZ&Oq&IAX%v@e8;*^qY|2k2K3_+pu zU0Wky0424vjvRMaJX7$Q@hPXLbW8=eyIw9zeH>kBRJW;cv{v3eC5-_UpgdEFM1V3Y zpl%v|`(RajPSvX_snZ`c^yw0{6k9j+xFWiq_RKakHwp|5FDX-$(`JnDs8Ur3@`a;E z=Zsl~DbOrogd@E^hIXYxp8={`G@SY2wsmE%DgYMlw4EqPro;-Pk?bwWh1ysuKAEXF zOa+#@>YulS%)3=g)-G(!0?JggYa8V~BLIW3>jalyHCtfmgfpp1ruJmalN$H9#4v4{ zBv(Dm@*{u&)bNGOy+F8*V9_$7*BVkgx9Dq=S!VcGYV%%%DvMf3GREbt@-rO31iw${ z?3ul%s_uIdCZ#@@BE1u|rRQ8>0Clf(XYS>5V#zy|d|N zb^|}Z?4bu!-dg_v@PHVP&fKzk6UKiV(p-LcF*Jy{g2Snkr;1MPf~DD6ulSjJ=;!rU z)U?mL-!D? zsKp@B2t3<6*W-d`bbXexHPU66 z*L94sC?i=ytGZ5X)1zONUy(Iv_?&ONN8v72yLF^OABf|&DnzypoN@hq2PbBwt`q$@ z;9X|1ZpE@t>B?(gJll+jKyK_oax(LjOv)A#O9@Z=&5}N9f#;iWUj`?&tnEu?{SVoz zj>8&#XUlW(Y?vDMI|0<_dV#Dx^2$*66b*r@w4$>e(OiQ?qHq4C`W!i$)RDvwdGC!{ zBTG!N9|j3!qNF;OWYnnG#LM?_PvfX`O-QLTus35U!^$K+fUi!th<1^ZNW5b|LCBF^-HCtm*4t<77_cBQVH}s|Nwr2W+QwiZ2v?mOG$cyQ1Ru!}Ep3;&2}{UxW)eimA@M0i~J5DKvg zQ|n`Ba1=?pOyjmF^APF~u+#dqkZQEaTc`_~{1kN3pHBy$+;j_o5{{VubTdFNYG8Zy zjI0*|8y5O!jGJAQ&$??OYN@cH(>BO(^wcPF!wYV65Jha&b#dF`aQ!yp47+5`<5pFX zewJuIh^G|7OX(1DfUiu^4LG2MhdhB$$g&W()57wg`2j-L$|UUUkp?1-<}GJD`lbEp zy_C_DQ(14J!vURr6LA^H84*r1y?zVw&Z9M_mmpxJc1u7`<`(BP0cdin(E$B>e@II`Zt`L| zJ)`3MdkzfwLG74TP9hs?OfSB7b!<&B>bwRd+ov2G8KY}54}Hv)G5+S$$y&MgJ~S6zjQJ^JFkxcHPMm+o z+>8!S)e-pCj&i(wd|5mb^auQZa{+o~!XpQ<000QF|K}9?|7jv-ZD(fpzb9feo+k3z zvkOoA*U-VcGyB&_o4A2m5NMl(?EQpogZtOl*ERhn4sMVLmq#yt+we+CE*GjV+1CrL zv+3#fsH7GwhqGh9({346Q9)P$|Mz=F8iYN*9GbgfMIUK#I3~^+005{NKVYc%oHs}S ze$^HvbTx(gCbxRGmL@lXL{xNgC;JAr)&@pk0B+U(b2O~;QFlT3OgF=OgYSs@XUn#5 zV@tz??>=@cPe&5zc82>+RP7~Q8VL#YfrKoEv{UmR3T+k9MTkR_V4nM~Q@u9>M5Eaa z-M8f^TzK$AyBMi~Fx1xFcZ*;=;YDLiI2Ag-MMXxWUxSiCV4)4KDLtV0avXrP@TZ;e zY(2_+fViH(Ko}Gr2ps^5I1dzI{y0NXcxr`Hu8|1!4BjL^1m!p>oLcSzK7`vNvnF-K z-6)hKKK5i$+<0JU20XT}7HD|`AdH1~+$rGC{x}O=d4O(VNA0pKb^y#+jWm!xMF4rm zFIGXMylE(aj7j)gz?5`=ss_ztCjSgm{#g_NVG#H>hPrzs~3Q8UT0Skb< z#h8>`Rw2}5!Y{F+f9D`t<*y{bj|k~Fh)qpt5~n4`cbNX0WOHO^dTAfr3lOWo?2Ik8 z+32ip$J8NvBDetr2K)2s5 zb{>o9bt$0~95wI>$1WIpSb!X(m71+^Kf|I-Y%MM(CVqBy8n*n>v&PbsC({M9Wnvdg z$Kz_ZM|-}NR$)~BTLk=A&kmJ#`?C4*=A3wxryK7A(T`Hh6Ccob+{6Btt*SPjyERlT zMoq$=i?m*ZB5ms2=JB4_UmtM6cbK9W1E6JZgfK^_qsoT*P!DQ3Xi6K!W+#9EZ5FLJ zUqWFJ2X=2(Uh7|9iiawkVOYC%bl5i#02q?;j8@T0Q82_n07x8wkE{j3Zr!;UUb_*V zd&^!5y3y@HLuFv^Lkz?5y&uRNm_bxP!>58|R^ewc8sFZ8$CnDtFcS9sX4ebW0_cu? zzn%bTOHwO{{vgzxf#F7iJy>8*w1SyTScrVIuL)ghU}#)_Bdu9r$|MQ#M@a`u(DDUJ zD22R<4?(8UE9jTd$Qgk2;k_Zx;!UMs%9K#wgVrgwH3uFz#Hrv-jys{XJYjTYN1~Mm z&GIR(HwV)lrJ|QG4DJk;a|-1kaDe|*O$mJ&Hg`pfLzWygqo9@@3FTV#sP;95?PSWX zbPO7Ti$4=M40c2%q{oL(m{Xfm(@rMEBPuu;{(1)y^n;W?&nuE7jj_!&8Sub*zmLqI zRnQKKw};~f4F;Z}lJWKlh2YZ7$ZlXk(`squF^2JwvznEPdQ7Qj^iw{hGZ{EPb-LgJ z=@AiQ4vOF6x!3x|8O7PheTu?keqKcx^%uUwWv{Qoa|HTK{T}Ju8qibIQNX}xi{R0Bzs6a&-uDQ`O{VH2yGdx+KF%D=?bad;!9hvzA| zjYqMpiX~MpODI;TQupf5yf%md+tMB5g2?aI*03Kfvl$}0L#_iNqB&4CHKde~FE?no6{4z3g`_Sfdi`XJ#PIyRw` zm}2U7s-m);{t)S!|26*GfQz!iNuAb9@T3JrJYgyBmuk7z~JU{c|6%w!QwX9#fCG0rvN+5FW^;C@z)a5U*=HZ)!tKhhXCw2B$?G+RsJxShlYwcl;3+kvHTIjRQY|x} zwFz>)ptwwKpl+bjmYs9!eBFhPZez9@Ejdw;xhK~X-Ggf#ks z!Nb8$1^D>BAIWZF(f0J1KeSpM>9CR)s3NJckkv8UcC;jHIULcnB);v_I8oV5Lh!2g zy_(pA^d0q))^4ICv2n1fP>GPP5K6v0QfNaaeOz@mF^TTvh%^kD2Lol&YcnKbqjcM% z-@$#}FFZXNCg*sB0~Y=7h(k_e5^YltAA*`eJtgZwstF4ak{bGTPrxWuJFK z)BVyaMobUoz6%gahBDnrBPH|#(M5cM4rFm-F4x31%>??HCV8-1Xlmr-3Y>|BYG0YZ zX=;Kd6D{Kl;~jcg!&_KdgaBm>h=cf`>9=C0Qgp(56R*^~wW|u%G20CV6Ne*)1KKy- zLp1ESHu7|gnV}_+2FhG~tUn-<^A0^DWAg=kF^_LQ-F z(wZ({z0YQXM`B9exSY(x{s{~?-Mj)q-tz~J^q!*~sno|X$eoK?3ryV$(R`8VPzmvT zY20M$X5I(iUha<{&!V5PDn?7o3gF7MYsDy3E*scDFtqO}g~r^IUVZHeURLzwPfW+1bA~Vi?*p{AV~KG$$zA=pOR+ z>MES28>bgJT-qzQV7%9R)E%R?cToSzOP56_GhH%sT(Vh2;=JLB-jnl~g``{y`vjZd z9OG$Uhq>+J!+YbR=SJQ$6{b&dt>Fv|Txi!bgrkLee!jP_*5X=EzX(b1TE7 zgvlxbuuIMgu=@iI;O_a876%BRrV6k-gaNQC2MTa|br1tq3?OeV+JIDmg;!~&?`BsJ z5)y9>7~343JN<`xT>3y3Lcu)O_luVd?ZZQYJ4{g%0edJ=Su>9)l*B6i!(R>TsqW2( z^sTdUsZo(DxCzhe-ws-8g=z=(MB@9WHPM5I60V>|e4CiaBpWAHUPjvt3sL2vb7632 z^-`Vf?U}U0zKkZ_Cp7(J_%ilI6e#-@N-YCMfJY-V@8SbkbHrrI&v zrU~b1ZKnH^C*B{g=2)vPc~X0m?@JyU0dn!UKsiLJddoZONIF6G`-Wutch({%FOEn2-0FkeUI^GBI)cVUU2oSlAqWhd&5^@b#uO~6-)=#~VR>!+i*(p# z3D8jU-#BuBpRM389SeOUKaDZvKXJ@4lt1YcEjXr_(<2BzygiU-|M=7gjwmeHsr zS;I6ayn(;gtxsV&5L}%~HQt1j)u|EmTT3jX9Z{c$M>y0N@SRK09%Bl&2{B8;AnXBN z?S&vu=t~4wxf$_xaT0A9zFD}N(b2w9NHB>E)vxGXsjwr=z_|k&2nofEKU8EWK>cNs-mrL0m<^B=K*H` zwxIxU^Ll03r5>vb18d$b&3H}i_ALawl--|hNNv6;bucCADj1fFv96MVHVrJd5^4s>rbx!HI~7mo~AEt=_>69@V8 zH;Q?nF?T`kqRX%&4fjiW3YYEZlL$>VUg?T#KwTKMiPh3K+D+9hILiKLe1yN^QS*a3 zgq|q}tUi2NqoC6b-^dnHsNXeytfiWshj*QZpCP+lbdv{hQLRApjIDaKZ{JfvP8qq$ zu2G*W?ECF)BKd=wmqgot34VzQ^=rNs0RC_%`PbgwdeX+#3MQL1E(a8uNw_&S-EW!n zgb!O=A!6tNGU>J}72Xch%l$;CnSaov6%54CSb8dW0<;m;xO|Moj-EMR?wCEd*Z5`M zhp{D0to24z)8c)r{wppNx0I~*4oVglRvFb*d^DAv_zB3WNM+G(Dx<9syQ6{$YeqOE zw7%&Y|N*86^OsJfG;t)T*iF$#;tTHTI76?6x*1tF%R7l>UZQX#z2WtW8 zP<{D`6ve)@jD2PeJ1xr~VSdaXSqrWoEyPSkL;p-ZmY;^bz1`{bSds>V|4A3I%XU*8 z${^#j?;E(UkQ#<|NnsLMTRE0c>a;_Cr{ZYn$`4*<2*?VxoxzJ>rgO!j< zf>K;9dp4vQWx%E%84?W!Ri3!*p0P^iN$f=to*zyJKIYkMHaNhZ% z2R0-xu(dNT+y!^<+~vnhdD@}#H@zmfUL$e>{{x#AA1%SAU#WN}>+(l^aCvBAks&fX z&x!`+kS_E9+vcj>+Tx9t@Pv}QwL_R>SNpk^n@noN=lh};7r`v@DOiB}IK_*DLHRZo zY-y&BwOGqsNYqi^ojxa8|9jwzP!{&1V`*?EFw9+WJtm0DZ6%x?#9`gliJu-bz}^JyV4%y+BBHndcJFV%%ze19)f;b?t~9 z#+a%HYe?8V%gnb#Ji^v~YR7^48T;9#J{;O5nKot-KM{P~`pG7%Yre?s5ikM|m&7!y z3L^snkuu-6gqQISd*d3y+dNlxw1*iawQ!sdiQhic&^Mr=Xd@@N8(zSY4tC|OW&*pr zQFG0uHG|xt1b&{G(qF$=nmJAeRg%2cupF zP%495D$6IZWCZ}OsRWtT)Rl%T{&j6{`Gd4;Ac}omwQv6SliOAT67HX!ZDcNayvDh| z+Zto{gGzS>a5aicQC?3t zmBRLAfx0}ifG|)7j-NHCEIsogD4vhS|0huqK0bEOvItm4kgTC8Y} z%TZPdJpPYkzPS>z58&#o<4t^V$R#)Xc813L`ZPDy0E)Tx8xC&h;uG?tHfF6=s$Z{61SB&&tQ zOIZMQd_p-Ej<_v!(j|{uki#m!S1JGwlGU@D37`OWu9UC)F`H=vGf~u9_Sh2}4D?*p zwPz=9k@7fqu~#hNshg~UDviinC#EblPqfvu$Xd+4po>k8)+ng!(dA)1i48Q1TE+&o z*x?aE><91UHA4V@IIVR{Ax3Iu7J#16`1Tx%V)=liCGDq0o{jl z*%p-`F}+yAzBGpx4`@Z?Fx1YKK$VT@FNnbn4PIH{_9&4^sL5x~8dA$g=O7UsA#&`B_sw*w5GM5; zpPeh6No`lVA)BWG6QekU>Z#KYZ%5YN@V`J&`ymNwX?!=B;-GCsoV?BV=@u z*WJB6*=qqH{B{90tXuE<{`e48e^LYreymx0nOA0f5_e{dDscUX#}r4lZxbW1T(j}u zBF*A)gkq+Xv$OlYzPv4!LI z>gJrZ{)79r+0V`bg{ro9Qh|Rdq{Wos+ry5P4gh`S22a?cQ@vS;l53e1-WE*q`I&~+ zwNWtjv}xtbM!eI;Dx^w}PbHm7yQ?BClVJatU}$+FeNdI~yVq52 z5St;aVp=PCnl3PjOJo#u6MA4VW8^(!Yd>R>gamoJq7byPnb38yJ;uFsF}Uw3iV&t5 zX9ab9qR}{&!3@ctAgHM~@WFgG7|I2mxU$n$enVPb1(=XobC}J`yKQ#9_CdZyzXv%i z;2kE$=_aDEKet8s^3d$>>F?R4+vz@-z&sm6%bO_T?N+U!Eo74Sz~Tosnq*(({Sq`+ zQBxCSt*AUmbL@Dp+i>g@)d@dXjA*ynB?2{*Y+{)h=jz3Y{A9kU@8J9#Or=&g#Lew7 zg|W(MR4i&-=E`n$NQz&3F_e>&^X=fFuKs$i*yw#$Qn&u0Hj+s$OX$_xsrbGc*#snF zF`^JYJ0`+oM%5NIa*i+^G&vuO3KzYJp8 zmJc1U_r+J+CszUjw~VQ_i~`6_`^?L3cVW%bO!Onf?DC6JE_>xnuD)O!jR3TyZUZgVFJvFDiM%J1!pWorc%A&4NREAsH?g8p?$UL-)3pD5By-Vh3grB=a zZ=*1H;5F7WGJGgLAUK`oG->o3cz$k50+cNK^tXdyzU7(JvhEh5z#T)&1pZpYodd$qk&2xP8Ywl7`uPN7Q@Y&=zG$h50m)0n@s_pQC08+kcLFH2= zm_Eg5CAQ<-J2W;pFG1i{b@q=#YlJj@@cA@V4pjak;k%sW;hv9&W4HjAcWsUYRBJ8k zq*2+?eMSM5GGN$OWt9EEV#tY!GFooWfC0qCJM@~CnE~OF3gn0DPIW>VRp}t0?mPe{ zzX3oT8%dq2B8}_qAQ&%o1!uC+9qs(SsD&4Vr7g~TCoAu7j-cUquz}c@l7nvIqn8nPUS-Ox(It)0oYuY28<2U|k4V4N?>lZcp zS;QWJK#RfI>H}#F=|@dGiY9oad-1i$N{=5VqPu%QB#xweYVTD?NBK{;r3qkSm}V0M zVSlL>?}$PxyoU_s#u$?}3|Y9SWJ=qBLkdwHJ-0E#WGX>bh-D~{@CA_7mINR~%xojl zZgbz7-%lJ1%{ZFq{gF&Vv&gm+hH$3_BPOcroNu@hq+RAyI!m7iawSBLoF2YpkTS1f z#wG(|Zm-J951fYX-a5L>RU?Pg;a1j(T$BQMbuv9F=P;pKaD!&S>sTjN6IbS~7ArT-N z+Ow{e1#A;z{xUxvNY^H5mKB4rczzhawy36tdk}sqG7?{i_T{r0SZ6@RuyUXY7AVO4 zdowByJWUgat)aQ)TKcH}k#|gG!aFKO&IPD}=FV0le%DyABe=j8DO*K)fB_fbB-f`H z+5{ao6anDOx5cw0P_5!#i0XWLBGh>sT?QgMa&_#VZ+}`5*VFmAqha^{AU(=30aK6Q z5~<}l!2m6op5JLjj0qda{4chEon}E2>Kh0F^*J6sc_L}kekN>sO>Sx$dlquGY$`pZet!7rc8=Gw^A1*ln~6d{ ziy~IGzQRIfXGjd8%B}@&f5v8ko}gE&OBh=l)t>ZPr;;xXxx~&6VzRj z_u}qMtr;3Gly!RBOA?n+$e7zCsy1GdA=cs&h;#VhcGjoIqsGD5Eh+$>HiLv`tm#o1~mZ(!TT9 zvFu4c`bz<)%M$fVOJ`JLPqPhJCF>fn1jCpmfZKb_AhT6;|kx{bG zvXh~R8j784G8cpUzLa`oE*S+uVy8tr)lH~VowtjBw$PzczK)pO~#{!Ifg z=OaY5%b%5#@nv~<6KrtzmkN}j6Tu&mq=hJ|#skHTLLSn@FMuCB8nCqn@CBq#VC8iw zG1}Pdd6GWQK+{{(_ePMWtF3T*=;s6jz&?rwoR`NtBJMU@P45*JkWIrNnwEdn_)dRb zegGwFss)1W)>b_0@-Ne5K;eaobw$?b4Nhdd2ffp^0O!r&)6Cie+Z1REMiHwv(^j(y z@lO@x15JUIW!g;<1^A0zDP>b!|ISw8?0| z-j!uLC^<-b%;k+b#4b0QOKE@zF`D#>5TE(VfvT1|bC$J|*Y7(1GZFjzuNSg1=q&GV zv%2O$Mz<#_c2t!>xR?+Vs` zHcY9#Jg=jWatvK03{8Yn!p(+!P##fa7JB^u-*a2UkMe7+F*Fdmg`J#NuMSvfgT3lN2#AD7*|e?+NX_I zx!X)&3PN@$4{W-K5W6JJ`=Gqo44CT-5jzwSEK%*m;IL z_->ga-*!}ZUYAeku#z4D1hzG>cj5JIAgg`$z7M>9ug`K3z$8ewyD*$6j{%a;pX0KD zZ7PM&c;IW)FVn`>(vp5@DpT8tm}zDdY&s!XkZXD$8h}*RSby=voBS zdk){|?{(pk?99?3{9G4|AB586vib5oPDdlSw77essjUFdRlUF-rgxw%4SVz#ReWJD`@OHK6l zwjHuQh|luILaWI9?O*`9%G-tz^7vN>K-6i8jZ=Q>>AO$j#^aU?IGkiWe913QQ~Nx? zN`21eqcPuIUPfk>N<|Df<6EBwNx6be(P1H0TRhBws|6WenFstD3t1#WdCho?Oc#FRjrQ?S-7if0=LwM|J1nr zL~_L?k8hLI(npZ$cF&_jZnH|@wuM>tdCcZT@Xa>??{Vi|Bl>?E+59eR<{FeYN2a}a z3ekctgO>{;toF&Q_PI4wDreXqKAfb;Vw06njLuA)&I7@9oQ{;eO@MrxrF?sW?N&d+ zwycIej(NL{*-XDYpF~wfDD-*kp#N#PHTm|xU5-S;fE8EUPgXcq%ZLw9x{x5WEblB| z8>Y+mk;y;!@U3@eX-CP5?525$q84J)Zk?dLr;TW9TX}v{^vNX5D1s}TKH0#AyP~+6 za-`V|J#Ib%7WS@3Kq1i|axkjH(uI)F+3E&N#OXp&Wa1V|z1=L9 zgb+^+O)HVgZG-)vVxh9tMkn6-q)4Vcu_ zy^Q(rnlV&A=1!w%dtb~q&(w)Dja8ShoE^(wZ545^uRiW2CtR75Jc?%W>Tztf>E0-KL8ZSceUK|fqF8N^0-bgA0Lsbff&IqiU!e){->bA0CF?g)3>7tTw0~VA3LzDYFlnN zm*KYw<0Sc=4A=H4DkRBDS_AO~R*GP)BxN7TRF5Gd_r0uFGTu&338`kC#_B_D%`gO@ z#4W?+y><0-<6YPeE+ky5liBcf;@@vO^7XdF_X%U4?}Jh7z7C71Q(5YRwdyE3oQ1Jv z-Xh>x1yLrT$T%dvv~5NAmD1D>>n9IXo+b zI?F)$YCbpHjb}lOo`A-@f4(Bd&!YNt%K8T!m@3ju18i)L`;&7(ySK^dO;pKjPs{P2 z50ppT3vEu#L8YIQ6Zl5+UZTu|O5{)1Q4Tb(6PyX@(4NDJ(2xV|qANgK9K*^7)1;}> z_)4i|d(Z3H(RxGkO-w9fjxPrv09y%m;SG&-iqR_Rem%53_1Nik&4DMvWVL0Kr!edd z%R{b(GIq9(l2{$61nsgvf&4AUzRbhovt-LH@0Q8R+=}+j{K}!YI!*S;2oQV|N1?r` zR6mvZj>>OJfI3c7s&_}_qML6ONb-A{NF-RK+fVqGW=~O0_VgggY?B(6i;rkxRDckG z;S49!L!DU8q}TMmB^?8>`XVkDevUb^`rS07$Bk@z4miN83@VMt5vWo(!rIm=UWA$m z(>rKH24WCDhL07PZB&@D_(0+o^y|KT2K7^v>XlTFup@2X(G7FZc(o-cFd^NPqa0j4 z;S}v?E^uHcyJkx;P6QY$ZMFh<5iuL$yfg>yV?;JaYWd%)H)sH={@S(M6n(6d4k!S|d5q7XgBz#N0P7M~k?Uz>Gksr4{mQRzI zKOn@5X6Q>(UMCs}im03+8z_@%eMV0{B@h){=XQ^HpmK^c9?mp`XTbf)h;h3e7hL%etX<}VytFBJ6-mR zT03ZjraACurLDgGF=U4K$m)BD_VsIa;L&nZ@$*?@YV|C%5{kYO<5xuyS%2@JQkIXl^x?0)# z1&u@-EX7vnjBW#*bhbW}qBTG;mL0{>ffyw{ucE2I;ChB~4WChu9cjGI^It2?Jmnuk zC_*T)h>ij?Uk4@0AOc*I_%^N!TxrArv;x;if_-wOR6{X!EsBT^Yvmzpx|t^I`c)`bY!Fc<(1(#Y3qOAa#Xge^SjlSWTU_ zJFMm-TA$yTh)HrMu>-kbWkAKWwx@;Fj2R>zm$NuWQ5Ku3XS7X;d(RuoYEJ#mUM;Q* z!mIUXvpq`294fFHJD3iS0kR98P|;cO)1J-@X{rRdJh?baihsx}OyktlKHcRY_x_%~ z+{TFc?}+XcI>Idg)24Yp0IDY2)|>1PgCVXu0b(UDQD`;%7m$(f>;94y2H@bRX7l(1 ze?$lf&xg?FgG{&NaB{B^Awekqdi9IndF|4tJKjseIl5bH=zTyir^MWLf0E;Kq$#&% zmp9Uk#pOv^xbEv(`Q-H0K}M=T(V2X)X#B&-3fQ?PxP#){#_hBOTT86s63F@YjG;Tfv9|=7&EY?RpBfdkL`J+o9EDxe5a$ zO!kpk+0X0%W*niA+QL-98Z(EWACQD)kPMtz!>+0$`2C=u~Z_xAE*)B7a*k13Aoh_8!V zwCJDU1&y)yCR5yqjS{4o|P=SysDr99)F z{ifG^2_0EdREYa)P?@h2}X05TnHv<9Zh_MiJ>dpLh+(bcBS z?B1?c-Xoox&iNBQcVB9-Bk@LEZGrkNjfB$durMOBOTUylZt_wJMd8+<(1x>%)%0Kb zvDZ115#o9P-B4%<`lw{oli}7cRdZS?I?O<5(7t;@lPkOmiZ*lNq@m_hD4G^oErMO8 zck6;IqH0>h1nJsHOeS}ICI(abNJAZ_K{#p%$TM>iAl(_;N6NE(6L& zEUR+10eKDoV9@X0)7=^JM7>IC)E5f_$&UY=iT$fnKSmKeti+VZd8Wy4`crm-Q+W>4 zH3HKesm8E1Qm?6l6*QUQo&K}0St+eIC0V&YALK&AUVXweHTvih>Z%^k&KM2Wm2eHn zKK$HHJBW6x5u-wqG{co_U>tX=IaCezNPm?89JalM$}XFHJ^;<@uy=;}4~t@+Pkbrv9&Uz`TWUb&Za)Sd;qDZ{ZWK)d!k=a<@yVM& zX(i?@{KIMT>B}m`t?=KXowd2V6iI9-K)A(ol zKH)A`U1FpSZ{lzZrI4>SNa+-GXkJ)i#^$@`rjx;!QN?_1MgG}Y^Zt-ZVuI$0jDV44 zBk@aAOc#oo-Lo1dPfmxq4>DpRCmXw2@WjvaRgMm|?I_CZame-*sfDYm#R1*0SebD*Lp@GEPK&!df13hUZNgQsoZBVMLPVQLD`vHIL$>w2@RF)uoQ`2W2OKA_3o)W znd~Kd9o+ zA^*n|PZ>otu{`vV{k*;LSe=ikUS< zH3$6fZ7lpYm0v|Zb*Kg92;?TrFny+{(6N?_R?TsEnG;o1r&Ss;H&Sxlk9ht=k<{7>4I48~&%GQ$Osoz1sc*fP9(J7S174|SXfa&tah zU#9$pzIvTMa*pVKghr=7SsC4PFTEoT^K3$kYhy24WR<#>!yTTm; znq@*6pNfX(m3fJuBLJ_gC*(0CksmF@zREBTRb8YteYbaykW@!*-3eUrzBaOsj?g=J zC0}S95i4?Xd#8i_!WJDtiUul%k)O^sk{r0qWBTWGprtO!jdP~$Cn<_Ss?8fmJs-hm zW=`;~zcR37uQ#1JCU~GULRqS}yRpiC5gpBS~R8m%_Qc2BtC9 zg83*l9vp2m;#7OjEgwz;J_0tb5D;(l}=q z3INQ%twV#KX5U&4-nuwZ>citmH#-*T_-W2KagTvzoaLPXu9e))x61 zC3|N|>&K52399RykfBL@Z%5D-`VXEhCUbJ>CthTq5`%;UJFG+?Ej~hKCM?~&et1v5 zJYXareK+4_Yz?S=6PEJ7cQ>KKZZ~~dc0i&Oo-I|-jaTW^1J>OSDzr#TH46)i`15ll zPDxA-1@@xgSj-zsV35!sJcKk=Jacoiu)44m?`}fP;3$x+xk9KZ3(Bu_XzbqiCU@1H z2Q?!SiY)HoV2(MAKw=~?hj|JmruY70BdOwYGGghf^trx+CqP9S1~EEYm^U21f=?P>_m2|au-C>w?}dLvacLe4N#PoYp$^^Hl<8wKaR4HIl&WHGwrA; z4t1UMS#Rz_TWcz1yi-lP%&(#vz)HAD)7~rQJR7XBiEoo!F0M6KX0cB9@`S|Uj9|1_ zMHUS!_Imo&-ep|?$ITP3_HnGACiB-s;%g>+d^KMUMT9blOqV#7O#MxbfMj+V*_Bfm z69U$TaN!f>&u)b-mcM^Qya={d{yNwMCPYG~;=Np5Ob*P^@c6oryY8E$d#UfDzx>;^ z#>z&imft6xzS!2nur;yMB!LLo!hgIl7ZPlzb5ulCsYf+;z~E**9D%2^L@lzF$GIb_ z4mZ4rcl{=bBl{WegEQ(q3@@+a6*lrrCg`=dnA)Nkrih7ql1M8}nYw9`NQ&~jdpeS) z)APEE;u7>*NfIePbc)a{V@+Re4<@iGjFM)pJC@q5cnL+^Ea@j5=b~~FDglTP@LB^H zldl%sNmV6XyRwrv?@oP(8*J!rybBm38@>K%bGF73X07#)71?z;yl5OKj+rWJIjy_- z0)sb>+9qQzHV25UGjuf6N2aI1l2luHtvtbIYt_cxzCH*O48`jNO_FNOvAni{%$hkM zWX&hx9}&$mSNxu_M!MVDD!L|~wNb2sX! zz$-;mE4pukE1*Xf>-k0a7w5W-*Y+!c(c7V}V0xd~A@@uMr=fHrD+!}WbD0YE-x?Ep z(v%kqrs=bj9h^wo+YewH%gbu@jX-DdTJpd9`U9)!V%Tic3JL0E2=NH!P254~KY4#R zK^0HaTU;lK(cr?5YA5efxD~cI8=zEnTFHqU%267M8KMQJ$lDEdCG8G~GRZrwH&E#Q zoEtm%yS#!tCP%)^m0V@Y%hcOkj^;E0lVc@c9sKedimzC~Yp2V$;rQy0A&(fKhimiW zcWpI~B)zHQ(h#0-T}enj4gOrhjOtK0hPiyWyes<#iROMZ*QEYScH>dR#TG9uckeVkx_1>=+2NDqmC3?){{5bZ z{OwQS8SifXIVWF%Qj-S4QIyo@%9I#`cAcd;xKr+bXhh|Ov zyKHuVB^JwOD@KykigV-Pq$l0NP&w^{w2uxuH2!d!1bogv(jB(4lyUt{9{lqheH$pe zCemiy8&o=eDi8S+F|QHqF$97vuVm#=rfqjhYu3ByV$EtLPDIIWC6ECTe{x2Mk?4BO z>$^>x`#wCPdow4oFjnsGB>cGc;^a3yZnkYcch8_U*5(HFhf}w4^-hc-7IP=oc2p&% z=K=KAzP+3uOMSh#5G70f`k8`dYpA9Whn6Tm*|@KU4&C#=(kpg%S#T@7mn4yFO*(6t zbms>|HwXw8A*vd29m32oJ{?-NF<>=XG>Zu3g5JnX#F7iCgrOiCO%<10z zVpbbko*Z3K!@g_zAUReSvX1+d0xd5AOg6SL*J;%1kDCM>sY2vp%5!9CY|@2rX7Vy8 zG~rRfkbE`^F%pIoc|NCaP#Z{K!fZ(YE1@pZPp%)4zxJLD3KYG_OxPEx;@C<-=%=6^Q8TYRQlhc(ix|lY48k`;(wYg}j1@eNrb#x}=aIiR z)|;(FiYMp}H>4HG(z!oHGL^U`OSV#-Ndn$|YtvX>tM_gtK|Jvt}`;glk zvM^qW?J=*ipEer8ixnA>a8O(TQ1;9CA5ysp@HCjR0vi zg>kR6-;UDRe|hOx$>c6aRm8e0s!OvSLa#jq>Cq|q~Aag8$N^raM{c71V7_Ii7ob@s+&khcg#*cG0XuLwSd#xk-9 z0bn9%v;MOQTvf!|V}-V_aroS7s))iLo)N`78y}%k`7|eK6Z}d2qKzCg|Vkx~~Le z@)g^V)u+m2d}qucK1cfNLL+-bqb4>|Y_f{ot+&6tN>O&>b61EOPhj1nMt~HF0VP@; z88$5`Zy&Ly)qFK_;P&fUa^2lEc*nTBLoBn*%wddej#*rus=0 z3g(()!(5^k{wb_4O$rpUvI)Ccf44EvR|vm7RKMOHz#c|#K9)a8E%GA49{+`d+>9HP zmjeQ+U2NYVHc@QdLQ6jPl^`p`#DnO`YaeQT%Yu%}(3LWS|gPOYg3vKT3`&R$%WFT$LZazkDZss1kQ!_+x`b)4%R-Ct%$^8fXyo-xo1;BaDsY|=3hRU-wUZ|xb zA%v%4nplq95Bo%h&sPukkEz&N8Kfpin~b^c&9%Nc|0D#@B>lZQq;+vPJu&OGi2_Vk z976CC2U=J?;}Y-f+6#N@rPh5B++N+Bi zic$3|B!;EraWELpwaR*Xn1rNZh(krviwUIY4~ZOgQlszgp}l^fNa{?c18ohHMz|&h zBoFSjbpK51S)G=)kd*XRcN0fMpP1f?aHP=_8BM-IzxY_h(PS#LPkjyg+*_}i|G)85 z>!H9Z+U5Icb;US?yUqX8p}L|rUT;4A9kp}(;8E5k6ZNAo1F7nEyl?e>+F;eX*!&+2 z3T?*;i_cKC)K5U5_2b&LGNVXKLGbJJ9T7M}23f2+q5tvn#LNfWjaLvj$&}Xn^oar4 zjmslG`t;H4!qWGEdutx4S#>2(fc5<1AeY&?eQGJdT1J+he*BirRb1q7vf9MK9x59E zq3D@l;VIKRq@h-)QX@YsA7ud9DOgf-ac$_L3T|CGb7kiXsGcA zx5q^4m<##y_OpyQX?*Lz zX12xNin*&Y?)B~Z?5T#(pID8R0$yMaX?*#K3BH8pPdNfSU3L=X6)tD$Z#*>lgx8)}^ zr-A#$`%Ca-I&%zPy^pWQCSGI1K=ZF2I1&3ZlN*1+b$jEV$N@f0vxNf5#C)5cTuI3r zR3A{6zq-1-f+rzXW1_`AK#rb{0V$o0O@nN)kl>bOMYf+ygegi9xTr5fa$5b)o7vYm z)EL27XslaqwD(u^Ia@(&D#~z0=f0oiV@cGHQo^+p%IQicFQzzbw96FXARft|RPV+R zqb*qV9~!x;$4_oFhj%u-Np$7Ce!+kDM1(aMtP`b*TYS4)L-^Q@rF^qEolK4ooeTn~ zHt!F3zwG2zervb!aWWGI6yak7i26gMr>VbKhi&F#f`J9jpvq@sp@zat+9v0kYF_@U zHYs_!E$pF1ySqK{8!r}*Sp?nMF(}g)xBT55>u_a($W20cA6{PJ&Hg`=JoZYu^qdUh zYk#VebTjScOIdf-?mfkp_gb#gR%FuI$GW#pTObO(k{dA;wdH#$1boZf&vq+u8akS@LhWBJs_R z3;lmZQPe|bzNbW+_y`py(3CFT6SpA=t;dq|Vj-fAC02-ylYohfohqW}vZmfSRchF8O z$bJ5ashZW$$5|u^lWbLB=f!hg{h2Pp?Yc#E=ru{=(w#26kBxUGqC~Ww z^tx?YrMUk`->?20QqpB{ zBUj*8RE*Y6YXR2oIx164bY0}kKjR(sT#2g~PKQueByfH(Vk3j&wmn%cOOb% z@pAIM+W+l45$^E%H<+@tL3%h6ad7jNPm2X0=&xHy{qK76j4pbNgSuD_lz4HqoFv&k zmYq0R$~nqsCPNOKJt#`@Y<6AuQR4w`In&EBpvIEf!5U~d{20;w_naY|F5aCVSNpvv z@;g#U(P^tWsQLIwc#IC6lYA3hJO>1>!Do2ra%Hl{x+>9e`-WSl@_6kHTG~w69v!u4 zvFm|TJ3rqak#ecA(I=ag36Nz$G0*_7$_!cnu3A+`DD+5|mJZ}n5Ab60+S#UxMPP>9 zQrLTtGULGd@)>$s-WTmCMnLRY7bJOFJUBNuW1{RfckVBbvz~|cR@Uq!wQ-a$LMrNP znbh#OFc9hFv$4PgSVSOua4npjZ#Qy}3pJFYrIh_t{x65>j3Bk%v)LwXs4(Zt z4hO-_K$+;>$B=a&lNBw=uprSymLF!Jq`QHtwxOq?4x^YmvED_WtjpI65gX+tL!>-o z);wufQMJm`j920E%*aAI7HCRt1!@{#=CKAr2-J0LYk82RI(DZz9K-B0R0tB3Zhk9= zp3xWIuDmLz70;NeBF<#;Ek)#Jt}5@Mu+fXvF=^*Qou`WyH?E*)4H|$s_dnYgKM*Q} zd^M6MPD7>PGx*#5Aw!bxfu-}HgRNk5YT_X6CmjSWu17mtX|k*B!h`Y8Y|&~3OAZ&p zDfz8mzE0&|#~gwn7cU5LV>4CBx<1b{!{HSaXy7c3vBp>y#z6%?ZUfl#aUek3-QJb; zQ`s%V+6**i=)rh>T_w8&2@rU3C1L-a+=(OVYry#2I?I%<(;XhnfhWgeqHLMCDcYET z_MA6Xfy7z*H@onFjNdMHhCZvw%FS-}O-N!yYAw7@@bK+(8hnXaNOfcj;f}mg1noq;+=`4E_!xqWU4uvT+b!ho3_(d$Q)tvyi5!0Na|l9Tv7_MCej=fx%n8Q$k)lv1dr zGNEm;iGmt3!RaS&<9SG2JxiF6-kMGUX(izXn!5CkH^p8S``bSAQlw| zUOLPZG%viEE6*)G;)ZQ^{E@FO+_OhK4%}MC%+Fv2SxqsnTlfvXBNvZ31tX|__i~~}y;yC?4rywze`r<9T3e7d7azJ*qeF5-GDX%C zW+?^?RMI!A20_rlh98O%?kvV^saCWn@`kOcy&*=bv4OLY?}xYKf1}CEvgcD~V$X|e z6vpv9*3lrXzsL2X?mz|fk7px|%$i&+NHImRV-uDHRrgETm6vj9vUGQj4&DTet`B_Q z>fNEu5<@UiGFE(lH1AP# z5^F;HcQ2c6`l$u$p)!k-(5r391U~!k?83+aeo_*cSH(lF4&(K0Y3fNsP4bn-TAHEJ z8VAgmPX_(TpJ|O0yX7qPgUQx9;z+FReZ0W3ALhYWWexxZzmq=epbU_+er%wNHhWS+ z1mRfh|BGjCngKNJ3xt8-MQJP1hcgTR7rmtVeaoUwD;+0diN z{X{I-66z~-YO=%49E>&^2KR{4#lX zP}tFNb}k3@2>NHs&jVfKn?2mpjfgdyeEHCvRGq1Bk$m+ltszIP5G>cmGaNp0R0%BafZ*-7?9K?{N*I%jox(N+mPc zIs*6asfl_2q)JOdf4q{zy0abH^mGq0jK_uK@<6)cLe>E}*0WsND#x)z3K-I;K%37* zNc78R6+r1^dDh(4?#cPdGc!-A4D8~horhn`mNFF9G^^Py;1eW66o?@+0W-E9*%H`&l-fu3EyEntZ<(N|d*}*tQNAa8O4NATD26 z#P*lKar9V@a91$7XB1D$_lClHiOM;m0T{UNrP!Twwmn_0;Ni(L3Q-UfCd;LRYjBsT{zwkh-adq2glao7EwgNP9)Sb0EXWuDbYF=;jMzEm za0xwmOS;4BN)ny>J^8XvFJqap3PRR130xmGHdx^R_4d-GYh@e5SuGF~E`(TtILfxG zgd5*FkZGxPBux<0jJv;$878$4Ww-ZD%!|o-m3HMvr{@XkM*S3lhe;|T{zEM_4*WW# zDnDNM^4_%U7T1}0Un zi~+fcHIoBr^^6*A)iGT!w)nT@w`n@WU%=r#;J%_1@z^Qm8yFUOkm_JjGM%q`SzPSU zK<%HP0qE3R-_P^>qZ29+=aANHHa-rU%Rt#sGQ>8NBY3ogtBWnXRcX zV~2pVzju|5#%INV*#)XURKt)1z3i9jo}J4(%tR^)rOS-egp6b1z$mo_6`{zdX^sHe zJRc!+kgA=&=~6P2kK{|p$+tN!h@U4IPZ7zz1~tYQ~#c-ic6kFi0rC?iW8j8-2^k5{ILfQ zQK2CPR+>0=lK6-QX|bt3O-F_)m7q~I4L=Xf-hS%-v4PDrJR^_U+T=t*se4W zQYZe|gR(n=&GG+Yyee7~yZLYJS~)R>HBDAQiPoCfYdoc2+KUP;;&QVkuC6A9m9?5W zi=FLkjp|SCT8R@No`)Gvf!Rn&%SW3az4}uWQO+bNN zYj$95sl=U+J0X!*M zZ-SC7;KKn4)JXeK`05#gSnu^&IicG80NaYxiM<^tZ+cGrXQJQ%gOzx<5fd9{()&X4 zw>MczMptLYlM07k5%oqj+eaum>!nmB2Q3Ny@eX>Q*DIHh?i{9XGyf5|YBUjx2PT*$ zV<~9sJUzN_Np3H#7+I}C|De=X;wl#C9p)T?5axc_`#B6fL`b1h82%D}JIe9xKMhW% zd$8Szky5P2^dBUqKf!>?(N-jw$m&)1?%3HxftgLto~^BJ|MdpPqQ@S!ktp^L!&q8L ze5rUkg{%3lDhi^pj>FQkN0Fz-H{18FWswJyEOptO$vkPClGWbqx77k zS8b~1e`ncR`+|?Da3OWY{Pyj?E?*rg=Dx>>~va5L-4%UMs+3z5QHR@2B|lb1i6b;SL& zRUvpgR0ogQWjTk{iBr!&Kmes|?F)@bGmf|RK% zC1rG9H!oVqP2nh{`X*%j`FZ6W9hr)QMoNyw;JCraMt6R!vK(wbS0D}v1Xu&B<#>%1 z6OXi6)7$>W&u?!|l!fH1w`I3A)YawXPC~@^t1CM%&xIWtjXLL8BixklHI7hxRJ_y4 zH*;JI=f&ep>OLNNu;~;>as(mpK1$+Qn*$^3>o2E;-d-NVI7KNT83vD`8dg}<0P3S@ zgmv=@Br(OmeM#uHhrX)<{C{%C2>x=e82c~34{_3Pj!1B+e0!WtX!{j&oFPz;I-A@l z;MyOCtW{FBmH3Z?=g;@2(S#@n<)jWvLgy{3b;UI!);37XDf;2wn+i3TMwMr+4cPyo zR>A*=z_Isw#v3GtZa!9)!KHQ&;uv?OYmH@T_z!nmxF<>B z7>tk$!-K}aqbYR0?UfGd8J$QA0|Gqa4-E0A%fi1Z!fm!#Q2&H>WaasoX_450eVRbAS9^dSOU` zAaESftS^q)6zxpVOmZKqKuVYz$0UMH=do&M335DCzh0YQvGMR>9X$omp?Cm6K)$~q zc%)`dS|+ettIefg-TeCK5P%GP@;IF&u73j%^QQIJg}nW`qg+47!MjlSO`fmLN_{+yDF;kO{O3ZhMlF?VS_+?YbLcUAJ>(m zrT;~sJis27x48p@0h;2*2L8&*lO_9qv&`ezp{#;KI#7$u?~qG#8)FNPpj1tuifuA4mf#6$Pv z$m0M9X}F*N-CcDLzOJ=Y1+lW0lV})(C_ms|w>(Yjg4}J)@ee1ezw+*jX)-2LLlA81 z_x-bGeRYhoSu*C0fW#2`;Yp&^<@wzW26}~UK4si?L2LYPv8#X>P4Vt?leCbi{x5=S z!}0O^oFhvcc)O5#sv(je*qh^-12W+g`^kH5HS`0Xq?Rj1v^nXfCglnHHpA*HRKs8X z-EOM9*2x3Ywc2+7<1L0Itkj#Aq&YZ_@szP#veD(tMS^B_qbJ@4oOs3KEX9<`+pG#a zb=AD{C(85HfFBUdKmo=28;>TVC77+0&Y=7hTExZP@Je^LKQoS(?eqgZ@@5k68i1RpUpYlbkAM z;}x7oVXt4;R2R!N+2_{C;#ocQE)Se0w##JsoXNRgwg?SE2tI$JOREhvMeTI`E^Jsm zNL#HRWGK_ChYx0ZF#EJkMfFcfK$Ops=A+5-a;@cem+!bIWF^ho9GBh)4v2tU!FKdIUc#>&U{z%|1 z66kwotKb@MGHA9Ch(ypQa)fx^%*F#KPJyb)#V*Q(;4QU*P`?}sI9=q-*u??WOMO2Ke{}s@7;otSq3nn=Cm0;! zsVpU80~blS+}6hp5>WH&01Zlj4V+NCr3GQIoCTfsc0VIZCTHU-EcSB*nYK{a18e#> zSD^rYIOET%17VpjM-$^m$>WO(Y0&^jBhe6sbc(B1mA7jv?96G@OHmIBam)~t+#krQ z?jj3Z_cuFPq!7L9IaFh>?9^K4W?{GnU#jxvu$RuTHxQ$+D)1Q zm4P`@yWt^ChMFIb4CK2mkOts(2_j*;Db;c@3it96%vLxSz+P#rbA z7_Vjezh>~$ddB?EVa?l-cmPvZVt4;zsDu~E%%M@ z7@vch-+K@X6Tu{97=qtF)vme`Wbzk4l_1q@B>;i1kXn}Hb(<)V2MlO1L_;<#0;nQA z>%4%s&(BU|uEv#5klY%0t>}Eqm4m%lvX-ZZDYaLhUXcIbgsd0bNz_vn!pUI=cGz6# z%=-Ip1-8bEK^yqe4+O%9LS#UwsT@>)pprv}S|(V~^)_~>#&2VR`R)TGd#K)=)ve-Air)PPn_Q|hr{Dd`@=71Azf*I=EAqoqA~%@weAjS!-rgg#lft~} z*dw}S7>XFS&x_qv0t?1|66HrX&571;$A81%y-c6Dusq(kZhAIL->PCNE7?g`r+aRW z3+L1W!wSdyU_{BkuGHB3CPLB!8D4}VSg2wE7XVV(_e|p@&o*y#olTmuw+v`AgEm2p zs6SAvX<{9g0Ikv^c_0WYeOH9bw9jn!16hi?QAzjhSTp%>w38Or9R~g=)x8 zttIS~NI!X*9jmZ(xiZRSN~1`S%B~KUmp0r{#g2>)H!xN;`?4{lyn`n$Cg6NxK6zp&x{!aV0ui&9`sLH&I=n*AL77IR zNdOL=q;*GNb|l~hoY&Ic&;(*6U6JoU>@BAc__t>3BEMb-v1_l>27!qT)d}1ftK9>9 zuo5Zwvz0?1ipVlscV`wAJ_+~lNixwOeUauQZ9R*k*6tX9>US!33b+QzSuZbXG}<}b z+sswo9Hdkooc;!DHJd0UEiExB)}5EmysMP1x1<+4H^rGo(Zq-~wA@cZIL>~W`)@%} zLc1a66DDe^fzhea0^dx$8Uww$KtqiUj`#I#PfK}(A93NjbA`;VG62kO-AXc>kf1`0s4XETD;pW+=gaE_vAE{p{Fe zMda3^$_G|LWCj}oZXj?C6(XE`S_}a9qpJ`QCH!K3FLI!Aps4>gxbX5bAcmPlX|Zq? z@Dt;shanNJgQ;SeHklwT8dF<9!0j$k{G$%b>C*R#;ET5J!!JB&dR?|{ZiiChp}zR| zh(SMt&kXk?Smo_MU7H8S=9|Sn2ogZmpRtTOoiU2qkD2V}<(D0Yng`E~sMR^z_}ag# zDYcF(Ok@U8?~^+scFtsi+qm<93FX-v<1Z&(5K#LnBiio5Ox~Rs@9zha;%S`4o3vXv zbFiXE96vJBiVqiJRj|D@QdLGT9%mS;Gv)au@+g@)C5N|w6U)x@(cVEG6G1&29%dd= zfF3d$$6=+D4$<&Yx6;xOqHJ3upfwMrFvSmNxwUdzTw!X=vpfFDj;!-;%tI-dy8zaqAkaT2;?ULkw#l6EX=)l5dGi6Jg>BEWfQ8rj$*kaJ880ero*Le7f*% zw*ik&eC7HIEoxd=xaKi*F6IA{5{yNn`ildBS=`jlmuarR`mJ#4lK%YwIQtXs+pGky zzY>g3lRpJqm#+zJIt8D%3x5alYt1A%H4faG)vt@)Y6V^_C(E%CR1!7v`%@Qe@>JcV zkVLzA<+i2OOo}7LxPWkY6b~$fQM2TqxM2I+5pPJSK!)QdmkJVeEB$fgsg9Qtvy>du zR>ZsB_ym{_v+I*(>d&v3@*IP^N{?Ni4!^{CUF(^zCyP)_!iQ&KR=r<)YlaGMW>4F-5N$n*pRNT^@!@P^r2D-(y4pNdI*KL|I*VkXifhzhua6A0Aq9i!>}2#&U~FDU zqkKCWQZ|}Ri9gKkQ%ikMw~UGyeM`J&I7lh`{D16SD}dXj zB$*jX`oW8Z@dVIX^>52V^y@p1#{+b9A3f&>a(~UW+<$54I>eDAXp&yn)&EJ^>ThYk z>UA_&C2leqhJOD(t0VMqH(Rk>z8AL+=>UDv_NXv;=!q=lxP2GFmj^UA?uGNy-D~S}D2TWtx2iZfUNtCx zPbSW#*pYyOVA26ZesO|?0$>;8ASu?(X+of_`qg&k3+vWF z%HgD;qjut^XluYuEaDe^Di;n>^2~-<-^@)%eF6mnNbbF(hg^}5l^G~?;}mDuPoX;wmyAb$RQL^pWq$b z4xfl`u0PxVhL3F+&&K~J?6sFFU4Z8KcR8ZaNhbi5wFv-ljnl?dlE*SHkVO6pH;@3} zaJJRlyxMS?{`x0QBEZPI|D;#;>E)3-sho5($mYk3jq^|GpavU747=M4cx8BM`IEMp|um&rQEYQ(!Gj*l13@B41lc>NKWwTLHLcv{~*D;#| z)&1JM+{lY&5xN{DTywthPf@~wLM$&fQN1~R@4PsZ;|ca*nLC79 zIs$~=w@%clr&4(M9Btt5sSOvJz}Kr%jo4rdw}xC}-Z(6+=NTP06KdM|q?_}1o2{Th z(r}myLwGT5nH3`f7LA_+lapx!)|TllchOOgb(DzT!<)YVm%h!?q-4%^*D8lU&Y`i^ zRtrk@9}*^?;)nYKm(R}FVwdga(B9j_hR8f4S8Y4)yY*z*;9_GP62EWk@gaPLw~*VL zghYA|u%5WHjvQTUyT2&%r6yF9*tNi9JtjLksBf6MJtYAq8Tjy*earScfq+7ARI&^-T z&Yz!~(Sm(*B>i6iLxmdLud=NR?#f4DhWc_!6Vy-DfPr|4;;H07NQxqSyy<)*TYDh6 zkxt?Ah+=OV;V9>n^+8jNRWaMqAh!~ZTKJbN_S(3Yf4Yu;|Kri` zFePbB{PuE@3u|;tHId%7yJW*UMCv)#9n{=@u!RqxEfe6)Y1Er0WyZ6Pa2FeY| zr{h~zS{ztP-j>e1r@-r<(n0K^WocP=A;Vg$1sT*Oe;J`;Y+F?###M&Vv;a$;fn9yTk68*j+m=4tv?%8d3C@8)Lm5NseFCJ-v$m?EvA3z@IDP?=$< z>Z0?ZlZAOE#nEWENKUlQG`LSsBfPoIXS-d!JtOK}o?n>Vw>m><|Bjyi59W+@l0cuOCa}O% zPc4CL>y}o2Ab#TRPi_P>KPQg`%8S)1*>2aV7N5Bb^*t_m-f_>Q-)DE-_PHeq+wbP~ z*5v2j1OYo254N zbj$EGPPy80p&3G~f+^9|O@(U0jt&=1qL?`%M7HSbL_VE3Ok3s6uAR)~hM|IU*xt5c z9C#a1LdWPmKRGFIXf+{vNZjdgJpfxR{5-~KwOR|ydp6`9Xgt$Wy9DXEgz-~ctrZLl zTJ7U_Ww_Gh> zjxOZRE@YMdyF*P2qN-!@mQp#y9#SydE`VX_aD=T*G$ufEHRCf~>YqW-7j20i;Fi>R z+rqohT$RyW65K-`;`MkFx9|OIiiz&~yoK2?z~QyK;QZM+$v1kcp##!jeonq z6fWTR;_JjDOIHS(cH>pQaSXKG{-qD%)S=p+O*GuNVLOst1St5}xCPpqb{qK$#-e8^ zxPpM?-`uJgV4%+HoQ;p&FE4xgrxg9SQ9kO!arcVrtma$^lR zAwr*rDTGC8tkLAekdC89IY))?o6wlBAfJV^b7z>%lP!#?WO>~!Med-)AR(^AAVt+4 zh0FCwfMP~Gh`g1GTD!t>Ii4(AIO5mJ*3g61$Ke}`J|cgmx`uzizMVz+~J7Hj`ZmcyCYXNt{COc4X zh4jpYlhJcrhC!^DFf^Df;?gjHgz8`yPw^$4tMu>f#}fsXJ+Bb3?LJql?|c3Lc98g&4K-=LI>ZPy(uyY+ewMT1>=s)}qy@H6e+l z$3Pii8&65IfBQOn`m|Wqq4Qvc?UN!Sy%fN(As|Lcz0~+k5zf?IFHbr%d!z9;HEqRK zs^q85tIN)}aoejd^Q?mzvbQa4!X4Q3yoyn=#h=hy+9p1@(7@Fat?H585<8nR+(fG%bNHpH2HMR?_9w6Ddq`~_OSCL?{#-D z&j^LYYR{M76B@y{_$sv~7VMjCj@a7TyWhMB`-Jw;RPF!edfNnvwwseeH;qs?RgfU@ zE>W5w`y2S`|L@RF7Cd(IOAoWxZ6lhMRkRZE&DMki{m7zU)|d?iq(<8>NhnT@PrR~= zJj9p-6}@zxd{erPTVnLuQwxVk5ZR{7%a-`p2*shi5>%pNb5?IqKRrjrkno0;Qj6sQ zjelHKXK%Mqrf(B9RTZ)t?ajZkxb_M;R%!n7IfCUW21Dv~BUv zN6)~?sQAlKmK;|jE!}^;k=DN61~Y6=*ZiENW4HDL657aab7K0VJ$kmDLK0KO_Vdq& z_0GN-)$6U%v5QI8X++Q%IP$U$f~B`Xrhk~yl=_WVSD)^pSg(tRTy_?4M#S|{ULfOv zkC`3ep96yFBB~xO6?b#<=G1S!0J1!uI-bo*2-!Vkj-?4cFi*bbqWfTMaRNtC4h<}k zco%soB`|Ud3!IH5m(<_x6N+I`k>`^Vw`MYo4o5GR$4?Q+TAGdiP?XH z$r)-U(A^$Sv7^q;WgNimC>2({#-_%+?moQ5T#1G&4o5TKWsg3SmA#4i%0#L5xg^Be zLeA^cYZ4M!7F4!2261sR;#%Ol#$?XqKxO#@dp$*Om^1aq=>%_Kdim^gD=G=@J1Hdd ze|q+RB~-Iwx`bzc$Qk-QVc#AD2>VDM)#~~N8E;?bQi7UKeB108Q5Xqj!irGMtA>y? z{9CE7J-MUHnRf;TNz?OzdMm4aC+i(&N1?MIuA|T*2&wHAuCKp56w!Z#MZ7;UHVM zIKDS0B)Ri0M|Z{tww`ZqUzGK1zh~S!LrY&qhWENnMU5*F69CfS2@pu>FMVBI%-kC& zvN;)%cw9q~UjKgXdj5=fgL(}Eu}GgOImIbC{Sl}PLq6QB|asJOcStz1}AIs$Fw*t6a9DgSDrm25@0W=HCWUgjJG7 zdZgCJ?PWBtx1#xmL8S`dv8f#3vb)!Vy3op5ju}9!aG;ByF%*QKA*HA|O`hp^lQ>N5 z-XAA)eWz>=;~GT`m8cZ0h2bTEukqDKOG_W5h;{G+kLyHzN3L7}p~doakH_U#?Nn6) zL!d75`|5JfPHB(|{^POqi9}tjxE?-{_P?VaW*R>eVu1V+eaZ59M$PF>%&Rne(-3Nq zHkVdoUj0tzubG7D;xY(4mfI%tCtZv*#J(%Z5UP)is`Rd~jjsD;0nItu`w^&FODkfE ze}xMcQ);c8Mh}J#xiFk8y}*O>RL&9ING*Ad%)scP=BvL9B5rrzeB35!NH>GD{+HviAVpb5oree(Y%$jEv8Z}1WoHQ4C9hN{4 zg&HrsKA!ac49z{$C^)9;!9btPpg^aHoE@W*KjON=(S&P%#@|`SKU^7XyKK8 zgmMG(RNU@|?kurzORR0ClGMsnnkKH%bb+atmDaD_BkB#f@w+B1H z%Xkj|j`Dg0LSfk%q_GlVp&Oy%8pdN}8IbJ6b=kur`Hw10eZ?uPm;U#sXq`LT+wo!m z+qIP>vdpN8`k3Td?Ei(2;4~FYf!N$EJZYVA$;I{17(ab0GEErKNDS=g<3O(HTBxq; z23RtkW03!XS#N-#8r_wLMoSxF0kP1cp39btX=ip>XpC?sJx8!ycm8#lv1RBng0FiW zW|#K34T=QpRoPB+9w&qN%h{TyP~D$QMBYY4EO6w1k4MYm$DE$38&%B=Z)HFJl2Gpk1LBy|7c!(5E)rJuV4fc zOT@=$XeCUcJ4s=jfvkvlorfjJiNV5D90xf`{ijMut*V{xn~*R&-%S{jFDjzzJ~;Rf zf({uxZHa!`Bz1U<*#Oh^P7yG;h_8-@O#8E+U?W9j( zP);IlwAjU^u98{)?yxKxK%EVh0nz(DVjcIL* zjX$yO+N)%ZYitZWRSx(5DXERo?T5J9=G9V)L5#WfI)1w0_h#iy6FSRRv8&g2oBqQY zyHcb65o6TRBFg0L+tH#OC3s$;u8rXe-pJxOAU9pB^H{h3YB;>dn>d z`U|{_2m;2R^WAWQb}a#H!OdmhjeB{##zwxooBk%N`VJcze^TouiUTEa=ig*@g9>0G zk0R@OJ0;R!YIi5Va}Huj*9@A7vkL*%aJsPfqYlG#Lyt6C;T#_P(}XW?jf*~+WKS+N z=M*!j0eE{pYqq5XFWPKLNh&9%+8=8F=xk~pq2u8p%zAdb9ekKx^7kPZ62FB==KU6( zo8#sw@`k#OtO{1ACfj>3B25*^w+AZmkzfdO`wnHee|p>{d-DU5W++ZCFHGoHwT2H! zu^QbrRzBk1b7DCJO(E9O{4A{ zz8d6Vxb>zqmqz-VikI{xkF|GjNC-TZ&IkIN-c!G9jiqI9*GFzNs);;2O*-BT)81~b z+S1~AyVrnnPpwvJ;skBG0`%WcP*^+`C7A^N{Svu9R+wFC@KpF(f=?HE>UiaX!Cn$D zj@!;7T&WF4!QIy4sh=B8*1D-Nc4%Zq_TctV7T9byCE*T&7HM{)xQ+}fLgHy0{1sjF z_;*LTnM;g@|B(foK9iu=wR%%Qh4)uUcn%2MU1O>355RTP@h{kJ&@g@7%8f!>j*pe< zJ6HR40r-uxY*o|e#8J%At1Kv}xj8d*(~7l%mf80i5v3S*poVFUC8)!jzVXjssvc<( zYheP})m7X;!UuOWZ$EW-ZTHhpEDe#j{*wIasdKorLLuTlX5w>u^!Y&kuep!2$aqI7 zCbT&89hI|)j}=-6awhAWCz`L@gAkqqbDlHONYiJR**=a`9mT<_WE;}usj)OEmD$WG zWH;`KRQ=(XbeN0PnrtaD@5GN!`tWQC6AKi*wAl>T`Lcw%!X)FSOSOK9uPW|7AyJFM z0i8jxQ)Oo(>Y%wnS9uXzcf|0==xs|2xReGwG~4dG{S9@Mrcm3BD=CH0 zb1KjP9Ee0POPY>HwtW|4v$7ZxoU_MGaOQ)-!6ZGH*mpoFO~oR)7jWDuN1>+?7*$xyk{xYMJr=&3)2OlECe|Xa^N7Ww?C9vh;*26IF9&pU91c$ zPl^sHGiIC5ul&i>6&9W>wM$T-Q-@Poe1et)(FQ)&My;htbQ(rOGuWZ9Juj6?Lc%eC z(1{8z@q4>adrK6N-mjhZmZZde_hUdhWQ5!XP0Xb-PTHaN-9`?% zvQMv%!YAcN4RFz_<=QSTU&gOOnR_Zro4I~#E7zG6PAogk((F0g-|dN$uB?4GHjlsh z;ts=1f8CaNhQk>&{=9p3DYvVHiweM!17&bl`-ct96VO(Po@R2>8X zh0X(Rx@DZ6E=Vxh&@m%#om^46(g**?(NzY;(QMJhU4lEo+2HOF*x+u#Ap{TZE(z}L z9xQlp_u%fbxGnCs=;M1;(?6&C_LXzbnVRZW90Pe{$cH8=mFxQF`85mED5@UFlituN zYV6H_E@zD6R47gjmN8>)Z0bkxY7ocri70Z-SouxneWFHfmfZfg5+QbUt4+pCL724% ziBPeyhN&l)Vng;_2FsJS3Vnok>359)QTREoGk@iEbv~9Ke-B=i#)mZOtinXR1f~tH z*m^t1L;vh8Im1-W3WSyvI^ghRpB&v%i#1ZJ&mK;W<;2uXB2icyY8JK(vsnTsa|zKp z^g0@cB9wzq+g72u)&37#^+kY%o?6a|%7_0>#hWvp7*3wi+4O4~prl+Ie$~#nr{ICn zOUS0&M*n4XrUc_~lLQ+@^*x24_b}R^tvXd>#Z*@|F6#DZeb3JvQxpFmX9zAS*$<*5 zCF=d)wY8gK*VTxGqIG|$@PC){+;h~hclTw2*_lb3#9aid8A&sX**Li|C`2#BaL%0{;rIM8<|kmA~z;(zIC5 z+pT6ieiCtUQ86}hPv|fJa{s#{yX&x#jn#mJad!LA@fZ11={Pym)Pzm;iyZ5=n2n33 zC^{1rngE^i0v1vdSZq1WlcdrNNvN&Rqo0ny;?K19gECkCuwJPWTvEg->S`kBHVXRk z|47v6w_5T49?9h+QVOoNo=aV(K4_Wu6mD;b7BP@5(F0KstWyVlG$UH-4mv_1tMlM6 z_^fBoX$|GiRPSXMFmV&;hr!zDvc|QY=3b|wRXI)7UfD%sQ0hOQewbd%tYHrGFrZP( zT(q}pxG_%?q3Uh=I``jsFlPpfa-KQ%O9`AW0I^Ey++<~uU==*pr*(Jj`3!SuYpnG* zi}Q+|lTQ<(uh{}luIH_0b;AQ|C^)NYdi65->uLycdMj!rca22|y7emcpB+>4s6MY6 z@E&(A?qzYEQ$o(n6Ky0+adDQ0A@s`~_c>f#7W;g$uM{Suo(u5Y(rQ6m1R+!Vvx%}g zzHUACxnXT4#RuY0l5S#P>W{Y1Gg%u+oqn?Xf@7TiSozhiO$i$QVGrE*ApG(xyA1 z35DCzg6Gh@Q%VaS4(U{QUe@v<;1xhj_3i`)cv2a@Qd@CPIQlg1E%* z=KY?6Y%wUan5(*ynt3xBD2cDsmVTOKn9&{lMK>w{S*;`1*6A<5=Cz4`TDuh{>6QJQ zkFvg0-27mH0`Fazf2s}`ySh(B<1Z|yR68-W$zr9Nw7A%On&*~E)OXazrvNd`2TF`i z!5`~>*KYi-?>Q8WbzXo}Dc|#6D=AJyN#|g@g}~9V3=Nz{GmjdNbPJzlH~ef+obFJ&=FO-l(#83>%kkh~LhA2fMJKM# zu(`%p`h)tZVuv^~uhgXAaukv>J(crum+z4xtj;PN6ajiLjTp@JKn;jwZ4W~@#dNJy z^~pJL{v6jx&f7o-Lk)Z6eeB;=X>TtdP}M3l=BRN(-qLv9vD0F~xhS(o<+gqZuUL+nC{BB3(+cmM3Ptvazm+XvnVRKX1V-yad z-JA}0lP&&zo>NdN&kWw0r)$V^8qmpdT{xT@U||Li&)D0Sa+=wMmIhvP6z%5RFJ5=G zG@y@Nx9~W)t8L#9S82W6;@gsW_YT89+W{`9LKRBJf606bTra>3-(gHh8P`cf!k*NA zK1|k>p%qm>ZVOH>IvTkqRUk>j>P8zqYI(}W*nL88e+m$gLT*)uEz$Hy<2?OV(f+B* z+mu%V=;K@Qi1snL1_g>f0w)+9Jq~!@W#Cg$;|(K(*nS+eHnpv_S-qHP#+|D%8QR@zsU}HG@da>3EFi0VCT)IvHD5S5F_b zNXs(K9eFG$;N`&)i2Cwx=4&qc7u+iKoovm@s88cmyL>X{jjmPv&0i4wVwJpwXG?qn zR@uQ5u-B4M+rvB3lPM?9 zWwKKr5H*m##xz98ylVHRZqjV#p=K?<e>Tb{W9S?QUo6e)OZJzF)Na@Vw| zHk&gvfOu!%kXP9)+fSsg+0W9n3M;X*zI@yQ4aR>!kJdk5XHb&S!^90uQdh6bNw{)4 zYkN{UgZ}w>uf?N+b9Hn0(xxC-g_v$kOvpG>@eOdj+@5 zCzJaK!I*al&zm|ow(?CYKC=lHNqt3qrZ6Uak?vluEqbw*3j+i#{ zOM=rf^djcM6ie9XtW7wkc#T`IOt=!JM1XRf}LNwB%V`!d0-Mlv}G!+||(;j1NF{fidomV+6lmaR*KxrY8n?vGhEsueK7 zRJs{IblR6H4bxL|Czbu3;GBQ_{+9@RM^jr9yl*MkV{7<+s*VA#%aoNFIE;u=bP2$S z(UFIFHb2a6`y9i6&qtVL5zj$BUhWi?YE_Aa?3QYHHy0=EKRR!Rd=gRu!*?&Xf=z7> z=IiP6Iz@WA<8sTW#cD(us}Ff-Vbpi9*ebu@4e(0gAplW4Wo(i3lbr-$A_FPD6GwKn zAB7mXULu@PJOJB^rKn9V>jnwAjIYFfUXG21<$|j;nmVk}wrT~n@F6N&4Lv(M9q#Mf zSEFo@y?OF1PcXCJ%@p%{RQihdF-cYgbu_^vV?_4#AZ=exPP4Er{{jrp{L@>W%$Gx}_Mo`$>)1JLC} zH0Wg=6OoWPwYY!Sdjf`}!pqv>FP7AP##c1g-XH+s!WxW-V0Jhp{boPd>hE_Iu4~2& z*fJBatJre;Uapy<*e*O-x%YUNVea>~Ehj;dE&Ntx@0BcB(;F~sP|Z?;+kBeRb~LI{<5H#<#*>frnu|8b6wv2*a`Kyejm5_lFtvz z$zwH$PPa{+gYEZ*kj+4>v)dKWC#G<~BwK|vE-bLgsmjzjQJKU@E~fPQo=@v~hk>xJ zm_yEL2s~cU%#h%y)GbfDIy|z+#Eu?lZU69r{E}Z9lWErWR<`Yx zkVk-EGBS^J+RVvCyJF9MuC3c^I0k-2+wLNbi6%=FIb;iqEE^(fpl>o6y&+atpu z7Mw{j@eJ}wF%a*9J89_3WVvO%E~~P?1H9gzH?bS{df2t?DB1bAVeYM)k#V#C+oWF1 z>#7Czj=8EbA8y5mQqmJBI=qLemjek)DzP`(^SEUY??E9ON-7j)&KyQpdMu-+xw~=t z<9m!6-kyhcZB24lduK?gI@b68+Pxr!%bHB8WJe;6-I6ItJ}_r@IJm)syLta19uHnY z5I2RCn##?`!PP8TV;{-G-3;!2+ohw%tYXJZdc2n0DNvlu?DA>j z?PuG0XCh6kV8nmpu~jgI)j)}#MDmB=h~v=cxbfpnATna0P`jOuBL|?m>c?;DjX|nD zG|NcyR-^^Zvs&84zU4%w)qt%c44>wzWPg3Z=y)^n3>qu42JZ=KMO+)pm~RiTNy(`& z4)e*W*ATInbko8NXL_v*aB2!JJI_RpaKOsMms~A(=f0dg#=*c+aXo1yK-bIsq~}f7 z+unj!io?^q^frfSt|=V~)n76+j3K6>jqMIfpL>#5-}~$_{Y4oS61D){D=QO^td)~xAWyfIHM2v>BACqIGB}Y{vQcg=V;>oyEP4r# zA(9q2iiExygc}QKcb?qOs#AijI#28_nZ!c1FPx*>Gk?18mk}gb4QAh0>I$1Vs%VP# zq5TRdq>JB@zn?H4E@sE~Tt7=|HAoGDZ?NTXiH%LbA&lw}r4)NwR)+oo_6Omx4Ms8U zGfXmXWzVzdlms0)56Y}K5yhP|d_&dMGiU|+f9#GHd!(YAV@U7HpLZQPsZrG3nx^9! zH|935_;<0T*KVY**1Onwmwe)^)$~WXVAuWg=M8iGB_w#x^f6whRZ3)snQ(@SE@?{B zokx6T{rZ6ZNJ37FJH6*SEk4H~<4`9ExqFTIypvLqPX2`|9ZrAu0 zp4y2Qa&5uKT`n0j=1#{AW;rS4&5gH5q=s?D2lB`neKAV+FmPk<9BqM|4=NQ*mPT>OD+TS4~LtI7fSklxmFLI_IK2&V^-K#>dTR#*s^vgyX$K0aAgt39NLV zDRc_o&Cbd>TS;GEIM6jW-;Nnln=Z0Awe1!c_lgi0dTQ^#$bjXsHDl(1pumh(QzJ4k z)B2Y*ti1t5ixw4%F*;aqJeKCis7h-0umQVoV_Cwy7#Y`w`Agz6ZA$kPMnoi^7O3sL z4W)Ta8LwX7>9UI1u+zvpJxmm!Y3r}adRA3WYBGQwcV2}vKH@~$o(-C%s`2=sySKMQ zM4kREq0@Cy{8+R-Zib_QiLHC!2g-Pvo#fD%jL5*}o6%e*0ylOz@Xv`v?{fPI_CD$e5G) zgfu$Cbm^ebPFm#2_Uyg+MBXM{^myBUKz?XG-@sxw%Zm-r>U$)jC#9;*{}6}E7b|Ao zJ;1OTwM3}lDrK?*!Z#10uH2#OyB;^THip^Z=!r-W6J4tjB+bjAKrB^4+3Wcy(d~J< zX!N1mGc}(-i&Mx9oXplTTy`f*EGEmz%hVz*1GVCk+rvz1^>%YX>~}lcARTL6#_`(=$5k|?g=^uz-O4Mq&?B*pZ@wCk z>8Er0u8+Bc6yCq)nFyROhEQ!RAae|(ZbN7ujMu1Vo%a+8;qYQm=%jXw5Adz?-jKCp z`_qj$5(i((pwYVRF8Ix0O!Izx=Qr5GdANh}GFqB|gHNZo>#RNT>8t}SccW`uBqM{Q z)UYW+mHGz8SvS4S~lgf}bYHTS-$ESazY+XacC0V^)=Pjvt4r_^# z&G#MALG6ga;&o4-S3UstA6>sLhFbmITy>sY-{%^n^k)_1%3wt{2T z>9Ij}=4%g^fxYJF(sv}=59je z!Y?MlcJ8N4F~52C7a9+2dn_gX);8iR^6{TcfuPHieyH6W8`|T)qO&#jpQgT?8)L^5 zT#zJ02vbs4*zNw-TmMbR9khJj)i=zL3*U`YX90JHxW0^f(+FEl^@n-FxbLxn*`S&K zxU_sTf~k7<)qi6=A(*n(am~rl?^g4jOW65&UgtiXDf0-6 zmghzi&Jss&PIIptEe>Q9GZs-{^;CQ!zaqwi7hx{Py6!%S4iXleMTDrT5}E!;kL_B& z;`>^y-vGwC&vxG^s;bIxgo|`c+K!SnLm#_+2g|^xb#NHoFCYKd74n&ea5BEq1k3tF zvDd>%{mXtP&)uHTDGV%sPhWg7KPL_zTNK1yFOHk_oqN1Z9y&jD$Z+g}i3gm%!)r^& z-Q|0y=TNlj$sDy#S4kh;3)Pq=Q@n&Mes%1_mDirfHv8OZA6wQA)c+l|pdBIeDR8pQ z>~NwWMkE8c!|)fFu>bhRvVG>xmxq@G@oIzOxx>rEz=8;Ok%XV`4*SQdq8;C|-wJ=o z%)33gJj*gTjcrNeF+TXDL|bKQiNT+}6cbAns~&~Pa0(b-6%I$`vKyCldOTG&T@IPV z0;}VcOB_ceinp@0)8$tt)Wpn!#X+sX@su9^G>IjXn?f5;n8|^kE{PD8h2Jq-z{@t1$5D+m5s%l+e&_QG!Pg2y zMdm|xGlv{`!Ir=RJs3lS864T`yE0yCtH?ks(V)`VV!Lad*ulQdp1?F-TU2Q>j=-Jw z?VH4iCJZOiZ(g3H$)8uhJrLGtQabkZfIQuO(XPvcR4~(8Kg-GbN+&F)@?1_y&wF4* z+f#^S&FEtdM}agQS=m@t!-98jW|h_|L!YwGUjw48zdA4MqLLM{y9@`xP?dpkn9Gh$ zLC#U{N$Tl`3&MS$;m$HdD}`Hijl!bmSFq1z1QY+w1#y<^qZPA3Z4lo+3*@jRlN}>l z7VaAPG0M&&6p!`Eb;u%aXTIfp&2^QpBu4D{%v?!yZ`bgNzrHMjA;%{qmY~A)@$dJL zWW??d6+a^WmeNc_Mp~m}2%0cmA$z*2H3shdm5+xDVZF#iyzgvC_*)W``*tI(_h+a0 zFu$heC*Ot_8eCdKezN;w{Wlp|$xf`U(k(vMX9^5Z;(=P8H4bRx>=ID~(cjyc3Tw=M z)1B|_XSF#wxzLZ{F9{GMkNhv{6EA8q$Fl%N5d`e%S!%{cr>L;gOeWqpt&?~LGmFl$ zbO{hh5NKvJw?5O0Z`6Ke(xp*ng{x)gCot`CqFFsR;iQr}7n)c^BM(9c-X%JcaRV*#A$u` zH1c6ZENaA(;!~yyR$+>jj$e7C(;FIt=c84>@_vCj_zEer{V_4nORAxx`T_3Sg%CQ; zsYJxVLBEB4qqlfxGsn@^xpn`t+0=91e2CGLjo1EeD7LT zokoq^E#q7{iE})*Btr;2f#_bP%ojC{R8o4>(Sbc+>kMtRwSlOxoy! zV#Or}Rg?C-((9^%#l}~=0BJy$zbXCRkYWV(|JaI!?*4pw9dE%MRgtKz<>=Kb&rI(q zj!q@8F`X`U`<^1Pox=B*JovP^aW`ZF&)?sbIF{9B+d`}>Ja_$JC)-P^R3XFryrl%* zLy7QrBPHNo1P~G6QrfCM;t5uph<}6L`}%A}jJiJ*p^4oKygvQIHO`HbMy4V_qq2(v zFI0cJe)h3j`TPmZM?2=XNJ??BNRRq8?}rKgXUMw$bud%)(zdSsMAmS}{p#ST{a9g5 z6-fYUU(v#kMpwjWlEGCkjv*qWx@YD5XchXmztwgVV{NO|$5t^?{L?7h@pW zOMQQ1G=~e`E)-+M1o(QM%;Q4KHTg+nCvWD8jYYR6YPG#xR0sK*fO$I%RP5aI;Dbr7 zE1W zCUm|R=>SVN@vB(>NEfsvNrY3K5Hy8{{bMD61<}%C_Z;a#r_dkXQ5OA)qVHyjU!urt zVJRCRGva1FeA0cLNy+{}&S7uud?xSek4{&_H^%yLi_AP)d zjgl~o)kI%>ZC&pzKmn5u#|8{DQ#qQves51=4llQhr#B?wU#Q94=cdPW*x%&E6}$9o zO{6uE=mDSj2&N3|GhrMePyU{2eAoD12m00qXy#ICKGQpS=AG`vO3&;h!yOy z*PqJI%~Wc;_Uig{>T^oE(M_`_Ah>;avL}LL7%OnMMUk(Xa}Hv(j4nDj`C#;L0K#(Y z=_kDRT6-7S=93xY(vbul-~U-gprQd;CM=$pYV>S6E5WWCPZa)-$3|KY*wWT&nZ&LY zHGAT0MxtKG_)yUVVx&>WR^K0@>hHzvFeyZ;Jx`_xUnu%tG7YP?qRw&@~?bg7lL(U(nHT8Vn1 zac?58j9lhpOIyCAq$CeBTAd@#lcIeHiAWANOKK}Shb(`ZSAQv1jev=WKGn9zTIt2tWSvPE8uszz&biaK?62!o#4HIvMxCK zS3~A)qgIOb=5am#)7t-`PvlJ9+nVV=C$cYh^C@M2@n(+3Gq_cQZ*?Jz*kNRrK8-`> z6Z@vNNB~i0tNQqJBDK?p$LMhzKZ=|$CaZ$hM2{ewJX`qbr0)5_f=^YeF1{dy@Dh5M zOslrQn=W7gD3|>?7?-Kzk7sHVs?iwZWE?XrVqdk}mw_iwIBszgbP1NzX;d69{&B=R zZ~Q2XPATe>T6CbzJP;I~SaY=CuyT`M|78|lBq6X2)$_4$-e>7Ytw)cr+~`R2?SlVB zs{eCh28K0&-~S4rl*=D5;v*&?N~8C4a{LbJV8A5i?*n6t`3#Nq-+fv%Z0qyW_wS2^ z&Yt@ZDl3zY=244{Z_&p3XphgNaP#T=v;0TpAIaEXuOMRAFV@utL~$$AsDc9BU>J-5 z9s4==g2r2uJddj&Su)-o_A4il55EO#b=Rd}x6!YROW)KxXteHr8HR_D}bf3FDkuXeGrX(tCpvpCw z_qU`Z;q~K+%4}Op>PkCBgt;3`ndY+t(PWMf=w;T&jSs$7F{!fnE$y|x<9jqgIyE*Z zhPkmZcbI3*JD6uJZ!lk3ojdOFMTyjPhVns?9EF?EejcA@VDHpcLCbOO+vd_v?Awyx zs`sRbzU%G0kChZY?x*WoZ;8t#BvMZc5R!U{($1aUTTf3Y#fpWAKQx$7VDDy@443{$ zO|O+)Jtd$Mn7M`(KnWLs92fQ>#pI1PKdS&hegQlBBJrvy2Ni1|=MX^)xOo_DkQKPI zRv%R6_q$saATr<3r1E}Ex8UD7spG&VOjq+xs)9lL`Pm=>N7{nSLKjh!v6}$<4jGz* zy$yp<=S^b4G6*%46L`B1-FV44wrloldeSh`8VsA>Av%z~9^a9UAJX>Lzy7C+TAd%i z!=XKky|vb$SW$VNCyEpz4{ z%dGC|L91@>ZL2e{GoAi*<_f{sy{fGCO{aW2klrOEIMEO@^tzN(5;^7WbXodHkHJct zHS{i{C=^ZhBcyV)Rgl6exS@ff#7`@l#({B(L_~~fs?OYuh+Rq;gW*< zwvWgz7$%U>0|0R=%Ww@Xh)UKZmu3LY7EUyCr95 zSshP-z7Q;nvv$uuJfFfwNhG1CmFl18pBr?Jgw~_V3I^ZYkGY3Lhm{819$gZ0ypDk8 zoiDtiRIhm|rQ`rPvik-TAevxchNFR=^pkq3fg7=X=j|P4Hd{wS%$?ioRa2MhcR55t zgs>8K+cm+MURBiDsaj)#GO#E^kaw+AVhX75jyYY?VXM*{UvAlC`;ZEKvunk)9Pq$Z3Dfvjhypt z|1&7vRkxvEO(XfCq|MF zJ$g%N!oJa3qz+_lxj`j4vTnKfTV@A(o>0;pae^B{!beQgO&@%?(uXaU;xw@@kPwn< zxf2<6)h=W~8a)%SEw|3H0*fO{=1k_5O-%+x2oGQ)b2Rq)MpqA+*?6)RQRP~*jeDuD z^-5s2Vr~c+z_J`CR(~RMt7m9{z6amE~e0&vm?5d7OCc|59#bvNb~&LkRUn zC>6yIFM6(pvEO){1iO>KYq1*j#7k3-MzV>HLKB&YgxF&(e?XS2xEev78{d2+S(6b& zU4ST17pYVTC;LV&f{b@6D!;2QtF2HWCohEoXFcOk5R51K*!>O%Ersp%=oDRxXka{@ z_&`!HyGyjf!cXeD!cqazz-kJv1i7wly^Tlu|NcpfzQyq7-th0b<>f5JQx8pUHmxip z#0mg_f8Kdy>~q`tAL`h`ZfqoX6h$h~y;Q+*<*Wk{T!9m(`4D-KxGe)(|@r{j2eJt(QB3ASM(0wFu_qASE&`hWBi^EqUwFM zcqvZvMj&T-tX&WELcBGcTIv}2^nOK^uIV3D zq|~ru&MTe8kvB1`^8zHKfTjw#Of-mFO|E;N&^#{pw1A&JnXWF?2xaG*gLw}XLiFBV zvFslA*oerk946|27TPxS&A>G7q@>=&w%wE8tl)s#4EJRHXuRio= z=FFSD(Cc(z*H84@cCp3&%gZsUs;+bi<+d;?rFO@X)frBU4na79Hd$}9WKVyn0ui0B z!WrI~3LYUL4fk;7`NV#o0ObceYx8d^PSg2)#D*k=A}Kw_5ZZ>S&4Ww0t0|so>!FBl z7KTpBT<(k+eXQxAml~oKNo!5Ko2#o{-Pg9iG2Z8GxlC+bHnDtfr%meve4V$76Y2Z` zxP!^tjFPlw`Ch{!XAy_Y=xJj*izDQ9yzDP|hr-a^w?9Pu4khQ%(M-RdNq>oC6vI2WDw}0A2hiHRlS{CYj^Z5$)yav9R3-ISNvBZ91vaRE;Z&MCL0?p_k+EiKa{Lm{0GvdmqEP(1*m}i zfNIggWwLE@irp0>wn`QIg8gszV1T|@QH$XfocTgn^+ zW~=2Sh-W%SEjn%}-##1Ua*z_zr7RrmWCLqR8DhLSN?^6|*BCC6kY#_p?QEB?3(9id zDHaKqIk?I#(vc1WBVL3@jgxO-nH5vzx<8eNZ+lEE$ zX(D4^=d5iqtasqTi-@XhTz}ND(&Q-mL|M9-+`{DHx)08BSmnSYAnt z9K~7)|G7~hsgWNKT`}RDujO{njM+x%qJZ)xZR1QlYdhT{cd$Y$XM4^uS(wuvw^2=> zzcK+7g155|bZm5q z0u=!6;ey4O=apn#_52KNm~3y8PQG-(H!H)ix5Z6Htt@b5R9!C7yzQ-CyOSxqLCD=5 zW)6r`Ihc&}%JIm7&0U`-5JIrv3?6G>t~#e3J%Wx|wQCX^& zNwhS#Or@Aoyr|dDdhr|T_X320%?`i^kul)jVC!W_!hGl}Z>wIy6gGp)l zkAp^@|Hl^&=@?csCo@(kOrrJ(eYWG$`f_}Y&8KTPJV;vo0H+RqmHQwvEIs;|WF0w$ zAJo>+;}Cx!imU}BF;fXPOZAOUW+J#g-H}$uxq7$3X?sac0jRTpZLR}KOOF2Vl}}m+ zOlIN<3Zip07EB~oA~6_=E{XkbK~I=K6RA}7#np+I$@bpF$W;b@07iO`;wr_$ff(Em+*%?7f_s8i`Yl z;a^F6*f*96Bx$jeQ`*Z!`K>%5RzvG_;;Wr|Q1th5+7YYcjf0O7di_%MxSgEku#J+G zVk3t1vU2_wAojNR#$Umi+GQk~efP)u`i3Y$zgo#wIsyOogH6#??dQT;rK0V)&~P~C zce+j!FD?*~r^Rr<;o<8E=kM)_!oxA#uxKzSNoeqoCRTVP_w|7DIH=IEk!Fs|!0fYT z?Cqku?n>|SAFq=@Ka`8auRq->lZ&w7lGMb)1Q#Fyy%g@@fLQnSWqIQ{Y`S36~KUfY(5JPtS~AiBrjIvwI;y@I(0hSf4_Fj^l@9E8sbv&6&Pj>q{( zKcea?q9@DY`BFj5k^~_bK?8&0i-iT!^*+lk6q0LlccK%;is5+Og3E|b`~{~feOm9#Q1g5+uYDRYcQkwYny*UDZ155zFtRo19qs?;U`dIGI+5>`V}c{*l46>PGbpHN`Fv2kUQYTYHM z52RoSTRV9+AvKQ@Sh#!Ixi+0ism6rrSI1PzayIt;OcN{xsN-s5R@k|St1QxjOM@Fm zH&ch5sACw1^J#afYy~pQTV#hbijm*RiGt$Y52pj&GMHFQ)H3k4&)>42bo0jBpUs6P zpZ|(`uDYCkx$;Gr!lOXW**a6@-k0KASEnmzumiOT~q=vjE*@Ga@T+LkVy3vZXJ zXT*0n&6Ac!X~M~V#G7lGF8U&~G(~2jE=?9bVQ0N~E3Tz0?S4)Xwl2p-zyQ&G}1Y6hC<4YKzV?u@%B4Ra45d z4w)=L>wXEzJWOd^o9id5R$?~0p5$A+`q!%qzx}mqu2WJBK%wmz;0+%@Y0+?E`z&;9 zd!WuBbDp~ptWDU+nY!;a)(ycd`?%={7dz_Ikre8K2d@xS@y|jiHwV?o?W-#rdd7ho zj;!ul&dGWfzR(W?^a)9EEE>5rn`8~PY zAS@UxKrwRtjLwS6*-D*yUq+DBz+9VOe$8V)i zEYTxP3dWpZv}l$dSq!-0)vMvdQt84qjm`d;>j+rgnO`>sCRf=hXE`lRNk}EZ|0U;h zQ-VpUC&bW*+A{U654QWX|QEfTImiEzEEf>7*g>OS4k#mzAx*#=#0@ zLnd~v-jedvz8n#V24TT3fF-N|?+<|cc3CRU6g6F2>Fs}@Py&wTq4Sj8-MZNm=08yM zX#HIAs>$v-gD1VIg2bJ96fYME(ZGPi6h@-7;}YtP&;VOhiBska#12FR7+jctGrTDs zI{kPOCvitI019;r6Zx#i3EC1RM$qCH-aXq5xmiqX#T9fm45y_y2|*mTExY-pt|`rl?goq4^aX2 z7d-+@qR-pDzi-IG_~*K|(P1~dR=i!L)n`kPd&?2?;Gub+sz{DHVS3tWyYpEqx~Ukv@~pOI4P@;`RKNh5HLaA( zhSS4`P+gjL^wCkV!Cm>Z*B8b+;!`2wKgybm65l~tNsWb1QyfJ+WMD$Em-6Uea4sMru-uqIi`7$)u6T~#Q;Zy5Ca3L>9*66%Sx zHz7gOMf{k|f2_m=E3*y-zgOYa-@tvNgvnce-+J-jK^W9^dRKGHLrTm~0VQSUgcC#4 z9}GHFHyfrWNr7+$(OydNK)-GB~PwXm7X1%w>Sarp9`oO*Lxyx5+Xj{B+8 zWYl}O8H-5AveGYFoXx7FWy6R&6!rAxg%(H=7z@cwY|J@+*A)o$4C2*8UU@egOJmay zaDt0nkFh(J^5v*@K3ernwLt&;`$+ARxPzDtv7Tx?Wapi(<2@)AV@_R5OhAXCwiw{-=wqLt)5Ji`1LW(1^jP9x@)i&6 zaMX3_1$sI2`P)xXy!i1+R#eYFR*LN220|7JpWLlE&qEvasNjjEKPU?+P^1m^Xd-Ad z^coT6Fba9JQDUVo(_U{Um$wSz1s1F`cNN3y`Xs3SxW0FM7CyL@dFI{VV0& z2}}Syuo3q=Y2Hzip(5Z%eOpx|4<$qpCKE0UkQrIIH&{l?yqKM{k>+6Em`rF@5?z{_ zNXJETv1mG}PAG@Pu_6WGlJOSC$--T0t5H%cg9_j`R{EZaLPx*A zo}h@u*%9Ka*VYAD6Qm#_Eeh(K#NF%yZbnN19ZW`b)78PSXfw^{r-pMaYNN|6A? z0$=}NW6?~iu3S1rDU13qZF{2=r0%si!2OrJ$CE$ZdZ@&P`5i<`7D_($2G+~FKU>gQ zZ*UcFLkCaTSWK9%o&_5*CRzVLhEyftMFdkSF_E!PelNZYu8}++B{HpFr{7rZktq{h zPMm{#3s7o4h!?&mI5NN;NnNx6fQ)@FbGjU(@mR5Z3`UJ5Q5_2q&K)J2js5u~DK8YU zRU{zHQH_Z4Uz<8qFvU!Bk)qO<<;|!?_Ck*#)$FbBfz}UlBFvv&CaR4<^`!*VxxZB6 z&E3Ak0ARCfd&B}CP#5{}J1W#okJI<8Y{2rOkfUh#5rZ07E@t5&2EZCs!$VN~4vd5l zE;^4is|goNt%&}O&_bb-(czUH%`ao@R;7tZ=jEsDDupyk&L#?~rH^vSMRNu>sv;k` zqn^AMl>O%mF3bRA@q(Bvoi*YvOGDRCi9MRlbVFml0A_XX^dbyeXt`h_^++=y^O(a?i*L| z75bEmr02XY9HrFOl3^u&x|UtWBnBU9g^T4c;6wR}ng8uv|5%#Bfy`Z+{hLAJ9c>zA zr;#zYd3WJVTq;cnq2pAX&u_fNH4m6<}`0RhX-%4f7PGC#F4A7ei zXzV}nd-@QAP~qyOW&`8 zFki%!>B_?1QiL|6_C4b{TJdN(U*J)5HRR20=rPB38j7MTEW;eu>rrv6GL_|v0;{sN zJXYv!h2GWIU=58tk;W!NLj8z!@1^tXh`{RSiiMy*s<{Bb4`i~rr8EsM z7ztZfIx4R&c0Ir9@`{%Qz=LeOK}6*sLu2+ws*kopVoE#D`%Ce3s~(R;PA`Zo@fz+$ zPp^&V?`q6RSkMSMsb3h-R-L9KO|7`%B-&u|HJ}vb3XWcJ3-7+O?Pm$$e0=>0X1K># z;B#Bt_nH&k#%0OUq$9-7^92NrM=$|$w*GJKFKKQSG@K3`4vvgziEp>|KG|q&?Eygb z5*UZq7RW_cNzPaCaiYp3-G&0k=0%O%Echi-oO}5IA&M@lej%KA{aF$b+OVK2tERl7<;M%=XI$sChTAQFNp-6eu)Lr_|E?> zzN@92R@%iX%k$s$6Yr62GYW@b+e#qIf0jBehELlosE!a=;F}qNM#70PvV0OenUQC^ zeSwJGUqjK@3fp}?$AV-bU9lqcg=(t6-D9L6_@S>dtEX#+semRj=|yT)SiRC~oRQWd z?%m3VE!hGAV;c^|EpDq(sS!WyRSUH|ym!@6_0mVQ%zd*B6D%G`|on9nB0bYcd zVB7Yn1kMS-=YYUbM;yUbS6|JUXPresK|!y5TC#8<(+@g`q-DJk)b!)kcCcV)CBRPv z0K28T-Yl#A0NB-aq@XHlTleTf9Q%V4M{>bIl~_sm1d)xaQ zH@bx1pFf`Za0=T|p9!;s0yH5Acyzp`q&1Re&W3hA+|b6V#t4m_Nm>(WfQ>*M&;i7O z2(aEj)&NNbl@4lgB^-pqE)n*Gpf9q|E6dQ7+adOPD{_y)(R(^L*bvu_FJcw}vLRhvUX*sCw zV&wg8Z!{?&mb59)_wl_GM)13rS8&XzB2FGxMqOv}GcgAuD-Cug(u5O&pjYSA31yrx zwuDH+qA{Fgb#s(WZSld?ZHd7?L!&L4qBWW(k#g7+j-j#@`f?1NJdeiu&IGsp;~!jp z#T5jC!JY2QM<2~0V_O8I_TqNTT?Q~9i!jyur3$>QSx;;a0JhrLpDhWno5oE*%67h% z!TDv-)Qc~gUddUL2jDd{R8~!~oPHqOo6XcEA+NzV9+=0v)+qn|>R}j~Aeyp2b93Ic zhYU?%>ax4^sFOX6wQMeOD&vsIIIL-kU_0P3Bn1J3fq6c@`S00GIrB0eyzj1^m&P53 zlaD`v*WR2-j%JKC&zIn042Z#zzRzJS_k#uj;^^+oFE?y4%-1hu?@{$ zFDi2{FVO=h4>Tu8uRjXVq?qFo@|l=rm(SbOK6Y7Mn2^^%NzJ)1O3~o z#Air`l>`}5k6fQgQH}?XF8J$XuQFlM6vmDjz2mvJER<3_`|Pv){`WUyBA$^_ z+zON@ZR?h#a{iVh)t;xpD?*5x{Z9qnr{dP9WA!Om z8IaoN(#rYv!rIQ?ZE8*Wj~iRev_bh41Wk$p9ztGii_^Hj_0=H_ZLt)U1%AGB+;DDw zc?HLgEMdm*Lh3scXrBSclqLkaE||HZnYwV2!>S4xS{x+Lr(rvaSlT9)u~7;v<$&V~ zAU&D2Ro3)1aZnMGmE3>dgPecv*}Y18QcA*+FilO(bhNeex4--q2QZ~(MQrOH;ACLH z)G1TA=9+JF%E>2DT2_XTl8qbIbMV23(A?a7jZg6YjsQ>s&Zl$HiXE!T2V!$jm{Q(i zC^@?=nZD`qc{Qgltm)v`ktIwR7@|2U@#vBPd44>)s~Yz^O!{s;HFP97Z)ycEFKy)K z&o1ThuO3E$-=rgv`P8Q_YSNv9bXKn z3xJ4Yoo8w~C!caMmt1lwpS$4m==zqj+~BGq%sAvwo_g-tvn6tzgR^vdHb4_d@9oLk z9UI`@v|k)ZHo%_WQ*4d}6bc;0g>hwFD-j1x9hArMqf05z^PovVuFs$#;K66Os4PBx!N^y&p2REW}?goJ?CRP0DsY)%L)yHJR%-SlbX|_J&sGRkt&1 zotq#syg114!XQ;eeg@?G$@S?J1Wf{lM!;(zg&<=&gnSyezP6f&=hyO;FMWwglO{2L z{sKDM+rUvIQ%TxdT4`u%BxPCD*41_QVaB0{amLwaa>B94G5wH3dU-yo8&e*C>@hxn z!3Fq)_@)r@w(SAnUe^^rHWsHJ0Cx)jyM8By2qbO$yBVBs=6lTY6UMsIU~a%f69TU; z$@7~8Jvyc)5yGW_w^hH>WOspJP`;m;E1US%BlG$G2_w1s@G7d?65ZhWm|UNM$B@L+Hg#V zP~bNS`3&-W?t)C)PQOIB8%+v9amd4;URuS2A8q8HmmI{Q!wRVHNE|T4wq480aUd_? z)<4Ls@|S=#zQ4}_Q0=5( z`AMY}?aPh7w*j#03)%lpird!T6&#u4(K%{(F-MFn#Bb`vQWhE8A=hUxAkRmx&%lr} zs~)>*a(~;owPWalT%XCc|6RztYg_r(rBgX{XaRNMB=!M9XXZ0Cmehusv%Za^M-?++ zU>?bg<$81-*M7G%fZnxUH6bvvp)sZ|(WT2w-Bo8<2v}O%$#sv6e33L<`1x;F`DgOQ5M%J}P8D1QuC}@)7HSl{iP>`~m zEct=h;nG#O=9RSNkVsp^QZDac+H!Cl_wXKBn#1U_5dVDP173agb-w(iFZJm{i^XC@ zA`#wx>usKX=4mu|P!sY4*C#EyL*w=;0Pfmi5}(*2{?q`V=yB*M$S5_`R_dZJ96Fej z$Cc6)N%7X|X69||Ad$8ikn5!=$4ka`Xo;n1iKd7pZG;r)QsU7hnzr{M#|3;U$VHP` zo7Smg%URVB<*r%l8Cn=*>Y#k0DSN*^L>vdC6igfJ(tSNKzm|L6-oT=|FdJH8q|!Dy zURPT%H4RYMSzs4C*jHT))IzwR*d+y~Er-rzhB4*2j41SQ&ujAu21Cr4ao8S@C7DdJ ze*JnDE?h_?65-KDA7#O!MR=w57ll~2wIsV&08s6QKjo8@0Qc3c_bLE(f2`*p^t5s= zFAsUmBSsZ7xiXK@r8z`X7H_R;;iHXhGchOXqM4@`*YWD|M%FjQNZB@;CMgV!4nQcjy##>kQ!l4*wp)t$V)vWaIF)bq}Y7G7J~#IpJ@ z9dWl}UTMfnzTd#-(ediCTk2E2N`~(J3j8LW@f5EuTF>QQ_yR@6#XH^KR4PSnZ7r)- ztzzxkwY0RfU|ANrrcqWgfVbXwlZPLAC?%EpktXEJ%5ixIgcP9A0p~NX0`E%@+}8jo zK&6#)j4tK)X@m1IbeVO4D1siH2?KLEbXXw+a=mP9OE7a)6N_s)Nu+IZeI_M29t>TO zOgkhp79H^nZLu_wWQMe@(51xC1csFC>Jsu865D~h-d)ezYg$NW6vvJ(atSf51G5&& zW_4I_^7t|qRCn^|+)e00a^#32lu-Nq*n|*Rjv|q=P=Mc~Gqya$31dn)W6}Vo4bG>k zAVAErXbPv8zo~=QRy6VCf?Af=g-N6x!byvcM4BA0NsiCJ@6j-IiJ{4Evxg>JkFgMf z=4ggDRy8wZ$WRX3N)2`#2g|asZ5!LRu`G*pI!$eDEsGW{qNb*XL?VH%>v+9ha&mI0 zs2oVRBg_rgUq?$vN1F+^Tgn+=qefe(Q!|e9L!q26X;RAvKG z>hCQlXkU1N)h^yI?Wk)I&Mn_Kb{Heea_Ed_wiu_O34$Is{9#p7gqbUwSy~^)qe&(W z%;l(&#gyfG@fvQbQz~P3OM)I<;`itj1w8~kx(kMyL<)hzRfQbY`?}~dysxN_aO<0E z_+UdD=S?2SwI_|hR*G=aLOTFZ&`}Wd>X@1!m2pVh4ylYyj?ci*Bsagff@c=hasHGF zt~qu%0k1(@G=-xM9Q&urE<{~Qa=b2>DFxwphL%{0j#!3w*S7Hb@+N9KlgKQ{l>|Lh z6$Yp%@KK!Op*ZNFAYkA#bxd7iI|^NgHgocI&8X6mU^nr)?VBVaros~8~Y6zoCHO^!* zq*5t_5I@}|0PIq6Kg|HRw?J^W0B{d|5CVqB9BcXELkjfIA3TU;#>VN97T1;B?lB}@ zL&LHh+Tv+mS=z|#4Q&8agnY~xUdV`&97;nbUPB{k*@P1onJn{%p-D_#;xi?=UXvWJ zhR4uc=`cG6H_+C-x0AhZVbBBxe|vom4}P?f)5n+di?hZOOS`2T_h*$+DK~_qu0280 zau{A5z~|8s0>X(59$n(mHST$1$koHgs#v2x`~7R;T;y6TPHpPw*hEC)}Y&XLC* z%g`ZJ=$ei{5MV(00B-sF-}udMeoH{p=j=29Zo%mMDF?v40fHX~fC{x`EWy^F->rKJ z(vI_YLzCb7#<4@GEbzJXP1~7nO$fZEL?BpN8)i{WCmY&g)Q4T(yV0dNj4sJxRCx{q z3;YP-R!>V?4t6)d33N^1(cO9)c>xo@p>?awqQ_*oAR_VV8oz#SIZrOC<)UeW_|a*j z+|;uDwDyKuH$xKg>3sj;MZB}VnTZv-j4aOKn9;?ID$gOuW8gP63IZlCEpFh(XO@u3 zINW%~7!Da)NF{SR;*gt{r%jW5QiUeIFlz% zWZFT~IOWvS@CO3D_W27JU(AD#JVH@9%s(++@r4T3ubfP1G+j63#6hYu+< zFFs@togb65uauh_74T?iQW8yOsA*5Ix;e^%jUCiSlITJ(C_liYLAi`6&!H^jMU!qi zlVvNC8Jmpd;NT|E8(A-Mz~inpQcyxaI{0g2}P{TFH4Cl(jt7wj- z_S=nL6f~H=iwvb`P0jgUQ#4VQ^tH|$R^1wU>7y0q(lJ7zI*OuV)zrD@q$1ftfSk zpst}|r|(smm&XYwox~|8p2+AiV;E3T!Jw+DkNw_*4?MtSmtBSit4ygK^05HeYx>A% z1OT^?#tz^XcdSSAJmv-8J9z{_k4_?O?{vFL!R0c=E zq>5aImIN4(>!UK?N6>2^gd$}*#8cLmv|L>oE7=bC49z8O@at$o^0TLxQr#Zs?#re# zdO(oQxW)d)G^I&Fe!$@77gqB4{2K1R@?c6r9-d!Z&%BKtEUypKme^9lDb4Zn#Tiwc zHld7^<$NX>db$8nxO|qB1U>xwoi+UB?HXQu;WoM(fS+I>NLg7K`Go~L-IvzZRvMd{xcc%dm_6qs0#f@ELR_~) z0NkEb@|gm_?AXL!#?if58o+X#lTtV@UpjpdM~y0?HIm-t=v;vtFzeA>X)cwqscB2F za8oDCo5D19rf^Uc1w0HX^fRh7#E@biML8aHO_I(!2~;-au4}nCsP5kt22IvA#rVtX zt2ud8DZl;Pg#A(q)TJQDXK>Rq%Xn#N1ONT6!>iLSBS`NW$uNZhh98TUP`ErcPNwfX6;qO?i0*2Olzhuidk*u8w*0<{_kH z@%#n+>}Nj*RMMyEXDh`b*bXKBzGiRfuXVfETUtlP+LGzB3j7|1mjp@nVCmhpXSLZo z-4*&_Xp*4MU{Ilti39VPJ|v&20zV#IqrNl2!kSLrU)Rc_O=0Rf6EsIsc(NWu*L$qt zGbE;_k>k_x>KbpYZeeU$h|%Ston|Q6cNzf%OpSQj=Jgd#3@r{YxiYWYw2*NWiL@Is z6wCgb`3y>Zy@8;u6oU%_e7Lfnm)>8%SH64|9*?(A?~_a>S-5Z^t5&VT^ms@oliYaY zjWo5i5Rk^7l;G}e;b3b3+!@4$d z%5pOvbSW5^?`P7WT&52xU|e~Kfq8zCmd(<-2#f1Fd2eki^Qt>oT-(XIrWh;gB2>4< zaTHYM`&e8XW<`C3Q^%E~X=1;k_gBhIN=8~H?1Peueh!2zU$EFZ*Fas zkYC4d>O3`P4Q1s6IJ6gH)7@!~<4{vm!-541Xl-pJCln$-FOOgT>}SmW=p%eWE)r6F z2}pM3&u;;MpA>!7fdVcEI0#xgvZW)Pz9`>oGIl_SczW+hR!){ZB$;v3ze++LhL;7I zRGG*0s(i+kg(wJ^cnzJ_Xoi}$1RGl8tY{81Z(}!RQY*0sl&Sdqu@lHh(N1$Gh2 z76wfkJ5tPC)5M749CS^Rv>bvS9WBeK)8BeqABus60iJq)BkLMk`Px^m-s8R1-rmmq z`SV$~ZXJ%}5C{aQtgPhW2Or?x`~QQ9Xf~vN8iLxM-_v&${66cgDK?3>^O4qI%C^!wQj-{VHxwDTpR5&YwPz$L7{>=iBS~#&JW5r)^sOCRK%ge5OV! z;~bDX%XZY>DfE;*Jp6`6p$}HCTT4TIJ>?Y@yZIax8#iub)v8sbQYlQ+MAvmH23GLa z8*lKpTmBA^Hl=>4Lap3JGwKJw-LqvJh%X@SliHp2(FAXYT9iJo=#9DpX1y|;I=T#B}EOJ2re@!gjCKKS4R7A;zY zZQFP}9)dYRN=r+4`l+Y5{)QWf#$p6D{Te0ItG%7{vLF2RK)g8snyfe=z?9-IX~(I(=e-Tswjy9^pNLx7b<2RMk?S+a z@#uuSIsvbN&(yg3$RYT3jpvutld)XZooLEpMMH#jtx+%xD<4%6~!y9OCZzm}A z-#SX&vEBV(>;@Z5zZckDA?g5>0~MePxgu&=S0q!m7&{=>O=DC0p19Ldu3B7}V=`|; z2QM#cL@2Hoh{av&T_7@b;l!!sAuk6HDIk)x_IV#oO^_cjNu(V*V;M5GLn7@m9H%UY z;Uz(e0v?{2UrRh?GomEu*0B)K8PCuWPa}k@{u`Ryh9>H>)(V0qAFOTVh2@PLeZ&!b z@v1NOs@kU0Y2xuX;c%Gd=4RHfU(bdO8(6z`Ev>Ds2q7>{ll+1L^78YUKW7d%|L$fU zd*X2ftPM!x8^A3)!Wf1QB7-IbiL}k?#t6;P6lEbF zc|N_HRi$T{(w(&}s{?G0^aP)vPa~GHxcvYNLG->2*Bp1n6_=4rCP^d`Se8X+XD8`& zns7KwGMOZmN|8>dy9Fg(*D(wOuh)y|@!<1%S-WNp&prDb4?prSsdO4I{7;wqHyl*s z$1Rh64S-#R*wg*+x#cQRYTs(tx)eXc=H%xW*N+=f8l)`bp)H=-C&1z;7yKGJ61=>$ zk$E*8NW{PVQv0Ub@@&8X$E#`Awa3#R{rR<3{NcO__)SSHZSQr;EFmD@Z}7sR2LAfS zD*T$p$g&(9rAVY5TB9jCk{KML0F?SY6ox#EC=HUfHdos-G>N02J(i|3p26?Y2>A?h zOr4O|K-1h{a9xu-1t^N%)5`5WsQK(DwM#Vqs)t=~bFB@!pN-01vn%_>qiftga}BH8 zQ_MJY2IIz$XZGybq*AGFsZV9O0;Lf6{C!=MUT0Lk#F*Nb79W5bSshg6@{`mz{D*5SI zV`%71?o>+I$5FKJ@Q~01K~v|~&#&OQC3Orh2r{iIkBOCel;wFzXB?s_iQG=U?_MqDD~?$w#EMV(CkfIdT1rNem7sWt30MR zTiP&|u~E+MNvKkYEy`{BJsNX2c2FBmw3}#W=~B%4xQDI_ag%`@|M-HM^Cu3><=kl% zG;}0L_X2`lfyzOTj-F*ARtnO#O)O>auv*(zAf4 z6AE7z7o`jXge`Cn`x?S$CYj^MF73s@15 z+ItA`7>X6U0~~#-0w2gRa{E;J+td5@Eg1gEFLirKL+Ah9@_L#JrdKje>+<^TL1x%mQ?}WqT3nUHF~DpRJ;x;n5D9Y&@Bid#J1P-3i<7* zZB708b4!N+oH4na#&8m+2QWL1!qg=NL6e2m9n4)~MoK)Rpty`0G^i*}Xuc{M~+78iZ)^IUS- zr7W7ifV#SRYHMq{ZGH3S%w^f~WrQP9Qkirc&;Tq3sy&EyO=^oItWbzB(1uX<9${8r zsldCT4u3XP-(66FyR0!{tIzkTdaSxP)fW=V{*71H2Awg!oMT59BPIO(^|dT-4D*G9 z2Xpv{LSk8U=3^h7aP55S8e=SN2s5N0z?g~9LZ zG3r<^>Ou_o#aZJxePTHcoyqPZJVB2}uHWGCIknvK#wt2puW<|rl!ttL^VngWKB1gg z+9Dj!xZc_>$<)x;*c!)j6eG%V@S7U(l!d8F)-*-mQEV%x zSRoDrhB~M*3RMLR0rG;HfzKn!_nYJgO$HbEs4Vc4=Qq%@ZiI zUb|AH`<`2^Pbr0!4Os31^RAGhE^zGvt}bVbkfJ*%9U*WWg|3NiwwBFi1La<`M>&SB z>#6RPKUc!b*bZbJIzk9iS@k!Oc58>2x@3JzoYz)1;@1q$I_GS{u_zzDKbv?oLfp13 zpbc0HtO6PZtTf?mO={}}!rpS}D^w4AW6yQ$zO(Zx@LmDHodv-I5&-*3^4n7Y?Cn~+ zIi9YCA_bKR+kVJG9WiBK9v2@{$zvbZ@X@Ar0FD|~#Mx5@plQObA-se8`b~`ut#R&r zdmXVX@xpN*4vtG8SWtayV{WDTfR#pfcabh|(PHd2a*1cz!9GE#J~L&QOY|5MuMT+x*=8 zAgTn6vK>`s;S^b@DZqHZ=aX7luHVoNDX~!$`c2C7yc7jJ*h*0xG;tIdhQz09*h--Z zFm;W9M@ORQOlB}Nji5&(mbOV{Y?oOlD|N{plA}^CIjIm}*$%b?(X@qfz-vf1v?$9~ z)0H1?JBrRkhP35gH{j8Ur)|QC3|(W+Sc*i(rZbVjaa1<|#xgc`mKZl?St$?_l;f9r zSQDZ;VrS}rum&4-SfdGTsX(+VSSQ_jNj*wJY^(Bok^m?GO$f15!B`&$g5rQIjIf^q z;O>Ug^en*S{^hkC`?i#FzBsBlhoXSVyy^~w)QDSYMim9Q`p6;V`VCrR>0UK*Dctap zJKkE)il#_YP#O;<9s67hXK+QXpHs(|GGlllcfPrv_cykF=$G0dJH0+s*COZem}9?~ z=QDF|JZ&`ROc_8^IK{P(FJ{)d77XOA9;y9Mp<-&Y2Tn^m&M6koFG_;mY1bS(oYN+j zp$S1UWAn48mh#G)CMFFjVBwlp079n0*zyqLD?>~kn8!P-Tln9+S~Mm8scGWt>f@eU zkF6*m-%?7qlp0{+3s3GeO#3tODN{$dB40I?*#ievDp(-m$ zi>yslY_*p6M*x&U2>UY!fPHQA+e-il?3&YLD*$v=Cxt?MJK@-W@(RsJE1OBfizv+V z@amizDsz2YFujuDr9nCq8SJeb5kd$IO>psj6usSZkgD1za(Qol<$_PHQ9eq=FH z2;N%NoYIiT2%%>0)EengK0pd_Y}B?MmQebmQ^wF1OL6-<>(G(Ud8Is4Z8K#G={h!o zab?{HoOjIdV!m_22u7CXaMA7W6EWc7-yBb4dz?ESTh0r!sxv?*P~;OD#UT$Ju}oJX z_kSzJHQ>g<2zm#=%|BY|Bq0!oPhr~(BQSq->EK^dR{MGmS!p)3V44Uu#; zWF_1xF5R`J1dyX3M?eNJ6qG5HlkI0zAkYwD1)CIVorbUg15}$tRx2=t`*SL*1`Fk2 z3qcei9F&vA0htmIqYG=*W^em8f%QGd>?pTB?-mEzfdPQK1YDmQ0Nfi6kG%DTHG>L=yKq++!(DAWrMQvG~P$)4f>Dc#JI5TtvrqIGd zFiN?`^KFd$J)9n24hD@o(kP;l6xSR#f<(&ZU+=Bs_8%X~#itGDz9(1kojNN)A?v4GML5)+^a#CZUzCh#aOrSdx;(nn=PzzVvB)xgFw%> zyKKE8`<~it&+E1y_5cq=4_jZ4>!{5}LbsnielOJ4ecb;6@DojiJ0JjXZ+UySQzX5& z$e@pv=){g~XWi>pe9R@pHg~OdaE_}i435%FNmY3cU;X@81{4K&Wp)jVYCB0J9jc1_ zg?P%4@^z)C6oOn}Byc~_vMXyP`@2?C z$Olm(tiaGEzfp);y-&0IMwXPiw>tZ1#C{j+|1?yK@_O zdqG1~L;g?`tP(=JWeD*&f`@_ofPZJD!=7{2>rXwxgu9=E5L@)AM^`M}6G#hc1BIdW>RgK-=Q~qL<|^wtKku9H00YtdaD$ zeGh)0)Ns_tk5}}RWE3PECo!xlm&gBjB4-|5#nQFyoN(ws{`I4yD9-co=9(t{_|i(A zo>#|$>JAz^lWs{&uR%%3%Z%ZL0E1FW{TJ|cOA#_oA^WySG zByQc0s)7K+N&*Zn^fS3KmzGE=udi%A)luSEP4ESvp+_IqW?y@+^(rNhhk&-u6wU1k zE;?lx<%NFQ!by&tT23Nmb%n@u0Fk|0wyMAN17JV+?eih-qy=JqG?5`5vs^}$q>X7P zTG|p+lm__mRg-CNPx17-8&(*I=fWv#@}l~V@r&v^$~;1&BG*f9z|DJ2r0wH@=YZ>g zx7jKsavzUBqa4>g8Bb)0B`ju4EyZW*L}D3|DT`3RKnhB1r3wwG>E9Ur0N4+HpSIzu zj~#TYE(9Y-7gAA?gIL;3do)EnX^~3Vq>>&|mJP7Ukn+0hf*R~7HQiBEZ0Lv&qJwE( zsU4&V5dfwEF93x=e6LGYy^&xduu&z02ZcEC$U&eKjZHDy!YSH1Qf@Yh>7^*oi$~W2 z$&8&(KLGXvU_bbMI)}SG>P@;S{AM0a8he z_Vy$j>LWOg!e{E3nr0+2cAolpT;2Ree>QtR0QQ650jLu9{#KFH1f~>_w7`K-o|jOr zw~P0P_O>Lzip>S&x5*>5f#umBXYHv7_i@&^9bu3}kZ|k^fFsX4W(e2{;u(+vk4L9$ zK# zh3%*c;E01Kl_3j!uB6m6@Kh+`DT`Fb0?^#=yCEdIL<+P;Y?^QboQ2p6dDp5mjq}v0 zhgOz;_XmeUXTk-&t(&93wjrA4D;JKZAm|wz!}^Jq4Z&4?Fwp|lzxMh8upj*P*C`PK zPX^}}p#0>+D_yD2+3J&~Mtw_yMpuez(WId3)lGf7YufGJTj)X%Q}#WE6eDi>?jd9u z0oX1Dwh$0WGk8)dKmY1M05@fnbEc%P>*4e-!+rql2fzJoZp@f%|IbF9clDX0IN`)0 zuBxbQ73QC?7(6gURYi^hj9xLXEAn4$9gM8@aW`>JA&hcz2Ix#U~V^U=zd zl!5%4SJQsupu*eg)tfugRrsc7PJj1!x2~AC)i~Kkl61c#mGIj*C&V55MBrdx3SbNw zki##oIfTounB+>bNsC>o{$wjC^g-I@n?IY$ZU0>wlZfy5rG9s}O|UEMrWXQHvCZ=9 z;Vth$62R6Kp~U7r)H5fyCmF&v#0T_FhS2?9KN-Sj7y$RDQ+4kGpspO1qZD2Q0ZoW$ zj^d!WvIYW!v#)Y`ey+?PyL5e1yX(ZoK(j{{HY{ zfcXKb|4;~CRr>${1p?bqXC$$21P&Qm5#p$+p6yX7 z2zkJ(^Y`24@`K;ML&j163<&)?1W~n@0kG$u=?B1m06g$jiah|p>~De!RjQQAb(B5W zf}<>#aX1g~XI}040J9_R&el`95&gq>+XE;EPi@<@g~Kmj=MpTuCpQhK?k=RT^%KaXR2LU_cJf zJ-U>y|LhHFn&XRsn*!2!T7a#D+N%HvTT`v}17JS@9*FjoT?9ZOkiZPbQA3l;p6bAH zz%alINRN~h6%|pCUw~;C7+x=Vd3o5D%^UB$OR*p3{O=+vCKN-^1AZMkk}P^{16Acg zLL&-XkVsnWR#`Deflr4*KlN)nxb&JAm^rTwuh7t>z_Kk6fGX?*bjjH0C->;lXnsT1p>!$E=%HEt>9=K z7*JkL<>0|+nnrFYkAlJia`N)X&o4k|a&v&N}((|a!I?W{_i=LN69%okU4|FbK3Nia!nQxQ+)}5+w7%& z0PF|A1IClKV*oq>_>K?^PS{r3hG~P!2QYcsG|DRmP*PG#ZeAWBNF0&PMlswK~U$>nVa+a|L}tuT=%_0-LR0pYPNzwA(~gW zGx3ZEz+1$*=beKR5<8Q@c5LjdSK0J;?_)_elL7P)+nP0QOXk`vI^Y0Qdhef~^2hKn{xIEXO(#_=>3+ zM$FEj={l#LdK4$M?;J&S?Bc!`@(tN~B{<8;pa!UR`k z?@V>4<$WTpYnOR6@akY_WDEb2h@|+^^{?^Jt7{opQbI?2JJC#Loe%LRP0HI<9|Pbv zVAv0U9}9r{Eg8a|)>l7(!bwNkwsm0!&Uau^K_G~(YczFs67c!B^s>ttIeHAsmM){c zy=@EN0FY9m>+WOpc)bV|n>MUt-rPB~hr<}au+gI#Idm8UDk~`{D#q*e;@B1o<}Ki< zXP)HiH@?OL4}1<%wrf8VJJ{?JH-LDnx)nHCds|maJCMk5<_SZ&>7R30zoC|jfdlF6 zXeZL%K{}nn@AJ{#*2cmmi%~$x^iqtFjir4<91KW_o)bPA8h)9V}yDGB)fL?aRAe)Iur)~%x;HbS8}ulHA-}=6y7ecix@JT{j-d)!#l8YQo!>rVRQrGJXTcaX9*-|1oP>8+idQZIOs8iAqVvaj=2WBStWF`gDp4i}3mVq%&!v z;V6kz3QgC$LEkhC-hb~s7A&04qc@+x1z(s5jj?_6u)D+wU2Y4wUCx%CwKEEQT=k8o zx%c@7zWBvUaFimHm&@SFN|r2I#IsL7O>0McT!Y{Er2Y>j2=}D~xLx~TzXZ6YqO!jg zMN+D-@MXVlCaC-3j{U_!<>me}&pwCghaXN}D34cPdzrLt@r6siKu&%>D_5)_lgVJ3 zX73MB)9?oZRIgvp%P&1ob89On9(Np{`GD#+rA(Kv% zNG7SMD5s{TnWtV|#Q8G@Q#3diVi{M3mBI~$(FK?qj-#lq?qp+Kn2co;OIS3u#;LB4 z(%O+kI*Op*M0j;qRE%~Y#!aKKbr7$;`7TO1oN@XY9Ch^3ggZKEYH#C^gQj!E)mP*5 z2Z$#V#Nr9!u{g<83J}<~g_X&W&Z_xkrKK!hyoTi~Yxv4JW0AVpJ+JkyHba7;VWlm? z(GsMWci}I|)Z3R8>`R=!_ZI z>5NfRTYG%cvClMwNJ-@U?G?-F%l+106lp&Jz`YAo`>zpDAjTvd`_>UdhjI4jK2K3u zIqO%i;j#ZdLL?gDymQXO+!vjOPBKI+ix;#=rFFh z@{3HEJca5_HLO{^nrK$y(t6n4x?ak0KnMnum#}Eba;mG_xcGwcF7R0j+jdB$Y~l%v z&dwAK^$}_sW6WOM#H+Jv$k>X494{pWK9VV$jdc-PJCelX8FVS|4hqt^(c;=)Jx??e z<=fx=4#%8u0*e;R=iT?-Wy1LJTyV*ytXaF3wQJWAkH<-60opwboh>9FE0e+N_v6?O zOINPvv?B*mF|5FiS?m&1q=bM0IUexnS(+Wa;X5s_P>(G{>oF zic!-LrM*3gX-NFJ9``=E9-e%5C6B$ni7C^j;PHB}Z5vI~NG1|AG&Gza%OJBqOMoGOfrAEP3&DydOL*<2 z7qL<)&iniY7+xRE&CU4zew0$gVzF*ekW!*aiRtlRm?m>S`jGhx<}-cTL0o#-Wkg~z z=FOc)CX>N13^YyKt{NqTAd^m0SX|7&fx~%w&MG!8X{Mmq&&n08L=tHvkP|dXC2i&` zYvzA5*E4HD18LjAkdpF3Kc^f~$yrBNQB@HlmA2SaAEmt`3AF}4_~k<^UEaZU*Zz=k z6DD%+U3c-u%r}@iX)+gHatXDybu>0K;`Mr6PCp^KZJeqH)2LFe*EpR@Q8B23C5uc} zZ|dM+v&sdzpaHpF@MNwf z(#nXDBe?3zU*X+%-{$Ejo;W{hTSY-lzXHU@y-66M`jd@6NdVmY;Is=xe?E!UDZth= zO>3%e;MJF2AeG5*_POT~2!-hE?8G!pGMNk=?QNtp8HCJAfKniY#D`-2>eb9&FrNuy z$8p&gzesa)Gs~B)093cVu**BVo{a`Deavp@ zQ)9)tcJBJ$3TDo!#Q}80LteD^EyoE}H%BkNlG<{IPa(%CEijK`m1!P36pU&f%pOUf|gmo@45SNnCj8rPS5eQ@ydeTS^5;r4q#B zaT4*k8zLt*1E67;-KGG`vT>BnhD~A6C67I{g5TWsAq!Wv0x)HC5l{c^G|oC>gzF`4 zO>F77(4_0lww>-6BqSsf8PXXWsY_bhlQcEQa1?kt7B zB(`nS+}uPalR*l(8CbFsrIZrgFqr?*0+Qi+zJ2LL*4IUuHNSy%_2Dju+{&P)-v{Dv z3YF-ckUXC55KbsqTN_quy796Ugf1P_puC`uwDOEyK(5^Y*`bR~)$ zYwbi@CrWH`fDYVNs7e+ zj^kiEPR;DC;Fd~MJP+UZ$)r*o9T-F@gYTPE89fU0J4m;qtjCn_j4}AXsv?aM5Mxlt znw<7GwauQp?7x5ge^D$H_{N|A8Ifp&uYC1uL}D>^?c7DFR3Z|I5Cj3q6$WBH<{ROqOgW#m4t9V$1#nt1g?%mY?1Yv%*#2#hhwR zUa|eBz0IpNW`sR>LPzgX;EL^&TjwMTIYH1MW7b~1b{!o{ zmQu*)ux%U9^T-$S6moeE?%qwYSR^L)qbPo7;ztm`7`<_6XD4&!&ZW1v501IWN-470 zETvL`Xe@?bsc>{)fb7^9rF@=JsYs>bqm4!bAyH51K>ee^bTunGg^wQ&@PSV?Ta0L zC#$her)X_r7SK9-HaZ9p5wh6~g+c*Qir%inB+@Bj$_^0z@wnfwMnrGzT(%5@kW41W z{b+Ugd7ei$n;{emO1|^Izs+zW&VTvRmzguKoh_R;Q!bYYhr<{HsZ@$msX(l$nNp#^{ylpb zO{WM|U2?lY9#yEr29lOic|i^tF|Ed!HUl(S_CG0DbKm{1)T#_PK)~MqBRur%5kC9d zm-CG;U(ez-?Qpcfjy(y&VZ|?ZB=~QCzXe}w57_kjzW6Ml1?Z>RtUZWgy=GhLDUBIE z*_5i&hyY3AUk*8?Lg%$*vDGJxjGJ{3QoTi@%k055J zslBG0hK79X^96}{CU__uayH&|_rGQRh7a+h2Onhf)~(!j^DQi1*2%Uv-^6uYLZJ|r zWs%EeDHN*OX}MHl+tw{q%4Oy?w^A$?d_g{s@an`uueJA00EZE-G)Aw=X-#Xal^fPy z$HI<<_`Xjemt+5)13d8f+dTbBFaP?@TiNhy^ARPyeI&!5{hv4SwJtU*=Tipr^KtX6 z_Fk%H(&;m>947o`MMVBNB-YDX2jA>EeCQL!e4gc(Uyc$*G#WkbcdPT0WAT#3ENovu z*FfKu#+dU4z>B$0i8@<=F*7`nWM0_L^P z!`J>8h^{xitw%*Qe555Boja$kjr7=9HDJIyIds`Eq5Ad@mo?z3{KWE+AwOs$<53_CCc8bN~c*M6{ zE|bY*2uC6We!%W++t5M4y6bOX-h%mfI>=zyccP0XA_O}4x~sKw{rV5`Z|?qGman`N zWm$wH5f&_7%*Sr~b#C1FQAWlLH{JU<-}&KgTsPpq{@pK0WnG$;eXqv+d{P^Mb9=9J zS<1dMB-Z^yM~B(Hbqk5%Vf-MNbhf+x`KrE8XltJj&{E4=IxoW<(_Wzgzze|aJrM+F z$S4A1Zn;c8pT!A<$fi>4*|~$}Xq1(!S5xr=fL>#8r5&6kkizpp4T%+%pKW8pWR;*zEzWu!T{BvBgY&pO2o4-YO zPcP+C8OL#IDJ&IIsbp2tQi_AS_mIx#Shj3A^A|0qSSn%QkP(wMQ+4639$;-N8*}rD zhRi*-0vsA)m{QpJNsg^7#Uu=MjlU z>FerZIC0d3A)kyVI662$A(z8~r;%EqPbT!*sEvvaK4T$m8*jX^YA$9nle8!iAqX_N zOcpETaMhZXq>2@`ygjnFS=o09+<%_$!tY0v{k2p!!@<3~(Sbk7hdcfm`~ayEXYqNb z-^6Rt0N{mT_D;<|Iqw5wjDYbxk3ehsd%7uk9+rV(p@3~yQ&u$0s?~O$WO4$ns+PxB zza#6WrCW9hMQi)tXkK;Jw z+NtmR6bgBwu^5?Dir&MAvEf^`vOiZWQx zR5FS0`^WjIlu`u7CzVW+8c7g>bdzP@Zs5n~*9xg=wPOA{g#2h=V1S|i0Yb-A`l$x8 zDmak{HY_y8glCHRaxq1R-*Xz^%wV=awci>Q*Q1cj5rRI~bBA|r-O6YpPV=l*3|ys9 zcD?t*1e37xPFFQE4k*v_5GB}_O?+SgSL;2Z)T77SGN%8pn~bOl=YXuBO-FJkjtXA-h!xu^$qs8u4slEf%Pj_UrAGQ zGoz!)>gSfJa>XDqJVZQ^z(V~!(0fYCt~rMry#d>@zUo6_pt~EbHEMzuC?aSR5DG`I zMJ+Ly6^5Dfm~oEv(+A+G>%kYgA7BP-q6YAd)+nWLYzG4)AIAMqQz#zjzgM>uBH)RCRoZTHXtXvgMJHM zE)?^4o_Aa@1VD*GM73eeqM78x#z@^Ab3q43-g`d46Z`U~dsK|pIF3!UsR;wCv@r)A z%f2nB_}#f|7E7#o2=|OffNKvM_4aT)PS4@PG&i@5d#EjC5%>XveZ2&jU5?n_pYrBC z%R7b`Di*wu8XcuvF0=Bo%PE&jB;v!^$K)qgDiz{GLs;E0!_~%^WyTncjGG+YVP${D^<4jz7oI0RJVdOi2`6Nu1B3Q`1bXx&gdDE~ik!WT zK#8@h9QXr61AT!M!tl@_r9z=r15elL;*G<1^q80MfP*KzR$AYw;r8pUThHA2 z?HoDWb)3mq|9&J9XP~DC1>aSoo|h?1(6gJ;A>)&2YW_QOGWVEanTBg)vDkQ#ggTLJ z%ffaX`g^+ZjM*z9&oq>Z1^_Q6dBhU+RA1K-vSVX3HML+c>n8mFRtz5%_(Kti*G=FF zi|VO}vTx563fbp=wu!->ZrbNBAleiKC1|)qj`ieE81Fz!)N3A7_~asxAHU?4d< zisyQ)SaliYa*6()9>S4Otxc!GvTZEO2Dsu^X$~?W@moZ2jsEJqS+n`bO}|d}k#6$2 z+<5-u#K1w>a~bIAp;#^*bwvG-Gh7?isd8{!qcrdQd!iBO;6paF&F|=#G}lfjM6@Z! zo}D{6($!UTQ2)um*o<-ko(0cJ1ArH`9{8@JEv5dW*8adyUmt<*qm;GOOm-W+4g3Je zo!~EjHm2-9aDCr<`K1>b9_VLj=W-S;?F9I^Ho@(V)QchS(g1<70*jls;L~8i!iUQ{hZ{k`gqK;?<{*>@#W{ArCcm>lXIx+e;Ykv6c0hZou!H z%W1X6Y{;q0Nu-@@27W9eyJTVt1t-Rr9RL0PkW!E5OT`VD(PW3JrdD){$R-hnPc_x+ zG{sj+p0bd9VkCY;IiC-eDjunLoTZ)1Xlib*rm7fCVsK!#HfBUAwRuun&4h(-FxW_F zET8-LtFE}hYMnisv2+H@swY2dO63ySu`vd_yTO=miO8-~!O@vr*U8D+Co_B<{JW5C z-+kSN4a{k417P>|H`%`9EgeRE)>hVo^?Jr~!QJO4nAsWH7IUW4@1i+$XihHYVvsYm zc?=v1TlP)Hn4eZWA3+?9`Py`c^^}rtIbyxPQmH%^RTlA7l9yk29=BX()~wkqUfRjr z_I4_mKgF>8__L-Hf-9m9`>^Bi+Xt9EYgQGDwfPJJO`tVi*(J~cf@G%my2^A z<`YXhm$PieCB%n^dFh#_*}i={4)RB~W&KN|Wo1JHglh7y1qAOYO;ApL8<45Kuhv>9 zD^ZV%NCembvIf{!8`HCGRd@N6QtAmr+8j}(R6e&X89&OrwszVVF2u4dhI@OXf!2#G zu^ye`CF)QQw9#|&ne5GLu6iGV)|6^xz$%prW!I&YFEBci0K<<&IF744}xa_fVG>z0M8pt zQA9Q(3?V!_Eh+w!TM+vgHVHfs5;d02=Wgxq>6UQF;j$}MBbK6npnr{p42j70y7nW~ z^8jmYdZ8;*F8$t|*4CCQ*8CcYc$|6(F3&Avv}W|^Fo6zUvBY}wRMK}&ccGu&2{PGe zi~NUlDn(Ckk86V9n-OLI0V4bAQTPS`8vuk0JHPVuA$axxSpV7U2KlkT)12e}vL^uG z#IH9yN*yeD?#Ft2dZPJkmZi&=;}!~xWyU_LkcSb*rkW!WDO8MZE@X2zUblWdWzVBj zEaKQU72l_jFOV1>LTmjCrPS-^`V7|@fT<0UwZ30@))DJoTiFj8@W-!N1Aq+xP9I-q zAOz1c0BheRWxC+^s{sgxJ+`P9#F$HuCPyzx^bg?JA>3jy1S~-&*6W-632o$Xx{&)^ zQ#2M?xoQ>ZR2tj1@oUZFQzIjkJa51f^~7|3#8Z?(gZZ9P>M;?CAGdHD0Biv8A^_h> z=@!!n!0BB`@~&SGiKrihL>+Ox^1^&Rx71cP!0Otuzc=gV??h3ea>nS&(V?MR*Iv60 zI}{?9%VFCN+8B!YJekbcatnD9k&zh+!0{Ilrhq^LfDHg%3>NOmlJ>X@^WFepU3OWb z9cIv8 z8vtwoaK_&-?`Z%6_#*5Feh55e#5{u`ee4{`JH0_%8&m3!$A2@MOtEzNGDIn=#bqr# z&m%pSzSI`=ia^h~iup7E*Z^Qd8UQ>S0GxOe$C1hKn`(}fSX(WmG&mB!+0Ex!x_mj& zSd5D2p=_H>a+H$i&bLH8box1U(g0usfDLH?a9RO4<#UdkBLhm*YnDi1I5~PtIiF|Y z!VV(Q7?r?B5JpE5mx1Aq-_0PySp5May_^{9pH$rke0rbiNUL=?W~b&AOA26N=3 zniNe}C!huZ8vtxb1Au1{fc59@cSJqn`+mrC%j;{+#;*Y$6OsHm{j3cDHp*c&q#@^9 z3}#p<>kF1;-39ajSBc0Y(*pd4Tu{;gU_&lu`7y8#*aT!7)6tM)#coVNLoRX|1s(yK z&$-#(sAGD;$^Rb!BmeRz2YKBT00000NkvXXu0mjfP)i303TPD$^A`aCG#CK@P)h>@ z6aWYS2mnw)F-8CY0000000000001BW003@pWMyA%Z)A0BWpgiRVRvgUY-wUIVsdYH zb7gWaYIE&9YkSj1*5C6hhLpt;aeU9!4Jl3OLJNhLK)dhShLxqUt;Cj$Bqs#O{`U8r zGo#UrE>1$}`|OA1DOjG%nRAHHkv8T@EIeWZHW;{rI*Gc>^V5jbk zFF1`k371!qKbT(=VMbpXe)x!H{&@Nmd+xhD zh`G1%u(`3Z(QLAxxI1?u&H`t_w1CKm&68VZg%jG2_m{&&ZVAi$4l<| z6W;~U)r&vQCa`n@^PI$CF{;yr?=Vn)gwC8KiTv>@;l{d&54xIwS{$;UK{ABPRgR-fQG}`ZWws6u}}~OE(a1j-EMCJ|5cM!vQVa!1jYb7 z4*?Ba{^ev6^W+6Ae#m;&*h|1~UqeScV-Fs%e3$SXH5=v`*xVDuAvifjHW&c&lO!j! zS!s*8Sk8+GMm2a80kdk)f(xV)7&2Wg&=Ml3T0b`S&M>sK?9=nxL)SRQ+=baIZcOn z*$Wq^M2od+oAcA4Q5wEH<0&RRM2Z^`2jn5RHOI`tI1&B$grT>>Pfi`-Tup>Lk+`SO2ush}#+W`91>&epl^8(9-+X(4GUOO~8{LzrOUvSit| zZQHhO+qP}1%XXJ-+qP}nHGO9`vzT`mvpwJ0RgS;iV$`WXmms2|W(Kgg*ULkvRTQA>He?5rR!ad^MhqAO&70w0m}G^@no_vh9gJ zwGHWAY@p<@zFWc><`4p$Uq!-PljePdLqwF)4->5={!shl){ILHf>g;O zz) zYm|l{QLo}Pbm;GG1Rv$TR| zY;!DGH(glT$K53RsAcGL629+8@i#}b-f2{pO&9K{=@{q3gd{|qJ(kw!-p=gN(+=qq&kvM_Q20EZREaXu=- zzz`Vkn8@fRR`lf+Ayo^_ir?V(C+)|Th8W3mZLocWnXF|_3^D#u`y@QFjW*b=BWCGZ^fEP^Gjl$S0V(>iW7faj zOcd={DN$a^-m1;l{l51TOmjKxBLDLBDf_bK-QFSu#bBk8M@riag;Of!dW=xL;#X5u zp9^IyQIe_qQ^Hx+^PgRpY;-o%)MS?@Sns-N1jfbwxeS}X6%;j=#Zp$)Vy&bkU6;#K zRJ5M5f~HtV#zr$bj+~?d37pBmGH_MXFAEsCP;0`16~a{Bt}EoL}L=LFJsn9eGS&!Ca*r z{5!=gzJFZdqy0y`bAEx6T4`pu;uBr7#qOVM-SHZD?4S&Jxyvz-u(QR{H$F@d=iN5a zD^;U{KcSi(qn4|EhPjq?)uCm!K6#{IUP-zUip)TGnm=~(v+$8#c079~@0@yB>LW_m zL#8>OoMQ8IP&ojO>lh+l1Z}R0N-5p)w*B~ryM%fbwB0N)%JKXUN2ab9>fec59wCeH zs+F1&s(;}Ggdz9s&KZd~#gzp$cxUHM9g41-R1ig=7(4P?laRdK0dHAY1hTOJxdW4- zh0KW2xd<`(a^THn>48TxPN=rABtD%w4`)M>f#1Z`!Xr%#dzw*%NOYh8Bx>hTuy}2; z_#9I(TxzdA$|RJpB3^*#P>m2B&R6p^sSq9TaPz(Fe^~k$xu+T! zt0@;uv6b4RGg!Ei0_p%BIs0R=9GkJ zfH?%grzVg%sX}NirveVc0F;Dh)NQ&uypn;pS?9o6<{J!iW6@_n`AkA4YdW#8J+ed0 zZ8r$KZ`bduOy`;zf@l_L*QOz~#F^`SFE$afqejTGj7=5$Z=&w@t9?tE`f9u1aoxg% zd!vEB{p>Y#B6V{oGuSpvxouHV_c@bRHuw90tR-QJt37Ur7OSL#A#t!YHllz~%tJ zOUwg4=9FUX``+gB-of#}RyQUb%IU<**kT{2a@14I0~?BVnZE8M0;z-H<0A`n)fB(mX+5v>F2AUwb= zmPxy%2__%D>^vKW8?qGRzBsW-GchZn|=KFD+t>ZA;i=H0{$#;Sf(>~%fF z@8;{4t4IxY^&EDYD?_5Fl66ul=#VPtl1Y}rfT+sxU?zRIh(aEdBY`9P5e!#dvl%c5 zSMbs*?)IDH3aN^wj9UaLQ0qow3?zVBrQS%ZKPqTyke|{)@sSp_Smkr2!yq{Os*xa( zsX|yP)!9za<1ey;8YA_(wbzS!;*aegprUGv%A>ii^1sf@6Z@K8k; z_bcdc-g$K;OTyBCQV8^%CsarZqn`=)xZ~wjr>1F%`kaWWS0u8~TLS{YtX*3T)rZ3Q zgH}9E*N307-)fpsrZV}F4q(@b?cl@tI)$R5_Dj1P zt5sP!0ug-#;ezHWo(&WuzwNBfd>GvH9!K(X^C#*POK~J_O_s1bws7G^;V&l)eh@%a zgQIDmY!^nQO0U|kZoRPn+@_=#$(Zi5$DxAFxgO8$9;^V(O3T@|t(8zynCL5dY<-7d zj`n)mnp-Ar=5j}Edyj|0ZnvGE{@x0WSK->v*J6)#zu)skhxlMc?zg|s?~~8H=No9< zC9s(5FJ)ZbUEi}@*0%U4^}V}_So{Wqll$GbVGy1cu-E&8`)a;zyf!dd!WxDiPZl0u zgANQhu)E*ZZ=P?a9^bc!SB~1a$3DE{LHi!6o7$0$sZ4TNqefnHFgCvv!_4WypSCa| zx9%V88^YXaL(<1nGt9SzAD;9GSzt=^KiGjd#ZklTRKo^}HGn4B^_TbKE+=_8v*?0t zUkJnF7Y7fA%VnedxnEC5r@j2XFO#*i`d=>(%fDTGzK<`j{6F`-zc$U>+dDHiJ3oTc zTR{k*z%ss&sP<`Tui%+~1lG0IE|oE0@pqX?3T9hcz8=z+zMN`4+`d!X_`A3XRn`FV#ymW(y}QI+-hjjzSZ=I2Mp(jZ439iZ+} zdiVOX^#zcwL7t2Pk=vPngGOb8>Y{vn>3%c@DW?r*k4av95yyyqXQIvR7w~NuNCQhD zj}?$Xd1zE=ix?oc9pYvmBFNeY=quC3XM-fu`4$bxo~nQY&IBx zdiQle;*@)l1NJW6iGb>|zIo#K^}fYMw*tuiMzfSszPK3%x!9t97S4Qe`XoswdPloO z@zZaU1HeBXVYorrp~B*CajQI6^4TV?IxVgqMdh2e;!r)4p_|T`EWKjw4D8zP^L}Z^ z##;*2u2x5`23@&oqXT4avbw{n?=}xxf$N5X(E8zs&iv7H9SU05G-;rp@D1Gn-~LJM z)lJAEolt;vL9Q4hk+t%+Z^9ja;+%s>e~%IUsbHQ|=`Zm%(=#S! zwvZ4v#tKt@4_j)WobcN;cYI78r2BU6{cD5j#Bp3XVzi_~`%%jra}z39bggXOB#Gth zPtyzjz5r(dl_hYPEfQLEmx~6^Lrgsw7^tAi)y7#EC8w`LI;#Dfzys!cvIm`TI5P12 zMiU_E>oGHopXIklp2hav*4GxO4+Rm6{d%~JoIlu~7hRCIM z*ppe~kg~xlCM6oklXe-Mt`%nwaY6WL6c-m*L|+@g1%V=ti`FisL*by9QP0@(2r4U= zD{740E+~EbP9wXU}&r($cX07*L@i?5FR0pX8e5~uTGSVDXcSg7xs!lqYF=jN?uJqut7-) z8dlmm2w`JmT`FcI2Tp@Pfo@hhk!7fEj(0EX=eRh7GR~)XXt8TLy`)K_XgsIec4c2> zZtiqK6mz(jjq|p)(Xj3jaI5U_ayC!A0{9A?JBVFg`!sL7X@jp};0SmFczJcTcJ+DN zOc$NM#sWYvYxqe7)XB}gjjJ)8yp`N`bk~>Mpa=MeIF*n{Fb;cCl_$B=00yVwF$q{g zPJfl8z_$GpGc=YggNM%W!62LH383x@=Lyd3l?$9(!ml+si9a=jTXWfS#i5-)JeO=i zt>lpsEg8)9P&ck!A=Qt{8+cR08mNtClIi`gis;^+%A~=w66HZTg!)?fG-b1Qj&%E?Suw+MCD_W{r;*JEehM*sn zq^*1q2xeVJp+ITbm30|(0JJ| zumbOy$!g>c5a@g@|1Btn&Q?Oz3ACqbq)&RXda#@e*k+0Dszl``ZDKn~D}!?$vOC5VJ8>OTaX0ro#2^ebQ=n{L>I;t?!}CuDkNVBK zlbN&_`H)47y1fB&jy(kyXP9w9X>Ld~X*y^^ce$Fj^mG{q8)Xqs4*_`ERN-9`Z^2^N zH2MqK2x^~ImYB)hfWMJZYf1Wiw+K+QstD7gfMLp?Y|BF z2*fa%N^re1CsEPl#~2dNt14<%B_n|>50bTICDqW96`MENLw{+eMPF=1_k7ZT@DFs)y&%qvS@oTgk&E613$r z!h|q8If%!(C^MX$r5&UuPil&av&|?PAPFf4Q4to|q!dKoxYEy)KJyyY8yvnLZL*~* z=cW}X$7ISoph8UOK?8!`wVUhfx6SY!t}E8A9dDbd*SryEZf@M$-*%nLfv3C}%iFt~ zwZZ_My^GtMo99hpBnMk;t7))(rWh+ko53!R;v4^RoQO>mz-b&4Bv>Zs+j@DYdzs6l?bu@6h!9~}9;ZC;yB zb;n3a`Y1mh*#fen3@TwK0_q5^g5z+{63$2Qa;f6?>E%$=YK6~&Y;zClS<(-|1y0ak z?0q-}_pftae&i~b&vEmYZ;r!zgZFQb#=dia69ixLqlw)o0g-jyvLW9D#(o5Amp3-o zcSkir>-qwKBTio3HZTeaT4z6oel+ur7z@5iL=z%M_#k6mC4-drK%^9*k{g%~xS&)f zP_f7@jm=3!W6EwVjonE~U}McKjqOQ5<#E1=aJ|f|CVcv}Mx(4E_BD1qp;d=+>(MGp zF^}OwJ+Ehapw1auuiYF%LRVegy;*JmKD|ju2Xwe692n}AF_XK^PT=NkJVuD4R(VzF z^vp+(#q>{UM@`tGcATnWLRyp`cbsT!_dLx4U^e00khtfO(7`A!Wk!}-WUxK;An2K- zBPC=*OSg0y%O;ef5-kWtwIbD+6Z5Exj9vvBf5e!qeE}c``437XmbjWmaSbB{ zSQTv&V2g2{1vKIJFw6vZA_RslhWaJyhS{i1sC+`+Ag-KQew!qP(pm=TPdgF5Je#nFfshMe)ad&=t8u|E8y5YBjM|=XuCoxyF$vkhBQ1QosUV$CZzvig1RD~ zu^S19In1lr3rpQ-lQC06=|@6@VKCshuTO^b0!HeO1W-4WxYGy#DP?8HR91&fe+lp;`s`K{?p_&QC#RwjzQK7pBt z8=Vaw5leN<2i+htt<8$&?U~G1rXu)`P=UF2nF9VtJxC=PX`pxM!fjPNVY3O4M6FHm ze}64!HuvM!CqYAdFaYq6o~7I)H?un{DDNAP4-n=Y%J)E6=1gXCd42Lx#!)L}fyQV? z>E=9Y*=4LgOmwZZOCK!YuCsIV zs=s(-E=p6=h?bp7m9gU~e76jo=cs#jO<4XNeSE;P|DxsHSDVipV!4)hwtSQVMfrIa%;Z7xJr8wA#IhG-xukLy zW*dzW+o}%gh+uJUX1nq-&$uWk56U~KGW{=b-7B=YrA0Q!)>)PyIF{aAGNhjkZUH{q z#S$7m$FZq7x&PR**s0WEf5V^I`tsSC*{xBOq!ZVbsmrs+3rkcu;S9>}FnSnE))zN} zFBJrq5@&8jMfbl7-x!68``?IG=za2tJ9ew7p?q>LqHx>S>q*$YrU{6lJwX$$rkdJz zv*UEtP4X^=kn6Hd$Mg0@l!&T|&lmhQKi6z{T~T^M8!NI=)WX{0I-T=ZfN3uPkckbHw@Gd4+A*Wy%;8RYgAaY)85{Mlpmzp1b z+0=0Jb$aJC@atyJsJ$1~f$PV;)hF|0w%S{bAJo(9-sBrKf7q3CeTun-`#Ml}L>-Ox zZi$}MoO|jEzR9{QkX}ibZ++)}{RE!^R)sh&Mw-^C^fk`xb<(!OAaCry@c$!@e$3Cq z&*A_8kXZu!7jYE-e-uZJZ7fagT>hhtYS}t(vLXG{=m)+D6OuL^t@W^w$C4dNJGs`l z9{#;HIl1r)kd!EtMdSi%x+?y;-3FEDQb?&T&TZGL&1GY}Z_v29Y>b8hI|A=VVnUb9 za9lsvX$;Cn#l%bw`Yn@z-YGFnoZpd{#ewoWmY?41%=OmYqEmqq`2uz1#i&C1N%|3> zM|zH8)}S8*C57AfDPzV+VCR|9=$Fi-);pr9Y-`D@dwtYxe&No245F0Nkb{$AMHc;t z{Ht=X4dORJgp0(bY{iHJ^9Gwm&$JUi?4#g7IYD$% zyY?1@lutlM=UFvYjNqK2=id)C-pMO#I+LN?EEK<+ zm#x&OLX*JCNs`C?f$hJC#E&USV#g3hpIeDy7abk>nmnM$l5y?JouPO0>-(CtNRi%q z&{`J|`IJN+RFcLtzV@d}reTCDRaQ{LiYa8K^` zSyl4{>^)X!1TC5-wmGWhIB4{oBsOsC0~me_Ov#=AQaMH<0ij(EQ;|7t2~xR2f?jI) zI)f@FctEgT_yMe{I4|0?6`j{(9Jqnv&26foZOTCV;7ntpeasl{b^RX_$m{cGABW;~s>?&b-3Q@jt5J1`k8p z=`p`KAKaH{r@H@^wx1-+YH~9z@8xCLshu2Iij64!E=E3a@j7~w?ZQ2$ELbjlmqw(( zq!+5dn2GXn?F?4POhvS-9L~I(E88$7Y);b*O1R0?J?R1FdK_AyO5r?Y7^-M9htt!< z0w51xBb5weanVPS%5p@|d7IpU>-|}ML9`?aa>V|@geOd+cse%8zK3v{61m+H{$+hJ zFCCiTuaze&0>UG^3j4F$67fEvo(_A^*&`6B#P0E`2X)(9Q?~Jz5R=PMwVG+7dY0H9 zIxbp51l?81P0ok5lk(e<0PP$b#;cq=4Yx~DTF25=B7b`5cH(ZqTLpWUqo?EA=i&3% z*F}?Sl;VbFXEtA30+-fWsUvJiJbQz=7;c!gX=J}gzXjdFNsKAOPtV!LpM;XeFQ}Bn z&a2M9usFmA1m^tR&QqSHd@nGo{5rFq5uiQZvJ(uM9d4T3`t4q zN5^o1#ofK9+cP9-T6Axyp>^fCLGct**v~LNB8EWa=6l2u`G5M~GaGy3wVLpbXihub z;!n_pDtWiV61~VFiaCo#g}eiu*(l;FwF>MX&Hr@58@70giD=={IRTFKht3VmN1f8x zao$7>E9{@)hy#Bl8ZSdf*Y0DerYL}=^TzS$oLstP^*LvcY zUA4wW<7uYr**>C{?=lz_3m{1J*V;5|wXy-=1l?e9Yh{pu!KI#OUuA<;_27!7Pg@rQ zo##Zsh`dyYZOX-)4ve*O_m9z_oN!!?v4rfBG+3$J$gwIVL>vH>(UFM0WoI*Jf>dXt z{LURD@Lvgr7wrilTY*W?Dq<44Qt$U>!`xvbm5?$(Z!2OT->$C=BJ zm}ToY>j>r9&^7=Gr-1rPJs-!O4;YD{{H={7ZSh~E$NafGRksUtrsY3p++o5Ui{HsI`0enKTjv<}fV4l2@bvG{73-SZhSFkH0)<69xb z#jpwgaG~smt6pdmW`uqB&55BeK-mv)%C}Eb0;{nt)b;<_-)29MT+L~jbb9kRW2__W zH8rs(c)S*Ay-HGVHD02 z%Fkxep80cj4!^gRfFm#%`32naclFtK{Py;9rKBL zDqYq#iqPzAy_xv-MtnuM0bkc4ut33OKQ!5U^moJ9&V_qp4PPm$_z_7!%MUO%Fsamd zX-yovPzhdAxr#N(2NDfkMQ+XW2))y>$zOVR3 zdeKHmFG2?a=q;nXe~s@~Ws!WdhX2K|Cui@TXx&=FWgvwA6d=U!{rnXF&1F#>)7XH1 zZKOW5e86Y3d<4AIhohoQ7SS&PygS*dMZ67(-F03pdEKX#+vWImgXIr3U|MJJl*eta zNZ%8pmNZJli2sj9qTFG9k!N$=_#q(;8vN$Iw(I`$clJo*j+JunBldrQo)F=*el{ck zz%Kd!C(v{9ba1i%2lPtRH2(oT1i#Z-0eu-NH45s7f{mi{HmOoM|OITr7%@tFhJ;(tUMBv?#u2-LNu>@m64I1y4M_8?=WqL-0o`S|{HoR%pk z74wuLeoB%`BO{gnA$jcsrK5%Z=M9zK4-@d+V;^P{S`+>Z>AEAlQ-^y^kT@uD6yrqp zAcK{V;dPQP!U4$;1j?4W8&4Wfc%y*`s6-yYO@SEKWTMtZ3LQ=JEX5Hz&v42W`?sbn zKx6f9b?fOdi&luM=~Lvphnu6RH*Kkm<>3K>mw*WbR~A7D6r{wSMpU?liG$3o9|w`m z7eb4A(>-8l2_KF~8X2$!?3v?DBH55AZoJ5JhRz_g)MDafuPkLc6n{Q6{WEd9)`d!M z6g5NLSChELF&CBQW428uieX9KuyJ@7Qz3e3h!>Va?;~CLPj}MsF>@Z;0qLweGdUP+lTtmCQ zzuST?z&DK<7t4_?2WZrzJw-rpuh&ZP!Bd_}6}cK-d$xs(h_y8c8EgWs$j zq2M$Ga?QPsk5xrI*S_SvvJOdbS5Q0YW6y7+(tX3{l=%ba$pFM4q@!e56{lLdVYSo8 z@sa4qd}@es+&xs6W!&#>5^2z@WSzyIaBHM3sTBf$hi!wXD;Mh^lToy(E)eSkR~aXU zkEn!polU)RO#8|-VCC$AMNqr0yOf0C?)l3mY44{6QG0CH%Q4lRDC1LXOD@JK_9-q| z&D@FYJ6#nEkUA;;=-xR;mNFAZBI8=@f9@O=lK`J*wRYDZy^C_H4VGMc0}zM%`1o!wJn{Hes~pA}B`HD_)=r5(wl%->u{#OS>kXPaXbB z--Rr?miBCwL}16R#_{lhr(Qd>mh)bym#he;7{fjn|NVykPh<0Wsegz80RRYr{cnv8 z?|+qQW$8`#q$t&eXhm>i(qjy?i=;jazS4EcrjCEY#oMem zhH{t{RG{-NDmW2t@2-LWQ)<{{)StZn6ax6)O8uXQ^?xpAxBp{g#?{;k>(I5RsZU;;fjyUw$S+WY$BoWy_tnwU^S6YN+5Ssg^#V6i5S z?mHgOC9}`0<OWXz!c>Otu{PB3=Y>Uoa#=x+T`bL>afJMRG`(PdfD`2oUPHP6ZVSX$=Bz32MCMsqIZKIPJR?*N&qwN7?~b4 z_YjwE@gDkwlQ9ATBYZ6jdDsdy6M~MzVQHJMuw1fc?Tz~qWPKRSP&oDm>1#Df|qErGuYVeCNJIrHW?n2rEP2#y$J&1WFz z`VQj7aE#U@Zup>ARXO?i;;tTe39l#QIJfqX)Tr-A2|*D}M3_I>^ke0;nX7C?04eLD zOHQ9xpoPh=p})y3AF|x5Q*^M^lY;@5M-UkWfh9^?8|+%;BPfJ-auxoU43Qy5EhtC zSwdFrG6927j74}15pK`0+Al@d84#qD`*-qj9m)WWJ`7oc(hn&Rk4~E&9VLn6f_)wE zLKG;zw-Oa$hnC=h^c}}@MI-Y*)G0m@z+x!tpIVOR~S2TTE4g@6% z^PzK1g;JPcv{L5M8l08)P;b~FE(Cf5!m5lK2g6RZMFGf3aKaiH?9x&>U<@k@9Jm{P zw}TmXu@9`CZ`H~BVU*{Edpl>57s+|P)fxN!fI8r@6JMFUvUd41xGQ zhC595&_Djoe5K|K4(K0Pc4G6s`VGX0iidT3eM1-G1{D69Xr=-SG6APDSi}T!#qAZ2b1`JTW?Hs}WChun|Y-l~m(({*+m{T?|w#y#kQ<9KCm#5yn&kBh>6L zLC$oHpa&gTw}B1JfHNaUNev^!>~Q`qrg6`mwTAW|^QR1R5z+A~9BWDE0HBAVHHa8l zxZ}wF`clNi2^JWj6?^;#~&a7~6!+ ztix59Aye9N9iR%zXAJNB>l$%AVgmk1q&v?5j>858OWsGDOJxtp6Sk#(ZC=F(+Y>`* zERC=E+0?vRzT8z07&}&@Dlfp6XSSo<`M#D-40RSF>J2ndEQj)fQ9HhvD=-@HU_i}H zorrGGhN$LuzRAKUGiLZA!bb|RIhCN)fW(yIqx}~|S6gX{nq~kNKNrv1QOtMtDQ?iR zZhYB(&o{{8dkbMHwi0i6LGREU%8QGEW*T}j7$D9+jQPB*@~WbER$`JslY<_msj7*6 z4X(l*uB=<25^83Y?B!fH(u{>eFr+{{o8=P$Q*LmEO;aeqscP2KxC9?27<}D1^+;c! zBB7sc4U3mM$=(zU@Fr_KoCkR29{Q1|*HQNL!$76T<$sE>HhT%~C*~Z-;8Fi%pYTW$ z+_4)F4rQwr$6IhYo-x$hE++F6XJKPw>o$bld!~IADYQx55SFdX#~EdjEecsZ4vP~3 zwZKB1njya$UO^)1F%X&4o>(n@KE9GTGjd~^3YPG9tC;8a!&R(-{#5F{<>nGydI5nK zpI#aDl@P9|hiOqxO&Z}bTYj$TF3Z)X02q7aoJu%V;ZWSS7ja~+p!2*vWplMVPP$BE zJ)5$xBF@mh8;$ojqli^M$|-;EX{>w88eUcvjC|z6aje?xh$yqAYOkVgZkjn)wx~^v z`cPXRmQB+V}O0L@<&T zJ~pbQ^*&;8ksAL-8G5p01U4IkM!Q~rc&%y|Mm!3p2pF9(t!-91HB8*sx=$`gq5;%P z(_lVHqQ@=!LpSI`o6O;dCtlE4U&|1Sw=_k=SXXpfKd0J&KS~3T^lvm-vG?7C3fH>v zRn>kSOi1~Q_Gq4pw8#9#&MO&u(ovquP-rSW!+0)?3ov6JL8cAkL6#XPBU zgv1|HQp^p*cq~A1H{h#QJEthS7m+ZNm*^AZfVVBX=q~G?GT$URJ$+2aR&`{`W-1Y5 z{61Osn9HWFr)XkrmE#;6lh|76u_m-p3#D?p0v+3*s6thMZaM99u39@PChT4}j!}Vk zNzr`iUFWZphINqyfcPO>OBWes@j0m~+bO>&ax&(w$X9X^0~2DsuVrU($D)Isc<}8c zVE{G?(0U-VDW(B8wdC$iUI0iQsuLzM*+FO=EMOuJzwsW2$ar-GSsZed2t>!K76T>@ zFgKvbH&SNn6V)I}d569**6HZjwk0la9eWQ0Wbt<|zm8p3{Z`8@^~+)fy9k8=i2v!e{j_=L)gI}z zz5aw7|Evx2nomkpA2F2&(=ob`yL#TeYIHr-T>Wu+c{uk>BX(k|>-~Cp3U~JSZ1`Pr zQ|sJL%8&ydLPF%_Xqxift;_WdFnXY&RONuz34~y4PEGKPB{F9Yt?kexyfrx1xNDpH z4qTsYGAuKEH+b&+>rvZEz^Ykwu6h^iR>qsB7+;#H^J2$r0rFI@qQlYxB`4S2+_^!p zUc1h6r{9aC?pvqgnp$Z72~Kv7B_aQIlX^sZwiscsYBZKpZE}SB3a6{{`>E#ydhpXy zdJSUAv6Fk@MIt>ZFWX0<>wo|rD|lt#js<*i@#~80^qI%{*G&}5d z(^vTmOnHBC&@CWo=ir#8)K;C#G49>wGw;F{;}0%wirZR37VMPM0h?_y0x* z#nKYid5=9eBWd@jLOiYx(eC<}KXi{$O!rHEvhKXAdp>$Mlj>H*id(rf&@EX&F;*0W zcKy*-JdS&LoCqH^T8QSo`0kAI^nCI-(R;l?>k3W%eD)&Li^6|M(maN_okqk=o@zH< z8OVI8G+}kpSq|v^5?ar5iLSbG#Xlul=e_ZwmAp3IKDX)_d;Z@#JA=0Vr5!u~K!fOi z8{PkBmcrG=(#H88OHqxsskABfw5?xHVn<@A-C$X|IN=J>K9!JB%pm!pRBeG~X-hpu zZSEdRDA3b=dR7CPSxgCB;>XSvWiWKrC4)Wt?4p?w)I`kWXOs7-sG-Kb@w17jb_;}l|m*n1Tvh^4w91y ztIj3<8JG8Sq+j6Oy}^MVisyvp{GLkx28wZume$iu(S^V`6{XoS-o_%@=rhdHvF6^4PhQV`!QjZGaIs0XM9tpFU|s_XHi)1v3;>l!^RB z4p?xQDtXcbA&Z69!QKm(a1_P{3=_7w(}+uJ<8@?|(c}cDN7UqfhrkHnODx&|3CMg?ik+BSY6_=5hh%c&n-+Z=9ci*-k{h(6a>cUH*4m1*pTnhDMy+LW zI#bMh4h%{QIdOPPDden*N=wB*mxe9r_`|dezn?aY)?Ru^dpx)LzOZAZN$DOg89-}2 zi8C$lx4t?X=EOXPFU4!qx6@38wY3hp; z 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 =oFM~q47yqK={y%fJbeXQ#kA{gw~9m}xQd~S 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
{{i9);8h(0w(=>8;@;=;w&wW5V{Pi&XP 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%0D)+Y(T0N8wbn1QafJ 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� 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

v z_0*%K@l?qCqZg(Y4=w0`U4`%EJl{^X2jZt;8}H+^{T|a$hyl~RpbXYFhdslb8uN~; zihaTkbFfX2gRSAPRiMt(@?aHc9`CP&Eu@EZc)t7BVxG!R#BxvWg-CRlFM1~@lAAr9 zWT^muazb}9f4@aXMrEGrVFIruC)}BiUMfwgZg{X3YIPNqo_^u&lXCOaB}&a)oh6>` zU2rf}AEHK83bNWNhtOq-tg5A2>6NodzG%1JOMz416 zn~q;Fc2=H}Xd~yy&E(4$!uQ%@90Z#V$3loC7Q)e{62;7mjV*Z9VFj{Mt`#A`=gv&l zqILT=!(oFlVU`OvQBs`UP0Z#oBbaVA878II$}aIF4>&pSMOrS5fUaL*(v4Mlp?rSz znwXQGMS->? zNu{9%=!jbZm{C+M06nU*TtNSMDfjRfs0>y~^cGpUXseO+7>l&`Xum4-*-!3}otB*m zznQ%$z)L3*ItYiTVPHk)#d0#*JDV2sOtt47s%Y_b4`A#>MKvX&B7p8e@UWdldsC^X zTS=igHZl+UsNn#j05|UCPN}X~iQtBh*h+v?vu=%k-jy5Qfw@ns z)xo07x1bsr+M2l+q*6&r{&0IM=_=UBy<@Q%3N5;+-H6+=^=bYpkewNcH7Yen2A>mc z)n{vLpiwfFO{f9&2$WaKaxJ?T_pI7$GoZ&O6;#qsj`%4#CYo7fm#$Fmn;%^|w*8PN zSr5XV&eEj3flQT1+x>gP_I&kSypB6LOY1Eio;L)1<1nJ2n+gpf3~1hu)|f_}HAKTyOoSV72ygWsDJXC6qO z*T*X80rxRLB*!$>+|MYxh!032UCM;G`I)li%d9%*|z$efjqUA6LZry)xe0~XAuVN(4Dpg z_=8CRsnlO0@Q${OtRUPv3HcsbDUCVZTLUMtD=&$}>QPW$8H)nXXiLZ?f!!updd3-q zr~$&Vy~s^`GfZfrC%Y_m=TGk}d;6Dtd?S(k+nfDY zJtf@bV`-zw96VKjRGq4Wg(PW3(Y1$7r5BnLjZmn?kyF*qKpmB&AV+pumFJaqtNlnS zyr%g~4hiVMeuf)MDs6fSFjpLVZvORDoW4NKdvD9p7{d9HEz_ZXi%OuMvtquG*&rtH z9Bc<|6StGQ64PF<*OHh?(nbeOPZw`(Yb7fLVb?0X;oP}59T%^&GpQrGbM)@cqj&A& z_R)X$-`zRh==9s~M)2P!efayX^Wy49w~JrVa4!S@RFNeTAPmQyaiX+s6~l(7I<83ecpwfV@NA@!;foT_TdHjH}k_7(-ny_Xf9>yf9$>09n- z?)9S z5@Vdw*Rw*8I7=y_@G*xaB6cb3ig6K6BclKm?|CiXxUf?tH#|BXNZ_)f2p<2(5(7Dh z%1XmLJi;SYUc^vQcLMkriLI{D`4r}E6W*`$a(@}yGT*&lZ$(oE$2M)JVB0QKgYp@0FtkU=(tJ_UG}Qw$A8 zdWYt^DUVXX;d3JXOWh!-zyqV~t_7UeJhDX8`5$Be$+XEOhJXLUm3j8`fD^k$lw zg5fDtSl3H z1bxoo*qg}$E#jBf707d%L>ReIUe2J83XZHCkWNfHF7@Bu+A?T6MZSJ)LAF8;6l@PT)la z=9qmspKL*HhSBA1IN5bwzZQAMNmLCQp-MfA4Bl%oKBbU*lB`FGH|eu9IN(grq;+ud zhs;Fv(z?jMOlR8R#;#?q%n^41b1Y>zxC{60C%DTRdc{@ST(B`j8wkmI&IHh|ijktsu4qrWH?cmtg@dWCXyFiAo^&dlo zayMxWi%Btu+v-t^O{lZBrU`>wZB#hK(s%|BZ_*w1)$V^Co;=@sak%@saiqmYK@TA2 zs+1;lm__r9KG2_7(MT6|Fv(xfR<+3@lXy zrBiwQVl%VYk}`aS{!N|FRec$aOZ~*3T~;@of6eJ^({XknW?owUgJHJ%g<_V=yGT(= zhd6TEl(za+*&=mtTXh|1pma39vb9w}aTHU))_(lhPDKY$V6jwAq0s;JMJc9@c2-3EdFjZC@=V*Jmgy z9^NY+Jfs;BARzwP zGdUcyK}@Jcr5nf%BywJ8o@qxK*=0)8cREI_IjdC5E6EAOGs2CaK0hF|TFuB&Mank+}2QFo} z$)7!Xy1<}u%=jJY9B*#4P1tz!R)Y$(I$H0bjR1?X%ugqu-Uh|g_mNo!MsW&eH{SW0 z-B;S{>sDhwy*z6D^5X68FMF?_ojlw9h_EhB68a2n^lIRLANxh5oYAhc)BVxujT|?G7)*1ZU?mFA|#+#Z?@oGX=j7R z4Xeza^5DlGf85@B5Y6GDLa-jF`ObW5i1K45-HC2VIT>y;5f)BrdJ~K9HZ2zUm?1?I z@y!qJ$@DS?Vy~>~Xr1>;JJi}$gd;<7$s%iy#D+vk##iW2O$fWZv?bB-hsK6F9G|KL zA(qqmJkLhxy1OI2&djtf1RQyC3zEk{R`+n!UllT1_XsPG>qnbWMK>95$v&bC&8a~3 zh&zdZPkB_;pNf2URjc&=_PyQTM1_Fy!1i=9ER>f)owC9 z(KxFc4K`#Fhg{ovEk)6vc{AP>J!y zR`S-HY%*q12HB8G$l4ai-xYB*CfzU3LA(0&X%CSIpNe=(j7xMqds`-vz*6dH@a!pYXnbt=^nn(9g7;< zw#2?5SVy8ldMAJkb^tAt6fBp`1y-3r`^jmR86DNA{u1xm;nqJs{Yo$K)Y8DZhzg&< zLG>owOi>YXxbw7p(O~TL9!)mWN@TCJMy1*fQUR|gf_BH;A~TvBXO|EQKxr$j5WhRT zOxW7GUINQnZC+j;%)t^nzsy{6NBe59Lb6HKU+*%P5iR8)NLdF~LZrM}C8W3l@z&Z= zQ;ime87qSzd#ph2p!0M#^U#q=T)Rms9|+?hcc_%-v|cyy+Pv)qGp7cjE*rTh6Dn!jo$5RDuE^MIYw*{YZlhS+`j^gkWQH_Li%pQhwP6yTt?h4e*JLwvYsRfVyv{~T zc}_GWF_$mc6G@gzBQ;JM)Pq8R>bwNwsmh~`P@ohVfHhJN)U9j)7vvj3S9o`?x0hz+ zecr%MeO9Jj<9U|-QyLnGkLsc6POLL8*lk!ptFOW7(i96m;9KT$d8(vLumL{MiJ-bB zE9^^pjI_1hm|Bb_r*gD|`NTZV)S&m(0UVr7!9Of35^3q8-Vt3N5Nwz??3ek(zV7=S zYtY_Qr5wfM<2lJk9Cmq6yjV&O$s=sw=lXzl2HIrOMmGjQ+yj%W!;G}c(}7ls`Dnwn zoLED`ZgTQEot_y3P(g}BKuhR&5f7%hzIY=cVi`BP-o0r*%L6x zvnYfOxN7b-)SJVTtEeYdS>Bh@@d0!p$xQGGFpo&e^L)Gz`;Pi6qk9_b(Qz@~1-@Gr z7nzMP)ygh2F&-D`EYUvA&YWZ)^5x3CLj8H2pPdVsf^Ui!qFR}`fT=Q6)*2Uh$LM6!Oeso0rd z0OR~@Iakg~$gc_P`JD%odY4&#rTv<~hbh{#R$lH4T zR#@N#1-}+j+#$gs3R~e+x0$#6`mMT(R_aJ-OKRIrm(s|b1k9Bb5M6XGqL>y<0vm0T zbE+v;y%hv0lik8pRZcv?akYVTb1lh6FwUzrE1&oig7S%3&lcDhOA{#IsC9Dkiw9fC8X8Zg~9Ld}XUeJn%DPfk4PV-cpi78!PjLoYG|;mD#o z{Ls+}L&d|n^G6sJrk_-CEdlq<4{Q`(VFSK(ugOtU>0x)@+^6vr)GW|*sHb+I+Lr-# zkCXt-+K9}s+>hiM>FX7vkE~sEqk$zKTa3Q$;`GJOvT``jXA4Q;sjy@l*&pLN=(Q`JtAOu)EePsI{9O!TU;XLgG`h0wz48w$ zwb@CNnd6}Zceg#V9k(1RIy4BT0qr5@bUsCBDTvc`5E)8P3IzLMgV+h= z)d9NbLb+JDIps(I1sVsOv#uvsL2rJ=^p8bpjRX@}R38zFBk}$CDhBu&S#Wf~B$a3C7G0wjya=!wY=6N$*- zqPZ*zW*u1UB^%gN+~8VRgYd6N4=TuWs)?8^fgZP_Xh*U3ock%(75tqtxjmo9VaEIS zINzn8_)X#2DtiK1DBZ|z^xWHwc>extl)bOaz9VDr1tYMG(`uCO|0@;sDguYmnO~$c zK1+7!SqrN1VkWPecxAePj8yfyXjEIzv_RGHwQaG*D-`z+zR55nC%~@sj4Y;?fqBo;$kidvJ)lOC=IyYZ`W*9_4_xNY zP1+LmT|c7DQAuOgpFS^Tobonrfc3<{Q`;fyh0oXQo0@Ge3PapBRmFV&bebKwK8CAV z(OMXZM#X!YL3V0~hXKp;(F!z|g#Xi*#ma`10SMcD2n#9SL7*7V`fyI@b0m5nJcbS}Ec! zoR%fnqb$$PZB8X5a-5qqPJ;9m7R)u0p^SC!$|$f_=^$#+o!gm?T)Uswg8VsBU_x$fH$_DbA1ILiDU)?ddFc-h&n8jI3N$rb4D|6qc$wYE<*^ zSJBv2)p4&rfwPmIv{Gw=0#OnYUH^#+8Z$srxvOldRnqvXMA4*H?EVnJB0&g(3`!=g zhK;&Hz(Ya}yF>7>ZGeI{n|h-%E=vHg^KzohQP#iQvADj>5sMg#M#zS%)X>HMv@ z=b4P-s2n4bt2oG5BGF~v%+in3_E|QCi-%(VTz{77<8=gkJgqvNdxiLd!kxjLr|Bs= z{9?f_bd;n1`6PWS{t#d+oix06xPs}A6#CRp7G6Sb9$W!`x#}$#zxGTwkW=9iE_Mtm zzhSzd>!pMI3&{s8K*-rbTZJ3z8n;Imd2SE|b~0a1EBtry2u0?=S$4Vc?(mb~xjJ&w z$xg!*mSSWp4>|aZ4UcTCZhF)slEDXJfF}5wW{rumX0u zu3DK7=o+wN|Kk>Nc(R7o-r^b=U&SMjt( zjSqvzBLWv!U3$P3X5=Vd(({T? z8|rWmTIodkh}rN>bg^fb7U>rwvw1fYNK+8*uj^4WQ|HQwBD017WO!B?h_!j#)d#=- z;r@k<;pDSi949RDL8(Bp@^635N|SOzhh(M;D7BZ4 zMt{=jbooA~41tbAie%|ket4)tCR*d{> zR$Gi9ImUvVHQa%kB?wJS;waH3W7uKsZYyGtdWxzWh;+Ud-jV7b%6Nd2hr`?ICV>QZ zVG95+3>QVvy!!fx=<48Me8J5TK}NW6&G=V~PhE&|I|?~NhCmEv+S@I;lY!;&c_D;O z>7h}{f8I^s5l;2Jn~(1Y$u<7@02Lm+nTh|Y&QD(taCn{#KRkCaf3$bfH2^y4`Hn>L z&RI9fJDt#$2xJG!7lkxW6SUX^V;M6P1Kr-1)a^kmR8d`P^HeRx(^_WGq{BkU*Xfiu zoaukvl$){A)T=u)o(`@H(1b!Ir{-ppT|4Cp7R?7OQwJ zckQox_7@lkD+MK~Kb9Ns)O#!2li6p)U+>#go{To>V*5>#zda(jq1C?zk#ZhWz`dSv z-tXYf`qA`iYLY}MYxa-E_s69m(*3ZVqFNRJ^|S6KXLak{3hS;M$?{%OovPzbMG$p! z@8r8`Qjk#vdDH0XagAC;omQKvC#oQuXN$NwEC&ry6`9Y_xKbfsaW2P7PJVbtspiSKLzw`g%&z?xW;^ zjuYn#Cp`UC+#2{c&hguWV6_;&1<=(>m)J?h#a9_3&P;e|SUi@WKH$kgR;+r3tQ-0K z81yHLNCLKN7)X4ju|!qtV1;s!O-DM~`{&97ETet1gRgrnQ`fAmC`u4>GcnbQ2r7Dk z9LW66VEdz*?qJ-NiU?X?5qaAFrLoIt+J$Ni<=W9~h&H5{QoB>t!rHak)rDht+Racf4vZ7e=ZB<(@dHC^20fSX99tD{|^&|1~ zm~c>dF>v{vL2`nEII9B74HX7ZwBw(;js9xtCFPYyo8ka2rd7t1OZv{`HEI*`)4$jz zgdDQ|i#4BqU%JUIOGWastkoj(Ixl9%ah zCKxdxBWj~Q0b}ECa-wYCiLxBIr+jB?@!IX^Zd@HoF-W4;EH)xVAuF@_r4FPn4S!Ht zGc&{JLf)-tbEjbg5PKM*aLatSOD2&ykBPT8LK2FH|VTV1RB3Md60QK~u$sW)UaAN0@xnU$t z=@l4+KXZlrV0BU;wxrPEP8yb!Oqc@tbu<_BFXMA^XDyedKpuKVeySg|`T2V_MNOU( zC}sbwsW?1{R(9E23rf47W|}jmiUn`>=W^ZNyL(>(MAjl&Brf%y+jp&@kjLM`Bzw)S z6k|!sbn_h}4jF?hyd=7s(kmLQFr!=WX&t?D=%SZ(ys>I(s9j|z^6kyFS3Y(4YmkyT zR?);LT(A3RT0e@87?{64k$qROb#4t@|L~#ciajwj)R=H|(db}s#o9j7A#;AkYee~F z7?mipv7s#~@OzXBf)od46l4{x<`W#RRRV%$?OmUh)I~BgLnU#tI%GfJxH9Fa*&ZER zk7|63D1n%1gPp5p8~u2mPqL(~ShL9x^-)z?Xn1_s0DhH!+aD1$$jNN)tUxkRfL>P?#NjemQ=Vwvj>bSl24b<9= zxo880@pbjVC@i+r^Y4rVA*+Lp*qe({c3SDM8{?S#w{N0yB3vwpw?lVzTh4inuhke#`rEKSk4?4# z{k;cCOVuqn(pedqU$FM{LZvlry;&49GsFc3W?^_`%C0||>~ zr#cxKv%u@Qi&IT& z*1Yh5My|)8`1K%U|gB={(b+s=N9l{dKIw zvJZ~kW6Q%8q`(_20c|InxS6DpWbRSj$LKPM2qV99I)2i1r+ccU*4GO3|4b z6RP|UTEp^692rcr*xZnfH%cP>!TG8;(hxaY51O+uaIE39zL>^qu_5t!*is<^3-Rdy<`_NsS=mn65$Jt5G$I^dPaY3^;yp@ZwK2l_;Dh zyv>x2<&`@^dN)>dMnQxF%2Jccgp(fNXwo{$xyn7}fM|wwlFDmw9#At={rVd=lS&RH zYonK^w8Fh@(< zXkeZfb4NKIu--{n>g!_o1)NWA>JD`C>$2Ua z+uMImx$82k&cKZU&dkATC4_Z4_)|ClfZ#MrMgsrgV)CgT-M^Q6le3INS8eyF`Qkam za_|kX$If@tC^KSV#pY(!))n-%BNgRf3@RE_Qfjn7nJpF*ZFLit(b2*jO*t8ZFR}~b-;*ClkEg0^?b(#}!dQku z<<;ytJz2Iv9I}>TcG`MQUd3yFgJcX*zI1lOxw@b)^NZO8)_XR}hY;_gISVQt-YXtF zG;6wnRVf{lz#5M6RK@dPX~XVK&~LO`wJCgM@8dZ>S1O$mbRnRtAJOo{s4$~$s@HIj zr?Fhz^~&w=h!wH?)5+Oo>26|wpvD*<6+WV|N+;mj8|5RdA@7QPV5DRw`P1kP@E(f9 zjJ7n;3p}5d*{a)_)M|6Bc-t;tR$)=GL(9W+3GA_@!)hnRbn+=lhr?_p&f2C@nVc>c zGFl&mXBKi-!Ue-q%GZe~p%thOT~B$&bT{xH0lYQ@Vi34vgN3cS*NI=5K@Mbj!mTF5 z`nhwoz7k=ou$R}O5>6R;Q^*p9uh^CMRAlmYv>)n*vc4zWq61}Qry6&JraWLZ8QQ!w zCs0VARAC%MvyGbzrkVyXZtcO#4b;R64R^o(py_M2b>Lu*U5-2_m$e zWs6tY#~1nOJcSea49py;4ipv6OW&H!Lj){zLQTGxAWHlN4IUrUu93kZA7oMhX@{p& zdAHOVtPriZA~>u%&;bIro6VI{Gw4%@emt(^l`T$ zBwV2iq{3#xqxZYM^BWXI#!RtmNG6&Wc8GG$TTKj&HSclu0nV_idKUG$4-NMi@g+PM zq>>J3Ltl8emeh*tri^U^@>TX_h-_nB75noWF+8yR|1D!qYS-jTIH*W1_DQMH#g5?i zB?^FLQ`2OZQ6q~$&XzTi9ATbcqkt-bEMzZ3b*_4GND=bRvviTJbx1nZ%WMyQlu6vt zU;w2hW$#gWb;f&fo zeKh{(5z;F4Lg~BFztscjP-1TU4+W{fL}$j&6Oe`2Y(Kn_dOJY~8)Lz4had+Yc){QaNMwjWn7otz5Wf6L;_4zkl!E z-R&y6i-M2RoPkDr2Rj( zQ`M7gw(e{8=ib&&_wH`ibmuEuf!^qLIu&$P*+z8k4dBYDcLrVYUCBw7Ri@4M(#^MN zruQ`x!Vk%PZPk45I5gP}ELIpB8Bh52j8-4}ju2*3)yX@f8Hhp$qo(>DXP^1C2IBH+ z(;q~C-0sG$!NZ%`uf&PD>a9a>^SFZI=xy*xI-6)WZHJwjN`T9ab~x;BYNZv}R1KF>=m&7L`Z2m09wj7bO0PwBZ3bV5<0_K#r_q zb1$MJ!zPRwuID%zB?$~TRGy6S$r#6>osknPu}-FEPGzl0R3|1Nj&IcOZaifHh(IC* zY+wsyq3ZgZei$7q?YB4SdC&osEGn8*ZqvD54tV{A$2~%87MfkrSGk#W8qwitB+{(3M6UQKO;;*y#o+a`X7*EyB&Q zjRx3-mP`$hvn^2c%(vg=VwK9WU1gy85Am$-L)J(A2c zgVfgXzY+Bqq_&U04b`l1EKSkNhSlF<$*by^bpS#5Q07*Adx6}3WCEl~u?QTn{-xad zn#|fFJ_w>_#5nT}F3m{m6>GG9hT}&V8c~tEpVYB%i4GA`{$Nu0Fs)px$ z6g$H%XLIEYS2gGJVp=Rqv$$Usi(rf1%jI0%U+VxHq?WqBE#K&@n7Zm?8WBaGyI99k$NVG59XKY|4Pt(|v$0F0F8$=kf*3TsE$4_mP z>>Cv%9)DNe%5+34W58Nvph2la$K;44!zk&63_gi(<`f8F?3g*Rf`T`uSuXT%v?Hux zRJ0R~?o)wG!_=o*r(lDU1R=k5gKL0MCrMPE5=`r_URJ+S z1lUG#?xJh`uey!QTBp=#gh}A%xiVNlQiJgsR_10#CTJc$&{U~#-;QWT>Mvd?R4@Nt z+=*+(S#aWOO9;YT5ewOg@5Jmm6nuur#rGhct9*g}6;Q>g#>uhtL?b~7@{uAeLaHs_ zz#V+YMD12(YcZu)oT049_C&$H_uB2yM~jI`;`P~hFVV>Iu~<0d)YIVh(GHGx)mM4@gUt54nZ$84E7ar`A^td& z^f`mfOYFx$+)ml6qAqN16D<-9wh;*vEY;YUFUbhPeusDMWL2>-Bx z8@;-@mCfHesU>+(lx2Q8$zD_0WK_!*%Gj3R??KUh3oC2m*NIJoxkfx|Xn@+9kbNjfrZw8ZaN4(Z8$+ zh3~1eV7wkU42?Zft`6-gxuJg&+MPSe(*i>2EwZGXfN2bfzaPZLCDZdH#Zvr#ENDBM zjBdlKu-_9gVGJ~J?0^Wd|I8qX<=5fn7S!jopKM)q1~&xlw4ZF>9JFCSxqD;Kwyq6` zgN6emcLrYz4QWzt0ykx>bwfR6d1YrcjzrJ8=Bl`CtE2K54#_V>_vI0yt9Fq|ir(4g zn4s=oF{>oCtK8UI{jF{oz~7uB`ggl6BDS^q_thIMueSORx@-*S{*PTIUUL6omqumo z|J3EeLHD;dyX;}2za`PtVuyH?=(;fJ{Vj>F-|I#qLHD=syH6JK1O0BM!AeZ+IB!eb ztYj*tOyXw6N%2DBp#?_qC`TxM{OaG8_>n;6{ksw|E5wNx5-W2o5zjv|i68ELlk{KJ z;=58_UnfVf&Kc?DLB%1m7lk|h+svd!XHkC4!4?d?8Nyx2?d`rBjl1m3SkPSR{OMd0A!NjE41U1;{T`$4yfn5-7#`LZ z`BAWi9GycUOt5C8FAMX~TUXV({PUp!mk&&K1A~&? zI_a9&=#t|0#=94@#V1S&b}TuU2Rz(eicDuk8t~?fOKMp$xwNU8%kQ8m*6muGQ;-$H z>8G87Ka!YRa2wziQV>m2eSWqpteA@j!w%~Mrj-w0zC0h&fN9~K^T~NS*Q)Q66Yu(f zQ&BV42F}jFjVbHi;YO6pD5;#gawa4dzP|{+MuI}~=_OTn0y4&ByaDh#Ut#TnZ5>MI zWKjpux7Mg4C9-gAi!|%^H>4uAQ;{1CJq(7+aW)dnOsISE`!N?_SzZ=YL&Uo9R7{Yp z-wyXrjuVW3AyZ zpR3rLYwkZhS1Kivpe@f?w;M|;8X3N+102MZ=Zu+vGU`0x{CM58$tpiI+=}Z1$F3=q z{A^mx-ECIcj%Ts+D#n>%*h=7#$@r?(v{qxfMkv9RrBE)7??K))!UzFtZ;&Ze>va}_ z<#vyNIz73lneMJNFom-TNkZRgIF3-6gVS zkc-${uZmp6p^18GRAC$>V~l6?WWABYJffc0cwhbLuGMBQywa%F;mU{OyNse}_#S*Y zrZzazvc)@GY-})x4iqGn6#toCb9WeTP`&#hRJhCdSZ80yLl(20CFpHzM12^m$->|N zD%Ym;A*=xAZO*YMjvAcYmjN2pd+Fo2(_nephWo2)8ye{aBzOB`p3ZhkVzf7eg6 zNU7bIp@95NrMeHn1nprTu;6`iKH=;iB0EcG(njv4Jpb7K%H#`0myS} zAb&hk0D&~cqi7I79Kn~{(w-dUz7j8w2Upc@5m39aS47m8Vy)U+S`rzT-BBgPT}MpT zj9{1sG6?Vzhzc{`@66Mzr6mg5QbFoowV|uzfkE9v!*+wHOVBVx%m|r?DI|rC*faWk z&R(1wBkVdxB0PVn7r;Z6&Pv;Ad}{moHSMO;r z>eppHG+?|8hzxXlnyM(%$g_1_P8OqGFaSHX`8oH5?0+Vc+*}sJRM}eDM3VZ)9eu(w zNiSd?1V8?mi`J(&lqhyQxZBU#LLIE)Htkwm zl2d^WVeOW#DRX;Px3Pj2Yi9F!VO4HT7vh=dIMAxN0UKPZ2U3haQ3r+;`fS+Wy2o7a zKlrBC`{v&M@VC7;DE)fvah=^s>r!ybfsAL@hLyE5gY;fZQHhO+v(W0?T&5Zi*0B6u6dicS@l%^ z;H;{B_P%CRbtFnHo*X}zcH)^C2yATuHN&U7zZ1YoKWe1Nlb4H0ZuD_=T1emcL-RW= z9|(jA@>mKy!@lIf=T1`M_pNpgSo5j~>`dQrTk63y?0E6<(fF@c7dt&LiYI#wb1?x&Jip=Yr| z<$xs}3?V5*k9nNjG9(3qrlJL>oaRrIb6%q^t;a?h?Tz=-kY0!T=Opbgl0Ag8M;4h; zBvVA~DgIE$x3NV%#`6jN8R-Ga*iMvlYBPg&N{yuq01sI?6jn3rM!21ll-AP})|6Mk zr|20mtI_lKXJ!_Iw!TamNWGR(u>+Mt3rPO$Fb=Qf>LNRDx07zNpKo7TGVUi1MydF5 zUB1-7rOXe9EBt9dOe=Z#W!vUAUB1#vKrQ%%mB3EF?Jz4V_9#J+VPucYJ=i4iuy@19 zG8~k4Ww9ru_p;Z{@Nx7wqmJJfs1-M)7H@KIP zgJ&QXvb5iCp&25kjp|b0IX*uGfR{E^f(tQ;!1^nE&p9juOF6D8 ztN%yc<&CBiR5~!d5;E$5bK(4)<-`NpGN<4`gZj>sEhzQTy;9J{uqDQFqw;+iMwd8l z0)-kfl}t<14DdS-@`4~p0m_@4_iXa z)&894dH1m#?jYxGZ;G}xnx4s^3)12&QDbnUxRso794WdBDx8TjDxGJ_J41iILhc9B zp9ERH%vt$pfD5u%B)5?iUXj88(i*pCCjCsP&9l09Q#K<&5RdBHf3>4#BNUkmeiCpp z2IQNt)tmECfeW|<99648x(EaNK5}&6(Dpz{@b~AaElB0tH~P~yoh1zCOLrs=6UTR2 z_~yvXGHYqbJVtuVFKCBa+N8~dCXh(HYO?()mO7CQ+R40$)oR{uX%f9~9|2n?DjaR( zi>GeQw31E7C==2#4Z)3$d`|@B(QV1Lv9;SxZRqP7Cue8i5;HK7+}rCBvyU)lJquY# zRxdPWj%F$JX%NMKAr*a@Ww7IpEfM@iqn=A|{QXXAFIZdK`TV+pMOyYi z`^D(NZo8~wpW%?MW0fU<;(1UsUu(w=Gk>nyEz-u?0D( zuanu@H<5U={kWawE_J?(DPZr5Vl0))u%89=q_Pbc#`>ID1q$Ym)_yQ`1}IHPt&7}O z@3MUd!t*j4LFh%;n^y)FpJPgRxRW&~UmJsW?ErW{3#!zk=OwOIqJy|afk;`;j5y7E z)mH9tv|1U4vhA&<4cd*EBPB>VikzBEt8L{MU8QwzX|zE*n)J8bXyZWaiCugcD?;cfi6tK%EN@@1B5nUj1U5 zZm@Uil}td`k+8 zpD~|>R0M-RP~bJ6jsxopQ*SI=i>RoDT9o0S0NSL8v_2n3)z1Yze!p3qF%hc!T6$8%FqE+Sy8S|EiM+jW**NyI zBC+&cg;{Zm4D!-{U|yhfjHEBADskL~>3nKM7AR`l?UZvE;>bOS$I%|!Qc4s4a(9-s zjD>)R>FC2%?O@AXzqiDxWwnIWA=iXR=o|*sD`tQjQ}(vhD7t*|GKH^Am4xY!)RHG5 z?qic1m9F!9(Xzc$MWE76-pZjM2(R1GAEswB3x2FEZ6`W(Q$-6O_9186tdcDj%D0TV)E5vqzr1jLuyW*WzKdmikUcL96Sq_gQ^EYaK za&iqM)o$j^#Bi@)R6m^hs&Zx(o|D@->3mQ_9UNi9AkQ_PoZs%zvEqy3qrSKudk(&b zHZ-PPxjgR_<9z<9(}hT5Q)(nLMclYtZpwEBqsy1=Q-T zcF`OregJW8T{wBrC~-synCDQ9q#$CJc0;;Bf8x#eS9TN)+>Y>KI0}T+9bMlR^&lPJC$0t3H$uP;SYJ9SJ}4 z@fH9_eE6*8-m%|=)C4^k)nh=wz0`Y??xlFcn!)n*c<4e|yGJ_4CfB%3MNKXlUH!S_ zkqurnR61YPh^bt;7z?k?%1HrW@f}a%4OQPsSFq2wOM>pnTE{#J{SG~c01=j-4QMQM z#p}LpoO&oX#P103$O||*PVNLj``5drA<5~c20nPj_-XzU3W0xfN!W0Zr*5=3n~G|kcyhgiB_?cX&05WUNepiRGlbJc12c6on0=@{DXS_&u$ zpQChRI^6Gf114SlQ=wIJ6(8+30j=jh~u~&61wCS}UsQQi$L`Mn#Eg@pd$FMa?8`5rzaC3^C z$gxSLDBjhs3QW!F$K|8+2z0-nZJtG_jaQUB3DfWJl@SZwy#Nd;@G8+3Rp%p4zZ~Rq z!4is+(+jt%@!M-x_p{FMIyeP3o=p@<*4$hbd}Q3=g>Ic78_)}{iHlXw<#gD2MAtJ` zTGux~ci0ib;#?Mv2uCzE|3+)3dIuaGRdW(#K7zg^F+`NDh1wROjaR-ScMV(B6n|Fd zLZH8_o7oJ(+Um*2RZ7Ih5D@H28+l!*HSWw1eNb~pF4zg*rulSEX^bU+;xLw^2rh8H z$5el8FMpAV8+g`{2k)?Q=$?1?w?GQpzwH^bwE*plFd9*e?-s^KNXOVd0$Tu1{0%Z6P7*hHieFT!U8Zird-X(%OMX)I~p&9XQ$(x(|Jc4V@%yy-LHA};N#+HnuG@-0d2gi z!L;%#@wlBf8ra=AIJBrmg3?137!>m*U@TZc7HwywonA1!W!eia#&kR8dClD)>&!;K z-7t-icWDJNx74%3j0dpiZj50CWfjKPG|gisc~q_PO2{A2jB=56*(rUyHaFXOtr1yH zY%(884qoC}vwX>IkF59}=f;}q?z7@(S6`=HRZ5N!>O*!#c9LZ0H2j@f31NBhJnGDC zX=!K3JW97X_}fv}>QAGOyuczUGZQz_HAEd+(#Uc50_CQ|sJ@lzErEi=sgA}#&aD1T z)?#=Iyl4(Pp$k@n@<=7~h6aA6AH!XPgpy{N9nTI4j356;Gx8@=-k7wH;LS8Xhj{D6 zz)vw-Q%Z261!VV1pc3h5hN*PD#d?sDP=tq;AinVtiKJo$-Z7oZmuJyo?WJw#A@3q$ zt;g;czyQ)|JRHP?#%%uCrE29iwW4|2HY?E%Ts!M54P$NdMS;W{^_N!!EHDa{JkjdO zjfZmEYRf)VQsVU`a8g@KB{|?w@GHb-Y=K7+`M0{(M`y5^sdN8)E0^GXjr5<6j198a zR^Z8d9g6xF0QZQPa2MmCvT6)2zaEOx4mPBSb@jzq6C;ikJG6$5>2($6r-Ak(j)=-u zy{rFJ6c%=4i&dLoA#^LWQ2z*`s;!4yf)(g>iUYjtDr?AhD)>)89gutndxZA%kF~QH z6^xaGMnq}&0eRc}z+TiMDXS4`3gky3bopmFcmYKq;Sp@O3Or5nwpS+*Qrd${VGVJF zRQ^Uxu4>Ru{#|#JM`4HqAX&L?ZI4U1)<=m11!ogwWlb1f#UV4Y-~*eLwK*z5Sf*JF z$@(IL?Oz7iws{;0Ng0K~vZd^Fvr~^N-^n9auz;F39hS8kMB|*AR4#{`1KZi&_Ux;2 z4yJWMO`2iRXF;aG&(ZzowvUekrb|ijvH6R3t&}7$Bz-dU@o<|zHCpW-Yfdx(k2PoP6v&Sm7g*@{H!Ivj6Gm|E>~`j6q_GiX653O*g%ZwE(|%?al0?7 zxtwI&U)LKu;%GBlFc_FLk7QsJNk^aKS9q-i+~(Hz`v>wt_qN$K)Rb$8Uz_>wxgzVx zJ?-EsND5M@xCW#kRncEh=(HzT1_gZaRKsQu#*JX*pAm#evs-wcTdlm}!uK`sTR6vz zHY;z-EN%l=^(3LKsNut&-1p&K`^f5&ye*LC2$n2$5r zsw}wbWSdy@nyj_mZ*1+qUJsv#JXTels~)GL9AT7_wRHrtv~^lJkfqnXbxRwH<$yZ?6{teY#m$djRaZ-|pL$KCPf_td_h z%TCb8$I-|#R?(+!=>}e+9$bzVhwqQHD^qsB{i62uI7PkMm{oh=v#!=J!VYMbNiW7v`(=v=@`B$k<+DRLDo-PnO zSz5OqI;xL}QF6=J|7kqFB?0GhygAT?#p#{8TETVF=<-pM+7+sMIl@t;D56cAVa>*q z!HfTme89eA5{p%qsmG178`l=!9ebx#oQ&WA6fQ{U%RpTMdca`Q=9*1Z(}XgsR>jiO z`1qV6O9`N@7B<`SfuQ z%|U0_91FV)c%4|PNlley{vF6_@~|1Q`09bHY?z4#cg%|Y0b2ohI%Z8JZ{y~0M{$(B z$pTZ`bLnqKHuWgYiu2Gax_VAYjB$~eYvQ{@7iG3CqTUmOfSf<{wg6_T(qwt&`xgZY zhq)3hQ2lOE?qad3#Sq494Ywt`@oYT(GQB9VL&}qjq*QOt?W?JZq%>tUEMm?>NG&U)@QLVrS@ClN%s;P_@bO4lzU*>G7P@@)!~re5 zTD^c27s5_Ewt?Ys2_E7)oWIsY_-aKfn25F#NWw#Ydf?IC*_(*}6y07P@;R2+apCh2 z!=puf=(c3!-yXL`NIPyy1=c(WtID344?$zbNwl#Ck4h->Yp7hgk<MEJaxaZj%q0IpZVov<<5a;TJbbd z(K;bY;Sx+3w8Xf(*Y8n0ioU-AFTZSYV?kCv0zDFkbV;HrUNUT?@D`@7lQnGqBZ?;b zg^cH51h$eOne zbMKW}4AH}j;!8%lv7cyBQ{{@W4d{~9Gb8MG;%kx`zj$|l^O_!P2guSp{K)#}*~k~y66R~{r+ z#*Q#rjYD_6n;7QUi*z>1rQ897u-?DoXbP5zv`7RFCi{=7ArT_Fg~WVLC`RZHagP5Q z)r)GWk;21Jki)q@@XW5lLg<>*jQfw)lyXZRqiGnU6zUfMM*j5X+j6m*lZM44`BB+h zI1^!j{9db<{Q`7~O7%WFa>)}1gn2eFX9FA>(O=OE;cLyj2d-z1-ZS({s*$-Bc4VbV zLn7>AgC^2OwN)Y-Fe)mEU@C{*tY}D-RgyHb-AlXA~yE671*g#UM58SB9Vn><)1HB8< zJu?POcsx>UzIzN7#@PX2bKF2Aa!Xm!T&N|(rpv5O`WQQC8ydmPj^)W~*+kUTc~{Rc z5%**1L0M0o-(HhX7c@29yspbao&GJiC7{N%Un-Q`Wa5`OGaR<$#vrxpA_}f81TNA3 ztXkO6HADOd+2A1l+-I}5ZJeo* zQ+9L2jv)`-c^pFhFY-VzTgsVxF-6|mOCA7FO-bg>2t4#jWxJ=;nJ-SUlIWtFl~v)? z3ktu$)Nel5$34uG+1W}DMxU4(%b?m#y{V^rnz_(VQ6#oOrh+QN0Wns(fJ4RTAV!<^ zK!k}Iq6f)QdwCq78Pe)j4<_uJv{#75%Gea`4~#-d3nmtw8mt@?vmArjktl{qmL@Kx zsMK6e0KmZ+W1Sg_8C=RcbwH`2_#@wq;plPvOGE`&uz`>iR0{1YWKDshcFF-2_ubK( z>L-cuM1RlMCIb$X)WaE`{Z5MAw&Mjy=>pp%>%#F*Ee32?i|$=U2bn9I6UYO)Vo&-_ zg6`Y{yHqDME5d-7`kAYcdoJ|}R-efhEF|o67F0`FH;L%6f!g}^iI9)6iU9kD=B1qS zy!I?pnWH^oAWDT}-L7_5koXz#zX~-dUVYb8sM8*R>RW`^>h)b8%}*LQ72@a~V_-Z# z2+^ssVQ!GHoz?AC2flC*Hwd0^ffX6j3R4rUvZbu`*uQ6@9S###oh)Jk>2gZK5p!&% z!LoWT!hWvY9fjxtw>YmwS-LbUN~JWxoLb#I`pC^E8XgBorljsFHp)B~N{9>zSFC}_ z>=HZ$15H#<{4mF}zYcH1C!hI_V)pV`&%|gnS)v<_SK;mwlSl|Qn?$5B6@|Pa7&^Q% zl4|3ZV6xh#6Q%=WEr4MdG^R#yt0V?CeOF@@Aup2YFuh-=6e?W=g(!E{&`v|t#mFji z+Led3z#We9myHQjNk+kE_$6iIyI+_ZG3V7^;+3@5iHlW!91##~&5;!Q>8bl-X`9ff zL(i8q)2X;ve6Ua2T$gR3OmQUJs3y>O7=s%55v9zd*@Z@z=hw~J786AUm9I5$)O1b7qGG6*J$e#_vctp-HGNs87t`oQo>&IXfyv<7J*LBUW^h zyP{(?YSC;$43P;odq1bDC5G#|&qU*#SRnycgzb_Kj`nrb%roa9<0_sSra!5A|3r*c zUH9qDi|+hYv))N#&&hx2T+q$Hti3LUC&G-=*lJfYTmV=Lx#c90i&}H1j#B71G>RR} zuWr>xW>xfixfIv%Y6@1AXLAklQSJ3c;=gn=d9X4W8jo^qezZz^^raaU{J0{6lybK4qk|BaC5#A=3(mEA@Y<5z%i( z(oH@Fo>zLj15>UvO5QZ1u~gU92oO2lLHmU_n^&7f(7I#gT4g`>@c0YoE=HgJ3r=ho zMHM`42Nrt7w(rD&HepjxvoWs#04L{3n2P^wc!_1p--C!mkQx$cq5> z5kXNO$oKc;=XNaT#vWSKUdEgs?sr)6%D{^%6{GzB>?4U@V)J=Ty{8B0(^!s_@Pm*` z5ZHVs*Oi30bmqJ_fdiSpw?5V+^|gztbR`n2QuS?pOlwz5)p-dc5@5L}?GN)XTo7xz zfYg&o;We!)kQ>A*PmfoURu&(8h}n{Z2^AGfL}_@B@ms5wfIxz5Opw&k0$50p4M^Q{ z1fCbG9zlksbm#6UuFWDa=ibpf!A!!Hv-UuG_C2|FHJkr!)SK8!dvdn*S{ou=`XUs2 zljyDoSdF!wAn+?)a^O2Jf4$79n(a|RIl)M9j&tye!`7udHwZjW&S=0dfGH;9rlw0+ z*7f>G%4899uBSX z{gdcL<|u8}48WRNhu3^Yl;qMZ5V=c@X3TA#q3to_nTLMaS?@-GeBkZbl~JuHph@*@E2V zMc(`G&tfY#^Ves_YGdb0_b4u`NMi0$vzlPlPU`hGw!cZ@h|bC#BNElMok8qmaT4{kiLvR&W2v@3evC_Ev>9t3N zXMPnxrXJRcj}@ejo9clG&XF%WmQH7Y|KrW=N_B3w{`rrzOpZ0iI2Q{w4gk~>X^1ea zy!5$<>l39o)uj|F(GFk`5h{r(tCEVyR$yG3NxFlvy(YeRK*4xGo_{h7wX5X1q3i+{*mk+D@Mgo9@haYl=ijIZho`VqspCRhJ$1U?|uzK&T}4u zDX00=4%PD&hBuf0UCYx2>NsBPMN#!{7cNSxfQOzt<8Fj_p91_EoK|$8YLjy@$9Qt5gHV@msV1)sJ2NF9mj4yst^8PRDl2}2`E@i+N z0ZzgHQQ>2;{1uwuiZHu)rtH*OhQ!u!_~?a$(P)T8_Ip?5UJ$kdR15D{tT6LC_hMqy znH~3NZb$IhIb9=)QOVGoHpDT-(3&9c-KZi1=pwENOBFu0%OLBImG>Q;N%1HQ2l3ml z*%Hs{qcKl4qfzV3qbq*4Hvh}0pPfF$pPsG~&XNbW#5bsA?m}-uad3y7#WY7P?5wTc z?L_fa$Lz#8GSpunB|C}Dlzg+|6Y)ng{sbj$KX2RP4ew2!A7zIGy|BdU`!_$7s6b~A5=_J7;PGum)$t4t+tmi7y-JMkUT0r zq?jiXsWXH-?X8ml`xH%{l>?8587W@1Urn`2EjSaSEU_ROQH1)7vmfPNSri&(S)!OX z9EHU-6H%jBjoL5~MSt5D+I0dLK~`-4tvz$b$LD!&R3uTRavol%GM+)+Lh!ZV zYDH`Dr=81!q@gzr>0kQ8g<*XR@!Yz<;A5X=F-R5f`7Zda@>OQ{d*M6!nz$vNU`gHC zdZn$e^T@B--am2PHMr6{u;tqKzW8710qkop)^0WV&-(z5D#AFj@25e2`O`W@R~sJU zu>!8Q-1Hypn}=kzs>+{6f|5j zm#|<=Ty%_Nm1!@dIGR=)JJkX*2gf@RD_nt)5%XrQ9I{&K80>?wZa0a?Ev$x*ymI}u zGCUr-RoSv>oVEin`|91+_lp60p&%lO*cKqncen#CLy(AD#~{5{P&Df4J^=eE3f75P znkD5ih2_Z!6_zERdqOdrT>-CN5Bs&!I3vT5wtUP2$Z9B`vKiF=J7h&-4py`v4qV;W z3)2@?BLZmIxMouD1dWhgL@*2pw0Rg3bEf`lvSLM}wjoHT999<$MDvfKsf7{_EEljG z#RjRG@{kDXsgkt~D9nmPk5h5<#?n4=H3AGADc0#LZlJEw+~x*IKy5HnL3AD3U*NS` z^hwE~W2JTurfV=Nh%V&8{NYdobr2v0X-KF;S0Er9)&K6GU}!*4|IYud$uj=G zYO=PLcK?d9fSwEYO|c}(Z{P3G5AcI=t3aee$?>{?u=c2bYho7~y{*janxR9WiL%IS zU=Ftlg^90yyOnQ679eV6VVGKb;!?M5%zv=TFbQD@1Wf@7vkmH=q@Lq&tdw7@m%FF#d!9RV`J^ zL~lz#jf5n2hfLQQJ;d3c3m<{WXR~ zmEgV?IGyT9W3QwX2mnJ*Np*xrHeb?SaVnc8X;m^-mwquuC0BpQ#VgMvR!`tVGl6sn zVsUF|_Mpl=d8Mkbf>$H9Q|4q%1}gMev#CEZVph{D^sLjZVEUu^$m~esgVMSDuyS0ob z0rc%`?Zf5$`Es==er#u);$~=Uu`j2a)9>&pj&H!3;n9zm^W*F>{WqeN5097sv-{0s zjr-&G&5nOgw?C@a*w5Gg;a!>h&Y8H))zJy!ja=OR)A+~gji0CU{de6?yu#BLRlqlN zKTor_o7BfqO%AUA;Ikj!_v<@_2haQ6(f0WIuCUF;)%d!%&D+(P_|4xBhsV3iqbG)& zI6f}|zqi-@$3-T%1Ni38@1w8H___JJ*|D2h2>eGlhMvQ|f#jF7vLg4JdTyJWQ;du; zaomcR_s5}K{@l-}vfnpli|+Pu`+)c{#{MFLUA(4i1FyPWyqr&5FZ(z@zV{2J8dn(j zc}*ipHo2SCytq5MXD_gy9zJeP-*{9n-}moJ5}q)|-FWlH=Q@hKxPPvR!*L3otTqC9 z|5D`oMkd>=z& zm`*WZu*+h>W?vVyn8fD_QLJbnp_WVX9Ac(Y{QiiTBpM0`R$d}=>JAB{c$!`k&numj z!c+;v6g-?sGaRT8Rw(|slNQKkWR}&3VZ3l)1HIw`?&p_!bB&K&Ba$5ZpF|`@X;~?r zD1}5)XO1OTn6d76*cdRbS67F0`Y%1fcrAvwi%nMGHS#`^V)d@B9&-Hz)2w7s zdvPDI;&~HN1AmBa3!RUF43mJE2HyEztHhSZuE}qNq$<&VzxR{HdNb9V+T;ZiWA!|T zTa1zEkl{=5BWmYNbPP!d(=|kMtbU!zZQZ=#R}!f4Jy2b}prKtGpALFpJZZe7dfard zR-^>hpW}hb{f|AlUdbw9QN8^+vygp0bS&0?H62;?B4%KgZnxl$%Y z*1#q+e&Nc_j;qkBpQk4?6AzG2390@@T;H(upt@A@*`hThU(>nEc!H_&;HcG04URcV zf3nhf`T%~6jHVB-zq=8e?*MUYwdHLG;&t|FSb#ehap4>_iTz=Gt4$lG@J)<6)8}|a2jZes>(0LW$^XFn51$L=1%{cg z?P$Dh!C*#20OSN~1cA$@o{tRQgX20k~U1@oyv=lAvj6V#CF4=EY)x#JS` z7vvFyx9v$nG5svH^?+anthIW;%MPf&^7gT_{1OCZx7-3;`d8a$+g9+8FG!k&>gvVm zc=BW+rjD6>ErQ(a_s68YCnBS~MZn)-bqe%jzTIB=(S_1C*SpZ>RkfUvUpg{MZu0x) ze$yh`(en*|s-e9^LyHV?eAe3Wd5aIM!;0PQTqiAf{d6D=Lr9zvQBy^}|+1Fz{l8 zu9Bh=^gys&ZsE}gX~Md4wKH^S`R}FCo=Vk#C2{Kw-!!*FLYr2b-vumO`Pa5n9TZGfk5~ovL_xxVuSwBV4RMx9Al>}!r=Tn2 zT$ND8tF-;v1*6ffukVS7LQN}Z|EL}Zf7Lwsc|Le8ybRF=9KS^fzx+1 z_bCK3JS^ja(l~QD$Yfd$AAK@?1{-Wl6HEtAChqYW7PCOSGeCSp9p4h65+WivL z!0dv4A=I|~0fvtTXZq&_KEL$HfrHk0?_?lC1X* zQl_J9$>AzN?Z$6T82w}i{R~pv##N%)ho94jyFYMEWcZD#Ty5ChZa^tVgMUTP-<-?K zNEcQvSAk^C$N>FEkjLn=zLe>buogcb{oDFa?n^iI7si?Fq0kqu9q!)*i%Z7aJ`|<} z{Cp-2@C=Tvh!X%>goda8#B$=$X#=uXj~{b}xg>asVdPph!aFbGUoi%TZW^V!C~z2t zBthL<5YvF5n1(|2@jbW=GZky|N)n_fbN;;JJYy_kiu5Pe5n1|I( zu~B#&WAVzt6lk_DR1A}_2#C;RxBhbH%X`#s+mIo<7--@^?oXVVN`#ez!v~{4$%9Fx zZ+EUqtnJ>=bJG;C26zjmQWH$`a%@UCbQ59lW5?`+N%$(%dbi^{lmVMoEac&5?Yr{9 z_dMG;vZ^HyDlqm^Guu*jxw^`5$&vhIKgfGzwWID8`tL?12BbaR9i4 zGkS`nkv)=!PPbW6#=k3r3LLC1_hTfjjinK~gv(OY3Yq8b{E#db@g{r1z)Kj803ZSC zQEr-T1W72Z=n~*Y?3@S_8H~tNaOKuYIQm0M+e;u=(l*-R4iDFB-q#s%y^?A#sClv2 z_4I{tSs<2Cv_Ye$w^d2eEu5yqGgLi@x}f=2?oN-+#&E9)nz-65M3Lt!jTtrN=yBk4 zinvB_uwn=J8A&1Vlt9ucD%}6_RoUQ_uM2`TR^dUt{}8mWw~dF%Hd%TM3dupwW&&&q zBJ6$Dr-O_5G&(y|WsRom3nqTIn7RTBI{YVAs4Tc5t$$vOJgj}_7$r}S`q^<4i*L6$ z=PgWjEXDSwnDE2<)P%>&SRg?Vvml&UqCxzm=ABN`Rm*u5{En~!QHO;F5t(RT`h~5V z0wj?Gg>~E=n7E+&8sE=(iVf)t80B_f4)VHTQ;;H(KzVaScNl+9fBAP3O)xWryqR!i zwQ~N!UEthS!4@%J`aKym<(sSZ)!g&OFzNtvv3h2$*%InOdf$F`tNnmcLWe}4NT|MK z4t1I=+(F#u=Om!Bum>YN6l92{rKOu?HL_rag3Rt40fc&2C z1}SyPA^U|CBw!r09Wag_NG5wv+}9JdxCm-ww_yy!|EIS29>i}c@6&DOF>%MU@ujY) z=LhTh>vr2_jj-8CMbU?J?p=G!9M5K=N`eO;e56v#1aMO!=+T7?Rpy}V~I6Lf%8wq z4eA`r2d?!mL{s4+nate`=ZOf5k@zsrGVDzS5~7iqjBDoC%MUN^04@#(&3u)UaBJ=I zccYX!{Vw@o*YD$MT;;T8eeopf>!~h@rB6R0`uP4^U(!u;iv&?!={$iph+;nm#biI| zt0T@`?2vV9okpqD6&xxQg)7h(l=%Fr{exqpv{T;yryfBo{Mil^Yy~NBeF~IMLZ=(V_&=Svq!8v8(&Mr8Gv_*Dl0xS|=dhc}TUgbe!$KI{(BwnFI^ZPjB&VeHkQGwUU zs-)^coQW>xyx}y_5AmvHK`4Sj;*oK4&4E63rElqe?S%;A8Lqr-5u{ z4`O;L<7B^k_k^)m@Sl1Ybw?TFYLqWqHNg0DPE~qbhpUQ$^>X9<)tzI@+@p7M_|<@| zi2H+!1p4-)39C%@2xUUF+=weU%4hIi{O!P8C0AGJ3V+KynC2PEX2)|R-xPa>E+IEQ zIBdXqfA)avs9V@QlI`)g`Ub ze66UNSC?|kWy2?@y*2@Fo~fhX#4+B`R5mN_6Dk-gK)3s|(D_A{75?V6Q`A(VPXs(l z$I(R^EpnBy(S3vr6|oJ?fnIRB`)?I7YWLQf>ATX9E}(M_tf5~KoKfKmyndJ!1MQ#* z%{&H=&LkPGcJZ&P^}Ql|;{gg+8)UIBc&Cte(DA7j%NzAL29~A-Rz-t++{j?g&)CjR z?u)fnUAM`=)LD{@{?FeFMKkgmK341EHQi37F%!PUD@kdx2HtJS|L(8X8`8nPKJet-%9}oK z=2B{I>OR&-2r^zN2(;G?GI$zjG{@~xHG!Y>xHf1faQN@!0rhxD#uYmn#;j~SAvIX|gEN;vf!)bFyC)JB zTf3mYK^VTYKY}!vg_?h%VB75p8IfL-LWsCfyo+q$PzI?>L@QZyJin-J$+(3f|I=Mt zY>cYDcE~dEzCqfkDh=_=3mNTm`{CM}XoHebGhhly-fin%fsfUp7VckD3X)1Y7SS~n z<^OF>)yuq@o4{PldtNssI~m8WA>bc}8OUjhTzhN%!G)T^E|(p|3XT&SQR22OJ0iCg zavtfmBb3oW@)IrTImw3aVlEB@*H!k8c2aY6XSdJ8VCj+G|Ml^eq83tTFEK6m?f(cu z*cf8t@QeQ~o}yhzA_Y-+h$ny*=fepT*n5bOZrjLIWiN6+L?j9u3EK1%o}U6l&aHKD zd|00c-(rNWy(keLVHt!mEy;}H&*G9E)U8-VoD1fzgKN?(@RUYFT~G|&r1;VSYVVOg zB>%uDe;&ksXdDbsNC2R62Ll#GBdkJbXEc4;*K$xaG)xy1L|5SxU(>$)3A$}*6AQQy zxS1T&wp31Faed&Tv@)8;tL1~2$H>AQJH2y7o@P)T>@^?0q?+s^cXW^>=%U6WT1(f0 zqvSZbhF*F2IRxg=ONJJ2$9C_0;Ery=D%Q90;J!B;8Ht5kKz2Hnd|O?MZoo~(>BU6S zqm9rt$xI+cj|D?OTD?5REJ>NPrYL8hJYpj_pSeJMDlKYYdL4z28*S_;8E*{iAwZ8n z=ggxGd680Q$*}G(UURtUCK@PCK)oJpd9{{Zfs3PFQ3(7Pyi7IAY|bm5zyy3pJ&#cN zw}fm!fcU_f9cfWR=!*MhJuLG(In}<{v+Q!{cj6B2!SK~})R59LtWw(T`{m^gYE!G~ zQK^je!OQpR+rVk%YTd`{MK}%hd8|lRfDk7N8mNt-HK9N&T;q$qvjz9%baXW($sK3?na) z(KNKmy!mJkwxcHCg&}1|TX~ThXXk(}r%0KV_L0JfrkzLD4m_%*V`O|csk&gHzylMe z3$LRrXfT(6O~90WP-2YQbw_4M_0NFY{5%Me>~j11wOuJh^)6ZxmrzUSci`fkbwF5> zurM<9fmbXN6Yz7$@C7h1W8?}>n*sLwj%LGXn&Y+k8dTCPTJiNcCQ#S|@ayx1_qN2q zHxQlAI63Xx{BJaqf{j&+$7WwN|5r0@)^H|%)59|+LO)=g?AnvWN5?ZrR4WgPknt=S zQAYe!rGtn~WQ$oza1C7yLG`;gl`{-hQ+Ak^e=o1He(a*I7Ncg+=cgI&?lgA(`8(^Q zp%+G9%d&;Fe;bpuQ13;Xl{NC372RdWDho!Jm{u48VNyl=?1Z|W1xmFz*uA7r*&w0M zhRZ156m%)SU(st}To9~n9z&RQ2o2)OMN*RT`}5fE7arW*NE0*k5&e8#Chy`Y2zIA- zaR0%9`uo>fK+tLE*2UJh-z$^7{JzdS+NCGfj&k{~JCE66Qp*U%Y zxV)P)a176=`>Yq)RmIaS`V`WrG$|DW2%xOh%mSzFni_lnS+^fS*qU_Z`_a~g2wGSO z`Sn;$rEdZhwiYS%&o)12-;?Q^M6p5F?5%y`+^>f2){vIVcH7Hr+|ztGP4ItD$&DGJ zVDsDH-27jMqUW2w#H&Zu*}BKHT4T+Hf!((k|Amx%9dLXA#4r7v58C33;2&`%Cp3>4 zE%tb*;Xe^Vo6{y+q=gL+$qS*QRTOa_N#2_*|v&&PEY7A0Zt~9wb2vY zuJFGd>O!P`ITc{T2|Y3W)wYuBQ}f%9L#Hq{n4tGPZeOpomkFJV&15UlDX-AxWz{c< zYW{_=t{aYxlFn~9(-FsOFgh34LYQ^vdGeQ=c&3Q7Ag4 zD&4o8RXGN%@Ye($M!tIbT$kC1NWAf4`A318rWNDF;_vb5F@ws9uJzHiYOiA|}CKG`!~I^LYI)`J!4hxn)9zkMw< z((_^#Mbqw&1X6|5BF%lZUrgKZG~F&s80-(Qo}RJ$ONaVC!(jO?8~fQY*Piiok;X>m zZ@Z-wOE6X|Jy1F7wlmdY!wa>Ki&5$N=9&DPzhsaR5A!C2iZJkOF@A?xj+EO@m8{r> z)E23*&b=)TOTSxS@RUVR81))Z=V(r0?;{tzIIc49NmGa(i`J6TRd9ctRWsJp$*X*5f(T&)*) zms`j93ezfBDD$$?a{3=cG0A5|K`c0FS*j}DOOorii$upg*Nn>6eH@~|tZjf=eXLqt z-}vn?J*W<|7CJFKvB}6_(m($WS{VNl9c+t@VUBh0i=`bv;b|Q!cf>uK4%wzvR z)ABiE;fy_r1`>6Z_KUw&%{8#RMxldRzferkG)ym?m`cvCD5pq`Kr6=mg^AXPssT** zmwAvbqL!!+?hbmPfHHKaz(Vs?eN$Bpo+IUpxLy1?V!I)PJgtpx4PWGp|1k63cHAy* zn-&5EaE&`iSgMe;n9$!f8X%3Y-sq*N{EPgPeSq|HMhr`(2KYA+9pgOmDWqyQxKM9w z`2M6?+cd}tlLLb4Z)9oV#n$5#B~}*Qm3w2e34=jcE$dvI=yhzfWzYP|h6QAK$9}C=Q1h zYY`(UR&}3fUml}OLGVY_e*9NeJZ!wI=Y*FIk^%DPwu8t0$-D2DEjjF%KFr>^FGPAR zdzXq);_WI_1=)wHRUZ^VD7Ar?d_RCrod2x#5}uB7nm~YP^{%fAkq91@<8Uva{7$QW zHm=0&0%Y?Mf2ucZzA!6>=NymrTH$P3V4jUJXN0iL#Vjk1)xJVG_beI(b;jk4=XgW( z-Y{Fk9^y>f5MU6)9x}v4E8t93Laz_}>^}Qj#lJia`kBbzJq!3Zo8NgD^h0pI3z@!c{|39CRw38@H1xLcmog_W73w*3m`>@1b4DS2a;q4N463iE$K?&A4-jn&{-29vMU z10{A;G=PuQb?@K2o!s2OEhQOyKNSwWfnw(}_iqt^m$jl5B?gZOI4BMzyPa7{FgiBS zoGFLOS%l08gv0>~2vqY_`6@-3a!kf1qaH-0dA-;Td0w%N-rsRM4_~O^#=3;O#p-HTUS5x&U=7?sz|yoJdCdigXASNT5!N*l ze%lT@B|APNY94fWrr1w9!n7l~_`ZU7f^xXTwi#Mf%g-L+H%H~j-=~Nnn*pm&_!~3y zXutS+fS{wL9pwunTRUcuooCvXm;q*=W~|;_vR@55Ufy6!lR9o4kSWPoIY0joQyp=K#Z&04Nn zu-BG_HZD?X8mGuCx1FI$n3KQ|Bq`aiI-9BLXgUo;h#6Xqgp|?PGU{G)lu8Ezq!+Z+ zqzwpZc3D!TP&cnr*I}@85WB#(TjM(Cb^ta*8xX?F%j@P-YGA8d_nXXVfco{SxB!{Z zH)m&DG$jS#I+(QgQkDyM6-W8ux&_-Ox2nH2QX!4-aEOfvRzyhbLnutd)IyfjS}M1? zdlDuIycbNRr})|)0IXY=%~(K&RTo=RYzH(oRSang%)1%3Au`lU!{B8#YXrnu*q(UL zn?=LifIUqMdqT+&JC(5m-J;Ej!u4k|Kk7MJp(4c-Ww*Tt*>YGdi8GK{VXRbF<@E=D z+Dc1(eSz;<#~VppZh8dpD2 zZjb8)_g@2Yp*yRmR!p_|MuUNrM#&m&-Fm%seN5^Ug5&`LTR3>7da1|K^J)c!OxM{u zyb;48TPx7fN-UQU1;|wI_`DiWU%NJ=F!J#(o_@B~e+eVNa+t7z zN~O88DnkQcAAy3xh6EK_r;A5yjMQJMo)hFD6qp|oVPitn5_@DsivpR8*5~jM%E+RF z%`uR@jH`ADG-&>7VK&CK;p$HBuF|i==bkV5zmn;8w1*rA5ml~E$^2FBlVe|<*%Q1} zA|13;&eoudvllBzj|X5Dj2ng$)`&9nzW{?JqgKj@NzlAR=vVbUhR~jmahm689k}d$ zsL|H(A4y0s!21NyDhPB;r7shk%-Y&Q*;!1~7G_naa&drhs&?cqTjLogWbD)8bHRvv% zijEhd%;%9&j(a71889Bxs55BV_)_4)Df~XzL;|h;J8TK(5ka#lD5-ZV0+uI8I$2@u zU6d?V;(J<9wq8aHYt0hWp`-+xnpmzb<(gx)X%GGaYqkOI>Hf1eFD_6KLZ+%o7<=VJ zpsun04t)$b;Pwax+;s-cQMh~ZJX3STSB?aDnk;ku=l(E3i~u#8Oa`qo15qPX3PaTa zE@Ui;$#4(#Rg3Xw$SP|{Lc+xYPWnhA>!G3GAtr0|W^!)H58t>BRr#37115{5C4B)W z#23=#aaxR18OFslB9KMi9K4ow@)y7tot3JI=Om5=i^V2BIH`HZn9$#YrUyC~$uH#h z;O9=hY#Shw+R8S@ZXZMWh5EvdcjOAcU|`2bVs=!S)HFc%kh0u>)>JQ14z5i4PnxuW zxZ5}K6|nI2Kc{XcssRFHnih=MF)3vTDCr!Y3DOdO6HgBm>PC!MZ$_*&qXKb~HSs~l zJPYb%0H?^5UkW~|S7K+^thklTVe+Ymb=BG9^-3~X1s3FQJBNu}B6omSEe+oGi_7nY z{QZh*Ym)PoGBianrhBIY4{6rcoC|@~?ArR;Y!2~l;?S)5X^zlRi}@zCXy4?amED88 zsS)nR9Xl**vB(yGu9_Th`-VM*{8?~rx!h`kBW}w^drJS!12Y!6e>kZersg^g*oxX- zO!T-!RE{P%nAMlFC60MAHV*~b3e9INFKz33Pqt25BOLB!)VmZaHq4D3)d%!3h{b)G zQo|fA0P6ziE2~mNq2A--o1kz0L-Y+c<2H3fvr;ug51v=5sD{V1Rv+#6<2GAY>pT+% z@9+%x2VC;FycMO1jmeGkBhRkoW>nPzwr-gWNprzFIyM2(ml*l5Kb=R2;DWqC#D5 zr)eg!2-YG{cAAf^?R_aSqKgo@~t*|f&=j7^*o!qI^Hv-3?cvtr9@q^}IeiZm_ zADr5*7w?SNwD{#E5Hmf=pN*1?0G4}>N=3dPA#T6k{@>ReC5xb)B`ndz#UrmXIbN1g zI=h`A?E!;RSGTR5SASLV4bnni?YhWeTD^#{n|UYMHvTP*x@Xk01*@dNv}Y}M<}`f+ z-!!!#yb>%juJ6XvdQ{@BIQIzvyMi(=nq^wzvAS@Ga z9(1!7qvDHYEVIF8sYTlTC%b1iT?O8NgC*l9g(#I8a?e(>uK^5oJQcYdKb)cU0N9qX zAh!r$0vOTbK*=c`%@9Hj1x~ZA<>V8J0!)>^vd0*Fo1`2&SPS!NP!ir1GDdGvAD*rf z(yqh-tnPx0+0Iph>k}x)`8_&)0Rw zSe8SXPNNy4{}@TQc5=MMiP$*SZ*1<@MnzAhfv34+hO~>t=`1$u9^ z`9<2#v*L7t2z}csI!(aG14@*Ne9`hq5dH(-#ZP_hHr*Xx%Xy!NSCCIxDDW%(Wm9lL zN&`*du7puGjy0h`;vR+hbC|$2Xs~fN1e0FNqWJD|)wf7;`<8en2pm%OgZY%mPU#xEPo{E7iI+IJ-TYM8m96CZ|d2yai1i%K4i?0f&XfNpw04mM0fq`TIjuWwGn4Fu{&YwoxWHbzV~D9Xr$CN&(#LublluC_ zsT7vD5zAucam@VYoB832g9ymEoHKX8wPdW(plIM2$`(JLTb3}WPV^5RT0YB1C=$jH zhjJ1iH$Y(ZvU zAB@-{ZLou3l7{e8ojQq{i<7fICe=%}pki4%03mB7MkPh?+x%%jn1{UGZYjDc5W7&L z7_eHR5-#s_?ltx_Y+H~85@kW$8>EDHnCBPT?uY)}ImP1*2cK9wgmzYDF^h8qk~G%6 zje$8Cv-+e~5vXPn?}@>Ti>oa}@>9d=bnG0ONuEj^jqyEeyV}lu?3+_5OtIkDrVeUu ztqDbES`q08b_5ger{aabburxA0}l$ z>l?aI6l41$2>!~y`ri*lW|ae8T?JZE%h0=vx}y}DZek0_u0ID#)(Sqq-(~=Z=W?Q% z%Q6(ZYF1-V+Y~RZW3V5`+rh@q(gFPJgrIILci8LI{`(aAFuoWIVwI1@nNX|xZ!YVe z8%Qayxz>tzBi=O`?kUxEfX19YAFs#DlO{Kc?!`Y#^w!3O!KLqoX!K8de4FXcAh&&{ zMi2P5vC0BkTU;C-@0X{GL15X^Yc~#;h!1$6@zs#PpGWlKgQ@hne7^OVOcDF35s~OE zaX6G&-tWYnKCQYs6@xE1yRAGe#=t2_+eV1iebBcy zQMR~VBLy;hr*Lr!ELu)UAh{LlX&*wN4-gb97X~^)=c0PDQIoKvG*S zRoQephQuH#)&Ih%#GKa0VXs3%v!sAHRjEt9pHy(2G!bQ#5YixRB^6@@j+OA8{sBSb z0Wy7tAo6L{dV%$nAhQfP0Eg{9<&pu_OmP=zsM~cRg)FJ0>?~=VLT$G_P&bmGr%PDG zJ`r1t*u~+?WCg=IY~OFwN^2=qSqW$zUuO5w=;|!Mb4!&TZDXs3o-kUQv1wTAh@u1c zIz0_6XI6*d<$ktfR^&0Xlrhj?b}h6zfZCPXk^reaueDUM+NevN#!%GzCK0 zGyG~sKmqY(2P8o*1!kJnrdEplx__EJxxSXx1`j@nwJUycv^9{BvDa6&lFM-@O>Km< z)+$c6#;tqL8+CGv*U zRljxE{VK2GoFs=FlRQS{q5jg6+});`#b=7OHvG%wP^59@`u%2SV{_ZFMq8)}F1FkW zjMcfGqNz+yOyw%?x>1ruti8?gv62C%vC0slc&Y*2+I0Pgd81&n=Ng8uLe0!vo7kb- zUZ@Zo=_=eVgXp`CrA^X{>F9zI^w1-Dc@hzNC;Z4UOmBibE_9)xE*}V3)le*5B_nQ$ zoLF!AnuL+GFNvCQjmgoYuVM8V98%|vFT&}B+pMKz794>(F~qn+wZQL@!LO_P6J<05 zym&_onekGShy-z@pdggCYjtszT>(8&)5u$AinOQ@&l;+ef4BO97siu-WDlk*T}h zMyJiULDx?_cXGPzS*QT;GQr$nR;O*N_s(D z;nbmg8He&~2MvV=#);UO2Hl>o=pmeDpPh<_8)wAJ!KV-aZ1kzfpJ^CWu5Z} zL}*<%T9*wpf(q{!>orc)GE^I@%o_v4BxH;};ZwR=)I6W;G}UW;E+tZ_WK1jgf{-B$ zIQ|Hq9sVE(#nPg@tLV79{b@E2nKprc!>H}%7(#mowkQ(na3rtq*jsePN$BJQ(QDx* zG9TXqwYVY`f184Pr1}P)no5<_9}4p72us57-C4xV1^V1SSn9{3|O#WybD=O zMk4@Rz9zL+q%?T#I3h+`HpG<&U8$ms59YptV@4D!>#b(D2ghxoB{51mr`spcRX$io ztf-15oKrQwj9*bO0M@y~8dF;zs*E+zSfw^3lC*)xDX!cIV}y0pUbJ`qCiU5Zx!$u? zTH!@8k!B3fy{qA(7xaF2lVI7N$46V_e`kn;KaE5DF4QXDYa%dp_6zqz6NeG>sAMjG z!yrqkK6kU6jdjAp3XtamXObn<3$j3M(SZU@6Jx!I?5&(@S_~*Y@wjYuiqQ*&7g{|r zvCwK4;|rye+OS}S%^o4go;!@Xi4wbuLDh~gG|%%CE=0g>gxpw&j8o5QvlIcJoKavc zC{ooRTrVA1iW6*>A1xwEwe;h6)r1s(mm7xX+O_=Bv<$Ls`s4jIr`RkfPQC1rA1{-W zaS<3Vi|nBb(vUoB)!< zcQ8gNq+t-EnP|rl7KyJc0^L`x3&!w^=N^Ni5|2low|p*&ABLm7qcwbs2_VOyRMp5c zT9zkHlH^tsTZv0G6a!*iZGdvGieo@8Ysp*C96EQkoA(Hdb)3}n7S7VSP-Gg32%$Zb z1IDR~S+nv!0QNW>oS^R|c|C`OQ-$Gf`I6&tliG#!?Fqxy7K|egdtVz2$&g2HF!fvI(Q9vx`dlDyqe?^@{*g3OIS+uvK zt7QpU&>=xq2inWt46B$3k(#+w6B$#bp=e9+3>I(w0X}@#Fv8y`1Bep!FbK#KlH!<1tF7tsWH_rUu++eHzJd8byA_N$oQrj^R+{!T3cEfJQavH9Xn8%63 z3^8)BBy-uaeZ{rkwbETtelS29PeQu(RI!Ai&x4p{?*q(Uya zH!<(A0Tb?87eMxNRj<%cd=V%CI;ANxS7l@M@k`K`7TIO-pNPnsPiZ3+li^sz*bZ&H zNNWq&NAMri3a6OP?v^CRnM3m5J95OJDPHhIZzzmcmQ(S&9b~bN8gg11@(7+C`IhHc zTrFA^@q_9owXalF6XXYON5s9s4F`@ww7y-)(>aaJ&LApY^#rSKbh`bfZ7q*F)EyPN zz0nSayNRP*I561omzpz@)PVPnJgIF4vBskero+L$tX$bLRRjp zIy@~ij#>Rki-e;d{M#uO+J9E7Cdksk0*TO-Fev&)yT(}lWlA$D>o8Tx3=E8?42owr zNo7fW8@GBCre@HvoBMGoniu3$~XkSLL=%Q(~zEakehDVcj}6B8D3UtIo-d;D%A(B0nA)dlT*!r zo#XOmdH2x3wOPV^`Tl-_^5>d!iJFwSVGHV0JN~kfc7QQAfazcd^H`2wJ*SmHJ7DdxU<7Hu zQ-a^{t7L|lZ;~o^LVb->INgQjA9t@k8Su$C5cS!W-k;xlQPGo4Y)~6=j87aZLE*ov z?rHX_E6odI=h}WsSUP{E_fU)Z#1l}w!;M8e-0uZMRV9Z$$J8Dc5c;>Ag*nDk4gRPa zG^Qx*Q;LZAbVSDE=JbGs%6C84pA9BIv}@n*8!qUzJJz18x*QX_{1LbwD7SVr#ee7( z16HFYAVugTn9#hjp#GWcTG9jq2!UcvyJaw{Ob|*MUq4pnY|?(yc?XwyH7v%tZ;uzoOXCj^NBr`BcSp(x-lYTny$NXz?r-2QVdfclG!0~dDeB~ zSf%$tR0FuG6mZ~g#B|c4^bxIr88n=9u9sS2#1|fRIT(lo3!q?0lhrF!kIyInXmkGp zszQtCxazb-jL^=|;zkdjI0`rJmN?K}Q4VFTo^b~Pzu?qbXTF8ZKl)+lUD9ug`a({i zN(Pvj9h9Jkog$f*%4syeEGhYF#E3Ix)8B~9-e2D6EM7WzW!*SYg}BsVeib)VBYa-CVk^@rtAoLYWBaEtgw(RveFZ?V=i9L6lm}8;; zOui&6dww6NOKuB?h_s9bQtZtjKhu?I=E;{5z7f+J(SWIayplK-q;##`Of`>PdA3VF z%=Q34ekJ4pdHc{-xQ(x);Pe1Vjah=e<}KyAV6I3r9?a&y6rN6#eb}iDcVt)jKc!$0*R@T?G&Q2w2-DVUY z1>13EO9~0{lbFtycM-?AQ*bYE_sMLb^GLzn3Le5*3Ww)t^+oz#wZsU1g0?iZMx~Z+ z18v><-1oO5bR0(QG$cNUcZ6y=wp~KZv1b5Id-DE@wcS~a z;hS#hzKYXUuzr|toG;b08!!%RX%L5pspBfkUS|G8=b-kf?ypP)A!fQujEj1x-6 zTEjB`TN~qHGB#sEcKSp?LJKQkFzw8G^?z$ts(0%D2wM=%g_J|?H=J!x9eenC4jjkgdH3Q{6Z^-*_+*`G zi_??E5T449Tz8{5J`CVJBZL8I>^&%ig!v;~Rwln4Lu;!t7evr%0uqW0XvQi&m{!ep zlfxX;tvR^ZGf5@4^EP-lHx(OZUu{1dyP9}iQ^fakrp#Nv(GMZx>#Br1b2gLuXOw_0 zeX7Vzzoed~)f>daG*38AjI7wgA_Lx6gESQ)hX?HN5zs`Z;I+Bo)t{gCvqZ1ciK2AZNd6KyslN*XPNFqT6PcE*swxBgoR!=7Qlx85 z1xr&}pBLND18m=jFIaVt;pFmLhx_rTt=P?14mKyYb+j^EN!zT9_{K!dLy?qWn%i9M zPqTk2{*K?PCUdCJP&F8!F}M8d&s`JE8syN#glo_t8@_Svuf0^}7>5AZ1c7-`0rXyh zFYHEO3GwMLM`+M)4p2N??D-y507~UjlUar){qsECHPU|JfzjR(i)nyc`}Y9q2Urtu z-l3J5JBaw-+gL4MQjG&`E#8IBfPkvgEKuXbv+7kZ`?>}Kh8)yE5M9=05z-^tNw2m4 zm04>?y7;gIw5`V>n`pO1KHhp$6W(Z_b@A<>xL5vK4;-k+9CZ22=<#Xq0=r%hkc_Wlz6CBUb9e)8uDo2QLTLDy&7J zt2;kC3rjCYPeF%tW{z8TvC`Ai(T2e3j;CCT0 zFc)GK1t~0S1x+4pD0^fM1r3jR;?uh}rAO9&pNZbi&3$7}Fi)pE{rqXsFE}jXooF&D zN9JLDC5_MCS#A^jc(gcfb6ak!Q2D#F`WjQ(g}R$;hqIUZz~5~sjoKr}?lRql zDDaz82>8B4;^hIRYanU9M^(p1=cGL;L7U{glu507YYCuo$+RD6hx^FqVywb~-AHGpynC#rl0r)PN^B#KpP z@MU*sDeh39Av=v`h*jibmg{;mA|wJY>We4U$|WgU&PCgv;D6g>YAT^q^RGh(LL{>% z?UeZ-t}lM%)|;IHs=jOwgx8K}*w|EU7tAF9(%BVQLc?f(Ewy$sBJ%z~VrJGU76s<#kQm;T z?6b2Xt228bV)2%nN9uZE+8?&6Ut^!u>pv@H?KJAt_c(|;2@gyFn zg+J^x9FPb)tP19(_Q;_RhGCH20y0dCbAEx8!dwtqk_{JZ5+(2n?suz21P{51j49%| zw^ZPndR0$SZ2h=~88G6L*0i8z&nG6-Ygj`s%$&5)z_VJEmB0}bpD`Cs z*86^MeOgRDS6NH&xwF2Uj?z!f$K7c2%SlvY>%Tfn0-sdj-{DHf-Gu!+KTB0S%J7;G z_nObojnV4@a!O=39{SNZ+p%MNv~PX3&uvegd999|v=Qs$bH2H#{a$hK+yxASw-o25 zvURj^b7>eW-sz1Yy*-4iz2C`35A?}_#fqQ(FtYOU-1heD<#Ckz@%s;|yXCS;-RjEs zyI0%Ve$Qx9sC zfvhjFmg{LxobkUWTTzf8> zjn3Q7CHRA{v#a2|P~M0yQV7doWr7>>a5JfGD4n>=t81*|C!_NW6^BNczt>?zGY13F zkuv9oNBKazsh23I?fmc!oh7JT27oTsJ8d}tRu<0<>JaR%F#AlXI4)~vO*nQ*epEi>MJ%NGGM0H7UcdCoa#C^!zJNjB03!!JO=HLM_d#sOFFdEWpKeM z_!=B(<>cK2!FtgY(lAej!f4jR<*tvdbXn8Nb}gwHFXXIMW~$KQvd%+AK3z_&ge>1= zwacO*-%G0CG};yfBKYb!dDtTdvQ6%0xJ@j?CBJeO6riVdlyHacsizR2p3xmR<>HN4 zO40<)8I;!jKg-^B< zH9^ql;*^A8g)t;?#r704^6el%eKk)1}y?5MeSlRSl6C*E~3ToKudL~zvn6qtaHVi1Wys>VpF=yoA z%DJHFKX#i{?y$Hc)r!ha7>(A7Hrx`dvoJJxv>B?|3BBI3!{~pC8f;_%+w6705f&~W zNaV;U;UNls{E4Ba`41E5k`&GfdLd4QnrJwXD-^J8AQp ze;c2-NeMP0i4NY~rnN>1QGSK7^Nn#o*05>~h+gjrBSw3Y>{JDR6~Mf^1&D-U z&u%w3V@)8&b<8#$hpWuBD8cr1d;Zghng{&n$?1=R^)1b2ZnrTSm}5$Y7CV}2N+dBO zDi0EVS#7t2>MSa4rd0){cscioCh1roCru?CS83VuT|5cvJt!dCVjSEM3qO0nU>rX$ zvgKH|C?NI9wDs<3AiP={>{t&d&WplTc6NkjXxJ&j|pI z-`PUeM=u_ONmI7~o2YL2?JeW8Cc&_Ul)IsuAC&n(S!rn@?2XHgg^qP1xqjSKZ?B_( zD9#ZZKlc*BuQ7MeauM$IWJiFq7a;Si|KA7s56gZPC9aM6R@`zZwNWv|-p8K1^~@J3 zp5cU=_47hFcJ)G_}dk4on}Y z&h4Dn5`l1ObphrAx4p5q5+K8{`r-IAUV3#V7wsE5gVdKf_A<+y z!r>y<5MZ2h(G}o8g9%)FhRX>`A{&T?2Crg6WtTl8=km%s3;?icY(!Z?;XFFg=GE#e zEB}fvX&>3L9;;?j|NMvRvi8*@z3$W073<3i#jp@{#n?r*Xm$vq#cZe}lK~ z4it2}bNZcjO>Plu#@z(Aw8Fn1DF=A!r)#Dvk5m}aY7XK4V2piXC{%StC`uF-XcaPI zj@WX@JpnLA-c8do@X_vWUU)Kxej@ycxaTd&IpmSj|*asw3O5 zx%w=@+4U%HCW7ya)?s#cE8d|^97D(Whu}MmiD-a_*mrs3G)VLOQew*w5=TW2sg>}- z6ccba%ioE7srmkH0sOu%hx;FqAB?|E^3Nvs`unnH zH}Mbm;+O6DzmmZ6a}JIC5s^(Q$>ul)kEkVgHA(a>!v>!|_*3ABU}7VWrZ!jRI~g{6 zPSJN17*yn1A zUDx`mPCwCMeX*o9x*)g4PVrIu#MnS6QRFH69b zZ#Fv$x?IyZrNPzzZ zA4l@v@Nu?=mUi@pcAo!`akdGJ&_fIep|4+2`zq-{&JGUFh#-z>3i2@PBsz4fL_hBI z8SAT96Arh#pF>kbUSa`dHpq**y7T8R)YThojkPRvFj%yU~b)hu2 z2(ELhJgen{K1gtZ83u*ff#BUAUCkqqvn!reO@xww7MESRUbd{M z@omD_<9f!hv8NGjcc~tbidu};Pqg4h-8nG&ac3TWEy=T-agw!M>%u#wfI6;NnaKK&Kh%i}H z$t~5sz)jd2G?ao><Zt2XlpjCfI)1K^`iKZoNqmWqFDb4a1zgo-lnNWVwgXUi zA|!=o5gH;Uu%R*olY~g2Sd_)pDqqbPEXAlN|NcL@h!?FUzIoO3q7BdGW#WDHXCO`d z5=FERo2ljm#-?};sn-10klaR5E(q%8l`_+Ka$3;Gqj5aoV4K=cV=LlY%!|A-wvkXf zL+VV{Ind`%;ug03O@e1@Q@+Ha7Z?yj&c{$N)w|&79jiVa69|>CWN8-g2RX~FK8P{?& z2K-3bc?K&F3xVKdZ=F6kp#vRG43IkvA;en%mfPlm!?(|LT39ern*v%Im3@vjmB+i} zQ?8Hy%?=gZNuusy^pL)>yp_cU8Y*p?Le=piIB94v!3YTOx)bXAY7#Z*VE4UpLBcGwXL@pQ2gfV6~2!J z9F@SlD<;Pbuu-JC7hql(D6*V&tXoS}l9o~rfB7WiXeZlCx=#p69yS9kMUoXj zS%v=+GZPhQ6RnbT{t_7!!<2BKBXG+*(-hvH3`XJlHy@p3N1&>@4)Oz{!PD*9_T#!v zw}|!z75JCJgu}L^fSz$%%e7*j@zUAMVH9CC)S^6^xM!GT&Gw~Mhc3P2XY~&|07bHs zcb~>KBihbM^x?|$$E7bV;`GkxedcY@%{p(!VOEqAYnBQ4cC~HzYmqHw6QE_f8Vt5I z+DeHstT*rR{PiNgn0M-V5QJ#x*2j3qu=e$RmJl`P$)AKV3`^JXNR0{AOZRF7 z`SZ8K;iRFd=7qavb;h+^Tk-bs_g$RW#x(%rcVh0`ZrslWIg7I&2IBS~9F}5`vra`m zQRAH>nJ)XQbxHm-D;nly!&uNGhJ_8M4NrwmMfUo~i@f)8hF|uOc)@EA2QTBrj~j;J zTY@9`?C1n}GJnwYUP;m$=55A#m>O%>HJ@ed569Z2^4X-Qn34xk7v2Upj_PV{{NgnZ z|LKUL(vRsa6P=Q2UeS8YRt?-7;P7U33dUx6mffHq?Qev6$l@dgchH(12`rJZqXnhs zA{HVBR;U$1ns9m;SJ@hsb?Rz$9yq9wdG5a#ZJ$FLzFTk@F%z02*S{gjpVDUAo>VuL)i1`!Ajbl^$hHXNSpM4=~BZc+^@p;xg?2&f4d()8keoK0G z;vK*JB^R?&>w{h~v8Dj=Utt=hVEf}28LDcCR@UZIKp76%Z=-btVNdPl=Pn9=1^O*F z($?0T+0dRcZLOh|DO&0A*HL$A(87TuJQ?g@n~}9^XG_QK!wxWXtCz!RI$f1rP)UK% zle=V(81@`s$^nzokgI6hK!$5=2E9hq>1|%UXjIf;Y<1%|4v>RCM&n+Pw4-MGjfj9QtIDlX&d~%iIehwi_^x{)X385 zKLVAF6NC#UKoEV+G5Q0=_5u*1NfWSO!=e%00S^x+H47&xz4OS8(9O8dPUKY6GY1#3&Haj!{D|LTG5FK(+wF zTr)4V6#8<9i60lk!}YWZH-+|hbD3ArAn*!$D1{P-aWw7vph`OHE*H0Of5vq^amM;s zNn*6BnsbjjP?=&?Jeim64VS1C@kxIH{y%}pPfFfs`gcsS|9ZFl-+?eTw6W1QH~r7; zvQ~Z1ev1vkZ%uy?0+?p7%EjY7xPr{?;Mdokgf!Qr zQ!)zyuqeSD|2EEjPj|ZvtwxP0HWiyQztg1AWbLYciyN_;AuWg+k@F(Wv+-#|J$!Ic ziDxRL=fIIjfG16F!6Xyk^^Ci4xzf3)+etIm5Ag;oBm!zjPh@t`@xf`yga`#*l~NUU zYpX0mRSRu*uW5QotH9C2v3L(;Suq%;_V+1~aqe z$Cwx@)lQjEo3IO=GtTv)S3$C~a{*8E`t)`a8M&>QcFyb4=|@rl^$_CG$@h+YP88dc zQiT{=EyDXn`?8)osw)v~6gFcjuYnH*Kj&pD$PJLj{&t`5rAHLdapr?3tMOLTSRh7? z3<@GaYLP2sE?24u9bmDca1Jp088H8Sp&9Vi-yfr|8_a zE?6{LvF#Pxwr$(CZ6_p2Y|4Q@3aAs5CC z)}1Da>LTRgkeR*a2-O-gSj%KIm)2rBEOwSJTao;Ss9!0P6@`kJnb5Q zI=`VKp?9yQGC#%l(jQpFm2OTSM3*A2s6~xokHEHVs?NvUMZX%x9-SZ^`4>)-p zqTVX=0Qo3OQowT)2h&{4YdL&b(7Qx*|y{ewLaN zN2lF2$1pF>Lo{1o$aSw=kNz?YfDHj{Nc1YF9^4>dBZ5%jtJy3zW%RTVG$DxO?xdaW(OIf;0ntEEU| zp}=&oE-GDH_FnPcP5^dwD!{_+Cs`s4 zIZ`Em-C~@#T|wj^RmwAkuZ2#D`)XzIQwzT#)e3^AW?gC?7p39qv_qoAk5M@1+ zMG%>OZpo+YmS^`6r7s*+Lb;zex>G$K#LLUMDv%J`m7c}|q0y5DWR%tjo7zDVN*j17`IcIkKo5w*!ca1hrD9Kl z!db)*BxOe=KAm+bv@j;l%`2hs^7{Lq8fWP;g&73`0Pq6;Z^iz<@6U$%HipJl|5P}| zF_{56_^xNl5ZqWo;a%YJZ1_wzyumJpv7q#J7xZ;1fe%id_$B-x;r{UY72B;&Rz`J> zKs~BIYc#46T{fA6kh&bwOTCyHB^H#82Fr!d{d$155u`GHLg_$$H**jI&6U&hI*)qE zLlgn6?#hqoNG%Mb?5fNXV}j8U@YlQCGY4i(Y7Z3U(T$5wO#>E+qG}{4==iJ}zshz} z%>1)fs_2sFfRD3;RFHL2oeS}>s|i@d&e-zmS6#>5D{OB7EzcQoZf7*{5zr;+zfO?c zVpFuVM3n$Z&zad4^(c{9>^v~b`X!hYvus5Ng`{Ynxwi_IqZC0e!$|c>AgN0{8!Jm$ zkX@(S5?wpD9*wE;4(IhClCeFapJ~@`YP7*ukYUa{l>pOS_;>G}TtFktM}s`(IXm}I z{}ja&#Tid3J!yH5iVe7;7M#V+Z0Kj3Zt2d4QUKWex#pzq>f-m_duew!{Mwh|S1HoP zx`XwpMIPQpdL-0crKWJ9TKR~49Q!n+ajh_Cl~@fsnjcdU+y4EX9m3fCw&N*aXd+~t zU!F5CF~G~D9y*`2`s42f%W0tb{u_~p{q^?0-2|}Pikn?O9na<0zkLz3|JnWx_3fOT z9gK~1ogDNHjeow3DXeve_2I`X-Maol+*~65@lz*Eh5G$bhx5n_Hv>~H>M=Jy19AaS zKo>wU6@xF&nJvFAz``n{Vh?!Xor|{Xw#)Gf$jI<`qKf&9r)GDpBDTRC7j|+er|2c+ zW{L!^d*BDpYZd}BimL{cPP~^MWr5o3V8SP|PV!E@alUc}acA&1Awaca6de*GAO3u5 zpP$8}Bp4jm_%9e!NB6I0`1mg^83Dd;>ttg*BW~*2zF*W5HTN^(pp~kcnMrK0BG{ht zA{8+l7KzH{U#4|pXYVxOd^ka{z$Gotohm0av+Ayt=HAEC z3lFZh#QJ74P;LlyKJlKZy8@?xF~Tw_wrpRe*|+>ie>WBw3ev+@Vcf#Ap&PkwB0G}0 z6-o(V!i3x}hkfHS_1KVLUc*+yBW~GQi<@Bfo`3}xB>D!r<*3~5H)%Ods=@fU80Ko<4;8UW)?NPAWB z0IgNwqvI3>C4Hce2%4#XL7@ph!G!9cTBG)zK8Nl_3FUfqw36(P^x+%HxUXMGMN5sx`wH7QB|n(Hg^``2_prJm<6$QL7k zGBvoiF}stn+GH8*bz$-zVIx~;MjbZDg$2XEg8`^+i53TC6|kM*;R>iHdvRy&){@nD z^GuW`Bn$~E)K8R=6RbNdN~61F3J+$l2@ciPxzSP*I05~F1jflssZPmKGA=e3N*zRO zZ!5`~&(xEgwXTr8n6%Y0_#=N2Yn5lD4jQFp^k;BDdUKm%OXJFDHq;YvPW+Z-V zP-`%_jXJhP$z_ZfUt$TcLrGHe}W~0o2|G9eXm$t5R2OO!AxuGd) zNSy0D@nvienY{XCL4I%Q2BUllxE@&H)E-}EV@P^gC1le$q=1s|w7)ufh(_&#N zI<%(2+(Ndkymq&2{MAe(?m}Gd=tbS5Fhhx+sd~Iui|ZLh?d!F+ON_+im|;Y( zyf|kjSIZUW3+=QibCEijbZ#N^QizD`o}}9_mr*2MN|V4aWPwHC#D6})by(D)x_p&= z8mUpEm)o03Bpgd?dsF^U`o2m_ESXJt-?+9chu%bh@@vnZA@`616R+vmTpEXkWS4r$ zBBjx(+mjC$l7P}V14HvwKV27#Y)WmrnU8GafY0BNetykeb(Lg%4|#;wFg!(McsMB* zPCkE>QT)OW3DOMwPY-OU-~*4pHOi2^fV^;7yClgdl$K8xvTX$px2_(w?Lf$C6VzrZ zu#I5RbXEeqR)mN9M0pSg`3r{C1E9pca^hD+S@7&v4AifwZx-@emZoAq=rJfhEY=aA z&X_LNcCfzY@Gn2zRS>foGgWg8$s1&pxO#h_I?fpi>=%V!`_ z%O+r60t!~5o{oU*sFzk5%BK991uyr?V(r?S*O{X_x`qsQ)&$tXcH-zbg6S4(0y#nj znj9$jq-Gl2&pLQ=$~3!JxSBgoDVlts_r6|z5tqxSfL6NK$g9h>#v`tS?ipkE;y0h_9d3bQKVe)U>Mp#mZG{nz=lm z1Fp6h3B28(r_Q4h9Y)?Wjh3w0TDaZC6?J+vQ`~QQ4P(awLK)zzir6L;zZdM0!_9Co z+_FByuU}2Ac9MuWixD}1Jq2W`9xWEo{g`*6OsxxK(Pq8p=&!eBuzoAL@l@z54W9>O zvrTxFu9g#fz3lS~8iaKlXNKsX&`+mYQbrZiN2Hv%krfWva6c4#A5U0ieMi=;Mw&5Y z#7rN3_2+zYq{X0q>g~-KzP+CY`Ai3v-0#(F`$a5{&(6M_RR&c2vYM2MRu3HSeq%8{ z^wX-eI}vMn;t;>JTya4XH*{&AC8R21+x_5|rAC;+r3F24!e;WBi==t*Q`)%;#kO$0 z!~``0?3pmSv@*6#w2(}@ z4KReo6+(vQsz+4CwCVv4m9PLYRG9od%P!hRXXP3V{jJhblW?equW}+P1NF@N$@MT` zslH_>nA9RL#vyFpDd6yK;sBUtp`w+yRis>{1D=x9RDd9JsgUdqBx#EiUOe4=kCAbF z`U7sR`E!&o>*6VJ7_4%>XH$I<31H|U43Mt0cb6#~ui!CPTge4oM`KzP8h!`Tf?*K+M50^N~i;U@Aq2yB=&(#P2gB*r5hwa=GvF& z=Ff2eusU|XVo!baBCLc~Ybhq52u>_K#{Q+vAf!uX{0p`%{}Spwr{FTd?e!R|gRIZc+uKo+oZgaD@+!`oupdGLx0KlK$ z;bfZfF{*Tp&>@fZtAGC7zPSJFd_g&;eCom3g;dfu=#nUSPp7y|*23332ZriC$9}QOes&v#=`!wD2>~ z5^*^#CSOTT+5UCboL+py0=LiAidL@(JiIC71*@@}yy%d&XFy=J2-%X)lRkf*iew^7 znmf@yzFTE|A(-!*SAijQ(^4d-O9fG)^^waZO~}`QQ&w|QAiw%^m^~xA@KzfJF9xDEC6Q5 zJHOTA8*4O;cPv(_73P>^N%{}SFb8~oojSP##anb$x+g`|Q$hFGB0>4#MoX!1*Xyq; z0%q`zlkf!%lqno>3219mX51Va)9q}VQ}K9@6phXon|0{TON*e_*uI+CG}|U`e|b6I zI`H(j&Ynu-WUx`qLvxuEbLWe_6kH~Vk=baLmDX$Df2aZ5v^Vrh7yy7_j(@udQvd(B z2s#;>>6(~ZIT<_rTm!R|)H9jie{QS)mi8wLuUd5EKC*rJ_^g$D`pP z7eDiJ-{a{zoD%8)eP!#t_babwZ&#Z&3%xZmowPQ>0aR0@jS1T)PD*M3WW-6h0_|PkMt?Ua=9Mgi z)Lp-EgWXy>Z&kjx)NOZdcsqS843CY@`0hKXwPLXdHc#~{#1M7y8%lH>^!bcC=ZdW; zW(`%61gIv?Tqc_(Y+6Ana&{RktM7&R41TQgLIBq>F5l=G+H#HUB?PO&;-~c?&yXse zKUWvcZzdCb7>YPKF-RrQ{f+BzJvluKO@u2?gLkrmOonj}TgZsSSk@YKRQDMZ{%{0g zYvlznR~nv#}cOQSeT(1`Ja!s0unn0%(DA%4Ra(z8|6`H3kXx>A{ z(Ok|I$u&l`*qP@O5z+~5I84Zd!qD4S#uV{Re&Iv9xC|TCSpfiN2rkopXxamG%&QP6 zB!&!e80b2;b8~@kRZXVL)`Dr^ubh?zKU0OsCpaHpuP?Q%e7U3R?+87$CYtH($(JSD zh+tQ2`VGq1$UKo4p{J@i`L1n=!Qd=$}J3SL3sU5YIO31X5u%MU&mW$RF>PhX_!|-&vT~s@QwIL z-_Ikk;fwGhcfbq5Ep(N?ZpMp~GG143+e2XgKId%w?E62r$ufZ&R_l*6f(ia_M}q9X zkA$s_ld;=Bg1}Hbz3dNN7VP>RZdsxf0B%A_b=e;RqN%Km-&U-mxL!X4AN00eXTHZq zb{5_ek+bcc;wov1K!qVc7vIoOt{uVdqJdE_*V{K19u&VCA#bXG3%gWAVp{9NXnZKC z&-!weE;4HJYx|;rNse56WsWjwaZJ<7H4}!VwtLH%AL?sXe#J|+Z$gsTN9L0;$}QYh zB~x2X_i&9&;h~6r+tM`V^B4rf0Lk9ZD$dV?lZyO zd%?7#Vl`NsEu%>3?KfW1G>KlFy>TtkM~3JL1C;%giCie2NQJmqm%Lg~bK}DW0w?cH zP`U8xEW*{UeWo=sFUn0U>|fwQ*!9vam;vJP7fm1f_o*x)dLYln!o7yGF^|oy9``_| z*Nlu^V9a9a{ayU_|IwE-4cc6sKV((;kC^)Zy-1VhKVOKEv4OLxslI`^mATVDo~S7` z%^#fx+2^@N?*V>PEtidd-H5(EPr8$aFWFdnox3uyPfZk7GfhdH0*z_Qc6(R2o+g=A z@HYtvgaB^#gln}?EG3?VB+Fc1Ei00Jwg5;>TC7H#V*G(ue%j7%6Eb75UQFhk)G^}T zbG%HhZ1>|;8Ij`bv4IH22w^q@W=e#hq~Ib_&Q5nw4SNDS=v=pUI8R0Hwb)l-JR?sP zl7FHAg(QkQkZ6`=@{;(JMDS+N-Ll5QSk@wn_@$5cV#A(m;t2WR^$w$2ps(|H$E6h6 zkj+8~95qAB?*VI`ERHFpbb|bu8KTDd)OJMr*q^Z_^}AqB&NO5sISL@3Z`GTlyMdFb zp^p38*ORHxmcH##(^GZ@PUpw>S2M2mx3Gtjk`kh@U0j8@DZlgF7_|qr`M)8Rs1aJA zpUvvo%563qwvF~ak!krY{S0%jvHl!&mrDHBL&P3xcHEV&#A| zpxOg^x(z8XkG1@1AZV3NVFtYTT_zrAq36*tm{GIG`YH+v3I+mIODFBhSb9-FpPTMk znF{jqvB;Ac!-8PMJBkW= zY>2q6-_5DdK6SPc?}d161;1l@CinO7Nb2HtvvKiUIW<=SZ);!BKz!Q=bPPn6HLoNI zXwN6OxZlK&${NvW0bbR=-Tda~#{O_~y1BDsF5i~U=3kI}pjVn|w?RH%RV{nZD4sgQ zR7Y*K(>9`|gjsKErSr{-(HtryF`371VX<-wL>r-v(NSKPjxT|bRAfY9gFgU}U3#ej z_bNCvZaKVuVUoWERenLFW9-mxH+;^& zRl{J-DdLN}blWhpqWz^rp^0>swMMg!=RUQ+J^8?CE!pT8gE3ks7v;tSY))eOV5ZVa zUJFTOej;PVLMo>42>rG0(u}5h5bx;Bo!D|~l$G`R5iW?E zW_6lt5zT7CgKw%-a3M*Lg8_!pKPS&`D2DLS?pRo%>>s4+jewT&bXTp@n^C3LQfhwU z7#ADV;c1Fb+?$StT4^76Y#uHt=CVgD(h@l$lJfQD-_*dO%5gs)u~tlSyt(m3idvGt zwy$Ig?4UZr=>dm^X>t~W?Z9}aq>E4C`mX5P!Rq-KO*|ARt$^kY`1Fek2c)$OYmiJ( zYu2&^R{AE{LI*XnJ{31p-*9w@$XgWBPOu*bO_%Sge#KjSx~S3F?SKEC@_Mj z$Uh-^D(=JH*1&J7PhY#qG6^8HB$tuWhx{!RUmA5l1`I*eLbNhM%>O%;BEMo?<9A^z z)d@LkBIh9Cw&4`p)quoBd2CxD#OSajxU3{?y~Vmb`*AsaD!;HVxBp^nD|n(Y#4``> z1H1JouZ`y(s`uWRPK{p_v)!QXXV^9bDod_O!E|e9k^t1_)}G=;^3aT&OhX$F-ZtBn z5!*mL}H{@<8dt*2x(2h%!5oJbslJz>zDhCiaCqeGx4YRis-^0M;q`+ zO6^;maLfS9J^I42mWyDhKUiD@(n`eHs8cQHwrZ$}Xx%PZ8G4PZJ*F4MiZ8+Ia843} z4a6!IZojk+G&@3B9mXzUzo9xd$0v0Lz8^gM@~#q^jbdw@4`M&Pf&O{Z%f`x0Q9nJm z{a*#5|28if>l>Q=ykGC=KFEGL=#Xpg@Y;o-dNg!gE;o3i(VJf)DRlzN$xJxmFIP+K zdHLuLW8b9PIRv0Vy@e=fO{rSHVN~31quF{Ze7LB!2Wq!&O9DklSOGVOlp9Q}AUA2~L ztVwkf=u)`4ZiU9-Bu^|3ka5(G=O-U=m^i!sg)&vGLJ$d>J=N9DT+oNg4U3; zVrg>J($Zn9742|BB@y@Dqu81&p=#N3n4I-6y8(`x9Sig+|+Lu`VN=uK`QLk`y}fKg`hZN15a)f7Y!6r^0J+|sM24}YpF}{4-w#Lk>bN1 z4~l*~#r-8U$6Unr64w5`3ADq3^f+PoZDAiMj1{{oGv$ zDO3jtasEXfhH!Tv%7()(2B2wlHk->|t=pC>P{4+tJP}l3e5Y3EpJxfPyMZcezMgY>}SDKV*z?6jyx$5$#SaAhn&OpPf{T_Y081OL(Y=&`{JNMRoiKSDtU%CU; z{7_epq|acD>gItUN)`Sy3vZQ$;%tQ1Cau3Dtzrb1w`y+g6>pf8<*ugmhftv~{0bD0 zWj{o#hAcgnlFGvBZ#A%9UryTj%rv-oVm`fO%f3@?lX#86shAxuDC@1Tgcyu}BklM1 zA+y_N2V3A7UTbp>fXa<}8)nE2L;4?Y(d*nGa}qp($p$v-vY%Z9$jOKd8+%7guPPEF zm)wYr;lKo&%cH)D1DBOuSqlo+`I$4=7R)w7OCZTfW{%me!ddlo=aeW}^Q`j&cECy8 z^GZ~f<#y=>HjI`N5c2$CSGIJkQ+ow{M#<2rU|4spNmR2#e5c0`R!DW$lz*~#?|nH+ z`0HLE5_K52&y9pUYu|l_p`=FY1TbgE28^!pw?~sUW_p6q!#s(AHD+L92+}G#aS?Tl z4@(E;p|v(sJyc;EVtlHfV|Czb-gsxTV+$wX_XWeP8G`cqqWp*@I~+9})3@0s@Sr)OfZib-;+IREB3*j1MWz6ua+gb# z&(YiA(<5JLmK8SI1{WR-lEMtd4I^o&cC^z2wdoMs7GA@1uXqpF1&0>R=tCRI3Pp(O zr^vwpxA|ZOOtE_UvJ9^MI>PfRjx>Fv)v)=oEkO1~Yi{aQTlQ7GOMvW3^OzgtfC+GN zR*uYa?E<{u8Pm=I2yU>{ZBBPOe(SGk_q-P{MRG(6`um5@YLZ35f^?z&~1hD_sjsJT>#MqJfpOU349h33n>A0uN z%;Xc;@K8?_EOJtvlaMaretPJTG0OT9Qo}xwWp*>(>r;eahq}bqF^U9 z*iu4k7Q9zpR74axJf<16quvZeh|f-b$gqqWZ9G99Pf9Rr(Ii04y%#R$HCaIOCxI(m zEZ9Ig6;JT4KiWEq@uNdutDnMBMRth(EAV>u$!@r4a?+Ng73L9c8guf{+3)oT;VbeG zGa^1ggn=iwuid+d+XE!>+-J7}edo;7X>RXV1i+%};eCFfD1*E8O|!!?+Yy4ypz1W# zN}`YP)AD0rkn0h%1{Rhlp^pPWgdofwjId#-V>!Yf!a5Hcx&8fG`_f+CLi<#Qm{Aqq zx-c}@?e~s>?5?#z5)=O-!KKq0*mTfcOpnQfiaRcpcHwqtp3H+gK!8g#fOu|x)A{4M zMY6o81|wuY>oNh>uCLiF?!RO=;6tEZHF)7^lv(|K(SWt9`PGKW6j}^JYV-}oC?#ruURfO{`zedKI_|VvMyzl)-<<1b33d*(Mz$&WHhIA- zupjRSO#pzSEwlm%i_*d z9r*J%a=hMDit3|xK?a$Vj%Q7b$9khWG5%3$px;T%h31;F)N+g-ZH6ACA)YFcJR!%`*XcdTOF3;woq_S7HU;lv#!S51zXSF^7xp=Gxt%sM zAG9CP{^_VZp`~8`_)FXW)nEGG9rgb*iq6seko|nn!q1N3v&zBqP{?RBTHqStZvG02 z*k+{o2?)ZS9g3B75-{oq_q^AnP`G^+D>4n^kxsC{$!>;-kF_B@tuoYYod}p!BS0>X z=AM~Rf)n&S5e`;u3`YfOV&d14#;;pgI)c|{^Pe_P+;1=*Hv5sA8 zx_pSzU!{|bry6EEEsroS+fC@-ml5y(!%LlV>&pKi2#$Y65dTdYnV8%B7)k$OCk|Dl zBi4V;inw3y2L zWJVh6Oo23qc$`werLsb0wDlr0Qwgt3l^mkA+~#eU0riOH9Bx`6#+%)H+s0;>r|uSy zk=UR6_2g%z()uP;^0&6LKYUpRFaY3hRfYk3M7~9?ccy8DLwdajDz$`)l_h$t*dm(4 zA~-_tS&*(aDMJ>AcR*f?5IVT2gB%P2BUb*j2}5UyQef9{hqa8XOaQcXsdyd?8$M2; z;-`zoxVIA62@?d9V|1FE^fKv3k$@z?R0Nt|@?HeeVAlF~)s_}ZOpOkuAwRnfi7F7H zUxo<3oiZT~d)u{GG4jQGOL19QAe@N2)uGuasa z-i9wlE?5kQ^NKU)`OmGFRx66 zbHW^e*q2yL8q>U>_xOKD|3PhHs_EzG^FjVwTcZ3=y3W+t#@IpM>Hh%guK&x`$pxdt z!bjQr=L_%u5}Yeq3D2iY*W-%?1tgqnR``dj`y>C-bA3Y+*WS9NLIo!;gzIzsbxUSX zC`Lp?>xe;Xf~CTQ!hcX_q7{C^q`|_JLR>H=I?Ymqw@Q`%(dYd7X9Iz{NA@ZP4$U-& zr_-lLR^;vyOXM0N1#PlirogtrbCR&1eSe%qrkjPBR6H_z3bP%_zI|2zZ9P4+OgOe7 z<1#+Z%t$>L&tfQWcI2zG3mCs^e`~6m0e-^k(q*$_bu+n;!e^whG>ql(%!B@CxKE_X z{)C!~hP&?oR~2Tge*nX*pZztAJx?K+PuLW~hgd=uV&(o9mk)$&UifU17Hxh(!8{Iw zzIENK^kx_{hLbKgU+ACu;_7He}Ju&cmdYz%5gW}XuxMdZEgQ7S`7T9R6RFK?V&>k6cY~~ zWFob~X!>P)d2c6w;Io2)FYQ zF%ja>aK)vS0wl21t$4Tdm#8|g%2Ne=^Pm+Jc&tsJOHSU-o<&asi|@3ghrSj)2-NZm z@Hpnm^!}JE+d@Sn)>vG87wTbM8AzEA_rqAbwl2bMS>P38| zgu~jW86HHIq3E}Boy~oE>&D6?m^fhN5YY;Z?FrdDod6O$AA5B~4;s}Z_5FMr4IEF&@pGn5^?9uvhvqq}UTP)l#`hxokx9t0mF~bIdadmq zzUwV907VbsI9?xnB^BavHT(2@iiO6_$IHB&EZoG{Av9H?yf8B~)M;=B`?jpo8@u)J zK$s-mB+H|q-YIf{tS|}O!`fKC@vL{goS%Czwt&RFIa+*2fNKR?s==I1lONc+w%wiY zl-NuzUuPv|5GJV(6Y6Ey6gR4V*ge=Ef9{&HJ?*qtH@CyrgWoGR__OOg@T3GWkYR^M zO>HtIxHlrmY=Uj+ny_3ySY+)UEPZjuVoIrWy^6NVEI0;8ZV43;Xd$QQbFBL!QJsqU z(}be1YlKets=C!=ca?5+K|#@eV5%tPNgq zOr3mH>-IqkO7>;P+nn=6+K1+w%>fCcS-mEMh7c&yD+bS#QApGM6v*g8va=zZb3nzp z^aGsh&uqi}=H0?Mi31LkIqfEM$?Ut(c7=BQic&Mf36sXHK--(3BtcOA&1N}vvMv7Qh}Jj6*!KdUlBbP4KZQ|_c`$Xq}&JQ$mb z4+F6P{=+GznUaLf(65{t(`iuz>lk1)ELf`J;6B8aSBjh`hQjAIy>o0OJn1Zg3N>2M zm9%8tP-KtRm`c@)?80`qoqGCBd#GKh^~hlgITnp_vTjKOe~SV=3?0BR|x8ho<#Xb zB6}8xqH8O0{$!l1Uf%ti$e^`pc5IoNJPNgh*kYl?EXwXPf^mizbNuG~$}o3r8NF@H zJY)z?JeK9=nrytB^|VVkAAdGF26l$|)YxVxD*2_;+Rf`|G8zx=L~O@m{6MqIEU~2m z+iv1B<4a^Al3kP^QfTAcjO&qI&-P}`7D5Q0^vj-VV(q`8_89LdDYD(OCeiR9XqK@LvD&)sM}C zB#v-g)sI+SWjc4UdIZe#JnUJB7ZYO-d*aEAikLEtSmns>T6{!NLA0D|1R`iHaHk(P zmRQbZI<_I)g^+|kL^}sEgfTz%x#}2BP!(KzNxqDk?=?FK+x0?$0Xa^$^7pdpx{@|- z0x$y2JY(|ywarFidUZjA)im=M*`1Y(6DCf_o`=UNa^;}_=IzzPcgux3CW4U?x&yaaj>PQ~F+=|C?8^*0=kqOGB#vugba;nIEe!EdETVXP-czwvacJZfs7MI~u^3 z9AjO~P^OTGMR?=8y(>*%PJEl497=S+&b554#bjlH*M!^{J20jCh4D^b+0y^S0pUNW}SlMMMLy z$bo(B^e=TkuNhT#due56JDkKC*3R-CTF+P?)7x?2 z<2hCqUhR)@R7exdif5M;7gtp(KCqFIgb)xG0CNyOuiSxN*g%etP`#vd$}?`Q(25Q3 zjF0l8WuWcWj_C9oydwuTr75;1OW>1;OF2aTO%Q6x&5mD5E_nxQO*Hbvk)gmMc|^qk zXaR4T`k9piLk6Is+6bSriwbfL9{76@L;#A+pZb6SBT6ILuxf2N&oC(dQ8$NgH8h?k zIo#!7+t)T1@YydjJC?QdSbBqBF+Ko)}-ZoaQ*dfoTuuz{dRS}fY$(3_fEY}Jm zV4UMr+!7NRsoR`BH;5!v&6FXjCSJu&0@eptx;cg1M(})JUtuT*QrLG7a(QM+w-sexcR+f|30^)% z2OKKVxm(Ly54AsH$MZf?aolo^p;3+o@`y^$j)M}E`r_Y-K_d>MvzCQ4)Z;tSb#xK? zWLM~02g0yr{r+S|h!qfIzU6Y~!B6Y)I)g?M-Y-6 z{?OryM5e!P+AQVilL?Z(=sObHdfVo}-eY5yQhH5RB9PyHyB7Os1>#SR?2k=Hpzk(c zxnfwG2|Ciz!DZ-Or8jS>0yk5yeCtpVv@G?Uszn<)_ghi}NL>eBpV#M(4xa28d;g96x(U{D?GjrG=6$mn19rb!yR zVATaK-!R{Q(_+@fPG+|MO9fDxv-pVv@qSh{^HIoUTbipg$xYn!I#+J=@llfM5m$)d%tQE9|F?-0id4_SI; z#)vXjJ)U_2qaThE!7W|-Q=*yv)CdsWjq$rMJe2p3yVZqN+_lg@Q4 z-hRzej+j#OiDE{bqjw%~pSE0%yB-yHm9N7|c{vQy{fq+3GOWt)k6}uU3rohIt1Apt zfJ%b-utJgMvV4^*q(_>KDk zzy9pKBMJk4kPB!kwlRUbAYZ?-Xv%BaMS-ez*{996Z#kA1+NbTVvCPK1i-?c&Cwuk}2|oL_Og?Q0gj_(0@J=9pcT7QJFp0_&)>f z#oY0NeCAVqXYc1QMBYP*3Z_d6)g5oekJ(R0DDHCfaGd+>Pmi<;{B;J2DB_a*GASH@8h~d2CfGq{3Hm`5RfQPH^oSEU;(fGcVUYU^3U48TvN1--IF1)dZFnh2Rv^3Tr@Os0~9S&Co} z>#ezhXcvIislqr2Tk%Z^IF#PC2VND#8q8| z?jPhq@X1mKQoVGtjsvLIJhBYR1R>5q#G)g#xfTe>P|OuUuoFX?W54XgbI2U4`6tC< zi;X(JXCmErZHcwzX-rHv&CV+4YOtFVnQCx<`}gL^m*<<-8&NxEhLp@8-~o()`-u8- z`j_T@?u8AhA|oET6Nehz#VPF33G0PW<+VK?a(5SgKoxK`zp3nVUg63tX4(tFX|3QS z!3mx8eV)ToE$XLU(yFA^q@4y1nZW)`D=~yR3(MI00>v%wp6|v{iQmYpk zSRDy6(#$e_9KZaZ(1;^>{~FvMX3ywfvyA>bE5Xje*7V2w@qdJJP1%3qjIL|wy!rl| zFa$NG6fY`C=XUw)rG%Ob=s2vkqIWoE3NYVpA6publ1oLDFR_13-?~;`HI@M`D#QxN z+>a5`VnJeXUAM+EYveos;6gS@8xUV2=E+#i%Anp*0Qh5 zR+_R48vu6Rdcu)(`2Yk%yGY5xMRFpmJ?q-=0TJiAnmy;+_hW+y<1PV`G;o{^Yv84p zWWaE83i>Jv@aaqnF#xOJAx6Sy7dk4v@gYgIB+%m+kjXOC@lBG#U&e_8U8D%|H~qG$ zEIWTd1K=A1U_R{W&quO@3MOLN`i zAaDJ{PqD0cHBD6+@}(0yX1ZE2Ff?dVPBy|G@8{^x)XxDNfnW4t@`r%53r{A~JVJR& zABScN5U5|H8s4);Etsm$h8F%RBe~Zg1F1DH*LMcDQ$6#^q=%w1SK&^IbEf(Mjr!sKJmokZ^|0qR} zWa>)rIu@+-adiuHb}Pw~pV5TW^1B`eYDh|KE$ucd<7SFdvT{~qaU9%%(6$)CvEiYIx8oB*AG1UTq^qRL2m)DrpbJL$5s|CiwaT-E$vjgX={{1{GLCh5uUa- zmKlv~jx8VHxb02dEYQN<1r?P1Du0f@HXZ_k0fAMiLccl%y==j0FOWC6vJMd@eRl0B zAp6z@v;v+op$e{@*vk%#JNI{}SCi^``UwvDV$MGM!^B4YXERJTQccBmv}P&$=DMbV zShFC9z|ZEwv=6NPld2sl#3Rzu&72Qcrpp|_{-+PX4Q+JU_cZa{3pd20OKxsHHrFF- zSKO#6uS&TPJ4ffqeXfx_$PwwDpS3?O1%)`j4flCcwLN%BXZ{Be?&vI*p?`d?oe=*9 z5dOQY{~R%EbI1QpWMf-8uD9NH`2H$@V?V1Ti?8auXiw8ZZ0SDAWE$ISOz_}p1QC}q zQxH{%-W>eA)b2#1jj!K4HNT4u8@d8gqk8)Fw1o1fyj`lq+1B^GGqsA5fheUSzp~;4 zFTLj8JPXx*Bc|J0o5loLIf3Rv@v^acA~=&lErOSXLd^u%_}KEv{$e;? zZ!4?x#3=``Qbj$RtiMN@obZBi{L!~Yj7UMyx8$4`9+Aeo=*U}@;eihMuq?BcbbwrYD=7rpcZ=xz?zyGnu53M-_dT_mcWqVl0`ktief>h>` zMSFU}_{xBrs5GCK##wUz)$I6k%xMr22!49Tu)sjGteH`+sj*60j>B`Rg((&i^@FAq-orU4O0Bz+8N_PyEE{y8bW>vmXSGsV9(~hl7l>Q z4xq54co*zw6TBqqsroo2{5YlCmq#8lkg=sb;T(7r2kf{G3(%!L4({9<;P1|;*ot3t2+qP|^ z(zb2ewr$&HrFOn^?z6tFIZtc*Cp_&LcZ?Vjy>So>75eq>OLY58br zg0KhQ_{VyfnM$QWD=tG4L0g_oGZvs`diNo$PO3WRzq$q$CZ|>cX$^;uMXqoA*X{j;|LUN ziQ{sA9HBW~N_3VaItx&nLy?)VCMUSFN3v884q8z%4)ogXVz9va!PT1S>A+&@N7Yb# z{cp`9+gYviMwC;7vGm0hCEAr-*>HE_jC{}B0?&F=c*|uEbu`_p1hgO>-1=H#yYZS5 zXZi84vV5U}WVH?WofTSFm#?&ofs`}*DF$vqdiwDOjDsl5Y*O}2_&Ln5`H%cp0h2kH z*PP`wWzG)Yis*XKySj;(_l8CuDRGuSW~{4%lLu!opp>kH&M(XO83u)DLMH)(S%vF$ z7CsDYv%d0k0MV0N|J}qwbXW*Vg%!-S&txOZ{r+2`Ut@{$0Z_b_Tp%omXtVd?F;+#_ z{tNB71{{?U@Or`wQOJ!To;l%+9Lfs#G9H^a4t3HAPX_7*3o6Xs=k(UIob(V=j^g3h z9g%X#AeXJo+T9iqJ?Kvg@Y&7Z>{uHiNP;lWdeZP(7D#e;My7xlcK{x#=UF!Ih-M7d zgj4()2Z>_}i6Xw?LOq{mo}5F6#AA)5C#g%aXJg%fL5l!?V9NpC=tb|&9-djUDA(5p ztx|1X4_b`7PSTrv+v*QII5>1wnJ-sJC>A) z!b=kN?-big-j`dOH*JqIA>94c-y&6h!&e8!!#cCf*%vHOvfRM~tod0NbsKU){{o(j zQ@a`m9EJn?N!FO%SWe^siPVExS{93B_~Y}p`&saP-nlMQIyw~Ul)tbW-vFf=T0DF# zmsQgAj}|-pE>5a_MwquZ*&`K?U|bqt=626bDd;Q+kz2JaY4-*b>c#5QfWvPr8M9+9 zRVD7{)mXnY!kOxPBMuU(+a}`@N)FAHxs}3j6>;IK>QZ!T&WxBeZ6xM&A#;kHt(UC%_R)?*sf2@k2906ztpgqLvjQO;IkPs$p zC*%ITtHFfO)kHw>T#0=9lDmwmB}X7@FO}w|e&5tPq_5AH;@=7sm$!#jkpkj=qvn8C z_?1v&JKw;NhxZ1R`868pPq^F2@am`BfZ_mi{yxA}>0=z>pF7j$8&Kp}$CX{P4QNxXQMpYiUhKD_@%aDiLY15!3*?u@Yo zX$pLhYqb?`UF>;HP3ZLEM>sSVAWm=NJeYz+KghzQ#FoR``#5{0`}c+Hez;e+Hj3L; z3V1h_Y|tzF`uB9h-NEHa&QvXEim?MfE-Km(PZdZ<=az@qpIB_7;w-`N=f%1Pby*|P z(VhO}SYByOu@KVN8YXZu(90}U@hq#oU>#EQLkMOCc+~Gs*Igl+MlZIkoQ$j&0i?p0 z%&30(06O}Lpy7%$L?lODVGsbike#C6Ktl(r?hAJQmJ>lcHF3%rw|Z23P_P-d*%!oV_V8Y&0bDl zY5|SnyeogNAN~1lH-VuYPhuqG>xlE4Mh6rp_`n*}nZ5MvISJa9c2t4l4iDsdrd{oC4)_gk<%r-Wc=;u${Fd>O=(mPva*(rMMX5~C7ZsvYrj z0ir2E_CwfF(F0Us%~7At!?a6dZ$HgCIq|qL!RZ6ybd1#RP%C3vit1N(l5f06vV^Hz zLb*4*pUq4eJf2%+4Ux1%Z9=~1t`ACNMP`OMy^F;bXNr}79^sf$1;j@|v)cLat0+KY zHxe4^Ov=;NJz*R!{+s?Bi&fw|1z97qWF0Z2F?g(q=3135SO;5U)30L*StU`x=2~?w zgjvfHAm}z?2Cgr21!G38CF0isr-2M)bu1B&jhcRa!r!lBZjX;=2jYw#sTs`(BJUq! z3jCB(=3B|rpX6ULSV|8D69w-f2WgQx(k`Mj18pRz99aA%JNT+mOaYd(h^)W6xcYS$ z_Y}o7lPOr8`Picqn>}pEwv;CDEZ>ZdEipoV6^PCOzjokC%hWzhaod&{3@H*BV)l@q zAD~>wVGH1u^U4FyLW1NKL^Xeh97t;)a57M=F~tE%E>Mpz7ITL^cV1c8l zoLd{(I?dzTo3OklPqL34u`CbkFF&5YQ#Q)Y_B)dn9&Rym$J)x^rjfxS5+K;qaTRB3@V{u7j1!f%ijeWr5zmiS*jrDCvVT8(w3oB zH`aS>kbwW#5=xvrHBMVjXFl>UI4-Pb-aQMDyyUr~Lndw(U7rJVNu+c^fk|=x{XkeG z7CzdBDJBE9{$QwVvey7jUiAl9__ApNd)|QQ=%Adk^+j<^S*8%w_vC2HHSn>6tg6oVk`#(f|#R`)Y0hN7!5JCYH|gj34DVQf6E!$ zU%Vj?9{wmPKHtc{DoHdFcX}pZa1u3HksYt~9OKo}6|P*uxSZnJI^`CY;02k9WrziZ zi<&a!rE50fqdG;fOPXu~VP}7oqDsgJ$YpJUsb_^iw0I1Io#Qo}QNDC}bG>WHJv}A@ zQv7}U(U`1MlPS_LO$wA)qI|lyr^^dT(~Yg_?no4 z89u79{E};E0Yhdirfz(4)BLN-V#AQCx;3?Gj+Od&L;-8Lr-dr6hd{5E)opaT?IeNd zCHoR5&< z-r9{D8revuBV9?w_#3x-u<2geZoko3Bt8?;=15xG{9%jS(*-t%qJ97UH-)%PM@w@x zb|;qgNID*@An5*pl-i)uWcDnMm#&s?D4P{kiAnfE6KWUHUaK{&GCjS0>MdzK3NY{8 zpb&MQaDKk@v^)kL`rUcp)A6=SuUArd>0H2LqR{*~&IDc;6`nOVyHu^^m8_%AQnwo7 zG`U|wq29n65DvRM?&Dfi!&vbnIRI4+Zij1QBo>uzQCw$NBG!=NI$N@7iw4EjlhY_q z`BNrfp`j`fP4Z`JHSKE~y*M({ z()vJki&Mz~kHdwW&?E@Z4lEuv7{*CH-aezMU@eN;=+-RAhu_X4dz8%jq8V5zI}F>z zCp<+K;1yeZw?XHOcMm>|oX1NZ3EeGVkJ17+IU4p@W!WO1A`3$;Q?*%#i8f&S<5H*B z$W{f&si%{|p3<7=;g=shjOmU2u<%@B&#n>!#1{`vuiGqeNO-+X&^ez) z`_{sW=E`=@&80G#;7tM>!6@(C<^u%Md zJnOm^v3RVFThu&dohMh@TY4>nuXR-}JuM>Ds&hn*;HHv7UMiR@z;FxoP@M$>Zddbm zG`0%4mUX8JZVjL#w5@r$OU!7LG?Ft#e&%@$E29*&`)ZjORX&$sx$<27E-G|$7abdG zUzNx^@i*b+5;F|<+l|sDRTg8zHK`i))nv`*UP zu2`$*U3w{e;Oz&KFP`+CGad)2dn8u}a3_U2XbrQRn;cy^u=)j{6dAh=o-<{|qn9sr zd18*>I3M0>49}Li41n@~51Eu}x~)!c+r%D1%wZ={+np$k@$e~q*ehEYabo@yWZO7y zcNVL^0-{l=1A_B{u=heQOv4LI1}1^oAnR%SlNruk^G&&NXNTGIJN!Kt`tlf~Td&>+ z#yBhbcJf)GgTh+NmCpi0z!I#+B6Clm0fZQmg!FBFdd_bhwYt*lAVS;?uLf)Z)yZ@< z9ZWOuYfz;eRE=k?A_rtFMNa1c{nT;>Qm#>j@e^VFv?^Nxb`qkuODD^gCl)5nTw6>g0ho@AF};%L>awL;n|WtH86WfL+v zOnN|zZEzQ(q)N99gFAfeOu;(hg1a^MN8j_6&O?1x^=yf_oIwLi@F!l;&JH%;Kv{GM z>uZ|7S)9d_&o$U0Mz4=+wf8F5HuRGf@W9fUbNeymZ}O$^!Nu1Xu0H2Rgv&MDh7;|2 z7o*hyHqpKQ0IkUN%?=uNc;P0fZKv8rw8;5V(&rRY{Mp60l0B-Us=G|qAuFBNu>i~~ zMLfxA8sUk1**lGjbA*TV_rLZol*vcLlE?r67P|jwK=K;>r>pPap#RVIrRjfU z5_+G+edP((G<2&IA^2kcK-P$beLC&EdRF5mBXU^cMf4osFSy&p3i(Hm`X04X_qUuc z5yer&VwC(V7VVi_Dj6Yh?C#Z6dBp8}#se$iDqJ0iOGHV9d^fyX+B-h&A9DC4&#I`t zgaTX2Uv2@reau}Xx?ydp1vd#~)N%#nz+C)a=B4;+PCmu1$GS&Mx>!Jzw86cex%A*R zZJAP?5Ms(LLMoMW5xn%4V$VTo!z)}ztmVrccBWDM4J*8~ekB$lqPo{9eP6U!UoU}M zyi#z0j3u#%0tGBW9(pv^)-n7VO$83!=gXO14=Iec6<%xFg8_END~&>MSn|J7k1Z9F zzUohke|bXo(md63);5OtMzyHLxz;AA{{{LC`VzKvsLB3nn&&8{&*nA=vR#6Uo*vLv zrkIR;${8*86=PRcA7Cvk%(Q~4Wv}Iu5`doO=jmNtG1_J@lg@Hi&Jq;h2Y?XRg-|km zL{^KoLzyf^6u@j!0ma8`k{;}$t@&ly1W%OLWK4)#Kf5VRE%g;hKl_0B3KBshuf8oj z5b9{Cl3VGuQX9`8!lI5>FJ8}Z6PxhI^Jsq2RP5Inb{GU=$?yl9l@E;&Nj-%Uwl>u( zntpU`2o-`2VFp)3w$;rv;m&N5wP;QpO)BdHErt$*~XF`w9N2{i0xVh~9 zv`7Um8n$MEN(D@zq})10_zV2ixgP}ZnL)-jLN_3Hv^t6xn1>Ot499#pQ9KmU;ceqY z%i$1V-ZXxsV0t#--*HZ7!zuwtO)7{0lE;V-l-)wpp*p#6q>>|y=Cp6-@OX(}DE@;} zlGGXpbU7+PX(sW05v+~{!}04=$03c@B9>4bErtqZeYDaAyw z3tCxR6K^2ZEQFi?UEQP6wQ(}j){^X7v9HXI| z73k01_!hKLq~FPA=r~5#N|8nFO6e|}+297G2Y&wx=Gtq@ozD8B*JAvScwhSeD!Bju zO49$eW&gwRx%!`~v>TKkJ1Zpv{+K7=GW zE90x+{FCLAiUa|o72;jDV4!+APu>PJIqe#hP=O|gExar4wHIu>1u0t6=2EAa+LH~B4Xkg?&1QVr6k-}xxXe!dLM_U=qWBK^Q4zqr7e(psspmJ67 zQE2oLWh-yLZ{qbZN)d=d{1PL=^ zS~cD|4SaF=u7a;~clXnFH9>x%v67;d=AL4J((_lAg^eUQZtV4~sT9=#u6eA-pUM6K z0s5ih!rX^TM`W)po@8iKIlxMkKuj87{rW~-FaGV-ahYH(`c74ot1Xy0q)Xu*QI%L} zfHN^&;i^!{(+j&Q1K#FJ*?7KY?jONESsQW_^b;bT8sK#GCHmKzTcJ~yOfA0MpN?M< zHTgSbIM7ucdU(I_isz?sS z5xv8=&e{mo=$~}ho_+t2{c*KfbF6GbmXaYCwgF*9S~cwq>O~))95~K4A8;LQNmuO_ z?iZ*g!Uo3iigRFc`5nM$ZBOk0f(;cqAi^D)!aCw9QQEZej)u?j(~U9@!3&S$;~~H@ zQ5)kElsS+yP~-Psf-Q^1LcpjDM?$w)-W&{GCYjDDjL8K(oxo*(_#d$@3e0lE9o6XI zPJ>tEZRg3CuJfD(;;W^`!eE)+WtoofAT20dTDN7*YlnuqFRm-KBA~tM_LOV%=Qbs) z?M(K~LNmCATJo;=UCx?E4*`aEYIFd))+}rztW{p05fDwhoyF~KPbNsRcS()!6}1J0 zEe~6fi?Yhegqj_mBI+{yjh4uzP57jK+2QRla%CZ}?@9JCbDd^(B5KvKUo(v>$100UT^1GevTgA7FDQiW;~E|QPx(Rrk8)AU|DWaO-&&L=EKA!Bw)>x@ zC6N<0raW%T5Z-nE6dM2fwev6QIS`s!@#$D&4i!R4jxZa`#;+UJffTWDAL1!YGsA>| zy-rg$qgpd^bG57@>QK)Ihx*YoKcA}cbmqfUDRklS`g(|+l_M@oGokHHZr`W9tFavK z`>GfAvaz?GolL;p7UfCb-)hMNGwENhaZ5}vV1L*cTFnEx0m#Q8ammiEF6xuntZyY? zqAk`F-%K?ginxJt`bs-gc0c0l*2Iwv5%oc7C_BnAkm#ngi|VkL8JWfJNM5<-$mw-Mq}sHlqy+MRYS^TnjnO&6z@}I znPMZ`5hOTk7rclpLUP3yiT3iB6QHWi{)C5EP&R*D0p9&D0L>bF0zY+KD zN?izGw!oLZ&s<)ng@xhJCjmBDZ>$*g6=G~7`1)ckI*^YvHe4bmPf_+2k;(#9Z zg5Yc>sw0B!1oA|Je~Ow>7E9@vvg0#UA+qxW3mI69qt!yM$SrrK0Vs+o(fH%>9?QM< z`SWu~o+G2dy&K(NDA7S_LC|L>gSrh78XLnx0lB{{9v2FvgG%qwXmdDSI+M`pHR|J_ z&|!vBV}>jU=o>sK_%PneMDUBAA7Y3Jdxo+2lgQ5?OJ z67ty!VcAqbp`L@_@VyN%8`B~u<5x7AOt?Nt=FxWHEm9x|rN?XYXse!%6o(20pIYMnnVd3?ReaTLJA@>~|8L;7y?)z>YMk+8ER&sD~b^e~{bM{H~F8{{!MMUV+ zIGE3e_6cAsiCl}*ykOtbrHZK`udX-BT<8G-@89<>MvbG0K`Dmz_rpFCRHrXMs67MW zK7&u?Q;HV|0`1Z>O9?q*lp8Eg^0JG4n?lZ`eoyS~?7alj)B*5g)FhD>%t*0;N!IO^ ztGu-mzXgqv*o{FG8x@4wVIri-7zd&6OH>p_0n;aOq!KwWtvUFB=3I2lt&*Qor+ZSs zd;^)YH+XEcn464T0`sI|pc#?S$UJs7SwKX~ z4@gXi9T7Wx$P4DFykvYXF_ac_KS7e{-s$y{y&N_a>+d52%45|Xq(kKcUnmI!o(Q2@ z`cM1{CBpCXOAe~|4;nhKxE?y1Uk-hQH&v3Q7|~Lg->2U zTHe~(GYpdg3hm+81X^4OXe)qkU)qc#WVf~8^Ly2K_j}AV;qu_gh%U`N}=$_6Yu*{4w_^mn3R27bB% zV7rKK&#+-SRfOI?S0hGR3x_P-)R9xFK?1Fh1}z|MeuigERHucC;hlD45Ue*_{C0;Y z1zJuZ{!X}9C<3V67s&pU@FJ&Xb z&wABRc+wCNGW;xSZhFly@D+{VD~;j||A6@FT!Mo`?eW+826M*?uqd_Mat;~kEsJ0v zpp5C`bJq6#-G(z*rK=EXfgHZvw+V3cY|YT?&_0x&t<=dj5Vb~zv3>2v-m%(F>Iz6l ztsi9@sjpuLsZ77*N4ac){rl;r3U8rUBGaB%4VjUZZ?rPvT73As3{Wuw(b@UFo3&p; zmom3a0`$+{Wx{S`fiNq&072GP0B%D)))VHC;;i_*6aiyj5jIT_*&0Uj)(Ta0HO!5&R+y4$QO(1w0qFw4B6`g z>P4moZD(4aZDw4E%DHE-)hJ8dixWFMiaA7#21-#1z=bO&Iyr8gl4Kt0{Rj82NTW8< z;<@g|rlm_YqDOXmnDk&feHksh3MOaeNR9qV!Nd(BUkUvVV zJk6Fbx1~x37F*EllRaF;@4B+)TedW@TAo@&aSrbc2_r5H6``+-z|l4h*wNOTdzVxe z3?%ngW}ms~REN~?I7Oa~sZl?%Wg4TzT@^`=Vf?Xsq}ggT{Q4 z_jfHqE`crqLgInq>VloPN_|YX#Fd9xJ}D5Y|0Lc-TH3DZk1gx^PB3Rt4V&xB;Bj@` zw=tkU{W{N9=)tNT2qI9v&cL&7YmRzJe}+>HIb9E$=O?zgqeC0R78KJsU$&EMSlNS8 zV}O81jKOT?926t!VU^DOeexp6wj&a^&U4oBh+^L2mBl2*gFaU3zC^PY;=k&-*8NB< zc49G3#-OXRRP`bTZg%%u6l|aW-Kvj^r=W2wt7?Pd&PGgEJ!AZdC*BYBL3m&^HD2hZ z;qz#qC;N-&`_uL9zOTJcz=A_I+^fc~l6borN<*Ef<~k0?pqDW;_oHn`o+_+W*;Yek zA_ZamywbpUODwEz)Qj$@V>OyP|Iez0cn%w&zVpIu__gNrNPB#gqA3u+yv z@&!PkaHa|_t46N~e&V)xjP3M8j9?BPNlfoIXEeK#)QAjaUkbK?g&vrcAUTrFO!?)b z!3DQLgjUz>?C205cw3O;ln!mnwol_}62U!TW?tD-qmwjrx&PIWG)FcwCaI zNTQ-!PKkYjnr&-Ub3-zK@T==!LPttW62TzK^msBY&G4pnnXgfvi*?{^SLXLQ5`$Z5 zAwzm*d_G#+p293(-;65BO>0P_dM4En3kAJ}Bf$_>;@fXcbd@{HR#5b;*pa?;3I%K( z!qNavmFYpd5rEgq>-S->l*tSn$znMH3mRk^%_bFGL0;IQ(NRRW|qPC3L$tS!mG zRs8~=AyG6lK&wTJvYM8VKvB!Fdk*F*S>{vYSXQNep8I)KFP8T#gXju~=N9}WV<^9J zsJ9a%MLP9o4H54rU%l2D*Kk^cMTl7h|8T1?)VDgq?@npHSgL55wxO^saj+`j%Kr)g zX#w6*sRJ5{Dt^yEomp{l?a@`CFfUwFiv8RV$jH`#u(oiv%6to5HUI=guN51+>j=Wn z39O~+@l{U&rIl0@a@Vq^*n{{)II+SqrfHVG_GJ|pGCg88Q?JH7G&>x~_r95i7BGBi zSco0GFm$a=g+lz*van^Ziy92JL5_YEXg=RIbS@rl01 z*krA`E&OI-9g!fSN1Kk3o&u2%kEb5$2#qe@ab6pmz@0F3pZ`3$@LHJp`lloZhn&4D z-np$ccIjBuaXW`n)4wbUAC!t2C$s~^F*_qYNf&1W0u6eVzj=U{lgO6K?IO%BsW?x$ z-M2zttK=rr{9tt>j<+k16JXFr=&QWV&Kx`I5fv@;>Bfa)G7VuK!DZ$as&pL9aAyu$C69YV9eek`5K-$ZH6Mea?|{FzD;m1lT28Y zRRT-LxbF_V-iN<=vLF)ILE4MS_G+6YsEB}r!e|F|xrT;VKlwQO46W>Cq+wqKO5X?( z&7Enu1VKm4UehoWzb_Gp>=0Y{47;f4qu(;7mvs`mV8oF8dnq`}O^g{mm^+|r=uXuc z7wy_95550;S{#ys6VJ*i7Um|e=H`CuXhtXgeg48YFk*#j7Zl**%p?QwGOPP(t!4$P zsnT;qYzcIa1zUoY4pyhfC%*G1FmDe1PTDC^x>_u+THvl)bLL;QX0bQETWW+Z^P#;o z12UuO9Va2>OGIb%7T*Zu41W9Gp$-vr_%G;2%uFQ&pm)QJ8-vh{T-$XzLY-*MBz;*W zK>(%NMA8kIf#h)DvO-BDC8d^C6Z58NVMf`-vOgoLtV{WqsKD8M(5Hmt1Er$xVR4G6 zx9`>}NNS9adelqIntA)UmYgFk$ zfE1vd_gTS=v?jTpJ0~PbDhE#2V8&$6@(b^9ii?3T8C*V!;ELFc<9|QqPGhR`hY5gi zH+QhaBr|_;*=9T3@yxZ)r;-$?WrbTZ=Xv~@R~Gh8iMq)j`y0LEJyKJ`v1zC4OWur) zgVDKIeXh6eiq;AO)9(X%NuvdXn%4>gD_cp`)8_49E-+zik~4FQYQi#~qu?0*TvLAV z?DJes$MJFgZXuQo~s z;MQ$gw-03ZYV-YgwDWb$2weITBXKRiAXLB2EHNgc#7?QuF?*=>UQ91?W29dL)pg9WQ<0jb|wUo&xSG{wE~l>P2`G>|?f zZld0mWBy(2ZN#g~@|ON^ib(>SfO`U$vr~^eJ#<=(J_On2*RbX2bbl*T@)(pd?$Rgx znND=W>L|9H8@_-J2&$~PX>ak=n1V&qcOonu18jS3DGa$ZI4!j&;_KEA-jLZcqobo4i)&tt7W0V^h&W+Tw{DSoTK@Kl8HQoNpaGDqMa?m6BZ4yA zbbqBT1m#VNkAV13%PsnLq`BepdRRL296Vldh#|ZF(NO5|9+R3SCGUl4O63I(h{WH} zbu=d{E6w<)K-MHX@2L_g@5Agc@loV&#AAGwjg69`{v}ju1{p`d2I)uHB4X!BefDiU z*;4-Xe1l<+SK~VzmVz2i_^0EN#INw_c}ROw9ULBFc5;4@=K;2sv(Zt^MEMg2H&SL*VIUlXHUxMm3X1| zMoATf-I!Eo=YbU?v4TUC5~<#lYrem6KT*zl^o;ajb3VL594o>`WbRRY3pi#^Ye7u| zfn}o&89X!DCkE-{~2F!pY>;YoHEk z1I@;={m_}P%bv-F_3w`ts2Hsd=+~huwff}9l4p@cn>1|BQ~qXcax&t^F;|nM*g(@2 z6Tn1m&mGZWyv7EJCk_Lrin(9PC@lVy{wjV)j!2!{dKtS;@lReN2N(Y^2g5~T8V!9Bewg85+?d9R8iU&z@pPdB z@99wve{TC6*NYNs6oIE-!m@+9wlVTgk{$vAV_9w;tUR_TS zp@aSW{iJk)(x2T;*@l!(b+Nx8+OB5qFA^oi!84?j(Wz(X{5@PE-8e9DTy$_G5VZF>lBkHFdxCOHeZvD(lqHPBD$_G-2_c!vGWVMXFfDbSy^2S8~Ngf z)!9qC3g-DrO(KlIT3`l6fO_Rj`NJ7f*RwH*VCFG%S4K-yP^nN(*HTLleU#K;0Gv|y zt}7cT@EiFBl*R&*f}#&PZ*~IHg6N?>U3v-*mj*)KS~ckLb@?kLGQ_J!$l4QO>vmIT zgh^@TYQ0~mhiy$e<`}TvkaWyRK#kf}TcWAXsyb3g8GG`SJtQn$hDPAy7)|)q_CKHy z?R!l_dZkk(d)X`f$?zy-23nJG^3kv^`?bZ_4x&!Uu!;4DYyhu2O#v&Cm`y-9nq%(d zFICzv8m+k0`-4VdLxaVeY(C(KuMOqAvRu5BU~)Za@E04;UzHmeYSuO>cwn53s?J}#JOnNYB+h*yJ!T6=4QsQ7k^!SeZ@og zTB;@dO+fZMT0Sb$rAXDjlN@-F15^a8wzD#+BM7yR$$B!sGJRijDMH|$4I6?ctjlKL zv43oBOqNyJVagk2oTI(Pjp~Wcxt&*Ri8h8thv~ED0ydh2u8Ik;6*Tz;t_EI3-U79% z-~aaXz7|(168-pjbAI$C|9jp2@BT_hL$jaCYxPgxTBOt$z5Y+%irT=Qi%$@^hz+64 zU0E(cqlpT~{b-O$pmwpkh&NEJ^5Ho`?2piXp7%5H_pv>m%CN7;Kmc;DBF}(_n-`Sh zq|WdAOB2sh3lP&&@SJLD5Kp*P%F}eM=+tL z;NI+nk9?sp7RV)LeK@>Z!rIO&K61e;wR6*6+(z$?h1E1jaLM5LTZULpRd^8AL33vja>x|ntBEO)BRd&6cbe;t#WX1a?qx< zJ6!l|*feeA%{B#$ei&`z@_E|cI|rc^a(SI~4vd-67hiC4{3>JayH_ViYg6S7ZF^As z@L^LUJ)H$yNe5ShPj>b?hd5E|RKE)l)^@0o`B!!ryf^Zn0hzZy$*zmdyJIi2EqZ2h z{o{eZN!Y(@91+FV1+Yx*7o%$oZ><+nq|CK~dFXQOC{?Vw_Pb4#13xaygUZQFwSd8pey|MZ)Y=z!8ro742!Z zIRCCVNpLIKXxjJIATbViE=FP%wEDp^?Y_TtT@XH6T^6@B`+Ah@Yp9+Qe(H9SLjH=> z_fWn4t@s@=ILd!C&9XPK?G6Rg?z8{(FMWVzO63&5&vpL&|9G7{8ap}t>rhoCXj}Hv zp@iH#PzkIF3ys}slEb+WUD{aHX3!Tlj9`X|r@)uMe80yRS2c0i)y_va+-E;@+Rh89 z056Nw1&0|l#+4oM>8FSrGi4KAW*4DC4;13ZNZ6!?!2RaAPLg=0`G{%`qqKwn>2IKS0joM)J2$+5+|DC0p^$y_=Idc)D+VW8mH1H4Aus3pga#7 zald^^uh`Zis;~}IeY3Vt4O$6l*~oh-#5=SK8!P*;(THUWg>Rrd69uOv7vGYllH$xA zSlTm9ro}vodVFKc*&d>rs`E`YsG4)Ju5L-J7;8rHMW)fhd+I!LuzmPq2KbUlISHQ;D# z{qOg#r0fPCLidR(HJU&)5Gjs_c`gz-rAKKHAGdr^ve7=ZgUgmTabfWHw)eW_NZ&Mp z#4+~{mkSaJ0OZ)17HPv=I*k$_W@l2Qq<^)Dr0_{RUHZ0tGbxZv+_(J{`*s$gR=lSh zC>5i~w+QxRTzny)YUsc(VYWhX7aQ`m3bA2ED!UkSIMz(YZ4_WZBo(>}b0 zj`~)AxE5j&)$f59o(pYMN`I%$;YoEaICj2z>u)%ic(jR7xO*SPp*Qnve% zwrQD9*#qnzJdEQ~YpGtGR&QEXDtVsY5%7JLr$6`=lzV2y z;6*$^Ty8i%+2(T*4{pF^I2M;$foXI!PwGs}6cxPZwfxg5F&r7gahBTW&X|6gU9`-2HOBY zCM}HOHY!4@AU!=ahi~sf1rlTx+OqyUC|0&ZbkX@XyRBw$#u5 zFIAzT@9o8rh4$JvfAE?U6{nVy0n<~1uL z?tlKRK}GPiT!@4mUMmzVqM8pP&GF2y)_^=khO`XSRVty5FA|Y8=Oo#hEMa0lZvs?+ zKL3XqZ$7mdpY=lFx?kG$^yu%Qcy@GGjfARMNtv#~KFS;QfguHKT2DsAiCE1}_^r-o zr#?Z{c*2dP^QP1Ux_NLparK(1#o;UIMtB@_R4F#rw_*J^0`CwhDo@2prY zj=m+?WepFnh{b1nWVi()>5&DNf4+;d+65S$bRt_5?+^p@DsE*Wjch`+pp^7sdx4bOk~j>&fM4;`<%Bd-67EMe&5Yr)Ho@e%*o_s&M;p|Y0S() zr5lyHj5T)-`fS}FT%g%-7JrT>t+|dl0zWcmH{{#wIeT-pM7a3ODwhqTP&G2drBbGm zaYx||v9>>y=G?q1({N7x;)273X!4jIDvMlVdi?(IX6R6jJM%$j&3{Yz@e7YGfma~w z@z>JBq85r!SH1l!EA48H%bfD3wUGahtl$5x{c$ogw$V4RGX6IbL^|eQEi2U~jtakk z`3>S9nste!@~!fs6J>}2q-D#JFFk&$FHchg&eYgTGza{;&yV}#sYpQsW;$yn<#gg- zU86-uv3=Fa<7O)X{9xPJs{H|8O4~u5^|?Kx7Uv(9aV%s@aAg?zQIh0^GX4x&E}gp zbr2nZ-!{d|LN)s2ym%?7P0NyU?zz$4EuWCE3)Y1kD&|8gRxgmzIcEN1^*JVEcX~Z* ztg5Kq0@~1|peb$TT$_S=mPN-b=WbbC0~E&{6=n z+O=j;TT}4Lfkrz`ZF7filC1MOFr5!g1o%qZhW+6?y}14lYTe4o_^UEq|5Io^ND@LzoC)ZCwQPyQcgum62Q z=45Vd{I9^6uK#(bZR4m!^PPbU;i#Y{Q7WSlEK=Q*BHu38ovoU=>q%(iaZ8jyd z`$BrXhnoj)U$^f8UVn5iG%-I%k7kT3w|8^_Y=HZ4DyVnn5c{%uOEp{fd_W}b3z4!; zx8`>)rl(O{^?7j4o{q?&)QyNBGYfe@k^T}v8*9N+xl(u=KcN_x@*vyK7Ss+>nJok~VM18K>&@C)+cmC+AW2knFd%xBK5?kj(*Tm_U~!0~w^}(MbI% z_Xm?$+*oEi_yxBlA+5F};Lo9;;7tkDUv^O=1aW8}o+Xlw$L*Dqn1?)rMAf7%eWHNL znB<>1R!B&h;!f8w+iR6x`LwO`(R`wiyg?5BdpV1`$$K?t2&*O_gelR@vy@sk_@8Ki}%S zTi=eeQzOsP{xAwnSg^$ha6{)NFrAf#+qGO`1TZxun@VijGlZcia`DQ&!Cr%~Am5ms zPTnT075q?PDoq;3wK~E#d9c^K|2_Fd&v17P{5jWC|B>+Y-xtr$j^;L|Kix!?`oE#X z*}8pLg7^gG`>p2d|A)2rfXDiKAOA_V>``Qsy+=l5k7R}>x- zNF_U@RAgk82ni|v=cW35dfnZ(_xtnx|6cFMDevljzOHj!*SXGh=B=z5V`+Mc>ab4D zXsfmSEu)%Vg+$S$QZ5n$#hso6}}r~(-Kp^eP6A%Jz4EE^_gz<(aPev zEBUHx=O1Sf^HzLyTmWBX!m(A;sC05m#+CLoYxToqVTXKj!spcT1Uwq8U7{}zB*zs{ z%SrT3e9D^W8fe3;EIfkX>q(u^@JNyDuny(5=Ca7Lbt8M+YO<1-R$nt{cq{1@HB%Nw z^Af-IQZ_LI?uCF}!8vyRot|!LI%XBQYY&s2>&p0lo#Qcn7d~2f7YFYFQ+a;U2tw~ZEH!FdnA`YXPAHc z^OZ+iQ$&7&QZ)~j(-IY9UlRV1XgSt{p=kS1Qg@T%y#I|f-<~uVt3yl2iD=G~ER0-w zaWgop_=vY||c4aM^vN)v^Rg`Pd+JZeE3UiOq~3cWIF^72?lcW8AcF3UM1O0+`a z?faBj{8SPbu8ikIjae4bHWymHTP0RCn>wgqFG?x)MZ?3*jf!OLE!n}kNq;dK-CL{(#1Y)%S#te4!c`ADgIX0_R`7=9 z&sZN&z~PbJywDv|&a6bO%sotwZDX?jxy+$kxN^tU;4#mv)Ue_+x&Q~|;OSXU!Q6#< zAL1oTx9@F=x5_^M_&iWo&me7gX`@fZ&8ds7y&s>S@K#1vvrNePx6Soua`Xlv zo6!v^98@mfxT6B7#LEJ+uakR7+J=^{=O=&aaDDN0{>94Td~fFH8(W7!W)|HA(h);j zx5Tv*@^K#y&ABwaq?d>&d>KZ}6jk37I6PlE)p4D9{&MuxXt0MM7bgp?KcCi<8t_er z<>Cxk+XRLJd~{T{7)wmgd!yWQOB3QwQO&4CFS09CvMo0A(G>71{>X}JujovO6VK|& zvvX2*?5eqZoc81`zE5mS>tiY`^RbTfXPfv^Sjflp&$m@-a+`ES)0`f!GB|0wx!Ocw zo=-*|(HcJ~>lH||&T$XhT{_`Rx1Ka>Stf=chtA-~I*+C@Oax=!(%0KW*Ce#FzUHyk zDBQtQa?!tpqZd*fHJ{nrPB0orfBTUYZu}#vrV6o#YdhiPf-w$}-wu2fd{pNtQ5Hhr z`AV}WgNpTHwNj?QlKU2=PfAH7SEx$Z)82UH!UJXv;%*K6rC!-L3fXx%eL5nldN=bM zi~RHNN=O7NZ{k=Ma(s!2x!$p;7s5{ZndIz_(}kSGY{S*W5=}aXB=3w312b<;zVLGY z8k-DxrlRhz)MtYv@bDgE_ezTn@ihk*3XMP28u5;CIsZiWy2up|;z0T1*KBN#cR12~ z=-^Q!#C=nd#L8%W7S4$4-B{0cgJtDJhsBjg7CKizr zbS<`Zs7&7OS=Q0~(=8gr-VY9VVYzlWV$!{05%@$rg>SLh>fGHHB4BI5uTA6v*(=%wS8M{ zM_~C~xAb9fR z`g!8hgm;JrW4@0j5hGhs%H8C&;;+ciJaHOBEbmKpuA5PBhZIWQ92z(SU6OR=0SeUhv!K zo|dYy6AUU0@jn<;W5>&ydJaiT(lkqJ)-`>Yh-1tjtRMAeRNnnc>nwOTKHa$?I-xGc zL6G^Q;WIjc_Mu9N%5Vx5Uy7;kHew#RV?W+99b7OkVJV}CeDL!;RIdF{o;&Ek&d}{Q zM*ioiFmEq=C(wu08asmv)W~+0%;i0Wj|ivQHyux}(;tifD3O(EHhntJUUpueL^G6{ zJX#-9CqA%fcigm@41-J3eooYr7@wEADQ3*pw=G6mi-rF%pYjQr*VMc$-@Uz#2(2#1 z3nz7q9wD;M@xNKRP-W**r#wa#hLP^~I-xE)!%~Bh;Ca>js&I6ZjXL-1gu>Yd?z;D` zN_g!Oyy~UpT-eT;Y(Hi=!*VWYCkC`L^4o&pjAD6FB06N1?4Q9W}+BEkU@l zA*aM}WJfm%XK2$($?Hy3NLql1^md)b_7TlDHdOQ8_9L9Ht4L?KPhD+_ynQb^gF-Q| zMuXx)$?0yRZkOeg`2lRWRK8tu7eXDakMkV16O^f{Owf1iMa^@7#a@9s=a zjg1U;C9kX>+nhPcZmGP*7MAFuN!wPd>633vcURa8Pk6%dcAUJA;(Ai4`|uj#E^Y0A znmwN|w$@-kP3Up%f%-d+ruXbxZYnJk;!M$vchN|GOYo{7GIL?1n?B>FriLiY^xp}m ze%4hNYP4`_VIlFYb>odG>;z8CfD8iaW1LS_T)&kYQ4GjY*a-3(6O|5l+f%U{f4#%| zK?T*GJ~-l#Wl z>qOP#@p(@crx5{$$s&nP*3a{_t5-SZBsJx*v$1T)nwYVx2gRtoG$x!J@{7%gSg$%9 z7I}W}!H2U%b@2_$!t)lld~vbkY-CjuoEa=lD73`JzGVx_X?WSI@?NFYBS9vf70StuZ zw^X?e&t@J9eP3~!@)bsVG3L}2PCw?b^f1<$q%+dbC@;0mo{go_#wX8FqOsSOe~}+6 zN>DR5bXDb|Liy1A`v@FAnIgibBPW{hTy5hLvbBYjjLx3C@cB0BW%=vpzh2Q-J{wce zvU?(`HK9noMjw3lQa=R=<{I71aYpkZ%o+iF0eOrW+#`z<4`0xwS$Sc}S^281lO1XG z*s5F|6AY@QRZCJYc)`E3T1Y$n;}z55$_9<{F;mxMrj6mOE6faJu{Y$Gj^3(LkS=3h zB<%O}GkHi{H#mP?<06wLj|)>39?z2FISEewLlgaMudmonJi#1T#~jEQMi46?ZV@U+tP~!5Ds_I~B8Rs8=xhh~mhlMv!7qW~ch#ioOFIvHdn9KKFvtk68M+Sj zKP$QH7)!!e#C}qCYR>%>IiwbXTSY0%6oH0)WMWQ z0juMVY`U)3L*8!O+O%4V06!+bYvpT9GSfY&9$t7CyOYT5u*mTRc9K*(8`#>NiFTMO zj^c6@VL98$y(Lq)sU1lbd3LAqfxszIXPRdL4MELe^peuE)B}$crQcuR>}0+{kQ{Nj zq5W9S=SZ^&BXb4w=vORu6yI(j=m%79u=Z{4vS$S6HA+4`cHNe|N0xA5ty7%doPE1~ zEclUpZPmwiy94K(nBEz(hEz!h^fCGjtsMR86uv?~S?n=r)G+_pO852Cd&j-Meh@K# zu5zns@YvbH4`m|PR5;iuIhMz0e_ZdP6!uXGzuoceY3RI^R|Zy$EREwk+*w=%qw?0H z*Ah`?IQfnp3*%Hx`L2w?eP+A)(*gD5uR2WKwHRp^*Wc0j>4sBn9?|;VWB%jjWX?5? z&l{^wAHH(D^lrQVu30)&f$*bNk%NA|)yNa8XR25dPdKSXJ6|nCV%-?Y{Yt`O_-T;$ zdK4J)hEB})KY#q?;oy19+CC=((U)ef%bpU9jz!lfZs4sq2?qA}8w8U|zr=Kx;(pRo zy<<@Qo%7+vQ)RF0`eh`_Pm}ULyzuJc(^uaEZBEl`9+3VZDELO+^INR_P2!i|vtLZr z7bmuE9q20ydQ*>0Lwk*DlK-=D!igVVJ5BGjCze0H+}wyHj7v_{xXfNbUcS1-&}@hq zusu)m!Qiao`hq?8`Ip>BN(R{R6y-}qlK3AVF%6R!qTLk}(Ar&_a>?D1Jo#gK>P3vm zhsV>`)HHYqYGrPob+fu9!KK=E?g2-!o$2+N$UJ{0^--U=huds+Vy#*%;|8DaonMdC zY%oc9-70<1Ub5xEmf`lLIlWD7XX={C{2z6`pC)eRlPI)YM%V>~uXU{5jvGcCA_{do z+H;IKnC#ltaN`B@@=d;ck{Zma*-1XfmyCGSdTFnpHJCh_rIcz&TYVGP$EZxNZS7SM zetzy?`yGUmR4$Kt8GqWa+4mQ6Lb#Dr(^8Jj;Jhr7osmR08h+BPc`FA=`E_^*l z#VV9=!+c8imf9of+b+fWwbHNObd^;q2|OVvez0_ENT|b|cEIJ!s`!A`^TIxMtE=II z=K8j+bLE~w1Vg$*6zH=0;!r=|U~i5(?ysiMN=$69IWudKr@H;+dZ257Y_on>q++zkJ57gH zUzp*?gr zpqTt-fadUx`#XfvvnORl2JTE7i|rFl{1TyF+{ZKOxrZDwlw%nuDryVAV{u^~bF{qDdrZj)rjYaDU~M6}(*UcI!N0 z@-QEPJEwz3Z`BJ@V}5&XlCAYafinG){A2A4wgzt|=Dv(QZ#4B0d)E0ij<989;}XZ|y*W8#sQ2a6s5d3eE3(3R%q&aTi72u}ekFMl_LfU|`QR78IM zAGFrN|MTbGb0E1BC*L``6HR}yGWhAd<*2*#r??1gWP>)6_{=` zb6OaeBt2d+Cc;oThl82Oh1W3k7)u)`XKYvC{Sk6=PSEcm=ewAdW@YBO}DrT|G zmo6AoG{27`v~QE_q?{7tF?@Sj??AV2#mwdQLmuaZ6Jvs~i7Y7FIFN}i>sL;Usvs&Q=ARl zgk%))F-q=+>}(oqQWSI+_a}S~ojuHRi#kQYSFmpq8 zes1Gff2}5+oQs_b(_Hbll_^7|>{>ST9Hgdd*g>ea&hTwX&1_Xsuy3g0_OR|p)LpK>W+e&Do0Tz_vkBbQdg z#rf)@a`~i@YEu|nn_G`YDF0}eLbdGh>xhEHnUQd}5Q>%~*bJM@ykT38yRVzBQ&n)KC?w+Ha}$wTw^kbRiDAMg^_vons~jO-%MKNECo{;t_MW&z#;YR#{@U`f zd<<&eHcN&8&L?6D{ohA5FWqb|IUa-4dF188z&H}p@%UpDmPIQnzQyWtRqcMQ4J6;s z)|0*M<9NxyZ|2WAIqxua#HV<|Pk6P6-{jiu{Il8PVybNU9Er5*lf8FUyE}X%cAq4k z%t<^oy~RuL`MGjjc=6cI6A~F3l~BgKPL%r%V`HZJQ;g1RXu9Wku98R0$>rpw=pL^Onw^+$6 z#C12@^flw0;`a1v`{mb3!-v$z5{6SdxRRB14@EoZ=!aXXf4EZMq6U6Z6M1$@NrUZ} z#H^Du^(}G2&r6cC3eV0Kld>m-5R#u!dr4L3O}K2kraYg2`52*XLQx+UPjT`0qc@uP zA}?BIeXAwMJ}Egu__XMxRA18<2gAgy@j}cAMGaZO*|r%9lh)F~n%tEe2GI{pSV$@b zXLy?WDv2wa{a;*OM`UoDO<}DbEoiq_{!Xx4-K|PJ5wzKR&`9@HuJq)LOrn>mih3l=NOvRlk^Xc!B7P}*Q$`o;dgZiw7e{TfwHQB*uyes#rs+%~6ppV>AhbHemR%4m_ zAosOiuU=0Bs-wOW!_O5etLBK**n}VHGPo@jQ7GP(yj9>M;Y(EAI&d(T^$~4SsC(@s zd+e7d>H*Q}g>~uqbtkAxuI7^I#SjH1uJ0tZ%*hbjsioHUn98XuH+m8YdAt@b92n2Y zZgA|wimo7y7bNc0_wsn%QJAGiOx+h5Fj-7<)qG5I#r@L2bJcBJ#O}Da-4(W}waK+Y z&fKmPqnW$IQdc(Gv?2~G86<{t#(g@Jg+tjz<{y2{KNh3g)M}~Agl+x1<9ou4hK=XE zflb9&y~DYt!{*jEjH#C=Z=6b*KRURgn5ze3{l|G+ZfCFBN;KI|i$FvAsyF zTHyR_)}csZmtggpuX8h(6 zXRe#6{E$=2RcVqR(&N!J!EQiwF0G4o?U;22ohDAY{=p9yf}<}FF3io94vVqXsua*Z z$LBaDqt9iIXg>Q~%(lo8_Y-E;ZR|G-Q@R?RVlBdCH=_^G#~(3Syo3;Y!)1CdeITko z%c1Epx#gq*Oh84-`m+HU#_XLe!~XfJf^IfdqS(XA9JVG43f7_zrPk;K3cyja^1CBn zt}IC}82T6p1(UceS-o5gl{TiYo0L+KdVY>k>0+=^&WHYyq88lNXe+GyF$mXtwd>Dn zI3L_)5*ICL&~bg972b6?s62L5&Nsk4KH4|$?aRCJ)(Ybg-&nm%Jo=^UR6Txy-*)@u$?hAkN3*!k z6M7bEmgegg_r9rCxR)z^yEF`6%t-iy!i$k0;R>B68J{Zi&xd>rUp>#5`p)==Wc@|5 zBKIa}!>&>oKaH2q>)LmCJ7rfrh*?Ydx_d@uf9O7J?3XGE3>g@<ZA4$n8?u3Mh7cen|*seC^gpJ|oUaXT3a=I06nERnGLpB}r z#k=m9kS7W2-=5_YlRv4;{~=i{8RA^*`9Yh1V3_hL4m0&)1kd7Ojks;w*XQcBKeQDL z9qTpvtju$C(NWT?KI2MG)W#ECy*cvrzFRV-_(lY20k9=muj8!?|%^J zZ&5y4a>1GX!>gMFnrz-OA-5cUoGo?8n;`7+xgI_$fIZf+`3ldk^;Jq;SDMa(ywUc+ z`w<#B$#x5Oggq)FvL zfA>z!I~l4&*9Ej|PaI>bZ@Cw;eJydD@1&h5){)D7dLf(7qb7Z?W)bc7Uzn(g4V672 z^X6nLgXYqSIoqd2_`C?A$O>zX(3F4;C*I?9rSI`ub5!~{jy4U6B>6tmjle8tan7z_ z@xMZ!bA|oKrMSzj-m2L{+zVgks2slF6&saa*Hu?LCoidHR^%Tw_mn-DrSQz?6<0Qf zqqoWEtt`#ni}Fj+mCTDcDzv7Qg*kuboG$wI-O!QL3-@{V;ZW``$+Dp*t}4vh&?*>~ zQWV6?PLRGq@ML-$&-)8zM64NRp4{8M$U&CFodXg-b*4WPKXLg6+5cpH;0HD2#LpVx zWZ{nhU$^4rfv|8E@IrWc3D~=MA#A~S3WKdKdw;<9`ybhPdAadmZb)8m|J_kk8X(TthsV}=7%0X+j(a(F-7Q;{*&yx zVUDez%<8VuIcZ2F745iTXx`wu&)n_h&1l9-{TO%PYAw+nIc%)^WzQ7_2w9U0ij!{X z(_9}4Bb7D?P?Zp0qn`couw>Gl&c%;El|!@p}7qh}E2{(?FIONpxv<2V&C_9c!mO!alNGuTp<6)PT`l?_pUw+!Czl<~lc)z*&|--f_qJusvfc4{dg~fSP>jo+B!-eF zPmLCI--zXPT5N|1w)?6B}p!Y8Xi`m*_vgO)70lI`vN7l9T&}TDJd@YaDdRbdeTc9EuL` zR}vQ23OSN_SKqxIVZ?G!>uRTp&5Chg`_pIF-7!;jAIR>4>zt30+#H@%qJjQ?h@YZE(NE9h!%8YweU;>yW8`hEmJ^FDH~UB z(GB!-9XKX>4J!UW&>)CHDQDVTpaXexJbu>?9qxKPZn&u9BuVs&pU#KCL&xbgnL~HE z5<6k^&NiopPXg~)LJVdiIE{Dhi`hBO?edR@f)2z8n4Ry5NbWvNxixLsPdand*iwzC zdo%vNvCK3Vg;`ZiFsWzNwR5+h*wE^ z!Eorl`4z8itgPh*k!F631BD-3_`+qwBRd$q9$S0oE}k9~Rkr4w@YWf(=m~ybaz4_v zr$fJc2K&q$edq#y#n3@nyl|{lefgs_vBxHtF*UmSxCu#fl_)=3+#U}&kc!drB2K(C zONBP`pck!;j-hvak&$bA5E*;m^{B?>boW(0y3ps$Y6c#kU2c%)N*qd+P`Dm7!+)_k zyCDbrA_?wf^JBuZ+@`&^DQ}$?(`?5tk3G)L(_yhbWk5I6aA3r@r}fBo{F6`5KYUB; z{gLgUklDjm?rb^HX_(S~>ov98iPR1;VbUpZv>0gif6=g`3=+rR%t%@ zaFFrk@lSY%jNQqW+jOF%$-H$f*_IXND_d9F>FXIHqLC|~J|E;asS-4m`A^1F9y*;cDdO zk{rv4ffPB(RfhFOy7b51R3)~@W}mG2g!8s3$~cI_<9!(|Kek-Q78_xorO{~R8S$o* zcg4M3D6HFw`8j0#d&a9zpYUrYP}kAKGUpVOkrRB2wejT9#(|7;^(~dE0~f}wOSfG( zk*|EfN5^u}Sm9>g(^|XRml^m9=3aIW2EREZJ547qkidCK#Q5uO)qC7?`X2I8Nqm>{ zCmozCG``nJo~xrvJTu3ng!g{2@(!ZUk$&SVA=LK$vM?&&eSbMo)8!Ep=!9e+FJe5)Q-5Jl%CCobW1w~EbAxi+CohaS?fZeD>X!F2 zUF4d#W_z(z6fZ=U(*^ipwdc&^6%KrhQqDCi6JmZ6Sdc)PDwcD9B*XP4_f`R4Eppc&Nz4Cd-aVcWL#Vs6p{6BWseQ z_7;9Q_q_*@uGO;cxqkgLrvS9&b9pMTZd%>rX!p`Had66OT1NFxK%LnhO#RtXFc{X zi$uR#w6|1Ix#01jOuxaAHoxM9Rk9TS$$*ucBjz4d93Jx26tooSACGkFlhJ##GhT2t{r77@A-mIAOv_I51A+|%= zPdrlg;=PI*E`iwl&G)54^n_*RJT_NObOnR(fQv_J-S?~=s3T@yh5g?;CUA*}pFhx; zg*CK87kH;>LN9TcAZf(%31!#hh~cIund5P?ZN?)JMmyia$)}o{5M)?Sv$C`vj56FA z&@>RMl^}>Q<>c$qFQJdI_fZR|y5wmmbI!={#M%<3_IKB*f*R$|oO4e(M8OwBuN4?x zoI7PRXL(NTZ9zf$w^8yfyxOnqn1Nn9mYExF%A6A}30G1paMGiM$XJdw9y6j}aR};N zA&a^37{^KZ3r`#V{ln++i2dt}2A@nuCUHj7clA+HiqhxeQdowsi)V$*ZF4!Cb-1{6 z;PCyhbBkNzS=kq>j3)P5c!b*5?O~wAMwk*=7_(KtAO7e0>mF4*3lBaY3nzQffL%QV zoa`+Hp!0Xm7GUn#0{j3J=IT;5tEZ#G&DkZO#>f5aG@oIWUNKHI#^WTtq170@a6Lke zGcg(y?Q-}jdBdVi=IWA?LXxa6#O@Uo>*4dBEyH@Ao@SV2tQ7y`{r9(Thfh$-u%}>` zFv&b-S5Eg|(3vq|GU>+N^8=fz?kZ~_Y7;2`?KUKs;Z+a^e+!!=|A#6lyLfp(cT~H& zq$COvgM3bT<0ebjTZ#&1Vhk+052VKR2Mg8Jj^gXDFEu!GVs{O&5AKdsUtCOe=f4vg z%r5?YIEf{W1efiyjCrnHVqCd*@twpB?s-hsQwbn#{D8; zFdK{f4+?SxV@emVJ?+HB{~9|;Dt9(=d_KC=p*f^_g!!bFijKze5}SSrQ<^fcfs%CxqX&HHw-|JU)~nRDRs@beDEU3S~fE%Yux~!%Ab?{<}GnhzinZ+U`ETqOp^d z*dnjQT3uL!3DR{53SWH+8rfu~w1{5wHFvu)&Y!1!rZ6jb>?G3;qw9xry?fsLaGq%* z3e>|NR@3K5H5L9}YU=7}|I?l0z#s{v3YRys6{_lJ=Gg-<+{xAr&aA$)*5jTUlO_lY z8{oyUF>Cd|ew+ruWw%PYq1W*Ba=cQl1LktUfq)Um>~oca7XqhuSiQq0T1PK1-c)6} z+_@R_aAU!ZO;5*%G_(2UqOgU4eGekgwxH_1Xlpj>Q^Mx)t>|#}yUJ%ibqry%+Se|! zPpWiHEJ~4YMZOq%Az(ZwS|B5!&UC$`QTqd(DDnDnj%QsOjpyy7*tL z4#FX5?SHiG5?(cfDm|Sp?XFXr{JMjfQB;N0sW#Mww=o{)hX&nJGqZHzHX`oi*Wlys z>*+spVAZm%i!geXP%q|`@R^uU+R{YPhkj}!ls705vxPjNmmQxIvFZ7Hgt)jknBmL+ z(ZqWX9jb5yb(sa_zfHW>Wd!EI|3j1l-utU{$DOIvdL&3XwoR2{p*DO_NT0}*l$?-) zD9bMT{jrziN=}}wh6>EPeUkRZMIJ9yqC7&Dv-{_4U*@kE4cx;Nq9bhi7IsrNg##m&)FJZvjM1`$hj7Woxk{8C^kFIC85m|>+Rtmj?MWNYqNt15W@KLrk)_voE?PtQb%<*Ug z%X#@K$AeGe`ftCyjk>UW&Zv?DH>qz#C*hU%R&5K!J-4M&)ySs}*T!%*< z_*p(|;$je~-3k2rb_as<|KMj@A&uk-RD`Mg|LJUSxQkUdFS%bbfjXCjk}jP%0)pEA zb{UxIrp{-8G~O_OqLY9}#Q#BFdlzejACNdJS>6MTUzImbVEek*I{4?LFAfrl-p8mP5Yiww) zJSfn@u~}Iv9;L4xYq7re^4y9vUe;_?L@jl=T!LQOx!iW!llB=2Bcu}Y+{)=(R6X(7 z*D2^t&asxia0%bGJPv-F`#QsgD>!=b^Iej_>}M+FFFHNuI#LG7xar%dOZfGVP-Wa; zFgljkK|tku`0%kRq7*Iu9;U}zy-h-yaqG=4+8;6RUMpXzy-W5Ahw=>>L-3(GY??gR zm&d8ECa_$H&k6s;&p)AgDa^6&$We!`HcwustYGB;pNQb%-Ujm--X~M^34RkF$SmnM zudBw9@kemQb(_`4jNLQd^&e8^DQnc7(f=|O(26tDH#yrySo1n(OKc9)c${*xgC!9iPk|S;84?h#ra5420 zHWn}R)10p3y>YI~I-_DTaq!S;S@C)6Dr-NsAjD>vMd#LcGn~fvho3Z3VsT!qo)j`H zH&U{n?n0B!L4rQ8Uja9RZ!ZQSeM@a*)LmH;iCYWMB z`y7w3omCw<&7k(&uRir$e1w!gH@PWGIGItFVYr+u6T3x=v2o0S(#6hcmoTci`m3eE z+J1>&O-sbEu(oVF7;(a~OMjGliza5*KM)efcOE-S7lZ3`;`q|cvE8kh?(dQpzKnQm zeUy>*zaO|acUGA#M^+44$R}72g2|T!i@JjUzE!(f*#7EE6WiiJHhpFJ1opxb=G2tE zwpsHg-pzyJB|f5JgCiCahu@F+zJ7rnt3rWy@?Foa@8L$yce&9l#` zzNYoJ)_SFI0k6oAmD2|Mfrz~tOQ^AWn8{1hJF&HmT!UWUpK2`yXNqsD2$m=mD}KaK zSA0}CHvQ_ng{Y%qr{qiPS?QQsHgny@F1xg2M^7KL3tH#k(s&WPVV_i}ac?W*Lr?*Y zw%577ElI1YR<_5yWrM2DC3sk09vO~rCXCFVA$(b@{rzH75QC6C!*YQ2meMQ#?x$l9 z4#%E9|MJ58jAY`2?fJc39Iq(e6MO(#l823=k)7$U^Q-6+R7j8d_RiqA33PVwcc%S! zZ%jEuQ$U?!eVZB!Q5wo3SNZ+K-1p|B;b!uj?;Vs4f=QVEh4m(_4PGR&rq$0w;wbVaEb_+;^*BYjBvcamsdndGSS(C+DwA--@bSlscDFU zzx|i#wwtS`mlBu=*sDrbq9!!XQUOELbTN+4q~&jqP_xG0zOo}hq@vi+R2VIO3BSrN z!{6WB_H`Y1w;V(Eh3lcxCdHJUfwRqawv_}X4Y{3Z<#9GrICUi6Oe%D**B5lCpRX*Q zsI)5$e-VEtlugFb!nvQ+{lm zhj0n4PCw(;2HTYHM4w(}$(8xByiCf0V|c`HAP$HAgJc(g`=2-vx zHga6o4t%XwmH5qeL23=xvWVR>$&lByz0!xY5i#SBZ9A{3y@Ae;A8P-1Mv}v!HfvJFN6*#|Vv7v!asa zkOyAB9<$o4Kx{e}=dG&wQdX(<7^3T>Gqw*E7J76NM@X>qkA=#4JgUziv(C@%eI=MT z6mp#G=rA1-mBTsjw8>hHjQl>#lJ(JVwbx%&SX`C?a@DCNl^vBiy(xUHcolFJvgY$T1Ieam32xYp=Z zJM#PngIf@l26m#>&@-m$^yaUQ&3n_tU7Oq|7Jw=__EqKo;GW<>>VHCMVZyJ$em2W0 z5f;x`c_Puu1m)?29N4*~zV|X~EG-BW*&Yb&zS=osON1w@O77(*PJ=KYuL@VZ`|fyG zAfH{L8Q!Uv24S4cdDiU(vnAq^J7JbPO8Phq!PlyO6f|-eZuxPaaK&=Eppu#S;|J+t zzRBRMKxBP}hTh#-nb)(uL!VVYjI-{(l|eAKDmpKZ9QWND+O}bME2My0i@~A`e;AJ{ z_{0A^T;L~o*mXrX{#*zCy*bd{*2UEW!SChgg|!#Yq0a*5-t*shjtu_mSg+k*U}&{j z2t+H5yPTZ@+*~7NIu!G{3_ z|5^=XXplrdALw&$z~{gkFSugB%id~l@gLL%`QuD4C%UP?M>|1*zjhVmy}yNZb@}si zP$gg7ji_b;FSrB#75?wHVnDAw3F_<$y_X;1@|UzZ($3AL#26T3V#v~_ftx+tEUX+s zUc=|)YUK!Ig})V2684?X!I zt-#I*=ofxB7u!Fp3cb|1bMK2B-VGuGK0*Sv2roNuix9M+ zfkM%#kxotlfFcPfv@lA!BnpbBmxY%%l-eOnbN3Q2X#?O;;v#e0P9Sky5Pn_=A7FlD z4rD;ztoshFKn_h{ct)5!ZYPlf2*0JhivTPY{Zl9iw$lIxu(ps>PVfpY%{mSln9WH8U~b>M+Nluw*QMEAG~?P4t%x&6u8F470@w|WwAWWf9ly>-@9PI zhy;ZRl%EgeI_;R>AdNsfZ-i zA2cU>D+K82|Aaw$Ckk%)6b|~pqo4`0{gw;}Sr;0mf*$s(nf=vHpvs1P4-AJc+Ia!o zlo>`eJB6MIt&)KIv*30lCz=PcMIH_c|)&A%d?c z{i!@Am~=xr`{2-MPjn{^u?mE122F__M!N%MhR_O!PJK{)gA1CMKLKPh2#qW-Ow-n6kGvqP_XLtv z0!x4cqJNO$P?GeN<&`v*kxaT+uqsPk{X@+UfJ6ZZ1k*o2>ZYhfI<2m#taV2DPkA8M zWsh6I*aes?z|k0fQ}$dJ?*b|eI<2Qi`74s&Ua44z;wnfj;95Up^%u(%;o-&S=H%@u zfU=6ifOqQa!niZA;9U^z;k-15eRvk05F06GLv_7m{ro62@`rkIxT6`k?ZZP?fJjQZ9&@Ic7#Mj#D$qUudLXwy3TC6=Efc!Z zOTg0A7x8nt7`bxSH#1gh0e}nO;1Q^!1SQJK)ftScey?r)iGxfzDSS0#1xQ5!Vg@{X zcb1~Wp)+DNSE|BkyWr;wAdjhGMK&T%IWo-G6YP?(brBXop?rw7$e!}U1=KSP6edu9 zK9I_!!Kx@+W&dHJG{9nVgd%=;avKxyRteCe;MLqfPeT>8A)QfHBz<=QI=cdZpr(I_ zX5EHXG<13+mEKSw#S|Z~1@;X5D+IB2AOS6%1VDqd13O^hsk5bZze26l+&gG60_B5n zzkmK11qNkkJ&(+l# zO$IUPCa(JG$dnm0J0%SY+yb}~C`qUteaim0a#6BW3+S0K>_LGC5#dG)SSi3K;E{M44BcRj*~-Eb0kUT_ zi46n`KBaD~4PaG3QEVWT-p4$1)m2X}|FKzVR?*sB^k zm1F6dD;u|xHC_ZJlmWiQ_S=FOkO_TVkYTRQU>4xN=SoihJs^dMDzetH`9Slmq!<_= zDE@jNqMG|Z5cN=vA)zWuha5ix&7AN9r{(&M+>`R8?>{inRenO=n9!c{`-NU0=4p^d zv%;{X0e@q`DQatkhk&A*yq2o+X>H^v1OYdFI^*JioTq>`;f;$Q>`#Q7#?|>35Jf10 zSd7O6o34WCyk(G1Gr@$zjYrEusX>TVR8H-83$&?cPRLF(mV=gtuHCm8h+>HV57Y!1 zFkEk4Eofor3_*rK9!E zIAnk-(*T!-Hxrjv`^kt-jU_;hvsn@1(55#rJY+SRyxEV5B8KYUtX47LoNf*QD(nCS zZWXpMWSob;8?XtOw?RGq;3LST8hCk9@AxmPuz=rxK6|~zJ~-4F1db4w>V0-EDh=R; zK|q7>#^yJURy-7q4PxaGdhXf-&7B1nVfrl^_^B?GWC|?{rMp13y=XK zo=l^qp))K6^CN|vd)?%qtziHjQpcD%iwxYm^#QdNvH*%Iz$)e~&>BAQ5qL8A2{r0J z@$OF#hAyA*C6;Cw0<}B@q=NU16dzFvg+lib=Me$XGkL%`1=3x3>c$WDs={0AUgdu3 z9a)@%g!we1U>uhXMo#eLp>Ay-48N-rY}y!-C}`e#0$SDRqDGeJHRb_S5?OiKAmtzs zrp)E(0VUA2FoJ0TxPp4|&|tvr9Pkm8SF4KrnswaQD*#YpiJZ%v1M7e&6ts8O2NDSK zOUeyyOEzFJ=-aK}nFFT|N)S4qgbpJz_TPO0t%U#`AqB8>JtWxgv!=feq@s3Ci1}wW z0&h6jXZB~JNJbzaJK?sTI1o@06gE(PK2W=UVX!|?)4~y910vd=ZUzx`f=gnVfNx}j zyn+2Ua4%Ar8tzX-**8OG`Q&Bf<_yg88Z-hhCjIq5LJpYhk3?smW0nSL9JwdOVBT*5aRu8<)Q3~G_OXgkRANs{{=L69pJ9;7Dex~ zFA-Jl*C=vXo~pffIu+>A3_#(%t|b`n!h#W~vh&{IE&&v+6SBGA*inYdfVB)9A4Kh6 z59IhtV6_#Q^@sY<85@FP6qyTPf)0)jI1;?Z3}EsI8Tv~=bim`qSCo4+<8Al>tcM&q zH*f=;JQ^U%#ttRoWykCrAXkBMK6tZS1Z#pY8t@bZII@r6v+;KMxx|cS1|QeiGr`+{0CW4y5!zaq@tS~%*kL_ z0BPX?MCtlJQW1U@&Te~WvHlFq5Vo4Bs2Z9Ljs_!sxHAnW|05Qaw?odvUQgw92gqpw zB0fBF6r}$n6rEE+(jJ*!psE5&xcQg4N^brm7)8D=?H;JIx-^~qdoo+_w+HM+{CnBx zn68!%;0sXrps&jY3s?SV(szjdr-Sjq=tpz@EgglQLFhl*1Q_l9dLZ9j$^ExzG))7- zw|=aBu>+u^K;Htt>3e$d0IN%=-56OfD80Eqw^D`GNAz<(fHDF&yx;20|F>{--Z%cN zjtl|3PZoHeFih~Cf`7|K=Y)`ADh=M*cmr-XC~%V|7X4d33SVpoCvuuL#D0KrEXEoT zp9LnmMKKZ@wygwJ&$tA5y!xMJp_`3A0~i~O7gf4152fLtrp(kp&E5SoWcM)-!PCa*!dw30i7SA5(%Z(L!fas zHB3mDOTcJW)kbVa=pkhB4b3H<)^fr7UAGAa`KMRkZ)-C4a1 zwQET4a7EdEMnyvxGS$svzdktthG)Q;;0{za1?i0w_|Tz&+~j7nCH_9tEM$ubc6#qeAVoZdQ6-P?bBQtcVFLNn|M^ zJJuLV97@N6!fEFPvqmtYz_5C)_#h=Gw|rznsy&@EWd<_fUo(gPvDZ*A`ZZ9%ng^5jRrHp@U<=Yx+T zp!^D&Sb$>0&j<4SG|GSAqTE0LG2{Il9@zu+@qm1g^*0iHrli{+30*Q~4yhOVZk)dtyi*UTo)`eK zE&^HM;|zEH{lVzG2uiUz*FGlof#3vf#)CJy8$w7_dlx%|hrJid1qBGzl}dA&0XXD2 zARxTIs{rdDut@M96iPKhFhw%|)^uRvZ=f*4Oigzj9qcz1#iX84wSre2s3HfDjRl6o zl0b*sPi@Jg_p@1m+Mq2?@ZlN0G&*m&u8!U^F9ugIVBXO z&72sep%I10UsH__PVG-bSLtLRr!7l~kvy=i3ZTM+R{%)t;I@U!iDLAy34la%q2# zNVL&m0`cw*=tVGYgT4Gp{9i~54-X4})H}iFVw)6HHO6%}K{ZD}m04lc6;49KLO;~`l2)g% z+Vs%O5rDu@4k<4Q1W7MawEQU?y3x+kS_rp3P~9~Uc$s0c34s$FC{gItcBb`;(x01Z z;hooT>R-6ui+QNF)*ix)RC;uvT^-tuoC*qDwySAqVW`JFf-F~*G9o(G@c;@~6!_Zj z2l6`QbhJ2>>2^P+tqQXiiDD2?9OAELmWh`3tBoP$ucLs5Kx8f{0(bKR{WM%}h@0qS zL)jc;ny)B{X0JT#1NA!%#DnW?JqI1k-t(t5kXkF$y697b`da}i^{)hnJQp1fosUc( zj8vkUI@+@X>Ut9Fs)OfVOa3x2Ks@;LqkSI$0MBxc)5K7%asLtlCu6SUB zK~R`rws_r%8f6aMHezUx@I_J@M9WUUcN5x(3{9ZGXa4G*p`odPdZHk;P->k>0wiqU z&v2)6=te_2Z4uyq)&rdM{%af!iN-*cisJ=<2moY;RaCPV9njv>OYzr*jL0TPsn_fT zhYB#j9t$M*Aniwo+p{Tp2?>s}_(lQA9)SXPkCXv4NKFej6uQeSIAgcSqoJKa zAn#L$%=sn!(JN&j7Id7F>6cK@Pj#Vh_W_|3i?wh*6rw>rD!f6tj-V6E3!Jz|p?rN# z88K@hkPj&E`I_CA=urO7mafQ0fS^joeaoM*0h};USU~ytK$X1r3JuEu1YZexC^JVP zn-p1#I%>y2jH2P4MOZkZ_A-aQGtAH#^RB;icJehE7-*YLsO0(~#fA?~cVIv}2H*j_ z#sFZ|Sq;2a@svEE7!9 zu7&-OsGCdE({R=$K&b^pW*AN7<9;+9Zox_rvMCqU%|7 z7+Au+T<_j^keG_X?v`h$Dp-A%MSXrW9K;bDs~v~co9 zrN&v}Yy8823f=nw_eS1t`%=*XP1yoCpf#U4P~eWE`yD;d)k+<@;Y1sG?>po;9hTot zLyq$SR2<&TJpO@(XbH|P?%NZ-BUVv`+6*)k2RDw*?tV;9NTDda(ZKxF2W-FsCp?g9 zU59ZHK700S9AmyG;~q~P6_Kv+wW|!EK~tmfR(Wp%&?WOt3WNg{sz!Io27$fOqRJo6M8#!&8F3iq2r0)ocK9D?==$f7 z9n%VE-~%;0W|)A1NA^RaNkHZO-dmOfTqp>za7QGe+YjdlzH!aj`~TzYEx@Zhn*RUb zQrx9L1cxLzv}ghe76|Tkk{rl^Bq!t~1oz@v9Ev-IQY^R^cehg9D-wA_NKnfJq9l|XBZ z>Ut{GeOypaSC8C1JN<{A zpd@;pN{{@FoI1)$%$IXXpgkryo)gaY{_pbS*5FQ_VJ4|u!X-}{CEG3(nMF}2xNd1s z>+vP^P>DFVa*;jsG!WgaQ5EM3BAMiBf4UBrebxx}~nS23eQgUa2*; zNz)*}?f|A5!xuh!m|sMMu%7zq+oDtZgP8|IS?%hnW%SGz7E1qZRGpbeTBNyzUa^9y z&hK5y>3H1yUfOeXwwmDhni_9dc?}DjmyBT3>SuiU41)Cn&_mJb%($p6b}nG7bJVK$ ziSFdbgh4iS05`#<6%kiIsu`t9VdTr5tLpbO5#xG?VT?SitOX`It-=DlRhx{Hz6TUn zQ4CU!{LVF$k@BKv-FO5}xn0DrzPbd+R#gjxsdnIQ243uBs9h7j9ZrgU6Jn|})MBK^ z(KIGzJbn)N>8Quk-XJ2}(4f|Swe&=L53YAErN3A=H+T~@X z$@ltW&Cc210{8|+-F1np?E;E@Hh(O0+5Mqh=NHv2{Tb`2X!^rCS}e{GxVk^B`1tQ# z;Jrgzs;V9qsO1IpjI(ePevLm%9Klwa+rDp%jp?Z88d%3_<-GUE!4=aMg_O80Zy4Vz zg0xV6XJ}*7pN3z6I?}12TIm9fUEq)(fzk0L!`3h7%p5xR_N^4 zn6_Nfg6OV{zxEw9L}7wn5^F!O7PPLQsiV0%Qm%@&k!bA1HDJKy_H>{{apWqmnnlA4 zN<1fH6mduHS>6}G3W1F3gr74+$Kxja!h4%6M?xbvTpBcZOO--3EPe#<+v|OuV03{( z9l=+_v@nccc9Zhk1#Y5}794PJ)E`aD@|0 zb>)P?$K6q1qz^H4^TKEivN3zcFlu2?e*&CqQYFFpOU1`x2 zHi?UfzygTT?fr}IEj|bVe>Qc_$^ou`oc;QEy2dl&H3QEBm3MwLkarK#@T4U{hC-*B z76q;V>g<_Bb0ggOA$nYxo!hoql_htN;oyxoRky(~9Zx!)dX(>B9C-^{OuT|WXnE1t zJY>3~<+WdG76Xsgd+thoBS&g^rlfh~T~~E~REdHux`C*+-tAEuns~@HU`UUAdB7?R z=~RtQHpV4SIP=-uDRNsb@IJzLsk=6jV|7e+d!W%j1@eAEg=yEuOKHB-f^x1ug`dr$Q?@O-qZ3WzGM> z*K5;Lu+$p(!0M9m$LTJ3R_E>}i>>A3X`28Mr@^wSJ>7Wr*I}8K%=BG@PNPuwR{*O6 zrtDmo(3VlQo(yx(?gQ26OsWl->VU~OU&my(v5U;ik%=-L(E8g$>6{r0G%!3<#`=d@ zX74*(1*rUxO`V!kEz;rajpHIi*p>W?G!2p$0c|MEgG!vZSW6T~-@OZI`qK)O;%`(N zk$Rby*u-K>d|lpXBL*I*U-ux|j<#>qHXO8E18f;(VS{B#?CnvOE>FhcyvJSXlBp}S zI96NU*J)q80tBlAqAJ{aTxk;>hL(7lf}5YtRO$JQ^o1<8ry^X%H5y#vQ7E@1*)U}P z1v;qiXyPsTMZ;?ujVD<+)AjzwBcI>ETM7fARyWtL8eZ#gWCml#+KRy+yG{VEEpV!1 zSYo{n=ZyB04uH>>pS_rl`x~03yo?())HduvMYSEN8`lAhHci#ViBEzC*3K3koR}(x zsdeD?iOs@i~hNK_wjf4FMN zt2yZ^ISxY&b3p(7I;seKkncpN^Z>p?QJZtl0Ub~ivp(T+yOt?|+l->lQ*RFHkm6qC zhrlL#(g2p()IW_5>wwz5!%Cyx{6%V+0Z>)SmB>oT&M%?VKh34s;tkiDPg((BP55DI zhi5t_0r9+tCC2LKz=KL*l##%ECf9P^j33@Y#G0v%x|!jGp4uobBGzWkP)0-YWQRf7 zX`vQj61Dwl4b+aXsF-dJ=?J#Y>-5dYe<}s4+M+klx~4L94>&Y<Y@fGn(=*=Dm0+Y7m5N?ht9am8lF>u_zm7a zMhqK&9Y{K|QJe7S71v0n2{#@ezit44b5Ybfzqu*`W2_Av!m{#X_Q4K{F1P>z)v4>i zHIWw=6i>ysZtUNe(yj8;ZhIr+{4VgL( zy`K7^9!f7F#ZmryM${Fd*#^;}{!v&UwKZ2i(oZs!~lWIBVyXk0j~)pRULEhw_0W+_`AV4 z$>AO#rFrpKSj#)r0M1|4tB#K>qmre$hQsDANT^l4^^3Bk4WwtR{9*3%j)W z^RCzTwJ@gLhGsIFjw_k8NV;#y)Ogf~s1xK}ErW@)=7+qIb z10d01kb2b6uYybz);!;?Uz%+gKy*l@j+F5gWf<+&HMX#q&t^}%nR_jyqZ3IFrM{NR zGSIn%VpPzx?EUz6z)+qtwL3avJhB51&4<7np}sesU++mV{nb%lwL4aQr{f{^Mj(#= zt@C3Vcoa0^p;WkBRhifr6E_>}7Mtn3gK`!vMo|SETTRBn7RK7?*%qb=cO45#NxMr9 z*c(;AmeplqGfO;gx|%PZ?lBW}rIn)EBO9R)E>!kE<`k$it~)jkVa2bk)4XZht9Y{7o>cn*@B7Nr$e z6{c2m4UfO3;kEwIYb#(e7#k|ASW69zKR{~IvGdDzfVDEguC&s?_$9#8IxXhX*1<-= z)SeyOMu6F(K0B$>j%e>k1GfH)9=#8)>i*Vl=ZYzAi|%f8;Fr4)@&ZijZqV_37jV_}&)!ZF(-G*raAgT$Pe^xtDt4Ss_WlG?jm8M-A|Y|M922Xz4%VyL zchbh=YhYCcau1QP*bBx*5N71%i;g#W17_*P(W)BBLN8AR7i<%8$Wdeycy4PR z{(A?Uv0$pa_uWNaBa5Slz)O95&Z(AQRe*f%ihRB}NMYwWn}c{(&Z_z>Ot&p7Xf&00 zDYUbZB2DMRjBRlJIh~fw15nMeR>3X;X%!M0TRZU_N~m^;&}ru`gBuR6Y9#tZOWZ^i zw8zNl4O*t(`L7p%lhKwQO6`~R6rd5vMkOt|D=cUeOecg-P}IiE7FBJ$Jf#J*<_eGgg*^p8rc zJ-`)_pIh^-8}JJaozbAG)61!W0x|M)N-n8)R!nb|f;`WCC~A*q9_#`scFt|ToI@`{ z%m!epT0U@y3nt$;`KCSm_c?$AO~9o?T>$y6sS@?I z4*)&!Z|6sAizYwFK-uoBC^^(p6)Xxx_f5jN5pU=Sk(YR>7I%vmH)ZQ*VNlO&& zUu|<-@h^!Ed5oe;m~FC49=mS-SSxE$TIYU17rR4B=STW8;YW#xm0C+YNzC|nnahu= zUIw&^ps7Z}W2!*2C&s>MVzh5WwQ56KUo@uGE?$ZVVYXN7m<18o!3fxR__%>j0jdWT zbpKpg`YU0`=II)kun(E==|iKJpwKaay6Nz8ra+_cm?-W5*{|HJ0%2g;P~1_RA4yhe zw!n(91|;t0GWA?rEyfWFLwSUdW2XM|1XiJ@7P1=Ri>{!JIjwboD9AYqTA! z7H(x9v}3}C*1(0Jc%V2xs&KQPM5HBxwjjA(j7rl+f28bWS>ZjXs`p05MMqddt#T+w znyo$Vt^#v7n5ydSnkR~gJqPy8W75VweRrUebQ@aDe7b3Y1hd;YRk^t|*Lu3n)CnY2 ztnCX05~X$Kr_4vEGw03-5Jh@7rSo4R z0|onj$dP+3ZNglUwAngfgY;uo( zT0VFN=o&!XA+7VHvD;|11P!;x#0JN4`dr1USE|;at%Js>ojm>*k(QWOuemjXOObZC zY_i&v43FG&wUaCUDgh~3tK|ER$hvSEonB3Ykg9-H*6DbnhdF`O3In9mV-nQT<)JGqrVb{tk|fd@&0bv zCX37YgJzCyo|_=jXbGRVg~Z;x9Gtae=5j#Rg1V?1UFEiDkwF%R2K)Zz=9Pb-zP|#k zD$Vw-8f;WI;X2*yJdUCiZBGj(b;^9SP0N#w&7liL^3yJJJ#>xg{$=0c0x4|Q`(;kH zt~!X{pe@zSGtXTDG1ks+o^3z&YE%KB%*jw!?G{nZ?Qt>e%{NL9w_(n`rujJ z1L2>(FvSTJIIL$%xiX{fUGDQeq%4@qIAS&(mxzh?dh}bv2`eq@DM`nVK&$E)cuK&= zJMZI2+g??2oIjodM2g16(@&p2vONb*^F+jzG4Ai>A02%uaaLh8qv~sAIV*6w@{uaZ z-*-JqF;Cml8A(IW3nU@6cJ)`~AKV6sZZN5J+j~(WaVY`v4c?py5A(VegvzNy_Q_>| zBcw1`wFKY6lQdP*990JfI zNf+Em8RBp1fC6sMs~c^CQCYetkXOMyyDi{2XJxhj%Yj#bS&TMQ*L%FQ@pL^mK!H$D(lAIGK-&H9uEpHOUH#fA)C9>eaoNmtWc~JBPeE@ zF%WB4=iE;lDU_SUL!pJekZ94iSW5(-9(wQn)!j1z_YOsE{p&9UoR!@`SvC3m-6%lZ z&}wQeE4&s!aB8IE&{q%c{!H!%-pn(Y!KZHoTDZl=<#E~h;r(NJNer8w2GaYt5-Bc< zd;Oqd@fMqVLnb^8XCVFgK_Ce!ayN82m8l_QLe@qD>6cFui4So6~PMy+ZW`TICjT zj#vx3nR)l03|Sj?LiqXKWCnYir?qDd&UE-K8x~NAkyoW^6t4kAvPNvpxRfOZ zqI$TQV(7|FVy`UBD%UArDQcuIyg ztN4p696QKou1Q`y8bE|x7`AY#taAkvCf_3S_qC-98Wh-}+KqP`BxEle8yeZQOY5tL zfgw*y9iBm(1QZglF~guk#$rCF0m37gZt5`TxLF2CR^#OMkH1m!KtxO#X#KXzG%@eT z-Rr^CKpSrAf@C{nTB2+c@?ou+sc7GjVocO_o3x8ZTKNZ`a(}4rMK^;=qqw6uKU$zB z-z|frcJs^avz?ru1{e&g`4}kCqQV@4nl0QHaWbins@F1auOM0!BB$7swTMg}%js4k z@!XwtO#CZhNcMeN7Q0Qb!gE^JNvLKaD4V(rA1Bec+)F(sj=J>^^a4jphH(`7n;?{Q zR{Cas%iEVA5#2lWQtCJNkPaoLcPKUN!kyHBHA-VNkOz(kKpa?edp$SLzS~2gZ?prd zT8o?~1X6FLWx2rIur~C_%w4HtwvmsK~m7G z_uv-)RRygq#8SuNxXUt)-v!zDXx2uWd#{408j0-JWELHKFm}Ic_eB@(0dx!1EUZ-X z!|!^SRMj%sJ71gvu@*I^%69c$Aw+ z9i(mklz2AIYgs%$mnUVfFu!k?@^1;0_+UvLE8l8v-gi4>1CVY$s>=5JKN8T+rdim$ z_~yM{Ak8+_vC6+9iA!JbC}((sCIHcEH13LKyv8$zyr$XXB@biL7T>^LAT=}@qG>M# znmtCy^HH%z$w%uT8D3#G=xpoPT9zc-+O;37*&&>HH?Qq~B9Qekta*b5Qc9_X5Y0nr zw1jsWk|fyDJ6-a;0PZGm>KuITgNWmwp2=E0ZKDl9g#hKLNR|!nsk7ag_==4rTIFS% zuC)QL1=>wjkDSQ`9$xX4LQiha@3Qz2q@rXI>fEwDg+P-NxJ^q{sd*c~tSG9R_isu8 z#trhyk8by%>q~1)HJp@6zC9os`e zRN?3lb!PJ_AwjWF<;=yXxs#XD^&*E!<$fupL$Q^;x@}}#if!!+peok`T<_+lNn2De z{;8ysXWfoX1_lwfZth7vfxi-lOe&*8@s9t9e9r?9K(OR!Fi(YMFE7xvZ!R_Jov&d_ z@P3Dcg%#fLiZW04+*0h6WmXECdWfQqi&B-fL}q!IGqR`UXK-p@T&T4jQbo(6T(J!A zeg4uJI)ir~wN*p9`hV||C*IC&{+;ho3cjUt54DHOR+Fgyc02BJbLZSYcCDF$LeAQu zhgF;Yq`F9x-o6@H@xdl?&xS%YRga6*l3<8~=Gt!2oS%NBD`IrbN3G>yKM55OVWr2u zn4Z|;Q-10<=+)EMpi;G@No|pa5EgFY@-H{)G6hIo1y5xy4-{F#TU-q{-MrBOHLQox z>Zy!}hxN29!N3h`yg%v;WZP?!ZE8c27Zby->FRyI^ZsJ6@`9ym#yaftu|~;(BzHEp zJ12T{c|mG+3os9*q6>pXnCxtSY<##h-OHbA(vIs*B^+JO=*FJ!Bzv*+6y@phG}ZKn z<`ON)8r6;6iio-Fcw7%KD@0S>hdC`J7;k(lCF^%AJt&nhG*w0OZY`7e_sk%T7@YD@sd_FZ25&Z-DlSHQfKzMRxe4-;m*BBP7BZw4&J zw85IoCIOp7AOcGi@zKFWO&dYP5vKYUijaunIYp-{1rf;GoQBH45t zx$gC>E{NvQ{>Cm6*(LGbI(gFd1&LyK)Q%n9QzS{xybPOP`3@}}DQs4SHF1bADJ^#O zix1LJ94U3IswKJbPy{~_XcKqWZaTC)?Yk@h)KgKrgkBP`B@%2myVVF8#BQJ5e45^$ z0-xF(snjr9`_b4;YvNb)`30u*)7~`P~#cs*dv9`kbgt-qNz;^s` z%4ZGHTu~-H{lOyP;;k`)o_<`u>|H9*E~2Qy6%5tTqzu>tn;gvK4iueLs2h(lVFHd@ zn*>Z9cA6&PIAGL`$17F|!x@K;yOXti0!B+%8kN(k8_$Vk)4=){3@J$`LiJ5<=jiSt z2dA0bFx+@3VoDHL-E4dSN<3$fw=5bm)3OH z@Cuw8u!5>#_Kp`htYQB6q2bW9AT2XhEwYb5;`bY#%m|uI(ZIjLnyQPMU411`VuB5( z4^Qm%$wuooyUED^K2Ty=qS*RP{pIQA+Gy?HOjFp?!4ispvGq#A2Y0&SaswoHMX?49 z(~yMK(dLt7a?$CKWZXFKG>>-w095{cJ^{W)*8{ss+|4ZWx~)X~WT z$@x$Vw_DU;@27`P0jmskP#qD^DLgF7+Kt~5OVj?qr13!2L3^p@rQnjTND*keuel=>{RKQ5{NtX-}~f#>F(gnH*wa^5;*MMOVth+ z3I(B3lv-A8Y|9*hBR&3i<)2y|q9GE+9jT}{5-K*FPr>r~R!pJ6Kq2JbfZ8yZm&z_Z zk2dD!&u@-HqK-hRJvVT^fZ{Knd`f$;0fo}GGTD_Wi)0XMI_r+xG?!Livmlo$)3PN3 zijQ-@esyN|?SQmE<ip<%=JXmF79hk*I<_RF=?dCN&{WZWSS!<-o1aSE zKVVL9n=~hnz5@sm9tP2>tm9$0^3%hT_-MI3%J_)Q#!}bUkz1S&exK^V4B05rxH)UZ z&c@~G{OLcFn&#dta_~+Z)ArS-UrkJRPDfd4YZconq7vVSV_=n+4Jot?^?PZ8RoyPZ zaDIw?BnH;6f5X_lfYJSCRquUvi7?@4_sQD;kHuhR0m~~%!O)=zL#po8vZRQc3-+g8 zodLx4RfAsm{-y!agB?s&vo%Utj}C}vt)tqC-wz5j{$Y3DAM!lA3y}FX(tyJ2xjmAV8|N4mvA?`0LWG%h$|HOHE&sul)Ua zEsO2QTwP+;KZj(gK=V{uZ1P1dP4K<_9y?mlb?JHFsV>0z%Nic183o5DcOMP?s-4b= zDszoT#aN>FXXGy?e7a6a0tP`URb5lw5K)O{+GwQbRv&SuAKI%E1oKeZtM4rhNwO5j zt9@KZ=c1oXx0a+@ur# zJk+72O1`Q(Y)Uookh;+zTEiz2uRCrMGq!Nfp?yob169F@{Nlxkm?01L_$hQ-^oIXCjJ{$}wWSuXZ*W#Xr#iQf*F$7ZQuz z@XXh`UPJP7knPA&zg(|H5Y}XjOxezi+dwfML1-$qeh>eXQ1HLloC-c|t2LvmZKU<; zP`vR@U+UA}&EvpXooP)W4|eLwIdhb5AK8MIlgwE5^gg3@So4`o!({-{F<`F=vO zKb$~`yC~6v>d75&OV4iTI;`CFrGGbBUOWP0587Sj>`f+dxc*xn@GOXoav@Yt?Z0O! zM2=wK`;8prZh=hX$*HX1)B-C!F$)``SN4tPY9|M$r%Bh}rx93uW(~J|yMn2q$g@$E zs&0A#B)qfy_<8W^mLSm$aCb!$`eqPFQI;OaWXmf1^6EYRpe0^Cc$Vs5E|5u}nO7S0 zL|^ijtD3F`XgENsu7AoRfnxYO>DTkDN@$82#sKH3)bLey8D$NVZu6Xb-s6u?;87N( z!U}IjPM18^Cz&1Ge8~(D-$Fu__%OFiBJ0S_f0w>F#R@J5v8W>BnY=pU|K);Xl=nh| zYU{`ktATo}foj9@e-)FhyYHg09e#qO$uZg@twMP=*%N6H_Dlm#^zVMf4-28 ziWgTnyJY)wWX9pZZ3E6r!L{&kg=1?yJ=L+GwSXb%hGG1cz(Z}^X}Kdhf=v!G?D@!o zRnc|_O#{WVs6;}_1#a=1vi| zh9+Iz{V7G3a3A0%LHksL(9c`K#qe)!PmP^4?*Swl0i0UT7d{dyE=0;E^xk`Kx$U6k zG0{qtk!gXJ2-bim+i~^7L(nFH=7E1ZKU$iXD=X8)z?gt8MF;HygRVZPI9oXxCuU7e zHGk!W&A?>=PTd~qRbIxmh>7DIzrt-g->0BlvZX4lZv_Ds7ZMx8=a6}p>sCdaCcDu- zkm@;{sVKoB86#J_ZGz<*7~`O|>cm>9vdCeF_`|NhhLKJjK~bl|_TTX&dWnh=DeQ9j zMjU0k#Mrcc)_EpQKy6s>vW}kyCy{m6T;+DZ0SjE~3z` z)^I_SQV^WBynp8nWMv>#0XzB0NQvf=>eCv!gt8k%RVA*}mT25%t9cd1hx%qf;EI<~ zPp1S393-|A(tBTMJM-lm2t^sg=>CZFqdv&oOb)eCyJ* z^Z;ofNU96Iwxd9@OXj*>{YTw4qk3T&1gh2fwu{6P1C|f$@t;9U>NgP1J*hMCSHckY z5D6xS31(ZEZS9|+OaakDq2&$}X^C-QY-o1Q@@t+Yr8ZD!%w|>z*PwZDW2P$y6|QoK zc0bLHc1%QxvCo4u2UQOMtO*)T?ajB{B)Nj@2-sl+^FO-%KT3UA7~YTCn`3PftFd&N z*RW|s$ypGLj+a!yrbS3F>DK6*^>IJ12J4ndGx|npS!{G!o~Qkjhl5raN~?BdY_v>c zPd{T?2Q;VXz=zaoijozJ5mDOU+gg{RgMS5)PMlTZGlxXf$IEuE7jd)>5h0`6t1se2 zq7>!Y=k4NNbRGL4f(P7{3jYu#K%KY?a%iAP^J<*hq> z(ClugBA%WwSlVO*1XhfV6Y9w1lt0pL?=j2)s^YF2B!l=9u-p|IyetXU6|mIiDlt@M zNk?G+%=SD@)W^7RJr4d(`L8QL`RK+SgUV`xlUqO*A{Anw+xM`mAn5ZGK?&pZ* z*3Oh~>Vc^r|Cp>{37cSlt%yEHZ-r5YIn^l$n<~<{m2}@G)9Ypd;BWhTI#Z%T-KUN7i{za)TeLGddy07Lz^oS9+3jdO%&KBTrRrK8iglmX6q?(IE)2B8cvS1? zzK(~*+YlegzRF_v8Wczy1ZmKPYRlK&Ah7WC5m&|d`-L_qfJ6z_RAmU?B#`h-05gIH zzp49@w(s$Txtpr;-8Rc0D7_zNa$Y?gU$F(m+6SVSG9Jrs)6!}SNwTliNLBV<9BCIs zB?~LS%iFcUAnE?Vf^^H;pMi+)&~il-V*Z0#qWlo(lHj6$Wd!mNidyTMhqXxQDbU9w z4o9v9tQ2HacOT{+;eox`Ra~YV!Fj^b6*)~az|>&@F3Dql@wEl7SV8jS%m!5Z`+B zo3{vV*48I7?8~qWpWXEWTehkhJr31uXfi{mt_!fB`n3ZZHxKxdbZGm4z_u}wGe&^Y z5SvG86_?%=NX-KL>NE;4NcBA9!N7EWSFa}2#93+n-oPFav z#9?TULQ$uZ_#)q^2P8?2Wn*5~rl7@`89N^DK>y(`kio&ITvR|wQH$qR91LukcANDB zRH8THPCOOk<6n})#rBD|I)tA5JpsHgdQ$Z~Czh6ZOlNkra_@t&~(3zF-NREdh zT)3|cWBZe2E0HEeBMP@hZe=%j1^1x5jFURzVzb&=o1!DiVNH@Lm8^rO2_sE2^VvG{@FAjZ9q|lJ5@uZg?!#OQwJE~29@w> zN2fv*vZ2nQMQVw-P&^=xw;~eb8dW3>w7BMPyb7Ry|G>!bQnY2ZpNQ0TZ^7Orn#Mzu z8)00irYUWJ2&6tXI7y?n_NzbWmnYkz(6?Dl^XRcABCA(<1F8Ktg#&}a2b_6?^MH-0 zqdH)RH8+s#mbln(ZwIu^ml?1G>s=>D){bba9w=(BZtWt&SS2A`SpR(4%Akg!*l%%H zy1;6YangW|>zrnW4Q+-e77YXTPFI;G^(e`AJoueQM$k|$;4QzDd6j-U%PKE zjT+Z`2*hiI;hIOO?3*Y9EZPyl^#D=+UV7s!_KMxY;m4@1%8D`48CXESqz-P zn68Q{(nR-XI3Y3icn3np=*2_Jz@)!t7x=qmzOM5*PPDMnOWRG&~--K2*1ZdAX8 zPi*hlFDp4NXF^b&?gfghfXQf--KZ1s(F|X-;WlL3GtGa5nsIRXs0P3cLs8W&|8F8HCe$cV z_964X9SFp36m>+c<}mDZd}2&QV7m<8=Pv<9WfXOR9CLsX2cZGIY!073kr7`C^!Kur zfn|OQUUm%%+Y3*osB8AS45)TJzs7X~f`aQBrgUndo1vwk<8U!Jr2L4 zR4L6dQK;Qj@UodAjozo>)dHu~FOrL7p;8RR`B4j>xN0C#Oq3-g!s_ja#h;Oamq^e( zGoEGc3-RhfqX_)}pn=z1K$$+g(tmutj3=hp=s+niDy&W&+5T`rWV?c-oHuRF=}Hi- z0*cB^xaoo!7Kfl=<4tiguB-2#*hV36cp1fw2B!0)=B#zg1yk2clk4=~4BdX37&InT26gu##_DV}jjc~4ez9m!ZQ3SxfyfvOBK>eDe(h5<+-k^IGO69rgb70)dJCj5 zn}f72%*PTP-OJhs`;3N3vhAwgfqfSZdHuUD%-Uq5rj#ioa9QKC6y1?I)9tg(V9f5r zF;RDK+H?_E(qvG+@U1ZNT@mVL@RnX$1(alK=C1A?IA>_--Fu*N^w^oI!%eyixEL$4 zVj@`65&orLLDg)Pd2Z2Nuvm*%7-1bFMOdP`7!1HHpX32cTI}1`3;nqsMb(h-Sq7LR zDmGe}pomm1>#NnCppe;DTfg{hmc);%s`H8j^!Uw^o-V=khs9St!f7mu(OJTj`Z0aJ zC`fY>MfC`a&*LQG+!W%hS&}93B3gHhOVuO%gXORaN}vsgH~d3$H#L(g&<~3^fh6s` z_TQ#rv<-{bQ4QwxUzQ`OX4l3+bw*$FEJjW|md1t|`^ZwGOo_oRox`lOzKRi4;c1R? zbzT;&@{A%1=$zIIT<1r|qU16?lj%tUPV?V4zZ|U3Gn67pyhQ8s=L$WL?TZ{p zNc&A1R5})O3-yWfBN=6qvv3aU-?`3*+-X@gdQS!W+BFbMs<5XBwE`H^mBILKh5z2S-3d^x=&+Q^Ju zZjD97JEL#Z$>)lOMi;lD9Lkc7TJb}ZBR^7rNtd+7epz=!7ENlyiZpEtQBP&tk_O@1W63*F;*Ap+GHTbnx@M$$vNzJ%v<&t_|?z5|Pevrz@jEjo0 zMtCF9NK|ancH@_ICY;yQusNNeG(AyNzYRn!JPJ?0^H|sc7R#Es(Pg z)P`Hr-OCb-K0aqMi+R7*2`IH8b@b@8-P+xUY#!jMPUWqF24><5c}e?&>f(<`H_N8D z*dG+iGp%||S>0I@<3JGSaqgI>3otk?nk2g5$#U5CC(@=z-Buq!-3EiETGQQyS&}U> zGLBn*6YTeDy`Jp_tS4Zq&wQo`3*%ALj~(3WE~Lp4SxpUcT`$U_bRF1wWY1gIAybNU z#%6C*l7$IpC4(!L-q;HD`vHX<80SZ}eL!ggr&hc*B+^Rx;T$%*Z)k+g+Y#1-waL_Q zRcGg%Oa}r!&J5;;@B!GkW!N*J5?@`Q@ug=~Rk9+0}7#zLmgpSj<^C zRsc2od6#4>Ad(kws;$b_RzNXAt&U0?P;guQ@5aSo%hzF?EmO8LlI-?KUt1)a%i$Y> zzkQ;klvB7~vpUuF7`nC!o;-ECjS8yTa^pCMleC3c3+CmSd<$dwb#0@zJUhp+5_^D~ zF;X<^9MJH5+lyWpAIEW;q-u-%9|jms?n5XscGC7X$(Z!tI3h$Tt@6u{eCYJ0g5S?NMF7^k)c{ zweC;lu0tbRw=gbE{M<6BE?206bHw&h4}dE9ZK=_$O|5bi=|lOeaW46Va1jL!v@k24 zEmt+^^MB$MiSY9u_xU~y&^ajTEYaOVk56n;XlkS>RTyzg9%vD61G5iGF%;)VZCcdx zE4VRn#{6TISBwZ4(!2DPW(e?zgKnzOyGAJ867mkS#99({iT+n-`dE3|n92zkI0(F_nh~zFl7CW+aH)P*ia< zl+%(){jJQqE_DkZ3k+TKY#cpVkQR=N3O(r>%Gs+Xeq{s8ok^2;C!!#f%u{KD?iEau z#`p03yoKN!=WwPF{Icc?vC+A^(Wo)|;f#74FfNR?-?rAd(E-`q+Fl|t6-<~;>`4lFyqEJwGrMBgIWL5_#NtCETpQAzy`a?8- zj}x7Lg7vt8-cY^W;879{zMJ`_BZBpRweHzCDB^JJH>$8IKZ-Cin|4OB5l_ZUn~(a@ zT3?+Wv(AuUl7^IN-}y-t4h_}^7zKMTvJgdM&dN!(Y~NsPx|)~|-efWgwt2ZE7)>um zzlm5S7uOnE0Egq{ZyHt2e+|b*by79|i5hr$M-G}|t(p||b zI3rPM&yUD7sXuq6Upc%mnyq0KV;}r*T%<`IdgIijHGjZ{JoPZP+p9Ao47b3U5l`LF zd&5Q>;SND@)tY);6mg$-Rn*WKqV+AXcy$#R`uMpXsNp2ch248_7te@RAU$9 zdv1i;tyt+fz2R{DZM2ev8}+Zhp2Uo1mjd~J6M0E>HgiHu#V?bCo>3EXA#E|oi(au&osyC&^6dkn5v+< zpFf(e2OJe)&MTtEtG?To6bWqdu4UmjfVcx$Jc$MkP8jkE&bz7`v9ZyKA)}VqxEQPG zqZ0Mz-Qnd&L*o{B8r}0cCtXvcEl60$2^;Bi@}Hlv-f0edS3(iC@MYInigsnOna_6b z^eb#$e$3YBrq5rZuXe*VmhtR=cwRn}4uTthK$*t!}MvisW_2d%AB zaeh1`td|U%1WBSM_E(O_2CU8D9ofg*7VUJ|e7o9uQ@_#jC((z)|D{(2Z%bGh{+q)} zQ;QlnoejTM>f3hK8<>uJ7BT+XfB!#zt&--~D&p7PJg8FRZO+;;!4lT%96f*Sk>|G`VCSN9jDdRb!dUZ`(K zoGl{E`A>rt_RY8f26SQ{xblnS7~XDg)bD!+kxl6oSP?+_Rw&P zk3Cvl1QUIGodfP65O*Nfa1`|8{D>a=_G{_?_lup$m>H@-Y4mcp|J0hc`)FuTHJl&) zNL9D2s@-uuvE$n{+Bc8^^~v|sXZ!U%u`wh)tvm7MV1cBbK?0sL%JDJ zEhpButA`5H*@J5Oe#j4X!Iv z_Au3~S2%a;q!H%s6b%0)*`hr(vc+52H$JT;e%}uh^^^#>H+t2hsI?n~$ zLjf}D?0FrGLuGq*^Pv@}xhU=^&W}2CXkl3{2l-BnVE^1(`)_w37NDpzTg4(SXnacb z0vC?FC0n!tMYTsyzXHhIZzVk$_jF!;8-NQ@RC|fU))EvN`_7Nr z&|b_XkFR&p!2|w`1!px1*#PH9NT1?ggA{81@4PmVv;(&ig+__x~kRrj^j znoCh=5Ia9&ZY$wJRDqa1?-CoeBWaL2j^j$|h<4*a6?OKPFjXZVxPUdWuz9H-O`SQL zCX8t)s$bBtlq?-PhnFms-wMin6xGC}E3F~LB55Co%hGUv3NrHMp}bSZg;=o{Y+Udr z4w9gdT11M}G{9(t+(+=ctdv}EPT{{-h5}~p-9I!ytLa3GH0AjZr`pjC_{}Kla2;Px7EZ{)Q6uR3 z6H+^~rxILV1B;95!Sw9HMt8gLFt-XaECS(x3~WNc^o)Ep*Xdxmh0MSX#e1};qad@+ zIVx%-15C*O(6(eYFA7}#8AY8at5tT1fPkl_@D`Ss8_b4xT82fntd8qkwwHQ9h;+i+Vdj^DYSh%ifWOwey5`$ zo`JK-epxnoCOM>Pbua315!Oiac?gZQZrS}Kla|SR?k|f*FfJqQu;xpP@`_iuww@;Cvz~fz*fw(F zm!XiG?EFZ+n_olZgj{2-@l8!|a3EwDxeMxuLgLh)>x&<6Zk|M5?Lrh)k4pu}ENckf zl3}0Sd0RCykZiKq!r#>L&>@VCS~Y0HE#8w_5~z``s|D}xux6mdn=F5IWvkn%t}7sC zs3NDuw<3L6f}-|rj(RS6yuZBm&i)?=XOn1AALvI^!2)O>CW91b){lW1Q z`ED5!B#ZZdL^gHWsxbj!v=y-ig**@EN4BA6qpx5JZrjH}-=86;lJwEtiA?+}VMwyZ z8mhy=uE@Wn6;^1yT+xIj`QPsKp7X1je>6lqR><`8_6>X8NNLP2(Y#3MWkc{59VWb=T=gDex!sCNNJ>vYRe~-E5N$(GYcy!;*+r%bKwL(fW zRKJc5C(~lYtcB^DxduvNM&x~dl3$IS)Kewk!&);_m4KMkkgC5rvbiXx)e>sF!B5^` z?hp07s8h&i^+Iue)G_b%EU67Qrr*AaYHOZG`?ZjTiwcvTrCGQy;$%`~J(A?ZXigYX zzNLnTlfuNa;4dTEsJ;=IJeDUZwp!nxUEk-fK&CgQjQrI?QNO+@s{I?`iU#q7=`C~C#g&rAt~w!QXzxNqfmr9+%z`wD z%tBEu%Q%^cbT`I;aZ;Jve;)sby4O4*RqG&12Nr*LH-F5}8F|V6(b3p7dQ|IM$;m{K zWa{KLzoSO7sIb5o++R?m+^D9DD#f?w=b_e}w7mLELQMj$d6WAwt(2CdsM?aXvumIr zW&Qz|T2Za%qo{`ToF2;WKJOY;<4S)^bzX|1S{Q$eOP)~WS-*U0 zK+K;})OJh};*u$K&VP4i<)Wj#wJ2n5oF5s6178Uhq#d;(V?YnksMm{p#**zx7&0-` zrL=q}rRlx(HZ>+$2X%|PQJ4maq&It4@!*-aR-fycu~zP+xn1EEzI14_ zA4Tott=+UD0w>h^s^_^K{CaFexN9U|>o&_O3?%Pi6N)+!)Uj!p?869t$Cj-m(`}yT zQ+3y{>}0y$1 zvmd?eM&g;BhIDovF*u$ZY(cN`4N00u)xoyY6-^TG)a?mx`MG{Tv@9U}2I(EEQbEaT z)JBcz?y%~NRPHGQvF9ipES=r_{Yi?z*o~qp^-mjXIi zz1ecntyU;-<~X4C4iVXneZS@O&|2TpkRy*(o#E2O>QKSlCTsrex90FJ(oPKw$?>Au zO|3U!?v?nZVQic%8#ncKvNvADH<)`b4T;;?sr@*jC678OqrxqmX8cyUbP?W`^p6*% z0*ciMx7OAPq_^f7$G5i(+Mxvk?hvqW{{bfnY$ zBE`uQCA(e}#raYD&Ftq=Ji)vDzD53DiUC9>L|uNg?yq5nS$nf%>wc3L`}rE5aDihV z);ZJ9{a2dF7Jrry|H4N#9yUNPU2s>S!q4-*o>l@7sI#^kQQXIwkQ44-I_^X&~H@_@-$r26J zIuzQCaehSo_;plaqvLLQ&+cRe&3?wgAsT6gGv>$bx+R`5n}>7!P!}||))CjYkEb@I zv8UQEpJ6U|c)Er0baUNkSl-H3cexg5XP-GoF8>_t{=XF$S*KYwyd3=ch!D(1?7P?A9r2X52EcyQ9YsQBV;KZsB;{J z#c)&T=Cb(4Eq}Y?ftNB0GhXqrcThw*As^tj3zEE80*9DkTsa-3MWhiC%Tu%w*Ka~56d}iRFN$hvXH3?J7bvd}zsVmkfgd53A2mez zQSE{EyG`Y*TzZNID862u=RoZ0N=ZMD?GkgT=AOOA8OK7{jYwtyx-HWC%OUrK)x8SH9`e&DQY5 zndrkjYJ zVc0h zJl}%z=Iey(6B%OXrn$1wn>X>Q6TU#hYk`zjVbaBka~|DalZ<93?z@E=W=ot+8|(HDJ`Ur7XI%lCvmL#C`hQ-u>@ly)<}H>b#4;D& z7H1ACMKqoh2Hq?bbxGfRiOB12w{ebTpG*CYl3k!#U1g| z>R}DBga|i*u6q`Y>1NuZZOKY+ zMR7-Qeq>w{mg@xL_Z(|19bBU(5a#gV{wqXU1UAi>(J&)Z$Xx!!EX_&{i#=)G{b2Pc z-px3yXCqK>csXl`e^MnEt<_1E z_)IegoRDfkwxoSf4+Yr%R}ByjIJ?!|CUc3Rq{wSgR7F1L64wL)sz@WjE`9f;$j_UC zS?hFCa;t=bqjy{BC}RVPswailYgonyp=do>@$UW0ydl1$MX`q1(rW#6{)lDz23anC zUnG}p{Tvc(E{Z#f^CLBBwNcArC5!OedWLB8QB)mCzez)jwDZ?a7hE5ilICgi^tD@u zi(wB#zO$FjNCRRXin;?7ouH8oFg~zwMv-O(=}>wZN>LQ&M=e);vrC?^h`b*7q76T2 zAGu%(z=M%(o>L2&yLZtRjgXYnnwcA0w=Oh|#9N4>HerjcE@UZ_ zJk|}n+iyz=(mb=O9Mhs$HBRwo{4HMZ25#5L)ti+pdC!BVXzRk69-=0*9j(YF0p{1(hFQFd_ zV1{Pi(Q%voKx={Gj^g~t8tv53;)G3<-2<0|*8;*!3)&~jW)JC(Q$9jPgUk}{YV<<<__KS zn^rW|2HnnAaWv7)Q)%1*nHGb*;w*0Lm_a}BeNgJ4jKeu8)1RBZ-@b>R2CnH@!l_~M zKi!Y>2YgcwX=Mu#E)i7BcKrk|V57rYU~@Yj=rIR|r}vswgI_SDIwJC-E!-43yzau= zBpO}rRj1JPT2yUhw&uL@0DF~iI!alDqV8mOKdKWgkr%**)vsAlrYqf^T85%-{1rdu z64^Y~!sd(Xd#T!F-r7CULU|DzhgVt3&#Ci|>qL~K%erg+bzWgwozU7nE466_b@ECSGJejFjNU$%I4Js-99(z61%3t1j_6K<0tlXNPr#2Kw*Y;fWF z0bX@z_My>R2*vqPXUx;nxZyi~N#(P=Szcb*!kzT#kU3}38#9kk90IsE@WCvZ|KEArSL$iPMo`BS4bzj&q~$&hSLa8=wBTi}bi`vv-b>{Hr^=NK2&o=M%EPmj77usK$cgNOU)rtljJNB0k-B_8rVmXRB zUVB_~1r+u*I{xzQbE>l0IF#f4eDOf7IkCzy$fRVSSxq`_g%NvH9IEBK zzP~Nsa3{4q?ENt{z1Z@~2pSOPh8z4qBOR8=Z0faX;|d0oaOUw<;h~H}k|b_bd-OoR z7yLfrJsIZUo;{}Vm9G3~Pu}LOd?bqIq&4Rc5{3?Ve69v6+Z3e$it{5AWqm9Yt=wXw zQTOY|_#ME%bttY!`*wSBm^^HAkN)&TBUP+0CuSX0{1(O5Y)4VI#+v;pddKiH%{D#F8YW$PUvOvEXgap~8KoGC z^P`~<|F2fS&q!9zf~6)5<)Pm_`x+?gZ`Uc*^(I{=FrN^=a|NZ`1X2T(_@hNw(rG}c zr21oDAYsV<=PqRZKP=k_>)pH#^597?z81_j#G({gL-|;WjxSw+TSnP9BR0Cyx~9}$ z8GjG)nxF8Bv?Ns%v z{(cb8e1_1zjz>j&Cy6m`{5=$(cZ7a|2R`b~MerVk5zq6Y@jV;_u! zT_>(O!H<$n@3j(&p}z$~FWjLz??qA7X2=IEvAGmsS|zmHOse!w6xG9Q{83A65fjJN zx$<8@t7x_%#a4N_Kgqnfkk}YLVer*SdAcQ;Fx5{wq2qDMboQ<V?=VLOj)=bfPO zDMV3Y;Z!kg8theJBTcPTbyY2^r_{29oI)iE#k}OR4sLPHld|viO7SiyO$v)qREt(U zl~zb;4L@k+{aEr>)}W~SAaA|`D2ds-YDgF@O3h;KPOTMF0%kZJbSeZubI4-vG#Vhc z^ONw6S0mp16iF+i@O%Wa|8RP9;@sWk10mW8l#(dUkA}-N*F1!d$71f{He0PTo2BRF zT$fIkGd#u~8_O<@d`_qR#E+G3>2wlYWIp*W;>bt8<}Op%byHv?Tj-XG{0;| z@o=^t{z(mZSOc?5bM%#OYK-RZ(oD)A%VrmE!Iizg$jbXTZ8Bn`F?X|jeO#ry5AeU`$!#P z?%%;#bUX^wX4IwhrxKa?{;iu;gKI2>4VBn>{vN*rkvW@&C#BSJD}KS7SCryCAz(KK770cKV+8{Xsi~LKD36BUQ2H(9yKFxGpBR_2xCEQcew2^f)_~ z{&1E|s#(ZSS{~kIl!x7$yqP-jYIru6M#z@Yh}ve<@IiRJkZzFCJjKn*E#q)v;-J?S z7+|hhKD&7P+%%5{XyaH#nze05^Dmtvs%}EEyjqqNvC}SV?R<18WC@D8_TKgtKt3L( z_Kx&X6tc4dMRh&;=5sBi6cux{V~iyl1rXTdjCfeP3Csc~FlOMp0+akOCqwE(-5NvM=}zda~C+8>pL63ZXbZvJaQE zI5txE>D!>&WV*~N$JqrnvN<1GW`>A=^s!Lh?XVQm@c2h?8U)mN&nrqccRh?@S0deBV1oLx25OGx)o_Z&pZV+FRF(L9r69nE|qC~nbjm? zF&P*wylHaB`fLh`XWnky?TRMIccbswn!In-x41?=OyI(HW5zNcbMvlvKnXoiy70HK zWV)`j3M`JIn&Ye`Wun6>)Hv6I%S&qlWxgajMuUrGH%oj%E*<7gd(Kj#Xm|^p-NY-^ zIQJA%WV2I$*#(R}EvQxP$|C+Oc3x?{Y}|@+&7FO1d4Dv-+Xanv!M}W0OPv%;`G~yu za6DqdOk(nt#3e3ZY(U$R@vrmJHi6mS`PNsK&4$ZTaoq9lL;r_D9MBmJ&K?uS^}~TH z2O`Oy%t9%M;{0gZ8Cph`Erz{m`gaG9U-_|LuB?`Y(eKCA^j^CkOVdi|0E+6;esBqd zo6KID${l;k#;>kUlyfCykUh-e;BIvKo*Mbv00?;mh0KccqgI?(-W9Z&RSKn;`}+IL zeD!-)a79hLZp*0l^yMjk359qwPzrpO(>am*RTP=M*)5G_&CLpQc}0`P)&E*7HHdeVB{92G=$Ah*Gj&AWMWr&# z@x~9d#1E)bYR!i757?r7slmU5QRDvI_U2eWfOe)ep0sTZl3{A6k+gm3qfk9U~1k4WTG^V9Ag43UqeGWOeu)*?3+D<0oa zdt|gF#@e}8S%bKQEnaMUfnU*IEzq<@lz!{jPLCzFPk3x(gt2i8FZ}(dI_ccp2IMjB zC3R{46-f1B+D*T9->i1uGIs8dZf>jIC4+5B`p8PX3^M?u9TC1*U08f$;vy2y4(w51 zibu2|zhy{23RN!BG`S(e#?99p&4wlf*3foDil5)A{yHpuetK$@YyFDs>fvvqTuG!z zlPgehSc`z4-xVxB7?nGW@@-NjQQw3i>jHDAw4M%M(ij`_Aj^X+Jp&7L`JqHAsL9aG zMpD1JJPGuQYiI+`LXz%%FBs~14) z0-9RGeZf2}4hs{bpV$vIELCavkuvGwCsr`}4Y!(^Nr|ICs$zxG*Nk5RN>=P#Z55Is24|aQ;exl&pA0OY% z{}E&RxRTARiooaBQ-+Qm@*DiBZ?Yhn#5Ss zXo!hlNYofV>$lOOf#}r!&s&&!-h1p@Om=2RWb}8=z4x4Z&OP_O`&7F(q+-#6?JJ}f zIK&T=>B&?y?({>;6vZ6%8|eu6AlLmit-Dv^8^VBhEByl9${FEP&rI{!J6GQFLbWr9 z!<2{mK4fT>yZq4bas^zDQ!ty3t);)3q8OSjp$pA%7lW6cL%Yi`JiOh7d;Ng3gj}rt zlrzqhtp(f0W?XHJ)TfJFYci9qm=cfA;7K8gORPNu1 zm0jk=p1NGYl0wj5KgXtxU<&8(F8)7wuOau4ohO*I&XGOcT30^%dH zlm%qwqhp*F&6h8dpn)r1T}B~lJHC7=Iv}B0f|~Nj3$bnXUk3aDCLi9CUkz`T0MSji z3|M?oN8zLO|9FrPwk9NRD+Jxamq)QFi3&kh$rUX-JnjoN33T7LGKytCSDSFSAn8&q zU?-qCpE4&V`2%Y8MC790iM^-9Jt~0L%*Q0c6k4KrIYLy!V;P#xc|F%K7xvDwc zn&J=W#ci_621kRJZ1$Wl!#unL)kUsg=a>EQDC<)x`1`d#Bz$x{D`zeIISY9J_r3OM zT0k$7J{ppS7R!rfzQVn^aPjb%Z<6Qz7u3OsJDgfS$se^rO%3XyHQiG#1{L40#g1?= zY9^5wb>D~P;?!vhY6doKG8`V8DO)l%)F4cazf%|{k;j*WCZC5NCv|9HKwx@;y#82o z$m*3a(aW#8I=>I*78pXWM!13W{-#G49-10;B)w^NH(6cEJd=o<4;25x4wJIOR(Ym= zIaHS@p&+B&4CPpy9@QpfAmFX>mmu1B>CF1pQJox6~_eToi_FasQe>6VZF2NpfB#;xXrjQDJSP#aik zw;<&}O|;~u6S&i*M|FEdJN#6camju9m&?6g#@!RZ4pkwV zs2|&Z``1Aj{8&UAzC_Dg7$DVR^{8J%MQlrLO;iZjFTk+)<4Y}<2Fh-jw3Njj!XGUj zzKE*95eNhHO}g8DS-`T-RP(b+LHZM-$p(R}ae?_-+i6 z8s4XE%5|aYNBXJxw`zttBGCK^Fjc;>@clMjB$8QdCb-0W$>MNHZq3&&l8_%mQrEo= zA>ptu?hErO^n`e`1Q!+Jwe0qV^|Pe~;8tOV@QbMqa#pajm|56|` zX_<_5l8e5vzQ56%nfv>GesZTYE@@AKxcT&J^I^KfU}>Wn`QlLp*(T઎*t*nM} zrdO~doTJ2HqF)#r|529L>o#J8OH@6^PEx}xWtG*C7J~5{$E4OA|0z;^J8MQ1yhWqi zny(5oBs*dGZtG#lT#Z(zFxinOe+Jo2i5=YKNOnC$hGS0q9TV%S{^?>BlM=PFpk)5l zUl$%1*MaU5J#wLtVwTe?nKG^T z0dRg&BECn7xnjVqTOR^_8|{h1pS};(VV?W0dH9houl&3RmvJPv(ERb$knffNJR352 zu{P>_;4)~fD_>H{1$+$wp%;n+!i;BegcN&%vfBWGeJr%0<6 z$>gxRXdBmC;C(XpBkZKt Date: Fri, 3 Jan 2020 15:31:38 +0100 Subject: [PATCH 13/13] changed credentials --- netatmo-security-connector/NetatmoSecurity/auth.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/netatmo-security-connector/NetatmoSecurity/auth.conf b/netatmo-security-connector/NetatmoSecurity/auth.conf index 8754d81..44e0d89 100644 --- a/netatmo-security-connector/NetatmoSecurity/auth.conf +++ b/netatmo-security-connector/NetatmoSecurity/auth.conf @@ -1,4 +1,4 @@ { - "username": "TOM", - "password": "JERRY" -} \ No newline at end of file + "username": "", + "password": "" +}

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�ty@R_$b+P< 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%0DvAIa7Q1Mtr0n;1SsLMR<`r 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 vp175jpcSD-t)$r&`mX1pbH5B)$q7vZ7v Date: Fri, 27 Dec 2019 19:10:56 +0100 Subject: [PATCH 05/13] changes --- .../action/v1/getnextevents.js | 83 ++++++++++++++ .../NetatmoSecurity/build/build.zip | Bin 1624706 -> 1627095 bytes .../NetatmoSecurity/index.json | 3 +- netatmo-security-connector/README.md | 108 +++++++++++++++++- .../images/Image001.png | Bin 0 -> 69693 bytes .../images/Image002.png | Bin 0 -> 20165 bytes .../images/Image003.png | Bin 0 -> 35197 bytes .../images/Image004.png | Bin 0 -> 51952 bytes .../images/Image005.png | Bin 0 -> 35126 bytes .../images/Image006.png | Bin 0 -> 114642 bytes 10 files changed, 192 insertions(+), 2 deletions(-) create mode 100644 netatmo-security-connector/NetatmoSecurity/action/v1/getnextevents.js create mode 100644 netatmo-security-connector/images/Image001.png create mode 100644 netatmo-security-connector/images/Image002.png create mode 100644 netatmo-security-connector/images/Image003.png create mode 100644 netatmo-security-connector/images/Image004.png create mode 100644 netatmo-security-connector/images/Image005.png create mode 100644 netatmo-security-connector/images/Image006.png diff --git a/netatmo-security-connector/NetatmoSecurity/action/v1/getnextevents.js b/netatmo-security-connector/NetatmoSecurity/action/v1/getnextevents.js new file mode 100644 index 0000000..52d8ec2 --- /dev/null +++ b/netatmo-security-connector/NetatmoSecurity/action/v1/getnextevents.js @@ -0,0 +1,83 @@ +module.exports = { + + name: "getnextevents", + + title: "Getnextevents", + + description: "", + version: "v1", + + input:{ + title: "Getnextevents", + type: "object", + properties: { + home_id :{ + title: "home_id", + displayTitle: "Home ID", + type: "string" + }, + event_id :{ + title: "event_id", + displayTitle: "Before this event", + type: "string" + }, + size: { + title: "size", + displayTitle: "Number of events (default 30)", + type: "string" + } + } + }, + + output: { + title: "output", + type: "object", + displayTitle: "Output", + properties: { + } + }, + + mock_input:{}, + + execute: function(input, output){ + // to access auth info use input.auth , eg: input.auth.username + // and to return output use output callback like this output(null, { 'notice' : 'successful'}) + // your code here + + var request = require("request"); + + var options = { + "method": "get", + "url": "https://api.netatmo.com/api/getnextevents?home_id=" + input.home_id + "&event_id=" + input.event_id + "&size=" + input.size, + "headers": { + "Accept": "application/json", + "Authorization": "Bearer " + input.auth.access_token + } + } + request(options, function(err, response, body) { + if (err) { + return output(err); + } + try { + if (body && typeof(body) === "string") { + body = JSON.parse(body); + } + } catch (e) { + return output(body); + }; + if (response.statusCode === 401) { + return output("Invalid access token"); + } + if (response.statusCode !== 200) { + return output(body); + } + if (response.statusCode === 200) { + return output(null, body); + } + output(body); + + }) + + } + +} diff --git a/netatmo-security-connector/NetatmoSecurity/build/build.zip b/netatmo-security-connector/NetatmoSecurity/build/build.zip index 8ccaed481067ea9dee3a7f3c5b15f35b161cd024..cae98ce2621bfe514f9a4a0aa7c744170f140df3 100644 GIT binary patch delta 75091 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